BeagleBoneの記事は基本的にLinuxが動いている状態で、どう使うか?というのが多いのだけど、BeagleBoneをOSではなくて素のボードとしてstartup.asm + sample.c といったよくある組み込み入門的な構成でどうやったら使えるのか調査中。flashを書き換えないといけないかもしれず、そんなことしたら元に戻らないのでは?という懸念も*1。。
BeagleBoneのハードウエアマニュアルにもLinux前提でつらつらと書かれているのだ。はたして、main(){ while(1){ hoge; }}的なプログラムの起動をさせるような起動ルートがあるのだろうか??
調べ切れていないけど、、flashはARMのSoC内にあるので、多分、JTAGでつないでflash writerでブートコードを書き換える必要あると思われる。。書き換えると元には戻らないので、まずは flash writerで今のブートコード(BIOS?)を吸い上げてバックアップを取る必要あるだろう。。
CCSというツールを使えば、BeagleBoneに対してデバッグが可能なようだ。。BeagleBoneのBIOSはTIが出している?? しかし、、CCSは有料??(制限つきFree版ではARMをコンパイルできない??)ちょっと萎えてきた。。となると、、OpenOCDでJTAGか??
とりあえず、、お試しのIAR SYSTEMSのIAR Embedded Workbenchの期間限定版をインストール。。IAR Embedded Workbenchでは、標準のデバッガとしてC-SPYデバッガ?をデバッグ手段として想定しているようなのだが、サードパーティーデバッガを指定することも可能で、ここにOpenOCDを指定したら、OpenOCD経由でデバッグできるのか??
IAR Embedded Workbenchはデバッガ接続がどうも汎用化対応(Generic FT2232等)されていないと思われたので、TIが出しているCode Composer Studioをインストール。いろいろあったが、BeagleBoneとUSBケーブルで接続してサンプルプログラムをステップ実行するところまでは進められた。
最後の手段としてはメーカ提供の統合開発環境を使わずに、PC上でARM用gccを使ってクロスコンパイルして、BeagleBoardに乗っているFT2232をJTAGとして働かせて、何かフリーのflash Writerで焼いて、OpenOCDでデバッグすればいいのではなかろうか。。
■参考URL
Code Composer Studio v5(Category)
http://processors.wiki.ti.com/index.php/Category:Code_Composer_Studio_v5
搭載ARMチップ(AM3359) documents
http://www.ti.com/product/am3359
CCSによるBeagleBoneに対するデバッグ
http://processors.wiki.ti.com/index.php/FAQ_-_CCSv5#Debugging
CCS download site
http://processors.wiki.ti.com/index.php/Download_CCS
BeagleBoneのBIOSを書き換える事に関する相談
http://e2e.ti.com/support/embedded/bios/f/355/t/166252.aspx
OpenOCD
http://openocd.sourceforge.net/
OpenOCDをBeagleBoneに接続する記事
http://www.mattlmassey.com/2012/04/26/using-openocd-with-the-beaglebone/
BeagleBoneのboot (これがflashに書かれている??)
https://github.com/beagleboard/u-boot
CCSからJTAG経由でBeagleBoneにつなぐ方法
http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/185703.aspx
CCSからJTAG経由でBeagleBoneのu-bootをデバッグする方法
http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/185758.aspx
BeagleBone Wiki
http://circuitco.com/support/index.php?title=BeagleBone
RaspberryPiは来ない、BeagleBoneは借り物。。flashに焼くのであれば現状復帰できなくなる可能性があるのでBeagleBoneを自分用に買うか、はたまた、第3のボードを買うか。。
http://cubieboard.org/
Kernel,bootloader etc
https://github.com/beagleboard
BeagleBone quick start
http://beagleboard.org/static/beaglebone/latest/README.htm