2019/07/21(日)ArduinoISPでAT90S2313を書き込む方法

AVR

AT90S2313は古いチップだがこれを使う用事があって、ArduinoとArduinoISPなるプログラムを使えば良いハズ。だが、ATTiny2313なら書き込めるがAT90S2313では反応しない。

ArduinoISPを修正

ここまで丸二日掛かったが面倒なので結論だけ書いて置く。417行目あたりのreset_tagetをtrueからfalseへ修正するだけ。AT90S2313とATTiny2313のみで動作確認。

GitHub ArduinoISP.ino

- reset_target(true);

- pinMode(RESET, OUTPUT);

- SPI.begin();

- SPI.beginTransaction(SPISettings(SPI_CLOCK, MSBFIRST, SPI_MODE0));

+ reset_target(false);

+ pinMode(RESET, OUTPUT);

+ SPI.begin();

+ SPI.beginTransaction(SPISettings(SPI_CLOCK, MSBFIRST, SPI_MODE0));

とするだけである。

avrdude

C:\arduino-1.6.13\hardware\tools\avr>bin\avrdude -C etc\avrdude.conf -c avrisp -p 2313 -P com3 -b 19200

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.03s

avrdude: Device signature = 0x1e9101 (probably 2313)

avrdude: safemode: Sorry, reading back fuses was unreliable. I have given up and

exited programming mode

avrdude done. Thank you.