Cov txheej txheem:

Atmega328P-PU Bootloader (Optiboot) Hlawv Qhia: 12 Cov Kauj Ruam
Atmega328P-PU Bootloader (Optiboot) Hlawv Qhia: 12 Cov Kauj Ruam

Video: Atmega328P-PU Bootloader (Optiboot) Hlawv Qhia: 12 Cov Kauj Ruam

Video: Atmega328P-PU Bootloader (Optiboot) Hlawv Qhia: 12 Cov Kauj Ruam
Video: Загрузка Bootloader от Arduino Uno в микроконтроллер AVR ATmega328 2024, Kaum ib hlis
Anonim
Atmega328P-PU Bootloader (Optiboot) Hlawv Qhia
Atmega328P-PU Bootloader (Optiboot) Hlawv Qhia

Tseem muaj lwm qhov Atmega bootloader hlawv giude. Tab sis lub sijhawm no kuv twv thawj qhov kev sim koj yuav ua tiav !!

Nov yog Nick Gammons bootloader hlawv qhia rau Arduino cov laug cam.

Kauj ruam 1: Ob peb lo lus

Ob peb lo lus
Ob peb lo lus

Atmega328P-PU microcontroller yog ib qho ntawm Arduino chips uas nrov tshaj plaws uas tau siv thoob plaws ntiaj teb. Tab sis qhov tseem ceeb tshaj plaws pob txha liab qab Atmega tseem ua dab tsi tus qauv Uno R3 tuaj yeem ua tau. Qhov laj thawj tseem ceeb vim li cas kuv nyiam lub microcontroller no yog "Low Power" hom. Kuv tau sau qee qhov kev kos duab tshiab rau ob peb lub ntsuas thiab kuv tab tom sim lawv rau lub sijhawm tam sim no.

Rov qab hauv ob peb xyoos thaum kuv pib ua si nrog Arduino kuv thawj qhov kev xaj yog Atmega328P microcontroller. Tom qab ntawd kuv pom tau tias cov uas kuv xaj los ntawm Aliexpress yog cov khoob khoob. Cov chips yog pheej yig heev ntawm Ali, koj tuaj yeem yuav lawv los ntawm 1.40 $. Tab sis lawv tsis muaj Uno Bootloader (Optiboot) thiab tsis muaj nws kuv tsis tuaj yeem rub tawm cov duab kos. Tough break ha ha haaaaaaaaa !!? Nws yog da dej txias heev rau kuv ……. Yog li kuv tau tshawb nrhiav txoj hauv kev los hlawv lub bootloader rau hauv cov chips. Kuv tau sim 5 lossis 6 txoj hauv kev, tab sis tsis muaj hmoo. Tom qab ib lub lim tiam kuv pom cov ncauj lus ntawm lub vev xaib lub vev xaib uas hais txog Nick Gammon's bootloader hlawv nyeem. Thawj zaug sim thiab ua tiav !!: D Tam sim no kuv yuav qhia koj yuav ua li cas hlawv lub bootloader kom khoob Atmega328P-PU chips yooj yim yam tsis muaj kev cuam tshuam cov khoom hauv Arduino IDE.

Kauj ruam 2: Tus Bootloader yog dab tsi? (Optiboot)

Lub bootloader yog qhov haujlwm me me (HEX file, 0.5Kbyte) uas tso cai rau koj rub cov duab kos rau lub cim xeeb flash ncaj qha los ntawm Arduino IDE. Cov ntaub ntawv HEX ib txwm sau ua ntej txoj haujlwm tseem ceeb thiab yog vim li cas nws thiaj xav tau.

Tsis muaj bootloader:

-Cov microcontroller tseem tuaj yeem tsim kho tau! Thiab nws tsis yog pheej yig!

- Nws tsis tuaj yeem ua haujlwm los ntawm Arduino IDE.

Txhawb bootloaders ntawm txoj kev no:

