GEC210烧录gec_uboot的三种方法

前言:

烧录uboot、kernel、rootfs是开发者使用开发板的第一步,也是之后开发中必须熟悉的一步,通常在开发中是使用uboot中nand命令来烧录,一是工具简单(一个串口工具即可),二是能掌握nand命令的使用。以上的前提是在uboot中进行的,那首先如何烧录uboot呢?如何烧录kernel或者如何自动从tftp服务器下载kernel并启动呢,如何烧录rootfs或者如何挂载nfs文件系统呢?

烧录uboot

烧录uboot的方法主要有三种,一是dnw,此方法比较麻烦每次重启后需要数字签名。二是sd烧录卡,此方法最简单,在还原官方uboot时很方便,推荐最好有一个sd烧录卡。三是uboot中nand命令烧录,此方法前期需要配置好tftp服务器、开发板ip设置,对后期的使用比较方便。

方法一:

首先介绍uboot中的烧录方法,在原有的uboot中使用print命令查看开发板的信息,并使用set命令设置ip。
GEC210 # print
mtdpart=80000 400000 3000000
bootdelay=3
baudrate=115200
ethaddr=00:40:5c:26:0a:5b
machid=0x998
bootcmd=nand read 0x30008000 0x600000 0x500000; bootm 0x30008000 //内核从flash中的启动
bootargs=root=/dev/mtdblock4 rootfstype=yaffs2 init=/linuxrc console=ttySAC0,115200 //文件系统从flash中启动的命令
filesize=68000
fileaddr=40000000
gatewayip=192.168.1.1 //ubuntu中ip的网关
netmask=255.255.255.0 //子网掩码
serverip=192.168.1.108 //ubuntu的ip
ipaddr=192.168.1.88 //开发板的ip
stdin=serial
stdout=serial
stderr=serial
Environment size: 406/16380 bytes
以下设置ip为192.168.1.108为例

set gatewayip 192.168.1.1
set serverip 192.168.1.203
set netmask 255.255.255.0
saveenv

设置完毕,ping 192.168.1.203
GEC210 # ping 192.168.1.203
dm9000 i/o: 0x88000300, id: 0x90000a46
DM9000: running in 16 bit mode
MAC: 00:40:5c:26:0a:5b
operating at 100M full duplex mode
host 192.168.1.203 is alive
如果能ping通证明网络没有问题,再使用tftp命令下载uboot.bin文件,nand erase命令擦除flash,nand write 固化命令:

gec210 #tftp 30008000 u-boot.bin
dm9000 i/o: 0x88000300, id: 0x90000a46 
DM9000: running in 16 bit mode
MAC: 00:40:5c:26:0a:5b
operating at 100M full duplex mode
TFTP from server 192.168.1.203; our IP address is 192.168.1.20
Filename 'u-boot.bin'.
Load address: 0x30008000
Loading: T ###################
done
Bytes transferred = 278528 (0x44000)
gec210 #nand erase 0 100000
NAND erase: device 0 offset 0x0, size 0x100000
Erasing at 0xe0000 -- 100% complete.
OK
gec210 #nand write 30008000 0 100000
NAND write: device 0 offset 0x0, size 0x100000
Checksum is calculated.
Main area write (8 blocks):
 1048576 bytes written: OK

完毕,一般在移植uboot、kernel、rootfs烧录固化中使用此方法。

方法二:

使用dnw软件的uboot下载方法,对既没有sd烧录卡又移植uboot出错不能用第一种方法的情况下有用。
把网口右侧的开关打到上侧靠近按键一边,mini-USB线一端接到开发板的USB-OTG(开发板右上角),(1)打开dnw软件,按图设置
GEC210烧录gec_uboot的三种方法_第1张图片

donwload adress说明
①:0xd0020010为gec210_usb.bin文件下载地址
②:0x23e00000为u-boot.bin文件下载地址

(2)点击“Serial Port”,选择“connect”;软件顶如果显示“USB:OK”,表示驱动OK(如果为X,证明驱动没有安装成功,需要禁用数字签名,win10的可在所有设置->更新和安全->恢复->高级启动->启动设置->重启选择7,开机后在设备管理器中更新安装本地的驱动,同时注意需要允许安装未经验证的驱动),USB线已经正常跟板子连接,然后点击“USB Port”。(3)选择Transmit”,打开文件夹内的gec210_usb.bin文件;(4)文件下载后,DNW标题栏的USB状态会有“USB:0K”变为“USB:X”,然后再迅速变回“USB:OK”,即表示gec210_usb.bin下载成功,这时210的相关寄存器初始化完毕。然后设置DNW参数,Download adress修改为0x23e00000.(5)接下来就可以下载gec210_uboot.bin文件了,点击USB Port > Transmit,选择文件夹中的gec210_uboot.bin文件;
GEC210烧录gec_uboot的三种方法_第2张图片
(6)下载完毕会启动uboot,(如果以上两个文件下载出错,又能保证驱动没问题的请多试几次重启开发板和dnw软件)在倒数3秒前按下任意键盘,再输入字母e进入命令模式
GEC210烧录gec_uboot的三种方法_第3张图片
此时uboot还没有固化到nand flash中,命令中输入如下命令

dnw 30008000
下载u-boot.bin需重复一次步骤(3)
nand earse 0 100000
nand write 30008000 0 100000

再把网口右侧的开关打到下侧,重启开发板,能启动证明固化成功。

方法三:

烧 写 工 作 需 要 SD 卡 一 张(最好8G以下),用到的软件有GEC210烧录gec_uboot的三种方法_第4张图片DiskGenius4.7.2-X64.exe用来管理SD 卡分区的工具,moviNAND_Fusing_Tool_v2.0.exe 是制作可引导启动的 SD 卡的工具。首先使用分区工具把sd卡所有分区删掉,保存对分区表的更改。然后分区出10M空间给uboot使用,再把剩下的空间所有分配给新分区。
GEC210烧录gec_uboot的三种方法_第5张图片GEC210烧录gec_uboot的三种方法_第6张图片GEC210烧录gec_uboot的三种方法_第7张图片
然后以管理员身份运行moviNAND_Fusing_Tool_v2.0.exe 选中sd对应的盘符。
GEC210烧录gec_uboot的三种方法_第8张图片
如上图提示证明制作成功。插入开发板,把网口右侧的开关拨上重启启动uboot,如果重启不成功可以按多次复位按键,还不成功可能是制作失败了,请认真检查操作步骤。
GEC210烧录gec_uboot的三种方法_第9张图片
三种方法介绍完毕,所有用到的工具打包下载地址:http://pan.baidu.com/s/1nvifr0t
uboot文件:http://pan.baidu.com/s/1qY4tPgw
以上的方法根据已有的资料和个人开发中的心得整理出来,如有侵权行为联系本作者删除处理。

你可能感兴趣的:(GEC210烧录gec_uboot的三种方法)