1、u-boot先初始化一些必要的设备,如串口、网卡、flash、显示屏等驱动。
2、从flash、SD卡、tftp服务器取内核映像文件。
3、将内核映像文件解压到内存。
4、校验内核。
5、设定配置参数,跳到内核执行。
初步想法:刷入
OpenWRT
后,用
PuTTY
等软件
telnet
或
ssh
进入路由命令行,然后用
dd
命令提取
u-boot,接着用
cat
和
>>
转向命令嫁接文件。刷入固件也可能可以通过。
mtd
命令行实现,不过有些固件对重要分区(如。
u-boot
等)上锁,必须对分区解锁(或者刷入已解锁固件)才可以刷入固件。更好的方法是通过。
TTL
串口刷机线刷入(图片里有一排四个洞,应该是。
TTL
串口)。
什么都没有 uboot升级自己很难做到。
即使用tftp, tftp也不能大范围应用,实验室调试还可以 供给客户不现实。
建议用ap升级uboot 这个是比较常规的做法。
"具体操作步骤如下:
1.用到的东西
网线 一条
USB转TTL线 一条
SecureCRT终端仿真程序。
2.接驳TTL线
路由器PCB板上的TX、RX、GND分别连接到USBTTL(USB转串口)的TX、RX、GND插针上。
拔掉路由器WAN和LAN口所有网线。
3.电脑预设(笔者用的是XP系统)
将USB转TTL接到电脑上,装好USBTTL驱动,选择正确的COM口。
4.把电脑的网卡地址改成静态IP地址(笔者设置为192.168.1.100)
5.设置SecureCRT COM口的速率为每秒位数57600(笔者这里用的是SecureCRT,)。
设置SecureCRT里(Protocol:Serrial Port:COM9 Baud rate:57600 Data bits:8 Parity:None Stop bits:1)
Flow control选项 DTR/DSR,RTS/CTS,XON/XOFF都不打勾(COM口根据设备管理器中选择相应的数字)。
6.点“Connect”完成SecureCRT COM口连接设置,如果连接正确,窗口前会有一个绿色的勾。
7.可以打开路由的电源,如SecureCRT有显示就表示接驳正确,关上电源。如没有,把RX和TX两根线对调。
把相关的文件(u-boot、eeprom及Openwrt固件),与TFTPD32放在同一文件夹内,运行TFTPD32(什么都不要设置)。
8. 开始刷机——刷入u-boot(确保TTL线已经正确接好)
(一)在SecureCRT,打开HG255D电源, 当出现。
Please choose the operation:。
1: Load system code to SDRAM via TFTP.。
2: Load system code then write to Flash via TFTP.。
3: Boot system code via Flash (default).。
4: Enter boot command line interface.。
9: Load Boot Loader code then write to Flash via TFTP.。
(二)马上按4后出现如下(不能按9,按9更新U-boot 100%变砖头——键盘上的数字键4)
4: System Enter Boot Command Line Interface.。
U-Boot 1.1.3 (Nov 28 2012 - 12:00:15。
Main_loop !!
9.(三)设置tftp服务的网络地址与上传文件到内存。
输入命令
setenv serverip 192.168.1.100。
回车
接着输入
tftpboot 0x80100000 tftpd-uboot.bin。
回车
SecureCRT窗口返回信息如下:
RT3052 #
10.等SecureCRT里显示2个Arp Timeout Check插上网线时,把网线插入路由器的LAN口(黄色的接口),随便哪个口都可以。
注意:如果没有提示成功下载到问题,千万不要继续下面的操作。等完全tftp上传好,出现NetBootFileXferSize= 00023874)后 (00023874为tftpd-uboot.bin文件大小的16进制数值,别的U-boot文件的值可能不同)
11.(五)解锁flash 保护。
输入
protect off all。
回车
12.(六)擦除U-BOOT
输入
erase 0xBF000000 0xBF03FFFF。
回车
13.写入U-BOOT
输入
cp.b 0x80100000 0xBF000000 0x40000。
回车
14.备份EEPROM
cp.b 0xBFFA0000 0x80100000 0x20000。
md 0x80100000
erase 0xBF060000 0xBF07ffff。
cp.b 0x80100000 0xBF060000 0x20000。
md 0xBF060000
15.刷完系统会自行重启,如果没有重启请按Ctrl+C来重启机器,如果再不行就直接关路由器电源。
16.到这里u-boot刷完成,关闭tftpd32.exe。
这里笔者刷的是tftpd版的uboot,这种方法还可以刷电信原版的uboot和httpd版的uboot。
注意:如果要刷eeprom要先刷tftfd版的uboot,再刷eeprom。刷httpd版后是不能刷eeprom的,因为eeprom是需要tftp刷的。"。
打开14.0中的command shell把工作目录转换到ghrd中,使用make -j8 sof开始编译硬件。(-j8 选项可以不带,只是为了多打开几个线程编译比较快,但是需要四核的CPU支持)。
使用bsp-editor.exe打开bsp-editor工具,选择file->New BSP。把Preloader setting directory指定为ghrd中的hps_isw_handoff/soc_system_hps_0。点击OK关闭。再点击Geneate生成BSP后exit BSP Editor。此时应该可以在GHRD中看到software目录了。接下来需要注意的是要把GHRD中的makefile用\embedded\examples\hardware\cv_soc_devkit_ghrd的Makefile换掉(13.0下编译不用替换)。然后使用 make uboot 命令会把preloader 和uboot文件都编译出来。如果只需要编译preloader,就使用make prelaoder好了。过程比较漫长,这里会重新编译一遍硬件工程。
编译完成后在software\preloader\uboot-socfpga 目录下会找到u-boot.img文件,在software\preloader\uboot-socfpga\spl下会找到u-boot-spi.bin。为了方便,在GHRD下建立目录preloader,把这两个文件复制到该目录!
u-boot-spi.bin为binary格式的文件,按照Altera的要求要按照特定格式添加文件头!需要使用到的工具为mkpimage工具。切换工具目录为刚刚建立的preloader目录,使用命令mkpimage -o preloader_de1_soc.img u-boot-spl.bin 。此时文件夹下会产生一个preloader_de1_soc.img。 可以用于更新SD image中的preloader。
———————————————————————————————————————————————————
在更新之前,还是先说SoCEDS14.0中的一个工具alt-boot-disk-util.exe。在Command Shell 中输入这个名称就可以看见使用方法。
#Wirte BOOTLoader and PREloader to disk driver 'E'。
alt-boot-disk-util -p preloaer -b bootloader -a write -d E。
我的SD Card 被识别为I盘,所以我使用的命令为:
alt-boot-disk-util -p preloaer_de1_soc.img -b u-boot.img -a write -d I。
不给我目前使用都会遇到device open error的错误。不知道是环境问题还是其他原因。所以还是在Linux 系统下去更新preloader。
————————————————————————————————————————————————————
(个人使用的ubuntu linux 机器,其他版本应该类似)。
把两份文件复制到linux 机器上,并挂载启动SD card。使用fisk -l 查看SD card 对应的节点编号。比如我的SD card 为8G,会看到这样的一条信息:Disk /dev/sdb: 7948 MB, 7948206080 bytes 。说明这个节点为 /dev/sdb。
linux 工作目录切换到preloader放置的地方后。分别使用下面两条命令更新preloader和 uboot。
sudo dd if=preloader_de1_soc.img of=/dev/sdb3 bs=64k seek=0 。
sudo dd if=u-boot.img of=/dev/sdb3 bs=64k seek=4 。
再使用下sudo sync 命令就可以弹出SD card 了。
使用这张SD boot,你会发现打印出Clock 相关的信息。这个是14.0中添加的打印。另外注意到时间戳应该与编译时间对应。
原文地址:http://www.qianchusai.com/uboot%E6%9B%B4%E6%96%B0uboot.html