Deoarece programatorul USB nu a apărut imediat la îndemână și a fost lent și inconfortabil să coasă prin portul com, a trebuit să caut o cale de ieșire din situația actuală și a constat în utilizarea unui bootloader. Un bootloader este un program care primește firmware-ul pentru interfața selectată, de exemplu uart, și îl încarcă în microcontroler.
Unul dintre articolele anterioare descrie modul de a bloca STM32 cu un bootloader. dar bootloader-ul STM32 este cusut în cip, chiar și atunci când este fabricat în fabrică, trebuie să-l coase și pe noi înșine. Iată cum arată în termeni generali, vom lua același bootloader și suturat-l la microcontroler, cu atât mai mult nu avem nevoie de un programator, apoi utilizați un program special pentru UART sau RS485. ne atașăm la bootloader și îi oferim firmware-ul pe care vrem să-l coasem în MK, atunci el va face totul el însuși.
Mai întâi trebuie să alegeți un bootloader. pentru AVR chip4boot2 este potrivit. sub lista de controlere acceptate în acest moment.
Descărcați aplicația de încărcare hex pentru microcontroler și programul de aici.
Acum, că avem toate instrumentele necesare, putem continua. În dosarul cu bootloadere găsim hex în care există numele MK-ului nostru, am Atmega16 și îl coșem în pre-setarea siguranțelor BOOTSZ și BOORST.
BOOTSZ - determină dimensiunea încărcătorului și BOORST - unde MK va porni după resetare.
La mine in Atmel Studio fyuzy arata asa.
Dar, în alte programe, Fyuz poate fi inversat, pentru a înțelege dacă acest lucru este așa, puteți citi valoarea curentă Fyuz și a vedea ce raveny SPIEN și JTAGEN - biți permit inserarea MC a SPI și JTAG. astfel încât dacă ați putea să vă conectați la MK, atunci sigur unul dintre aceste interfețe. În mod implicit, acestea sunt instalate și trebuie să fie setate casetele de selectare, dacă fuziunea interfeței pe care o conectați nu este bifată, figurinele ar trebui să fie inversate.
Acum, după resetare, MK va porni de la secțiunea de boot unde este localizată bootloader-ul, va aștepta, la rândul său, ca firmware-ul să fie transferat la acesta, care trebuie să fie cusut în MK. O anumită perioadă de timp este alocată pentru a aștepta, câteva secunde, dacă în această perioadă nu este accesată, MC continuă cu executarea programului principal. Să ne conectăm la ea prin uart. pentru asta avem nevoie de un adaptor usb-uart. ieșirea adaptorului RX este conectată la ieșirea TX a microcontrolerului, iar ieșirea TX a adaptorului cu ieșirea RX a microcontrolerului.
Deschideți programul chip45boot2. alegeți com port. sub care a fost definit adaptorul usb-uart. viteza va fi determinată singură, resetați MK și faceți clic pe Conectare la Bootloader. Dacă conexiunea are succes, indicatorul Stare se schimbă la Conectat și se transformă în verde.
Acum, selectați fișierul hex și / sau eeprom și apăsați butonul Program Flash și / sau Program Eeprom. Totul, procedura firmware-ului se termină, dacă bateți cu greșeală MK-ul cu programatorul, încărcătorul de bord "zboară" și va trebui să repetați procedura de restaurare.
Și același lucru în asamblare
Acum nu este necesar să resetați MK pentru a vă conecta la bootloader, ci doar să îi trimiteți litera b.