Inhoudsopgave:

Atmega328P-PU Bootloader (Optiboot) Brandgids: 12 stappen
Atmega328P-PU Bootloader (Optiboot) Brandgids: 12 stappen

Video: Atmega328P-PU Bootloader (Optiboot) Brandgids: 12 stappen

Video: Atmega328P-PU Bootloader (Optiboot) Brandgids: 12 stappen
Video: HOW TO BURN BOOTLOADER IN ATMEGA328P MICROCONTROLLER . HELP OF USING ARDUINO UNO 2024, Juli-
Anonim
Atmega328P-PU Bootloader (Optiboot) Brandgids
Atmega328P-PU Bootloader (Optiboot) Brandgids

Nog een ander Atmega bootloader brandend giude. Maar deze keer wed ik op de eerste poging dat je zult slagen!!

Dit is een Nick Gammons-zelfstudie voor het branden van bootloaders voor Arduino-borden.

Stap 1: Een paar woorden

Een paar woorden
Een paar woorden

De Atmega328P-PU microcontroller is een van de meest populaire Arduino-chips die over de hele wereld in een breed scala worden gebruikt. Maar het belangrijkste is dat Atmega nog steeds doet wat de standaard Uno R3 kan. De belangrijkste reden waarom ik van deze microcontroller houd, is de "Low Power" -modus. Ik heb een aantal nieuwe schetsen geschreven voor een paar sensoren en ik ben ze nu een tijdje aan het testen.

Toen ik een paar jaar geleden met Arduino begon te spelen, was mijn eerste bestelling een Atmega328P-microcontroller. Later realiseerde ik me dat degene die ik bij Aliexpress bestelde blanco chips zijn. De chips zijn erg goedkoop op Ali, je kunt ze kopen vanaf $ 1,40. Maar ze bevatten niet de Uno Bootloader (Optiboot) en zonder deze kon ik geen schetsen uploaden. Moeilijke pauze haha??!! Het was echt een koude douche voor mij ……. Dus ik was op zoek naar een manier om de bootloader in de chips te branden. Ik heb 5 of 6 methoden geprobeerd, maar geen geluk. Na een week vond ik een onderwerp op een websiteforum waarin Nick Gammon's zelfstudie over het branden van bootloader werd genoemd. Eerste poging en SUCCES!!:D Nu zal ik je laten zien hoe je de bootloader eenvoudig op lege Atmega328P-PU-chips kunt branden zonder dingen in Arduino IDE te verknoeien.

Stap 2: Wat is de bootloader? (Optiboot)

De bootloader is een klein programma (HEX-bestand, 0,5Kbyte) waarmee je schetsen rechtstreeks vanuit Arduino IDE naar het flashgeheugen kunt uploaden. Het HEX-bestand wordt altijd vóór het hoofdprogramma uitgevoerd en daarom is het nodig.

Zonder de bootloader:

-De microcontroller KAN nog steeds GEPROGRAMMEERD WORDEN! (ja, dat is mogelijk), maar je hebt een speciale AVR-programmeur nodig om dat te doen. En het is niet goedkoop!

- Het kan niet worden geprogrammeerd via de Arduino IDE.

Ondersteunde bootloaders van deze methode:

Atmega8 (1024 bytes)

Atmega168 Optiboot (512 bytes)

Atmega328 Optiboot (voor Uno etc. op 16 MHz) (512 bytes)

Atmega328 (8 MHz) voor Lilypad etc. (2048 bytes)

Atmega32U4 voor Leonardo (4096 bytes) Atmega1280 Optiboot (1024 bytes)

Atmega1284 Optiboot (1024 bytes)

Atmega2560 met fixes voor watchdog-timerprobleem (8192 bytes)

Atmega16U2 - de bootloader op de USB-interfacechip van de Uno

Atmega256RFR2 - de bootloader op het Pinoccio Scout-bord

De code voor de volgende bootloaders is opgenomen in de schets en wordt gedownload afhankelijk van welke handtekening wordt gedetecteerd.

We hebben dus alles wat we nodig hebben.

Stap 3: Arduino Sketches Master

Arduino schetst meester
Arduino schetst meester
Arduino schetst meester
Arduino schetst meester
Arduino schetst meester
Arduino schetst meester

Allereerst heb je de arduino-bibliotheek nodig.

Download het hier:

Of download het hier.

Nadat je het hebt gedownload, pak je het uit naar Arduino-bibliotheken en zoek je naar Board Programmer. Open het en voer Board Programmer.ino uit.

Stap 4: De hardware-installatie

De hardware-instellingen
De hardware-instellingen
De hardware-installatie
De hardware-installatie
De hardware-installatie
De hardware-installatie
De hardware-installatie
De hardware-installatie

