マイコン工作実験日記

Microcontroller を用いての工作、実験記録

デモの裏側

2013-09-12 00:10:12 | LCD
FTDIでは、FT800(EVE)用のデモのソースならびに関連するANを用意しています。その中でももっとも内容が充実した「Sample Application」をSAM3S+ConnectEVEで動くように移植してみました。サンプルにはHALのレイヤが用意されているので、その部分をターゲットであるSAM3SのSPIを使うように修正するのが主たる作業となります。もともとのコードはホストとして、Windows PC環境とArduino Proを想定していますが、Arduinoではフラッシュサイズの制約から用意されたデモを全部焼くことはできないので、デモを5つのグループに分けて、そのうちのどれかひとつを動かすように条件コンパイルするという仕掛けになっています。

SAM3Sにはフラッシュがたっぷりあるので、ほとんどのデモを一度に焼いておき走らせることができます。使用したSAM3Sにはもともと加速度センサーやUSBディスク機能を提供するコードが入っていましたが、それにFT800デモを追加する格好で実装をおこないました。その結果、現在フラッシュを180KB, RAMを38KB使っています。RAMはかなり贅沢に使っているので、ほんとはもっと少ないRAMで走らせることもできます。以下、デモの中でも見栄えのする画面をいくつか掲示しておくことにします。








これらのデモのなかでも4枚目の写真に示したFTDIロゴのデモは、アニメーションになっておりなかなかスムーズに動作するので、「いったい、どういうテクニックでこんなにスムーズに動く画面が作れんだろうか?」と興味をそそります。そこでソースコードならびにProgrammer Guideを確認してみると。。なんと、FT800にはこのデモ専用のコマンドが作り込まれており、ホストは専用コマンドを叩いて、それが終了するのを待っているだけでした。。

「オイオイ、そういうことかよ!!」とツッコミたくなりますが、世の中のデモとは、たいがいこんなもんかもしれません。

今後は、サンプルを参考に、EVEの機能をひとつずつ勉強しながら、実際に使っていこうかと思います。