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 系统烧录文档 中的说明,下载对应型号的系统镜像文件 和 注意备份数据。
系统启动流程简介
为了让你更好理解烧录系统,这里介绍一下启动流程(简单版本):
开机上电,芯片内部程序(bootrom)检测
boot/Func
引脚是否拉低(MaixCAM2 的Func
按键按下),如果拉低则进入AXDL
USB 下载固件模式,会等待 AXDL 软件通过 USB 通信至少 5 秒以上。
没有按下或者超过5s没有通信则正常启动。加载内部
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 也可以用 Win32DiskImager 或 Rufus 或 imageUSB。 如果 Etcher 无法烧录可以试试这两个。
如果遇到了出了点问题。如果源镜像曾被压缩过,请检查它是否已损坏 Error spawning the child process
,可能是权限不够造成的,右键应用图标,使用管理员身份打开即可。
如果仍然无法解决,或者烧录后无法启动,可以用rufus
或者win32diskimager
等其它软件烧录。
加载和烧录系统文件
- 加载前面下载的系统,注意不要下载错了,比如
MaixCAM2
是下载的maixcam2-2025-09-01-maixpy-v4.11.9.img.xz
。
大多数软件烧录时软件会自动解压xz
为img
文件,如果软件不支持则需要先手动解压为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秒才能进入,太慢了。 - 方式1:USB 一端插电脑,然后另一端插上板子的
- 然后等待几秒,就能在下载软件选择烧录磁盘,可以看到板子虚拟的 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
。 - 烧录时软件会自动解压
xz
为img
文件,你也可以自己先手动解压为img
文件。 - 上电进入 USB / TF 卡升级模式,两种方式:
- 方式1:USB 一端插电脑,然后另一端插上板子的
1秒内
按住boot/Func
按纽不放,3秒
后即可松开。 - 方式2:先关机,USB 连接电脑和板子,打开电源开关的
1秒内
按住boot/Func
按纽不放,3秒
后即可松开。
这里不先按住
Func
按纽再开机的原因是按住再开机会进入 AXDL 下载模式,要等待至少 5秒才能进入,太慢了。 - 方式1:USB 一端插电脑,然后另一端插上板子的
- 然后等待几秒,就能在下载软件选择烧录磁盘,可以看到板子虚拟的 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 刷新内容到磁盘
的关键词。