2020年6月30日火曜日

AVR JTAG ICE

AVRに関してはIDEやデバッガを使った開発はしてこなかったし、世間的にもあまり普及してる気はしないんだけど、最近だと1万円も出してATMEL-ICE-BASICとか買うのが正解なのかな?ARMはどこも統合開発環境が整備されてるんで、ARMのラインも含めるとこういうのないと戦えないってのはわかりみだけど、AVRのサポートも継続してるのは素直に喜ぶべきか。

手軽にデバッガ試すなら太古のJTAG ICE互換のデバイスが数百円程度で売ってたりはするのだけど、対応してるのはAVR Studio 4.18まで、かな?古いデバイスしか使えなかったりはするけど、まぁ使えなくはないので試してみた。

JTAG ICE互換デバイス自体はシリアルポートとしてアクセスされるだけ。自分が入手したのはCH340使ってたので、それ系のドライバを入れる必要はあった。

Windows 10だと色々と問題があって大変なんだけど、Windows 7とかなら(サポート切れててアレだけど)WinAVR-20100110との組み合わせで苦労なく動く。Windows 10の場合は32-bitと64-bitで起きる問題が違ったかも。32-bitだとDocuments以下にプロジェクト作ろうとしてもセキュリティ機能にブロックされてディレクトリ作成に失敗したりファイル作成に失敗したり。自分の場合、この問題は64-bit環境では起きなかった。

一方で共通で起こった問題としては、まずはインストーラが起動しない問題。これはシステムのセキュリティ機能にブロックされての事。ダウンロードされた実行ファイルにつく例のフラグを属性変更で落としてあげても起動できない。4.19だと属性落とせば起動するので謎だけど、何かブロックリストに入る理由があるんだろうか。これに関しては管理者権限で動いてるcmd.exeから実行する事で回避できた。AVR Studioに限ったことではないので、この最終手段は覚えておいて損はないかも。

インストール後の問題としてはWinAVR内に含まれるmsys環境のコマンドの大半が起動しないこと。これによりビルド開始後にだんまりとか、makeが動かない、depsが作られない、などなど変な問題が沢山発生した。これはWinAVR-20100110\utils\binをMinGW最新のmsysで置き換える事で一通り問題なく動くようになった気がする。これはセキュリティが関連してるのか、メモリ配置ができなくて怒られてるのか微妙。forkでこけるやつもいたし。mingw-get-setup.exeからmsys-base-binだけインストールして、msys\1.0\binをutils\binと置き換えてやればOK。

WinAVRの代わりにいっそのことと新しいのgcc使ってみたりもしたけど、デバッグ開始と同時にIDEが落ちた。たぶんデバッグ情報とかのフォーマット違いに対応できずに死んでる気がするので、こっちは諦め。

0 件のコメント: