首页 > 编程知识 正文

联想tb3x70f固件刷机,tb梅林卡在恢复出厂设置

时间:2023-05-05 19:08:56 阅读:282689 作者:2418

摘要

这篇文章介绍如何通过烧录工具给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 TTLTB-01模块VccGndGndTxRxRxTxRTSVCCDTRSWS(背后圆点)TB-02/03/04模块接线方法: USB To TTLTB-01模块VccVccGndGndTxRxRxTxRTSRSTDTRSWS手动进入烧录模式

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

首先按照如下方式接线:

USB To TTLTB模块VccVccGndGndTxRxRxTxGndSWSGndRST

然后再将模块的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-0x40000x4000 - 0x30000大小16KBytes最大176KBytes内容Ram Code非 Ram Code加上BootLoader后的Flash分布; 地址0x0-0x40000x4000 - 0x2C0000x2C000 - 0x30000大小16KBytes最大160KBytes16KBytes内容BootLoader非 Ram CodeRam 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引脚。

交流群

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

快三大小单双稳赚买法灯固件 开发资料

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

点击下载按钮,即可下载相关资料,目前还有些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-0x40000x4000 - 0x30000大小16KBytes最大176KBytes内容Ram Code非 Ram Code加上BootLoader后的Flash分布; 地址0x0-0x40000x4000 - 0x2C0000x2C000 - 0x30000大小16KBytes最大160KBytes16KBytes内容BootLoader非 Ram CodeRam 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引脚。

交流群

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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。