开发板启动和烧写全过程总结-- hegz

1.借助DNW 工具,通过usb 将 uboot 到SDROM 里面

 A.将开发板拨码开关 拨到从usb启动

(第一次连接要装usb驱动) 启动DNW工具 ,在DNW里面设置uboot加载到的目标地址(这个地址是uboot 在SDROM里面的.text_base 段,如我的s5pc100的是 0X27e0 0000); 然后下载一个内存初始化工具usbinstaller_ddr2 

如下图所示:

烧录主板bios的文件格式 烧录主板bios教程_文件系统

然后配置好超级终端的波特率:如下图

烧录主板bios的文件格式 烧录主板bios教程_烧录主板bios的文件格式_02

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实际下载的文件大小。

如下图:

烧录主板bios的文件格式 烧录主板bios教程_开发板_03


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 支持的命令