Tool/software:
Hi
I have a number of problems with bootloader.
1. When I load the code from TI to flash the bootloader, it was able to flash the application bin file and run the application software when directed. While in the application software, I send a serial command to tell the application software to jump to bootloader. I do so by the following code:
EEP_tstBtldData stBL_Data=EEP_vRead_BL_FlashRequest();
static bool bl_flash=false;
if(stBL_Data.u16Bdld_flag==0x5A5A )
{
;
uint32_t JumpAddress = 0; //(uint32_t)APP_START_ADDRESS;
//JumpAddress = 0;
((void (*)(void))JumpAddress)();
}
Is the jump to bootloader software correct.? Bootloader starts from location 0?
The bootloader loader software has a few printf lines. Sometimes, after the jump, nothing appears on the screen. Sometimes the bootloader menu appears. After doing a power off and on, the bootloader menu will appear.
Boot loader menu:
================== Main Menu ==========================
1. Download Application Image To the Internal Flash
2. Upload The Application Image From the Internal Flash
3. Execute The Application Code
2. When a jump occurs and the bootloader menu appears. When command "1" is entered to download the application, there is the '"C" command from mcu and the teraterm which I am using will start the ymodem transfer..
However, after sending the first 128bytes to the mcu, the mcu will stop responding. We call this a hang situation. Why did the mcu hang? When I do a power off/on, the bootloader menu will appear and the download will perform normally. Why is it that a power off/on is needed to enable proper working of the bootloader. Is it possible to have a solution whereby we can move easily between bootloader and application and back to bootloader without external power off/on?
Looking forward to your reply. The matter is urgent. Thanks.