# ble_stack_for_tlsr825x **Repository Path**: blackworm/ble_stack_for_tlsr825x ## Basic Information - **Project Name**: ble_stack_for_tlsr825x - **Description**: 自主研发的BLE 协议栈,适配了Telink公司TLSR825x系列芯片。 - **Primary Language**: C - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2026-09-04 - **Last Updated**: 2026-09-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 1. 设计初衷 ​ 本人之前任职于一家蓝牙芯片公司,负责公司BLE Stack的开发和维护。此BLE stack是本人利用业余时间开发而成,先后耗时3年之久。之所以要研发这款BLE stack,主要是苦于公司现有的ble stack实在是太难用了(用过的人都知道)。早期公司只有单连接BLE stack,后面由于业务的扩展,多连接stack有了需求,公司开始研发多连接stack,我觉得这刚好是一个更新stack的好时机,于是提议重新研发一套协议栈,新的协议栈设计预期是好的软件架构,好的扩展性,极好的易用性,好的多连接调度器,但是没能按照预期情况走 ​ 于是个人觉得自己设计一套全新的BLE stack,本协议栈设计初衷是设计一套使用简单,架构完美,code规范,维护方便,扩展容易的BLE stack。目前大部分目标都已实现。 **此BLE 协议栈开发耗费本人太多心血,故不开源。本协议栈所有权归作者所有,任何个人和企业可以试用本协议栈,但不允许进行商业用途(本人授权的企业除外)。** **合作共赢是本人所期望的。** ## 2 支持的Feature ​ 本协议栈实现的BLE Stack支持的功能如下: (1) 支持BLE Core 5.0 (2) 支持LL Encryption (3) 支持Data Length Exchange (4) 支持LL Ping (5) 支持LL Privacy (6) 支持2M PHY/Coded PHY (7) 支持CSA#2 (8) 支持SMP/ATT/GATT/L2CAP (9) 支持多达30 connection (精心设计了调度器,能极好的利用数据带宽) (10) 支持connection 数任意配置 (11) 支持Controller (12) 支持Host + Controller (13) Extended adv(暂时不开放使用) **以上所有功能都通过了EBQ和PTS的测试,测试都已通过**。 在使用本协议栈时,如遇问题[可以向gq_ttxshang@163.com](mailto:gq_ttxshang@163.com)反馈,感谢! ## 3. 支持的硬件 1. 协议栈目前已支持**Telink的TLSR825x系列芯片**,并在Telink的825x开发板和dongle上稳定运行 2. 后续我将支持其他的芯片,例如Nordic等 ## 4. SDK SDK提供了如下几个工程: 1. ble_controller 提供了完整的ble controller工程,可以通过UART对接其他的Host。**注意:** 由于TLSR825x系列芯片只有一个硬件UART,因此log系统和controller不能同时使用硬件UART,不过没关系,SDK提供了3种Log输出方式:1. 硬件UART;2. 软件模拟UART;3. USB,可以根据实际需要选择。 2. ble_central 提供了完整的BLE Client和BLE Master role的demo。可以连接其他slave设备 3. ble_peripheral 提供了完整的BLE peripheral和BLE slave role的demo。可以被其他设备连接,如手机,可以控制手机音量。 4. ble_multi_conn 提供了多连接demo,支持多主多从,连接个数可以根据需要配置 5. peripheral_demo 由于telink的driver太难用了,因此本人也写了一套driver供大家使用,也可以使用telink的driver,需要用户自己去移植了。 ## 5. 工程编译 1. 需要下载Telink IDE1.3安装,网址:http://wiki.telink-semi.cn/wiki/IDE-and-Tools/IDE-for-TLSR8-Chips/ ![输入图片说明](pic/Telink%20IDE1.3.png) 2. 使用Telink IDE打开工程 ![输入图片说明](pic/proj.png) 3. 直接点击编译按钮即可编译 为了方便大家的使用,工程中已为大家写好了一个Makefile文件,可以直接通过make编译。注意:编译之前需要编辑Makefile文件,有如下几点需要修改: 1. 修改你需要编译的工程 2. 修改你需要的lib 3. 修改你的电脑上toolchain的路径 可以先通过make help查看支持的make 命令,本人是在git bash命令行上编译测试通过的。 ## 6. 工程说明 ![1690015071133](pic/proj2) 1. 工程中提供了两个lib:liblt_8258_d.a和liblt_8258_r.a “-d” 表示带debug系统的lib "-r" 表示不带debug系统的lib,编译出来的bin文件比较小。 2. 给大家准备了4个工程对应的bin文件,可以直接烧录到Telink 开发板上跑。bin文件在bin文件夹下可以找到 除了ble_multi_conn_4M4S.bin和ble_controller.bin是跑在Telink 8258 EVK上的外,其他的bin文件都是跑在dongle上的。当然,大家可以自己编译运行于EVK或者dongle的bin,只需要选择不同板子的全局宏,可以参看工程中的app_config.h文件。 由于本人精力有限,没有给大家准备详细的开发指南,只能给大家提供一个简单的开发指南《BLE_Stack开发指南.doc》。后续等我有时间的再给大家整。