ARM : 이상감지 > Exception 처리
: Recovery (Abort 발생) or Exception 발생하지 못하도록 알려줌
보통 Embedded)
: Abory (중단) 발생!
recovery 대신 HW적인 reset 함수로 branch
: Target 동작중 reset > Abort Hanler에 Debugger로 break !
ex) HW적으로 High Exception Vector를 사용하는 system
Power on > 0xFFFF0000 영역의 Reset Handler 에 PC가 자리잡음
// 0xFFFF0000 : High EVT , bootloader 가 있음
// NOR Flash
Bootloader
1. Power on > Reset Vector 로 PC set
2. CLK의 주파수, PLL 초기화
3. SDRAM 메모리 제어기 초기화
4. SDRAM : Exception view 에 맞게 binary 복사
5. SVC, USR, ABT , IRQ, FIQ, Undef 등 stack 초기화
6. BSS 영역 초기화
7. Exception Vector : LOW Vector 로 설정 , 0x0 Reset_Handler로 Branch
Excption Vector 를 High / Low 를 MMU setting을 통해 Regi setting
// V 로 표시
V 0xFFFF0000 : High > Reset_handler (High Vector )
V 0x00000000 : Low > 똑같이 Rset_handler ( Low Vector )
ISR을 system mode에서 실행 // stack 시작 주소 : 0x00FEE730
> Interrupt Nesting , Privileged mode 바꾸기 가능
보통 User mode 에서 Application 사용
> 복잡 > SVC mode에서 User Application / Kernel 모두 실행
'임베디드 > 임베디드 레시피' 카테고리의 다른 글
Interrupt Lock > Watch dog Reset (0) | 2025.01.17 |
---|---|
JTAG interface (0) | 2025.01.17 |
MMU : Memory Management Unit ( 다시보기) (0) | 2025.01.16 |
Cache, Cash (0) | 2025.01.16 |
PLL , M/N:D (0) | 2025.01.15 |