Доигрался я со своей Ардуинкой, и сжёг несколько пинов у чипа =))

Но так как они мне все были нужны, сгонял в магазин за заменой, взял чип Atmega 328P   но и программатора у меня под рукой не оказалось да и паять было лень.

Благо на Ардуинке присутствует микросхема от ftdi (ft232rl) благодаря которой Ардуинку можно подключать через usb, а в системе появляется виртуальный com-порт,

но у неё есть ещё один режим работы так называемый Bit-Bang т.е. можно напрямую дёргать её ножки. Этим мы и воспользуемся.

Чип Atmega 328 а так же 168 и большинство других прошиваются через протокол SPI, на самой ардуинке присутствует разъём для этого под названием SPI или ICSP

так же выведен разьём микросхемы ft232rl (под названием x3 или как то так с четырьмя ножками)

Всё, что нам нужно для заливки прошивки, это их соединить по схеме:

 

Prog_Bit-Bang_scheme

 

Если чип прошивается на самой плате, то подключать питающую линию не нужно.  (да, можно прошивать чип ардуинки  с другой ардуинки)

Выглядит примерно так:

Prog_Bit-Bang

 

Фото честно спёрты с robocraft.ru =)

Вот впринципе и всё =)

Дальше устанавливаем avrdude командой:

sudo apt-get install avrdude

Потом открываем консольку и переходим в каталог установленной Arduino IDE:

cd /opt/Arduino/hardware/arduino/avr/bootloaders/atmega

Узнаем как там чип:

sudo avrdude -c arduino-ft232r -p m328p -P ft0 -U hfuse:r:-:h -B 4800

Если вывод показывает что всё прошло успешно, то заливаем прошивку:

sudo avrdude -q -C /etc/avrdude.conf -p m328p -c arduino-ft232r -P ft0 -B 4800 -e -U flash:w:ATmegaBOOT_168_atmega328.hex

Ну и на последок прошиваем фьюзы:

sudo avrdude -C /etc/avrdude.conf -p m328p -c arduino-ft232r -B 4800 -u -U lock:w:0x3f:m -U efuse:w:0x05:m -U hfuse:w:0xDA:m -U lfuse:w:0xFF:m

Вот и всё =) Отсоединяем провода, перетыкаем usb и можно залить простенький скетч.

За что какие параметры отвечают можно прочитать вызвав «avrdude -?»

Для чипа Atmega168 прошивка будет ATmegaBOOT_168_diecimila.hex
фьюзы:-Uefuse:w:0x00:m -Uhfuse:w:0xdd:m -Ulfuse:w:0xff:m -Ulock:w:0x0F:m
чип: m168

Для Atmega8 прошивка будет в папке atmega8 файл ATmegaBOOT.hex
фьюзы: -Ulfuse:w:0xdf:m -Uhfuse:w:0xCA:m
чип: m8
В Arduino IDE выбираете плату Arduino NG or older и чип Atmega8