Есть два аналогичных проекта. Сравнивая потабово свойства проектов, различий не вижу.
Насколько я понимаю, размер стека задается в файле startup_stm32f10x_md.s таким образом:
Код
Stack_Size EQU 0x00000400
AREA STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem SPACE Stack_Size
__initial_sp
...
__Vectors DCD __initial_sp ; Top of Stack
DCD Reset_Handler ; Reset Handler
DCD NMI_Handler ; NMI Handler
DCD HardFault_Handler ; Hard Fault Handler
DCD MemManage_Handler ; MPU Fault Handler
При этом в одном проекте SP инициализируется значением 0x200004D0, в другом 0x200008F0AREA STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem SPACE Stack_Size
__initial_sp
...
__Vectors DCD __initial_sp ; Top of Stack
DCD Reset_Handler ; Reset Handler
DCD NMI_Handler ; NMI Handler
DCD HardFault_Handler ; Hard Fault Handler
DCD MemManage_Handler ; MPU Fault Handler
Вопросы:
- Как образуются эти числа? Я ожидал видеть там 0x20000400
- Что находится под стеком?