常见问题解答#

构建相关#

Q1:make 提示先执行 make xxx_defconfig,怎么办?#

现象:构建前直接执行 make,报错要求先选择配置。
解决

make list-def
make <your_board>_defconfig
make

Q2:有的板卡只有 k230_canmv_*_defconfig,我想做 RTOS 镜像怎么办?#

解决:可以先选 CanMV defconfig,再通过 menuconfig 改成 RTOS 目标:

  1. 执行 make k230_canmv_xxx_defconfig

  2. 执行 make menuconfig

  3. 关闭 CanMV Components Configuration

  4. 按需开启 RT-Smart Configuration > Enable build Rtsmart examples

  5. 按需开启 MPP Configuration > Enable build MPP samples

  6. 重新执行 time make log


Q3:提示工具链缺失,如何处理?#

现象make 报工具链找不到。
解决

make dl_toolchain

首次下载完成后再次编译即可。


Q4:修改了 src/rtsmart/mpp 后,重新 make 看不到效果?#

现象:镜像能编译,但改动未生效。
解决:先清理 RT-Smart 相关产物再编译:

make rtsmart-clean
make

烧录与启动#

Q5:*.img*.kdimg 应该怎么选?#

建议

  • USB 图形工具(K230BurningTool):优先使用 *.kdimg

  • SD 卡写盘:使用 *.img

  • 命令行烧录(k230-flash):通常使用 *.img


Q6:执行 reboot_to_upgrade 后没进入烧录模式?#

解决

  1. 确认烧录工具为较新版本

  2. 参考烧录指南中的 patch 说明,先补丁再重试

  3. 或改用硬件方式:按住 Boot 键上电进入烧录模式

参考:userguide/how_to_flash.md


Q7:烧录成功但设备没有正常启动?#

排查顺序

  1. 检查镜像与板卡是否匹配(defconfig 是否对应)

  2. 检查启动介质是否正确(EMMC/SD)

  3. 检查串口日志,确认是否卡在引导阶段

  4. 重新烧录一次,避免文件损坏或中断


Q8:OTA 如何快速使用(简要)?#

可按下面最小流程上手:

  1. 在 PC 端构建得到 *.kdimg 升级包(位于 output/<defconfig>/images/)。

  2. *.kdimg 传到设备文件系统(例如 /data/update.kdimg)。

  3. 在板端应用中调用 OTA 接口执行升级(示例测试命令):

test_ota /data/update.kdimg
  1. 看到升级成功日志后重启,确认是否正常进入新版本。

注意

  • OTA 依赖 *.kdimg,不是 *.img

  • 生产场景建议在应用层增加升级包签名/来源校验、断电恢复与回滚策略。

完整机制与接口说明见:advanced_development_guide/how_to_use_k230_ota.md

示例与应用#

Q9:示例程序不在 /sdcard/app,是不是打包失败?#

不一定。RT-Smart 示例默认在:

/sdcard/app/examples/

可用如下命令检查:

cd /sdcard/app/examples
find . -name "*.elf" | head

Q10:如何设置开机自启动某个示例?#

分两种配置:

  1. 运行时自启动命令(Startup command)

menuconfig 中设置:

RT-Smart Configuration > Startup command

这里是运行时命令字符串(CONFIG_RTT_AUTO_EXEC_CMD),建议使用绝对路径,例如:

/sdcard/app/examples/integrated_poc/smart_ipc.elf
  1. 镜像打包时 Fast Boot 文件路径(可用变量)

若你要配置 Fast Boot 打包源文件路径,请在:

Fast Boot Configuration > Fast boot file path

该项支持绝对路径,或 tools/mkenv.mk 导出的 ${SDK_*} 变量(如 ${SDK_BUILD_IMAGES_DIR}),例如:

${SDK_BUILD_IMAGES_DIR}/sdcard/app/examples/integrated_poc/smart_ipc.elf

Q11:如何确认当前固件支持哪些 Sensor?#

在板端执行:

list_sensor

若看不到目标 sensor,需在 menuconfig 的 Sensor 相关选项中使能后重新编译烧录。

参考:userguide/sensor_list.md

仍未解决?#

前往社区发帖求助

建议按下面顺序提供信息,定位会更快:

  1. 使用的 defconfig 名称

  2. 完整报错日志(包含前后 30 行)

  3. 烧录方式与镜像文件名

  4. 串口启动日志关键片段

并附上你已经尝试过的命令。

评论列表
条评论
登录