Innehållsförteckning:

Atmega328P-PU Bootloader (Optiboot) Brännguide: 12 steg
Atmega328P-PU Bootloader (Optiboot) Brännguide: 12 steg

Video: Atmega328P-PU Bootloader (Optiboot) Brännguide: 12 steg

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

Ännu en Atmega bootloader som bränner giude. Men den här gången satsar jag på det första försöket att du kommer att lyckas !!

Detta är Nick Gammons bootloader -bränningshandledning för Arduino -kort.

Steg 1: Några ord

Några ord
Några ord

Atmega328P-PU mikrokontroller är en av de mest populära Arduino-chipsen som används i ett brett sortiment över hela världen. Men viktigast av allt gör de bara benen Atmega fortfarande vad standard Uno R3 kan göra. Den främsta anledningen till att jag älskar denna mikrokontroller är läget "Low Power". Jag har skrivit några nya skisser för några sensorer och jag testar dem ett tag nu.

På några år när jag började spela med Arduino var min första beställning en Atmega328P mikrokontroller. Senare insåg jag att de jag beställde från Aliexpress är tomma chips. Markerna är väldigt billiga på Ali, du kan köpa dem från 1,40 $. Men de har inte innehållit Uno Bootloader (Optiboot) och utan det kunde jag inte ladda upp några skisser. Tuff paus ha ?? !! Det var en riktigt kall dusch för mig …. Så jag letade efter ett sätt att bränna startladdaren i chipsen. Jag har provat 5 eller 6 metoder, men ingen tur. Efter en vecka hittade jag ett ämne på ett webbplatsforum som nämnde Nick Gammons bootloader -bränningshandledning. Första försöket och LYCKA !!: D Nu ska jag visa dig hur du enkelt bränner startladdaren till tomma Atmega328P-PU-chips utan att förstöra saker i Arduino IDE.

Steg 2: Vad är bootloader? (Optiboot)

Bootloader är ett litet program (HEX -fil, 0.5Kbyte) som låter dig ladda upp skisser till flashminnet direkt från Arduino IDE. HEX -filen körs alltid före huvudprogrammet och det är därför den behövs.

Utan bootloader:

-Mikrokontrollern kan fortfarande PROGRAMMERAS! (Ja, det är möjligt), men du behöver en dedikerad AVR -programmerare för att göra det. Och det är inte billigt!

- Det kan inte programmeras via Arduino IDE.

Bootloaders som stöds av den här metoden:

Atmega8 (1024 byte)

Atmega168 Optiboot (512 byte)

Atmega328 Optiboot (för Uno etc. vid 16 MHz) (512 byte)

Atmega328 (8 MHz) för Lilypad etc. (2048 byte)

Atmega32U4 för Leonardo (4096 byte) Atmega1280 Optiboot (1024 byte)

Atmega1284 Optiboot (1024 byte)

Atmega2560 med korrigeringar för problem med vakthundstimern (8192 byte)

Atmega16U2 - bootloader på USB -gränssnittets chip i Uno

Atmega256RFR2 - bootloader på Pinoccio Scout board

Koden för följande startladdare ingår i skissen och laddas ner beroende på vilken signatur som upptäcks.

Så vi har allt vi behöver.

Steg 3: Arduino Sketches Master

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

Först och främst behöver du arduino -biblioteket.

Ladda ner den härifrån:

Eller ladda ner den härifrån.

När du har laddat ner extraherar du den till Arduino libraries forlder och letar efter Board Programmer. Öppna den och kör Board Programmer.ino.

Steg 4: Maskinvaruinstallationen

Maskinvaruinstallationen
Maskinvaruinstallationen
Maskinvaruinstallationen
Maskinvaruinstallationen
Maskinvaruinstallationen
Maskinvaruinstallationen
Maskinvaruinstallationen
Maskinvaruinstallationen

Det finns tre sätt att ansluta till innan du programmerar:

- Använd AVR ISP -skölden

- Arduino A till Arduino B

- Och breadboard -metoden

