Himbeer-u-boot-load-image und führen Sie Bild von sd-Karte

Habe ich kompiliert und installiert u-boot aus https://github.com/gonzoua/u-boot-pi/tree/rpi auf dem Raspberry PI. Funktioniert Super. Es bootet fein und funktioniert Super (siehe http://arrizza.org/wiki/index.php/RPI_U-boot). Ich kann laden Sie die Beispiel-apps mit der s-rec-version der ausführbaren Datei.

Nun möchte ich ein Bild zu erzeugen, legen Sie es auf der sd-Karte (die gleiche sd-Karte die u-boot-Bild ist) und dann laden und ausführen, das Bild. Das ist der gleiche wie der s-rec-Prozess: laden Sie das Bild über s-rec und verwenden Sie dann "go" zu führen, sondern laden über den seriellen Anschluss nur das Bild aus der sd-Karte.

Ich habe versucht mit:

load mmc 0 0x0100000 hello_world.bin

dann

go 0x0100000

lädt es 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 ...

aber der rPI selbst neu gestartet.

  • Ich habe auch versucht fatload mit dem gleichen Ergebnis
  • Habe ich versucht, ein Bild zu schaffen mittels ./imagetool-uncompressed.py und dann mit Last oder fatload und gehen, aber keine Freude
  • Ich habe versucht, laden/fatload mit bootm und immer noch nicht gehen

Etwas anderes für mich zu versuchen?

John

Update: @microMolvi darauf hingewiesen, benutzte ich die falsche Adresse. Ich wieder ran:

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> 

Und hier ist die Ausgabe von 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> 
Hi John, 0x0100000 ist nicht gleich 0x01000000 🙂 Können Sie bitte geben Sie uns die Ausgabe von U-Boot>printenv
Siehe oben für ein update. Ich nehme aus Ihrer Antwort, dass es sollte arbeiten, ok!?
Übrigens habe ich auch versucht: load mmc 0 $loadaddr hello_world.bin und dann go $loadaddr und endlich habe ich auch versucht, laden von hello_world.srec. Dies nur setzen Sie die rPI.
Nein, ich war nicht sicher, über die Vorgehensweise, nur fing die Tippfehler 😀 ich Stand vor dem gleichen problem in der Vergangenheit auf eine arm11mpcore board, und war nicht in der Lage, es zu lösen. Ich werde versuchen, die Lösung, die Sie unten geschrieben, hoffe, es funktioniert für mich 🙂

InformationsquelleAutor JohnA | 2013-06-20

Schreibe einen Kommentar