Hello everyone, I'm developing an environment with my own bootloader and MainApplication to allow updrades via CAN controller. Each application has it's Vector Interrupt Table and I'm using MEMMAP to switch from one table to another. In order to do that, the MainApp VIT are copied from flash at address 0x2100 to RAM at ox40000000 after the MEMMAP reg is set to 0x02. Ok... the problem I'm having is that when I switch to the MainApp the interrupts are not working totally ok. I have a TIMER interrupt (IRQ) that works as expected.. when the int is generated it jumps to the correct IRQ Address(At add ~0x2100+) and the ISRoutine is executed. BUT... when a CAN interrupt is generated (which is FIQ) instead of jumping to the correct address(~0x2100+) is jumping to the VITable of the BootApp (At ~0x009C). The only difference between IRQ and FIQ is that in the VITables... at FIQ address there's a jump to a Label and in the IRQ address there's a PC operation (...[PC, #-0x0FF0]) As additionala information, I disable the interrupts prior to jump to the mainApp. I'm taking care of not using the first 64bytes (MEMMAP) of RAM or the top 32Bytes(IAP functions). Is there anything else I need to do to with the IFQs in order to use MEMMAP. Thanks in advance!
Message
Partially remmaped vector int table??????
2004-10-28 by givc@yahoo.com
Attachments
- No local attachments were found for this message.