Բովանդակություն:

Atmega328P-PU Bootloader (Optiboot) այրման ուղեցույց. 12 քայլ
Atmega328P-PU Bootloader (Optiboot) այրման ուղեցույց. 12 քայլ

Video: Atmega328P-PU Bootloader (Optiboot) այրման ուղեցույց. 12 քայլ

Video: Atmega328P-PU Bootloader (Optiboot) այրման ուղեցույց. 12 քայլ
Video: HOW TO BURN BOOTLOADER IN ATMEGA328P MICROCONTROLLER . HELP OF USING ARDUINO UNO 2024, Նոյեմբեր
Anonim
Atmega328P-PU Bootloader (Optiboot) այրման ուղեցույց
Atmega328P-PU Bootloader (Optiboot) այրման ուղեցույց

Եվս մեկ Atmega bootloader այրող ջղայնություն: Բայց այս անգամ խաղադրույք եմ կատարում առաջին փորձի վրա, որ դու հաջողության կհասնես !!

Սա Nick Gammons bootloader- ի այրման ձեռնարկն է Arduino տախտակների համար:

Քայլ 1: Մի քանի բառ

Մի քանի բառ
Մի քանի բառ

Atmega328P-PU միկրոկառավարիչը Arduino- ի ամենահայտնի չիպերից մեկն է, որն օգտագործվում է ամբողջ աշխարհում լայն տեսականիով: Բայց ամենակարևորը Atmega- ի մերկ ոսկորները դեռ անում են այն, ինչ կարող է անել ստանդարտ Uno R3- ը: Հիմնական պատճառը, թե ինչու եմ սիրում այս միկրոկառավարիչը, «Powerածր էներգիայի» ռեժիմն է: Ես գրել եմ մի քանի նոր էսքիզներ մի քանի սենսորների համար և արդեն որոշ ժամանակ փորձարկում եմ դրանք:

Մի քանի տարի անց, երբ սկսեցի խաղալ Arduino- ի հետ, իմ առաջին պատվերը Atmega328P միկրոկոնտրոլերն էր: Ավելի ուշ ես հասկացա, որ Aliexpress- ից պատվիրածները դատարկ չիպսեր են: Չիպսերը շատ էժան են Ալիի վրա, դրանք կարող եք գնել 1.40 դոլարից: Բայց դրանք չեն պարունակում Uno Bootloader (Optiboot) և առանց դրա ես չէի կարող որևէ էսքիզ վերբեռնել: Դժվար ընդմիջում հա ?? !! Դա իսկապես ցուրտ ցնցուղ էր ինձ համար ……. Ուրեմն ես փնտրում էի մի միջոց, որը կարող էր այրել բեռնախցիկը չիպերի մեջ: Ես փորձել եմ 5 կամ 6 մեթոդ, բայց հաջողություն չունեմ: Մեկ շաբաթ անց ես վեբ կայքի ֆորումում գտա մի թեմա, որտեղ նշված էր Նիկ Գեմոնի բեռնախցիկի այրման ձեռնարկը: Առաջին փորձ և ՀԱCCՈՈԹՅՈՆ !!: D Այժմ ես ձեզ ցույց կտամ, թե ինչպես կարելի է հեշտությամբ այրել bootloader- ը դատարկ Atmega328P-PU չիպերի վրա ՝ առանց Arduino IDE- ի իրերը խառնաշփոթելու:

Քայլ 2: Ի՞նչ է Bootloader- ը: (Optiboot)

Բեռնիչը փոքր ծրագիր է (HEX ֆայլ, 0.5Kbyte), որը թույլ է տալիս էսքիզներ վերբեռնել ֆլեշ հիշողության մեջ անմիջապես Arduino IDE- ից: HEX ֆայլը միշտ աշխատում է հիմնական ծրագրից առաջ և դրա համար էլ անհրաժեշտ է:

Առանց bootloader:

-Միկրոկոնտրոլերը դեռ ԿԱՐՈ Է GRՐԱԳՐՎԵԼ (այո, դա հնարավոր է), բայց դա անելու համար ձեզ հարկավոր կլինի նվիրված AVR ծրագրավորող: Եվ դա էժան չէ!

- Այն չի կարող ծրագրավորվել Arduino IDE- ի միջոցով:

Այս մեթոդի աջակցվող բեռնիչ սարքերը.