Atmega8 (1024 bytes) cov

Atmega168 Optiboot (512 bytes)

Atmega328 Optiboot (rau Uno thiab lwm yam ntawm 16 MHz) (512 bytes)

Atmega328 (8 MHz) rau Lilypad thiab lwm yam (2048 bytes)

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

Atmega1284 Optiboot (1024 bytes)

Atmega2560 nrog kho rau teeb meem saib lub sijhawm timerog (8192 bytes)

Atmega16U2 - lub bootloader ntawm USB interface nti ntawm Uno

Atmega256RFR2 - lub bootloader ntawm Pinoccio Scout board

Cov cai rau cov bootloaders hauv qab no tau suav nrog hauv daim duab, thiab yuav rub tawm nyob ntawm seb qhov kos npe twg raug kuaj pom.

Yog li peb muaj txhua yam peb xav tau.

Kauj Ruam 3: Arduino Sketches Master

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

Ua ntej tshaj plaws koj xav tau lub tsev qiv ntawv arduino.

Rub nws los ntawm no:

Los yog rub nws los ntawm no.

Tom qab koj tau rub tawm nws mus rau Arduino cov tsev qiv ntawv forlder thiab saib rau Board Programmer. Qhib nws thiab khiav Board Programmer.ino.

Kauj Ruam 4: Teeb Kho Vajtse

Teeb Kho Vajtse
Teeb Kho Vajtse
Teeb Kho Vajtse
Teeb Kho Vajtse
Teeb Kho Vajtse
Teeb Kho Vajtse
Teeb Kho Vajtse
Teeb Kho Vajtse

Muaj 3 txoj hauv kev los xaim xov tooj ua ntej lub program:

- Siv daim thaiv AVR ISP

- Arduino A rau Arduino B.

- Thiab txoj kev breadboard

Ntawm daim duab koj tuaj yeem pom yuav xaim li cas. Ntawm daim ntawv qhia zaub mov cov khoom siv hluav taws xob tsis xav tau tiag tiag, tab sis yuav tsum ntxiv 16Mhz siv lead ua.

Kuv siv kuv daim AVR ISP daim ntaub thaiv lub sijhawm no.

Lub hom phiaj ntawm txoj kev no yog, qhov kev zov me nyuam tab tom siv lub koos pij tawj saib kom nkag tau lub cim xeeb nyem los sau Optiboot (bootloader)

Kauj ruam 5: Txoj Haujlwm

Txoj Haujlwm!
Txoj Haujlwm!
Txoj Haujlwm!
Txoj Haujlwm!

Tom qab teeb tsa kho vajtse tiav ua tiav Board Programmer.ino!

Sau thiab xa mus rau koj Arduino, tab sis tsis txhob kaw lub qhov rais !! Koj yuav xav tau nws:)

Kev rub tawm yuav siv ob peb feeb.

Kauj ruam 6: Disconnect

Tom qab koj rub tawm daim duab tsis txaus siab Arduino los ntawm koj lub PC thiab xaim txhua yam yog tias koj npaj yuav ua qhov no ntawm lub khob cij.

Yog tias koj siv daim npog AVR tso Atmega nti hauv ZIF lub qhov (socket) thiab "xauv" nws.

Tseem ceeb heev: Tsuav tus kho vajtse tsis tau teeb tsa, tus txheej txheem yuav tsum tsis tau txais VCC !! Txoj kev ntawd koj yuav raug puas tsuaj !!

Kauj ruam 7: Txuas

Txuas!
Txuas!

Ok! Kho vajtse tau teeb tsa thiab txhua yam nyob hauv qhov chaw peb txuas Arduino mus rau PC.

Tom ntej qhib Serial saib thiab teeb tsa tus nqi baud 115200 thiab koj yuav pom qhov no.

Hauv cov ntawv saib xyuas koj tuaj yeem pom tias Arduino tau nkag mus rau hom kev ua haujlwm. Txias !!:)

