Četrtek 20.2.2015 - programiranje mikrokrmilnika ARM (absolventi 2.stopnja) -------------------------------------------------------------------------- 1. Vsebina mikrokrmilnika LPC2138, procesor, pomnilnik, periferija. 2. Lastnosti jedra ARM, primerjava s CORTEX, PIC, AVR, MIPS. 3. Zakaj programiranje v zbirniku ARM namesto Crash++? 4. Različni nabori ukazov ARM, registri ARM in različna jedra ARM. 5. Struktura ukazov jedra ARM, pipeline in pogojno izvajanje vseh ukazov. 6. Nabor ukazov ARM4 in lastnosti jedra ARM7TDMI z zgodovino. 7. Izjeme jedra ARM, napake in prekinitve, tabela izjem na začetku. 8. Zbirnik ARM, način zapisa ukazov, ARM shifter operand. 9. Klic podprogramov in povratek v ARM, link register. 10. Psevdo ukazi zbirnika ARM: LDR=, LTORG, ALIGN, SPACE, DCD... 11. Praktični zgled programa v zbirniku ARM, uporaba label, LTORG, ALIGN. 12. Prevajanje ARM zbirnika: uporaba ARMASM, ARMLINK in FROMELF. 13. Bootloader dostop do vgrajenega FLASH: JTAG, USB (samo Atmel), FlashMagic. 14. Praktični zgled programiranja, prevajanja in pečenja FLASH LPC2138. Četrtek 13.3.2014 - programiranje družine LPC2xxx v zbirniku (absolventi 2.stopnja) ----------------------------------------------------------------------------------- 1. Nalaganje gonilnikov FTDI in terminalskega programa s preizkusom. 2. Nalaganje in uporaba programa FlashMagic s praktičnimi zgledi. 3. Nalaganje in uporaba zbirnika ARM na preprostem primeru. 4. Uporaba zbirnika ARM na zahtevnejšem primeru z več izvori. 5. Sestava izvorne kode zbirnika ARM s tabelo izjem na začetku. 6. Preprosto premikanje podatkov pri inicializaciji MAM in PLL0. 7. Inicializacija GPIO, dodelitev nalog priključkov s PINSEL. 8. Zgledi klicev podprogramov brez uporabe in z uporabo sklada. 9. Krmiljenje LCD prikazovalnika s krmilnikom HD44780. 10. Preproste računske operacije v zanki risanja rastočega stolpca na LCD. 11. Izpis besedila na zaslon, zapisanega z uporabo DCB in ALIGN. 12. Zgled prekinitvenega programa, shranjeveanje registrov na sklad. 13. Proženje prekintev: inicializacija izvora, VIC in jedra ARM. 14. Vstavljanje in uporaba zunanjih dvojiških zapisov (govor) v zbirnik. 15. Zahtevnejše programiranje ARM, uporaba makrojev in linearne kode. 16. RESET in BOOTLOADER pri LPC2xxx, uporaba kontrolnih linij UART.