GR551x Sensor hub软件包介绍和固件生成

Sensor hub 软件包目录结构

Sensor hub 是基于 GR551x SDK 1.6.08 版本进行开发的。在发布时,Sensor hub 工程将和 其适配的GR551x SDK一起release,用户仅需要将release压缩包解压,进入projects/ Reference Design/目录,对应的目录结构如图

projects/ Reference Design/目录下存了两个工程,

SensorHub文件夹下存放的是 Sensor hub 源码工程,

SensorHub_Master文件夹下存放 Master 端的源码工程。

SensorHub 工程目录如下图

Documents/目录放置 sensor hub 工程配套的文档;

Project/Keil_5/放置工程文件以及 keil 编译产生的临时文件、汇编文件、map 文件、firmware 等,使用 keil 软件打开 sensor_hub_base_freertos.uvprojx 工程进行源码编辑和编译。

Project/Src 为 Sensor hub 主要的源码:

(1) algorithm: 包含 Cywee 提供的试用版本的运动算法库 lib 以及头文件,该算法库实现了 的基本的计步,卡路里,抬腕/翻腕、运动状态等功能,但是因为是试用版本,算法有效 试用时间只有 4 小时。

(2) app_task: 包含 Sensor hub 所有任务 task,即整个业务逻辑的源码。

(3) bsp: 基于 GR551x SDK 驱动进一步封装的 BSP 层,在 GR551x SDK 驱动 API 之上封装的中 间层,实现部分功能以方便 Sensor hub 各模块调用。

(4) config: 包含 GR551x SDK 的配置文件 custom_config.h、custom_board.h 以及与工程相关 的链接脚本文件等。

(5) data_process: 主要包含 Sensor hub 与 Master 的通信协议,这部分目前以 lib 的方式提 供。 (6) log:Sensor hub 当前使用的 log 组件,实现 log 输出以及将 log 保存到 GR551x 的片上 Flash 的功能。  

(7) msg_mgmt:基于 FreeRTOS 的 MSG API 封装的一套易于管理的消息组件。

(8) platform: 包含与 GR551x 平台相关的源码、这些的源码主要实现平台相关的初始化。

(9) profiles: 包含 Sensor hub BLE 功能需要实现的 profile 源文件。

(10) sensor_driver:主要包含目前支持的各 Sensor 的驱动源码,如 G-Sensor、HB Sensor 等。 (11) shell:一个可以方便在调试时使用的 shell 组件,在项目初期可以方便使用 shell 工具来 进行功能自测验证。

(12) test:包含一些在项目中的一些简单测试 Case, 需要配合 shell 工具使用。

(13) user:用户应用相关的实现,包含:main.c、蓝牙协议栈回调实现 user_app.c 等用户应 用文件,以及 FreeRTOS 配置文件 FreeRTOSConfig.h 等。

(14) user_callback:主要包含了 BLE 协议栈使用 callback 实现,应用层与协议栈的交互,主 要在这些 callback 函数中完成,如 GAP 、GATT、I2CAP 等。

SensorHub Master 工程目录如下图

Documents/目录放置 sensor hub 工程配套的文档;

Project/Keil_5/放置工程文件以及 keil 编译产生的临时文件、汇编文件、map 文件、firmware 等,使用 keil 软件打开 sensor_hub_master_base_freertos.uvprojx 工程进行源码编辑和编译。 Project/Src 为 Sensor hub Master 主要的源码:

(1) app_task: 包含 Mater 端串口接收任务,命令解析任务源码;

(2) bsp : 基于 GR551x SDK 驱动进一步封装的 BSP 层的 IO 和 UART 驱动,如果需要将 Master 代码的移植到另外一种 MCU 平台,那么 bsp driver 需要重点适配。

(3) data_process: 包含 Master 端协议解析的源码,主要实现了 Master 配置 Sensor、BLE, 发送 BLE 数据的接口,同时实现了解析 sensor hub 上报的 Sensor、BLE 配置状态和 BLE用户数据功能。

(4) 其余目录内容与 Sensor hub 工程源码目录类似,在此不再赘述。

Sensor hub Master 虽然基于 GR551X 平台实现,但是这个部分源码非常容易移植到其他 主机平台,只需适配平台的 IO、UART 接收驱动,基本上 data_process 协议相关的源码不需 要做的太多修改。

Sensor hub 的编译和固件生成

在已安装 keil 的情况下,双击打开图 2-5 中,Project/Keil_5/目录下的 Sensor hub 工程 文件 sensor_hub_base_freertos.uvprojx,即可打开 Sensor hub 工程。打开后的工程如图

打开的工程,用户可点击图 2-7 所示增量编译按钮(已生成且源码未更新的目标文件不 再重新编译)或全编译按钮(已生成的目标文件无论是否更新,均重新编译)进行工程的编 译,编译完成后在 Build Output 编译 log 输出窗口可以看到“Firmware has been successfully generated!”,即说明 firmware 生成成功。如图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值