Boot Code Design

최고운·2025년 4월 9일

TO DO :

ARM Boot Code Design 교육 이후 실무에서 사용하는 SPC58xx MCU 분석해보고자 내용 정리


< 분석 내용 >

(1) BOOT ID가 있으므로 SSCM reset vector address를 읽는 것으로 이해.  
(2) 38이 시작 주소이므로 38번지부터 코드를 실행하는 것으로 이해 

38번지는 스타트업 코드에 존재하는 주소다.

< Q&A >

(1) 38번지부터가 reset vector가 맞는지 궁금하고 맞다면 어떻게 해석해야 하는지 궁금
(2) MAP 파일을 확인하면 0x00008000번지는 제가 알고 있기로는 virtual vector table 주소로 알고 있음. 그래서 벡터들이 들어있을 거 같다는 생각이 들어 혼동
  • SPC58xx 제품의 경우 아래와 같이 부팅을 할수 있는 주소가 5곳
    ( Boot sector 0 ~ 5 )


IVT(Interrupt Vector Table )

Core에서 인터럽트 발생하면 무조건 해당 번지로 이동
해당 번지에 기록된 주소 참고하여 인터럽트 서비스 루틴(ISR) 실행
Ex> External Input 인터럽트 발생
① Core는 무조건 0x0000 0010 이동
② 기록된 주소 0x0000 044D로 이동
③ 0x0000 044D에 있는 ISR 실행

profile
sw developer

0개의 댓글