UsageFault_Handler가 실행됩니다
429
작성한 질문수 3
88번 line *p = v; 가 실행된 후 step 하면 UsageFault_Handler가 실행됩니다 ㅠㅠ 무엇이 문제일까요..?
답변 1
2
안녕하세요. 정연우님!
비정렬 액세스를 시도하는 경우 사용자는 HardFault 나 UsageFault 중 하나로 예외처리 함수가 실행되도록 할 수 있습니다.
아래와 같이 코드를 처리하셨다면, 88번 line *p = v; 에서 UsageFault 함수가 실행되는 것이 맞습니다. ㅎㅎ
#define CHECK_UNALIGN
#ifdef CHECK_UNALIGN
SCB->SHCSR = SCB->SHCSR | (7<<16); // 이 코드는 비정렬 액세스시 UsageFault 로 처리되도록 합니다.
SCB->CCR = SCB->CCR | (1<<3); // 이 코드는 비정렬 액세스시 오류(예외)가 발생되도록 처리해줍니다.
#endif
이번 챕터에서는 비정렬액세스라는 것이 어떤 개념인지 정도만 확인하시고, HardFault 나 UsageFault 을 포함한 예외처리에 대해서는 섹션 4. 예외처리와 하드웨어 인터럽트 에서 학습하시면 좋겠습니다.
또 궁금한 점 있으시면 질문남겨주세요 :)
stm32cubeide 관련 문의
0
86
2
DMA 관련한 강의도 제작해주실 수 있으신가요 ?
0
116
1
그림들도 해석 할 수 있어야 하나요?
1
114
2
no-stlink
1
101
2
4개의 CPU 사이클이 필요한 이유
1
110
2
MAC으로 진행 질문드려요..
1
100
2
학습 진행 시, 사용하는 Board에 대한 문의 드립니다!
0
167
2
push pop 질문
1
209
2
STM32Fx Cortex ARM 프로그래밍 저자:홍봉조, 출판사:지식과 감성
0
250
1
CORTEX_02_ASSEMBLY 빌드시 에러
1
276
1
외부 ST Link 연결 이용한 SWD 방법
0
359
1
파이프라인과 명령어
1
336
1
명령어 fetch
0
242
1
lr 레지스터 LSB 값
1
269
1
Disassembly 창 문제
0
357
1
s702 강좌에서 사용한 technical reference manual 문서
1
337
1
s702에 원자적 Access 를 위한 BSRR 코드작성 부분에 대해서
1
279
1
s202 LED 점등 예제 실행시 에러
2
357
1
STM32F429I-DISC 보드의 펌웨어
2
398
1
제공되지 않은 강의교재
0
319
1
s524 테일체이닝 강의 질문
0
242
1
부트코드와 부트로더의 차이점
1
1537
1
메모리 맵 질문
0
291
1
xPSR 레지스터 플래그 값 및 기타 질문 드립니다.
1
874
2





