I developed a bootloader using the Serial bootloader example for MPC5634M. I developed Flash bootloader in sector B0F0 and user application in B0F5. My device is MPC5602P on CW2.9. and PE Micro debugger.
But when I'm writing instructions in __start file, the ori instruction is not performing well.
step1. lis r8,0x0003
step2. ori r8,r8,0xFFF8
step3. lwz r6,0(r9)
step1. should update r8 with 0x00030000 it does exactly.
step2. This should update r8 register to 0x0003FFF8 but my r8 register updating with 0xFFFFFFF8
step3. should load value of the address r8. As r8 is 0xFFFFFFF8 instead of 0x0003FFF8 it is showing an error of " Error in ONCE status register during instruction execution"
can anyone suggest any other operation I can do this perform this operation. and Is it necessary to add the __start file in my bootloadeer project. Instead I tried assembly operation at the very start of bootloader main() for jump to user application.
Q2) The jumping to the address is working well in main() function. Now as per application note, we need to jump to 0x00020004 address to start the user application. But if I do that IVOR8 trap is happening. I also tried jumping to very first address 0x00020000, still the error is same. My only problem is the finding the right address to jump to user application. To which address location we need to jump to execute the exact user application.
I'm attaching here the sequence of jump instructions images.
Kindly do the needful.
Thanks in advance,