qsee80-p9361-1sc_c_qualcomm_snapdragon_scep gen 5 0_user_guide_simplified_chinese_W_第1页
qsee80-p9361-1sc_c_qualcomm_snapdragon_scep gen 5 0_user_guide_simplified_chinese_W_第2页
qsee80-p9361-1sc_c_qualcomm_snapdragon_scep gen 5 0_user_guide_simplified_chinese_W_第3页
qsee80-p9361-1sc_c_qualcomm_snapdragon_scep gen 5 0_user_guide_simplified_chinese_W_第4页
qsee80-p9361-1sc_c_qualcomm_snapdragon_scep gen 5 0_user_guide_simplified_chinese_W_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Qualcomm Technologies, Inc.Qualcomm Snapdragon SCEP.GEN.5.0用户指南80-P9361-1SC 版本 C2017 年 3 月 22 日 和专有信息 - Qualcomm Technologies, Inc.禁止公开披露:如若发现本文档在公共服务器或网站上发布,请报告至:DocCtrlA。 限制分发:未经 Qualcomm 配置管理部门的明确批准,不得向 Qualcomm Technologies, Inc.或其关联公司的员工之外的任何人分发。 未经 Qualcomm Technologies, Inc. 的

2、明确书面许可,不得使用、复印、复制或修改其全部或部分内容,或以任何方式向其他人泄露其内容。 Qualcomm Hexagon 和 Qualcomm Snapdragon 是 Qualcomm Technologies, Inc. 的产品。 本文中提到的其他 Qualcomm 产品属于 Qualcomm Technologies, Inc.。 Qualcomm, Hexagon, 和 Snapdragon 是 Qualcomm Incorporated 在美国及其他国家/地区所注册的商标。 其他产品和品牌名称可能是其各自所有者的商标或注册商标。 本技术资料可能受美国和国际出口、再出口或转让(统称

3、“出口”)法律的约束。严禁违反美国和国际法律。 Qualcomm Technologies, Inc.5775 Morehouse Drive San Diego, CA 92121 U.S.A. 2016-2017 Qualcomm Technologies, Inc. 版权所有。 修订记录版本 日期 说明 A2016 年 12 月 初始版本 B2017 年 2 月 更新了第 5 章“在 SEE 中添加新传感器”,更新了第 6.1 节“OpenSSC5.0 中的 SSC 测试传感器”以及 FAQ。 新增了第 6.2 节“OpenSSC 5.0.1 中的 SSC 测试传感器”和第 7.2.2

4、节 “硬件中断数据”。 C2017 年 3 月 根据 QTI 标准进行了更新;此文档版本未更改技术性内容。 2580-P9361-1SC 版本 C和专有信息 - Qualcomm Technologies, Inc.可能包含美国和国际出口管制信息 目录修订记录21 简介51.1 用途51.2 符号惯例51.3 技术协助52 前提条件63 编译 SCEP 版本73.1 配置 nanopb 生成器73.2 编译 OpenSSC 5.073.3 版本日志83.4 映像二进制文件84 将 SSC 二进制文件载入目标开发套件95 在 SEE 中添加新传感器106 测试工具116.1 OpenSSC 5.

5、0 中的 SSC 测试传感器116.1.1 使用测试传感器测试加速度计传感器116.1.2 为新传感器类型添加测试传感器116.2 OpenSSC 5.0.1 中的 SSC 测试传感器127 调试137.1 调试消息137.2 日志数据包137.2.1 未校准传感器数据137.2.2 硬件中断数据13A 常见问题14B SEE 调用流程16B.1 所有传感器调用流程16Qualcomm Snapdragon SCEP.GEN.5.0 用户指南目录B.2 运动门控加速度计传感器调用流程18C 参考资料25C.1 相关文档25C.2 缩略词和术语251 简介1.1 用途本文档提供在 Intrins

6、yc Open-Q APQ8096 开发平台中使用 Qualcomm Snapdragon 传感器核心启用软件包 (SCEP) 集成并测试传感器设备驱动程序的相关指南。 本文档面向使用 SCEP 进行传感器驱动程序开发以及使用 Open-Q 820 开发套件进行测试的开发人员。强烈建议开发人员使用最新版 SCEP 软件包。 有关传感器 API 的详细信息以及 Snapdragon 传感器核心 (SSC) 驱动程序开发的信息,参见 Sensors Execution Environment (SEE) Overview (80P9361-2)。 1.2 符号惯例函数声明、函数名称、类型声明、属性

7、以及代码示例以不同字体表示,例如 #include。代码变量括在尖括号内,例如 。 1.3 技术协助如需协助或澄清本文档中的信息,通过 / 向 Qualcomm Technologies, Inc. (QTI) 提交用例。 如果您无法访问 CDMATech 支持网站,可在注册后进行访问,或者发送电子邮件至 。 2 前提条件SCEP 是一种 SSC 软件包,用于在 SSC 映像中集成新传感器。该软件包包括: 采用二进制格式的传感器执行环境 (SEE) 采用源格式的

8、服务、实用工具和传感器 API 文件 采用源格式的 STM LSM6DS3 加速度计、陀螺仪和运动加速度计传感器驱动程序为了成功编译 OpenSSC 5.0 SCEP 软件包,应安装下表列出的必备软件和工具。 项目说明 版本 来源/供应商 说明 Qualcomm Hexagon 工具 7.2.11QTI编译并链接 SSC 映像;通过 CreatePoint 提供。 Python2.7 或更高版本 Python支持编译脚本;安装包存储于 Hexagon SDK 安装程序中。 如果无法通过 Hexagon SDK 安装程序安装 Python,可手动安装。 Perl5.6.1ActiveState支

9、持编译脚本;必须手动安装。 Qualcomm Windows USB 驱 QTI通过 USB 连接开发套件后,启用诊断 COM 端口;该 COM 端口可通过 mini-dm 工具查看调试日动程序 志。 USB 驱动程序由 toolsusb下的 Hexagon SDK 提供。 有关详细信息,参见 toolsusbreadme.rtf 中的 USB 驱动程序自述文件。 Android Debug Bridge (ADB)1.0.31Android在开发套件中安装 SSC 映像;ADB 由 Android SDK 提供。 Nanopb 生成器 nanopb-0.3.6- windows-x86.zi

10、pNanopbSEE 框架使用 Google 协议缓冲区定义传感器与框架之间传递的消息。具体而言,nanopb 用于对所有请求和 进行编解码;OpenSSC 5.0 版本需要使用在主机 PC 中下载的 nanopb 生成器。 3 编译 SCEP 版本软件和必备工具安装完毕后,编译环境准备就绪,可编译软件版本并生成可推送至开发套件 的二进制文件。 相关信息 “前提条件”在第 6 页 3.1 配置 nanopb 生成器为 nanopd 生成器相关性配置新 SCEP 版本。该程序仅需在下载新 SCEP 版本后执行一次。 1. 将 nanopb-0.3.6-windows-x86.zip 文件复制至以

11、下位置: ssctools对于 OpenSSC 5.0 版本, 位置为 slpi_proc。 2. 打开命令终端。 3. 将目录更改为 。 4. 运行以下命令: python sscbuildconfig_nanopb_dependency.py -f 其中,nanopb_gen_filename 是步骤 1 中的 .zip 文件名称(不含 .zip 扩展名),例如 nanopb-0.3.6-windows-x86。 3.2 编译 OpenSSC 5.01. 打开命令终端。 2. 运行 setup_sdk_env.cmd 脚本。该脚本位于 Hexagon SDK 根目录下。 3. 将目录更改为

12、 。 4. 在命令行中运行编译脚本。对于 OpenSSC 5.0,编译命令为: python buildbuild.py -c msm8996 -f USES_DISABLE_FP,USES_SNS_RE_ARCH_SW,SENSORS_DD_DEV_FLAG -o allQualcomm Snapdragon SCEP.GEN.5.0 用户指南编译 SCEP 版本3.3 版本日志对于每种增量编译版本,将在 buildmsbuild-log.txt 中生成新版本日志。 3.4 映像二进制文件成功进行版本编译后,将在以下位置生成输出 SSC 二进制文件: objqdsp6v5_ReleaseGs

13、ignedfirmwareimage4 将 SSC 二进制文件载入目标开发套件成功编译 SCEP 版本后,使用 ADB 将 SSC 二进制文件推送至开发套件并载入映像。 1. 启动开发套件。 2. 通过 USB 将开发套件与主机计算机相连。 3. 打开命令终端窗口并执行以下 ADB 命令: adb rootadb wait-for-deviceadb shell mount -o rw,remount /firmware adb shell rm /firmware/image/slpi*adb push objqdsp6v5_ReleaseGsignedfirmwareimage /firm

14、ware/image adb shell syncadb reboot相关信息 “编译 SCEP 版本”在第 7 页 5 在 SEE 中添加新传感器OpenSSC 5.0 SCEP 软件包允许在 SSC 映像中最多新增五个传感器设备驱动程序。OpenSSC5.0.1 和更高版本不存在该限制条件,而是由编译系统自动生成受支持传感器列表。 每个驱动程序库可支持多种传感器数据类型。OpenSSC 5.0 和 5.0.1 软件包仅支持静态链接驱动程序。 1. 编写新驱动程序,必须符合以下头文件定义的传感器 API: sscincsns_sensor.h sscincsns_sensor_instanc

15、e.h每款驱动程序必须实现一种注册函数。SEE(框架)在启动时通过调用该函数针对驱动程序支持的传感器进行初始化。LSM6DS3 驱动程序 (sscsensorslsm6ds3) 举例介绍了符合传感器 API 要求的物理传感器驱动程序。 2. 在 SEE 框架中注册驱动程序。 要静态链接 SSC 映像中的驱动程序,驱动程序必须已在 SEE 框架中注册。 在 OpenSSC 5.0 中,将驱动程序注册函数添加至 sscframeworksrc hexagonsns_static_sensors.c 的 sns_register_sensor_list 列表。以sns_register_lsm6ds

16、3() 为例。所有新增的驱动程序注册函数必须替代sns_register_sensor_list 列表中的既有 NULL 值。NULL 值是新驱动程序的占位符。 对于 OpenSSC 5.0.1 和更高版本,在驱动程序 .scons 文件中添加驱动程序注册函数。以 sns_lsm6ds3.scons 为例。 3. 在版本中添加新驱动程序后,对其进行编译。 4. 更新后的 SCEP 版本编译完成后,将 SSC 映像二进制文件推送至开发套件。 相关信息 “编译 SCEP 版本”在第 7 页 “将 SSC 二进制文件载入目标开发套件”在第 9 页 6 测试工具可通过不同技术测试 SCEP 环境中的驱

17、动程序。 6.1 OpenSSC 5.0 中的 SSC 测试传感器SCEP 版本提供的测试传感器可用于在被测驱动程序中运行测试用例。开发人员可修改该测试传感器或根据其编写自定义测试传感器,从而针对驱动程序执行任何特定于传感器的测试。 与 SEE 中的其他任何传感器相似,测试传感器也将进行初始化,符合传感器 API 要求。在初始化过程中,测试传感器使用被测传感器创建数据流,通过发送请求消息启用被测传感器。 默认通过写入 sscsensorstest 中的测试传感器测试加速度计传感器。 6.1.1 使用测试传感器测试加速度计传感器1. 在 SSC 映像中添加新加速度计传感器,其 data_type

18、 属性发布为“accel”。 2. 使用附加版本标志 SNS_TEST_ACCEL 编译 SCEP 版本,例如: python buildbuild.py -c msm8996 -f USES_DISABLE_FP,USES_SNS_RE_ARCH_SW,SENSORS_DD_DEV_FLAG,SNS_TEST_ACCEL -oall3. 版本成功编译后,将输出映像推送至开发套件。 启动后,测试传感器将产生采样率为 100 Hz 的加速度计数据流。 接收加速度计传输的 100 个数据后,测试传感器停止与加速度计进行数据流传 输。 4. 修改示例测试传感器,以扩展为其他任何传感器类型或加速度计用

19、例,例如 ODR 扫描、并行客户端等。 6.1.2 为新传感器类型添加测试传感器文中以磁力计传感器为例。 1. 更新 sns_test.scons,在 test_sensors 列表中附加 SNS_TEST_MAG。 2. 更新 sns_test_sensor.c,在 SNS_TEST_GRAVITY 的 #ifdef 后包含特定于传感器的测试配置。 Qualcomm Snapdragon SCEP.GEN.5.0 用户指南测试工具#elif defined(SNS_TEST_MAG) #include sns_test_mag.hstatic const sns_test_implement

20、ation test_sensor_impl = mag, 4,sns_test_create_mag_request,sns_test_mag_process_event;#else3. 写入 sns_test_mag.h 和 sns_test_mag.h,以满足测试用例要求。使用 sns_test_accel.h 和sns_test_accel.c 作为参考实施方案。实现 sns_test_create_mag_request() 和sns_test_mag_process_event()。 4. 所有代码完成后,使用以下编译命令编译测试代码和驱动程序: python buildbuild

