inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

exception vector table

86

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에 적합한 벡터 테이블 주소를 지정합니다.
    • 커널 코드에서는 이러한 설정을 통해 특정 예외가 발생하면, 해당 예외 상황에 맞는 핸들러 함수가 호출되도록 합니다.

관련된 질문 답변 링크

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

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

FIFO 질문

0

17

2

주파수 응답 특성 그래프 튜닝 방식

0

21

1

USART 통신 문의

0

29

2

전동 킥보드에 사용되는 f767 고출력 모델 문의

0

31

3

111번째 강의까지 진행했는데, 온도 정보 받아오는 게 안돼요.

0

21

1

모터 선정 질문

0

43

2

스택에 PUSH되는 PC 값

0

77

2

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

0

140

2

LDM

0

102

1

TRACE32 debugging

0

113

1

interrupt service

0

99

2

vbar register

0

70

1

vbar register

0

71

2

System call register

0

85

2

GIC programmer model

0

115

1

exception handler code

0

102

2

arm mode

0

129

2

exception 문제

0

97

1

exception handler 구현

0

111

2

Exception Level 설정 관련 질문

0

146

2

Current EL 관련 질문

1

195

1

강의자료 요청

0

303

2

LDP 명령어 사용예시

0

513

2

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

0

341

1