前言¶
概述
介绍了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 |
操作系统以及操作系统功能封装代码,包括liteOS、non_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相关编译脚本 |




