Mar 09, 2006

EZ-USBその1

MINI EZ-USBにてUSBを習得中。
単体では動作確認のしようが無いので、参考書(オリジナルUSB機器の設計と製作)を参考に簡単な評価ボードを作成。8連ディップスイッチとLED2個、LCDを接続。
手始めに、Optimize氏のサンプルを実行。LEDがチカチカと点灯。
ホスト側プログラムとターゲット側ファームウェアソースをしげしげと眺め、内容が理解出来たところで、LCDへの出力をチャレンジ。
今日のところは、汎用ファームウェアをそのまま使い、ホスト側プログラムでEZ-USBのレジスタを制御する形で実装。
無事LCDに文字が出力され、一安心。
これも、Optimize氏のカメレオンUSBライブラリのおかげ。
バルク転送は理解できた。
次はLCDそのもののコントロールをファームウェア側で実装の予定。
Posted at 00:27 in embedded

Mar 08, 2006

今年は組み込み

久しぶり(約10年振り)電子工作をやってみたくなり、いろいろと物色。
とりあえず手元にこれだけ集まったので、空いた時間でいじり中。
  • MINI EZ-USB by Optimize
  • EZ-ARM7 by Optimize
  • ChameleonUSB + ロジアナキット by Optimize
  • H8/3052ボード by 秋月
  • H8/3069LANボード by 秋月
昔はMS-DOSだったのでシリアルとかプリンタポート経由で遊んでたけれども、「今時はUSBかLANでしょう」ということで。
PICも買ってみたけど、これは後回し。(AVRの方が良かったかも)

今年の目標は、
 1.何かしら意味のあるものを動作させること。
 2.USB機器はWindowsとLinuxで使えること。
 3.スタンドアロン機はLAN経由で使えること。
 4.余力があればCPLDとかFPGAが使えるようになること
の予定。(そんなに時間がないか)
ARMなのかH8なのかは両方使いながら考えるということで。
しかし、Z80でやってた頃と比べると物凄い進歩してますな。ワンチップでここまで入っているのかと。
当時は、まずはSRAM,そして8255やら8253やら繋げて、プログラムはROMライタで焼いてはテストって感じだったけど、今時は内蔵フラッシュメモリにセルフで書き込み~実行。入力ポートのプルアップまでもソフトウェアで制御できてしまうのね。
Posted at 22:55 in embedded

開発環境整備

マイコンごっこをやるために、まずは開発環境を整備。
ハードウェアが絡むので、普段使いのメインPCでは壊れちゃうと困るので、専用にノートPCを調達(ThinkPad X32)。
ARMとかH8はgccで開発できるので、Windows上ではMinGWを使用。
Cygwinはインストーラが重い&使いづらいので嫌いなのですよ。
Linuxは実機ではなくてVMware上のSuSE10にて。

各種ターゲット用にbinutils/gcc/insight(gdb)/newlibをビルドしてみると、Linuxでは何の問題もなくビルド完了するもMinGWではgccがビルド失敗。
libgccがダメの用で、手動にてMakefileのincludeパスを追加することで何とか回避。
insightはオリジナルのソースからはビルドできなかったので、MinGWの本家からソースを持ってきてビルド。
最終的には、
  • binutils-2.16.1
  • gcc-4.0.2
  • newlib-1.14.0
  • insight6.4(linux)/insight6.3.50(MinGW)
をそれぞれ
  • arm-elf
  • h8300-hms
  • h8300-elf
  • avr
のターゲット用にビルド。
EZ-USBのCPUコアが8051なので、これ用にsdcc-2.6.0もビルド済み。
おまけでpicasmもビルド。クロスコンパイラ/アセンブラだらけ。
オープンソースじゃ無いのは
  • Visual Studio 2005 Standard Edition
  • DDK
位。ExpressEdition+PlatformSDKでもいいかなと思ったけど、MFCが使えないとお気軽にプログラム作れないのでやむなく購入。
(さすがに手元のVC++5.0では厳しいのでバージョンアップ)
Posted at 22:54 in embedded