Taula de continguts:

Guia de gravació d'Atmega328P-PU (Optiboot): 12 passos
Guia de gravació d'Atmega328P-PU (Optiboot): 12 passos

Vídeo: Guia de gravació d'Atmega328P-PU (Optiboot): 12 passos

Vídeo: Guia de gravació d'Atmega328P-PU (Optiboot): 12 passos
Vídeo: Arduino Sin Cristal - ATmega328p Sin Cristal Con Oscilador Interno a 8 Mhz 2024, Desembre
Anonim
Guia de gravació d’Atmega328P-PU Bootloader (Optiboot)
Guia de gravació d’Atmega328P-PU Bootloader (Optiboot)

Encara hi ha un altre gestor d'arrencada Atmega que crema gravacions. Però aquesta vegada aposto al primer intent que tindreu èxit!

Aquest és un tutorial de gravació del carregador d'arrencada de Nick Gammons per a les plaques Arduino.

Pas 1: poques paraules

Poques paraules
Poques paraules

El microcontrolador Atmega328P-PU és un dels xips Arduino més populars que s’utilitzen en una àmplia gamma a tot el món. Però el més important és que els ossos nus d’Atmega encara fan el que pot fer l’On R3 estàndard. La principal raó per la qual m'encanta aquest microcontrolador és el mode "Low Power". He escrit alguns esbossos nous per a uns quants sensors i els estic provant des de fa un temps.

Fa uns anys, quan vaig començar a jugar amb Arduino, el meu primer encàrrec era un microcontrolador Atmega328P. Més tard em vaig adonar que els que vaig demanar a Aliexpress són xips en blanc. Les fitxes són molt econòmiques a Ali, les podeu comprar a partir de 1,40 $. Però no contenen l’Uno Bootloader (Optiboot) i sense ell no podria penjar cap esbós. Tough break ha ?? !! Va ser una dutxa molt freda per a mi …… Així que estava buscant una manera de cremar el carregador d'arrencada a les fitxes. He provat 5 o 6 mètodes, però no he tingut sort. Al cap d'una setmana, vaig trobar un tema en un fòrum de llocs web que esmentava el tutorial de gravació del carregador d'arrencada de Nick Gammon. Primer intent i ÈXIT !!: D Ara us mostraré com gravar el carregador d'arrencada en xips Atmega328P-PU en blanc fàcilment sense embolicar coses a l'IDE Arduino.

Pas 2: què és el carregador d'arrencada? (Optiboot)

El carregador d’arrencada és un petit programa (fitxer HEX, 0,5 Kbyte) que us permet carregar esbossos a la memòria flash directament des d’Arduino IDE. El fitxer HEX sempre s’executa abans del programa principal i per això és necessari.

Sense el carregador d'arrencada:

-El microcontrolador encara es pot PROGRAMAR (sí, és possible), però necessitareu un programador AVR dedicat per fer-ho. I no és barat!

- No es pot programar mitjançant l'IDE Arduino.

Carregadors d'arrencada compatibles d'aquest mètode:

Atmega8 (1024 bytes)

Atmega168 Optiboot (512 bytes)

Atmega328 Optiboot (per a Uno, etc. a 16 MHz) (512 bytes)

Atmega328 (8 MHz) per a Lilypad, etc. (2048 bytes)

Atmega32U4 per a Leonardo (4096 bytes) Atmega1280 Optiboot (1024 bytes)

Atmega1284 Optiboot (1024 bytes)

Atmega2560 amb solucions per al problema del temporitzador de vigilància (8192 bytes)

Atmega16U2: el carregador d’arrencada del xip d’interfície USB de l’Uno

Atmega256RFR2: el carregador d’arrencada del tauler Pinoccio Scout

El codi dels següents carregadors d’arrencada s’incorpora a l’esbós i es descarregarà en funció de la signatura que es detecti.

Per tant, tenim tot el que necessitem.

Pas 3: Arduino Sketches Master

Arduino Sketches Master
Arduino Sketches Master
Arduino Sketches Master
Arduino Sketches Master
Arduino Sketches Master
Arduino Sketches Master

Primer de tot, necessiteu la biblioteca arduino.

Baixeu-lo des d’aquí:

O descarregueu-lo des d’aquí.

Després de descarregar-lo, extreu-lo a les biblioteques Arduino anteriors i busqueu Board Programmer. Obriu-lo i executeu Board Programmer.ino.

Pas 4: Configuració del maquinari

La configuració del maquinari
La configuració del maquinari
La configuració del maquinari
La configuració del maquinari
La configuració del maquinari
La configuració del maquinari
La configuració del maquinari
La configuració del maquinari

