MaixCAM2 系统烧录

获取系统文件

对于 MaixCAM2, 有三种系统文件和烧录方法:

  • 方法一:芯片原厂烧录.axp格式。需要使用AXDL 进行烧录。
    • 优点:无论 EMMC 内是否有启动分区和系统都能成功烧录。
    • 缺点:只支持Windows,烧录速度慢。
  • 方法二: USB 卡烧录.img.xz格式的系统,包含了完整的系统,使用通用工具比如etcher / rufus / win32diskimager / imageUSB等即可烧录。
    • 优点:烧录简单,不受烧录系统和软件限制,速度快(TF > USB2.0 > AXDL)。
    • 缺点:只有在 EMMC 内有启动分区时才能正常使用。如果没有启动分区或者损坏,则需要用方法一烧录一次 *.axp 系统才能使用方法二。
  • 方法三: TF 卡烧录.img.xz格式的系统,包含了完整的系统。
    • 优点:烧录简单,无需三方软件,速度快(TF > USB2.0 > AXDL)。
    • 缺点:需要一张 TF 卡;只有在 EMMC 内有启动分区时才能正常使用。如果没有启动分区或者损坏,则需要用方法一烧录一次 *.axp 系统才能使用方法三。

推荐选择:正常情况下出厂已经烧录过一次启动分区,所以可以直接用方法二烧录.img文件,遇到启动分区损坏的情况再考虑用方法一烧录。

按照MaixPy 系统烧录文档 中的说明,下载对应型号的系统镜像文件 和 注意备份数据。

系统启动流程简介

为了让你更好理解烧录系统,这里介绍一下启动流程(简单版本):

  1. 开机上电,芯片内部程序(bootrom)检测boot/Func引脚是否拉低(MaixCAM2 的 Func 按键按下),如果拉低则进入 AXDL USB 下载固件模式,会等待 AXDL 软件通过 USB 通信至少 5 秒以上
    没有按下或者超过5s没有通信则正常启动。

  2. 加载内部 EMMC 储存(启动分区、系统和资料放在这里)中的启动分区的固件,这个固件也会判断boot/Func 按键是否按下,如果按下,进入 USB / TF 升级模式。
    没有按下则正常加载 EMMC 中的系统启动。

方法一: USB 烧录 .axp 系统到 EMMC

如文章开头所说,烧录分为三种方法,各有其优点,这里先详细介绍第一种。

下载 AXDL 软件

下载 AXDL。(只支持 Windows)。

打开 AXDL 软件界面

准备系统

前面下载的.axp格式的系统,注意,一般提供两种.axp系统文件,如:

  • maixcam2-2025-09-01-maixpy-v4.11.9.axp: 完整的 MaixCAM2 可以使用的.axp 文件,文件大小8GB左右。
  • boot_parts_maixcam2-2025-09-01-maixpy-v4.11.9.axp: 只包含启动分区的烧录文件,文件大小<50MB

也就是说你可以:

  • 选择一次 AXDL 烧录完整系统,烧录完即可启动运行系统。
  • 你更喜欢 USB / TF 卡烧录的方式,但是启动分区意外受损(“变砖”),只想快速恢复启动分区,则选择boot_parts_xxx.axp再用方法二烧录完整系统。

加载和烧录系统文件

  • 点击加载系统文件按纽,选择加载下载的.axp格式的系统。
  • 等待加载完毕后,点击开始按纽,就会开始自动检测 USB。
  • 按住boot/Func按纽不放,再插上 USB 到电脑, AXDL 就会自动开始下载系统,然后松开按纽等待即可。
  • 或者先插上 USB 到电脑,再按住boot/Func按纽不放,拨动电源开关重新上电,等 AXDL 检测到后再松开按纽。
  • 下载过程中建议不要触碰 USB 线和板子,以免接触不良失败。
  • 下载完成后会自动重启进入系统,第一次启动请至少等到启动进入主界面后才能断电,防止第一次文件初始化丢失。

方法二(推荐): USB 烧录 .img 系统到 EMMC

相比烧录 .axp格式的文件,这种方式会更快更方便,任何操作系统都能烧录,而且速度更快(~=40MiB/s)。

选择合适的烧录软件

这里以 Etcher 为例,其它软件使用方法类似。

Windows 也可以用 Win32DiskImagerRufusimageUSB。 如果 Etcher 无法烧录可以试试这两个。

如果遇到了出了点问题。如果源镜像曾被压缩过,请检查它是否已损坏 Error spawning the child process,可能是权限不够造成的,右键应用图标,使用管理员身份打开即可。
如果仍然无法解决,或者烧录后无法启动,可以用rufus或者win32diskimager等其它软件烧录。

