GadgetSeedが動作するマイコンボードに、以下の2つを追加しました。
- NUCLEO-L152RE(Cortex-M3)
- 32F469IDISCOVERY(Cortex-M4)
詳細はGitHubを参照してください。
GadgetSeedのDoxygenで作成した内部資料を、以下で公開しました。
GadgetSeedが動作するマイコンボードに、以下の2つを追加しました。
詳細はGitHubを参照してください。
GadgetSeedのDoxygenで作成した内部資料を、以下で公開しました。
オープンソースの組み込み機器向けOSを開発しています。
名前は「GadgetSeed」です。
ソースはGitHubで公開しています。
https://github.com/GadgetSeed/gadgetseed
GadgetSeedは以下のマイコンボードで動作します。
以下のような特徴があります。
GitHubには日本語ドキュメントも公開しています。
開発環境の構築方法から、サンプルアプリケーションのコンパイル、動作方法は下記を参照して下さい。
https://github.com/GadgetSeed/gadgetseed/blob/master/README.jp.md
サンプルアプリケーションには、タッチパネルで操作できるMP3、AAC音楽プレーヤー等があります。サンプルアプリケーションについては以下を参照して下さい。
https://github.com/GadgetSeed/gadgetseed/blob/master/apps/APPLICATIONS.jp.md
今後、本ブログでGadgetSeedについて解説してく予定です。
TFTPブート対応のh8monは秋月電子のH8/3069Fネット対応マイコンLANボードで開発しました。
このボードは完成品と、キット品の2種類があるのですが、完成品は面実装部品をつかったボードになっているのに対し、キット品は挿入型の部品を使っています。
私は写真のようにピンソケットを部品面に実装してブレッドボードと接続して使いたいために、キット品を使っています。(完成品は既にピンヘッダがハンダ付けされているのでこのような使い方が出来ないのです。ピンヘッダ未実装バージョンも発売してほしいなぁ。)
キット品のLANコントローラ(RTL8019AS)のクロックにはセラロックが使われいるのですが、困ったことにセラロックはクロックの精度が悪いため、LANの通信がかなり不安定です。
受信は出来るのですが、送信したパケットが大きくなると(私のボードの場合700バイト位から)受け取り側が受信できなくなります。
これに気づかず、暫くh8monのデバッグに苦労しました。
上の写真のボードはセラロックを外して、下の写真のような水晶発振子のボードを作って取り付けてあります。これで不安定だった通信が素晴らしく安定しました。
上の写真のボードはRS232Cのレベルコンバータ(SP232AEN)の接続をカットし、秋月電子のFT232RL USBシリアル変換モジュールを接続し、更にUSBバスパワーでH8/3069 LANボードを動作出来るようにしています。これで、パソコンさえあればどこでも電源入らずで開発が出来ます。(^^;
2年も放置していましたが久しぶりの更新です。
以前から公開していたH8/3069用のモニタプログラム「h8mon」に「H8/3069Fネット対応マイコンLANボード(秋月電子通商)」のLANコントローラに対応したTFTPブート機能を追加しました。
この機能を使うと「H8クロスコンパイラ」でコンパイルしたELFバイナリのプログラムをTFTPサーバで公開することにより、h8monよりネットワーク経由でTFTPダウンロード、実行することが出来ます。
フラッシュメモリへの書き込みや、シリアルのダウンロードに比べて、数倍の速度でアプリケーションをダウンロード実行することが出来ます。実行画面はこんな感じです。
H8/300(H) 3069F Monitor Ver. 0.90 (c)2011 Takashi SHUDO Virtual vector table area : FFBF20 - FFC01F Monitor used RAM area : FFC020 - FFD179 Monitor stack end address : FFD30C Build date : 12:26:30 Apr 30 2011 >ip 192.168.1.123 IP address : 192.168.1.123 RTL8019AS Initialized MAC : 00:02:cb:01:64:bf Start network >tftpb 192.168.1.3 gs TFTP boot Target IP : 192.168.1.3 File name : gs Load Addr : 500000 Start Port 54278 ................................................................................ ................................................................................ ................................................................................ ............................................ Done Receive size = 145084 Load : 00400000 - 00400583 (00000584) Load : 005D1000 - 005F3B62 (00022B63) Load : 005FC000 - 005FC009 (0000000A) Load : 00FFBF20 - 00FFBF23 (00000004) Entry address = 5D1000 GadgetSeed Ver. 0.79z17 (c)2010,2011 Takashi SHUDO Build date : 22:45:44 Apr 28 2011 Static Memory : 0x401000 - 0x411000 Heap Memory : 0x411000 - 0x5D1000 1856 K byte free MAC : 00 02 CB 01 64 BF Storage 0: "eeprom" Ver.0.79z17 (c)2010,2011 Takashi SHUDO :
TFTPサーバはubuntu 10.04で動作確認しています。
GadgetSeedの開発もちまちまやっていたのですが、ソフトウェアの規模がかなり大きくなってきたのでシリアルのダンロードにも数分かかるようになっていました。実行までに時間がかかると開発のモチベーションも下がってしまいます。そこで2011年の年明けあたりから少しずつIP/UDPのプロトコルスタックから作り始めていたのですが、やっと実用に耐えれれる程度になったので「h8mon Ver.0.90」として公開します。
h8mon Ver.0.90のダウンロードと、マニュアルはこちらを参照ください。
忘れないうちに基板の課題事項をメモ
・電解コンデンサ(C11)のシルクを書き忘れている
凡ミスです。
・L1のフットパターンがピッタリすぎて半田付けがしづらい
データシートの通りだとピッタリなのですが、手付けを考えると少し大きめにするべきでした。
・リセットIC(TCM809)のフットパターンがちょっと大きい
ライブラリを使ったんだっけ?自分で入力したのかな?微妙に合いませんでした。
・LCDのコネクタ用端子の穴が小さい。
コネクタ入りません。orz
・SCI0のRXDをプルアップしておくべきだった
h8monはSCI0をgdb-stub用のI/Fにしているのですが、ゴミを受信して勝手にstub機能が動作してしまいます。拡張用にと思って端子を出しておいたのですが、オープンのままだったので取りあえず10Kでプルアップしました。
・UBSシリアル(FT232RL)が不安定
USBの配線はシビアなのかな?ジャンパで安定したのですが、せいぜいフルスピード(12MBps)と思って適当に配線したのがまずかったのかも?
・USBシリアル(FT232RL)にリセット入れなくてもよかった?
リセットIC(TCM908)からのリセットをFT232RLのリセット入力に入れていたのですが、リセットのたびにUSBが再認識されるのはどうかと思い、パターンをカットしました。
あと、パターンの変更はないのですが、キーボードに乗せている面実装LED(松下 LNJ208R8ARA)を点灯するとかなり熱くなっていました。抵抗10Ω入れていたのですが、電流が流れすぎていたようです。1KΩまで上げてもちゃんと光るのでこの値にしました。
いま、HT7750Aを使った電源回路を試しているのですが、あまり電流流せないみたい。スペック上200mAですが、よく見たらDRAMってリフレッシュ中90mAも流れるんで結構きついようです。電源をエネループ2本直列だとUSBシリアルがPCから認識しません。電池駆動は厳しいかなぁ(^^;