Hello and good day,
I'm working with a custom board containing MC56F8322 digital signal controller. I have a software structure consists of two parts, a bootloader that is running at system startup, and an application software which the bootloader runs. As a sketch, the software flow is as explained below:
- The bootloader starts up, makes integrity check (CRC) of application software. If there is a problem with it, bootloader does not proceed. Else, it continues with number 2.
- The bootloader waits for some time (i.e. 100 ms) to get any command that the external system may send from serial port. If there is no command and the time is up, it continues with number 3. Else, it waits in this state.
- When the time is up, the bootloader first change vector table address to the application's one. After that, it jumps to the application start address.
I'm setting up this structure to two identical boards. While one of them are working fine, the other one crashes just after branching to the application.
I'm using Codewarrior IDE v8.3 with Codewarrior USB TAP for debugging. When I try to debug the application software on the crashing board, it loads the program but does not stop at any breakpoint, even in the startup assembly code. When I click to "Stop" button at debug session, I encounter the error message "CCS Debug: Failed to stop process". However, there is no problem with the other board at these steps.
I also tried to watch bootloader on the crashing card with debugger, to be sure that the application really passes CRC verification. Observed no problem here.
I've controlled the memory segments, but there seems no problem in writing and reading. Can you please make a comment about this situation?