介绍
在Ubuntu20.04上交叉编译gpsd-3.25,目标系统为rk3588 Linux
,目标编译工具链为aarch64-buildroot-linux-gnu
移植
rk3588编译工具链配置
1 | source /opt/rk3588/rk3588-aarch64-buildroot-linux-gnu/environment-setup |
GPSD使用scons工具构建,Ubuntu20.04上安装scons
1 | sudo apt install scons |
scons工具大致用法
1 | # 清理 |
GPSD交叉编译配置
1 | scons target=aarch64-buildroot-linux-gnu sysroot=$SYSROOT prefix=$PWD/build gpsd_user=nobody gpsd_group=nogroup install_root=$PWD/build qt=no python=no dbus=no chrpath=no strip=yes ncurses=no |
使用scons install命令安装到指定目录,然后部署到rk3588开发板上去(adb或者scp)
运行
部署至开发板的/userdata/admin目录,实际上只要bin、sbin、lib三个目录就够了,然后配置环境变量
1 | export PATH=/userdata/admin/build/bin:/userdata/admin/build/sbin:$PATH |
找到GNSS的串口节点,可以用cat命令,我这里的节点是ttyS1
1 | cat /dev/ttyS1 |
生成配置文件:/etc/gpsd.conf
1 | [gpsd] |
运行gpsd应用
1 | /userdata/admin/build/sbin/gpsd -n -G -F /etc/gpsd.conf |
测试
可以用gpsd命令打印当前的定位数据:gpsd -N -n -D5 /dev/ttyS1
进阶
把gpsd做成一个自启动的service
1 | [Unit] |