2016-11-17 2 views
1

Pour un projet sur lequel je travaille,
Exécution sur PowerPC MPC-8641d, VxWorks6.6.VxWorks 6.6 sur la séquence de démarrage PowerPC _sysInit() opcode bizarity

Je dois lancer une image VIP d'un autre projet VIP.
Recherche de la séquence de démarrage, il semble que le chargeur d'amorçage est la suivante:
lecture de l'en-tête binaire de l'image,
copier l'image binaire (sans le RDH) à 0x100000
et saute à 0x100000 (où _sysInit()) est situé.

faire la même chose que le chargeur de démarrage, fige CPU à l'adresse 0x100004h

lire le contenu de 0x100000 a révélé la décharge suivante:

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 
bien

, 0x484401FC ressemble à la fonction Prolog, mais, 0xBAADC0DE doit être une blague!

Comment fonctionne mon VIP en appelant cette adresse.
ai-je oublié autre chose?

Répondre

1

0x484401FC est b 0x4401fc, il devrait donc être à 0x4401fc et ramification n'exécuter l'instruction à 0x100004 (à moins qu'il retourne, mais la branche-t-elle fixerait pas LR doivent donc retourner manuellement).

+0

merci, je vais vérifier ce dimanche, c'est utile. Merci. –