RM-01设备完整刷机自动化脚本,提供一站式刷机解决方案。支持ESP32S3固件刷写、AGX引导镜像安装、TF卡初始化和CFE卡管理等全流程操作。
- ESP32S3管理: robOS v1.1.0固件刷写 + 32项参数初始化
- AGX刷机: Recovery模式引导镜像安装
- TF卡初始化: 自动格式化和robOS系统文件部署
- CFE卡管理: 分区初始化和运行镜像刷写
- 硬件控制: CH343 GPIO硬件复位功能
- 智能检测: 自动环境检查和设备状态监控
- 串口设备: CH343 USB转串口 (
/dev/ttyCH343USB0) - 存储设备: TF卡 (
/dev/mmcblk1) + CFE卡读卡器 (/dev/sda) - 目标设备: RM-01 (ESP32S3 + AGX Orin)
- 操作系统: Ubuntu 22.04 LTS (推荐)
- 核心工具: NVIDIA JetPack 6.2/6.2.1 SDK
- Python环境: esptool.py v4.7.0+
- 系统工具: git, wget, unzip, lsblk, lsusb
export L4T_DIR="/home/rm01/nvidia/nvidia_sdk/JetPack_6.2.1_Linux_JETSON_AGX_ORIN_TARGETS/Linux_for_Tegra/"# 添加串口访问权限
sudo usermod -a -G dialout $USER
# 重新登录生效
# 或临时授权
sudo chmod 666 /dev/ttyCH343USB0cd /home/rm01/rm01ShellFlasher
./rm01-flasher.sh======================================
RM-01 设备刷机脚本
版本 1.0
======================================
请选择要执行的操作:
1. TF卡初始化 (格式化/复制文件)
2. ESP32S3刷写+初始化 (robOS固件+参数配置)
3. 仅初始化ESP32S3参数 (不刷机)
4. 仅刷写AGX (引导镜像)
5. CFE卡初始化 (分区/格式化)
6. 仅刷写CFE卡 (运行镜像)
7. 下载/更新robOS固件
8. 检查环境和设备状态
9. 查看日志文件
0. 退出
- 功能: 格式化TF卡并部署robOS系统文件
- 设备:
/dev/mmcblk1(TF卡插槽) - 操作: 创建分区表 → 格式化为ext4 → 从GitHub下载robOS sdcard内容
- 用途: 为RM-01设备准备系统启动卡
- 固件: robOS v1.1.0 (自动下载)
- 硬件复位: CH343 GPIO控制 (RTS/DTR信号)
- 刷写参数: 460800波特率,Flash完全擦除
- 参数配置: 32项系统参数,115200波特率,500ms间隔
- 超时控制: 命令响应3秒超时机制
- 功能: 仅配置ESP32S3参数,不刷机
- 波特率: 115200 (参数通信专用)
- 参数数量: 32项配置命令
- 验证机制: 回显确认每条命令执行状态
- 触发方式: 串口发送
agx recovery命令 - 设备检测: NVIDIA APX设备自动识别
- 刷写工具: L4T flash.sh + rm01-orin配置
- 目标分区: nvme0n1p1
- 功能: 创建CFE卡分区结构
- 设备:
/dev/sda(CFE卡读卡器) - 分区方案: 自动创建标准分区表
- 格式化: ext4文件系统
- 工具: L4T l4t_initrd_flash.sh
- 配置: rm01-orin.conf
- 存储: 完整运行时镜像
- 标签: rm01rootfs
- 版本: robOS v1.1.0
- 来源: GitHub Releases自动下载
- 格式: ZIP压缩包自动解压
- 位置:
./firmware/目录
- 环境检查: L4T工具链完整性验证
- 设备状态: 串口、存储设备连接检测
- 依赖验证: esptool.py、CH343驱动状态
- 系统信息: 硬件平台和软件版本显示
- 实时日志: 时间戳 + 操作记录
- 文件位置:
./logs/rm01-flasher-YYYYMMDD_HHMMSS.log - 内容: 详细命令输出、错误信息、状态变更
- ESP32S3复位: CH343硬件GPIO控制(RTS/DTR信号)
- 波特率切换: 刷机460800 ↔ 参数115200自动切换
- 超时保护: 串口通信3秒超时,防止死锁
- 设备自动识别: USB设备、存储分区动态检测
- 环境依赖验证: 工具链、权限、路径完整性检查
- 错误恢复: 操作失败自动回滚和状态恢复
- 彩色输出: 状态分类颜色标识
- 进度提示: 实时操作反馈
- 交互确认: 危险操作二次确认机制
| 问题类型 | 症状 | 解决方案 |
|---|---|---|
| 串口权限 | Permission denied |
sudo usermod -a -G dialout $USER |
| 工具缺失 | esptool.py: command not found |
sudo apt install python3-esptool |
| 设备未识别 | TF卡/CFE卡未检测 | 检查USB连接,使用lsblk确认 |
| APX模式 | AGX刷机失败 | 确认Recovery模式,检查USB驱动 |
| L4T路径 | L4T directory not found |
验证JetPack安装,设置L4T_DIR |
# 1. 检查设备连接
lsblk # 存储设备
lsusb # USB设备
ls -la /dev/tty* # 串口设备
# 2. 手动测试串口
sudo screen /dev/ttyCH343USB0 115200
# 3. 检查L4T环境
ls -la $L4T_DIR/flash.sh
ls -la $L4T_DIR/tools/kernel_flash/
# 4. 查看实时日志
tail -f ./logs/rm01-flasher-*.log⚠️ TF卡/CFE卡刷写会完全擦除所有数据- 🔒 刷写前请备份重要文件
- ✅ 确认设备型号和分区路径正确
- 🔌 刷写过程中保持USB连接稳定
- ⏰ 不要中断长时间运行的刷写操作
- 🔄 失败后可重新尝试,脚本支持增量恢复
- 🌡️ 确保设备散热良好
- ⚡ 使用稳定的电源供应
- 🔧 避免在刷写时操作硬件连接
- 使用菜单选项8检查系统状态
- 查看日志文件定位具体错误
- 验证硬件连接和设备识别
- 📧 提供完整的日志文件
- 🖥️ 说明硬件配置和软件版本
- 📝 详细描述操作步骤和错误现象
| 项目 | 版本/信息 |
|---|---|
| 脚本版本 | v1.0 |
| robOS固件 | v1.1.0 |
| JetPack支持 | 6.2/6.2.1 |
| 更新日期 | 2025年10月12日 |
| 兼容平台 | AGX Orin + ESP32S3 |
🎯 专用工具: 本脚本专为RM-01设备设计,请勿用于其他硬件平台。
🔗 开源项目: 基于robOS开源项目 - thomas-hiddenpeak/robOS