[Telink][TLSR8251] [泰凌微]入门上手教程(IDE+SDK+烧录)
2026/9/14 11:09:51 网站建设 项目流程

目录

  • 引言
  • 一、 开发环境准备
  • 二、 IDE 的使用
  • 三、 烧录工具的使用(Telink BDT)
  • 四、 实战示例:从编译到烧录
  • 五、 总结

摘要

本文面向初次接触 Telink BLE 芯片开发的工程师,系统讲解从开发环境搭建、IDE 工程导入与编译,到使用 Telink BDT 完成固件烧录的完整流程,并通过实战示例帮助读者快速上手,为后续 BLE 应用开发打下基础。

引言

本文面向初次接触 Telink BLE 芯片开发的工程师,系统讲解从开发环境搭建到固件烧录的完整流程。通过本文,你将掌握 IDE 的安装与工程导入、SDK 的编译方法,以及使用 Telink BDT 烧录工具完成固件下载的实操步骤,为后续 BLE 应用开发打下坚实基础。

一、 开发环境准备

1.1 工具链概览

  • Telink IDE:基于 Eclipse 的集成开发环境,用于工程管理与代码编译
  • Telink B85M SDK:BLE 芯片官方软件开发套件,提供协议栈与示例工程
  • Telink BDT:官方烧录工具,用于将编译产物下载到芯片

1.2 下载与安装

  • 从 Telink 官方 Wiki 下载 IDE、SDK 与 BDT 工具
  • IDE 必须以管理员身份运行,且必须安装到 C 盘根目录
  • 解压 SDK 时注意目录层级不宜过深,建议新建 proj 文件夹作为导入路径

二、 IDE 的使用

2.1 工程导入

  • 打开 IDE,将 proj 路径复制到导入位置,点击 OK
  • 通过 File → Import 进入导入向导,选择对应工程类型并点击 Next
  • 导入完成后,在 vendor 目录下选择需要开发的目标工程

2.2 工程编译与切换

  • 在右侧工程目录中选中目标工程,点击菜单栏编译图标并勾选对应工程
  • 若工程文件显示为灰色,需按步骤解锁后再进行编译
  • 编译完成后,在工程根目录生成编译输出文件夹,即为固件产物所在位置

三、 烧录工具的使用(Telink BDT)

3.1 烧录工具连接

  • 打开 Telink BDT 工具,连接调试器与目标开发板
  • 确认芯片型号与烧录接口配置正确

3.2 固件烧录流程

  • 在 BDT 中加载编译生成的固件文件
  • 点击烧录按钮,等待下载完成并校验结果
  • 烧录成功后,开发板即可运行新固件

下面是 Telink BDT 烧录的完整流程:

正确

错误

成功

失败

打开 Telink BDT 工具

连接调试器与目标开发板

确认芯片型号与接口配置

加载编译生成的固件文件

点击烧录按钮

等待下载完成

校验结果

开发板运行新固件

整个烧录过程围绕「连接 → 加载 → 烧录 → 校验」四个核心环节展开。首先打开 BDT 工具并连接调试器与开发板,确认芯片型号与烧录接口无误后,加载编译生成的固件文件;随后点击烧录按钮开始下载,等待完成后进行结果校验。若校验失败,需重新加载固件并再次烧录;校验成功后,开发板即可运行新固件。

3.3 常见问题与排查

问题一:烧录失败

现象:点击烧录按钮后,BDT 提示烧录失败或校验错误。

原因分析

  • 固件文件未正确加载或文件损坏
  • 芯片处于写保护状态,需先解锁
  • 烧录接口(如 SWS)接线松动或接触不良

解决步骤

  1. 重新加载编译生成的固件文件,确认文件路径无中文或特殊字符
  2. 检查调试器与开发板之间的接线,确保 SWS、GND、VCC 连接牢固
  3. 若芯片被写保护,先在 BDT 中执行解锁操作,再重新烧录
  4. 更换 USB 数据线或接口,排除供电不足导致的烧录中断

错误提示截图占位:此处可补充 BDT 烧录失败时的错误弹窗截图。

问题二:连接超时

现象:BDT 无法识别调试器,提示连接超时或设备未找到。

原因分析

  • 调试器驱动未正确安装
  • USB 接口供电不足或数据线仅支持充电
  • 开发板未上电或复位电路异常

解决步骤

  1. 确认调试器驱动已安装,可在设备管理器中查看是否识别到设备
  2. 更换 USB 数据线,优先使用带数据功能的高质量线缆
  3. 为开发板单独供电,避免仅依赖 USB 供电导致电压不稳
  4. 重新插拔调试器,或重启 BDT 工具后再尝试连接

错误提示截图占位:此处可补充 BDT 连接超时或设备未找到的提示截图。

问题三:芯片型号不识别

现象:BDT 无法识别当前芯片型号,或识别到的型号与开发板实际芯片不一致。

原因分析

  • 芯片型号选择错误,与开发板实际芯片不匹配
  • 调试器固件版本过旧,不支持当前芯片
  • 芯片未正确上电,导致无法读取芯片信息

解决步骤

  1. 在 BDT 中手动选择与开发板一致的芯片型号(如 B85M 系列)
  2. 升级 BDT 工具到最新版本,确保支持当前芯片
  3. 检查开发板供电是否正常,确认芯片已上电后再重新识别
  4. 若仍无法识别,尝试更换调试器或联系 Telink 技术支持

错误提示截图占位:此处可补充 BDT 芯片型号识别失败的提示截图。

