2017-08-11 4 views
0

J'essaie de comprendre les principes de Linux embarqué et je n'arrive pas à comprendre les adresses à la sortie de u-boot.U-boot start address? Et le fichier u-boot.imx contient?

Comment puis-je trouver l'adresse de départ de U-boot?

Par exemple, je conseil MX6-SabreSD basé sur le processeur quad i.MX6 et je suis arrivé sortie suivante de U-Boot:

U-Boot 2015.10-rc3 (Aug 10 2017 - 13:33:34) 

CPU: Freescale i.MX6Q rev1.2 at 792 MHz 
Reset cause: POR 
Board: MX6-SabreSD 
DRAM: 1 GiB 
MMC: FSL_SDHC: 0 
No panel detected: default to LDB-WVGA 
Display: LDB-WVGA (800x480) 
In: serial 
Out: serial 
Err: serial 
Net: using phy at 6 
FEC [PRIME] 
Warning: FEC MAC addresses don't match: 
Address in SROM is   00:c0:08:88:a5:e6 
Address in environment is 00:c0:08:88:9c:ce 

Hit any key to stop autoboot: 0 
Booting from mmc ... 
4788388 bytes read in 303 ms (15.1 MiB/s) 
## Booting kernel from Legacy Image at 12000000 ... 
    Image Name: Linux-3.0.35 
    Image Type: ARM Linux Kernel Image (uncompressed) 
    Data Size: 4788324 Bytes = 4.6 MiB 
    Load Address: 10008000 
    Entry Point: 10008000 
    Verifying Checksum ... OK 
    Loading Kernel Image ... OK 

Starting kernel ... 
+1

voulez-vous l'adresse d'exécution de uboot dans la RAM? – Rajeshkumar

+0

Ouais, j'ai besoin de savoir l'exécution de l'adresse u-boot en RAM peut-on m'aider s'il vous plaît? – Ashokkumar

+0

Où l'uboot est-il stocké? est-ce en flash? – Rajeshkumar

Répondre

3

adresse de début U-boot?

L'adresse de début de U-Boot est spécifiée en utilisant le symbole CONFIG_SYS_TEXT_BASE, qui est généralement défini dans le fichier d'en-tête de configuration de la carte, à savoir comprennent/configs/.h.
Pour une carte i.MX6, cette valeur est généralement 0x17800000.
Mais l'exécutable se déplacera lui-même dans la RAM supérieure.
L'adresse de démarrage peut être confirmée en consultant les fichiers System.map ou u-boot.map si vous avez les fichiers de construction.

et le fichier u-boot.imx contient?

Le fichier u-boot.imx est l'image binaire utilisé par le code d'amorçage de la ROM de i.MX SoC.
Il se compose de l'exécutable standard u-boot.bin, mais est précédé d'un en-tête d'octet 0xC00.
Les détails se trouvent dans le fichier de documentation U-Boot doc/README.imximage, qui décrit comment créer le fichier binaire et l'écrire sur un support.

Comment puis-je trouver l'adresse de départ de U-boot?

L'adresse de départ semble être conservé à 0x4 offset (et l'adresse de chargement à 0x14) du fichier u-boot.imx (bien que je ne parviens pas à trouver confirmation).

Le fichier u-boot.imx est stocké sur votre carte SD à partir du troisième secteur (c'est-à-dire le décalage d'octet 0x400). Voir embedded linux ARM booting address pour l'écriture du binaire dans la carte SD.