2018-10-22 09:26 PM
I am making a program with a board made by my company
It is a board using STM32F207
I made a boot loader and decided to jump to 0x08020000 when it started
Then, I made a program and set the vector table to 0x08020000
So the program works well
However, it may not work due to slightly changing programs
I think that it jump to the program normally from the boot loader but hang up immediately after jumping to the program
Just by initializing a variable from a normally working source to a function with memset or the like may cause problems
It is not that it gets strange from the modified place, but the program does not start at all in that one sentence
Modify the vector table of this inoperative program to 0x08000000 and operate normally without boot loader
Debugging is impossible because there is no debugging device
Please help me
This is a part of my program
stm32f207xx_flash.icf
/*-Specials-*/
define symbol __ICFEDIT_intvec_start__ = 0x08020000;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x08020000;
define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF;
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
define symbol __ICFEDIT_region_RAM_end__ = 0x20020000;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x1000;
define symbol __ICFEDIT_size_heap__ = 0x2000;
system_stm32f2xx.c
in void SystemInit(void)
SCB->VTOR = 0x08020000;