80 likes | 273 Views
Mikroprotsessorid P1/L2: AVR Butterfly ja bootloader. Artur Abels. AVR Butterfly demo board. ATMega 169 mikrokontroller Portide väljundid LCD ekraan (mitte graafiline) 4 suunaga ja kesknupuga joystick . 4Mbit DataFlash RS232 interface (COM port) arvutiga ühendamiseks
E N D
Mikroprotsessorid P1/L2: AVR Butterfly jabootloader Artur Abels
AVR Butterfly demo board • ATMega 169 mikrokontroller • Portide väljundid • LCD ekraan (mitte graafiline) • 4 suunaga ja kesknupuga joystick. • 4Mbit DataFlash • RS232 interface (COM port) arvutiga ühendamiseks • Pieso-valjuhääldi • Patarei • Muu sodi :)
AVR Butterfly infoallikad • Guesswhat ? DATASHEET == BIIBEL
AVR Butterflyprogemine • AVRButterfly me hakkame programmeerima ühendades selle läbi COM pordi arvutiga ja kasutades AVRStudio komplektis oleva programmi. AVRStudio -> Tools -> AVR Prog. • Täpne kirjeldus AVRButterflydatasheedis. • Kuidas on võimalik et me programmeerime mikrokontrollerit ilma programmaatorita lihtsalt ühendades seda läbi COM pordi?
AVR Butterflybootloader • AVR mikrokontrolleritel on olemas SPM instruktsioon (StoreProgramMemory) • See tähendab et programm võib kirjutada programmimällu • On võimalik teha selline programm, mis oskab mingi protokolli järgi suhelda arvutiga näiteks COM pordi kaudu et saada arvutist uue programmimälu sisu • Sellise programmi nimeks on BOOTLOADER
AVR Butterflybootloader • Bootloader asub programmimälu lõpus ja ei kustuta ennast vaid ta kirjutab programmimälu algusse tegeliku programmi • Selleks et kasutatadabootloaderit on võimalik konfigureerida mikrokontroller nii et RESET puhul ta ei alustaks programmi täitumist aadressist 0, vaid alustaks bootloaderi programmimälu plokist.
AVR Butterflybootloader • Kui RESETi puhul alustatakse bootloaderist, kuidas siis käivitatakse tegelik kasutaja programm bootloaderi asemel?? • Tavaliselt tehakse et mingi nupu vajutamise peale bootloader hüppab aadressile 0, ehk alustab kasutaja programmi täitmist
AVR Butterflybootloader • Kuidas bootloaderi programm sattub programmimällu? • Seda programmeeritakse sinna teise programmeerimismeetodiga (ISP, JTAG, ParallelProgramming, debug-wire) • AVR Butterfly on teahses programmeeritud bootloaderiga ja demo programmiga. Kui te kasutades bootloaderit programmeerite AVR Butterflyd siis teie programm sattub demoprogrammi asemele. Bootloader aga ikka jääb programmimällu.