烧写u_boot系统和linux系统

今天下午准备烧写一下u_boot还有linux系统,因为是笔记本电脑,吐槽一下,笔记本电脑的usb转串口不是怎么稳定,dnw下对应的驱动也不怎么好用,导致在笔记本电脑上烧写系统的成功率比较低,本来三点钟烧写好了,我想在练一下手,又把烧写好的系统擦除了,结果虚拟机VMware出现了问题,导致又重新在网站上下载最新的版本,今天看来烧系统就像爬了一次高山,在但是忙活了一下午终于还是烧写成功了,这里我要感谢网站上愿意分享的大神,谢谢你们提供的帮主,废话少说,进入今天的正题。

 

烧写系统前的材料:linux_imge 和对应的板子上的驱动

linux_image下载地址http://pan.baidu.com/share/link?shareid=954895128&uk=1194036641

驱动下载地址:http://pan.baidu.com/share/link?shareid=949036429&uk=1194036641

系统要求ubuntu上安装有tftp的服务,关于tftp协议的搭建,下面我也给出具体的实践步骤

1、安装软件包:sudo apt-get install tftpd tftp xinetd

2、建立配置文件

 在/etc/xinetd.d/下建立一个配置文件tftp 命令:sudo vi /etc/xinetd.d/tftp

 内容如下:

 service tftp  

{  

    socket_type = dgram  

    protocol = udp  

    wait = yes  

    user = root  

    server = /usr/sbin/in.tftpd  

    server_args = -s /tftpboot  

    disable = no  

    per_source = 11  

    cps = 100 2  

    flags = IPv4  

3、建立tftp服务文件目录,在上面的配置中有server_args = -s /tftpboot,其中/tftpboot这个目录就是上传文件与下载文件的位置。

 命令:sudo mkdir /tftpboot          --创建/tftpboot目录

 命令:sudo chmod 777 /tftpboot -R   --设置权限为777

4、重新启动tftp服务

 sudo /etc/init.d/xinetd restart  --重启tftp服务器

 5、测试

sudo netstat -a | grep tftp      --查看是否启动成功,可以看到udp 0 0 *:tftp *:*

 tftp 192.168.0.200 –g –r xxx

弄好tftp协议之后,接下来就可以烧写系统了

 

记住两个下载地址 0xd0020010,0x23e00000

0xd0020010为gec210_usb.bin文件的下载地址

0x23e00000为uboot,内核文件系统等文件的烧写地址

 

步骤一:打开dnw,配置configuration中的option选项,将baudrate改为115200,com口改为对应设备管理器中显示的com口,将下载地址改为0xd0020010,打开开发板的电源j2(打上去)改为nandflash启动

这时dnw会弹出安装驱动,这时找到对应的驱动,安装即可

点击serial port->connect,usb:ok表示usb线已经和板子正常连接之后点击usb port->transmit,选择linux_image下的gec210_usb.bin文件

下载时,dnw标题栏的usb状态会有usb:0k变成usb:X,然后迅速变回usb:ok,表示gec_210_usb.bin下载成功,这时210的相关寄存器初始化完毕,然后设置dnw的参数,DOwn更改为0x23e00000接下来下载u-boot-yaffs-7Inch.bin点击usb port->transmit

下载完成后,按下回车,串口输出信息:

表示烧写系统已经成功了一半了,但是这里的uboot并没有固化到nand flash中,因此下面要对ubbot进行固化

在dnw中设置参数

通过setenv 命令设置相关参数
# setenv baudrate 115200
# setenv bootdelay 3
# setenv ethact dm9000
# setenv ipaddr 192.168.1.11
# setenv serverip 192.168.1.22
# setenv gatewayip 192.168.1.1
# saveenv

 烧写u-boot,打开虚拟机,将要下载的文件复制到tftpboot文件夹中,这时要下载的是u-boot-yaffs-7Inch.bin

# tftp 0x40000000u-boot-yaffs-7Inch.bin

# nand erase 0x0 0x600000

# nand write 0x40000000 0x0 0x600000
nand boot启动方式启动

重启开发板;

烧写kernel
# tftp 0x40000000 uImage-VGA800X600

# nand erase 0x600000 0x500000


# nand write 0x40000000 0x600000 0x500000


# setenv bootcmd nand read 0x30008000 0x600000 0x500000 \;bootm 0x30008000


# saveenv
重新启动开发板。

烧写fs


# tftp 0x40000000 gec-qt4-rootfs-7.img


# nand erase 0xe00000 0xf200000 //擦除可以擦大点


# nand write.yaffs 0x40000000 0xe00000 0xxxxx(根据下载大小确定)

重新启动开发板即可

烧写流程和使用tftp协议是一样的,这里要注意的是,主机和主板之间必须要拼通,通常要在虚拟机中设置网关,用ifconfig将eth0设置为192.168.1.22,命令为sudo ifconfig eth0 192.168.1.22,在dnw上输入ping 192.168.1.22,这时看主机是否存在,这里有一个小问题,就是你的电脑的无线网卡一定要关闭,否则,将不会拼通,要注意的就是这些,祝大家烧写愉快

 

版权所有,转载请注明链接地址http://www.cnblogs.com/fengdashen/p/3296615.html

posted @ 2013-09-03 11:17  跨七海的风  阅读(1121)  评论(0编辑  收藏  举报