SYD8801是一款低功耗高性能蓝牙低功耗SOC,集成了高性能2.4GHz射频收发机、32位ARM Cortex-M0处理器、128kB Flash存储器、以及丰富的数字接口。SYD8801片上集成了Balun无需阻抗匹配网络、高效率DCDC降压转换器,适合用于可穿戴、物联网设备等。具体可咨询:http://www.sydtek.com/
SYD8801批量烧录说明缩写词解析:
CU:烧录小板
DUT:待测试的PCBA,也就是用户最终要烧录的产品电路板
主板:承载CU的大板,目前一个主板上最多能够安装12个CU模块
烧录原理:
通过MTP上位机把用户代码放到CU的flash中,配置完成后连接好CU喝DUT,然后复位CU,CU烧录小板就把放在CU的flash里的用户代码拷贝到DUT也就是用户最终的PCBA上
硬件支持:
要用批量烧录工具,硬件上必须留出下面的5个测试点
复位:RESET
电源:3.3V
电源地:GND
串口烧录:RXD和TXD
注意:目前SYD8801的烧录器最多支持同时烧录12个PCBA,所以做拼板的时候拼板数必须小于等于12,否则很麻烦!
连接方式如下(这里使用开发板的USB转串口作为USB转串口工具):
批量烧录器整套如下:
安装在烧录器上后的实物图如下:
烧录要用到的文件一共四个,如下:
1、4K_Setting_2000ppm_170510.bin (蓝牙天线参数配置文件,以下简称4K文件)
2、Vendor_Service_GATT_DB_160804.txt (GATT profile配置文件, 以下简称GATT文件)
3、Ble_Vendor_Service.bin 与Ble_Vendor_Service.hex (用户执行文件,以下简称用户程序)
工具
1、 BLE Tool_20170510文件夹下的 EVBUtility.exe
2、BT MTPlatform_V1.1.5A.20170413文件夹下的MTUtility.exe
主要分为三个主要部分:
第一部分:正常烧录蓝牙板程序,提取dump_setting_file.bin文件
1、 打开EVBUtility.exe,连接开发板(因为这里要进行的是提取dump_setting_file.bin文件,所以只要通过串口连接上SYD8801芯片即可,这里以开发板为例,具体的连接开发板步骤请看:http://blog.csdn.net/chengdong1314/article/details/70161095)
.
2、烧录4K文件,参数默认,按下图操作
3、烧录GATT文件,参数默认,按下图操作
4、烧录用户文件,参数默认,按下图操作
5、读取Setting文件,并保存为dump_setting_file.bin文件
经过上面的步骤得到了一个包含了《4K文件》、《GATT文件》和《用户程序》的信息的新的4K文件(这里称作《4K_DUMP》文件),该4K文件和《用户程序》一起提供给下面的批量烧录工具《MTUtility.exe》使用。
第二部分:制作批量烧录工具
该工具只是使用到三个文件:
A.由官方提供的CU代码文件,这里就是《MTPlatform_CU_FW_V1.2.4_20170609_AB49.bin》文件,该文件就是运行在烧录小板CU上面的代码
B.经过三面的步骤提取出来的4K文件,也就是《4K_DUMP》文件
C.用户代码文件,也就是用户程序编译出来的bin文件,该文件必须要和《4K_DUMP》文件中烧录的用户代码配套!
0、 打开MTUtility.exe,选择Engineer(如下左图),选择Com(如下中图),点击Open,输入密码,正确进入Engineer模式(如下右图),连接脱机烧写器,
如果密码错误如下图,这时候必须重新开始输入正确密码:
1.正确进去MTP批量烧录后,软件界面如下:
2、确认连接状态,初始化设置
3、设置烧录参数,并写入烧录器
4.烧录CU(烧录小板程序),该程序对所有的项目是统一的,由SYD官方提供:
5、设置自定义MAC地址参数,分别写入dump_setting_file.bin文件和用户文件,最后点击Flash Write进行写入
第三部分:烧录器测试
1、 将烧录器和板子连接,确保连接正确,成功则亮绿灯,如下图
2、失败则亮红灯,如下图
注意:如果烧录过程中绿灯一直在闪烁,也代表烧录失败,也就是说只有在绿灯停止闪烁并且持续点亮的时候代表烧录成功,其他情况都代表烧录失败!
保存当前设置为默认设置
在配置都配置好后可以保存为默认设置,下一次再打开的时候就不需要再次勾选了.在MTP工具中有三个配置文件,其中的《DefaultBootModeSetting.bin》和《DefaultTestSetting.bin》是用得最多的:
保存Tester Boot界面的配置方法如下:
比如我们目前的MAC地址如下:
我想修改成默认如下的形式:
也就是说每个烧录小板最多能够烧录的地址范围是65.536K,那么10个就是655.36K,这里设置完后点击Save File按钮然后按照如下方式操作即可:
下次再加载的时候将按照保存的文件来设置,如果可以在保存之前先拷贝原来的配置文件!
下面是Tester Setting界面保存配置的方法:
比如我们原来和烧录相关的配置如下:
我想改默认配置如下:
这里设置完后点击本页面下的save按钮然后按照如下方式操作:
下次再加载的时候将按照保存的文件来设置,如果可以在保存之前先拷贝原来的配置文件!
在进行了《保存当前设置为默认设置》操作后简化的配置过程
如果已经按照上面的步骤正确保存了正确的配置,那么整个配置步骤可以简化,不在需要繁琐的设置过程。
注意:官方默认的配置已经设置成了常用的配置,一般情况下不需要修改
这里再进行了上面的《第二部分:制作批量烧录工具》的步骤2后可按照下面的方式进行配置:
A:初始化flash setting:
设置后得到的界面如下:
B:初始化tester setting:
设置后得到的界面如下:
C:更新文件:
进行完这三步之后再跟着进行上面提到的《第三部分:烧录器测试》继续进行测试流程即可!
预计烧录时间
用户程序越大,需要的烧录时间越长
FW Code Size | Upgrade Flash Time | Upgrade Flash & CheckFlash Time |
4kB | 3.6s | 4.3s |
8kB | 4.0s | 5.0s |
12kB | 4.3s | 5.8s |
16kB | 4.7s | 6.5s |
20kB | 5.1s | 7.2s |
24kB | 5.4s | 7.9s |
28kB | 5.8s | 8.6s |
32kB | 6.1s | 9.3s |
36kB | 6.5s | 10.0s |
40kB | 6.8s | 10.7s |
44kB | 7.2s | 11.4s |
48kB | 7.6s | 12.1s |
文档修订历史
版本号 | 日期 | 描述 | 作者 |
1.0 | 20170612 | 1.初版: SYD 批量烧录器设置流程 | 温碧伟 |
带24KFLASH数据的批量
在SYD8801的手环方案中,原来规划的48K空间代码已经不够用了,所以会把一些UI等静态数据放到芯片内部预留的24Kflash空间中,这里批量烧录的方式和没有24Kflash数据的烧录方式有两个差别:
1.在Tester Setting界面中要勾选如下选项:
2.在Tester Boot中要配置24Kflash数据,通过如下按钮更新:
如果一切配置正确就可以在Debug Log界面中有关24K flash的消息:
注意:能够烧录24Kflash和不能够烧录24kflash的程序和配置文件等都是不一样的,请和官方索要!