Taula de continguts:

Com desactivar JTAG abans de carregar Atmegas 40DIP amb Arduino IDE Mightycore: 4 passos
Com desactivar JTAG abans de carregar Atmegas 40DIP amb Arduino IDE Mightycore: 4 passos

Vídeo: Com desactivar JTAG abans de carregar Atmegas 40DIP amb Arduino IDE Mightycore: 4 passos

Vídeo: Com desactivar JTAG abans de carregar Atmegas 40DIP amb Arduino IDE Mightycore: 4 passos
Vídeo: JTAG/RGH Xbox 360 - How to clear your system cache 2024, Juliol
Anonim
Com desactivar JTAG abans de carregar Atmegas 40DIP amb Arduino IDE Mightycore
Com desactivar JTAG abans de carregar Atmegas 40DIP amb Arduino IDE Mightycore

Recentment he utilitzat atmegas 40 DIP per controlar sistemes industrials perquè aquest tipus de microcontrolador proporciona moltes E / S analògiques o digitals, de manera que no necessiteu cap expansor.

Els atmegas32 / 644p / 1284p inclouen una manera de descarregar l'esbós que creeu, que s'anomena "JTAG" (vegeu

en.wikipedia.org/wiki/JTAG per obtenir més explicacions). Si utilitzeu Arduino IDE o LDmicro (IEC 61-131), els esbossos es descarreguen pel port SPI i els pins JTAG (4 pins: PC2 (D18) PC3 (D19) PC4 (D20) PC5 (D21) no estan disponibles per a res) Per tant, heu de desactivar JTAG al vostre programa.

Amb arduino IDE només cal afegir 3 línies de codi a la secció de configuració com aquesta:

uint8_t tmp = 1 << JTD;

MCUCR = tmp;

MCUCR = tmp;

El mètode de la línia MCUCR dues vegades.

Amb LDmicro no vaig poder fer res.

Per evitar aquests problemes, vaig carregar després de la manipulació del registre MCUCR del meu atmegas amb Arduino IDE a Mightycore. Una manera de cremar els fusibles amb un JTAG desactivat.

Pas 1: càlcul del fusible del vostre circuit 40DIP:

El càlcul de fusibles del vostre circuit 40DIP
El càlcul de fusibles del vostre circuit 40DIP
El càlcul de fusibles del vostre circuit 40DIP
El càlcul de fusibles del vostre circuit 40DIP
El càlcul de fusibles del vostre circuit 40DIP
El càlcul de fusibles del vostre circuit 40DIP

Aneu al lloc web:

eleccelerator.com/fusecalc/fusecalc.php?chi…

Trieu el bon circuit (atmega1284p al meu exemple, però de la mateixa manera que amb altres 40 atmegas DIP) i mireu el "U hfuse: w: 0x99: m" i desmarqueu JTAGEN per donar "U hfuse: w: 0xD9: m". Recordeu el valor 0xD9.

Pas 2: cerqueu el fitxer Boards.txt al directori de Mightycore:

Cerqueu el fitxer Boards.txt al directori Mightycore
Cerqueu el fitxer Boards.txt al directori Mightycore
Cerqueu el fitxer Boards.txt al directori Mightycore
Cerqueu el fitxer Boards.txt al directori Mightycore

Al vostre ordinador, cerqueu al directori Mightycore. Per a mi a C: / user / myself / AppData / Local / Arduino15 / packages / Mightycore / Harware / avr / 2.0.0 / boards.txt.

Pas 3: Modifiqueu Boards.txt i inicieu la càrrega amb Mightycore:

Modifiqueu Boards.txt i inicieu la càrrega amb Mightycore
Modifiqueu Boards.txt i inicieu la càrrega amb Mightycore

Mireu el bloc de freqüències de rellotge de l'atmega1284p amb Notepad ++.

Modifiqueu cada fusible alt com "1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd6" per "1284.menu.clock.16MHz_external.bootloader.high_fuses = 0xd9" (0xd9 el valor anterior que havíeu de recordar). Deseu-lo.

Llavors només heu de seguir el mètode de càrrega d’arrencada indicat a

www.instructables.com/id/Arduino-18x-Clone…

Això és.

Pas 4: Conclusió:

Ara guanyeu 4 E / S i no heu de fer cap manipulació del registre als vostres esbossos. També podeu tornar enrere i habilitar JTAGEN i tornar a carregar una vegada més.

Gràcies a tots els tutorials d’interès del web que em van donar algunes claus per tenir èxit en aquest projecte.

Recomanat: