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>
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok, es sieht aus wie Sie können nicht einfach laden Sie die bin-Dateien, einfach überall.
Hier ist, was ich getan habe:
1) ich reloaded den s-rec version
Beachten Sie die "Start-Adresse", es ist 0x0C10-00000
2) ich änder das rPI geladen und dann die bin auf 0x0C10-0000
3) und führen Sie es aus das gleiche addr:
Ich bin nicht sicher, wo die Standard-Adresse 0x0C10-0000 kommt, also an dieser Stelle ich weiß nicht wie ich es ändern bei der Erstellung/link noch nicht, aber es ist hier dokumentiert:
Dieser sagt, dass die ARM-basierten boards wie rPI geladen werden und begann in 0x0C10-0000:
Die Standard-laden und starten-Adressen der Anwendungen sind wie folgt:
InformationsquelleAutor JohnA
In arch/arm/config.mk es ist:
In der Datei examples/standalone/.hello_world.cmd
Hier die -Ttext ist 0xc100000. Das bedeutet, dass hello_world Eintrag Adresse ist 0xc100000. Also die Hallo.bin müssen geladen werden, um Speicher-Adresse 0xc100000.
InformationsquelleAutor sun wang