inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 2부 저자 직강 (2024년 버전)

슈퍼바이저 콜(소프트웨어 익셉션) 실행 흐름

exception vector table

113

platformpjt02

작성한 질문수 12

0

exception vector table 에서 명시된 주소 값은

실제 physical memory 주소 인가요?

그런데 physical memory 주소면 커널이 그 메모리에 들어간 함수를 어떻게 구현하게 되나요..?

 

 

임베디드 arm-architecture 하드웨어-해킹 cpu-architecture armv7 armv8 cortex-a

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. platformpjt02님.

질문 주신 “exception vector table”의 주소와 관련하여 아래의 정보를 참고하시기 바랍니다.

Exception Vector Table의 역할

Exception Vector Table은 CPU에서 발생하는 예외 상황(예: 인터럽트, 시스템 호출 등)을 처리하기 위한 코드의 시작 주소를 명시하는 테이블입니다. ARM 아키텍처에서는 이 벡터 테이블을 통해 특정 예외 상황이 발생했을 때 해당하는 처리 루틴으로 빠르게 접근할 수 있습니다.

Physical Memory와의 관계

  1. Physical Memory 주소: Exception Vector Table에 명시된 주소는 실제로는 시스템에 따라 다를 수 있지만, 일반적으로 이는 물리적 메모리의 주소를 나타냅니다.

  2. 커널에서의 구현: 커널은 시스템의 초기화 단계에서 제어권을 획득하고 나서, Exception Vector Table을 설정합니다. 이때 커널은 각 예외 상황별로 처리 루틴을 메모리에 로드하고, 벡터 테이블을 적절히 업데이트하여 해당 위치를 가리키도록 구성합니다.

    • ARM 아키텍처에서는 VBAR_ELx 레지스터를 사용하여 현재 동작 중인 Exception Level에 적합한 벡터 테이블 주소를 지정합니다.
    • 커널 코드에서는 이러한 설정을 통해 특정 예외가 발생하면, 해당 예외 상황에 맞는 핸들러 함수가 호출되도록 합니다.

관련된 질문 답변 링크

이와 관련된 추가적인 설명이 담긴 질문 및 답변은 다음 링크에서 확인하실 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Vivado 설치 / download 불가

1

9

2

pspice 시뮬레이션

0

19

0

관련 제품 정보 문의

0

26

0

dc bias 고려

0

46

1

안녕하세요. 저전력 B키트 사용해서 DC 모터 구동을 해보려고 합니다.

0

42

2

두번째 SystemClock_Config(): 여기가 디버깅이 계속 안걸려요

0

34

1

스택에 PUSH되는 PC 값

0

132

2

스택공간에 데이터를 저장할 떄

0

181

2

LDM

0

142

1

TRACE32 debugging

0

140

1

interrupt service

0

141

2

vbar register

0

93

1

vbar register

0

107

2

System call register

0

116

2

GIC programmer model

0

147

1

exception handler code

0

132

2

arm mode

0

157

2

exception 문제

0

123

1

exception handler 구현

0

147

2

Exception Level 설정 관련 질문

0

190

2

Current EL 관련 질문

1

231

1

강의자료 요청

0

352

2

LDP 명령어 사용예시

0

560

2

익셉션 벡터 베이스 주소 질문

0

376

1