|
Kategorie: Diplomové, bakalářské práce |
Tento dokument chci!
Předmětem této práce je studium stávajícího vývojového řetězce pro mikroprocesor LPC23xx v předmětu MPOA. Hlavním cílem je zkoumání možností realizace nového vývojového řetězce, postaveného na GCC. Výstupy této práce jsou ukázkové aplikace s mikroprocesorem LPC2378 a GCC. Součástí vysledků jsou i návody pro studenty, jak tyto ukázkové aplikace implementovat. Ukázky zahrnují základní aplikace, RTOS aEthernet.
Dalším krokem bylo
ověření funkce pro nadefinování přerušení.
0x0000 0000 LDR PC, Reset_Addr ;Reset
0x0000 0004 LDR PC, Undef_Addr ;
0x0000 0008 LDR PC, SWI_Addr ;Software IRQ request
0x0000 000C LDR PC, Pabt_Addr ;
0x0000 0010 LDR PC, Dabt_Addr ;
0x0000 0014 NOP ;reserved
0x0000 0018 LDR PC, [PC, #-0x0120] ;IRQ request
Při příchodu přerušení jednotka VIC (3) vyhodnotí toto přerušení provede
současně dvě operace. Bylo třeba tedy
soubory příslušně modifikovat. Dále byla nastudována funkce bloku VIC. popis
funkce VIC. Zjednodušené schéma VIC jednotky
Pro znázornění principu činnosti zde krátký úsek kódu ASM, který nutno
vložit souboru pro zavádění kódu (startup.18
firmy Keil.
Postup změn byl následující: Nejprve byly souborů odstraněny všechny
nedefinované makra.
Obr. obrázku symbolicky zobrazeno, jakým způsoben blok VIC funguje a
jak němu programově přistupuje. Poté byla otestována
funkce inicializace VIC. Tyto makra samozřejmě pod GCC nejsou definována. důsledku tuto funkci není třeba používat, jelikož realizuje
pouze uvedení VIC stejného stavu jako stav resetu MCU.s). Pro lepší popis zde Obr. Pošle signál IRQ jádra MCU zároveň podle přerušení, které
IRQ
FIQ
Jádro
ARM7
VIC
Řídící logika
VectAddr1
VectAddr2
VectAddr3
VectAddr31
0xFFFF FF00
IRQ 1
IRQ 2
IRQ 31
1
2
3
4
Řídící registry jednotky VIC