Comment puis-je trouver Linux ARM point d'entrée quand il ne parvient pas à décompresser?

Je suis en train de démarrer Linux via U-boot sur une carte personnalisé avec j'ai.MX6 (CPU core ARM Cortex A9)

Nous semblent avoir porté Das U-Boot(2009.08) avec succès. Mais le démarrage de Linux ne parvient pas à le dernier U-Boot message: "à Partir du noyau ..."

Voici mon environnement:

bootargs=console=ttymxc1,115200 vmalloc=400M root=/dev/mmcblk0p1 rootwait consoleblank=0 earlyprintk video=mxcfb0:dev=lcd,LCD-ORTUS,if=RGB24 video=mxcfb1:dev=hdmi,1280x720M@60,if=RGB24 calibration tsdev=tsc2004 fbmem=10M,28M
bootcmd=ext2load mmc 0:1 10800000 /boot/uImage ; bootm 10800000

Le démarrage de la production est

Loading file "/boot/uImage" from mmc device 0:1 (xxa1)  
4043552 bytes read  
## Booting kernel from Legacy Image at 10800000 ...  
   Image Name:   Linux-3.0.35  
   Image Type:   ARM Linux Kernel Image (uncompressed)  
   Data Size:    4043488 Bytes =  3.9 MB  
   Load Address: 10008000  
   Entry Point:  10008000  
   Verifying Checksum ... OK  
   Loading Kernel Image ... OK  
OK  

Starting kernel ...  

Quand je objdump le noyau, à l'adresse 80008000, je vois le point d'entrée à arch/arm/kernel/tête.S, et pas arch/arm/boot/comprimé/tête.S

Ce que je vois est, le noyau n'a même pas le décompresser. J'ai essayé d'ajouter certaines registre de manipulation de code de signal GPIOs comprimé/tête.S avec pas de réponse.

Ma question est, comment puis-je m'assurer de U-Boot appelle le bon point d'entrée?

Exactement le même noyau binaire avec succès les bottes de Freescale de référence du conseil d'administration, en utilisant le même U-Boot commandes.

EDIT: j'ai ajouté quelques traces de U-Boot. Juste avant d'appeler le noyau, le pointeur theKernel est 10008000 et pas de 10800000. Est-ce à dire U-boot est de sauter au mauvais endroit?

  • Avez-vous des JTAG? Si si, il suffit de le déboguer.
  • Je pense que le Noyau va commencer qu'après la décompression, après le démarrage du noyau d'impression, le noyau va sauter à l'entrée du noyau de la fonction u-boot obtient à partir du noyau de l'image d'en-tête. Vous avez copié noyau compressé à partir du support de démarrage de 10800000, bootm commande va décompresser et mettre le noyau sur la bonne adresse de chargement qui est 10008000, 32K limite de la RAM adresse de départ. Si elle n'est pas de démarrer, puis très probablement la raison est l'identifiant de la machine. Je voudrais savoir quelle est la bonne raison?
InformationsquelleAutor Atilla Filiz | 2013-08-22