85 lines
4.4 KiB
Markdown
85 lines
4.4 KiB
Markdown
|
||
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" |