framboise u-boot chargement de l'image et de l'exécution de l'image à partir de la carte sd

J'ai compilé et installé u-boot de https://github.com/gonzoua/u-boot-pi/tree/rpi sur le Raspberry PI. Fonctionne très bien. Il bottes fines et fonctionne très bien (voir http://arrizza.org/wiki/index.php/RPI_U-boot). Je peux charger l'exemple des applications en utilisant le s-rec version de l'exécutable.

Maintenant, je voudrais créer une image, la mettre sur la carte sd (la même carte sd les u-boot image est sur) et ensuite de charger et d'exécuter cette image. C'est la même que la s-rec processus: charger l'image par s-rec puis utilisez la fonction "aller" à l'exécution, mais au lieu de la charge à travers le port série qui vient d'obtenir l'image de la carte sd.

J'ai essayé d'utiliser:

load mmc 0 0x0100000 hello_world.bin

et puis

go 0x0100000

il charge ok:

U-Boot> fatload mmc 0 0x01000000 hello_world.bin
reading hello_world.bin
594 bytes read in 27222 ms (0 Bytes/s)
U-Boot> go 0x01000000
## Starting application at 0x01000000 ...

mais le rPI auto-redémarre.

  • J'ai aussi essayé fatload avec les mêmes résultats
  • J'ai essayé de créer une image à l'aide de ./imagetool-uncompressed.py et puis, à l'aide de la charge ou fatload et aller, mais pas de joie
  • J'ai essayé de chargement/fatload avec bootm et toujours pas aller

Rien d'autre de disponible pour m'essayer?

Jean

Mise à jour: @microMolvi souligné, j'ai utilisé la mauvaise adresse. Je re-couru:

U-Boot> load mmc 0 0x01001000 hello_world.bin 
reading hello_world.bin
594 bytes read in 27200 ms (0 Bytes/s)
U-Boot> go 0x01001000
## Starting application at 0x01001000 ...
<snip>about 100 garbage characters<snip>
<I pressed Enter here>
## Application terminated, rc = 0x0
U-Boot> 

Et voici la sortie de printenv:

U-Boot> printenv
arch=arm
baudrate=115200
board=rpi_b
board_name=rpi_b
bootargs=dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708.boardrev=0xe bcm2708.serial=0x4e82105a smsc95xx.macaddr=B8:27:EB:82:10:5A sdhci-bcm2708.emmc_clock_freq=100000000 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000  dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
bootcmd=if mmc rescan ${mmcdev}; then if run loadbootenv; then run importbootenv; fi; if run loadbootscript; then run bootscript; fi; fi
bootenv=uEnv.txt
bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr}
cpu=arm1176
filesize=0x252
importbootenv=echo Importing environment from mmc ...; env import -t $loadaddr $filesize
loadaddr=0x00200000
loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}
loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr
mmcdev=0
soc=bcm2835
stderr=serial,lcd
stdin=serial
stdout=serial,lcd
usbethaddr=B8:27:EB:82:10:5A
vendor=raspberrypi

Environment size: 1092/16380 bytes
U-Boot> 
Salut Jean, 0x0100000 n'est pas égal à 0x01000000 🙂 Pouvez vous s'il vous plaît nous donner la sortie de U-Boot>printenv
Voir ci-dessus pour une mise à jour. Je suppose que de votre réponse doit travail ok!?
Par la façon dont j'ai aussi essayé: load mmc 0 $loadaddr hello_world.bin et puis go $loadaddr et enfin j'ai aussi essayé de chargement hello_world.srec. Cette juste réinitialiser le rPI.
Non, je n'étais pas sûr au sujet de la procédure, tout simplement pris la typo 😀 j'ai connu le même problème dans le passé sur un arm11mpcore conseil d'administration, et a été incapable de le résoudre. Je vais essayer la solution que vous avez posté ci-dessous, espérons que cela fonctionne pour moi aussi 🙂

OriginalL'auteur JohnA | 2013-06-20