|
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.
Obr. Dalším krokem bylo
ověření funkce pro nadefinování přerušení. Pro lepší popis zde Obr. Bylo třeba tedy
soubory příslušně modifikovat. popis
funkce VIC. obrázku symbolicky zobrazeno, jakým způsoben blok VIC funguje a
jak němu programově přistupuje.s). 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
.
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. Poté byla otestována
funkce inicializace 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. 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. Dále byla nastudována funkce bloku VIC.
Postup změn byl následující: Nejprve byly souborů odstraněny všechny
nedefinované makra