최소한의 파일
main, start_up, .ld ( linkedlist )
ldscript : 메모리 할당
startup : main함수 직전까지
/* Highest address of the user mode stack */
_estack = ORIGIN(RAM) + LENGTH(RAM); /* end of "RAM" Ram type memory */
> 스택은 끝주소부터 점점 작아짐
.section .isr_vector,"a",%progbits
.type g_pfnVectors, %object
g_pfnVectors:
.word _estack // >> 스택 ,즉 끝부분 부터 시작
.word Reset_Handler // 그다음 리셋핸들러 함수로 jump
.word NMI_Handler
.word HardFault_Handler
.word MemManage_Handler
.word BusFault_Handler
.word UsageFault_Handler
디버그 > .map > 코드들의 주소들을 알 수 있음
.isr_vector 0x08000000 0x130 ./src/bsp/startup/startup_stm32f103c8tx.o ( 위치 )