Raspberry PiからAVR ATtiny26にIntel HEXを書き込む

同じ種類のマイコンばかりですが、少しずつライターコレクションが増えてきました。AVRマイコンのことが、うすらぼんやり掴めてきている気がします。
今回は、ATtiny26です。
Flash Programのためのピン配は以下のとおりで、VCCとGNDがマイコンを逆に挿しても動作するようになっています。なんだかピンが2つもったいない気もしますが、初心者には優しいかもしれません。

            ATtiny26
          +-----------+
    SCLK -|1        20|- 
    MISO -|2        19|- 
    MOSI -|3        18|- 
     PB3 -|4        17|- 
     VCC -|5        16|- GND
     GND -|6        15|- VCC
         -|7        14|- 
         -|8        13|- 
   _____ -|9        12|- 
   RESET -|10       11|- 
          +-----------+

ではRaspberry PIをFLASHライターにしてATtiny26へHEXファイルを焼いてみます。

ブレッドボードの配線はこのとおりです。
avr-attiny26-001

avrdude.confはこの設定です。

pi@raspberrypi:~ $ grep 'id.*linuxgpio' -nA5 /etc/avrdude.conf
1109:  id    = "linuxgpio";
1110-  desc  = "Use the Linux sysfs interface to bitbang GPIO lines";
1111-  type  = "linuxgpio";
1112-  reset = 22;
1113-  sck   = 11;
1114-  mosi  = 10;
pi@raspberrypi:~ $ 

プログラム一式はgithubへ登録してありますので、clone。

root@raspberrypi:~# git clone https://github.com/takkete/bread.git
root@raspberrypi:~# cd bread/mcu/avr/attiny26

makeすれば、hello.cがビルドされ、HEXが生成されます。

root@raspberrypi:~/bread/mcu/avr/attiny26# make
avr-gcc -O2 -mmcu=attiny26 -DF_CPU=1000000UL -c -o hello.o hello.c
avr-gcc -O2 -mmcu=attiny26 hello.o -o hello
avr-objcopy -j .text -j .data -O ihex hello hello.hex

HEXを書き込みます。書き込みするのもmakefileを使ってます。

root@raspberrypi:~/bread/mcu/avr/attiny26# make write
avrdude -p t26 -c linuxgpio -U flash:w:hello.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9109
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "hello.hex"
avrdude: input file hello.hex auto detected as Intel Hex
avrdude: writing flash (74 bytes):

Writing | ################################################## | 100% 0.09s

avrdude: 74 bytes of flash written
avrdude: verifying flash memory against hello.hex:
avrdude: load data flash data from input file hello.hex:
avrdude: input file hello.hex auto detected as Intel Hex
avrdude: input file hello.hex contains 74 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.07s

avrdude: verifying ...
avrdude: 74 bytes of flash verified

avrdude: safemode: Fuses OK (E:FF, H:17, L:E1)

avrdude done.  Thank you.

root@raspberrypi:~/bread/mcu/avr/attiny26# 

焼けました。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA