Tartalomjegyzék:

Atmega328P-PU Bootloader (Optiboot) írási útmutató: 12 lépés
Atmega328P-PU Bootloader (Optiboot) írási útmutató: 12 lépés

Videó: Atmega328P-PU Bootloader (Optiboot) írási útmutató: 12 lépés

Videó: Atmega328P-PU Bootloader (Optiboot) írási útmutató: 12 lépés
Videó: How To Run Atmega 328,168,88,8 without XTAL, How to Burn bootloader on Atmega without crystal, xtal 2024, November
Anonim
Atmega328P-PU Bootloader (Optiboot) írási útmutató
Atmega328P-PU Bootloader (Optiboot) írási útmutató

Egy újabb Atmega bootloader éget. De ezúttal fogadok az első kísérletre, hogy sikerül !!

Ez Nick Gammons bootloader író oktatóanyag az Arduino táblákhoz.

1. lépés: Néhány szó

Néhány szó
Néhány szó

Az Atmega328P-PU mikrokontroller az egyik legnépszerűbb Arduino chip, amelyet világszerte széles körben használnak. De ami a legfontosabb: az Atmega csupasz csontjai azt teszik, amit a szabványos Uno R3 képes. A fő ok, amiért szeretem ezt a mikrokontrollert, az "alacsony fogyasztású" mód. Írtam néhány új vázlatot néhány érzékelőhöz, és most tesztelem őket.

Néhány év múlva, amikor elkezdtem játszani az Arduino -val, az első rendelésem egy Atmega328P mikrokontroller volt. Később rájöttem, hogy az Aliexpress -ből rendelt üres chipek. A chipek nagyon olcsók az Ali -nál, 1.40 dollártól vásárolhatók meg. De nem tartalmazták az Uno Bootloadert (Optiboot), és anélkül nem tudtam vázlatokat feltölteni. Kemény szünet ha ?? !! Nagyon hideg zuhany volt számomra…. Próbáltam 5-6 módszert, de nem jártam sikerrel. Egy hét után találtam egy témát egy weboldal fórumán, amely Nick Gammon rendszerbetöltő -író oktatóanyagát említette. Első próbálkozás és SIKER !!: D Most megmutatom, hogyan lehet a rendszerbetöltőt egyszerűen üres Atmega328P-PU chipekre írni anélkül, hogy elrontaná az Arduino IDE-ben lévő dolgokat.

2. lépés: Mi az a Bootloader? (Optiboot)

A rendszerbetöltő egy kisméretű program (HEX fájl, 0,5 KBbyte), amely lehetővé teszi vázlatok feltöltését a flash memóriába közvetlenül az Arduino IDE -ből. A HEX fájl mindig a főprogram előtt fut, ezért van rá szükség.

A rendszerbetöltő nélkül:

-A mikrokontroller továbbra is programozható! (Igen, lehetséges), de ehhez egy dedikált AVR programozóra van szüksége. És nem olcsó!

- Nem programozható az Arduino IDE -n keresztül.

Ennek a módszernek a támogatott rendszerbetöltői:

Atmega8 (1024 bájt)

Atmega168 Optiboot (512 bájt)

Atmega328 Optiboot (Uno stb. 16 MHz -en) (512 bájt)

Atmega328 (8 MHz) Lilypad stb. (2048 bájt)

Atmega32U4 Leonardo számára (4096 bájt) Atmega1280 Optiboot (1024 bájt)

Atmega1284 Optiboot (1024 bájt)

Atmega2560 javításokkal a watchdog időzítő problémájához (8192 bájt)

Atmega16U2 - a rendszerbetöltő az Uno USB interfész chipjén

Atmega256RFR2 - a betöltő a Pinoccio Scout táblán

A következő rendszerbetöltők kódja beépül a vázlatba, és attól függően kerül letöltésre, hogy melyik aláírást észleli.

Tehát mindenünk megvan, amire szükségünk van.

3. lépés: Arduino Sketches Master

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

Először is szüksége van az arduino könyvtárra.

Töltse le innen:

Vagy töltse le innen.

Miután letöltötte, vegye ki az Arduino könyvtárak forlder programba, és keresse meg a Board Programmer alkalmazást. Nyissa meg, és futtassa a Board Programmer.ino -t.

4. lépés: A hardver beállítása

A hardver beállítása
A hardver beállítása
A hardver beállítása
A hardver beállítása
A hardver beállítása
A hardver beállítása
A hardver beállítása
A hardver beállítása

A programozás előtt 3 módon lehet vezetéket kötni:

- Használja az AVR ISP pajzsot

- Arduino A - Arduino B

- És a kenyeretábla módszer

