diff --git a/docs/树莓派4B部署注意事项.md b/docs/树莓派4B部署注意事项.md index 1ece420..eba3051 100644 --- a/docs/树莓派4B部署注意事项.md +++ b/docs/树莓派4B部署注意事项.md @@ -55,9 +55,20 @@ pytest # 仅上机自测需要,部署运行可省 `undefined symbol: ..._M_futex_wait_until...` 不应复现。若仍报: `ldd | grep stdc` 确认链接对象,必要时用 `LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libstdc++.so.6` 兜底。 -- 安装后别只验证 import,要让内嵌二进制真跑一次: - `find ~/venv-pod -name mavsdk_server` 找到路径后直接执行(无参数即起服务, - Ctrl+C 退出),能打印启动信息说明架构匹配;`Exec format error` 则装错了架构。 +- 安装后别只验证 import,要让原生库真加载一次。**mavsdk 4.x 已无独立 + `mavsdk_server` 可执行文件**(2.x gRPC 架构的旧物),原生库是 + `mavsdk/lib/libcmavsdk.so`,正确自检: + + ```bash + # 复现设定点构造(原生库在此加载),打印 cmavsdk OK 即通过 + python -c "from mavsdk import offboard; offboard.VelocityBodyYawspeed(0,0,0,0); print('cmavsdk OK')" + # 动态链接齐全性(无输出=齐全) + ldd ~/venv-pod/lib/python3*/site-packages/mavsdk/lib/libcmavsdk.so | grep "not found" + ``` + + 报 `undefined symbol` 按上面 libstdc++ 条目排查;`Exec format error` 是架构装错。 + 注意:单测全绿**不**证明 mavsdk 已装或原生库健康(测试已打桩脱钩), + 本步不可替代。 - 连接串写法(`pod_bridge.json` 的 `px4.connection_string`): - Pi 串口直连飞控 TELEM:`serial:///dev/ttyUSB0:57600`(波特率按飞控侧设置); - 经数传/仿真:`udp://:14540`。