下载固件有两种方法
win7运行tftpd32,只要运行了这个文件,就建立起了TFTP服务器,根目录是程序目录。同时默认端口是69。
新建一个文本文档进行测试。命名为readme.txt,向里面添加内容:hello
sudo apt install tftp
连接TFTP服务器
tftp 192.168.1.101 69
并用get readme.txt下载TFTP服务器下的文件。
先在WIN7电脑打开tftpd32,并把uboot、内核、文件系统放到该程序目录下。
用USB线连接目标板子,让板子上电,在串口调试工具处不停按按键直至进入了uboot模式。
setenv serverip 192.168.1.101
setenv ipaddr 192.168.1.149
setenv gatewayip 192.168.1.1
注意这里的192.168.1.101是我win7的IP。目标板子的IP是192.168.1.149(静态模式获取IP),路由器IP是192.168.1.1。板子用网线连接路由器。
mw.b 82000000 ff 300000; tftp 82000000 uImage_hi3518ev200;sf probe 0; sf erase 100000 300000; sf write 82000000 100000 300000
mw.b 82000000 ff C00000; tftp 0x82000000 rootfs_uclibc_64k;sf probe 0 ; sf erase 400000 C00000 ; sf write 82000000 400000 C00000
setenv bootargs 'mem=32M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),3M(kernel),12M(rootfs)'
setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000'; sa
reset
2.1 配置HITOOL
2.1.1 选择串口,COM口要选对。
2.1.2 选择待烧写的文件
我这里暂时不选择UBOOT,怕损坏。于是选择内核文件和文件系统。
内核文件:uImage_hi3518ev200,器件类型选SPI,开始地址1M,长度3M
文件系统:rootfs_uclibc_64k,器件类型选SPI,开始地址4M,长度12M。
2.2 按下烧写
2.3 复位目标板子
setenv bootargs 'mem=32M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),3M(kernel),12M(rootfs)'
setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000'; sa
reset
但是串口更新程序好慢。估计波特率只能是115200。 好久。