Hi ha 3 maneres de connectar-se abans de programar:

- Utilitzeu l'escut AVR ISP

- Arduino A a Arduino B

- I el mètode de la taula de treball

A la imatge es pot veure com connectar-se. A la placa d’adaptació, els condensadors ceràmics no són realment necessaris, però cal afegir el cristall de 16 MHz.

Aquesta vegada estic fent servir el meu escut AVP ISP.

L'objectiu d'aquest mètode és que el programa utilitzi el monitor sèrie per accedir a la memòria flash per escriure l'Optiboot (bootloader)

Pas 5: la programació

La programació!
La programació!
La programació!
La programació!

Un cop finalitzada la configuració del maquinari, executeu Board Programmer.ino.

Compileu i pengeu al vostre Arduino, però no tanqueu la finestra !! La necessitaràs:)

La càrrega trigarà uns segons.

Pas 6: desconnecteu

Després de penjar l'esbós, desconnecteu l'Arduino del vostre PC i connecteu-ho tot si teniu previst fer-ho a la taula de treball.

Si utilitzeu l'escut AVR, poseu el xip Atmega al sòcol ZIF i "bloquegeu-lo".

Molt important: Mentre el maquinari no estigui configurat, el processador no ha de tenir VCC. D'aquesta manera s'arrisca un dany !!

Pas 7: connecteu-vos

Connecteu-vos
Connecteu-vos

D'acord! El maquinari està configurat i tot està al seu lloc. Connectem l'Arduino al PC.

A continuació, obriu el monitor de sèrie i configureu la velocitat de transmissió 115200 i ho veureu.

Al monitor sèrie podeu veure que Arduino ha entrat en mode de programació. Guai!!:)

Com que volem programar Uno (Atmega328P), escriviu una "U" a la sol·licitud de missatge i premeu Intro.

Pas 8: estat de programació

Estat de programació
Estat de programació

A la finestra següent veuràs això.

No sortirem ni verificarem, escriviu una G i premeu Intro.

Pas 9: comença la diversió.:)

Comença la diversió!:)
Comença la diversió!:)

Després de prémer enter, veureu això:

S'està esborrant el xip … S'està escrivint el carregador d'arrencada …

Pàgina de compromís a partir de 0x7E00 Pàgina de compromís a partir de 0x7E80

Pàgina de compromís a partir de 0x7F00

Pàgina de compromís a partir de 0x7F80

Escrit. Verificant …

No s'ha trobat cap error.

Escrivint fusibles … LFuse = 0xFF

HFuse = 0xDE

EFuse = 0xFD

Byte de bloqueig = 0xEF Calibratge del rellotge = 0x9E

Fet.

Mode de programació desactivat. Escriviu "C" quan estigueu a punt per continuar amb un altre xip …

I feliç dia !!: D El vostre xip Atmega328P ja està a punt per penjar esbossos.

Va ser fàcil, no?:)

Pas 10: un nou xip

Si voleu programar un altre xip, desconnecteu Arduino del vostre PC, substituïu el xip per un altre en blanc. Torneu a connectar Arduino i torneu a fer els passos.

Si el monitor sèrie no respon després de tornar a connectar l'Arduino, no us espanteu, tanqueu-lo i obriu-ne un de nou.

Pas 11: EXENCIÓ DE RESPONSABILITAT

No en tinc cap! Tot el mèrit és de Nick Gammon !!

Acabo de mostrar aquest mètode en aquest instructiu.

Espero que us sigui útil.

Que tinguis un bon dia.

Pas 12: quan passen coses estranyes

Quan passen coses estranyes
Quan passen coses estranyes
Quan passen coses estranyes
Quan passen coses estranyes

Recentment he rebut aquest Arduino Nano amb processador Atmega328P-MU.

Així que he provat de penjar-hi un esbós, però no he pogut. El processador no va respondre a res amb les opcions Atmega328.

D'ACORD! Per tant, potser el carregador d’arrencada està malmès i necessita una reescriptura. El vaig connectar amb un altre arduino i vaig acabar de gravar el carregador d’arrencada. Res encara……!!!!

D'acord, doncs, necessito un fre (cafè i cigarreta) !! Com a última oportunitat, vaig tornar a seleccionar Arduino Uno com a objectiu. Pujada completa: D

En aquest moment tinc un Nano que funciona com un Arduino Uno. No sé per què va passar això, però crec que es deu a la signatura del processador. De totes maneres em va fer molt el dia i és una mica divertit:)

Recomanat: