背景
泰凌微蓝牙方案在消费类产品中近两年才火起来,实际网上也没有太多资料,芯片缺货的情况下作为替代方案还是可行的,手上有块TLSR8258的开发板,也就边看文档调试边记录
这里采用8258的方案在调,其实825X系列仅内部资源不一样(价格高低),实际选型的时候根据产品定位来选择合适的型号
| 型号 | flash | sram |
|---|---|---|
| 8251 | 512kB | 32kB |
| 8253 | 512kB | 48kB |
| 8258 | 512kB | 64kB |
如有异议,欢迎指正,转载请注明出处
资源及SDK下载
特性
- BLE5.0;支持Telink Mesh(私有)
- Flash 512Kb Ram64Kb(TLSR8258)
- 1.8V~3.6V
- 5.3mA Rxfullchip;
- 4.8mA Tx 0dbm_fullchip;
- <1uA sleep+sram 0.4uA sleep
- Tx Max +10dBm
- 工作温度-40℃~+85℃(工业级)
架构图

SDK下载
- 这里可以根据实际的应用来选择SDK,bz为了兼容其他相同产品线的方案选择了
Single Connection的SDK

SDK工程
文件结构
工程导入Eclipse后的文件结构如下

- application:提供了通用的应用处理程序,主要为打印print、USB、按键keyboard、音频audio
- boot:提供芯片的 software bootloader,即 MCU 上电启动或 deepsleep 唤醒后的汇编处理过程,为后面 C 语言程序的运行搭建好环境(中断向量、堆栈配置)
- common:提供通用的跨平台处理,如标准C库的字符串、内存处理函数等
- drivers:提供与MCU外设驱动程序
- proj_lib:内部为泰凌微蓝牙协议栈库文件
liblt_8258.a包括RF射频、PM低功耗等库,这部分对开发用户不开放 - stack:协议栈相关调用的头文件
- vendor:用于存放用户应用层代码,目前支持应用有:
- 8258_ble_remote:遥控应用,配合IR模块
- 8258_ble_sample:是remote的简化应用,与标准的ios、android连接配对
- 8258_hci:提供了基于USB/UART的HCI,和其他host通信,组成完整的ble slave系统
- 8258_module:蓝牙串口透传模块的应用
- 8258_master_kma_dongle:dongle的应用代码,是 ble master的例程
- 8258_driver_test:外设的测试应用
- 8258_feature_test:蓝牙射频相关的测试应用
实例
代码讲解
主函数
这里使用8258_ble_sample实例,先查看main.c中入口函数
- 变量
deepRetWakeUp来判断系统是否为休眠唤醒,来实现系统快速初始化 - 中断
irq_enable使能后协议栈开始运行 user_init_normal为ble系统初始化
_attribute_ram_code_ int main (void) //让main运行在ram中,加快加载时间
{
DBG_CHN0_LOW; //debug 配合示波器调试使用
blc_pm_select_internal_32k_crystal();//选择内部32k rc时钟
cpu_wakeup_init();//硬件初始化, system timer计数器开始工作
int deepRetWakeUp = pm_is_MCU_deepRetentionWakeup

本文详细介绍了泰凌微TLSR8258蓝牙芯片的开发流程与要点,包括SDK配置、蓝牙参数设置及低功耗处理等关键技术。

9468

被折叠的 条评论
为什么被折叠?



