inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

IRQ, FIQ 인터럽트 익셉션 실행 흐름

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

335

토끼야놀자

작성한 질문수 20

0

07:20 시각의 강의에서 "익셉션 벡터 베이스 주소" 라는것은 각 레벨별 베이스 주소가 맞는지 문의드립니다. 예를 들어서 다음과 같은지 문의드립니다.

EL1에서 IRQ 인터럽트 익셉션 발생: VBAR_EL1 + 0x280

EL0(Aarch64)에서 IRQ익셉션 발생: VBAR_EL0 + 0x480

EL0(Aarch32)에서 IRQ익셉션 발생: VBAR_EL0 + 0x680

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

답변 1

0

김동현 (Austin Kim)

아래와 같이 답변드리니 참고 부탁드립니다.

 

1. EL1에서 IRQ 인터럽트 익셉션 발생:

'VBAR_EL1 + 0x280' 기준 주소로 프로그램 카운터가 업데이트됩니다.

 

2. EL0(Aarch64)에서 IRQ익셉션 발생:

'VBAR_EL0 + 0x480'으로 업데이트되지 않습니다.

(VBAR_EL0은 존재하지 않는 시스템 레지스터입니다.)

 

EL0에서 EL1으로 익셉션 레벨이 스위칭되면서,

'VBAR_EL1 + 0x480' 기준 주소로 프로그램 카운터가 업데이트됩니다.

 

3. EL0(Aarch32)에서 IRQ익셉션 발생:

'VBAR_EL0 + 0x680'으로 업데이트되지 않습니다.

(VBAR_EL0은 존재하지 않는 시스템 레지스터입니다.)

 

EL0에서 EL1으로 익셉션 레벨이 스위칭되면서,

'VBAR_EL1 + 0x680' 기준 주소로 프로그램 카운터가 업데이트됩니다.

 

감사합니다.

0

토끼야놀자

답변 감사합니다.

안녕하세요. 계속 프로젝트를 해야지 하다가 결제하고 환경 설정 중입니다.

0

15

1

13강 프로젝트생성해보기 관련 질문

0

26

3

LPDDR4의 VDD2 / VDDQ 전원 질문

0

24

1

벅컨버터 사용 및 그라운드 분리

0

45

2

ODT_CA 셋업 관련 문의

0

33

1

CS에 관한 질문

0

23

1

스택에 PUSH되는 PC 값

0

69

2

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

0

127

2

LDM

0

88

1

TRACE32 debugging

0

108

1

interrupt service

0

89

2

vbar register

0

65

1

vbar register

0

66

2

System call register

0

82

2

GIC programmer model

0

110

1

exception handler code

0

100

2

arm mode

0

125

2

exception vector table

0

82

1

exception 문제

0

92

1

exception handler 구현

0

108

2

Exception Level 설정 관련 질문

0

140

2

Current EL 관련 질문

1

190

1

강의자료 요청

0

298

2

LDP 명령어 사용예시

0

503

2