chakokuのブログ(rev4)

テック・コミック・DTM・・・ごくまれにチャリ

OSに頼らないBeagleBone..

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

*1:素直にLinuxの上でプログラム書けば?と言われそうだ