A bootloader használata bascom-avr - hasznos információ - avr - projektek a mikrokontrollereken avr
A Bascom-AVR Loader használata
Az AVR mikrovezérlő van ilyen hasznos funkció az a képesség, hogy működjön együtt Bootloader'om, amelynek köszönhetően villoghat a mikrokontroller egy szabványos UART interfész programozás nélkül (de ahhoz, hogy villog a bootloader programozás is szükséges). Bootloader betöltve egy speciális területe a flash memória és csak akkor aktiválódik, majd amikor a mikrokontroller működni kezd (bekapcsoláskor vagy visszaállítás után). Ha eddig a bootloader aktív, az UART puffer kap byte indítása, a boot loader aktiválódik, és elkezdi rögzíteni a kapott adatokat a memóriában a mikrokontroller, és a befejezése a felvétel akkor indul csak rögzített program.
Számos kész letöltő van, ugyanaz a népszerűség, mint az Arduino beépített bootloaderrel, aminek köszönhetően a vázlatok gyorsan fel vannak töltve az MK memóriájába.
A Bascom-AVR sem elmarad a versenytársaktól, és ehhez már a Bootloaderek már a legtöbb mikrokontrollerrel rendelkeznek.
Most nézze meg a Bascom-AVR rendszerbetöltõjét, és próbálja meg használni a mikrokontrollert. A megfelelő linkként egy USB-UART átalakítót használ az FT232RL chipen.
Először választunk ki egy mikrokontrollert, amelyben a bootloadert szeretnénk használni. Nekem van ez a töltött ATMega64a. Rengeteg memória van benne, ezért úgy döntöttem, hogy betöltöm a bootloadert, nem fog elveszíteni :)
A teszt áramkör kisebb, a mikrokontrolleren és a konverteren kívül egy LED van az áramkörben, 16 MHz-es kvarc és egy reset gomb
Az összeszerelt áramkör így néz ki (kicsit később fogok írni róla)
Tehát, miután megkapta a csomagtartó firmware-ét a szükséges beállításokkal, csak a mikrokontrollerbe töltse be. Ez standard módon történik - egy programozó segítségével :)
Másodszor, meg kell helyesen beállítani Fyuz - beállíthatjuk, hogy a méret a bootloader „Boot flash részén Size” (a ATMega64 mérete 1024 szó), és a program Fyuz „Boot visszaállítása vektor”. Csak akkor betöltődik bootloader Buder indul először a dob a mikrokontroller.
A betöltő mérete regisztrálva van a bootloader fájlban, ezért a használt mikrokontroller típusától függ.
Az ATMega64 szabvánnyal ellátott biztosítékok az alábbiakban olvashatóak (Khazama AVR Programmer). Ezen túlmenően az idõzítést egy külsõ kvarcrezonátor választja ki.
Mindezek után a bootloaderünk készen áll a munkára!
Most be kell állítania a szoftvert a számítógép oldalán. Nyissa meg a Bascom-AVR programot, és menjen a Programozó lapon található beállításokhoz. A legördülő listából válassza ki a szükséges programozó típusát - MCS Bootloader.
Ugyanabban a lapon válassza ki a COM port számát (nekem van a 15. szám) és a kapcsolat sebességét. Itt alapértelmezés szerint mindent elhagytam - 38400 baud.
Most meg kell nyitnia az MCS Loader fület, és be kell állítania a rendszerindító szektor méretét, amely megfelel a bootloader firmware-ben beállított értéknek (esetemben 1024 szó)
A fennmaradó beállítások kevéssé érdekesek, kivéve a "Reset via DTR" elemet. Ez a kullancs lehetõvé teszi, hogy automatikusan húzza le a reset lábát a mikrokontrolleren, ha a konverterhez csatlakoztatja a DTR-t. Számomra ez nem kerül végrehajtásra a beillesztéskor minden alkalommal, amikor megnyomom a gombot Manuális visszaállítása :) De a teljes boldogsághoz ezt a funkciót lehet alkalmazni.
A beállítások mentése után elindíthatja a programot a bootloader segítségével. Például egy egyszerű villogó programot töltünk be a vezérlőbe a lámpa PortD.7 LED-jéhez
$ regfile = "m64def.dat"
$ crystal = 16000000
Config Portd. 7 = Kimenet
Led Alias Portd. 7
fordítsa (F7) és nyomja meg az F4 billentyűt, és a betöltő ablak azonnal megjelenik
Ahogy már írtam, elvárja, mikor kezdődik a rendszerindító betöltő a mikrokontrollerben, így elkezdi tölteni a fájlt, a Reset gombbal vissza kell állítani a mikrokontrollert. Kattintás után az új program letöltésre kerül. És aztán el kell ismernem, kellemes meglepetés volt a sebességgel, amellyel a program töltődik - "legyek" még gyorsabban, mint a yusbaspe és az STK200.