Topic

FAQ
Login Register
安信可推出8X5X系列芯片串口烧录工具!!!
Jan 18, 2020 10:42

/

A

/A
[size=120]使用过泰凌芯片的同学都知道,泰凌芯片不支持串口烧录,只能采用专用的烧录器来烧录,烧录器比较贵,要求每一个开发者都购买一个烧录器是不现实的。安信可作为物联网行业的推动者,针对泰凌芯片开发了串口烧录工具,可以极大地降低用户的开发成本,加速蓝牙技术的普及。[/size]

[img]https://shyboy.oss-cn-shenzhen.aliyuncs.com/readonly/main.png[/img]

[size=120]目前,烧录工具支持安信可TB-01及TB-02模组,其他厂商的模块烧录安信可提供的bootloader后,也能使用此烧录工具。Bootloader和烧录工具源代码完全开放,

Bootloader源码地址 :https://github.com/Ai-Thinker-Open/Telink_825X_SDK/tree/master/example/bootloader

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


[size=200]安信可TB系列模块串口烧录工具操作指导[/size]

此工具用于安信可TB系列模块烧录固件三元组等等操作,目前支持TB-01,TB-02。

最新Windows版图形界面烧录工具下载地址:https://shyboy.oss-cn-shenzhen.aliyuncs.com/readonly/TBXX_Flash_Tool.exe

[size=180]工具原理介绍[/size]

此工具使用python语言编写,有命令行和图形界面连个版本。命令行版本效率高,方便集成; 图形界面版本操作简单直观,易于上手。

命令行工具所有代码都在Telink_Tools.py文件中。

图形界面工具的界面逻辑在TBXX_Flash_Tool.py,最终的操作还是要调用Telink_Tools.py文件中的函数。

[size=150]模块接线说明[/size]

需要使用USB转串口模块连接TB模块,且USB转串口要有DTR和RTS引脚。

[size=150]TB-01模块接线方法:[/size]
[code] USB To TTL TB-01模块 Vcc Gnd Gnd Tx Rx Rx Tx RTS VCC DTR SWS [/code] [size=150]TB-02模块接线方法:[/size]
[code] USB To TTL TB-01模块 Vcc Vcc Gnd Gnd Tx Rx Rx Tx RTS RST DTR SWS [/code] [size=180]图形界面版本操作说明[/size]

图形界面如上图所示,提供烧录固件,烧录三元组,擦除固件等功能。

[size=150]烧录固件[/size]

首先点击串口选择框选择对应的串口,然后点击···按钮选择要烧录的固件,点击烧录固件按钮即可烧录,烧录成功后Log窗口将变成绿色,烧录失败Log窗口将变成红色。

[size=150]烧录天猫精灵三元组[/size]

在图形界面上烧录三元组那一行有三个输入框,分别对应三元组的ProductID,MAC,Secert,在输入框中输入相应的数据并正确选择串口号,点击烧录三元组按钮即可烧录三元组。同样,烧录成功后Log窗口将变成绿色,烧录失败Log窗口将变成红色。

[size=150]擦除固件[/size]

点击擦除固件按钮,将擦除模块中的固件。

[size=150]擦除Mesh数据[/size]

点击擦除Mesh Key按钮,将擦除模块中的Mesh配网信息,包括Application Key 和 NetWork Key。

[size=150]整片擦除[/size]

点击整片擦除按钮,将擦除模块中出bootloader外的所有Flash区域。

[size=180]常见问题[/size]

[size=150]串口打开失败[/size]

如果提示 打开串口xxxx失败....,可能是串口被其他软件占用,解除暂用后再试一次即可。

[size=150]连接芯片失败[/size]

如果提示 连接芯片失败,可能是接线错误请检查接线,如果确认接线无误仍然连接失败可能是bootloader损坏。如果bootloader损坏只能采用官方专用烧录器重新烧录botloader。

[size=150]打包可执行文件[/size]

pyinstaller -F -w TBXX_Flash_Tool.py

[size=200]命令行版本操作说明[/size]

命令行版本的指令格式为:

python Telink_Tools.py [--port PORT] {burn,burn_triad,write_flash,read_flash,erase_flash}

[size=150]烧录固件[/size]

指令示例:

python Telink_Tools.py --port com3 burn at_v1.2.bin
--port指定端口号,burn 为烧录指令,后面的参数为要烧录的固件

[size=150]烧录三元组[/size]

指令示例:

python Telink_Tools.py --port com3 burn_triad 1345 78da07fa44a7 221746e805ac0e6269bd4d3e55f1145c
--port指定端口号,burn_triad 为烧录三元组指令,后面的三个参数依次为三元组的ProductID,MAC,Secert

[size=150]擦除Flash[/size]

指令示例:

python Telink_Tools.py --port com3 erase_flash 0x4000 16
--port指定端口号,erase_flash擦除Flash指令,后面的两个参数依次为要擦除的Flash起始地址和擦除的扇区数。Flash最小擦除单元为一个扇区,TB模块Flash的每个扇区为4096字节。

TB系列模块的Flash大小为512KB,其中0x0 - 0x4000(16KB)存放的是bootloader,不可擦除。0x4000 - 0x30000(176KB)存放用户固件,0x30000 - 0x40000(64KB)存放Mesh配网数据,0x76000-0x77000存放模组Mac地址,0x78000-0x79000存放天猫精灵三元组。
No reply yet