NUCLEO-L152REと32F469IDISCOVERYに対応しました

GadgetSeedが動作するマイコンボードに、以下の2つを追加しました。

  • NUCLEO-L152RE(Cortex-M3)
  • 32F469IDISCOVERY(Cortex-M4)

詳細はGitHubを参照してください。

GadgetSeedのDoxygenで作成した内部資料を、以下で公開しました。

https://www.shudoshiki.net/GadgetSeed/docs/html/index.html

組み込み機器向けのマルチタスクOS GadgetSeed公開

オープンソースの組み込み機器向けOSを開発しています。

名前は「GadgetSeed」です。

ソースはGitHubで公開しています。

https://github.com/GadgetSeed/gadgetseed

GadgetSeedは以下のマイコンボードで動作します。

以下のような特徴があります。

  • マルチタスクカーネル
  • デバッグを支援するシェルコマンド
  • 標準化されたデバイスドライバAPI
  • FatFSファイルシステムに対応
  • LwIP TCP/IPプロトコルスタックに対応
  • グラフィックス描画、文字フォント描画

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について解説してく予定です。

 

RXマイコンで行ってみるか

秋月電子からRXマイコンボードが発売されたことから、メインCPUをRXに変更して再び汎用マイコンボードの作成を企んでいます。

RX用gccやbinutilsも現在公開されているバージョンは今のところ問題なく使えています。binutilsは2.21まではDセクションのマッピングが変で変数の初期化処理がうまく行かなかったのですが、2.22で解決されたようです。これでフリーの開発環境も揃いました。ちなみに私はubuntu 11.10でクロス開発しています。debパッケージも作ったのでいずれ公開しようかと思っています。

昨年4月に秋月電子からRXマイコンのチップ(R5F56218BDFP)単品が発売されていたので、ボードを自作していました。JTAGデバッガ(E1)が¥14700で購入できるので開発環境はH8に比べるとかなり快適です。(E1は秋葉原の若松通称で購入)

下の写真は現在のボードの状態です。ごちゃごちゃしていますが真ん中上の配線の下に隠れているのがRXマイコンボードです。

今のところ、

・JTAGデバッガ

・FT232RL(SCI デバッグ用コンソール)

・SRAM(CY7C1041DV33 512KB 8bitバス接続)

・グラフィックLCD(TG12864B 5V変換バス接続)

・Micro SDカード(SPI接続)

・VS1053b MP3デコーダ(SPI接続)

・ENC28J60 LANコントローラ(SPI接続)

・その他、LED、スイッチx8

を繋げています。SRAMを繋いだため、かなりピンリソースを消費しましたが、まだUSBや、I2C、ポート数本が未使用で余っています。RTCも内蔵されているので、H8/3069に比べると回路もシンプルに出来そうです。

H8で開発していた自作OS(GadgetSeed)をRXに移植し、マルチタスク化を行いました。Micro SDカードのMP3、AACファイルをVS1053bで再生するソフトを作成しましたが、H8/3069に比べると圧倒的にパワーに余裕があります。SPIが専用ペリフェラルとして内蔵されていることも大きいのですが、RXの演算能力はH8に比べると別次元のように感じられます。H8はかなり長い間ホビー用マイコンとして使われてきた感がありますが、RXの登場でホビーで出来ることも一気に幅が広がりそうです。(JTAGデバッガがもう少し安ければ良いんですけどね)

と、言う訳でまた非常に久しぶりの更新でした(^^;しばらくこのネタでブログを綴っていきたいと思います。

新しいプラットホームとRXマイコン

今まで作ってきたGadgetBaseプリント基板は取り敢えず、すべてのデバイスの動作を確認し、一応の終了としました。

ドライバを作っていると、「ここはこうしたほうがよかったな」というところがいくつも出てきて新たなプラットホームの検討を開始していました。

今度のプラットホームはH8/3069では少々重いIOだったUSBホストコントローラを外して、LANコントローラ(RTL8019AS)とMP3デコーダLSI(VS1053b)を使ったインターネットラジオの動作を目指しています。

LANはTCP/IPプロトコルスタックの出来がまだまだなのですが、VS1053bを使ったMP3、AACファイルの再生が出来るようにはなりました。しかしビットレートが256Kbps位のAACファイルの再生で、ほとんどのCPUパワーを使い切っている感じです。H8/3069の限界が見えてきた感じでした。このままプリント基板を作るよりもっとパワーのあるCPUを検討したほうが良いかと思った矢先に秋月電子からルネサスエレクトロニクスの新マイコン「RXマイコン」が単品発売されました。

雑誌インターフェースの2011年5月号にもRX62N基板が付録で付いてきており、個人的にはかなり有望なマイコンです。

惜しいことに秋月電子で販売しているRXマイコン(R5F56218BDFP)はLANコントローラと、SDRAMコントローラが付いていないタイプでした。(インタフェースの付録ボードのR5F562N7BDFBはLAN、SDRAMコントローラ付きです。)

それにしても、100MHzで165DMIPSの処理能力、USBやSPI、RTC等の豊富なインタフェースはかなり魅力です。パッケージサイズも100ピンLQFPで、十分手でハンダ付けできるサイズです。

ただし、まだ新しいアーキテクチャであるがゆえにgccのサポートがまだまだな感じです。KPITでgnu関連のツールがサポートされているようですがユーザ登録が必要だったり、ちょっと敷居が高い感じです。いずれTOPPERSやuClinux等のオープンソースのOSも移植されると思いますが、まずはオープンでフリーな開発環境が欲しいところです。

やっぱりLAN、SDRAMコントローラ付きのR5F562N7BDFBも秋月電子で発売してほしいなぁ。

秋月電子のH8/3069Fネット対応マイコンLANボードについて

TFTPブート対応のh8monは秋月電子のH8/3069Fネット対応マイコンLANボードで開発しました。

このボードは完成品と、キット品の2種類があるのですが、完成品は面実装部品をつかったボードになっているのに対し、キット品は挿入型の部品を使っています。

私は写真のようにピンソケットを部品面に実装してブレッドボードと接続して使いたいために、キット品を使っています。(完成品は既にピンヘッダがハンダ付けされているのでこのような使い方が出来ないのです。ピンヘッダ未実装バージョンも発売してほしいなぁ。)

キット品のLANコントローラ(RTL8019AS)のクロックにはセラロックが使われいるのですが、困ったことにセラロックはクロックの精度が悪いため、LANの通信がかなり不安定です。

受信は出来るのですが、送信したパケットが大きくなると(私のボードの場合700バイト位から)受け取り側が受信できなくなります。

これに気づかず、暫くh8monのデバッグに苦労しました。

上の写真のボードはセラロックを外して、下の写真のような水晶発振子のボードを作って取り付けてあります。これで不安定だった通信が素晴らしく安定しました。

上の写真のボードはRS232Cのレベルコンバータ(SP232AEN)の接続をカットし、秋月電子のFT232RL USBシリアル変換モジュールを接続し、更にUSBバスパワーでH8/3069 LANボードを動作出来るようにしています。これで、パソコンさえあればどこでも電源入らずで開発が出来ます。(^^;