Er zijn 3 manieren om de bedrading voor het programmeren aan te sluiten:

- Gebruik het AVR ISP-schild

- Arduino A naar Arduino B

- En de breadboard-methode

Op de foto zie je hoe je moet aansluiten. Op het breadboard zijn de keramische condensatoren niet echt nodig, maar het 16Mhz-kristal moet worden toegevoegd.

Ik gebruik deze keer mijn AVR ISP-schild.

Het doel van deze methode is dat het programma de seriële monitor gebruikt om toegang te krijgen tot het flashgeheugen om de Optiboot (bootloader) te schrijven

Stap 5: De programmering

De programmering!
De programmering!
De programmering!
De programmering!

Nadat de hardwareconfiguratie is voltooid, voert u Board Programmer.ino uit!

Compileer en upload naar je Arduino, maar sluit het venster niet!! Je zult het nodig hebben:)

Het uploaden duurt enkele seconden.

Stap 6: Koppel los

Nadat je de schets hebt geüpload, verwijder je de Arduino van je pc en sluit je alles aan als je van plan bent dit op het breadboard te doen.

Als u het AVR-schild gebruikt, plaatst u de Atmega-chip in de ZIF-socket en "vergrendelt" u deze.

Heel belangrijk: Zolang de hardware niet is ingesteld, mag de processor geen VCC krijgen!! Zo riskeert u schade!!

Stap 7: Verbinden

Aansluiten!
Aansluiten!

OK! De hardware is ingesteld en alles is op zijn plaats, we verbinden de Arduino met de pc.

Open vervolgens de Seriële monitor en stel de baudrate 115200 in en je zult dit zien.

In de seriële monitor kun je zien dat de Arduino in de programmeermodus is gekomen. Koel!!:)

Omdat we Uno (Atmega328P) willen programmeren, typt u een "U" in de berichtprompt en drukt u op enter.

Stap 8: Programmeerstatus

Programmeerstatus!
Programmeerstatus!

In het volgende venster ziet u dit.

We zullen niet stoppen of verifiëren, typ een G en druk op enter!

Stap 9: Het plezier begint!:)

Het plezier begint!:)
Het plezier begint!:)

Nadat je op enter hebt gedrukt, zie je dit:

Chip wissen … Bootloader schrijven …

Pagina vastleggen vanaf 0x7E00 Pagina vastleggen vanaf 0x7E80

Pagina vastleggen vanaf 0x7F00

Pagina vastleggen vanaf 0x7F80

Geschreven. Verifiëren …

Geen fouten gevonden.

Schrijven van zekeringen …LFuse = 0xFF

HFgebruik = 0xDE

EFgebruik = 0xFD

Lock byte = 0xEF Klokkalibratie = 0x9E

Gedaan.

Programmeermodus uit. Typ 'C' wanneer u klaar bent om verder te gaan met een andere chip …

En fijne dag!!:D Je Atmega328P-chip is nu klaar om schetsen te uploaden!

Dit was toch makkelijk?:)

Stap 10: Een nieuwe chip

Als u een andere chip wilt programmeren, koppelt u Arduino los van uw pc, vervangt u de chip door een lege. Sluit Arduino opnieuw aan en voer de stappen opnieuw uit.

Als de seriële monitor niet reageert na het opnieuw aansluiten van de Arduino, raak dan niet in paniek, sluit hem en open een nieuwe.

Stap 11: DISCLAIMER

IK HEB DIT NIETS VAN!! Alle eer gaat naar Nick Gammon!!

Ik heb zojuist deze methode laten zien in deze Instructable.

Ik hoop dat u dit nuttig zult vinden.

Prettige dag.

Stap 12: Wanneer er rare dingen gebeuren

Wanneer rare dingen gebeuren
Wanneer rare dingen gebeuren
Wanneer rare dingen gebeuren
Wanneer rare dingen gebeuren

Onlangs ontving ik deze Arduino Nano met Atmega328P-MU processor.

Dus ik heb geprobeerd er een schets naar te uploaden, maar dat lukte niet. De processor reageerde nergens op met opties Atmega328.

OKE! Dus misschien is de bootloader beschadigd en moet deze opnieuw worden geschreven. Ik heb het aangesloten met een andere arduino en de bootloader laten branden. Nog steeds niets……!!!!

Ok dan, ik heb een rem nodig (koffie en een sigaret)!! Als laatste kans heb ik Arduino Uno weer als doelwit gekozen. Upload voltooid:D

Op dit moment heb ik een Nano die werkt als een Arduino Uno. Ik weet niet waarom dit gebeurde, maar ik denk dat dit komt door de handtekening van de processor. Hoe dan ook, het maakte mijn dag echt goed en het is een beetje grappig:)

Aanbevolen: