Atmel Studio 7.0のtoolにバッチファイルを組み込む
「AFSS01 – AVR最初の一歩セット」顛末記でも記載したが、Atmel Studio 7.0を使ってATtiny13A-PUの書き込みが上手くできないことがある。
https://ji1pvv.cocolog-nifty.com/blog/2019/09/post-982905.html
avrdude.exe: reading on-chip flash data: Reading | ################################################## | 100% 0.06s avrdude.exe: verifying ... |
コマンドラインから実行すれば正常に書き込める事は判っているので、環境問題であることは間違いない。
ATtiny85でも頻度は少ないが時々起きる。USBの抜き差しで回復するが毎回では面倒・・・。
そこで、バッチファイルを作ってコマンドラインからの入力を楽しようというのが今回のもくろみ。
手順
①BATファイルを作る。pauseを入れた理由は後述
c:\tools\avrdude.exe -v -v -c usbasp -P usb %1 %2 %3 %4 pause |
パラメータは、以下のように設定する。こうする事でAVRの種類が変わっても対応できる様になる。
%1 -p
,%2 t13
,%3 -U
,%4 flash:w:"$(ProjectDir)Debug\$(TargetName).hex":i
②Atmel Studio 7.0にBATファイルを組み込む
tool -> Extemal Tool -> Add を選択する。(avrdudeを組み込んだ時と同じ手順)
Command はBATファイルをフルパスで記載
Arguments は、-p t13 -U flash:w:"$(ProjectDir)Debug\$(TargetName).hex":i を記載する。
③最初Use Output windowにチェックを入れて確認したが、症状は改善せずまたエラーになってしまった。(コマンドが早すぎる?)
そこで、図のようにUse Output windowのチェックを外し、Close on exitに入れると正常に動作した。
ただし、終了するとコマンドラインが消えてしまうので、BATファイルの最後にpauseを入れて確認が終わるまで画面を残すことにした。
avrdude.exe: reading on-chip flash data: Reading | ################################################## | 100% 0.14s avrdude.exe: verifying ... avrdude.exe: safemode: hfuse reads as FF avrdude.exe done. Thank you.
|
しばらく使ってみたが、今のところ問題は出ていない。
本来の解決ではないが、個人レベルでは原因究明より使える事が優先なのでこの問題は終結とする。
同様の問題でお悩みの方がいたら試してみてはいかがでしょうか・・・。
最近のコメント