对于有网线接口的RK35X8开发板,调试时候,可以通过网线下载内核镜像和设备树到开发板,不用每次修改驱动都要重新打开下载工具,进入下载模式。通过TFTP可以大大提高调试效率。
在ubuntu安装TFTP服务
安装tftp服务器
sudo apt-get install tftp-hpa tftpd-hpa
创建tftpboot文件夹
mkdir -p /home/stone/tftpboot
修改tftpd-hpa文件
vim /etc/default/tftpd-hpa
内容改为:
# /etc/default/tftpd-hpaTFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/stone/tftpboot"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l-c-s"
重启服务
sudo service tftpd-hpa restart
网络配置
首先用网线连接电脑和开发板
虚拟机设置
一定要桥接到有线网卡!!!
通过ifconfig确定虚拟机地址(192.168.1.x)开发板也要根据此地址设置。
开发板设置
按下电源开关,立即按CTRL+C进入uboot
设置网络地址
=> setenv ipaddr 192.168.1.11 //开发板地址
=> setenv serverip 192.168.1.188 // 虚拟机地址
=> setenv gateway 192.168.1.1 //网关
测试网络
saveenv
内核镜像准备
复制内核和设备树到tftpboot
cp ~/rk356x_linux/kernel/boot.img ~/tftpbootcp ~/rk356x_linux/kernel/arch/arm64/boot/dts/rockchip/rk3568-evb1-ddr4-v10-linux.dtb ~/tftpboot/
开发板下载内核镜像
在uboot中执行
setenv bootcmd "tftpboot 0x08300000 rk3568-evb1-ddr4-v10-linux.dtb;tftpboot 0x0027f800 boot.img ; bootm 0x0027f800 - 0x08300000"
env run bootcm