Raspberry PIでhttps://github.com/gonzoua/u-boot-pi/tree/rpiから u-boot をコンパイルしてインストールしました。よく働く。正常に起動し、うまく機能します ( http://arrizza.org/wiki/index.php/RPI_U-bootを参照)。実行可能ファイルの s-rec バージョンを使用して、サンプル アプリを読み込むことができます。
ここで、イメージを作成し、それを SD カード (u-boot イメージがあるのと同じ SD カード) に置き、そのイメージをロードして実行したいと思います。これは s-rec プロセスと同じです。s-rec 経由でイメージをロードし、「go」を使用して実行しますが、シリアル ポート経由でロードする代わりに、sd カードからイメージを取得するだけです。
私は使用してみました:
load mmc 0 0x0100000 hello_world.bin
その後
go 0x0100000
それは大丈夫です:
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 ...
ただし、rPI は自己再起動します。
同じ結果でファットロードも試しました
./imagetool-uncompressed.py を使用してイメージを作成してから、load または fatload を使用して移動しようとしましたが、喜びはありませんでした
bootm で load/fatload を試しましたが、まだうまくいきません
私が試すことができる他のものはありますか?
ジョン
更新: @microMolvi は、私が間違ったアドレスを使用したことを指摘しました。私はそれを再実行しました:
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>
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>