PHS経由でネットに接続できるEthernetアダプタのファームウェアをハック・前編 ―― 無線インターネット・アクセスを組み込みシステム開発の手駒に

中本伸一

tag: 組み込み

技術解説 2007年10月11日

● ダイレクト実行はデバッグ時に有用

 SilentCはファイル内の関数を実行しますが,昔のBASICと同じようにコマンド・ラインからダイレクトに実行することも可能です.試しに以下のコマンドを入力してみてください.?コマンドは,式の値を10進数で表示します(??なら16進数で表示).

 ?2+2/2
 3
 OK

 C言語の仕様では,{}で囲まれたブロックは一つの実行文として扱われます.以下の例は,{}で囲まれたブロックの内部でローカル変数を宣言してforループの変数として使用しています.

 {int i;for(i=0;i<40;i++)PrNum(i);}
 0123456789101112131415161718192021222324252627282930313233343536373839
 OK

 プログラムが無限ループに入っても,[CTRL]+[C]のキー入力で中断できます.[CTRL]+[C]で中断するとブレーク・モードに入ります.

 ブレーク・モードでは編集コマンドが使用できません.使えるコマンドはabort,cont,type,?コマンドです.abortでプログラムの実行を完全に中断して編集モードに戻ります.contは実行を再開します.

● CodeWarriorを使ったクロス開発も可能

 SilentCはインタープリタ型の言語処理系なので,ネイティブなプログラムと比較すると,どうしても実行速度が遅いという欠点があります.また,実行時に言語処理系がある程度のRAMを必要とするので,SilentCの変数として利用できるRAMの容量が限られてしまうという問題も発生します.本機を利用して本格的なソフトウェアを開発したい場合は,クロス開発環境を利用することも可能です.

 Freescale Semiconductor社の傘下の開発ツール・ベンダであるMetro-werks社から,CodeWarriorと呼ばれる統合開発環境(IDE)が無料で提供されています.Freescale Semiconductor社のWebサイトからIDEをダウンロードすることで,C/C++言語による開発が可能です.Silent MoonやSilentCなど,本機のファームウェアも,Code Warriorを利用してC言語で記述されています.

 IDEで開発したプログラムは,Ethernet経由で本機に転送してリセットして動作させることもできますが,このままではデバッグがやりにくいと思います.デバッグを効率化したい場合は,専用のデバッガを購入した方が良いでしょう.

 次回は,本機を利用して前面ボタンを押せば携帯電話にメールを送信するプログラムを作成する予定です.


なかもと・しんいち
(有)サイレントシステム エクゼクティブエンジニア

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日