常见问题快速排查表
问题现象主要原因快速解决步骤
烧录失败BDT 提示烧录失败或校验错误固件文件损坏、芯片写保护、接线松动重新加载固件 → 检查 SWS/GND/VCC 接线 → 解锁芯片 → 更换 USB 线
连接超时无法识别调试器,提示连接超时或设备未找到驱动未安装、供电不足、数据线仅支持充电安装驱动 → 更换数据线 → 单独供电 → 重启 BDT
芯片型号不识别无法识别芯片型号,或识别型号与实际不符型号选择错误、调试器固件过旧、芯片未上电手动选择正确型号 → 升级 BDT → 检查供电 → 更换调试器

四、 实战示例:从编译到烧录

4.1 编译示例工程

  • 在 IDE 中打开 SDK 自带的 BLE 示例工程
  • 执行编译操作,生成可烧录的固件文件

下面是一个基于 Telink B85M SDK 的 BLE 示例工程骨架代码(main.c),涵盖系统初始化、BLE 广播、连接回调等核心流程:

#include"driver.h"#include"stack/ble/ble.h"#include"stack/ble/ble_common.h"/* 广播数据包内容:设备名称 + 厂商自定义数据 */staticconstu8 adv_data[]={0x02,0x01,0x06,// Flags:LE General Discoverable0x03,0x03,0x12,0x18,// Complete List of 16-bit Service UUIDs:0x1812(HID)0x0B,0x09,'T','e','l','i','n','k',// Complete Local Name:"Telink"0x5F,0x42,0x4C,0x45};/* 连接参数:间隔 30ms,从机延迟 0,超时 400ms */staticconstle_connection_parameter_tconn_param={.interval_min=24,// 30ms(单位 1.25ms).interval_max=24,.latency=0,.timeout=320// 400ms(单位 10ms)};/* 连接状态回调:处理连接建立与断开事件 */staticvoidapp_connect_callback(u8 e,u8*p,u8 n){if(e==GAP_EVT_CONNECTED){/* 连接建立:停止广播,更新连接参数 */bls_ll_setAdvEnable(0);bls_l2cap_updateConnParameter(&conn_param);printf("BLE connected!\r\n");}elseif(e==GAP_EVT_TERMINATED){/* 连接断开:恢复广播,等待再次连接 */bls_ll_setAdvEnable(1);printf("BLE disconnected, restart adv...\r\n");}}/* 主函数:系统初始化 + BLE 协议栈初始化 + 广播启动 */intmain(void){/* 1. 系统时钟、GPIO、UART 等外设初始化 */cpu_wakeup_init();clock_init(SYS_CLK_16M_Crystal);gpio_set_func(GPIO_LED,AS_GPIO);gpio_set_output_en(GPIO_LED,1);uart_init(115200,UART_TX_PIN);/* 2. BLE 协议栈初始化,注册连接回调 */blc_init();bls_ll_setAdvCustom(adv_data,sizeof(adv_data));bls_gap_setEventMask(GAP_EVT_MASK_CONNECTED|GAP_EVT_MASK_TERMINATED);bls_gap_registerEventCallback(app_connect_callback);/* 3. 启动广播,等待主机扫描并连接 */bls_ll_setAdvEnable(1);printf("Telink BLE demo started!\r\n");/* 4. 主循环:处理协议栈事件与低功耗调度 */while(1){blc_poll();// 处理 BLE 协议栈事件sleep_ms(1);// 简单延时,降低功耗}}

代码说明

  • 广播数据(adv_data):定义了设备广播时对外宣告的信息,包括设备名称、支持的 Service UUID 等,主机扫描时即可识别该设备。
  • 连接参数(conn_param):配置连接建立后的通信间隔、从机延迟与超时时间,直接影响功耗与响应速度。
  • 连接回调(app_connect_callback):监听连接建立与断开事件。连接成功后停止广播并更新连接参数,断开后恢复广播以便再次被连接。
  • 主函数(main):依次完成外设初始化、BLE 协议栈初始化、注册回调并启动广播,最后进入主循环持续处理协议栈事件。

4.2 烧录并验证

  • 使用 Telink BDT 将固件烧录到开发板
  • 通过串口或日志观察程序运行状态,验证功能是否正常

五、 总结

本文从工具下载、IDE 安装、工程导入与编译,到 BDT 烧录的完整链路进行了梳理。掌握这套流程后,即可独立完成 Telink BLE 工程的开发与部署。后续可进一步深入学习 BLE 协议栈 API 与低功耗设计,逐步进阶到实际产品开发。

相关下载

IDE下载
SDK V3.4.2.1_Patch_0001
烧录工具下载

一、 IDE的使用

  1. 必须以管理员身份运行
  2. 必须安装到C:

    安装完毕后,开始下面的导入SDK。

  1. 解压压缩包如下(目录路径尽量不要嵌套文件夹太深,新建 proj 文件夹作为导入路径。)

  1. 打开 IDE 工具,将 proj 路径 copy 到 3 位置,作为工程导入路径,点击 ok。
    E:\xxxxxx\proj

    点击 file,进入 import 如下图操作,最后点击 next。



    导入完成,可以选择相应需要开发的工程,应用工程在 vendor 目录下(如图)。
  2. IDE 编译工程切换操作:
    在右边工程目录选择目标工程,再点击菜单栏红框图标,勾选对应工程。

这时候工程还是没有被选中的,如图,文件都是灰色。

如何解决上述问题,看下面步骤:


点击ok后,效果如图,文件已经解锁。

  1. 如何编译工程?

编译完成如图
那么编译文件在位置呢?
在工程根目录会生成一个这样的文件夹


二、 烧录工具的使用(Telink BDT)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询