A képen látható, hogyan kell bekötni. A kenyértáblán a kerámia kondenzátorokra nincs igazán szükség, de hozzá kell adni a 16 MHz -es kristályt.

Ezúttal az AVR ISP pajzsomat használom.

Ennek a módszernek az a célja, hogy a program a soros monitort használja a flash memória eléréséhez az Optiboot (bootloader) írásához

5. lépés: A programozás

A programozás!
A programozás!
A programozás!
A programozás!

A hardver beállításának befejezése után futtassa a Board Programmer.ino!

Fordítsa össze és töltse fel az Arduino -jába, de ne zárja be az ablakot !! Szükséged lesz rá:)

A feltöltés néhány másodpercet vesz igénybe.

6. lépés: Szüntesse meg a kapcsolatot

Miután feltöltötte a vázlatot, szüntesse meg az Arduino -t a számítógépről, és kössön össze mindent, ha ezt a kenyértáblán tervezi.

Ha az AVR pajzsot használja, tegye az Atmega chipet a ZIF foglalatba, és „zárja le”.

Nagyon fontos: Amíg a hardver nincs beállítva, a processzor nem kaphat VCC -t !! Így kárt szenvedsz !!

7. lépés: Csatlakozzon

Csatlakozz!
Csatlakozz!

Rendben! A hardver be van állítva, és minden a helyén van, és csatlakoztatjuk az Arduino -t a számítógéphez.

Ezután nyissa meg a soros monitort, és állítsa be az 115200 átviteli sebességet, és ezt látni fogja.

A soros monitoron láthatja, hogy az Arduino programozási módba lépett. Menő!!:)

Mivel az Uno -t (Atmega328P) akarjuk programozni, írja be az "U" betűt az üzenetsorba, és nyomja meg az Enter billentyűt.

8. lépés: Programozási állapot

Programozó állam!
Programozó állam!

A következő ablakban ezt fogja látni.

Nem hagyjuk abba, vagy ellenőrizzük, gépeljünk G -t, és nyomjuk meg az Enter billentyűt!

9. lépés: Kezdődik a móka!:)

Kezdődik a mulatság!:)
Kezdődik a mulatság!:)

Belépés után ezt látod:

Chip törlése… Rendszerbetöltő írása…

Kötelező oldal 0x7E00 -tól kezdődően Elkötelezett oldal 0x7E80 -tól

Kötelező oldal 0x7F00 -tól

Kötelező oldal 0x7F80 -tól

Írva. Ellenőrzés…

Nem található hiba.

Biztosítékok írása… LFuse = 0xFF

HFuse = 0xDE

EFuse = 0xFD

Lock byte = 0xEF Az óra kalibrálása = 0x9E

Kész.

A programozási mód ki van kapcsolva. Írja be a „C” gombot, ha készen áll egy másik chip használatával folytatni…

És boldog napot !!: D Az Atmega328P chip most kész a vázlatok feltöltésére!

Ez könnyű volt nem?:)

10. lépés: Új chip

Ha másik chipet szeretne programozni, válassza le az Arduino -t a számítógépről, cserélje ki a chipet egy üresre. Csatlakoztassa újra az Arduino -t, és ismételje meg a lépéseket.

Ha a soros monitor nem reagál az Arduino újbóli csatlakoztatása után, ne essen pánikba, csak zárja be, és nyisson újat.

11. lépés: NYILATKOZAT

NEM TUDOK EZT SEMMIT !! Minden elismerés Nick Gammoné !!

Ezt a módszert most mutattam meg ebben az utasításban.

Remélem, ezt hasznosnak találja.

Legyen szép napod.

12. lépés: Amikor furcsa dolgok történnek

Amikor furcsa dolgok történnek
Amikor furcsa dolgok történnek
Amikor furcsa dolgok történnek
Amikor furcsa dolgok történnek

Nemrég kaptam ezt az Arduino Nano-t Atmega328P-MU processzorral.

Tehát megpróbáltam feltölteni egy vázlatot, de nem tudtam. A processzor semmit sem reagált az Atmega328 opciókkal.

RENDBEN! Tehát lehet, hogy a rendszerbetöltő sérült, és újra kell írni. Összekötöttem egy másik arduino -val, és elindítottam a rendszerbetöltőt. Még mindig semmi……!!!!

Ok, akkor szükségem van egy fékre (kávé és cigaretta) !! Utolsó lehetőségként ismét az Arduino Uno -t választottam célpontnak. A feltöltés kész: D

Jelenleg van egy Nano -m, amely úgy működik, mint egy Arduino Uno. Nem tudom, miért történt ez, de azt hiszem, ez a processzor aláírása miatt van. Egyébként nagyon feldobta a napomat, és kicsit vicces is:)

Ajánlott: