跳到主要内容

鲁班猫2 rk3568安卓 GPS模块适配

前言

鲁班猫2野火本身没有单独的GPS模块

假设你财力不够雄厚,买不起他们家的EC20(带GPS的,天线还要再加¥30

那就单独买一个GPS模块吧

选型

提示

基本上的GPS模块都是走串口的,报文协议其实NMEA=0183就可以

firefly说有什么公版GPS的,还有些u-blox还有自家驱动的,我看了眼鲁班猫SDK压根没有

4. 无线模块 — Firefly Wiki (t-firefly.com)

如果你财力雄厚也可以买公版的

但是,大伙都是串口,SDK也没摸透,直接开盲盒

于是淘宝我看到了个中科微的ATGM336H(30块,还是优信电子,速发=)

适配

参考文章如下:

RK3588 移植中科微GPS驱动-CSDN博客

过程:

设备树

&uart8{
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart8m1_xfer>;
};

pinctrl记得看好是m0还是m1

hal层驱动

  1. 下载中科微官方hal层驱动到源码的/vendor下面
  2. 修改串口TTY号、波特率(如果不知道的话可以设置好设备树后,ls出/dev/tty*有没有你的串口号,然后stty -F /dev/ttyS8 -a #ttyS8为要查看的串口就可以看到实际波特率,假设你想看有没有正常发送报文,可以直接cat /dev/ttyS8 #ttyS8为要查看的串口
  3. 其他参数建议调通再调
  4. 进入到/vendor/aosp13_gnss_hal后mm,也可以mmm vendor/aosp13_gnss_hal,记得在source、lunch后再编译,如果不会单独模块的编译可以找一下教程
  5. 去看看out目录下的你的对应target的/vendor/lib64/hw下面有没有gps.default,有应该就编译好了

BoardConfig.mk

在device/rockchip/rk356x下面找到BoardConfig.mk,找BOARD_HAS_GPS,如果是false调成true

然后在/device/rockchip/commondevice.mk加入HAL层驱动(直接搜gnss,具体操作可以看上述文章教程RK3588 移植中科微GPS驱动-CSDN博客

剩下的就和上述的参考文章一样

也建议用GPS TEST,好用的