본문 바로가기
전자/임베디드 시스템

STM32 벡터 테이블 구조

by Begi 2022. 4. 11.
반응형

STM32 중 M3 코어를 사용하는 MCU의 벡터 테이블은 다음과 같다.

 

 

주소 0x0000에는 초기 스택 포인터값이 저장된다. MCU가 리셋되면 이 주소를 스택 포인터 값으로 사용한다.

 

주소 0x0004에는 Reset_Hanlder 함수의 주소가 저장된다. MCU가 리셋되면 Reset_Hanlder 함수가 가장 먼저 실행된다.

 

컴파일러 초기 설정을 바꾸지 않았다면 Initial SP Value 주소는 Flash 메모리 시작 위치인 0x08000000이고 Reset 주소는 0x08000004이다.

 

STM32CubeIDE에서는 "startup_stm32***.s" 파일에 다음과 같이 벡터 테이블이 정의되어 있다.

 

 

위 코드에서 Initial SP value의 값은 _estack이다. _estack은 STM32***_FLASH.ld 파일에 다음과 같이 정의되어 있다. _estack은 (RAM 최상위 주소+1)이다.

 

 

Reset_Handler 함수는 startup_stm32***.s 파일에 정의되어 있다.

 

 

반응형

'전자 > 임베디드 시스템' 카테고리의 다른 글

STM32 5V Tolerant Pin (FT)  (0) 2022.05.05
STM32L1 시리즈  (0) 2022.05.03
STM32의 벡터 테이블 주소  (0) 2022.04.11
STM32F0 시리즈 종류  (0) 2022.04.10
라즈베리파이 상태 LED  (0) 2022.04.07

댓글