摘要

这篇文章介绍如何通过烧录工具给TB系列蓝牙模块烧录固件及天猫精灵三元组,以及如何通过烧录工具的固件市场下载最新的固件及固件操作说明文档。

获取烧录工具

安信可团队针对TB系列蓝牙模块专门开发了烧录软件上位机工具,工具主要用python写成,可同时支持Windows,Linux,macOS平台,目前只提供Windows平台打包好的可执行文件,其他平台用户可下载源码自行打包。

1.5.0版本烧录工具下载地址:https://ai-thinker.oss-cn-shenzhen.aliyuncs.com/TB_Tool/Ai-Thinker_TB_Tools_V1.5.0.exe

烧录工具源码地址:https://github.com/Ai-Thinker-Open/TBXX_Flash_Tool

自动烧录接线方法

TB-02 Kit开发板已经包含了自动下载电路,如果你使用的是开发板,直接通过USB线将模块连接电脑安装CH340串口驱动即可实现烧录。如果你是用的是单个模块,可按照下面的方法接线实现自动烧录(USB转串口要有DTR和RTS引脚):

TB-01模块接线方法:

USB To TTL TB-01模块
Vcc
Gnd Gnd
Tx Rx
Rx Tx
RTS VCC
DTR SWS(背后圆点)

TB-02/03/04模块接线方法:

USB To TTL TB-01模块
Vcc Vcc
Gnd Gnd
Tx Rx
Rx Tx
RTS RST
DTR SWS

手动进入烧录模式

如果你是用的是单模块,手上的串口模块又没有DTR或RTS流控引脚,那就不能实现自动下载,需通过如下方式手动进入下载模式:

首先按照如下方式接线:

USB To TTL TB模块
Vcc Vcc
Gnd Gnd
Tx Rx
Rx Tx
Gnd SWS
Gnd RST

然后再将模块的RST引脚连接的Vcc,模块即可进入烧录模式,具体原理可参考文末的串口烧录原理介绍。

烧录固件操作说明

将模块或者开发板按照上诉当时正确连接的计算机,就可以烧录固件了。

双击打开烧录工具,如上图所示,首先选择模块或者开发板对应的串口,然后选择固件,最后点击烧录固件按钮,如果一切正常就会开始烧录固件,下方的进度条将会显示烧录进度,烧录完成后整个窗体边绿色。如果烧录失败可参考文末的串口烧录原理介绍。

备注:烧录完成后模块不会自动重启,需手动按下开发板上的复位按键或者按钮烧录页面上的复位芯片按钮复位芯片。

烧录天猫精灵三元组

模块想要连接天猫精灵音箱,必须烧录天猫精灵三元组,从天猫精灵开发者平台申请到的三元组如下图所示:

将Excel表格中三元组的每一个元素一次复制到烧录工具对应的输入框中,点击烧录三元组按钮,即可执行三元组烧录,烧录成功窗体变绿色。

串口调试工具

为了方便大家调试,烧录工具内置了串口调试的功能,如下图所示,点击页面上方的串口调试按钮即可进入串口调试页面:

该页面除了有通用的串口调试功能外,还内置了很多常用的AT指令,调试时可直接使用。

目前该功能还有些Bug,使用时需注意。同时也希望熟悉Python的同学帮我们贡献点儿代码,修复下Bug,不胜感激。

固件市场

模仿手机的固件市场,烧录工具中加入了固件市场的功能,用户可从固件市场中下载最新版的固件,然后烧录到模块中。
如下图所示,点击烧录工具上方的固件市场按钮,即可进入固件市场页面:


如上图,每一行都代表一个固件,点击后面的下载按钮,即可将该行对应的固件下载到本地计算机中,再通过烧录工具可将固件烧录到模块中。点击后面的文档按钮,将会打开一个介绍该固件的窗口,如下图所示:

固件命名规则

固件名称的结构为 功能@硬件设备 的方式,比如:

  • AT_BLE@TB-01表示适用于TB-01模块的普通AT蓝牙固件
  • AT_Mesh@TB-02+表示适用于TB02/03/04的AT mesh组网固件
  • Ali_Mesh_AT@TB-02_Kit表示适用于TB-02 Kit开发板的对接天猫精灵的AT固件
  • Ali_Mesh_CW@TB-02++表示适用于TB-02/03/04及开发板的对接天猫精灵的冷暖灯固件

开发资料

为了方便大家查找开发资料,烧录工具又不务正业的做起了资料下载的工作,点击烧录工具上方的开发资料按钮即可进入开发资料页面,如下图所示:

点击下载按钮,即可下载相关资料,目前还有些Bug,如果你有更好的方案,欢迎在GitHub上贡献代码!

串口烧录功能原理介绍

泰凌微推出的这款低功耗蓝牙芯片TLSR8258本身是不支持串口烧录的,更新固件需要使用芯片原厂提供的烧录器,原厂烧录器120元一个,让每一个开发者都买一个这么贵的烧录器显然是不现实的。安信可作为物联网领域的推动者,为这款芯片开发了软件boot,使其支持串口烧录,可以说是将这盘死棋给下活了。

软件boot源码GitHub地址如下:https://github.com/Ai-Thinker-Open/Telink_825X_SDK/tree/master/example/bootloader

有兴趣的同学可以自行研究,下面简单介绍下运行原理:

编译好的bootloader存放在Flash的前16KBytes。芯片上电后,CPU自动将Flash的前16K数据(即BootLoader)复制到内存中,然后从0地址处开始运行。BootLoader根据SWS引脚的高低判断该进入那种模式。

SWS引脚电平 Boot模式
高电平 正常运行模式
低电平 烧录模式

如果进入烧录模式,将会继续运行bootloader代码,等待用户烧录固件。

如果进入运行模式,将会把应用层代码的Ram code 从Flash的 0x2C000 地址复制到内存0x0中,然后从内存0x0地址启动应用层代码。

FLASH分布

正常编译的固件数据分布:
地址 0x0-0x4000 0x4000 - 0x30000
大小 16KBytes 最大176KBytes
内容 Ram Code 非 Ram Code
加上BootLoader后的Flash分布;
地址 0x0-0x4000 0x4000 - 0x2C000 0x2C000 - 0x30000
大小 16KBytes 最大160KBytes 16KBytes
内容 BootLoader 非 Ram Code Ram Code

由上表可知,用户编译的固件在Flash中被拆分成了两部分,即将其前16KBytes的内容(Ram Code)放到了0x2C000的位置,非 Ram Code 存放地址不变。

常见烧录失败原因分析

由上文的烧录原理介绍可知,模块在上电时会检测SWS引脚的电平,如果是高电平,将会运行应用层代码。如果SWS是低电平,将会进入烧录模式,同时通过串口115200波特率输出boot loader ready,因此我们可以通过串口工具查看模块是否输出这句话,来判断模块是否进入了烧录模式。

对于TB-02Kit开发版可执行如下操作,判断开发板的boot是否正常:

对于单模块,可连接好串口的Tx,Rx引脚,将模块的SWS连接到GND,打开串口,然后将模块的RST引脚先连接到Gnd再连接到VCC(即复位模块),观察串口输出信息是否与上图一致。

对于TB-01模块没有引出RST引脚,可用模块的VCC代替RST引脚。

交流群

使用过程中如遇到问题,欢迎加入交流群一起讨论:

