zoukankan      html  css  js  c++  java
  • 烧写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

  • 相关阅读:
    VC项目配置基础 (VC6.0 和VC2005)
    使用VC2005编译静态应用程序的方法
    静态库中使用MFC编译出现错误,共享DLL使用则正常的解决方案
    从来没有天才 靠自己创造未来——Leo鉴书(29)
    __super in MFC
    c:forEach传递参数(jsp)
    :first选择器(jQuery)
    prev ~ siblings选择器(jQuery)
    windbg 基础命令实战
    查看Linux版本系统信息方法汇总
  • 原文地址:https://www.cnblogs.com/fengdashen/p/3296615.html
Copyright © 2011-2022 走看看