(GPS移植三部曲)Linux下移植GPS应用程序之常见问题的分析与解决方法之二

简介:   Linux下移植GPS应用程序之常见问题的分析与解决方法之一 OS:Linux 一. 直接提供函数实现给第三方 原因:主芯片设计以及gps芯片的更改,导致gps驱动程序时常处于更新状态 演化为:给第三方提供.

 

Linux下移植GPS应用程序之常见问题的分析与解决方法之一

OS:Linux

. 直接提供函数实现给第三方

原因:主芯片设计以及gps芯片的更改,导致gps驱动程序时常处于更新状态

演化为:给第三方提供.so动态链接库以及.h头文件

.gps参数写死到程序中

gps参数有:Serial串口设备的路径、GPIO设备的端口号、波特率、GPIO端口号、复位Reset的GPIO端口号、电源管理工具的路径、快速启动GPS所保存的文件路径(冷启动和热启动之分);

开发板有:Lily、Bali以及Apollo1.0,Apollo1.1;

演化为:提供gps参数的配置文件,如:atgps.cnf以及navione.cnf两个配置文件

.直接将驱动开发的软件接口提供给第三方

原因:

1.  驱动开发的软件接口,会经常发生变化,接口不稳定;

2.  驱动开发的软件接口,还不是第三方真正需要的接口,还不能完全满足用户需求;

3.  要基于驱动开发的软件接口,来进一步扩展和完善,使其满足第三方的需要;

演化为:基于驱动开发人员提供的接口,来进行封装,以满足实现客户的需要。

.第三方没有调用at_close_gps函数,待机时间明显缩短

造成的后果:电流偏大,电流降不下来,待机时机偏短;

解决办法:确保第三方,调用at_close_gps函数,关闭gps设备。

.程序与数据没有分离,造成一个目录经常放不下所有程序和数据

数据:地图数据,声音数据

Linux分区的目录经常才400-500M,而GPS整个存储空间需要900M

演化为:程序与数据分离

 

.当前目录与运行程序的路径相混淆

当前目录经常会发生更改,当前目录不一定是运行程序的所在路径。

所以,一定要注意区分清楚。

.使用C++类的形式,封装数据,隐藏信息

1.数据,信息是与具体的操作相关联的;

2.给第三方提供操作行为;

3.信息,属性隐藏;

.一个开发板不同版本Apollo1.0与Apollo1.1,需要2套gps代码

开发板:Apollo开发板就有Apollo1.0与Apollo1.1至少两个硬件版本之分,毕竟硬件还是有点差别的;

解决办法:一套代码可以适合多个不同的开发板,一个开发板可以拥有多个不同的版本。

.针对给第三方的接口,编写验证其接口正确性,其工具是:gpstool

 

相关文章
|
22天前
|
Linux
linux查看应用对应的端口
linux查看应用对应的端口
15 0
|
22天前
|
网络协议 安全 Linux
linux系统安全及应用——端口扫描
linux系统安全及应用——端口扫描
35 0
|
3天前
|
Linux 编译器 测试技术
嵌入式 Linux 下的 LVGL 移植
嵌入式 Linux 下的 LVGL 移植
|
15天前
|
Prometheus 监控 数据可视化
linux分析方法与技巧
【4月更文挑战第3天】在Linux环境中,进行日志分析和系统性能分析的关键方法包括:使用`cat`, `less`, `tail`查看和过滤日志,`logrotate`管理日志文件,`rsyslog`或`syslog-ng`聚合日志,以及通过`top`, `mpstat`, `pidstat`, `free`, `iostat`, `netstat`, `strace`, `sar`, `dstat`等工具监控CPU、内存、磁盘I/O和网络。对于高级分析,可利用Brendan Gregg的性能工具,以及Grafana、Prometheus等可视化工具。
16 2
linux分析方法与技巧
|
16天前
|
Linux 编译器 网络安全
嵌入式Linux移植dropbear
嵌入式Linux移植dropbear
16 3
|
16天前
|
存储 Ubuntu Linux
制作一个嵌入式Linux的应用程序升级文件
制作一个嵌入式Linux的应用程序升级文件
12 2
|
17天前
|
编解码 Ubuntu 算法
【Linux】NUC977移植使用MQTT(基于mosquitto)
【Linux】NUC977移植使用MQTT(基于mosquitto)
|
17天前
|
Linux 测试技术 C语言
【Linux】应用编程之C语言文件操作
【Linux】应用编程之C语言文件操作
|
23天前
|
监控 Linux Shell
Linux 进程问题调查探秘:分析和排查频繁创建进程问题
Linux 进程问题调查探秘:分析和排查频繁创建进程问题
39 0
|
23天前
|
消息中间件 存储 网络协议
Linux IPC 进程间通讯方式的深入对比与分析和权衡
Linux IPC 进程间通讯方式的深入对比与分析和权衡
65 0