部署和调试应用¶
通过 SCP 部署¶
编译完成后,从 Ubuntu 主机执行:
scp myapp root@<开发板IP>:/root/
ssh root@<开发板IP> 'chmod +x /root/myapp'
登录开发板运行:
/root/myapp
echo $?
调试阶段将程序放在 /root 或 /tmp,不需要每次重做系统镜像。
检查程序架构和依赖¶
Ubuntu 主机执行:
file myapp
arm-linux-gnueabihf-readelf -h myapp
arm-linux-gnueabihf-readelf -d myapp
开发板执行:
ldd /root/myapp
出现 not found 时,说明目标根文件系统缺少动态库。应将库加入 Buildroot 配置或 rootfs overlay,不要复制 Ubuntu 主机的 x86_64 库。
查看运行状态¶
ps | grep myapp
top
dmesg | tail
将标准输出保存为日志:
/root/myapp >/tmp/myapp.log 2>&1 &
tail -f /tmp/myapp.log
发布到系统镜像¶
程序验证完成后安装到板级覆盖层:
install -D -m 0755 myapp \
~/v3s-workspace/strongpi-v3s-support/rootfs_overlay/usr/bin/myapp
重新编译 Buildroot,并重新生成 TF 或 NAND 镜像。应用进入正式镜像后,目标路径为 /usr/bin/myapp。
避免覆盖正在运行的文件¶
上传新版本前先停止旧进程:
killall myapp 2>/dev/null || true
再执行 SCP。直接覆盖正在运行的可执行文件可能返回 Text file busy。