一、前言
uboot是支持文件传输的,无论是电脑上的文件传到开发板,还是开发板的文件传到电脑,都是可以实现的,传输协议有nfs和tftp,两者在传输速度上是有区别的,下面来介绍一下仅用uboot传文件的速度对比。
二、开发环境
开发板:imx6uLL,512M的DDR,从TF卡加载uboot,
电脑:ubuntu14.04 64位
文件:450M文件,字节数为471859200,十六进制为0x0x1c200000
三、uboot下指令
将文件从电脑传输到开发板DDR的80800000处。
tftp传文件到DDR:
tftp 80800000 文件名
nfs传文件到DDR:
nfs 80800000 192.168.43.194:/home/a/linux/nfs/文件名
为了验证数据传输是否有误,将DDR中的文件写入TF卡:
fatwrite mmc 0 80800000 文件名 0x1c200000
把tf卡插到电脑上,即可对比文件是否有差异。
四、传输文件时间
使用secureCRT的日志功能记录下开始传输文件与结束传输文件的时间。
nfs共测试两次,平均时间为6min18s
tftp共测试两次,平均时间为4min34s
以上数据充分说明了uboot下,tftp传输450M文件到开发板DDR的速度要比nfs快。
五、总结
如果你只想使用uboot传输文件,建议使用tftp,因为tftp速度快。
六、答疑
问:是否需要修改uboot或ubuntu关于nfs或tftp的代码?
答:未做任何修改。
问:tf卡需要分区否?
答:无需。
问:一次最大能传多大的文件?
答:不大于DDR容量的文件。
问:开发板是否需要进入Linux
答:无需。