嵌入式 uboot修改spi-flash分区示例

来源:互联网 发布:mac版美服战网客户端 编辑:程序博客网 时间:2024/05/16 10:16

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

0 0
原创粉丝点击