首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >瑞芯微RK3568开发板 Uboot 阶段通过 TFTP 烧写文件系统至 eMMC 完整指南-飞凌

瑞芯微RK3568开发板 Uboot 阶段通过 TFTP 烧写文件系统至 eMMC 完整指南-飞凌

原创
作者头像
用户4984837
修改2025-11-08 16:15:31
修改2025-11-08 16:15:31
2200
举报

本文基于 OK3568-C Linux 4.19.206 标准开发环境开展测试,该开发板以飞凌 FET3568-C 核心板为核心,搭载 Rockchip RK3568 四核 Cortex-A55 处理器(主频最高 2.0GHz),支持双千兆以太网接口,为 TFTP 协议传输提供稳定的网络基础。测试中,TFTP 服务器部署于 Ubuntu 系统,Ubuntu 与开发板采用桥接模式(利用开发板双网口的硬件优势,可降低网络传输延迟),服务器地址设为 172.16.0.177。需提前将系统镜像(boot.img、rootfs.img)放入 TFTP 服务器目录,并确保开发板与服务器网络互通——这是后续烧写操作的前提。

RK3568核心板
RK3568核心板

图:飞凌嵌入式RK3568核心板

1. 配置 Uboot 网络环境

2. 查询 eMMC 分区表

3. TFTP 烧写 boot.img

4. TFTP 烧写 rootfs.img

1. 进入 Uboot 配置环境变量,确保网络互通

OK3568-C 开发板的 Uboot 环境配置简洁直观,配合板载的 Type-C Debug 接口(集成 USB 转串口芯片,无需额外转接器),开发者可快速通过终端工具(如 SecureCRT、Xshell)进入 Uboot 命令行,完成网络参数配置。

操作提示:Type-C Debug 接口默认波特率为 115200bps,数据位 8,停止位 1,无校验,连接后重启开发板即可进入 Uboot 命令行。

代码语言:txt
复制
 
		=> setenv ethaddr aa:bb:cc:dd:ee:ff  # 设置开发板以太网MAC地址,确保网络身份唯一
=> setenv ipaddr 172.16.0.176        # 配置开发板静态IP,需与服务器在同一网段
=> setenv gatewayip 172.16.0.218     # 设置网关地址,保障跨网段通信(若需)
=> setenv netmask 255.255.0.0        # 配置子网掩码,匹配局域网网段规划
=> saveenv                           # 保存环境变量至eMMC,避免重启后丢失
Saving Environment to ENV_BLK...
Writing to mmc(0)... done
# 验证网络连通性:先ping真机,再ping Ubuntu服务器
=> ping 172.16.0.77  # 测试开发板与真机网络互通
ethernet@fe2a0000 Waiting for PHY auto negotiation to complete. done
Using ethernet@fe2a0000 device
host 172.16.0.77 is alive
=> ping 172.16.0.177  # 关键步骤:验证与TFTP服务器连通性(若不通,检查VMware桥接模式或开发板网口接线)
Using ethernet@fe2a0000 device
host 172.16.0.177 is alive
=> setenv serverip 172.16.0.177  # 指定TFTP服务器IP,后续传输默认指向该地址
=> saveenv
Saving Environment to ENV_BLK...
Writing to mmc(0)... done

关键注意:若 ping 服务器失败,需优先排查:① VMware 网络是否设为“桥接模式”;② 开发板网口接线是否正常(推荐使用超五类及以上网线);③ 服务器防火墙是否关闭 TFTP 端口(默认 69 端口)。

2. 查询 eMMC 分区表,明确烧写目标

OK3568-C 提供 8/16/32/64GB 多规格 eMMC 存储选项,本次测试采用标准 Linux 分区规划,通过mmc part命令可查看完整分区结构,明确boot.img(引导镜像)和rootfs.img(文件系统镜像)的目标分区。

代码语言:txt
复制
 => mmc part  # 列出eMMC设备0的分区表(Partition Type: EFI)
Partition Map for MMC device 0  --   Partition Type: EFI
Part    Start LBA       End LBA         Name        Attributes    Type GUID    Partition GUID
  1     0x00004000      0x00005fff      "uboot"     0x00000000    0a100000-...  b7030000-...
  2     0x00006000      0x00007fff      "misc"      0x00000000    420c0000-...  ca5e0000-...
  3     0x00008000      0x00017fff      "boot"      0x00000000    aa0c0000-...  81190000-...  # boot.img目标分区
  4     0x00018000      0x00027fff      "recovery"  0x00000000    2a050000-...  c4620000-...
  5     0x00028000      0x00037fff      "backup"    0x00000000    aa600000-...  7b5d0000-...
  6     0x00038000      0x00c37fff      "rootfs"    0x00000000    12770000-...  614e0000-...  # rootfs.img目标分区
  7     0x00c38000      0x00c77fff      "oem"       0x00000000    4a1c0000-...  e52f0000-...
  8     0x00c78000      0x01d59fbf      "userdata"  0x00000000    3b120000-...  680f0000-...

