一、环境
1、U-Boot 2021.2
2、Ubuntu 20.04.3
3、XC7Z010-CLG400
二、背景
在U-Boot开发过程中,难免有些调试的过程,如果每次重新编译U-Boot后,都需要烧录在SD卡或者Flash后再上电启动,那么开发过程就很繁琐且浪费时间。
如果板卡硬件以及正在运行的U-Boot支持以太网,那么可以通过网络方式把新编译的U-Boot下载到SDRAM中,然后启动新的U-Boot。
三、安装TFTP服务器
首先在Ubuntu中安装xinetd tftp-hpa tftpd-hpa工具
安装完成后,修改/ect/default/tftpd-hpa文件(tftpd-hpa指的是tftp服务器)。
TFTP_DIRECTORY:文件上传和下载的目录,自己指定即可
TFTP_OPTIONS:增加“-c”,-c代表可以往服务器上传文件
修改完成后,重启服务:sudo service tftpd-hpa restart。重启后可以查看TFTP的状态,如下图。
测试文件上传和下载,如下图。可以看到可以正常上传和下载test.txt文件。
四,U-Boot tftpboot使用
先把虚拟机,主机以及开发板的IP地址配在同一个网段(虚拟机网络采用桥接模式),然后在U-Boot控制台,输入tftpboot指令,如下图。
之后Linux的开发,也可以使用tftpboot远程启动linux内核文件,方便调试。