Indholdsfortegnelse:

Atmega328P-PU Bootloader (Optiboot) Brændingsguide: 12 trin
Atmega328P-PU Bootloader (Optiboot) Brændingsguide: 12 trin

Video: Atmega328P-PU Bootloader (Optiboot) Brændingsguide: 12 trin

Video: Atmega328P-PU Bootloader (Optiboot) Brændingsguide: 12 trin
Video: M#1: Настройка ПЛК Outseal Mega с отладочной платой ATmega128 | Аутсил Дев. ПЛК Мега 2024, November
Anonim
Atmega328P-PU Bootloader (Optiboot) Burning Guide
Atmega328P-PU Bootloader (Optiboot) Burning Guide

Endnu en Atmega bootloader brænder giude. Men denne gang satser jeg på det første forsøg, du lykkes !!

Dette er Nick Gammons bootloader -brændevejledning til Arduino -tavler.

Trin 1: Et par ord

Et par ord
Et par ord

Atmega328P-PU mikrokontroller er en af de mest populære Arduino-chips, der bruges i en bred vifte over hele verden. Men vigtigst af alt gør de bare knogler Atmega stadig, hvad standard Uno R3 kan. Hovedårsagen til, at jeg elsker denne mikrokontroller, er tilstanden "Low Power". Jeg har skrevet nogle nye skitser til et par sensorer, og jeg tester dem et stykke tid nu.

Tilbage i et par år, da jeg begyndte at spille med Arduino, var min første ordre en Atmega328P mikrokontroller. Senere indså jeg, at dem, jeg bestilte fra Aliexpress, er tomme chips. Chipsene er meget billige på Ali, du kan købe dem fra 1,40 $. Men de har ikke indeholdt Uno Bootloader (Optiboot), og uden det kunne jeg ikke uploade nogen skitser. Hård pause ha ?? !! Det var et virkelig koldt brusebad for mig …. Så jeg ledte efter en måde at brænde bootloaderen ind i chipsene. Jeg har prøvet 5 eller 6 metoder, men uden held. Efter en uge fandt jeg et emne på et webstedsforum, der nævnte Nick Gammons bootloader -brændingstutorial. Første forsøg og succes !!: D Nu vil jeg vise dig, hvordan du nemt brænder bootloaderen til tomme Atmega328P-PU-chips uden at ødelægge ting i Arduino IDE.

Trin 2: Hvad er bootloaderen? (Optiboot)

Bootloaderen er et lille program (HEX -fil, 0,5Kbyte), der giver dig mulighed for at uploade skitser til flashhukommelsen direkte fra Arduino IDE. HEX -filen kører altid før hovedprogrammet, og det er derfor, det er nødvendigt.

Uden bootloader:

-Mikrokontrolleren KAN stadig programmeres! (Ja, det er muligt), men du skal bruge en dedikeret AVR -programmer til at gøre det. Og det er ikke billigt!

- Det kan ikke programmeres via Arduino IDE.

Understøttede bootloadere af denne metode:

Atmega8 (1024 bytes)

Atmega168 Optiboot (512 bytes)

Atmega328 Optiboot (til Uno etc. ved 16 MHz) (512 bytes)

Atmega328 (8 MHz) til Lilypad osv. (2048 bytes)

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

Atmega1284 Optiboot (1024 bytes)

Atmega2560 med rettelser til vagthund -timerproblem (8192 bytes)

Atmega16U2 - bootloaderen på USB -interfacechippen på Uno

Atmega256RFR2 - bootloaderen på Pinoccio Scout board

Koden til følgende bootloadere er indarbejdet i skitsen og downloades afhængigt af hvilken signatur der registreres.

Så vi har alt, hvad vi har brug for.

Trin 3: Arduino Sketches Master

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

Først og fremmest har du brug for arduino -biblioteket.

Download det herfra:

Eller download det herfra.

Når du har downloadet, skal du pakke det ud til Arduino libraries forlder og kigge efter Board Programmer. Åbn den og kør Board Programmer.ino.

Trin 4: Hardwareopsætningen

Hardwareopsætningen
Hardwareopsætningen
Hardwareopsætningen
Hardwareopsætningen
Hardwareopsætningen
Hardwareopsætningen
Hardwareopsætningen
Hardwareopsætningen

Der er 3 måder at tilslutte før programmering:

- Brug AVR ISP -skjoldet

- Arduino A til Arduino B

