Downloader pentru microcontrolere AVR

STM32F030F4P6


Downloader pentru microcontrolere AVR

Odata cules cu STM32 am încă o dată umple programul cu built-in încărcător, de gândire despre același lucru, dar interesant pentru AVR. În principiu, acest lucru este Arduino AVR cu încărcător său. Mai mult, rătăcind pe web la nivel mondial, am fugit în două proiecte. Una dintre ele este chip45boot2. și bootloader compatibile doilea AVRPROG. Ambele opțiuni sunt gratuite, chiar și prima gamă de microcontrolere suportate mai mult, dar. Prima opțiune are propriul program pentru a comunica cu MC și chiar suporta RS-485, dar codul sursă nu este. A doua opțiune din contră are codul sursă, dar funcționează numai cu programul AVRProg care vine complet cu AVR Studio. Și, desigur, acesta din urmă nu are suport pentru RS-485. Dar vrei și apoi unele. Așa că am decis să iasă din situația, după cum urmează. Codul sursă bootloader pentru a adăuga suport RS-485, și să nu fie legat de a scrie doar programmulinu lor AVRProg sub Win7. Ce a venit din ea.

Să începem cu încărcătorul de boot. Puteți desigur descărca de ofsayta și le terminat, puteți descărca codul meu sursă și face doar modificări minore, și pot fi descărcate sub ATmega8 două fișiere HEX și pur și simplu le toarnă în MC. Ce opțiune este pentru tine de a decide.

Opțiunea nu va fi considerat terminat cu firmware-ul sau descărca gata făcute hex, dar opțiunea de a lua în considerare în firmware detaliu dopilinoy. Descărcați un proiect cu un cod sursă și a alerga în AVRStudio. Am versiunea 4.19. Mai mult, într-un notebook, deschideți Makefile. La început trebuie să selectați MC.

Downloader pentru microcontrolere AVR

În special, am această a opta mega. Privind în perspectivă, eu sunt în programul folosit suportul MEGA doar 8, 16, 32 și 64. Dacă aveți nevoie de un alt MK, apoi, după AVRProg sau scrie, adăugați la agenda sa. Și astfel, după selectarea MC merge la programul principal. Tot ce trebuie să configurați am subliniat în roșu.

Downloader pentru microcontrolere AVR

În cazul în care programul nu vrea să ruleze, atunci trebuie să instalați Microsoft .NET Framework 4. O puteți descărca de pe site-ul oficial Microsoft la acest link.

Descarcă arhiva și razarhiviruem-l în orice locație convenabilă pe disc. Programul executabil pur și simplu și nu necesită biblioteci. Apoi rulați programul.

Downloader pentru microcontrolere AVR

Primul pas este de a selecta viteza și portul. Am un adaptor USB RS-485 se află pe portul nouă. Selectarea vitezei și portul poate fi conectat. Butonul Restartuem MK reset și faceți clic pe butonul Start. Dacă totul a fost făcut în mod corect, programul ar trebui să ia formularul de mai jos.

Downloader pentru microcontrolere AVR

Butonul Start va deveni inactiv și va deveni verde. Acest lucru va însemna că programul este legat cu încărcătorul în MC. Aceleași informații apare pe microcontroler, semnătura acestuia, tipul și cantitatea de memorie Flash. În partea de jos se afla bara de stare, care doar despre dublat marcate conectat. Următorul pas trebuie să selectați firmware-ul pentru MC. Pentru a face acest lucru, apăsați pe butonul pentru a selecta calea către fișierul încărcat în fereastra care apare, selectați fișierul HEX.

Downloader pentru microcontrolere AVR

Există un mic avertisment. Dacă te uiți la bara de stare din partea de jos a programului, veți vedea degetele de la picioare-out firmware-ului în octeți. I este 1296 bytes. Care este captura. Faptul că încărcătorul nu se poate închide în aer și memoria este alocată pentru ea. Pentru acest încărcător alocat dimensiunea memoriei de 512 pagini. Această memorie este alocată Fyuz BOOTSZ0, BOOTSZ1. Și, din moment ce cuvântul este de doi octeți, atunci este clar că memoria bootloader este alocat 1024 bytes de memorie Flash principale. Pentru o viață mai bună, trebuie să plătească)) Prin urmare, următoarea problemă. Dimensiunea programului principal nu trebuie să depășească dimensiunea Flash minus 1.024 octeți. Pentru a opta MEGA este 8KB - 1KB = 7168 bytes sau 7K. Deci, dacă dintr-o dată programul este mai mare decât dimensiunea admisibilă, iar acest lucru este posibil, deoarece compilatorul în minte adoră despre orice acolo burlane și se ocupă întreaga memorie MK, acest program prin verificarea cantității de fișier HEX nu va fi dor pentru anunțul de descărcare. În cazul în care această protecție este îndepărtată, atunci încărcătorul va umple programul, dar, în același timp, și parțial se podotret. Și atunci nu va fi nici o lucrare. Iată ce se întâmplă dacă încercați să umple un firmware mai mare.

Downloader pentru microcontrolere AVR

