Other Parts Discussed in Thread: CONTROLSUITE
Hi,
Customer is using F28377S for their application. Now they are doing their personal bootloader.
The details are:
1) The bootloader will be loaded at Flash 0x80000, user application will be loaded at 0x88000 through bootloader;
2) Bootloader and their application are two different projects, with their own coststartbranch;
3) Now the bootloader can erase/program/verify Flash successfully; user applications works well if it is loaded separately;
4) The boot logic is simple as, bootloader get the command and then erase/program/verify Flash. Everything is OK here.
5) Issue happened at asm ("LB #0x88000") in bootloader code. After user code programmed, reset is initiated by WD. Bootloader main() is executed again. As user code already programmed, so there's asm ("LB #0x88000") to switch to user application. It failed to switch there. In debug mode, C28 went to NMI.
Some other tests are tried, without any improvement: 1) clean RAM; 2) separate the RAM for bootloader and user application.
Some other info:
1) The user application code in Flash was check, they were totally the same in bootloader erase/program/verify and JTAG erase/program/verify.
2) In bootloader, switch to bootloader itself like asm ("LB #0x80000"), it was successful.
3) Codestartbranch was check, no issue founded.
4) They are also using the same logic in F28377D and F28335, it can successfully switch to user application by asm ("LB #0x88000").
Where can be the issue? Is there some points missed?
Thanks a lot.
Br, Jordan