På bilden kan du se hur du kopplar ihop. På brödbrädet behövs egentligen inte de keramiska kondensatorerna, men 16Mhz -kristallen måste läggas till.

Jag använder min AVR ISP -sköld den här gången.

Målet med denna metod är att programmet använder den seriella bildskärmen för att komma åt flashminnet för att skriva Optiboot (bootloader)

Steg 5: Programmeringen

Programmeringen!
Programmeringen!
Programmeringen!
Programmeringen!

När maskinvaruinstallationen är klar kör Board Programmer.ino!

Kompilera och ladda upp till din Arduino, men stäng inte fönstret !! Du kommer behöva det:)

Uppladdningen tar några sekunder.

Steg 6: Koppla bort

När du har laddat upp skissen kopplar du bort Arduino från din dator och kopplar ihop allt om du planerar att göra detta på brödbrädan.

Om du använder AVR -skärmen sätter du Atmega -chipet i ZIF -uttaget och "låser" det.

Mycket viktigt: Så länge hårdvaran inte är inställd får processorn inte få VCC !! På så sätt riskerar du en skada !!

Steg 7: Anslut

Ansluta!
Ansluta!

Ok! Hårdvaran är inställd och allt är på plats, vi ansluter Arduino till datorn.

Öppna sedan seriemonitorn och ställ in överföringshastigheten 115200 så ser du detta.

I seriemonitorn kan du se att Arduino har gått in i programmeringsläge. Häftigt!!:)

Eftersom vi vill programmera Uno (Atmega328P) skriver du ett "U" i meddelandefrågan och trycker på enter.

Steg 8: Programmeringsstat

Programmeringsstat!
Programmeringsstat!

I nästa fönster ser du detta.

Vi kommer inte att sluta eller verifiera, skriv ett G och tryck på enter!

Steg 9: Det roliga börjar!:)

Det roliga börjar!:)
Det roliga börjar!:)

Efter att ha tryckt på enter ser du detta:

Raderar chip … Skriver bootloader …

Åtagande sida som börjar med 0x7E00 Åtagande sida som börjar med 0x7E80

Åtagande sida från 0x7F00

Åtagande sida från 0x7F80

Skrivet. Verifierar …

Inga fel hittades.

Skriver säkringar … LFuse = 0xFF

HFuse = 0xDE

EFanvändning = 0xFD

Låsbyte = 0xEF Klocka kalibrering = 0x9E

Gjort.

Programmeringsläge av. Skriv 'C' när du är redo att fortsätta med ett annat chip …

Och glad dag !!: D Ditt Atmega328P -chip är nu redo att ladda upp skisser!

Det här var väl lätt?:)

Steg 10: Ett nytt chip

Om du vill programmera ett annat chip koppla bort Arduino från din dator, ersätt chipet med ett tomt. Anslut Arduino igen och gör stegen igen.

Om den seriella bildskärmen inte svarar efter att du har anslutit Arduino igen, var inte rädd, bara stäng den och öppna en ny.

Steg 11: FRISKRIVNING !

JAG ÄGER INGENTING AV DETTA !! All heder går till Nick Gammon !!

Jag visade precis denna metod i denna instruerbara.

Hoppas att du kommer att hitta detta användbart.

Ha en bra dag.

Steg 12: När konstiga saker händer

När konstiga saker händer
När konstiga saker händer
När konstiga saker händer
När konstiga saker händer

Nyligen fick jag denna Arduino Nano med Atmega328P-MU-processor.

Så jag har försökt ladda upp en skiss till den, men jag kunde inte. Processorn svarade inte på något med alternativ Atmega328.

ok! Så kanske bootloader är skadad och behöver skrivas om. Jag kopplade ihop den med en annan arduino och brände startladdaren. Fortfarande inget……!!!!

Ok då, jag behöver en broms (kaffe och en cigarett) !! Som en sista chans valde jag Arduino Uno igen som mål. Uppladdningen klar: D

För närvarande har jag en Nano som fungerar som en Arduino Uno. Jag vet inte varför detta hände men jag tror att det beror på processorsignaturen. Det gjorde i alla fall min dag och det är lite roligt:)

Rekommenderad: