This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28P559SJ-Q1: jump into illegal interrupt when executing AppEntry fucntion

Part Number: TMS320F28P559SJ-Q1

Tool/software:

Hi Expert

Customer uses below 2 methods to jump into APP code from customer boot code, with the first method, CPU will jump to illegal interrupt, the MCU works well with the second method

1. use AppEntry function:

JumpAddress = *(volatile uint32_t*)(0x0A0000);
JumpAddress_1 = (JumpAddress & 0x0000000F) << 16;
JumpAddress_2 = JumpAddress >> 16;
JumpAddress_3 = JumpAddress_1 | JumpAddress_2;

AppEntry app_entry = (AppEntry) ((volatile uint32_t*) JumpAddress);

DINT

IER = 0;

IFR = 0;

asm("MOV SP, #0x00B000");

app_entry();

for(;;);

2. use assembly code:

asm(" MOVL XAR7, #0x0A0000");

asm(" LB *XAR7");

My question is what's the difference between the 2  methods?

Thanks

Joe