« 2019年10月 | トップページ | 2019年12月 »

2019年11月

2019年11月 2日 (土)

Atmel Studio 7.0のtoolにバッチファイルを組み込む

Dsc_0655

「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 ...
avrdude.exe: verification error, first mismatch at byte 0x0000
0x00 != 0x09
avrdude.exe: verification error; content mismatch

コマンドラインから実行すれば正常に書き込める事は判っているので、環境問題であることは間違いない。

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 を記載する。

Atmel

③最初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: 182 bytes of flash verified

avrdude.exe: safemode: hfuse reads as FF
avrdude.exe: safemode: Fuses OK (E:FF, H:FF, L:6A)

avrdude.exe done. Thank you.


C:\Program Files (x86)\Atmel\Studio\7.0>pause
続行するには何かキーを押してください . . .

しばらく使ってみたが、今のところ問題は出ていない。

本来の解決ではないが、個人レベルでは原因究明より使える事が優先なのでこの問題は終結とする。

同様の問題でお悩みの方がいたら試してみてはいかがでしょうか・・・。

 

 

« 2019年10月 | トップページ | 2019年12月 »

無料ブログはココログ
フォト
2025年2月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28