cancel
Showing results for 
Search instead for 
Did you mean: 

IAP Jump to application not working

TaronKim
Associate II

Hello, IAP have problem that jump to app.

MCU : Stm32f303cbt6

 

- boot side

a. STM32F303CBTX_FLASH.ld

TaronKim_0-1730683594916.png

b. main.c

TaronKim_1-1730683631898.png

c. main.h

TaronKim_3-1730683694730.png

 

 

- app side

a. STM32F303CBTX_FLASH.ld

TaronKim_2-1730683661036.png

b. system_stm32f3xx.c

TaronKim_4-1730683744559.png

 

Thanks.

 

6 REPLIES 6

>> IAP have problem that jump to app.

Perhaps you could explain WHAT the problem is?

Use the debugger, step the transfer of control.

Perhaps disassemble the code, make sure interfering with the stack frame impacts your use of auto/local variables.

Make sure the vectors don't contain blank FLASH data.

Set the boot FLASH length to 48 KB, reduce the app's to 80 KB

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

This problem is that boot can't jump to app.

When boot work Jump();, boot keep working next step.. not jump.

 

Acutally boot bin file size is under 40KB, why reduce the app's to 80KB?

 

Because there's only 128KB in the part, and you're starting 48K (0xC000) in... that kind of why

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Actually boot size is not big, but application size is big size cause application use FreeRTOS.

Anyway i tested it but problem same.

boot can't jump to app.

Yes probably,  but it stops the Linker building things that won't fit.

You'll need to debug as "not working" is a vast unexplained universe.

Inspect the generated code.

Output diagnostic information so you know what the code is seeing. Check vectors for blank memory.

Add a HardFault_Handler that outputs actionable data. Have Error_Handler output file and line data.

Turn off interrupts you have running.

Step the code and determine where the "not working" starts to happen.

 

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
gbm
Lead III

Look at this thread:

https://community.st.com/t5/stm32-mcus/how-to-share-an-api-between-a-bootloader-and-an-application/ta-p/736681

- see my remark under the main article

My STM32 stuff on github - compact USB device stack and more: https://github.com/gbm-ii/gbmUSBdevice