Természetesen avr
AVR mikrokontrollerek képesek önálló programozás, azaz egymástól függetlenül módosítható tartalmát a flash memória. A gyakorlatban ez azt jelenti, hogy az írás egy speciális programot a mikrokontroller rakodó (úgynevezett bootloader), akkor frissíti a firmware használata nélkül a programozó. Emellett a felületet, ahol a mikrokontroller kerül át a programkódot lehet teljesen önkényes. Általában erre a célra használt egyik támogatott hardver interfészek, például SPI. I2C vagy RS-232. Vannak azonban olyan töltők alapuló szoftver megvalósítása pontok, mint például az USB és 1-Wire.
AVR mikrokontrollerek van számtalan kész betöltőtől, és a legtöbb esetben, nyugodtan használhatják azokat eszközök, nem törődve azzal, hogy megírják saját bootloader. Ebben a cikkben fogjuk nézni egy ilyen betöltőtől, amely a fejlett és szabadon forgalmazott Chip45, és meg fogjuk érteni, hogyan kell használni.
AVR mikrovezérlő program memória van osztva két részre - egy része a felhasználói program és a terhelési szakaszban. Loader (vagy bootloader) - csak egy program, amely tárolja az azonos nevű szakaszok és végezhetnek olvasási / írási memória a mikrokontroller két részből áll. Ez a funkció lehetővé teszi a rakodó módosítani, sőt törölni magad! Ez azt jelenti, hogy egyfajta öngyilkosság programot.
Annak érdekében, hogy tudtuk használni a létesítmények a rakodó, meg kell írni egy programozó a memóriában a mikrokontroller. Memóriaterület, amely íródik a boot loader van megadva a konfigurációs fájlban a linker összeállításához a forráskódot, a boot loader. Ez a téma túlmutat az e cikk és itt vagyunk akkor nem kell figyelembe venni. Számunkra az, ami fontos, ha van egy kész hex file-rakodógép, nem kell gondolni semmire, csak varr be a mikrokontroller ugyanúgy, mint a legtöbb hétköznapi programot!
A méret a betöltő részt, és az alkalmazási program használatával van megadva a konfigurációs bitek BOOTSZ1, BOOTSZ0. Mikrokontroller ATmega16 memória mérete szakaszok, a konfigurációtól függően bit értékeket fog kinézni.
A lehető legnagyobb mérete a terhelési részt ATmega16 1024 16-bites szavak, amely megfelel a 2 kb a flash memória. Ha a rakodó nem használják, az alkalmazás vehet fel az összes rendelkezésre álló flash memória mikrokontroller.
Az érték a konfigurációs bitek követelményektől függ az adott rakodó. Például, ha akarjuk indítani szakasz 1024-szó (2 KB) méretet Chip45 cég bootloader, de akkor írj egy kompakt rakodógép. Minden attól függ, hogy jelzáloggal lett kódolva a funkcionalitás és képességek.
Tegyük fel, hogy az általunk rögzített mikrokontroller bootloader, hogyan kell használni? A csomagtartó rakodó dolgozni, meg kell aktiválni (start). Megteheti ezt kétféleképpen:
- mozgatni vektor visszaáll az elején a terhelési szakasz,
- Az átmenet elején az töltjük.
A végrehajtás a második módszer feltételezi, hogy a mikrokontroller tartalmaz egy boot betöltő, és egyedi program, amely az átmenetet a boot terület az előfordulása mindenképpen.
ahol (void (*) ()) - a kifejezés, hogy az adattípus
Ha a készülék megkezdi a boot loader részén azt, hogy úgy mondjam, „ő dob minden ügyeit”, akkor is, ha azokat nem teszik teljessé. Egyes alkalmazások esetén ez a viselkedés nem engedhető (a legegyszerűbb példa - fűtő rendszer), így meg kell, hogy egy mikrokontroller, vagy egy eszköz bizonyos semleges megkezdése előtt a rakodó. Emlékezz rá!
Mi történik, ha a betöltő memóriában rögzített mikrokontroller firmware-t? Vagy elkezd maga az alkalmazás, vagy elvárja néhány parancsot a vezérlő program a számítógépen. Attól függ, hogy a végrehajtás a konkrét bootloader.
És az utolsó pont, ha megszokásból zashet felhasználói programot a mikrokontroller a programozási, a bootloader eltávolításra kerül.
Mi most úgy a cég Chip45 rakodó. Mik a jellemzői?
1. Legyen kész firmware loader alatt széles körű AVR mikrokontrollerek, valamint a XMEGA. Nem kell összeállítani a firmware magad!
2. Egyszerű és kényelmes grafikus shell munka betöltő, és a rendelkezésre álló saját kikötők több operációs rendszer alatt (Windows, Linux, Mac OS X).
3. Egy egyszerű parancssori felület működtetés terminál programot.
4. A UART modul az adatcsere, amely lehetővé teszi, hogy töltse le a firmware-t a mikrokontroller RS-232 vagy USB esetén az USB-UART átalakító.
5. támogatja RS-485 interfész.
6. Képes olvasni / EEPROM memória felvételt.
7. Az automatikus telepítés UART`a átviteli sebességet a gazda, függetlenül az órajel a mikrokontroller.
8. További funkciók aktiválásához rakodó által küldött egy véletlen stringet.
9. A kívánt méret a loading szakasz - 1024 szavak (2 KB flash memória)
Vedd bootloader a mikrokontroller az alábbi lépéseket:
- egyenlő lesz a mérete a terhelési szakasz 1024 m szó,
- set konfigurációs bitek BOOTRST,
- megtiltják óra osztály, ha van egy kicsit CLKDIV8,
- letiltja a watchdog, ha ez egy kicsit WDTON,
- válasszon alkalmas a mikrokontroller firmware
- írjuk be a mikrokontroller segítségével programozást.
A fő nehézség a kezdők itt is okozhat helyes beállítását konfigurációs bitek. Gyakran jön zavart, mert néhány programozó érzékelik 1 konfigurációs bit nem programozott 0 állapot - Hogyan programozza, és néhány fordítva. Az első kiviteli alak megfelel datasheet`am mikrokontrollerek AVR (lásd a fenti képen).
Az egyetlen dolog, amit megnyugtatni - szakszerűtlen telepítés ezen bitek ne takarja el a lehetőségét, programozás mikrokontroller hagyományos programozó.
mikrokontroller programozás a rakodó a következőképpen végezzük:
- csatlakoztassa a mikrokontroller és a számítógép RS-232 vagy USB segítségével USB-UART átalakító,
- futtatni Chip45boot2 GUI programot (azt úgy kell felszerelni)
- Mi meg a COM portot és az adatátviteli sebesség,
- válassza ki a hex fájl letöltése a mikrokontroller,
- kattintson a "Connect to bootloader" gombra
- ha a program világít siker egy kapcsolat van rögzítve mikrokontroller firmware rákattint a „Program Flash” gombot,
- indítsa el az alkalmazást, kattintson a „Start Application”
Chip45boot2 GUI program azt is lehetővé teszi, hogy aktiválja a rakodó küld egy tetszőleges sorban. Természetesen ez már a mikrokontroller kell lennie firmware, amely támogatja ezt a lehetőséget.
Célszerű lehet, ha az eszköz nem áll rendelkezésre mikrokontroller reset gomb, valamint például a bezárásra a házban.
Egyéb információ: a műszaki leírás a bootloader, bár a legtöbb mondtam.