Bootloader Issue

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
EdHa_4455331
Level 5
Level 5
25 replies posted 25 sign-ins 10 replies posted

I've been trying to get my BLE over-the-air (OTA) device firmware update (DFU) to work. My bootloader is just a stripped down version of the CE16767 example code. I am fairly sure that it is working right because CySmart has no problem downloading my code and then after the download the system gets through the soft reset all the way the call to SwitchToApp(stackPointer, resetHandler) in  Cy_DFU_SwitchToApp(uint32_t appId).  The system then seems to lock up in the assembler code in Cy_DFU_SwitchToApp.

In Cy_DFU_SwitchToApp, stackPointer gets set to 0x08008000, which just doesn't seem right. To the best of my understanding, 0x08008000 is the starting address of core1 of the bootloader and the stack start for the main app should be at the end of the ram allocated to App1. 

So my best guess is that I've somehow botched the updates I had to make to the 4 dfu_cm*.ld linker scripts. I have attached those scripts. Can anybody spot anything I bungled in them? Or do they look like they should be fine as is and I should look elsewhere?

Thanks for any and all help,

Ed H.

 

0 Likes
1 Reply
lock attach
Attachments are accessible only for community members.
VenkataD_41
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi Ed,

Are you able to run the code example directly without any issues? If yes, can you please attach the stripped down version of code example? We would like to try here. If not, please try whether the attached code example is working for you.

Thanks 

Ganesh

 

 

0 Likes