2016-12-15 7 views
0

피질 m3의 다양한 오류 처리기를 파악한 후 이제 재설정 순서 및 재설정 처리기를 연구하고 있습니다. 정상적인 경우 전원 켜기 재설정 후. PC는 초기 msp 값이 저장되는 0x00000000을 가리 킵니다. 그런 다음 0x00000004 리셋 벡터가 유지됩니다. msp 리셋 핸들러를 초기화 한 후의 의미가 호출됩니다. 부트 코드의 경우 cortex m3에서 리셋 순서가 어떻게 수행됩니까?

벡터 테이블 프로세스 부팅 후 재배치 리셋 시퀀스 방법과 어떻게 부트 코드의 경우

+0

내 응용 프로그램에서 부팅 코드를 갖고 싶다면 해당 부팅 코드가 초기 msp 값을 초기화하고 벡터 주소, NMI 벡터 주소 및 하드 오류 벡터 주소를 부팅 코드의 일부로 초기화해야 함을 의미합니다 –

답변

0

프로세서의 리셋 시퀀스에 관계없이 실행되는 코드와 동일하다. 종종 부팅 코드는 벡터 테이블의 위치를 ​​바꿀 수 있으며 "벡터 테이블 오프셋 레지스터"를 사용하여 수행됩니다. 벡터 테이블은 RAM 또는 다른 ROM 위치의 일부 위치로 재배치 될 수 있습니다. 부트 코드는 최소한 초기 메인 스택 포인터 값, 리셋 벡터 주소, NMI 벡터 주소 및 하드 폴트 주소를 정의해야합니다. 마지막 두 가지는 부팅 프로세스 중에 발생할 수 있기 때문에 두 가지입니다.