2016-11-17 21 views
1

현재 작업중인 프로젝트의 경우
PowerPC MPC-8641d, VxWorks6.6에서 실행됩니다.PowerPC 부팅 시퀀스의 VxWorks 6.6 _sysInit() opcode bizarity

다른 VIP 프로젝트에서 VIP 이미지를 실행해야합니다. 이 부트 로더는 것 같다 부팅 순서 조사
: 이미지의 바이너리 헤더를 읽어
,
0x100000
로합니다 (HDR없이) 바이너리 이미지를 복사 0x100000로 이동을 (여기서 _sysInit()) 위치.

48 44 01 FC BA AD C0 DE 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
... 
... 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 

아니라, 0x484401FC이 , 기능 프롤로그과 같습니다 부트 로더와 같은 일을하고

, 0x100000의 내용을 읽기 주소 0x100004h

에서 내 CPU 동결은 다음과 덤프를 밝혀 그러나 0xBAADC0DE은 농담이어야합니다!

내 주소는 어떻게 불러야합니까?
내가 다른 것을 잃어 버렸습니까?

답변

1

0x484401FCb 0x4401fc, 그래서 그것은 0x4401fc로 분기 결코 0x100004에서 명령을 실행하지 않습니다 (이 반환하지 않는, 그러나 분기 LR이 때문에 수동으로 반환해야 설정하지 않음)해야합니다.

+0

주셔서 감사합니다. 일요일에 도움이 될지 확인해 드리겠습니다. 감사. –