烧写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