inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

ARM Cortex-M 프로세서 프로그래밍

s532_익셉션 리턴 사례 분석(feat. 버튼키)

r7 레지스터 관련 질문 드립니다.

해결된 질문

449

김상현

작성한 질문수 62

1

강사님. 강의 잘 보고 있습니다.

r7 레지스터가 강의 초반부에 스택 포인터와 관련된 레지스터라고 말씀해주셨던 것 같은데 왜 필요한지 잘 이해가 가지 않습니다.

익셉션 호출시 하드웨어에서 자동으로 sp를 포함한 8개의 레지스터를 저장한다고 강의에서 설명해주셨는데, 왜 따로 r7에 스택 포인터를 저장하고 필요시 저장까지 하는지 이해가 필요할 것 같습니다.

임베디드 arm-architecture cortex

답변 1

0

홍영기

안녕하세요. 김상현님!

R7 레지스터는 Cortex-M 프로세서에서 기본적으로 프레임 포인터(Frame Pointer) 역할을 합니다. 프레임 포인터는 함수 호출 스택 프레임을 관리하는 데 사용되며, 스택 프레임의 기준 주소를 저장합니다. 이를 통해 함수 호출이 발생할 때마다 스택 메모리에 할당된 영역을 관리하고, 로컬 변수와 매개변수의 주소를 추적할 수 있습니다.

그러나 레지스터의 역할은 컴파일러나 개발자의 선택에 따라 달라질 수 있습니다. 특정 경우에는 R7 레지스터를 다른 목적으로 사용하거나 프레임 포인터를 사용하지 않을 수도 있습니다. 이는 최적화 또는 특정 애플리케이션의 요구 사항에 따라 결정됩니다

stm32cubeide 관련 문의

0

46

2

DMA 관련한 강의도 제작해주실 수 있으신가요 ?

0

95

1

그림들도 해석 할 수 있어야 하나요?

1

100

2

no-stlink

1

80

2

4개의 CPU 사이클이 필요한 이유

1

100

2

MAC으로 진행 질문드려요..

1

95

2

학습 진행 시, 사용하는 Board에 대한 문의 드립니다!

0

159

2

push pop 질문

1

190

2

STM32Fx Cortex ARM 프로그래밍 저자:홍봉조, 출판사:지식과 감성

0

242

1

CORTEX_02_ASSEMBLY 빌드시 에러

1

270

1

외부 ST Link 연결 이용한 SWD 방법

0

339

1

파이프라인과 명령어

1

327

1

명령어 fetch

0

238

1

lr 레지스터 LSB 값

1

258

1

Disassembly 창 문제

0

349

1

s702 강좌에서 사용한 technical reference manual 문서

1

325

1

s702에 원자적 Access 를 위한 BSRR 코드작성 부분에 대해서

1

271

1

s202 LED 점등 예제 실행시 에러

2

351

1

STM32F429I-DISC 보드의 펌웨어

2

394

1

제공되지 않은 강의교재

0

319

1

s524 테일체이닝 강의 질문

0

234

1

부트코드와 부트로더의 차이점

1

1525

1

메모리 맵 질문

0

280

1

xPSR 레지스터 플래그 값 및 기타 질문 드립니다.

1

862

2