Txij li thaum peb xav ua haujlwm Uno (Atmega328P) ntaus tus "U" ntawm cov lus hauv kab lus thiab ntaus nkag.

Kauj Ruam 8: Lub Xeev Txoj Haujlwm

Lub Xeev Txoj Haujlwm!
Lub Xeev Txoj Haujlwm!

Hauv lub qhov rai tom ntej koj yuav pom qhov no.

Peb yuav tsis tso tseg lossis pov thawj, ntaus G thiab ntaus nkag mus!

Kauj ruam 9: Kev lom zem pib!:)

Kev lom zem pib!:)
Kev lom zem pib!:)

Tom qab ntaus nkag koj yuav pom qhov no:

Erasing nti … Sau bootloader …

Ua nplooj ntawv pib ntawm 0x7E00Committing nplooj pib ntawm 0x7E80

Ua nplooj ntawv pib ntawm 0x7F00

Ua nplooj ntawv pib ntawm 0x7F80

Sau. Verifying…

Tsis pom qhov yuam kev.

Sau fuses… LFuse = 0xFF

HFuse = 0xDE

EFuse = 0xFD

Xauv byte = 0xEF Clock calibration = 0x9E

Ua tiav

Hom phiaj hom tawm. Type 'C' thaum npaj mus txuas ntxiv nrog lwm tus nti …

Thiab zoo siab hnub !!: D Koj li Atmega328P nti yog tam sim no npaj rau rub cov duab kos!

Qhov no yooj yim tsis yog nws?:)

Kauj ruam 10: Chip tshiab

Yog tias koj xav ua haujlwm rau lwm lub nti tshem tawm Arduino los ntawm koj lub PC, hloov lub nti nrog qhov tsis muaj dab tsi. Reconnect Arduino thiab ua cov kauj ruam dua.

Yog tias lub ntsuas saib tsis teb tom qab txuas nrog Arduino, tsis txhob poob siab tsuas yog kaw nws thiab qhib qhov tshiab.

Kauj ruam 11: DISCLAIMER

Kuv tsis yog tus tswv ntawm qhov no !! Txhua qhov credit mus rau Nick Gammon !!

Kuv nyuam qhuav qhia txoj hauv kev no Qhia.

Vam tias koj yuav pom qhov no muaj txiaj ntsig.

Muaj ib hnub zoo.

Kauj Ruam 12: Thaum Cov Khoom Tsis Zoo tshwm sim

Thaum Muaj Qhov Tsis Zoo tshwm sim
Thaum Muaj Qhov Tsis Zoo tshwm sim
Thaum Muaj Qhov Tsis Zoo tshwm sim
Thaum Muaj Qhov Tsis Zoo tshwm sim

Tsis ntev los no kuv tau txais Arduino Nano nrog Atmega328P-MU processor.

Yog li kuv tau sim xa cov duab kos rau nws, tab sis kuv ua tsis tau. Tus txheej txheem tsis teb rau ib yam dab tsi nrog kev xaiv Atmega328.

OK! Yog li tej zaum bootloader tau ua tsis ncaj thiab xav tau kev sau dua tshiab. Kuv txuas nws nrog lwm tus arduino thiab ua tiav bootloader hlawv. Tseem tsis muaj dab tsi …… !!!!

Ua li ntawd, kuv xav tau tus nres (kas fes thiab luam yeeb) !! Raws li lub sijhawm kawg kuv xaiv Arduino Uno dua raws li lub hom phiaj. Upload tiav: D

Lub sijhawm no kuv muaj Nano uas ua haujlwm zoo li Arduino Uno. Kuv tsis paub yog vim li cas qhov no tshwm sim tab sis kuv xav tias qhov no yog vim tus Txheej Txheem kos npe. Xijpeem nws ua rau kuv hnub thiab nws yog qhov txaus luag me ntsis:)

Pom zoo: