车载信息服务软件开发包使用指南(1)
文章目录
一、介绍
1.目标
远程通信软件开发套件(TelSDK)是一组应用程序编程接口(API),提供对QTI特定硬件和软件功能的访问。
本文档的主要目的是概述TelSDK的各种功能,并演示如何使用,各种TelSDK API来开发应用程序。它提供了示例应用程序的源代码以帮助开发人员了解和熟悉API用法。
2.范围
本文档着重介绍了如何使用TelSDKapi来实现一个给定的用例。它假设开发人员熟悉Linux和C++11编程。
二、构建基于TelSDK的应用程序
2.1.可以访问ChipCode网站
高通技术公司客户通过ChipCode发布软件产品™ 门户。
此交付包含公共和非公共TelSDK交付成果。根据这些信息开发和构建应用程序将是:
- 从ChipCode门户同步整个软件产品发布包。
- 编写基于TelSDK的应用程序。
- 编写Yocto配方来构建此应用程序。
- 将此应用程序和配方集成到Yocto构建系统中。
- 最后,构建应用程序并在目标硬件上进行测试。
2.1.1. 设置构建环境
$ cd poky
$ source build/conf/set_bb_env.sh
$ build-<target>-image
目标可以是sa515m、sa415m、sa2150p或9650等。
2.1.2. 构建示例应用程序
在运行了set_bb_env.sh脚本后,构建环境将准备就绪。TelSDK提供的示例应用程序可以使用如图所示
$ bitbake telux-samples
该处使用的url网络请求的数据。
2.2. 无法访问ChipCode网站
可以在一定程度上开发基于TelSDK的应用程序,只需公开使用TelSDK源代码的可用部分。最低要求及其满足方式如下所述:
- 一个整体构建环境,它包括用于编译给定应用程序的跨工具链QTI目标处理器的体系结构。标准Linux头文件、库、根文件系统目录结构和各种环境变量,以促进构建和链接过程。此版本通过标准Yocto平台SDK应用程序开发和环境创建支持功能。80-PF458-1版本AE可能包含美国和国际出口管制信息8远程通信SDK构建基于TelSDK的应用程序。
- 用于编译和链接应用程序的TelSDK头文件和库。这是通过启用TelSDK特定的配方,用于在使用的根文件系统中构建和安装这些头文件和库在我们的构建环境中。
2.2.1. 创建编译环境
创建这种构建环境的步骤如下:
-
在主机上安装必要的软件包,以同步和构建Yocto平台SDK。
$ sudo apt-get install repo gawk wget git core diffstat unzip texinfo xterm $ sudo apt-get install gcc-multilib build-essential chrpath socat libsdl1.2-dev
-
识别高通技术公司最新软件映像(SI)版本的标签codeaurora论坛的目标处理器。LE.UM.4.1.1.C9是SA515M目标LE的SI。UM.3.2.1.C1是SA415M目标的SI,LE.UM.1.3.r5是MDM9650目标的SI。标签为
此处列出:https://source.codeaurora.org/quic/le/le/manifest/refs/tags -
为源代码存储库创建完全限定的清单文件名。添加“caf_”作为前缀“.xml”作为在步骤2中获得的标记的后缀。
清单文件名示例:
caf_AU_LINUX_EMBEDED_LE.UM.4.1.1.C9_TARGET_ALL.01.31.164.xml -
使用在步骤3中获得的清单文件来同步软件映像版本的开源代码部分。
$ repo init -u git://codeaurora.org/quic/le/le/manifest.git -b release -m <caf_TAG.xml> $ repo sync -j 16
-
通过在中添加以下行,可以在目标映像上构建和安装TelSDK库poky/build/conf/local.conf文件。
(a) 对于除LE.UM.1.3.r5之外的所有软件映像:CORE_IMAGE_EXTRA_INSTALL += “telux” CORE_IMAGE_EXTRA_INSTALL +=
“telux-lib”(b) 对于LE.UM.1.3.r5软件映像:
CORE_IMAGE_EXTRA_INSTALL += “telux”
CORE_IMAGE_EXTRA_INSTALL +=> “telephony-lib” -
运行SDK环境设置脚本(Yocto构建系统需要)。
$ cd poky $ source build/conf/set_bb_env.sh
-
设置计算机和操作系统分发环境。
# For sa515m $ export MACHINE=sa515m $ export DISTRO=auto # For sa415m $ export MACHINE=sa415m $ export DISTRO=auto # For sa2150p $ export MACHINE=sa2150p $ export DISTRO=msm
-
构建Yocto平台SDK并生成SDK安装程序
$ bitbake core-image-minimal -c do_populate_sdk
一旦构建完成,SDK安装程序将在poky/build/tmpglibc/deploy/SDK中找到目录例如,oecore-x86_64-armv7at2hf-none-toolchain-nodicro.0.sh是SA515MLE2.1。
-
最后,使用在步骤8中生成的安装程序在主机上安装构建环境。当出现提示时,请指定要安装的目录。
$ poky/build/tmp-glibc/deploy/sdk/oecore-x86_64-<arch>-toolchain-nodistro.0.sh
-
现在,可以通过以下Yocto SDK项目手册中提到的构建过程,针对TelSDK库编写和编译应用程序:
https://docs.yoctoproject.org/sdk-manual/index.html
2.2.2. 构建一个示例应用程序
我们的构建环境现在已经设置好了。例如,TelSDK为SA515M LE.2.1提供的位置示例应用程序可以通过执行以下指令来构建。
$ cd <platform_sdk_installation_directory>
$ source environment-setup-armv7at2hf-neon-oe-linux-gnueabi
$ cd telux/public/apps/samples/loc/loc_app/
$ ${CC} SampleLocationApp.cpp -ltelux_loc -std=c++11 -lstdc++ -o testapp
三、TelSDK仿真
有时,您可能希望在没有目标硬件的情况下尽早开始开发应用程序。为了支持这一点,TelSDK的特性模拟了某些功能,例如,生成位置报告。
3.1. 模拟位置报告的生成
预定义的位置数据被输入TelSDK位置库,然后以与真实硬件相同的方式传递给应用程序。模拟定位功能的步骤如下:
-
获取第二部分-基于TelSDK构建应用程序中描述的源代码
-
在主机上安装CMake工具以在主机上构建代码
$ sudo apt-get install cmake
-
安装所需的TelSDK标头
$ cd telux/public/include $ cmake . $ cmake --build . $ sudo make install
-
构建和安装所需的TelSDK库
$ cd telux/public/simulation $ cmake . $ cmake --build . $ sudo make install
-
启用只构建位置_test_app。在telux/public/apps/CMakeLists.txt文件中,注释出除位置_test_app外的所有“add_子目录”语句
$ cd telux/public/apps $ cmake . $ cmake --build . $ sudo make install
-
运行测试应用程序
$ location_test_app
3.1.1. 配置位置模拟参数
可以配置各种位置参数,以增加仿真覆盖率。总的来说,可以配置数据的可用性、位置数据的来源、报告的各种延迟和频率。这些参数分别在模拟/loc/StubConfig、simulation/loc/StubDefines.hpp和simulation/loc/commonDef.hpp文件中定义。如果没有通过这些文件覆盖任何参数,则将使用默认的硬编码值。