수업 자료 중 궁금한 것이 있습니다.
401
작성한 질문수 2
올려주신 수업 자료에서 아래 코드를 하는 이유가 hard fault라고 적어 노셨습니다.
아래 코드가 어떤 의미인지 설명 부탁드립니다
SCB->SHCSR = SCB->SHCSR | (7<<16);
답변 1
1
안녕하세요. 김인규님!
CORTEX-M 에서의 오류 유형은 크게 USAGE FAULT, BUS FAULT, MEM MANAGE FAULT 로 나뉩니다. 각각 예외처리 핸들러를 지원하고요. 하지만 실제로 오류가 발생하면 이들 예외처리 핸들러가 실행되지 않고, 하드폴트 핸들러가 대신 실행됩니다. 오류의 원인과 관계없이 디폴트로 하드폴트 핸들러가 실행되도록 구현되어 있기 때문인데요.
Cortex-M 프로세서의 System Handler Control and State Register (SHCSR)은 시스템 핸들러의 활성화 상태와 제어를 위한 특수한 레지스터입니다. SHCSR 레지스터의 16, 17, 18번 비트를 활성화해 놓으면 하드폴트 핸들러가 실행되는 대신, 실제 해당 오류에 해당하는 예외처리 핸들러가 실행되도록 할 수 있습니다.
이와 관련된 강의 영상은 s521_시스템 컨트롤 블록 SCB 13:33 입니다
▲ 출처: cd00228163-cortex-m3-programming.pdf
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