21、.py -c msm8996 -f USES_DISABLE_FP,USES_SNS_RE_ARCH_SW,SENSORS_DD_DEV_FLAG,USES_DELAYED_INIT,SNS_TEST_MAG -o all5. 将输出二进制文件推送至开发套件。测试传感器发现测力计传感器并按测试实施方案的规 定开始测试。 6.2 OpenSSC 5.0.1 中的 SSC 测试传感器该版本中的测试传感器架构经过重新设计,sns_std_to 中符合 API 要求的所有传感器均可使用通用实施方案进行测试。有关适用于特定传感器类型的版本标志(应用于 -f 选项的编译命令。例如针对加

22、速度计使用 SNS_TEST_ACCEL),参见 sns_test.scons。 如果传感器使用不同 API,则需使用独立测试实施方案。开发人员可在该版本的源中使用测试传感器对其测试用例进行自定义。 7 调试调试功能是新传感器驱动程序调通的重要组成部分。SCEP 软件包利用 mini-dm 终端调试实用工具查看注入设备驱动程序中的调试消息。 使用 ssctoolsmini_dmmini-dm.exe 中的 OpenSSC 5.x 提供的 mini-dm 工具。 7.1 调试消息SEE 调试服务提供记录调试消息的 API。调试消息可在 mini-dm 中查看。 7.2 日志数据包SEE 调试服务

23、提供提交日志数据包的 API。物理传感器驱动程序必须为以下数据实现日志数据包: 7.2.1 未校准传感器数据所有物理传感器驱动程序必须为驱动程序发布的所有输出提交包含未校准传感器数据的日志数据包。诊断服务 API 记录于 sscinc servicessns_diag_service.h。 STM LSM6DS3 加速度计实施方案提供了记录未校准传感器数据的示例。 7.2.2 硬件中断数据部分基于中断的传感器提交的日志数据包必须包含硬件 触发中断的信息,例如运动检测、倾斜、接近度阈值、环境光阈值等。有关该日志数据包的 API,参见 sns_to。 A 常见问题问 何为传感器执行

24、环境 (SEE)? 答 SSC 中运行的新一代传感器软件架构称为传感器执行环境 (SEE)。更多详细信息,参见 Sensors Execution Environment (SEE) Overview (80P9361-2)。 问 何为传感器 API? 答 SEE 中所有传感器驱动程序的 API 统称传感器 API,包括以下文件中记录的传感器和传感器实例 API: sns_sensor.h sns_sensor_intance.h问 针对设备驱动程序框架 (DDF) 编写的驱动程序是否适用于 SEE? 答 不适用。驱动程序必须重新设计/重新写入,以符合将在 SEE 中使用的传感器 API。 问

25、 OpenSSC 5.0 中通过何种方式支持注册表? 答 OpenSSC 5.0 目前不支持使用注册表。目前,驱动程序的所有平台特定配置(总线、从站控制、中断引脚等)必须进行硬编码。参见 OpenSSC 5.0 软件包中的 STM LSM6DS3 驱动程序示例。OpenSSC 的后续版本将支持注册表。 问 QSensorTest 应用程序是否允许在 OpenSSC 5.0 中测试传感器? 答 不允许。SCC 测试传感器支持在 OpenSSC 5.0 中测试传感器。OpenSSC 的后续版本将支持通过应用程序处理器 apk 进行测试。 问 必须为采用 OpenSSC 5.0 的 Open-Q 8

26、20 开发套件使用哪些特定于平台的信息? 答 使用下列信息: 总线类型 总线实例 SPI0x01I2C0x03 Qualcomm Snapdragon SCEP.GEN.5.0 用户指南常见问题电源轨类型 电源轨名称 VDD“/pmic/client/sensor_vdd” VDDIO“/pmic/client/sensor_vddio” 传感器中断 中断引脚 加速度计 DRDY117陀螺仪 DRDY118磁力计 DRDY119压力 无专用 GPIOALS/接近度 120心率传感器 122IR 手势 无专用 GPIO霍尔效应 124SPI 从站控制 值 SSC_SPI_1_CS_N0x00SS

27、C_SPI_1_CS1_N0x01问对于 I2C 总线,max_bus_speed_KHz 和 min_bus_speed_KHz 的建议值是多少? 答 两字段均使用 400 kHz。 B SEE 调用流程B.1 所有传感器调用流程传感器初始化框架传感器硬件sns_register_sensor(sns_register_cb) sns_register_cb-init_sensor(sensor_api, sensor_inst_api)sensor_api-get_sensor_uid(sensor) sensor_api-init(sensor)sns_data_stream_api-s

