2019/07/21(日)ArduinoISPでAT90S2313を書き込む方法
AT90S2313は古いチップだがこれを使う用事があって、ArduinoとArduinoISPなるプログラムを使えば良いハズ。だが、ATTiny2313なら書き込めるがAT90S2313では反応しない。
ArduinoISPを修正
ここまで丸二日掛かったが面倒なので結論だけ書いて置く。417行目あたりのreset_tagetをtrueからfalseへ修正するだけ。AT90S2313とATTiny2313のみで動作確認。
- 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.