Բովանդակություն:
- Քայլ 1. Կառուցեք կոշկակար կցորդ
- Քայլ 2: Avrdude- ի տեղադրում և օգտագործում
- Քայլ 3. Arduino ծրագրերի ձեռքբերում AVR- ներով
Video: AVR/Arduino Flashing With Raspberry Pi: 3 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Համակարգային ծրագրավորողը (ISP) այն սարքն է, որը կարող եք օգտագործել բազմաթիվ միկրոկոնտրոլերներ ծրագրավորելու համար, օրինակ ՝ ATMega328p- ը, որը Arduino Uno- ի ուղեղն է: Դուք կարող եք գնել USBtinyISP- ի նման մի բան, կամ նույնիսկ կարող եք օգտագործել Arduino- ն: Այս հրահանգը ցույց կտա ձեզ, թե ինչպես օգտագործել Raspberry Pi- ն որպես ISP:
Avrdude ծրագիրը, որն այն է, ինչ Arduino IDE- ն օգտագործում է կափարիչի տակ չիպերը թարթելու համար, կարող է օգտագործվել շատ ծրագրավորողների հետ: Նրա տարբերակներից մեկն այն է, որ SP- ի կապումներն օգտագործեն Pi- ի ընդլայնման նավահանգստում: Ես կբացատրեմ, թե ինչպես կատարել համապատասխան միացումներ, միացնել մի պարզ միացում շերտի տախտակի վրա, այնպես որ դուք ստիպված չեք լինի նորից կատարել էլեկտրագծերը ամեն անգամ, երբ ուզում եք չիպը թարթել, և ինչպես տեղադրել և օգտագործել avrdude: Ես նաև ձեզ ցույց կտամ, թե ինչպես կարելի է Arduino IDE- ի միջոցով կազմված ծրագրերը ձեռք բերել AVR չիպի վրա, ինչպիսին է ATmega- ն կամ ATtiny- ն ՝ օգտագործելով այս մեթոդը:
Անհրաժեշտ բաներ.
- Raspberry Pi- ն `վերջին Raspbian- ով տեղադրված
- 40-փին արական գլխիկի վարդակից (կամ 26-պին, եթե ունեք ավելի հին Pi)
- IDE մալուխ ՝ ձեր Pi- ին միանալու համար
- 16 ՄՀց բյուրեղյա ռեզոնատոր
- 22 pF կոնդենսատորներ (2)
- LED (1) `ծրագրավորողի կարգավիճակը նշելու համար
- 8, 14 և/կամ 28 փին IC վարդակներ ՝ կախված այն բանից, թե ինչպիսի չիպերի տեսք եք ցանկանում թարթել
- Որոշ տախտակ, լարեր, զոդում
Քայլ 1. Կառուցեք կոշկակար կցորդ
Serial Peripheral Interface (SPI), որը նաև կոչվում է չորսալար սերիալ, մեկ հիմնական սարքի և մեկ կամ մի քանի ստրուկ սարքերի միջև հաղորդակցման միջոց է: Մենք դա կօգտագործենք չիպսերը փայլեցնելու համար ՝ Pi- ն որպես վարպետ և չիպը ՝ որպես ստրուկ: Դուք կկատարեք հետևյալ կապերը Pi- ի և ձեր չիպի միջև (տե՛ս վերևի pinouts- ը տարբեր AVR- ների և Pi ընդլայնման նավահանգիստների համար `իմանալու համար, թե որ կապումներն են):
- Միացրեք MOSI (master-out-slave-in) կապումներն իրար
- Միացրեք SCLK (ընդհանուր ժամացույցի) կապում միասին
- Միացրեք MISO (master-in-slave-out) կապումներն 220 Օմ ռեզիստորի հետ միասին ՝ Pi- ն չիպից անսպասելի բարձր լարումներից պաշտպանելու համար
- Միացրեք GPIO 25 -ը Pi- ի վրա անմիջապես չիպի վրա RESET քորոցին: Piրագրավորման ժամանակ Pi- ն իջեցնում է այս քորոցը, ուստի մենք օգտագործում ենք 10K ռեզիստոր ՝ այն բարձր պահելու համար, երբ չծրագրավորում ենք, և 1K պաշտպանական դիմադրիչով լուսադիոդ ՝ դրական լարման արագությամբ, ինչը մեզ տալիս է գեղեցիկ տեսողական արձագանք, երբ դա ծրագրավորում է:
Մենք կապում ենք գրունտի և հոսանքի (3.3V) կապում Pi- ի և չիպերի միջև, որոնք մենք ցանկանում ենք ծրագրավորել: Եթե դուք դեռ չգիտեք, ապա Raspberry Pi- ի կապումներն 5V հանդուրժող չեն, դրանք վնասվելու են, եթե դրանց վրա հայտնվի ավելի քան 3.3V: Եթե ծրագրավորվող չիպերը ինչ -ինչ պատճառներով կարիք ունեն 5 Վ լարման, մենք կարող ենք օգտագործել մակարդակի փոփոխիչ չիպ ՝ Pi- ի կապերը պաշտպանելու համար, բայց 3.3 Վ -ի դեպքում ես որևէ խնդիրների չեմ հանդիպել, ուստի խորհուրդ եմ տալիս ապահով խաղալ և խնայել բաղադրիչների վրա:
Ի վերջո, մենք միացնում ենք 16 ՄՀց բյուրեղային տատանում ՝ չիպի վրա XTAL կապումներով, որը նույնպես միացնում ենք գետնին մի քանի 22pF կոնդենսատորների միջոցով: AVR չիպերը կարող են սահմանվել տարբեր հաճախականությունների վրա աշխատելու համար, ինչպես նաև կարող են սահմանվել օգտագործել ներքին կամ արտաքին աղբյուր `այդ հաճախականությունը որոշելու համար: Եթե ձեր չիպը պետք է օգտագործի արտաքին բյուրեղ ՝ որպես իր հաճախականության աղբյուր, ապա առանց դրա չեք կարող վերագրագրավորել: Հակառակ դեպքում դա նշանակություն չունի, եթե այն այնտեղ է:
Դուք կարող եք օգտագործել սխեմայի սխեման վերջին պատկերում ՝ որպես ուղեցույց ՝ ձեր կոշկակար կցորդը հավաքելու տախտակի վրա: Դուք կարող եք ունենալ IC- ի վարդակների այնքան կամ մի քանի տարբեր ձև, որքան ցանկանում եք, պարզապես Pi- ին և բյուրեղին զուգահեռ միացրեք համապատասխան կապում: Ն. Բ. եթե դուք օգտագործում եք իմ նախատիպի պատկերը որպես ուղեցույց, նշեք, որ ես ավելացրել եմ վերնագրի մի քանի լրացուցիչ կապում և վարդակներ, որպեսզի կարողանամ Pi- ի կապերին մուտք գործել անկապ պատճառներով:
Քայլ 2: Avrdude- ի տեղադրում և օգտագործում
Avrdude- ը ձեր Pi- ի վրա տեղադրելու համար պարզապես մուտքագրեք
sudo apt-get տեղադրել avrdude
Այնուհետև անհրաժեշտ կլինի միացնել SPI ինտերֆեյսը, եթե այն արդեն միացված չէ: Կա դա հրամանի տող, բայց դա շատ ավելի հեշտ է օգտագործել Raspberry Pi կազմաձևման գործիքը: Տիպ
sudo raspi-config
և գնացեք Ինտերֆեյսի ընտրանքներ ՝ SPI- ը միացնելու համար:
Ձեր չիպը փայլեցնելու համար միացրեք ժապավենի մալուխը ձեր Pi- ից ՝ շերտի տախտակի միացման միակցիչին և տեղադրեք չիպը համապատասխան IC վարդակից (համոզվեք, որ այն ճիշտ ճանապարհով է նայված):
Flashրագիրը թարթելիս պետք է նաև համոզվեք, որ ապահովիչները ճիշտ տեղադրեք չիպի մեջ: Սրանք իսկապես չիպերի բիթեր են, որոնք դուք դրել եք ՝ ասելու համար, թե ժամացույցի արագությունը ինչ արագությամբ պետք է աշխատի, արդյոք չիպը գրելիս ջնջե՞լ EEPROM- ը և այլն: Դուք կարող եք կարդալ AVR- ի ամբողջական բնութագիրը `պարզելու համար, թե ինչպես է յուրաքանչյուր բիթը սահմանվում, բայց շատ ավելի հեշտ է օգտագործել ապահովագրության հաշվիչը, որը տրամադրված է engbedded.com/fusecalc կայքում: Ընտրեք AVR մասի անունը, որն օգտագործում եք, և «Հատկությունների ընտրություն» տարածքում ընտրեք ձեր ուզած ընտրանքները: Ես սովորաբար պարզապես համոզվում եմ, որ ժամացույցի կարգավորումները ճիշտ են, իսկ մնացած բաները թողնում եմ լռելյայն: Գրեթե միշտ կցանկանաք թողնել «Սերիայի ծրագրավորումը միացված է» ՍՏՈԳՎԱ և «Վերակայել անջատված» -ը ՝ ԱՆՀԱՆԴԻՊՈ otherwiseՄ, հակառակ դեպքում դուք չեք կարողանա չիպը նորից ծրագրավորել: Երբ ունեք ճիշտ կարգավորումներ, կարող եք ոլորել ներքև «Ընթացիկ կարգավորումներ» հատվածում և պատճենել AVRDUDE փաստարկները, ինչպես ցույց է տրված նկարում:
Ապահովիչներ տեղադրելու համար մուտքագրեք հրամանը
sudo avrdude -c linuxspi -P /dev/spidev0.0 -p
որտեղ partname- ը համապատասխանում է ձեր օգտագործած չիպին: Մասերի անունների ցանկը կարող եք գտնել ՝ մուտքագրելով sudo ardude -c linuxspi -p? Տեսակը: Ձեր ծրագիրը լուսավորելու համար համոզվեք, որ այն ձեր ընթացիկ գրացուցակում է և մուտքագրեք
sudo avrdude -c linuxspi -P /dev/spidev0.0 -p -U ֆլեշ: w:: i
Երկու հրամաններից հետո LED- ը կլուսավորվի, երբ չիպը փոփոխվում է:
Քայլ 3. Arduino ծրագրերի ձեռքբերում AVR- ներով
Այս հրահանգի հիմնական շեշտը դրված է արդեն կազմված ծրագրերը չիպերի վրա, այլ ոչ թե դրանք գրել կամ կազմելու վրա: Այնուամենայնիվ, ես ուզում էի բացատրել, թե ինչպես կարող եք երկուական ֆայլեր կազմել Arduino IDE- ի միջոցով և դրանք տեղադրել այս մեթոդի միջոցով մերկ AVR չիպերի վրա, քանի որ Arduino- ն համեմատաբար հեշտ է սովորել, և կան շատ ձեռնարկներ և օրինակներ:
Նախ, դուք պետք է ավելացնեք տեղեկատվություն այն AVR չիպերի մասին, որոնք դուք կթարթեք, որպեսզի IDE- ն իմանա, թե ինչպես կազմել դրանք: Jamesեյմս Սլիմանը շատ օգտակար կերպով հավաքել է որոշ տեղադրման ֆայլեր, որոնք հասանելի են github- ում: Դրանք օգտագործելու համար Arduino IDE- ում բացեք «Նախապատվություններ» ընտրացանկը և կտտացրեք «Լրացուցիչ տախտակների կառավարիչների հասցեներ» դաշտի կողքին: Պատճենեք և տեղադրեք հետևյալ URL- ները հայտնվող երկխոսության դաշտում.
Այնուհետև գնացեք «Գործիքներ» ընտրացանկ և «Տախտակ» ենթամենյուում գտեք «Տախտակների կառավարիչ…» տարբերակը: Ոլորեք ներքև ՝ ցուցումների ներքևում ՝ Տախտակների կառավարիչ երկխոսության դաշտում և տեղադրեք DIY ATmega և DIY ATtiny տախտակները:
Ձեր ծրագրերը կազմելու համար նախ համոզվեք, որ «Պրոցեսոր» ընտրացանկում ընտրել եք ճիշտ չիպը, ինչպես նաև Պրոցեսորի ճիշտ արագությունը: Ընտրեք «Օգտագործել Bootloader: No» տարբերակը, քանի որ մենք ուղղակիորեն կբեռնենք Pi- ով և այդպիսով կարող ենք օգտագործել լրացուցիչ տարածք, որը սովորաբար կզբաղեցներ Arduino բեռնիչը: Այժմ կտտացրեք «Հաստատել» կոճակը (ստուգման նշանը): Սա կկազմի ձեր ծրագիրը ՝ չփորձելով այն վերբեռնել (քանի որ դուք ինքներդ եք կատարում այդ քայլը):
Ենթադրելով, որ ամեն ինչ լավ է ընթանում, այժմ պետք է կազմված ծրագիրը հասցնել ձեր Pi- ին: IDE- ն դրանք թաքցնում է ժամանակավոր վայրում, քանի որ այն նախատեսված է ինքնին ծրագրեր վերբեռնելու համար: Windows- ում այն գտնվում է AppData/Local/Temp- ում ՝ ձեր օգտվողի գրացուցակում, «arduino_build» - ով սկսվող թղթապանակում: Փնտրեք. Hex ֆայլը. Դա ձեր ծրագիրն է: Ուղարկեք այն ձեր Pi- ին FTP կամ USB կրիչով, և դուք բիզնեսով զբաղվում եք:
Դա անելու համար անհրաժեշտ է, որ ձեր ծրագրերը կազմելու համար ունենաք Windows համակարգիչ կամ Mac, որն այնուհետև ուղարկեք Pi- ին: Դա իսկապես սահուն կլիներ, եթե կարողանայի դա անել հենց Pi- ով, բայց, ցավոք, Raspbian պահոցում առկա Arduino IDE- ի պաշտոնական տարբերակը բավականին հին է և չունի խորհրդի կառավարիչ: Առանց դրա, մերկ AVR- ների համար համապատասխան պարամետրեր ավելացնելը մի փոքր ավելի բարդ է: Կան ձեռնարկներ ՝ ձեր Pi- ով Arduino- ի ավելի վերջին տարբերակը կազմելու համար. Եթե դա այն է, ինչ ուզում եք անել, գնացեք գտեք դրանք: Ես նաև զգում եմ, որ պետք է հնարավոր լինի, որ IDE- ն օգտագործի linuxspi ծրագրավորողը ՝ IDE- ի ներսում չիպը թարթելու համար (այսինքն ՝ «ներբեռնում» կոճակի միջոցով), բայց դա իմ համբերության և հմտության մակարդակից դուրս է. մի կերպ, տեղադրեք այն մեկնաբանություններում: Ի վերջո, դուք պարզապես կարող եք ծրագրեր գրել ուղղակիորեն AVR-C- ով և դրանք Pi- ով կազմել avr-gcc- ով ՝ տալով ձեզ Raspberry Pi- ում AVR- ի զարգացման ամբողջական հարթակ: Ես արել եմ դրա մի փոքր մասը, և եթե ցանկանում եք գնալ այդ ճանապարհով, ես ողջունում եմ ձեզ: Flashրամեկուսացում ստացեք:
Խորհուրդ ենք տալիս:
PCB Flashing Tree Decoration: 5 քայլ (նկարներով)
PCB Flashing Tree Decoration: Այս ձեռնարկում դուք կսովորեք, թե ինչպես արդյունավետորեն կատարել էլեկտրոնիկայի նախագիծ: Որպես օրինակ ՝ ես սկզբից մինչև վերջ պատրաստելու եմ մի հատ PCB, որը լուսավորող լույսեր ունի: Բոլոր էլեկտրոնիկաներն աշխատում են ինքնուրույն ՝ առանց կոդավորման պահանջի: Մնում է միացնել
Երգի հետևում Led-flashing Hack-O-Lantern !: 6 քայլ
Երգի հետևում Led-flashing Hack-O-Lantern
Arduino որպես ISP -- Այրեք վեցանկյուն ֆայլ AVR- ում -- Ապահովիչ AVR -- Arduino- ն որպես ծրագրավորող. 10 քայլ
Arduino- ն որպես ISP || Այրեք վեցանկյուն ֆայլ AVR- ում || Ապահովիչ AVR || Arduino- ն որպես ծրագրավորող. ………………….. ամեն ինչ arduino- ի մասին է, ինչպես isp: Եթե ցանկանում եք վերբեռնել վեցանկյուն ֆայլ կամ եթե ցանկանում եք տեղադրել ձեր ապահովիչը AVR- ում, ապա կարիք չկա ծրագրավորող գնել, կարող եք անել
10 րոպե Star Trek Phaser Flashing LED Mod: 7 քայլ
10 րոպե Star Trek Phaser Flashing LED Mod. Ես մտածում էի իմ ընկեր Էնդիի մասին, երբ մոդայավորեցի Playmates Classic Star Trek Phaser- ը: Surprisingարմանալիորեն արագ և հեշտ էր դա անել: Ես ուզում էի մի բան, որը մի փոքր ավելի լավ էր երևում և այնքան վտանգավոր չէր, որքան Blu-Ray լազերային ֆազերային ռեժիմը (ոչ թե B
Solder Together Flashing RGB LED նախագիծը ՝ 6 քայլ
Solder Together Flashing RGB LED Project. Youանաչու՞մ եք մեկին, ով ցանկանում է մի քիչ սովորել էլեկտրոնիկայի մասին: Որոշ բաղադրիչների էլեկտրամոնտաժելը ճանապարհորդությունը սկսելու առաջին քայլն է: Կամ գուցե պարզապես ուզում եք փորձել այս հիանալի Flashրամեկուսացման RGB LED- ներից մի քանիսը: Projectրագրի ընդհանուր արժեքը 2,00 դոլար է