- Og breadboard -metoden

På billedet kan du se, hvordan du kabler. På brødbrættet er de keramiske kondensatorer ikke rigtig nødvendige, men 16Mhz krystal skal tilføjes.

Jeg bruger mit AVR ISP -skjold denne gang.

Målet med denne metode er, at programmet bruger den serielle skærm til at få adgang til flashhukommelsen til at skrive Optiboot (bootloader)

Trin 5: Programmeringen

Programmeringen!
Programmeringen!
Programmeringen!
Programmeringen!

Når hardwareopsætningen er fuldført, køre Board Programmer.ino!

Kompiler og upload til din Arduino, men luk ikke vinduet !! Du får brug for det:)

Upload vil tage et par sekunder.

Trin 6: Afbryd forbindelsen

Når du har uploadet skitsen, skal du afbryde Arduino fra din pc og koble alt til, hvis du planlægger at gøre dette på brødbrættet.

Hvis du bruger AVR -skjoldet, skal du sætte Atmega -chippen i ZIF -stikket og "låse" den ned.

Meget vigtigt: Så længe hardwaren ikke er konfigureret, må processoren ikke få VCC !! På den måde risikerer du en skade !!

Trin 7: Tilslut

Forbinde!
Forbinde!

Okay! Hardwaren er sat op, og alt er på plads, vi forbinder Arduino til pc'en.

Åbn derefter den serielle skærm og indstil baudhastigheden 115200, og du vil se dette.

I den serielle skærm kan du se, at Arduino er gået i programmeringstilstand. Fedt nok!!:)

Da vi vil programmere Uno (Atmega328P), skal du skrive et "U" på meddelelsesprompten og trykke på enter.

Trin 8: Programmeringstilstand

Programmeringstilstand!
Programmeringstilstand!

I det næste vindue vil du se dette.

Vi vil ikke afslutte eller verificere, skriv et G og tryk enter!

Trin 9: Det sjove begynder!:)

Det sjove begynder!:)
Det sjove begynder!:)

Efter at have trykket enter vil du se dette:

Sletter chip … Skriver bootloader …

Forpligtende side, der starter med 0x7E00 Forpligter side, der starter med 0x7E80

Forpligtende side, der starter ved 0x7F00

Forpligtelsesside fra 0x7F80

Skrevet. Verificering …

Ingen fejl fundet.

Skriver sikringer … LFuse = 0xFF

HFuse = 0xDE

EFuse = 0xFD

Lås byte = 0xEF Urkalibrering = 0x9E

Færdig.

Programmeringstilstand slukket. Skriv 'C', når du er klar til at fortsætte med en anden chip …

Og god dag !!: D Din Atmega328P -chip er nu klar til at uploade skitser!

Det var let, ikke sandt?:)

Trin 10: En ny chip

Hvis du vil programmere en anden chip, skal du afbryde Arduino fra din pc, skal du udskifte chippen med en tom. Tilslut Arduino igen, og udfør trinene igen.

Hvis den serielle skærm ikke reagerer efter tilslutning af Arduino, skal du ikke gå i panik, bare lukke den og åbne en ny.

Trin 11: ANSVARSFRASKRIVELSE

JEG EJER IKKE NOGET AF DETTE !! Al æren går til Nick Gammon !!

Jeg viste lige denne metode i denne Instructable.

Håber du finder dette nyttigt.

Hav en god dag.

Trin 12: Når der sker mærkelige ting

Når mærkelige ting sker
Når mærkelige ting sker
Når mærkelige ting sker
Når mærkelige ting sker

For nylig modtog jeg denne Arduino Nano med Atmega328P-MU processor.

Så jeg har prøvet at uploade en skitse til den, men jeg kunne ikke. Processoren reagerede ikke på noget med muligheder Atmega328.

OKAY! Så måske er bootloaderen beskadiget og har brug for en omskrivning. Jeg koblet den sammen med en anden arduino og brændte bootloaderen. Stadig ingenting……!!!!

Okay, så har jeg brug for en bremse (kaffe og en cigaret) !! Som en sidste chance valgte jeg Arduino Uno igen som mål. Upload fuldført: D

På nuværende tidspunkt har jeg en Nano, der fungerer som en Arduino Uno. Jeg ved ikke, hvorfor dette skete, men jeg tror, det er på grund af processorsignaturen. Det gjorde i hvert fald virkelig min dag, og det er lidt sjovt:)

Anbefalede: