【应用笔记】 离线烧录配置软件使用说明
注:本文介绍了泰为开发的 离线烧录器的使用方法(以下简称为烧录器),适用于泰为电子TAE32系列芯片,如TAE32F5600,TAE32F5300,TAE32F103等。
1 快速上手操作流程
1、打开上位机软件Offline Writer config,将烧录器连接电脑,等待烧录器上电完成并与上位机通信成功,上位机显示一串16位烧录器SN序列号即为正常连接
2、选择烧录的MCU,如TAE32F5600(本文均以该芯片作为演示)
3、建议按顺序在task0~task3中选择下载算法、擦除方式,填入需要烧录的内容。一个task内不同烧录内容的地址有重合时会有黄色警告标识,无法下载,但不同task的烧录地址如果有重合,软件不会有警告,用户需要自行检查。建议按需使用,一般情况仅使用task0即可,关于task的更多介绍详见下文
4、按需修改带#前缀的“基础设置”项,如烧录电压、速度、模式、等待时间等
5、在“烧录限制”中设置烧录次数,烧录递减时刻,限定烧录器SN和UID烧录范围
6、点击“注释”添加注释,注释内容明文保存,可在带显示屏的扩展底座上查看
7、在“选项字节”中设置读写保护等
8、点击“下载到烧录器”后点击“OK”即可下载,初始秘钥默认为空,下载过程中烧录器上三个灯同时闪烁,直到蜂鸣器短响一声即为下载成功
9、将目标芯片连接到烧录器,按下烧录按钮,蜂鸣器短响一声后开始烧录,STATUS灯持续闪烁,烧录结束后蜂鸣器长响一声,OK灯长亮,指示烧录成功
10、如果要提供烧录资料给工厂做生产,可点击“生成离线文件”,设置秘钥和离线文件生效时间,生成的离线文件只能修改带“#”的基础设置项。只有当离线文件秘钥和烧录器秘钥对应,且时间在离线文件生效时间后,代码才能通过离线文件下载到烧录器中
注:
1、使用默认秘钥可将烧录文件下载至任一烧录器;
2、用户如有保密需求,生成离线文件时需设置秘钥,详见第三章第1节。
2 上位机软件功能说明
2.1 连接烧录器
▶ 首先打开Offline Writer config,界面如下所示,烧录器SN显示未找到设备。
▶ 连接好烧录器后显示烧录器SN,若同时连接两个烧录器会显示两个烧录器SN,注意区分。
2.2 基础设置
▶ 带“#”号的为基础设置,如下图红框的内容,修改完基础设置后,只需要点击右下角的“更新基础设置”,相关设置内容就会更新到烧录器中。
- 烧录电平&速度
▶ 如上图,蜂鸣器音量可设置0~100%,VOUT电压输出可设置为5V、3.3V或不输出(外部自行供电),接口电平固定输出为3.3V,如需修改需要替换硬件。烧录速度可设置100KHz~20MHz,实际只是设置一个烧录速度相对快慢等级,不代表实际速度可达到20MHz。
- 智能烧录
▶ 模式可选择:烧录完成后关闭电源输出,自动检测芯片并启动烧录,不关闭电源输出且不自动烧录。
▶ 烧录前等待电源稳定时间:默认为200ms,如果在板烧录且板上电容较多,建议设置更长时间等待电容充电。烧录时建议减少负载,以免影响电源稳定。
▶ 自动烧录-放拿去抖时间:仅在自动烧录模式生效,如果是人工放拿芯片建议适当延长时间。
▶ 可根据需要设置 烧录完成后复位运行芯片 与 复位运行时间。
▶ 机台信号:可用于机台自动化烧录,为适应不同机台,提供更灵活的配置方式。
▶ 机台烧录有四种状态:启动、忙碌、成功、失败;其中,启动状态可设置烧录器的START引脚的有效电平,其他三个状态则可独立设置烧录器的BUSY、OK、NG三个引脚的电平。在上位机软件中,横坐标为烧录状态,纵坐标为烧录器引脚电平,形成3×3的矩阵。
▶ 表格对应3x3方格,若BUSY引脚为高电平,OK和NG引脚为低电平,表示处于忙碌状态;若BUSY和NG引脚为低,OK引脚为高电平,表示烧录成功;若BUSY和OK引脚为低,NG引脚为高电平,表示烧录失败。
▶ 以上为通用状态,用户可根据机台类型自行设置不同的高低电平组合以辨别不同的烧录状态。
2.3 烧录内容配置
▶ 首先选择烧录的目标芯片,如TAE32F5600。
▶ 烧录task共有4个(task0~task3),烧录时必须保证task内容不全为空。
▶ 每个task都是多个烧录内容组合,可以选择不同的下载算法和擦除方式,每个task之间相互独立互不影响,烧录时从task0开始依次烧录。
▶ 举例一个典型的应用:在task0中将初始程序烧录到EFLASH,在task1将备份程序和数据资料烧录到外置SPI FLASH。如果使用其他烧录工具,内部FLASH和外部FLASH需要分开两次烧录,当前烧录器创新设计了task组,按一次按键即可全部烧录完成。
▶ 建议不同task使用不同的下载算法,如果不同task涉及同一个FLASH的擦写操作,需要小心前后task的覆盖问题,且要满足不同芯片的不同的对齐要求。
▶ 擦除方式的介绍:
全片擦除:将下载算法对应的FLASH全部擦除。
扇区擦除:将实际使用到的扇区全部擦除。
不擦除:不执行擦除操作,直接写入,需要确保写入地址为空,否则会出现异常。
仅烧录一次:与“不擦除”类似,此选项也不会执行擦除操作,但不同的是,在烧录前会先判断当前地址是否全部为空(即全部为0xFF),如果全部为空则执行烧录操作,如果不全部为空则跳过当前task。此选项可用于烧录出厂序列号,后续更新程序不会更新序列号,一般情况不建议使用。
▶ 如果不同task涉及同一个FLASH的擦写操作,一般在靠前的task中使用全片擦除,后面的task选择扇区擦除(注意检查地址是否重合)、不擦除或仅烧录一次。
▶ 把指针移动到下载算法上可查看对应的起始地址和大小。
▶ 烧录内容可以添加用户程序、序列值、UID加密、固定数据、随机数据中的一个或多个,可以点击修改按键修改内容的起始地址或大小。
▶ 用户程序可以添加 .bin和 .hex文件;
▶ 序列值可以添加一个递增的数值,可用于产品唯一序列号,初始值和递增值可配;
▶ UID加密会将自定义秘钥和芯片UID经过特定算法进行混淆加密,保存在FLASH中,供用户调用&验证,保护知识产权;
▶ 固定数据可以在FLASH内植入一段自定义数据;
▶ 随机数据可以将未使用的地址用随机值填充,随机值由烧录器在工作时实时生成。
▶ 如果同一个task添加的不同内容的地址有重合,操作界面会出现黄色提示,此时需要删除重合内容或修改地址至黄色提示消失,才可执行下载操作。
▶ 不同task的烧录地址如果有重合,软件不会有警告,用户需要自行检查。
2.4 扩展设置
- 烧录限制
▶ 可以设置烧录次数和芯片UID限制,还可以设置哪一个task烧录完成后烧录次数-1。需要说明的是,“递减时刻”中“task3烧录完成”和“烧录成功”的主要区别在于是否勾选“#智能烧录”的“烧录完成后复位运行芯片”,如果不勾选则几乎没区别,如果勾选则会等待芯片复位结束才会切换“烧录成功”状态。
- 注释
▶ 注释栏可添加注释,注释内容明文保存,请不要输入保密敏感信息,注释可在生成的离线文件中查看。
- 选项字节
▶ 读保护默认为level 1,禁止通过调试口读取FLASH内容,可回退为level 0。
若设置为level 2并下载到芯片后,将不可回退,芯片将不可调试和修改程序,请慎重选择。
2.5 程序下载
▶ 点击“下载到烧录器”后点击“OK”即可下载,初始秘钥默认为空,下载过程中烧录器上三个灯同时闪烁,同时蜂鸣器响一声,直到只有STATUS灯亮着即为下载成功。程序下载到烧录器后,可以连接芯片,将程序再烧录到芯片上,烧录过程不需要电脑参与,只需要给烧录器供电即可。
2.6 生成离线文件
▶ 如果需要提供烧录资料给工厂,或者需要固化当前烧录配置,可点击“生成离线文件”,设置秘钥和离线文件生效时间并保存。
3 生产资料保护
▶ 烧录器使用 秘钥 + SN + 生效时间 来保护您的生产资料不被未授权使用。建议三个同时使用,如果仅使用秘钥,只能保护源码不被窃取,无法保证生产次数不会被突破。
3.1 秘钥
▶ 烧录资料采用自校验的形式,上位机不保存秘钥,如果更改秘钥请妥善保管,如果遗忘将无法找回。
▶ 当下载程序到烧录器或者生产离线文件时,上位机将所有资料分段加密,并在各段中间植入数量不定的随机数据,再将加密后的资料与随机数据固实打包,发送到烧录器上,由烧录器自行解密、判断有效性。
▶ 秘钥分为 烧录器秘钥 与 烧录资料秘钥 2部分,2部分需要匹配才可以正确下载。
▶ 在收到烧录器后,或者需要寄送烧录器给他人前,建议每个烧录器都设置不同的秘钥。
▶ 右键单击“下载到烧录器”可弹出“设置烧录器秘钥”,点击“OK”可修改烧录器秘钥,烧录器默认秘钥为空。
▶ 修改完秘钥后点击启动,显示更新成功即可。
注:
1.若要生成离线文件,切记设置秘钥,设置秘钥后的离线文件只有与烧录器秘钥完全一致才能下载到烧录器。
2.不管是否设置过烧录器秘钥,默认秘钥都生效。
3.2 烧录器SN
▶ 如果需要限制烧录次数,需要同时限定烧录器SN,一次可输入多个SN,每个SN对应烧录器的烧录次数单独计算。即如果次数设置为1000次,然后设置了10个SN,则总共可烧录次数为1000*10=10000次。
▶ 限定了烧录器SN后,不在SN列表上的烧录器将拒绝下载。
3.3 离线文件生效时间
▶ 生成离线文件时可修改离线文件生效时间,如果离线文件的生效时间早于烧录器生效时间,离线文件将无法下载到烧录器中。
4 烧录失败原因
▶ 烧录资料下载到烧录器失败,可能的原因是:
1、烧录器未正常连接
2、烧录内容为空或烧录内容地址重合
3、限定了烧录器SN且烧录器SN不在SN列表上
4、烧录资料的生效时间早于烧录器生效时间
5、烧录资料秘钥与烧录器秘钥不匹配
6、上位机软件与烧录器版本不匹配
▶ 代码文件无法烧录到目标芯片,可能的原因是:
1、烧录器烧录次数已用完
2、芯片的UID不在烧录范围内
3、上位机软件设置的烧录芯片与实际目标芯片不一致
4、芯片接触不良
5、烧录速度过快,降低烧录速度或者更换更好的烧录线缆
6、延长电源稳定等待时间
5 硬件
5.1 泰为自主研发的在线离线小型一体化烧录器
▶ 使用高可靠带硬件加密主控,配合软件多重加密,保护数据安全
▶ 支持在线仿真、在线烧录、离线烧录、机台烧录
▶ 输出带驱动芯片,驱动能力更强,烧录速度最高可达25KB/s
▶ 支持自动烧录、烧录完成自动断电等智能化设置,支持5V/3.3V输出可配
▶ 配合易于使用的上位机。可方便配置递增序列号、UID加密、次数限制等保护功能
5.2 烧录器一拖四扩展平台
▶ 支持10~24V DC供电与USB-C供电,可支持4个烧录器同时烧写
▶ 带液晶显示大屏,实时显示每个烧录器的工作状态
▶ 提供多种烧录接口方便接线
▶ 搭配不同的子板可支持不同型号不同封装的裸片烧录
5.3 裸片烧录子板
▶ 搭配烧录扩展平台与泰为研发的小型烧录器,可实现裸片烧录
▶ 板上自带最小系统,烧录引脚带滤波电容,保持烧录稳定
▶ 制作不同的子板即可支持不同芯片不同封装
▶ 防呆接口避免插错造成损坏