Hi3516EV300 U-boot tftp使用

服务端:/etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = leon
server = /usr/sbin/in.tftpd
server_args = -s /home/leon/Workspace/Hi3516EV200_SDK_V1.0.0.2/osdrv/pub/hi3516ev300_spi_image_glibc
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}

uboot env 如下:

arch=arm
baudrate=115200
board=hi3516ev300
board_name=hi3516ev300
bootargs=mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 rw mtdparts=hi_sfc:1M(boot),4M(kernel),11M(rootfs)
bootcmd=sf probe 0;sf read 0x42000000 0x100000 0x400000;bootm 0x42000000
bootdelay=2
cpu=armv7
ethact=eth0
ethaddr=00:01:02:11:88:91
ipaddr=192.168.8.54
serverip=192.168.8.200
soc=hi3516ev300
stderr=serial
stdin=serial
stdout=serial
vendor=hisilicon
verify=n

更新u-boot
tftp 0x42000000 u-boot-hi3516ev300.bin
sf probe 0 /*探测并初始化SPI-Nor flash*/
sf erase 0x000000 0x100000 /*擦除 1M大小*/
sf write 0x42000000 0x0 0x100000 /*从内存写入SPI-Nor Flash*/

更新内核镜像
tftp 0x42000000 uImage_hi3516ev300
sf probe 0 /*探测并初始化SPI-Nor flash*/
sf erase 0x100000 0x400000 /*擦除 4M大小*/
sf write 0x42000000 0x100000 0x400000 /*从内存写入SPI-Nor Flash*/

更新文件系统镜像
tftp 0x42000000 rootfs_hi3516ev300_64k.jffs2
sf probe 0 /*探测并初始化SPI-Nor flash*/
sf erase 0x500000 0xB00000 /*擦除 11M大小*/
sf write 0x42000000 0x500000 0x500000 /*从内存写入SPI-Nor Flash*/

整体更新:
tftp 0x42000000 hisi_flash.bin
sf probe 0 /*探测并初始化SPI-Nor flash*/
sf erase 0x000000 0x1000000 /*擦除 16M大小*/
sf write 0x42000000 0x000000 0x1000000 /*从内存写入SPI-Nor Flash*/