임베디드/펌웨어 기초

초기설정

twoweeks-within 2025. 1. 2. 19:29

최소한의 파일

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 ( 위치 )

'임베디드 > 펌웨어 기초' 카테고리의 다른 글

reset  (0) 2025.01.08
cdc 2  (0) 2025.01.05
USB CDC  (0) 2025.01.04
stm32 mx >LED  (1) 2025.01.03