嵌入式 uboot修改spi-flash分割槽示例
0x000000000000-0x000000040000 : "boot"
0x000000040000-0x000000060000 : "env"
0x000000060000-0x000000080000 : "conf"
0x000000080000-0x000000380000 : "kernel"
0x000000380000-0x000000e80000 : "rootfs"
/*
0x000000000000-0x000000040000 : "boot"
0x000000040000-0x000000060000 : "env"
0x000000060000-0x000000080000 : "config"
0x000000080000-0x000000380000 : "kernel"
0x000000380000-0x000000e80000 : "rootfs
bootargs=mem=64M console=ttyAMA0,115200 root=/dev/mtdblock4 rootfstype=jffs2 mtdparts=hi_sfc:256k(boot)ro,128k(env),128k(config),3072k(kernel),11264k(rootfs)
bootcmd=sf probe 0;sf read 0x82000000 0x80000 0x300000;bootm 0x82000000
bootdelay=1
baudrate=115200
ethaddr=00:00:23:34:45:66
ipaddr=192.168.1.10
serverip=192.168.1.2
netmask=255.255.255.0
bootfile="uImage"
stdin=serial
stdout=serial
stderr=serial
verify=n
ver=U-Boot 2010.06 (Nov 01 2013 - 15:28:44)
Environment size: 459/262140 bytes
*/
setenv bootargs mem=64M console=ttyAMA0,115200 root=/dev/mtdblock4 rootfstype=jffs2 mtdparts=hi_sfc:256k(boot)ro,128k(env),128k(config),3072k(kernel),11264k(rootfs)
speed 1000
4、首先用初始化程式碼初始化記憶體(建議將log檔案裡面的命令拷貝出來一條條執行)
J-Link>loadbin g:\3518\uboot_tools\3518a.log 0
####注意:3518a.log 是我由原來的3518a.log改寫的binary檔案,如果使用海思給的log檔案,把裡面的命令敲進去就行了
Loading binary file... [g:\3518\uboot_tools\3518a.log]
Writing bin data into target memory @ 0x00000000.
5、設定pc指標
J-Link>setpc 0
6、執行
J-Link>go
7、載入uboot.bin
J-Link>loadbin g:\3518\uboot_tools\3518a.bin 0x80800000
Loading binary file... [g:\3518\uboot_tools\3518a.bin]
Writing bin data into target memory @ 0x80800000.
8、設定uboot執行地址
J-Link>setpc 0xXXXX XXXX
9、執行
J-Link>go
這時,如果順利,在串列埠可以看到相應的uboot列印資訊。
uboot:
jload
sf probe 0;sf erase 0x0 0x80000;sf write 0x82000000 0x0 0x40000
setenv bootdelay 5
saveenv
kernel:
sf probe 0;mw.b 82000000 ff 300000;jload;sf erase 80000 300000;sf write 82000000 80000 300000
setenv bootcmd sf probe 0\;sf read 0x82000000 0x80000 0x300000\;bootm 0x82000000
printenv
fs:
sf probe 0 ;mw.b 82000000 ff B00000 ;jload;sf erase 380000 B00000 ;sf write 82000000 380000 B00000
(380000~C7FFFF)
手動啟動檔案系統:
setenv bootargs mem=64M console=ttyAMA0,115200 root=/dev/mtdblock4 rootfstype=jffs2 mtdparts=hi_sfc:256k(boot)ro,128k(env),128k(config),3072k(kernel),11264k(rootfs)
sf probe 0;sf read 0x82000000 0x80000 0x300000;bootm 0x82000000