Ton CPU reset, en général suivant l'état de certaines pins il exécute (grace à une rom interne) un chargement de binaire dans un format spécifique (contenant un en-tête indiquant l'adresse mémoire destination et la longueur du flux binaire au minimum). Les pins indique que le flux binaire est lu sur une flash spi, carte sd, usb ou encore uart.
Ce flux binaire est ton fichier u-boot.bin (et par exemple doit être en offset 0 de la carte SD ).
Ce U-Boot procèdes à l’initialisation d'unes partie des périphériques de ton micro (définitions des horloges de la DRAM par exemple) et en général à l'initialisation d'un uart pour avoir des traces, voir une interaction (mini terminal).
Il permet aussi des de pouvoir "mounter" un fs présent sur une emmc ou sdcard pour charger une image bootable d'un kernel linux et lui passer des paramètres (comme en ligne de commande) c'est ton fichier uImage (qui peut tout aussi bien avoir été stocké dans une flash spi, je dis juste "mounter" dans un sens très large du terme)
A tout système linux qui boot il faut un système de fichier pour lire/stocker les applications plus lourde,les lib systèmes etc... c'est le reste de ton jffs2.img
En bref,
La rom de ton cpu permet de charger et lancer u-boot
U-Boot demarre le minimum de chose pour charger (en mémoire ou execute in place)/démarrer le kernel linux
Le kernel initialise le reste et rend les services nécessaire aux applications Nota : U boot est spécifique à chaque micro (car lié aux périphérique présent, controleur dram uart etc) il n'est pas transposable facilement du RPI à autre chose sans bien être sur que le micro cible n'est pas celui du RPI.
# POR->Boot process->Running
Posté par TheBreton . En réponse au message Etude d'un système ARM et reverse. Évalué à 5. Dernière modification le 27 mars 2018 à 19:00.
Ton CPU reset, en général suivant l'état de certaines pins il exécute (grace à une rom interne) un chargement de binaire dans un format spécifique (contenant un en-tête indiquant l'adresse mémoire destination et la longueur du flux binaire au minimum). Les pins indique que le flux binaire est lu sur une flash spi, carte sd, usb ou encore uart.
Ce flux binaire est ton fichier u-boot.bin (et par exemple doit être en offset 0 de la carte SD ).
Ce U-Boot procèdes à l’initialisation d'unes partie des périphériques de ton micro (définitions des horloges de la DRAM par exemple) et en général à l'initialisation d'un uart pour avoir des traces, voir une interaction (mini terminal).
Il permet aussi des de pouvoir "mounter" un fs présent sur une emmc ou sdcard pour charger une image bootable d'un kernel linux et lui passer des paramètres (comme en ligne de commande) c'est ton fichier uImage (qui peut tout aussi bien avoir été stocké dans une flash spi, je dis juste "mounter" dans un sens très large du terme)
A tout système linux qui boot il faut un système de fichier pour lire/stocker les applications plus lourde,les lib systèmes etc... c'est le reste de ton jffs2.img
En bref,
La rom de ton cpu permet de charger et lancer u-boot
U-Boot demarre le minimum de chose pour charger (en mémoire ou execute in place)/démarrer le kernel linux
Le kernel initialise le reste et rend les services nécessaire aux applications
Nota : U boot est spécifique à chaque micro (car lié aux périphérique présent, controleur dram uart etc) il n'est pas transposable facilement du RPI à autre chose sans bien être sur que le micro cible n'est pas celui du RPI.