1.编译gps文件
在/projects/android/freescaleandroid5.1/hardware目录下创建u-blox文件夹,将gps源码复制到此目录;
修改u-blox.conf文件,将SERIAL_DEVICE设定为/dev/ttymxc2,将BAUDRATE改为38400;
编译gps模块:$source build/envsetup.sh
$lunch sabresd_6dq-userdebug
$cd hardware/u-blox/gps
$mm -B
编译报错:hardware/u-blox/gps/hal/ubx_serial.cpp:101:24: error: 'I2C_SLAVE' was not declared in this scope
修改bionic/libc/kernel/uapi/linux目录下的i2c.h文件(注:该文件不可编辑,为自动生成的文件),在文件中添加
/*------lqy------*/
#define I2C_SLAVE 0x0703 /*for gps compiling*/
此方法不推荐使用,待后期解决
重新编译,可行!并在out/target/product/sabresd_6dq/system/lib/hw中生成gps.default.so文件。此文件可保存,重复使用。
2. 使能ttymxc2串口权限
/projects/android/freescaleandroid5.1/fsl/sabresd_6dq/init.rc
chmod 777 /dev/ttymxc2
3. 复制相应文件
/projects/android/freescaleandroid5.1/fsl/imx6/imx6.mk
PRODUCT_COPY_FILES += \
device/fsl/common/input/Dell_Dell_USB_Keyboard.kl:system/usr/keylayout/Dell_Dell_USB_Keyboard.kl \
.....
\
hardware/u-blox/gps/gps.conf:system/etc/gps.conf\
hardware/u-blox/gps/u-blox.conf:system/etc/u-blox.conf
在/projects/android/freescaleandroid5.1/hardware目录下创建u-blox文件夹,将gps源码复制到此目录;
修改u-blox.conf文件,将SERIAL_DEVICE设定为/dev/ttymxc2,将BAUDRATE改为38400;
编译gps模块:$source build/envsetup.sh
$lunch sabresd_6dq-userdebug
$cd hardware/u-blox/gps
$mm -B
编译报错:hardware/u-blox/gps/hal/ubx_serial.cpp:101:24: error: 'I2C_SLAVE' was not declared in this scope
修改bionic/libc/kernel/uapi/linux目录下的i2c.h文件(注:该文件不可编辑,为自动生成的文件),在文件中添加
/*------lqy------*/
#define I2C_SLAVE 0x0703 /*for gps compiling*/
此方法不推荐使用,待后期解决
重新编译,可行!并在out/target/product/sabresd_6dq/system/lib/hw中生成gps.default.so文件。此文件可保存,重复使用。
2. 使能ttymxc2串口权限
/projects/android/freescaleandroid5.1/fsl/sabresd_6dq/init.rc
chmod 777 /dev/ttymxc2
3. 复制相应文件
/projects/android/freescaleandroid5.1/fsl/imx6/imx6.mk
PRODUCT_COPY_FILES += \
device/fsl/common/input/Dell_Dell_USB_Keyboard.kl:system/usr/keylayout/Dell_Dell_USB_Keyboard.kl \
.....
\
hardware/u-blox/gps/gps.conf:system/etc/gps.conf\
hardware/u-blox/gps/u-blox.conf:system/etc/u-blox.conf