久しぶりにATMELのサイトをみたらAVR32 Studioが2.1.1、AVR32 gnu toolchainが2.1.4に上がっていたのでアップグレードしてみたら・・・・既存のプロジェクトがBuildできない(;´Д`)
説明書をよーく読んでみたら、sys/interrupts.hに入っていたinterrupt系の関数がFramework側のNEWLIB_ADDON側に放り出された模様(libc.aから無くなってます)。それはいいのですが、どうもこの対応がAT32UC3系のCPUにしかちゃんと入って無くて、AP7xxxは後回しにされている様子?。これじゃどうにもならんなぁ・・・と思ってたら、JTAGICE mk2の自動ファームアップデートでもNG出たりで結構散々(;´Д`) GUI上ではアップデートできたようにみえても、起動するたびに「JTAGICEのFirmwareアップグレードをしなきゃ駄目!」とEclipseからお叱りを受けます(泣。ちなみに2.1.4のtoolchainに入ってるバージョンのJTAGICEを単体制御するavr32programを実行すると、Failed to execute command with ID 0x01 とか謎エラーが出ます。
AVR Freaksをいろいろ読んでみたら、どうもたまに起きるようで向こうでも解決されていないようなので、自分で解決するしかないということで、散々いろいろやってみたところ、user/LocalSettings/Tempにアップデート用のテンポラリファイルがおかしな状態で入ると駄目になる模様(ここにEclipseがアップデータとかを一端入れて作業するので)。というわけで、Tempの下に貯まっていたファイルをばっさり削除して、Software Updateをし直したら、正常にFirmware ver.5.44へアップグレードされました。なんだかなぁ・・・。後でATMELへ報告しておくかなぁ・・・。
たぶん、Eclipseの自動アップデートに問題があるんでしょうけど。だから、Eclipseは嫌い。
結局のところ、対応見てるとATMELがAPxxxxを見放してるっぽい?ので、AT32UC3シリーズに手を出してみることにしました。以前と違ってAT32UC3シリーズが普通に手に入るようになったので、ATMegaレベルのアプリケーションはここらへんでもいいよね、ということで。
ちなみに久しぶりにDigiKeyで買いましたが、円高もあって8100円ぐらいです。いつの間にか7500円以上送料無料になってたんですね。
まぁ、このAT32UC3、ARMコアのNXPのLPCxxxxと思いっきりぶつかるような気がしますがw 新しいコアを出して売っていこうというだけあって、ATMELもソフトが楽できるようにコレに関しては結構最初っからFrameworkを出してきたりと熱心です。ARMのソフト資産が膨大だから、用途ダブってしまうとなかなか選択肢に出てきませんからね・・・・。コスト的に凄い条件出したら違うでしょうけど・・・・。
↓本番で使うのはAT32UC3B0128の予定。
AT32UCA/BシリーズはAP7xxx系と違って、ローレベルの組み込み関連向けの製品で、パッケージもLQFPなどですから普通に自作に使えます。AP7xxxだとBGAしかないので、事実上NGWとかSTK1000でしか使わざるを得ないですから。
Frameworkは必要なものは結構一通り持ってます。低レベルのIP別の基本処理とかから、USB、加速度センサーやらSDCARD、NANDフラッシュとそのハミング符号ECC、FATなどです。NANDはハミング符号ECCなんでSLCの古いプロセスの石のみ対応です。USBはいまのところHIDのみですが、Mass Storageにも対応する予定、らしいです。あとFreeRTOSもネイティブサポートです。ITRON移植しようと思ってたけど、こっち使う方に流れそうw
↓フレームワークで作れる機能。結構盛りだくさんです。
開発環境はお馴染みAVR32 StudioでEclipseベースですが、IAR Systemsの環境もお試し版がついてます。32KBまでのオブジェクトが作れるStarter Kit版と、制限無しだけど30日までよの試用版です。ただ、IAR版は使わない方がいいかも・・・。Eclipse版を窓から捨てたくなるのでw IAR版はデバッグ環境もキビキビ動きますし、環境設定もわかりやすいし、mapやリスト出力も見やすいですからねぇ。3万ぐらいでもうちょっと制限の緩いものがあれば買うんだけどなぁ。さすがに50万では手が出ません(;´Д`) オブジェクトサイズmax 128KBまでとかで、商用使用不可の安いのを出して欲しい・・・。
IAR Systemsの統合環境。せめて64KBまで作れれば・・・(;´Д`)
このレベルにEclipse版が到達するのはいつになるんだろう・・・
EVK1101にデフォルト搭載デモはUSBで接続して、PC上のソフトから、ボード上にある照度センサーや加速度センサー情報の取得、LEDの点灯ができるものです。いまのところフレームワークがHID Classしかサポートしてないのでこんな感じ。転送はインタラプト転送のみ使ってます。一応ボード上にはこの他にSDカードスロットやシリアルDATAFlashがあるので、将来的にはこれが使えるデモになるかと。
↓基板表と裏
↓PCのデモソフト。Java版もあります。
まだ届いたばっかなので、適当にいじっただけですが、なにか一つ作ってみれば、いろいろとわかるでしょう。つーか、WinAVRのようにサクサク環境ならないのかな・・・。
主にドールや電子工作関連を中心にしたブログです。