For a project I am working on,
Running on PowerPC MPC-8641d, VxWorks6.6.
I need to launch a VIP image from another VIP project.
Investigating the boot sequence it seems that the boot-loader is:
reading the binary header of the image,
copy the binary image (without the hdr) to 0x100000
and jumps to 0x100000
(where _sysInit()) is located.
doing the same thing as the boot-loader, my CPU freeze at address 0x100004h
reading the content of 0x100000
revealed the following dump:
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
well, 0x484401FC
looks like function prolog,
but, 0xBAADC0DE
must be a joke!
How does my VIP run by calling this address.
am i missing something else?
0x484401FC
is b 0x4401fc
, so it should be branching to 0x4401fc
and never executing the instruction at 0x100004
(unless it returns, but the branch doesn't set LR
so it would have to return manually).