I'm working on a bootloarder program with Mc9s12zvml32 chips, but I'm having some problems.I exported the bin file of the application and downloaded the bin file to 0xff8000 address through the bootloarder program, when my bootloarder program jumped to the application.You can see that the program executes the main function of the application, and I have no problem stepping through the main function.However, when I was running at full speed, I found that the IVBP register became 0x0010, while the IVBP register was 0xfffe without single step execution, and there were no other assignments in my IVBP register.This caused my application to go off track, and I want to know what caused it.
Hi,
when jumping from bootloader to user application, did you disable all interrupts? I mean also by local enable bits. I always recommend to put everything back to default state when jumping to user application. Or the user application must know exactly that the chip is not in default reset state. Another option is to jump to user application right after reset when bootloader just checks some condition if application should be started or not.
Regard,
Lukas
I don't know why my program can't enter the main function now. I checked the assembly code MainApplication() and the jump function actually jumped 0x000000. Figure 1 is my program and figure 2 is the assembly code