2024-11-03 05:29 PM
Hello, IAP have problem that jump to app.
MCU : Stm32f303cbt6
- boot side
a. STM32F303CBTX_FLASH.ld
b. main.c
c. main.h
- app side
a. STM32F303CBTX_FLASH.ld
b. system_stm32f3xx.c
Thanks.
2024-11-03 07:33 PM
>> 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
2024-11-03 08:03 PM
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?
2024-11-03 08:17 PM
Because there's only 128KB in the part, and you're starting 48K (0xC000) in... that kind of why
2024-11-03 10:13 PM
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.
2024-11-04 02:33 AM - edited 2024-11-04 04:28 AM
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.
2024-11-04 05:35 AM
Look at this thread:
- see my remark under the main article