前言

概述

介绍了BS2X SDK的模块框架及说明,帮助开发者快速上手BS2X的SDK开发。

读者对象

本文档主要适用于以下工程师:

  • 技术支持工程师

  • 软件开发工程师

符号约定

在本文中可能出现下列标志,它们所代表的含义如下。

符号

说明

表示如不避免则将会导致死亡或严重伤害的具有高等级风险的危害。

表示如不避免则可能导致死亡或严重伤害的具有中等级风险的危害。

表示如不避免则可能导致轻微或中度伤害的具有低等级风险的危害。

用于传递设备或环境安全警示信息。如不避免则可能会导致设备损坏、数据丢失、设备性能降低或其它不可预知的结果。

“须知”不涉及人身伤害。

对正文中重点信息的补充说明。

“说明”不是安全警示信息,不涉及人身、设备及环境伤害信息。

修改记录

文档版本

发布日期

修改说明

02

2024-07-04

更新“SDK目录结构”章节内容。

01

2024-05-15

第一次正式版本发布。

00B01

2024-02-01

第一次临时版本发布。

SDK模块框架

图 1 BS2X解决方案整体架构

表 1 SDK根目录

序号

模块名

功能介绍

1

application

应用目录,支持用户在此目录下增量开发上层系统内容以及应用内容。全系统启动的代码也在此目录下。系统启动入口为main.c中的main函数

2

build

编译构建工程代码,包括特性宏添加、打开/关闭等操作均在此目录中完成

3

drivers

外设驱动源代码

4

include

公共头文件,SDK所有的对外接口都会放到文件夹下供客户调用

5

interim_binary

软件库,二进制文件存放目录,bt核的bin文件存放于此目录下

6

kernel

操作系统以及操作系统功能封装代码,包括liteOSnon_os(支持无操作系统场景)osal适配其它操作系统的接口

7

middleware

中间件代码,提供系统框架代码、dfx调试相关代码、nv项、ota等功能代码

8

open_source

开源第三方组件代码

9

output

编译生成的文件,编译过程中生成,初始SDK包没有此文件夹

10

protocol

BLE/SLE协议栈库文件

11

test

测试代码,提供客户应用开发参考,通过命令调用启动test代码用例的执行

12

tools

工具目录,IDE工具编译完成后,会将镜像文件打包,打包文件存放于此目录下

13

build.py

编译脚本

SDK目录结构

.                                # [仓] root_dir仓
├── application               # 应用层,以下为举例
│   ├── bs20                 # [仓] bs20应用
│   ├── bs21                 # [仓] bs21应用
│   ├── bs21a                # [仓] bs21a应用
│   ├── bs22                 # [仓] bs22应用
│   ├── bs26                 # [仓] bs26应用
│   └── sample               # [仓] 样例工程
├── bootloader                # 启动代码
│   ├── flashboot            # [仓] ssb/reeboot,如有teeboot新增目录
│   └── provision            # [仓] 与hiburn&bootrom配合生产、烧写用,类似codeloader;从客户端加载、运行在ram中
├── build
├── docs
├── drivers
│   ├── boards               # 板级配置
│   ├── chips                # 芯片级配置,用户可以根据实际情况,做差异性修改
│   └── drivers              # 驱动代码
│       ├── driver           # 驱动对外接口层
│       ├── hal              # HAL层,寄存器操作
├── include                   # [仓] 公共头文件
├── kernel                    # 内核代码,包括nonos、osal;cmsis包含在内核代码中
│   ├── liteos               # [仓] liteos
│   │  └── liteos_208.6.0   # [仓] liteos 208
│   └── osal                 # [仓] osal目录
│       ├── include          # [仓] osal头文件
│       └── src              # osal源文件
├── middleware                # 框架、服务等中间件
│   ├── chips                # 中间层芯片定制代码
│   ├── services             # HLD组件
│   └── utils                # LLD组件
├── open_source               # 物联协议都是开源软件,放在open_source目录,映射中心仓
├── protocol                  # 联接协议目录,CFBB无实体仓
│   ├── bt
├── tools                     # 工具代码仓,由工具团队维护
└── vendor                    # 第三方供应商提供的软件
└── segger                    # [仓] segger代码仓

SDK目录说明

表 1 afe实例

序号

模块名

文件名

功能介绍

1

Kconfig

Kconfig

afe_sample相关配置

2

afe_demo.c

afe_demo.c

afe相关实例代码,提供afe采集功能

3

afe.code-workspace

afe.code-workspace

vscode工程配置,用户不需要修改

4

编译脚本

CMakeLists.txt

afe相关编译脚本