开发板启动和烧写全过程总结-- hegz
1.借助DNW 工具,通过usb 将 uboot 到SDROM 里面
A.将开发板拨码开关 拨到从usb启动
(第一次连接要装usb驱动) 启动DNW工具 ,在DNW里面设置uboot加载到的目标地址(这个地址是uboot 在SDROM里面的.text_base 段,如我的s5pc100的是 0X27e0 0000); 然后下载一个内存初始化工具usbinstaller_ddr2
如下图所示:
然后配置好超级终端的波特率:如下图
3. 点击 USB Port 加载usbinstall_ddr2 工具,来初始化清空一段内存;然后再点击USB port 加载 你的镜像文件 u_boot.bin; 这时候你会看到超级终端已经跑起来了,这时在倒计时内敲任意键 结束uboot 去进一步引导内核,进入uboot界面
4. 键入 DNW 20008000 (这个地址是你uboot里面配置的 CONFIG_SYS_LOAD_ADDR 的地址);然后 再次 加载uboot.Bin ,这时候uboot.bin 已经进入20008000 ,
将uboot.bin 烧入nandflash 中
nand erase 0 40000;nand write20008000 0 40000
5. 此时 拨码开关可以拨回来了,uboot可以自启动
内核镜像 和文件系统的烧写
内核烧写:
DNW 20008000
然后加载内核镜像
烧写:
#nand erase C00000 F400000;nand write.yaffs 20008000 C00000 454b900
文件系统烧写:
DNW 20008000
加载文件系统镜像
然后烧写:
注意:因为文件系统镜像是yaff2格式,因此nandflash的写命令必须为“nand write.yaffs”,如果不是
yaffs系统,例如是jffs2 文件系统,nandflash 的写命令就是
nandwrite:“#nanderase C00000
F400000;nand write 20008000 C00000 800000”;同时还要注意上面的蓝色部分(文件大小)要输入dnw实际下载的文件大小。
如下图:
7. 可以通过 tftp 挂载内核和文件系统
A.通过上述方法 烧写完 uboot.bin后 开发板自启动 设置环境参数
# printenv 查看环境变量值
# setenv baudrate115200
# setenv ethaddr 11:22:33:44:55:66
# setenv gatewayip 192.168.1.1
# setenv serverip 192.168.1.100 (这个是linux的ip)
# setenv ipaddr 192.168.1.200 (板子的ip)
#setenv netmask 255.255.255.0
#saveenv
B.设置内核启动参数
(tftp 以及 nfs 配置见其我的其他文章总结 )
/// setenv bootcmd .........(待确定)
#setenv bootargs root=nfs nfsroot=192.168.1.100:/source/rootfs/ ip=192.168.1.200 init=/linuxrc console=ttySAC0,115200
#saveenv
将zImage 拷贝到 /tftproot 目录下 文件系统拷贝到/source/rootfs 目录下
tftp 20008000 zImage
go 20008000;
8. 若文件系统与内核都烧入到nandflash里了
内核:
#tftp 20008000 rootfs.cramfs (注意与 yaffs 的区别)
#nand erase 100000 300000
#nand write 20008000 100000 300000
文件系统:
#tftp 20008000
#nand erase 400000 400000
#nand write 20008000 400000 400000
启动参数:
#setnev bootdelay 3
#setenv bootcmd nand read 20008000 100000 300000\;go 20008000
#setenv bootargs root=/dev/mtdblock2 init=/linuxrc console=ttySAC0,115200
#saveenv
重启开发板。。。。Ok
附加: ? 用来查看uboot 支持的命令