Atmega8 (1024 բայթ)

Atmega168 Optiboot (512 բայթ)

Atmega328 Optiboot (Uno- ի համար և այլն ՝ 16 ՄՀց հաճախականությամբ) (512 բայթ)

Atmega328 (8 ՄՀց) Lilypad և այլն (2048 բայթ)

Atmega32U4 Լեոնարդոյի համար (4096 բայթ) Atmega1280 Optiboot (1024 բայթ)

Atmega1284 Optiboot (1024 բայթ)

Atmega2560 դիտորդի ժամաչափի խնդրի շտկումներով (8192 բայթ)

Atmega16U2 - բեռնիչը Uno- ի USB ինտերֆեյսի չիպի վրա

Atmega256RFR2 - բեռնիչը Pinoccio սկաուտական տախտակի վրա

Հետևյալ բեռնախցիկների ծածկագիրը ներառված է էսքիզում և ներբեռնվելու է ՝ կախված նրանից, թե որ ստորագրությունն է հայտնաբերվել:

Այսպիսով, մենք ունենք այն ամենը, ինչ մեզ պետք է:

Քայլ 3. Arduino Sketches Master

Arduino Էսքիզների վարպետ
Arduino Էսքիզների վարպետ
Arduino Էսքիզների վարպետ
Arduino Էսքիզների վարպետ
Arduino Էսքիզների վարպետ
Arduino Էսքիզների վարպետ

Առաջին հերթին ձեզ անհրաժեշտ է arduino գրադարանը:

Ներբեռնեք այն այստեղից ՝

Կամ ներբեռնեք այստեղից:

Ներբեռնելուց հետո հանեք այն Arduino գրադարանների համար և փնտրեք Board Programmer: Բացեք այն և գործարկեք Board Programmer.ino- ն:

Քայլ 4: Սարքաշարի տեղադրում

Սարքավորումների տեղադրում
Սարքավորումների տեղադրում
Սարքավորումների տեղադրում
Սարքավորումների տեղադրում
Սարքավորումների տեղադրում
Սարքավորումների տեղադրում
Սարքավորումների տեղադրում
Սարքավորումների տեղադրում

Programրագրավորումից առաջ միացման 3 եղանակ կա.

- Օգտագործեք AVR ISP վահանը

- Arduino A- ից Arduino B- ին

- Իսկ հացաթխման մեթոդը

Նկարում դուք կարող եք տեսնել, թե ինչպես կարելի է լարերը միացնել: Սեղանի վրա կերամիկական կոնդենսատորներն իրականում պետք չեն, բայց պետք է ավելացնել 16 ՄՀց բյուրեղ:

Այս անգամ ես օգտագործում եմ իմ AVR ISP վահանը:

Այս մեթոդի նպատակն այն է, որ ծրագիրը օգտագործում է սերիական մոնիտորը `ֆլեշ հիշողություն մուտք գործելու համար` Optiboot (bootloader) գրելու համար

Քայլ 5: mingրագրավորում:

Theրագրավորում!
Theրագրավորում!
Programրագրավորում!
Programրագրավորում!

Սարքաշարի տեղադրումն ավարտվելուց հետո գործարկեք Board Programmer.ino- ն:

Կազմեք և վերբեռնեք ձեր Arduino- ում, բայց մի փակեք պատուհանը !! Ձեզ պետք կգա:)

Վերբեռնումը կտևի մի քանի վայրկյան:

Քայլ 6: Անջատեք:

Arduino- ի էսքիզը բեռնելուց հետո ձեր համակարգչից և լարեք ամեն ինչ, եթե պլանավորում եք դա անել հացահատիկի վրա:

Եթե օգտագործում եք AVR վահանը, տեղադրեք Atmega չիպը ZIF վարդակից և «կողպեք» այն:

Շատ կարևոր. Քանի դեռ ապարատը կարգավորված չէ, պրոցեսորը չպետք է ստանա VCC !! Այդ կերպ դուք ռիսկի եք դիմում վնասի !!

Քայլ 7: Միացեք:

Միացե՛ք
Միացե՛ք

Լավ! Սարքավորումը տեղադրված է, և ամեն ինչ տեղում է, մենք Arduino- ն միացնում ենք համակարգչին:

Հաջորդը բացեք Սերիայի մոնիտորը և սահմանեք baoud փոխարժեքը 115200 և կտեսնեք սա:

Սերիական մոնիտորում կարող եք տեսնել, որ Arduino- ն մտել է ծրագրավորման ռեժիմ: Թույն !!:)

Քանի որ մենք ցանկանում ենք ծրագրավորել Uno (Atmega328P) հաղորդագրության տողում մուտքագրեք «U» և սեղմեք enter:

Քայլ 8: mingրագրավորման պետություն:

Mingրագրավորման պետություն!
Mingրագրավորման պետություն!

Հաջորդ պատուհանում դուք կտեսնեք սա:

Մենք դուրս չենք գա կամ չենք հաստատի, մուտքագրեք G և սեղմեք enter:

Քայլ 9: Funվարճանքը սկսվում է::)

Theամանցը սկսվում է::)
Theամանցը սկսվում է::)

Enter- ին հարվածելուց հետո կտեսնեք սա.

Չիպը ջնջելը… Բեռնիչ գրելը…

0x7E00- ից սկսվող պարտավորվող էջ

Պարտավորության էջ ՝ սկսած 0x7F00- ից

Պարտավորության էջ ՝ սկսած 0x7F80- ից

Գրված է: Հաստատում…

Սխալներ չեն գտնվել:

Ապահովիչներ գրելը… LFuse = 0xFF

HFuse = 0xDE

EFuse = 0xFD

Կողպել բայթ = 0xEF ockամացույցի չափաբերում = 0x9E

Կատարած.

Programրագրավորման ռեժիմն անջատված է: Մուտքագրեք 'C', երբ պատրաստ եք շարունակել մեկ այլ չիպով…

Եվ ուրախ օր !!: D Ձեր Atmega328P չիպն այժմ պատրաստ է էսքիզներ վերբեռնելու:

Սա հեշտ էր, այնպես չէ՞::)

Քայլ 10: Նոր չիպ:

Եթե ցանկանում եք ծրագրավորել Arduino- ն ձեր համակարգչից անջատելու մեկ այլ չիպ, փոխարինեք չիպը դատարկով: Միացրեք Arduino- ն և նորից կատարեք քայլերը:

Եթե սերիական մոնիտորը չի արձագանքում Arduino- ին միացնելուց հետո, մի խուճապի մատնվեք, պարզապես փակեք այն և բացեք նորը:

Քայլ 11: ՀՐԱԱՐՈԹՅՈՆ

ՍՐԱՆ ՉԵՄ ՍՊԱՍՈՄ !! Ամբողջ վարկը գնում է Nick Gammon !!

Ես պարզապես ցույց տվեցի այս մեթոդը այս Instructable- ում:

Հուսով եմ, որ սա օգտակար կգտնեք:

Հաճելի օր.

Քայլ 12. Երբ տարօրինակ բաներ են տեղի ունենում

Երբ տարօրինակ բաներ են պատահում
Երբ տարօրինակ բաներ են պատահում
Երբ տարօրինակ բաներ են պատահում
Երբ տարօրինակ բաներ են պատահում

Վերջերս ես ստացա այս Arduino Nano- ն Atmega328P-MU պրոցեսորով:

Այսպիսով, ես փորձեցի էսքիզ վերբեռնել դրան, բայց չկարողացա: Պրոցեսորը ոչինչ չի արձագանքել Atmega328 ընտրանքներով:

ԼԱՎ! Այսպիսով, գուցե bootloader- ը կոռումպացված է և կարիք ունի վերաշարադրման: Ես այն միացրեցի մեկ այլ arduino- ով և կատարեցի բեռնիչ սարքի այրումը: Դեռ ոչինչ …… !!!!

Լավ, ինձ պետք է արգելակ (սուրճ և ծխախոտ) !! Որպես վերջին հնարավորություն ես կրկին ընտրեցի Arduino Uno- ն որպես թիրախ: Վերբեռնումն ավարտված է: D

Այս պահին ես ունեմ Նանո, որը գործում է Arduino Uno- ի նման: Ես չգիտեմ, թե ինչու դա տեղի ունեցավ, բայց ես կարծում եմ, որ դա Պրոցեսորի ստորագրության պատճառով է: Ամեն դեպքում, դա իսկապես դարձրեց իմ օրը և մի փոքր ծիծաղելի է:)

Խորհուրդ ենք տալիս: