使用tftp协议传输镜像文件到开发板上
一.整体流程
tftpboot是Linux开发中的非常重要的软件,通过它可以实现服务器与开发板之间收发数据,常用于在开发板下载服务器端交叉编译后的可执行文件
。使用tftpboot的步骤如下:
确保服务器(电脑)和开发板各连一条网线,确保都有各自的ip地址。【同一网段】
连接USB转串口线,因为要用到SecureCRT,方便电脑给开发板写指令。
启动开发板,在uboot可以查看开发板的ip。若发现开发板没有分配ip地址,可以查看help,如何配置serverip ,开发板的ip地址。这里以某芯片的命令为例:
setenv serverip 192.168.2.2
setenv ipaddress 192.168.2.10
输入“ping 开发板的ip“,完成开发板向服务器端的网络连接。
1
2
3
4crb106s> ping 192.168.2.2
Waiting for RPM0 LMAC3 link status... SGMII [1G]
Using rvu_pf#3 device
host 192.168.2.2 is alive电脑端(tftp服务器)输入“ping 开发板的ip“,完成服务器向开发板的网络连接。
确保文件上传/下载的路径正确。
注意:
tftp服务器需要在配置文件中指定tftp根目录,并且在linux中创建对应的目录,并赋予读写权限。

二.服务器安装tftp服务器
步骤:
1.安装tftp服务
以ubuntu服务器为例:
1 | sudo apt-get update |
2.tftp服务配置
安装完成后,我们需要对tftp服务器进行配置。打开终端并执行以下命令:
1 | 修改配置文件权限 |
在配置文件中,找到以下行:
1 | #TFTP_USERNAME="tftp" |
将这些行的注释符号(#)去掉,并根据需要进行修改。例如,你可以设置TFTP的用户名、目录和地址。配置完成后,保存并关闭文件。
4.创建tftp目录
打开终端,使用以下命令:
1 | cd /var/lib/ |
5.创建完成后,我们需要更改该目录的权限:
1 | sudo chmod 777 /var/lib/tftpboot:/var/lib/tftpboot |
6.重新启动系统
以确保所做的更改生效。可以使用以下命令重启系统:
1 | reboot |
7.重启服务器之后,重启tftp服务。
1 | sudo service tftpd-hpa restart |
三.开发板使用tftpboot下载文件
从tftp服务器下载文件,注意使用绝对路径 启动开发板,进入Uboot目录 tftpboot $loadaddr /var/lib/tftpboot/Image-SDK12.23.10-ramdisk 注:将tftp服务器上/var/lib/tftpboot/目录下的Image文件加载到内存地址$laodaddr上。
1 | crb106s> tftpboot $loadaddr /var/lib/tftpboot/Image-SDK12.23.10-ramdisk |

四. boot启动镜像Image-ramdisk
直接在内存启动Image和Kenel
1 | crb106s> booti $loadaddr - $fdtaddr |

- 本文作者: CoderSong
- 本文链接: https://jack-song-gif.github.io/2024/02/28/使用tftp协议传输镜像文件到开发板上/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!