1. CPP构建命令: cd /mnt/d/code/archery/cpp_ext rm -rf build && mkdir build && cd build TOOLCHAIN_BIN=/mnt/d/code/MaixCDK/dl/extracted/toolchains/maixcam/host-tools/gcc/riscv64-linux-musl-x86_64/bin PYDEV=/mnt/d/code/shooting/python3_lib_maixcam_musl_3.11.6 MAIXCDK=/mnt/d/code/MaixCDK cmake .. -G Ninja \ -DCMAKE_C_COMPILER="${TOOLCHAIN_BIN}/riscv64-unknown-linux-musl-gcc" \ -DCMAKE_CXX_COMPILER="${TOOLCHAIN_BIN}/riscv64-unknown-linux-musl-g++" \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_C_FLAGS="-mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d" \ -DCMAKE_CXX_FLAGS="-mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d" \ -DPY_INCLUDE_DIR="${PYDEV}/include/python3.11" \ -DPY_LIB="${PYDEV}/lib/libpython3.11.so" \ -DPY_EXT_SUFFIX=".cpython-311-riscv64-linux-gnu.so" \ -DMAIXCDK_PATH="${MAIXCDK}" ninja 2. Maixvision 直接跑项目的时候,是复制到板子上的这个目录:/tmp/maixpy_run 3. 4g 模块的终端测试方法: 3.1 一个窗口 ssh 到maixcam的板子上之后,通过 printf 输入命令到 /dev/ttyS2, 然后另外一个窗口通过 cat /dev/ttyS2 输出 # 1. 确保 PDP 激活 printf 'AT+CGPADDR=1\r\n' > /dev/ttyS2 # 2. 开启日志监听(另一个 SSH 窗口) cat /dev/ttyS2 # 3. 发送下载命令(原窗口) printf 'AT+MHTTPDLFILE="http://static.shelingxingqiu.com/shoot/v1/main.py","downloaded.py",5120\r\n' > /dev/ttyS2 4. wifi的启动条件,在 /boot 目录下,看看是否有 wifi.sta 和 wifi.ssid, wifi.pass 这些文件。其中 wifi.sta 是开关文件。 如果没有了它就不会启动wifi流程。具体的wifi流程 由 /etc/init.d/S30wifi 控制。它会判断 wifi.sta 是否存在,然后是否启动wifi,还是启动热点。 5. 给自己的程序打包到基础镜像中,参考:https://wiki.sipeed.com/maixpy/doc/zh/pro/compile_os.html 5.1. 按照链接中的步骤,去github上获取了基础镜像,这次使用的是 v4.12.4,把Assets中的下面几样东西下载下来,我是在windows的wsl中执行的,注意, 假如是在windows中下载的文件,在wsl中编译会很慢,所以我采用的是直接在wsl中下载,放到wsl的自己的文件系统中。 1)maixcam-2025-12-31-maixpy-v4.12.4.img.xz 2)maixcam_builtin_files.tar.xz 3)MaixPy-4.12.4-py3-none-any.whl 4)Source code(zip) 5.2. 把自己的文件放到 buildtin_files中: 1)我把项目文件目录 t11 放到了 maixcam_builtin_files\maixapp\apps 这个目录下。 2)为了能让它自启动,我把 auto_start.txt 放到了 maixcam_builtin_files\maixapp 这个目录下。 5.3. 然后在解压后的源码中找到tools/os目录下 /home/saga/maixcam/MaixPy-4.12.4/tools/os/maixcam 执行 export MAIXCDK_PATH=/home/saga/maixcam/MaixCDK 编译: ./gen_os.sh ../../../../../maixcam/maixcam-2025-12-31-maixpy-v4.12.4.img ../../../../../maixcam/MaixPy-4.12.4-py3-none-any.whl ../../../../../maixcam/maixcam_builtin_files 0 maixcam 注意,在编译过程中,也会去 github 下载内容,所以需要打开梯子。 5.4. 等待编译完成,会编译成镜像文件,然后根据 https://wiki.sipeed.com/hardware/zh/maixcam/os.html 这个指引来烧录系统。 5.5. 烧录完系统后,需要安装 runtime, 可以按照 https://wiki.sipeed.com/maixpy/doc/zh/README_no_screen.html 这个来升级运行库,或者直接在 Maixvision 中链接的时候安装 runtime。 5.6. 安装 runtime 之后,重启,我们的系统就会自己启动起来了。 遇到问题: /mnt/d/code/shooting/compile_maixcam/MaixPy-4.12.4/MaixPy-4.12.4/tools/os/maixcam/fuse2fs: error while loading shared libraries: libfuse.so.2: cannot open shared object file: No such file or directory 解决办法: 安装 libfuse2 sudo apt update sudo apt install libfuse2 遇到问题: python 缺少 yaml 解决办法: pip install pyyaml 遇到问题: ./build_all.sh: line 56: maixtool: command not found 解决办法: export PATH="/mnt/d/code/MaixCDK/.venv/bin:$PATH" 遇到问题: ./update_img.sh: line 80: mcopy: command not found 解决办法: sudo apt update sudo apt install mtools 6. 相机标定: set OPENCV_FFMPEG_CAPTURE_OPTIONS="rtsp_transport;tcp" opencv_interactive-calibration -t=chessboard -w=9 -h=6 -sz=0.025 -v="http://192.168.1.55:8000/stream"