Există trei soluții la această problemă. În primul rând, optimizarea codului pentru a reduce dimensiunea sa, iar al doilea, îndepărtarea încărcătorului și a umple un programator simplu și al treilea, utilizați MK cu mai multă memorie. Să mergem mai departe. Pentru a lucra cu memorie flash, programul are patru butoane. Record, Comparați, Citire, Clear Flash. Acestea din urmă nu trebuie să explice, se șterge doar toate datele din Flash, cu excepția bootloader. Înregistrarea Acest buton scrie datele din fișierul HEX în Flash. Trebuie amintit că, înainte de înregistrarea programului Flash este ștearsă automat și dacă întrerupe înregistrarea, programul care a fost șters, re-crea nu va reuși. Prin urmare, dacă este necesar firmware-ul curent, acesta trebuie mai întâi să fie citit. In acest scop buton Citiți. Făcând clic pe ea, programul va avertiza în primul rând despre firmware-ul curent este scris în fișierul selectat. În cazul în care acest lucru nu este necesar, este necesar în prealabil pentru a crea un fișier HEX gol și scrie firmware-ul curent în ea. butonul Compara. pur și simplu compara firmware-ul înregistrat în MC cu datele din fișierul curent selectat. Când scrieți în mod automat cecuri. Toate programului duplicat în detaliu în bara de stare. Acum, să citească firmware-ul curent, apoi curățați Flash, apoi umple-l cu noul firmware și este comparabil cu fișierul HEX. Înainte de a citi firmware-ul curent este necesar pentru a crea un fișier HEX gol. Acest lucru se face foarte simplu. Deschide notebook-ul. Urmatoarea File -> Save as .. În caseta, selectați tipul de fișier: Toate fișierele. Codificare: UTF-8. și orice nume de fișier, dar cu extensia Hex, am flash.hex.

Downloader pentru microcontrolere AVR

Acum, creați un fișier, selectați-l din program. Prin urmare, ei dimensiune 0 bytes.

Downloader pentru microcontrolere AVR

Acum, faceți clic pe butonul Citiți și sunt de acord cu avertismentul.

Downloader pentru microcontrolere AVR

Cititul este un proces destul de îndelungat și nu trebuie să se teamă de acest lucru. Acest lucru se datorează faptului că noțiunea de program nu are o dimensiune în firmware-ul MC. Deci, lectura este întreaga memorie flash. Să aruncăm acum o privire la ceea ce am înregistrat programul într-un fișier. Deschide un Notepad fișierul nostru HEX creat anterior.

Downloader pentru microcontrolere AVR

De fapt, nimic nou. Firmware-ul cu excepția heap subtracts FF. Aceasta este partea în care Flash nu este nimic, dar am citit tot de memorie, apoi înregistrate într-un fișier acel gol. Da, este nulă pentru MK 0xFF este celula pura. Acum să scrie firmware-ul în MC. Alegerea firmware-ul corect pe disc. Am acest test pentru a fi utilizate cu un AT24Cx EEPROM extern și faceți clic pe butonul de înregistrare. La sfârșitul umplerii în starea înregistrării inscripția este făcută va fi afișată.

Downloader pentru microcontrolere AVR

Toate MC cusute))) Acum, faceți clic pe Compare și după un timp comparația inscripția se face din nou apare în starea. Acest lucru sugerează că firmware-ul în IC coincide cu datele din fișierul HEX.

Downloader pentru microcontrolere AVR

Acum eroare. Dacă deschideți un fișier în HEX sau orice linie nu se potrivește cu suma de control, programul va avertiza despre acest lucru indicând, în care o singură linie a fost această ocazie. Acest lucru este posibil în cazul în care accidentul în dosarul de studiu HEX orice caracter a fost șters. Sau ce decid să se adapteze pentru frumusețe, ci despre existența nu este cunoscută de control. Iată cum arată. Am în mod specific în fișierul pe care l-am creat și înregistrat în firmware-ul său stricat un caracter.

Downloader pentru microcontrolere AVR

Lucru este că programul nu citește doar fișierul HEX, dar încă verifică paralel cu suma de control a fiecărei linii pentru a evita înregistrarea BAT firmware-ul MC. În cazul în care firmware-ul nu se potrivește MC cu fișierul selectat, apoi bara de stare și va fi scris. Acest lucru se datorează faptului că nu se poate compara cu fișierul curent, și de exemplu, avem MC, și credem că este doar umplut cu acest firmware. Conectarea la încărcător, sunt încărcate HEX și cere să compare. Programul citește firmware-ul de la MC, și apoi se compară fișierul și dacă acestea sunt diferite, apoi doar a scrie despre el. Dar, în cazul în care producția într-o linie care nu se potrivesc, ar putea fi o listă lungă. Iată ce se va întâmpla în cazul în care firmware-ul nu este coincis cu fișierul.

Downloader pentru microcontrolere AVR

Anonim 25/02/16 23:34

Pentru PC-ul scris în Visual Studio sau C #? O problemă cu cadrul, încă nu poate rula.

Alex 26/02/16 08:03
Anonim 26/02/16 09:14

articole similare