Pre ISP programovanie MEGA MCU som používal USBasp, kúpený z e-bay za smiešne 3 USD. Začal som ale koketovať s XMEGA MCU a tie už nepoužívajú ISP, ale PDI. ISP „okupovalo“ SPI piny, takže to bola občas otrava, PDI už používa dedikované piny a sú len dva. Našiel som super článok o tom, ako upraviť USBasp zmenou firmware, aby vedel programovať cez PDI. Spôsob tam je uvedený, ale nie konkrétny binárny súbor ktorý treba nahrať do USBasp, ani návod ako samotný upgrade urobiť. Tu je jednoduchý návod, ktorý predpokladá USBasp V2.0 s čipom MEGA8.
Do Arduina alebo nejakého klonu naprogramujeme ArduinoISP6 drôtov zapojíme nasledovne:
5V ———– 2
GND ——– 10
13 ———— 7
12 ———- 9 (MISO)
11 ———- 1 (MOSI)
10 ——— 5 (RESET)
Stiahneme a rozbalíme avrdude. Spustíme príkazový riadok, otvoríme cestu kde máme avrdude a spustíme nasledovný príkaz (zvolíme COM port kde mám Arduino):
avrdude -c avrisp -P COM3 -b 19200 -p m8 -v
Ak bude všetko OK, na konci textu bude „avrdude: AVR device initialized and ready to accept instructions„. Ak nie, skontrolujeme zapojenie. Ak áno, pokračujeme tým, že si stiahneme opatchovaný firmware, rozbalíme, spojíme piny JP2 (nie je osadené) a spustíme príkaz:
avrdude -c avrisp -P COM3 -b 19200 -p m8 -U flash:w:usbasp_pdi_atmega8_20120816.hex
Prebehne nahratie a overenie firmware, ak skončí bez chybovej hlášky, máme hotovo. Ak máte otázky alebo nejaký problém, píšte do diskusie 🙂
2 komentáre