加载和烧录系统文件

  • 加载前面下载的系统,注意不要下载错了,比如MaixCAM2是下载的maixcam2-2025-09-01-maixpy-v4.11.9.img.xz
    大多数软件烧录时软件会自动解压xzimg文件,如果软件不支持则需要先手动解压为img文件。
    Etcher会报错Missing partition table not a bootable image ...即检测不到分区表,对于MaixCAM2是正常现象,点击Continue继续即可。
  • 上电进入 USB / TF 卡升级模式,两种方式:
    • 方式1:USB 一端插电脑,然后另一端插上板子的1秒内按住boot/Func按纽不放,3秒后即可松开。
    • 方式2:先关机,USB 连接电脑和板子,打开电源开关的1秒内按住boot/Func按纽不放,3秒后即可松开。
    这里不先按住Func按纽再开机的原因是按住再开机会进入 AXDL 下载模式,要等待至少 5秒才能进入,太慢了。
  • 然后等待几秒,就能在下载软件选择烧录磁盘,可以看到板子虚拟的 U盘设备了。另外也可以看到蓝色 LED 按照 灭-亮-亮 进行双闪。
  • 点击软件的烧录(Flash)按纽,开始进行烧录(可能会需要管理员权限)。这时板子蓝色 LED开始亮0.5s-灭0.5s闪烁。
  • 烧录过程或者完成后,如果电脑弹出使用驱动器 G: 中的光盘之前需要将其格式化这样的字符,不要点击格式化磁盘!不然刚烧录好的系统又被格式化了! 关掉窗口即可。
  • 等待烧录完毕,蓝色 LED 会变成常亮表示烧录完毕,软件可能还没完成,比如软件会读取 EMMC 内容检验是否出错(也可以跳过,不过校验是加一层保险,建议还是等待其校验完成)。
  • 如果烧录软件不会自动弹出 U 盘,建议手动弹出 U盘保证数据都写入了。
  • 手动重启(重新上电)即可进入新系统,第一次进入系统注意至少要等到进入主界面后才能关机断电,方式初始化出错。

方法三: TF 卡烧录 .img 系统到 EMMC

方法和 USB 烧录 .img 类似,一般速度更快(取决于你的 TF卡速度,比如 ~=90MiB/s)。

制作 TF 升级卡

  • 使用读卡器将 TF 卡插到电脑。
  • 格式化 TF 卡,可以选择 exFAT 或者ext4格式(不要选择FAT32)。
  • xxx.img.xz文件解压为xxx.img并且拷贝到 TF 卡。
  • 点击弹出 U 盘保证数据玩全写入后再拔出读卡器,防止数据未写入完成系统文件损坏。
  • 将 MaixCAM2 断电。
  • 将 TF 卡插入 MaixCAM2,然后上电开机。
  • 开机后板子会自动检查 TF 卡中的系统文件,自动进行烧录,此时蓝色 LED开始亮0.5s-灭0.5s闪烁。

如果不是这样闪烁可能前面的步骤有误。

  • 烧录完成后蓝色 LED 会变成常亮。如果亮0.3s-灭0.3s快闪则表示烧录失败(一般不会出现),不要关机,直接用方法二 USB 烧录补救,如果关机了可以再试试重启会不会进入升级模式,不会的话说明启动分区受损,就需用 AXDL 烧录启动分区了。
  • 手动重启(重新上电)即可进入新系统,第一次进入系统注意至少要等到进入主界面后才能关机断电,方式初始化出错。

加载和烧录系统文件

  • 加载前面下载的系统,注意不要下载错了,比如MaixCAM2是下载的maixcam2-2025-09-01-maixpy-v4.11.9.img.xz
  • 烧录时软件会自动解压xzimg文件,你也可以自己先手动解压为img文件。
  • 上电进入 USB / TF 卡升级模式,两种方式:
    • 方式1:USB 一端插电脑,然后另一端插上板子的1秒内按住boot/Func按纽不放,3秒后即可松开。
    • 方式2:先关机,USB 连接电脑和板子,打开电源开关的1秒内按住boot/Func按纽不放,3秒后即可松开。
    这里不先按住Func按纽再开机的原因是按住再开机会进入 AXDL 下载模式,要等待至少 5秒才能进入,太慢了。
  • 然后等待几秒,就能在下载软件选择烧录磁盘,可以看到板子虚拟的 U盘设备了。另外也可以看到蓝色 LED 按照 灭-亮-亮 进行双闪。
  • 点击软件的烧录(Flash)按纽,开始进行烧录(可能会需要管理员权限)。这时板子蓝色 LED开始亮0.5s-灭0.s闪烁。
  • 等待烧录完毕,蓝色 LED 会变成常亮表示烧录完毕,软件可能还没完成,比如软件会读取 EMMC 内容检验是否出错,可以等待其校验完成。
  • 手动重启(重新上电)即可进入新系统,第一次进入系统注意至少要等到进入主界面后才能关机断电,方式初始化出错。

使用系统供电注意点

断电和关机

除了上诉情况直接断电(包括拨动开关机按纽也是强制断电),平时正常使用系统时不建议强制断电来关机,如果你的系统正在写入内容到 TF 卡,可能会造成数据写入失败,以及系统有缓存机制,可能只是写入到内存,还没同步到磁盘。
另外系统仍在运行,强制拔掉电源和按reset按钮的是同样的问题,尽量先软件关机再拔电源

正常使用请软件关机或者重启,方法:

  • 方法一: 主界面长按Func按纽选择关机,或者设置->电源 进行软件关机或者重启。
  • 方法二: 终端使用poweroff 或者reboot命令进行软件关机或者重启。
  • 方法三:其它软件调用,比如 Python 调用 import os;os.system("poweroff") 进行关机或者重启。

文件写入和内容丢失问题

系统做了缓存机制,当你的代码在写入文件时,可能只是写入到了内存,过一段时间后系统自动写入到磁盘,如果在这中间断电了,那么内容就没有写入到磁盘(TF卡),下次开机就会发现之前写入的内容不存在。

解决方法:

  • 尽量不直接断电或者按reset按键,使用上面说的软关机。
  • 保存重要的内容,可以手动调用强制写入内容到磁盘的 API,比如在 Python 里面可以用os.sync()来告诉系统把所有缓存的文件立即写入到磁盘,其它的方式比如写入指定文件,以及其它语言请自性搜索类似Linux 刷新内容到磁盘的关键词。