该分区规划充分适配 OK3568-C 的多系统特性:若需切换至 Android 或 OpenHarmony 系统,仅需通过飞凌提供的partition_tool.sh脚本调整分区表,无需更换硬件。配套资料包(选型手册、产品手册)中包含详细的分区大小修改指南,降低二次开发难度。

3. 通过 TFTP 烧写 boot.img 至 boot 分区

利用tftpflash命令可直接将 TFTP 服务器中的boot.img加载至 eMMC 的“boot”分区(3 号分区)。RK3568 处理器的高速数据处理能力可保障 TFTP 传输速率稳定,确保引导镜像快速烧写完成。

代码语言:txt
复制
# tftpflash命令说明:tftpflash [加载地址] [文件名] [目标分区名]
=> tftpflash 0x09400000 boot.img "boot"
Using ethernet@fe2a0000 device
TFTP from server 172.16.0.177; our IP address is 172.16.0.176
Filename 'boot.img'.
Load address: 0x9400000
Loading: #################################################################
         #################################################################
         ......(省略中间加载过程)
         ###############################################
         3.1 MiB/s
done
Bytes transferred = 23584256 (167de00 hex)
## TFTP flash boot.img to partititon 'boot' size 0x167de00 ... OK
=> reboot  # 烧写完成后重启,验证引导分区是否正常(可选步骤,也可待rootfs烧写后统一重启) 		

技术亮点:boot.img包含内核与设备树,其烧写稳定性直接影响系统启动。OK3568-C 的 eMMC 支持“坏块管理”功能,配合底板的 5V/12V 电源防护设计,可避免烧写过程中因电压波动导致的镜像损坏,适配工业场景长期运行需求。

4. 通过 TFTP 烧写 rootfs.img 至 rootfs 分区

rootfs.img包含完整的文件系统(如/bin、/etc、/lib 等目录),需烧写至“rootfs”分区(6 号分区)。OK3568-C 的 rootfs 分区预留充足空间(本次测试分区大小约 1.9GB),不仅可容纳基础文件系统,还能满足后续功能扩展需求——例如开发板内置 1TOPS 算力的 NPU,若需部署轻量级 AI 应用,可直接在该文件系统中集成 RKNN-Toolkit 工具(支持 Caffe、TensorFlow、PyTorch 等主流模型一键转换),无需额外调整存储架构。

代码语言:txt
复制
=> tftpflash 0x09400000 rootfs.img "rootfs"
Using ethernet@fe2a0000 device
TFTP from server 172.16.0.177; our IP address is 172.16.0.176
Filename 'rootfs.img'.
Load address: 0x9400000
Loading: #################################################################
         #################################################################
         ......(省略中间加载过程,因文件较大,加载时间稍长)
         #################################################################
done
Bytes transferred = 1404391424 (53b55000 hex)
## TFTP flash rootfs.img to partititon 'rootfs' size 0x53b55000 ... OK
=> reboot  # 烧写完成,重启开发板进入目标系统	

扩展提示:OK3568-C 采用“核心板+底板”分体式设计,若后续需扩展存储(如通过 SATA3.0 接口添加硬盘)或联网方式(通过 M.2 Key-B 接口扩展 4G/5G 模组),无需重新烧写文件系统——仅需在现有系统中安装对应驱动(飞凌资料包提供预编译驱动),大幅简化功能迭代流程。

总结

OK3568-C 开发板通过 TFTP 烧写文件系统的操作,既体现了其基础功能的便捷性(如简洁的 Uboot 命令、稳定的网络传输),也展现了产品的核心优势:

  • 国产化保障:100% 国产化核心板,适配关键行业供应链安全需求;
  • 工业级可靠性:EMC 防护、工业级 eMMC、电源防护,适配复杂现场环境;
  • 高扩展性:双千兆网、SATA3.0、M.2 接口,支持存储/联网功能灵活扩展;
  • AI 算力集成:1TOPS NPU 支持轻量级 AI 应用,文件系统可直接集成开发工具。

配合飞凌提供的完整技术资料(含 SDK、驱动源码、测试工具)与技术支持,开发者可轻松完成从镜像烧写到功能扩展的全流程,加速工业控制、智能设备、边缘计算等领域的产品落地。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 进入 Uboot 配置环境变量,确保网络互通
  • 2. 查询 eMMC 分区表,明确烧写目标
  • 3. 通过 TFTP 烧写 boot.img 至 boot 分区
  • 4. 通过 TFTP 烧写 rootfs.img 至 rootfs 分区
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档