28、end_request(registry, dep_SUID) sensor_api-event_notify(dep_data)sns_power_rail_api-update_power_rail(ON)sns_sync_com_port_api-register_read_write()sns_power_rail_api-update_power_rail(OFF) sensor_attribute_service_api-publish_attributes(sensor, available=TRUE)Qualcomm Snapdragon SCEP.GEN.5.0 用户指南SE

29、E 调用流程传感器激活客户端框架传感器传感器实例硬件启用 (SUID)传感器激活sensor_api-set_client_request(sensors) sns_power_rail_api-update_power_rail(ON) sns_sensor_cb-create_instance(sensor, state_len)sensor_instance_api-init(sensors)指针返回传感器实例sensor_inst_api- set_client_config()sns_sync_com_port_api- sns_scp_update_bus_power(ON)sns

30、_sync_com_port_api- register_read_write(config)sns_stream_service_api-create_sensor_instance_stream()sns_sync_com_port_api- sns_scp_update_bus_power(OFF)sns_data_stream_api-send_request(dependency)传感器数据获取sensor_instance_api-notify_event(dependency data)读取并处理数据sns_event_service_api-alloc_event() sns_

31、event_service_api-publish_event()(SUID)Qualcomm Snapdragon SCEP.GEN.5.0 用户指南SEE 调用流程B.2 运动门控加速度计传感器调用流程运动门控加速度计传感器运行,设备静止客户端 1加速度计MD硬件10/10,msgid 513加速度计 X、Y、Z启用加速度计(10 Hz 时)静止10/10,msgid 518启用禁用加速度计, 启用 MDMDE运动中断MDT启用加速度计, 禁用 MD静止加速度计 X、Y、Z启用MDE禁用加速度计, 启用 MDmsgid 513:非门控请求msgid 518:门控请求Qualcomm Sna

32、pdragon SCEP.GEN.5.0 用户指南SEE 调用流程运动门控加速度计传感器运行,设备运动客户端 1加速度计MD硬件启用加速度计10/10,msgid 513(10 Hz 时)加速度计 X、Y、Z 10/1,msgid 513启用加速度计运动(10 Hz/1 Hz 时) 加速度计 X、Y、Zmsgid 513:非门控请求msgid 518:门控请求Qualcomm Snapdragon SCEP.GEN.5.0 用户指南SEE 调用流程运动门控加速度计传感器运行,设备由静止状态变为运动状态客户端 1加速度计MD硬件10/10,msgid 513启用加速度计(10 Hz 时)静止加速

33、度计 X、Y、Z 10/10,msgid 518启用禁用加速度计, 启用 MDMDE运动中断MDT启用加速度计, 禁用 MD运动加速度计 X、Y、Z 10/1,msgid 513 加速度计 X、Y、Z启用加速度计(10 Hz/1 Hz 时)msgid 513:非门控请求msgid 518:门控请求Qualcomm Snapdragon SCEP.GEN.5.0 用户指南SEE 调用流程硬件MD加速度计运动门控加速度计传感器运行,设备由运动状态变为静止状态 客户端 110/10,msgid 513启用加速度计(10 Hz 时)加速度计 X、Y、Z运动10/1,msgid 513启用加速度计(10

34、 Hz/1 Hz 时),静止加速度计 X、Y、Z 10/10 msgid 518启用MDE禁用加速度计, 启用 MDmsgid 513:非门控请求msgid 518:门控请求Qualcomm Snapdragon SCEP.GEN.5.0 用户指南SEE 调用流程加速度计和运动门控加速度计传感器同时运行,设备静止客户端 1客户端 2加速度计MD硬件/实例SR/RR,msgid 513 10/10,msgid 513启用加速度计 加速度计 X、Y、Z更新加速度计静止加速度计 X、Y、Z 10/10,msgid 518启用更新acc_cfg10/1,msgid 518MDD 加速度计 X、Y、Z更新加速度计加速度计 X、Y、Z禁用禁用加速度计, 启用 MD更新acc_cfgMDE无硬件选件10/10,msgid 518msgid 513:非门控请求msgid 518:门控请求Qualcomm Snapdragon SCEP.GEN.5.0 用户指南SEE 调用流程运动门控加速度计和加速度

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论