TB-02 Kit开发板及TB系列BLE蓝牙模块固件及天猫精灵三元组串口烧录工具操作方法说明及固件市场介绍(基于泰凌微TLSR8258芯片)相关推荐

  1. 泰凌微ble mesh蓝牙模组天猫精灵学习之旅③简单入门安信可TB-02开发开发板轻松接入天猫精灵,语音控制冷暖灯so easy!

    本<泰凌微ble mesh蓝牙模组天猫精灵学习之旅>系列博客学习由半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1.小白也痴迷,如 ...

  2. 泰凌微TLSR825X开发八 OTA升级

    前言 泰凌微的SDK中已经实现了OTA功能,具体的处理已经被封装到库中,开发可以在不修改代码的情况下通过官方的APP来完成升级功能 如有异议,欢迎留言指正 MCU地址划分 从0~0x7FFFFF的8M ...

  3. 安信可TB系列低功耗蓝牙模块选型表

    摘要 安信可科技与泰凌微电子合作,基于TLSR8258系列低功耗蓝牙芯片,推出了数款模块,主打物联网应用,支持蓝牙Mesh,可连接天猫精灵.以下是各个模块的特点,各位开发者选型时可做参考. TB系列模 ...

  4. 联盛德W806-KIT开发板试用评测系列之二:ADC 功能使用与测试

    联盛德W806-KIT开发板试用评测系列 之二:ADC 功能使用与测试 作者:大信<QQ8125036> 今天着手对W806开发板ADC功能做测试,都知道ADC在物联网应用场景中常需要用到 ...

  5. 2012 12 02 FL2440开发板的U-boot-2010.09版本移植(二)片上系统SoC初始化移植

    -------------------------------------------------------- 在"<2012 10 02> FL2440开发板的U-boot- ...

  6. [Telink泰凌微825x]硬件开发环境搭建(一)

    使用安信可TB04模块搭建泰凌微官方SDK开发环境 文章目录 目录 前言 一.模块的选择 二.原理图说明 1.原理图 2.原理图说明 3.GERBER文件下载 总结 前言 最近需要用到蓝牙mesh组网 ...

  7. 泰凌微TLSR825X开发一蓝牙通信实例

    背景 泰凌微蓝牙方案在消费类产品中近两年才火起来,实际网上也没有太多资料,芯片缺货的情况下作为替代方案还是可行的,手上有块TLSR8258的开发板,也就边看文档调试边记录 这里采用8258的方案在调, ...

  8. 泰凌微ble mesh蓝牙模组天猫精灵学习之旅④如何在Android开发低功耗蓝牙ble控制 TB-02 模块,代码工程全部开源!(附带Demo)

    本<泰凌微ble mesh蓝牙模组天猫精灵学习之旅>系列博客学习由半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1.小白也痴迷,如 ...

  9. 蓝牙模块教程|一文看懂BLE蓝牙模块应用开发,快速入门指南

    BLE(Bluetooh Low Energy)蓝牙低能耗技术是短距离.低成本.可互操作性的无线技术,它利用许多智能手段最大限度地降低功耗. BLE蓝牙模块是为了降低使用者的开发门槛,模组厂商会将射频 ...

最新文章

  1. 【微信小程序企业级开发教程】如何搭建服务器(tomcat)后台
  2. NWBC连接配置及使用
  3. java bigdecimal赋值_Java中BigDecimal类介绍及用法(亲测)
  4. CSS3动画常用贝塞尔曲线-效果演示
  5. Array 的方法们 和 object 那些让人纠结的问题 ......
  6. 再见,前端!别更新了,我是学不动了
  7. mr InputFormat类
  8. WebRTC学习资料大全
  9. uni-app平台判断 | uni app判断h5 小程序 app 等不同平台
  10. MCAFEE卸载软件测试初学者,win7系统完全卸载McAfee杀毒软件的两种方法
  11. 看看天上的星星,都是为了给你们排位掉下来的
  12. 漫步STL-string in [Cpp] v.s. String in [Java]
  13. Nik Collection v3.0.7 2020 Mac/Win PS/LR超强调色滤镜合集Nik插件中文版+中文教程
  14. 游戏应用快速审核上架
  15. CobaltStrike木马免杀代码篇之python反序列化分离免杀(一)
  16. URL里面携带了#是什么意思
  17. Feb16 小白《Linux就该这么学》学习笔记3
  18. win10安装串口驱动pl2303 ch340 cp2102时安装不上的一些解决办法
  19. “已取消到该网页的导航” chm文件无法显示错误 解决方法
  20. 用matlab求二重积分

热门文章

  1. 纸壳CMS体验升级,快速创建页面,直接在页面中修改内容
  2. 什么是二极管钳位电路
  3. python猜随机数代码_猜随机数游戏Python
  4. scratch小猫钓鱼 电子学会图形化编程scratch等级考试四级真题和答案解析2021-9
  5. 微信企业付款转账到微信
  6. 许又声发表新春贺辞:潮涌东方 携手奋进
  7. 深度linux系统初始化,deepin官方论坛-深度科技官网旗下网站
  8. 应用程序 iis 中的服务器错误,unhandled-exception
  9. 多个中通快递的物流情况是怎么批量查询并保存的
  10. Ubuntu上实现蓝牙串口通讯(SPP)