|
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.
Postup změn byl následující: Nejprve byly souborů odstraněny všechny
nedefinované makra. Dále byla nastudována funkce bloku VIC. popis
funkce VIC. Poté byla otestována
funkce inicializace VIC.s). obrázku symbolicky zobrazeno, jakým způsoben blok VIC funguje a
jak němu programově přistupuje. 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. důsledku tuto funkci není třeba používat, jelikož realizuje
pouze uvedení VIC stejného stavu jako stav resetu MCU. Pro lepší popis zde Obr. Bylo třeba tedy
soubory příslušně modifikovat. Tyto makra samozřejmě pod GCC nejsou definována.
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. Dalším krokem bylo
ověření funkce pro nadefinování přerušení. 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