こんにちは
やましょうです。
#前置き
今年はちょっとお仕事で大量のAtmegaを書込む作業が発生しました。
atmegaを大量に書く場合 romライターで書込むわけですけど、
作業が多いのが難点ですよね。
#実際の書込作業手順
- 全ERACE
- eeprom部の書込み
- rom部の書込みbinやhex
- フューズ部の書込み
- 読み出し禁止書込み (*lock *)の書込み
上記をたとえば、Atmel Studioを用いて書いた場合。
作業をどっか飛ばすあり得そうですし、これが100台とかでもやましょう的にはやりたくない作業ですよね。
#純正の書込みatprogram.exeを使う。
C:¥Program Files (x86)¥Atmel¥Studio¥7.0¥atbackend¥atprogram.exe
にあると思います。
#書込みツールはパラレルライターAvrDoragonを使う。
別にpickit4や、atmel-iceでも良いとは思いますが、フューズビットを間違えた場合に
戻せなくなるので、私はAvrDorgronを使いました。
なんかディスコンになった様な気がする。春には購入できたのですが。
#バッチを使って書込む
https://github.com/qa65000/AtmelProgram/
にデータはあります。
echo off
echo Erace Start!
atprogram -t avrdragon -i HVPP -d ATmega328P -l log.txt chiperase
if errorlevel 1 goto :err
echo Proram eeprom Start!
atprogram -t avrdragon -i HVPP -d ATmega328P -l logeeprom.txt program -ee -f EEpromIntelHex.hex --verify
if errorlevel 1 goto :err
echo Program Start!
atprogram -t avrdragon -i HVPP -d ATmega328P -l logrom.txt program -f ProgramFlash.hex --verify
if errorlevel 1 goto :err
echo FUSE START!
atprogram -t avrdragon -i HVPP -d ATmega328P -l logfuse.txt write -fs --values FFD1FF --verify
if errorlevel 1 goto :err
echo LOCK Start!
atprogram -t avrdragon -i HVPP -d ATmega328P -l logfuse.txt write -lb --values c0 --verify
echo ALL PROECESS completed successfully..
goto :eof
:err
echo Error!!!!
echo Error!!!!
echo Error!!!!
:eof
echo on
実行して、ALL PROECESS completed successfully..が出れば問題なし。
Error!!がでればそのic書込失敗。
#改良予定
icソケットだけ見ていると、書込中かどうかわからないので、書込途中にソケット開けちゃう事件が発生
LEDを付けた改良版を作ろうと思う。
以上
やましょうでした。