Hi
I wrote my own bootloader for the 28034.
I have an application that calls the following code
unsigned long init_boot_addr = 0x003ff7dd;
Uint32 (*entry)();
entry = (Uint32(*)())(init_boot_addr);
init_boot_addr = entry();
entry = (Uint32(*)())(init_boot_addr);
init_boot_addr = entry();
I use a PC app to send the file f2803x_flash_kernel.txt compiled from this directory
C:\ti\controlSUITE\device_support\f2803x\v130\DSP2803x_examples_ccsv5\f2803x_flash_kernel
I then load my application.
This has been working over and over again with no problems until yesterday when I made some changes to my application. "The one that calls the code above". Then all of the sudden I started to get this isr
///////////////////////////////////////////////////////////////
interrupt void PIE_illegalIsr(void)
{
// The next two lines are placeholders
asm(" ESTOP0");
// endless hold loop
for(;;);
} // end of PIE_illegalI
/////////////////////////////////////////////////////////////////////////////
I then loaded the symbols f2803x_flash_kernel.out for the bootloader program to try and figure out what is causing the isr above. To my surprise there are ITRAP0 instructions in the disassembly.
///////////////////////////////////////////////////////
137 EALLOW;
DisableDog():
008024: 82B3 MOVL XAR3, *ARP3
138 SysCtrlRegs.WDCR= 0x0068;
008025: 0000 ITRAP0
008026: 01C0 SUBU ACC, *+XAR0[0]
008027: 56BF6829 MOVB @0x29, #0x68, UNC
139 EDIS;
///////////////////////////////////////////////////////////////////////
Why is happening? Where are these ITRAP0 instructions coming from? Why is the disassembly wrong? When I single step the ITRAP0 instruction it causes the isr I have shown? Can someone please suggest a solution for this?