Bootloader pentru atmega32, skab în cer

Bootloader pentru atmega32, skab în cer

Prezenta unui încărcător cu filet este principalul avantaj în lucrul cu această platformă. Eliminând nevoia de programator speciale, simplu - (! O am doar pe un calculator fata a fost singura :)) cinci cablarea, dar nu sunt fiabile, amenințând să ardă și așa mai departe, în acest moment, dispare rapid portul LTP. Sau complexă și costisitoare, ceea ce nu este necesar pentru un începător.







În general, bootloader mi-ar fi permis să clipească MK, fără nici o „coarda“ comunicare de sârmă cu un calculator prin intermediul unui adaptor Bluetooth sereal, iar această caracteristică părea foarte tentant. Mai ales că am cumpărat Atmega32, cu suficientă carne de memorie, pentru a dona 512 sau chiar 1024 de octeți pentru bootloader.

Trebuie să spun că nu trebuie să dezvolte nimic singur, sunt multe descărcări pentru controlorii AVR. Trebuie doar să alegeți unul care să corespundă cerințelor dvs. și să-l personalizați pentru a se potrivi nevoilor dumneavoastră.

Mi-a placut urmatorul bootloader bootloader compatibil cu AVRPROG pentru ATMEL ATMEGA Controllers. Sunt foarte multe informatii despre el in limba rusa si sunt usor de folosit. Scrisă de Si, care îi place și îi eliberează creierul să călătorească prin laboratoarele de asamblare în timpul procesului de configurare, practic se eliberează ... Acest bootloader este destul de bine scris în detaliu în acest articol.

Voi vorbi despre caracteristicile utilizării acestuia cu portul COM emulator Bluetooth și ATmega32. Pentru a configura bootloader-ul, avem nevoie de AVR Studio. Descărcăm sursa de pe site-ul proiectului sau din articolul de mai sus, deschideți-o în studio, accesați fila file principal.c și continuați să o modificați.

1 Expunem frecvența cuarțului cu care MK va funcționa (am 16 MHz), selectați sau introduceți unul dorit, restul komentim cu două tăișuri //:

Toate.) Apăsați F7, asigurați-vă că nu există erori și obțineți un fișier .hex cu firmware-ul bootloader. Apropo, dacă există avertismente galbene, nu este critică.

După configurarea încărcătorului de boot așa cum este descris mai sus (în articol), trebuie să-l bliți în microcontroler (o dată, dar mai aveți nevoie de programator). Am folosit cel mai simplu programator LTP și PoniProg. De regulă, nu există nicio problemă cu umplerea firmware-ului. Dar, pe expunerea fiziologelor corespunzătoare, să ne ocupăm mai mult. Pentru agregatele Atmega32, quartz 16 MHz și încărcătorul 1024b în programul de siguranțe specificat, biții trebuie să fie setați după cum urmează:

Bootloader pentru atmega32, skab în cer

După ce boot-ul este încărcat, LED-ul de pe portul corespunzător este aprins în alimentarea cu tensiune a MK. Aceasta înseamnă că programul de încărcare funcționează. Deoarece nu există nimic mai mult în MK, indicatorul va fi aprins constant. Să verificăm dacă bootloaderul este pregătit pentru firmware-ul microcontrolerului. Trebuie să fac pentru a conecta modulul BT-MC care emulează portul COM, care se conectează la acesta, precum și cu orice program terminal trimite simbolul «S», fără a uita pentru a seta viteza dorită. Dacă răspunsul vine "AVRBOOT" - toate ok, bucurați-vă!)







Acum despre cum să bliți MK cu boot'om. În teorie, acest încărcător ar trebui să funcționeze fără probleme cu AVRProg. Cu toate acestea, așa cum am încercat, nu am putut să mă împrietenesc cu ea. A apărut o eroare că dispozitivul nu a fost definit, deși toate terminalele, ca unul, mi-au trimis un cuvânt magic ca răspuns la "S". Namuchavshis în studio, am marcat pe acest lucru și mi-am încărcat AVRDude. utilitate pentru firmware-ul MK în shell-ul grafic GUI, care a fost inexpresiv fericit.)

Bootloader pentru atmega32, skab în cer

Algoritmul de lucru cu programul, când clipește prin emulatorul portului bluetooth, este după cum urmează:

  1. Furnizăm energie pentru MK, cu modulul BT conectat la acesta;
  2. Ne conectăm la modul prin selectarea dispozitivului nostru în mediul Bluetooth. Pentru a indica conexiunea, am furnizat LED-ul, atunci când este pornit, există o conexiune. Descrie modulul meu BTM-112 din articolul despre elicopterul Bluetooth;
  3. Detașați AVRDude și selectați * .hex din firmware-ul nostru;
  4. În linia de comandă, prevede următoarea linie, înlocuind numărul portului COM, de tip MK (I ATmega32, prin urmare, M32) și calea către fișierul firmware pe dumneavoastră: "avrdude.exe Locație" -p M32 -c avr910 -P COM4 -U flash-ul: w : "Locația .hex": o semnătură U: r: con: r -F -v;
  5. În funcție de modul de introducere a încărcătorului MK, fie apăsăm butonul corespunzător, fie apăsăm rezetați, dacă încărcătorul pornește imediat și așteaptă, LED-ul Bootloader se aprinde. Apoi, faceți clic pe "Executați" și trebuie să stabiliți conexiunea BT.
  6. AVRDude trimite, de asemenea, un simbol "S" la procuratura? iar după primirea răspunsului bootloeder'a începe să completeze programul MK. Și, în același timp, sunt aprins de un LED - un indicator de transmisie de date pentru
    Interfața UART de la modul la MC.
  7. După ce programul este încărcat, AVRDude eliberează portul și am un modul BT și un computer conectat la acesta.
  8. Apoi apăsăm butonul încărcătorului sau așteptăm un timp în timp ce acesta este activ și după aceea se efectuează transferul controlului către programul MC principal. Prima dată când am întrebat un LED clasic care clipește.), După cum se vede în imagine.

Bootloader pentru atmega32, skab în cer
Bootloader pentru atmega32, skab în cer
În prima figură, indicatorul bootloadera (indicat printr-un dreptunghi galben) este aprins, conexiunea BT este stabilită și MK este gata să încarce programul. A doua cifră este cusută încărcător programul de lucru a finalizat la timp, indicatorul se stinge (în dreptunghiul roșu), se trece înapoi capsate prog, intermitent LED-ul (dreptunghi galben).

. Pur și simplu) Multumesc capsate încărcător, am fost MC, care are avantajul principal al Arduino - nu este nevoie de programatori speciale, și, în același timp, lipsit de principalele dezavantaje, cum ar fi mediul de programare limitat. Puteți folosi orice mediu convenabil pentru dvs., AVR Studio, CodeVision, orice limbaj de programare Assembler, C, Pascal. și multe altele. Obțineți acces complet la toate setările MC, optimizând-o pentru o anumită sarcină. Este foarte convenabil, în proiectarea, atunci când aveți nevoie de mai multe prog TestIt napisanmuyu și ajustați-l, precum și în procesul de dezvoltare a MK prin descărcarea firmware nou și noi.

Apoi, voi face anumite sarcini de testare, ceea ce va permite în viitor să se mute la crearea unui dispozitiv universal, pentru controlul elicopterelor pe canalul BT.)







Articole similare

Trimiteți-le prietenilor: