プログラムをあれこれ弄り回していて 1 台目の基板で SilentC が起動しなくなってしまった。今日、追加部品が届いたので 2 台目を組み立て、リカバリにより初期状態に戻すことができた。MAC アドレスも初期化されるから、改めて設定しなおす必要がある。MAC アドレスの設定はリカバリ後に一度しかできない。リカバリは本誌の説明にあるように初期状態の基板と組み合わせて util::recover でクローンを作る方法、BDM デバッガを使う方法、それに util::update コマンドで SilentC のアップデートを行う方法の 3 種類がある。SilentC の最新版がダウンロードサイトにあると書かれているが、現時点ではまだ用意されていないようだ。オリジナルの SILENTC.BIN のバックアップを取得しておいてリカバリできることを確認した。手順は次の通り。
SilentC はインタプリタ型の言語処理系で昔のパソコン BASIC のように OS としての役割も担っている。文法的には C のサブセットでコンソール入出力やソケット操作などの組込み関数が用意されており、BASIC と同じく簡単に使うことができる。組込み関数は C の標準的なものとは全く別物で説明に多少曖昧な箇所もあるが、そう数はないし、さして難しいものでもない。変数とメモリの扱いに注意するくらいだ。手始めに単純な HTTP クライアントを書いてみた。
more...今回は UDP 通信。DesignWave 誌 Cortex-M3 基板の Gainer - Processing のデモに含まれていたマウス操作で立方体を動かすプログラムをちょいと書き換えてみた。Gainer ではシリアル通信であったが、こちらは UDP 通信でデータを取得している。ColdFire 基板からデータが送られてくると、基板の傾きに応じて画面上の立方体が動く。
マイコン工作の定番、「LED チカチカ」。SilentC の CGI 機能を使ってみた。pon.htm にブラウザからアクセスすると 56 番ピン(GPT3/TA3)に接続した LED が 1 秒毎に点灯、消灯を繰り返す。
シンセ・アンプラグドさんの記事「ColdFire MCF52233 基板 (7)」で SilentC の疑問を感じる動作、4点について書かれていたので検証してみたところ、同じように不具合(?)を確認できた。
使用 RJ-45 ジャックはサイレントシステムから購入の Trxcom TRJ0012CNL および共立から購入の YCL1111-09L1G (LED 付)。
more...今日はフラッシュメモリのプログラミングやデバッグに使える BDM インターフェースを作ってみた。ネタ元は「電子・電気エンジニアのナレッジポータル @ele」内で紹介されていたパラレル接続タイプのもの。 senTec Elektronik 社の製品資料内の参考回路図がベースになっており、ロジック IC ひとつで出来ている。写真はブレッドボードに挿した ColdFire 基板につないで動作確認しているところ。シリアルも引き出している。適当なベースボードを用意したいところだ。
久しぶりの "Art" カテゴリの記事は先日出かけた「レオナール・フジタ展」。ここ数年、注目を浴びている画家、藤田嗣治=レオナール・フジタ。注目は幻の大作「構図」、「争闘」の各連作なのだけれど、私としてはキリスト教に帰依した晩年の作品群が印象的だった。もちろん、「乳白色」の裸婦像や猫の作品も多い。とても見応えのある展覧会だった。「戦争画」が省かれていたのは意図的だろうが、その判断も良かったと思う。
ColdFire 基板でも Gainer を。と言う訳で、Flash による Gainer アプリケーションを ColdFire 基板で動かしてみるテスト。オリジナルの Gainer I/O モジュールは USB-Serial 接続なのだけれども、Flash では Serial デバイスを直接ドライブすることができない。このため Gainer ではSerial Proxy と言う TCP-Serial ゲートウェイプログラムを用意しているが、ColdFire 基板に TCP 接続することでこのゲートウェイを不要にできる。ざっと、SilentC で書いてみてサンプルの basic/aIn.swf と advanced/acceleration.swf で取り敢えず動くことを確認できた。DesignWave 誌 ARM Cortex-M3 でのデモプログラム「カエルがぴょん」も動かないことはないのだが、どうにも反応が良くない。適当に書いた SilentC プログラムの動作が遅いためだろうか。他にも処理の中断や再接続がうまくできないとか問題が残っている。
more...トランジスタ技術誌 9 月号には先月の 78K0 マイコン基板と組み合わせて使うマルチテスタ基板が付録になっている。これとマルツパーツ館から購入した部品セットで組み立ててみた。右の写真は本物のアナログオシロスコープの校正出力(1KHz 方形波)を入力して表示しているところ。微妙にずれているのは校正出力のほうが怪しくなっているためだろう。
7/19 の記事の続き。
シリアルコンソールで内部にアクセスできたので、次は OpenRG の開発環境を用意してみる。同じ MCU で OpenRG を採用しているらしい LinkSys の WRV54G 用のものが GPL に基づいて公開されているので、これを使ってみた。Technical Support » GPL Code Center から wrv54g-v203.tar.bz2 をいただいてきたが、他のもっと新しいバージョンでも良い筈だ。この中にある toolchain.tgz を取り出して展開する。
# tar xvzf toolchain.tgz -C /
これで /usr/local/openrg ディレクトリに tool が用意された。この toolchain は Linux 用だが、手元では NetBSD-3.1/i386 の Linux 互換モードで使用している。
more...Freescale 社が開催している "FTF デザイン・チャレンジ・コンテスト" の国内最終選考に残った5名の作品が公開になっている。お世話になっている "hamayan" こと濱原和明さんや "k_t" 川野亮輔さんが名を連ねていて嬉しい限りだ。同社の会員サイト freescale freak (要登録)では現在最終選考へ向けての投票が始まっている。私はエントリしておきながら途中で挫けてしまって情けない。
more...先月に続くインターフェース誌の ColdFire 基板特集、「付属 ColdFire マイコン基板用 GNU クロス開発環境の構築」。NetBSD/i386 4.0 環境での build がうまく行かなかったので Linux (debian-etch) で試してみた。insight の build に termcap ライブラリの追加インストールを要した以外は誌面の説明通りで OK. NetBSD でアレなのは、make を含めたコマンド類に gnu のものを前提としているためだろうか。
写真は insight から、サンプルプログラムの cf_led を動かしているところ。.lzh アーカイブを展開すると、ファイル名の大文字小文字が期待するものと異なっている場合がある。この辺は Makefile の内容を見て修正する。また、.gdbinit 中に target の設定と実行プログラムのロードまでが記述されているため、環境によって gdb (insight) の起動時にエラーとなるから、削除するか、あらかじめ修正しておく。