
说明一下沁恒脱机烧录器使用 ...... 矜辰所致前言在我们使用某个芯片做产品到了需要量产阶段往往需要用到特定的工具沁恒也提供了对应的量产工具 脱机烧录器。本文我们主要内容就是来测试说明一下脱机烧录器的使用方式。沁恒蓝牙芯片系列博文【导航】沁恒 RISC-V 蓝牙 入门教程目录 【快速跳转】.我是矜辰所致全网同名尽量用心写好每一系列文章不浮夸不将就认真对待学知识的我们矜辰所致金石为开目录前言一、 资料说明二、 基本烧录流程2.1 待烧录程序加载到脱机烧录器2.2 程序下载2.3 多个 Hex 烧录三、其他功能测试3.1 滚码功能3.1.1 滚码说明3.1.2 数据文件生成3.1.3 滚码测试3.1.4 滚码的范围3.2 脱机烧录器自身固件升级四、一些注意事项4.1 上电稳定时间说明4.2 其他说明结语一、 资料说明沁恒的脱机烧录器需要自行购买在沁恒官方淘宝店有售大家自行查找。样子如下图然后找沁恒 FAE 可以获取脱机烧录器的软件和使用说明比如博主手头拿到的资料如下资料这些就齐全了。其中《脱机烧录器使用说明》是官方提供的资料里面其实该有的都有:此烧录器基本涵盖了沁恒的所有在售芯片文档说明覆盖比较全同时文档中也有脱机烧录器本身自己升级的操作说明烧录器本身的处理器也是沁恒的 MCU 嘛所以它也是可以升级更新的。一般官方给到我们的版本是不需要做烧录器本身的升级我们只需要了解它是如何烧录我们的芯片的。那博主一直在使用沁恒 RISC-V 蓝牙系列下面就来做个烧录测试会把基础流程和可能用到的功能都记录测试。二、 基本烧录流程首先我们开发的时候通过 ISP 工具烧录确定了我们最终的程序比如下面就是我们需要使用脱机烧录器的程序 2.1 待烧录程序加载到脱机烧录器下面我们就要把这个程序加载到脱机烧录器使用 USB 线连接 PC 和脱机烧录器PC 端的 ISP 工具要关闭防止 ISP 工具识别脱机烧录器导致 McuUpdTool 工具识别不到使用下图接口连接上以后脱机烧录器显示如下然后打开软件包中的 DlPubTool_N_V3.93 工具操作设置如下最后会在你的脱机烧录器工具包文件夹生成加载到脱机烧录器的文件如下图在文件夹中也能看到这个文件接下来打开该目录下的 McuUpdTool 工具如果目录下只有一个 datakey 的时候软件自动识别点击下载即可 烧录成功现象如下上面的步骤如果有多个 datakey 软件会让你选择一个 datakey 如下图通过软件最上面的名字可以查看当前使用的 datakey OK完成到上面步骤表示待烧录程序已经成功加载到我们的脱机烧录器我们可以拔掉脱机烧录器与 PC 的连接线。2.2 程序下载首先给脱机烧录器供电这里不能使用 PC 的 USB 口供电手机充电器可以下面 2 个口都可以供电5V 供电连接电源后脱机烧录器显示官方手册对下载部分的说明如下:S3 按键实物图如下当然我们要正确的连接好设备这里要注意设备设备接入要进入 BOOT 模式才能正常烧录和 ISP 工具烧录一样。上图可以看到按下 S3 之后屏幕会显示编程中 只要在这个时间段内连接的芯片进入 BOOT 模式上电的时候 BOOT 引脚低电平然后松开不同芯片引脚可能不一样具体查看对应芯片说明就可以正常的烧录。显示编程中的时间段就是超时时间默认配置的是 5000 ms针对脱机烧录有三种方式串口按键下载、串口免按键下载、USB方式下载。博主使用开发板测试都是成功的连接实物图如下。USB 连接串口连接串口烧录下文会额外说明一下在上面使用开发板进行串口连接烧录测试不需要按住 BOOT 直接让脱机烧录器进入编程模式把开发板的供电开关打开它也能正常的进行烧录这就是串口免按键下载然后按住 BOOT 引脚松开也能下载。串口免按键下载使用串口免按键下载是上电很短时间 好像是几十 ms 小于 100ms 之内检测到串口通讯就可以免按键。这里官方的评估板可以但是如果你自己画的板子上电慢典型的就是板子上的电容稍微大/多一些就无法实现免按键烧录因为在供上电 100ms 内脱机烧录器检测串口通信但是板子上芯片还没运行起来没有在这个事件发出通信请求就错过了。因此使用脱机烧录一般建议USB下载或者串口按键方式下载。有的小伙伴可能会疑惑这里看上去都需要人为操作那怎么量产那是因为这是手动测试手册也提到了脱机烧录器预留了机台控制接口大批量批量裸片烧录的时候也会配置对应的烧录底座都是可以机器自动操作的。2.3 多个 Hex 烧录当我们工程有多个 Hex 文件的时候 ISP 工具会自动合并所以可以直接选择进行烧录如下图那这种情况下使用脱机烧录器需要把文件合并成一个我们可以在沁恒官网下载 HexBinStudio 工具进行操作工具在沁恒官网搜索即可找到如下图下载完毕解压使用起来也是比较简单操作界面如下 然后按照上面脱机烧录器正常的操作在用户文件选择这个合并的文件正常操作就行三、其他功能测试上面我们走了一遍正常的下载流程接下来我们对脱机烧录器一些实用的功能也做个测试。3.1 滚码功能3.1.1 滚码说明滚码功能就相当于烧录的时候可以给自己的产品进行编号官方手册里面有说明该功能主要用于在芯片 dataflash 区域填入自定义数据文件或动态滚码针对无 dataflash 区域的 CH32 系列芯片则将自定义数据或滚码写入指定的 flash 地址。滚码的作用总的来说就是给产品编号每一台设备都有自己的唯一编号方便内部管理 。比如在客户需要自定义 MAC 地址的时候可以使用滚码作为参照按照规律设置 MAC 地址做到每一个 MAC 地址都有迹可循。本文呢我们是以蓝牙芯片为例说明在之前的文章 《沁恒 RISC-V 蓝牙芯片 Flash 分区管理及操作》 中我们提到过 CH585 的Flash 分区CH592 是一样的滚码就是在上面 DataFlash 里面自己设定的地址写入一个 6 个字节的数据。滚码设置的地址是相对 DataFlash 的偏移与 EEPROM_ 前缀的函数操作一样的。3.1.2 数据文件生成还有一个需要注意的就是烧录滚码必须加载数据文件数据文件的生成我们可以利用 ISP 工具生成如下图所示 通过 ISP 工具修改好自己需要的 DadaFlash 数据点击保存至文件一份数据文件就准备好了。如果自己应用不需要写入写入任何 DadaFlash 数据直接恢复默认数据就便变成 0XFF 直接保存就行了。如果有一些自己存放了数据在后面滚码选择地址的时候需要避开自己存放数据的地址避免覆盖数据。3.1.3 滚码测试接下来就按照上文说明的加载方式设置如下正常加载到脱机烧录器我们观察验证主要是看几个点滚码的地址就是上图 122880x3000我们烧录完成可以去读取查看 DataFlash 该地址的数据滚码的值我们应该会在 0x3000 地址查看到 0xAACCFFCCBBEE 这个数值这里大小端需要注意但是也不麻烦也不用特意死记走一遍测试流程就知道了只要和程序中统一认知不是什么问题。连续烧录结果我们上面设定的步进值为1所以如果烧录第二个那么 0xAACCFFCCBBEE 这个值肯定是需要 1 加在哪边这也是和上面大小端一样不用死记走一遍流程就知道了。OK我们根据我们的设定我们使用脱机烧录器正常下载然后通过 ISP 工具查看一下烧录后芯片的 DataFLash 第一次烧录第二次烧录第三次烧录从几次的烧录结果我们可以很明显的看出滚码的效果滚码最左边是低位小端模式存放数据的地址和自己设定的地址一致数据也一致。3.1.4 滚码的范围这里还需要说明一个事情虽然滚码是需要填 6 个字节的数据但是实际上滚码自动编码的范围就是 4 个字节一个32 位的数据说明如下。这里我们可以也来测试一下我们现在知道滚码是小端模式所以我们可以填入下数据 0xFEFFFFFFXXXX多烧录几次进行测试如果步进值位1 它应该在烧录到第三次就清 0 从0开始了。测试结果通过下图可以很直观的看出来大家自行查看 3.2 脱机烧录器自身固件升级在某些情况下脱机烧录器的固件需要升级操作方式也说明一下。首先是脱机烧录器的 跳线帽设置如下图设置就可以使得脱机烧录器进入上电 BOOT 模式脱机固件升级工具就是我们常用的 ISP 工具和 CH58x/CH59x 一样插上 PC 工具会自动识别出芯片型号然后选好我们需要烧录的固件找沁恒 FAE 提供照常烧录即可如下图烧录完毕记得把跳线帽切回正常使用状态四、一些注意事项可能遇到的一些问题汇总持续更新。4.1 上电稳定时间说明在脱机烧录器里面有一个上电稳定时间这个是脱机烧录器给待烧录设备供电后的稳定时间类似上电后于等待这个时间后进行烧录操作这个时间对于使用 USB 烧录来说基本无影响。但是对于使用串口烧录的方式来说这个时间要设置得比较小比如默认的 20ms 是可以的。博主设置到 30ms串口免按键烧录就会失败CH572D 测试。原因是因为脱机烧录器进行烧录的时候前面几十ms 线检测芯片的串口通信如果检测到了通信同时串口正确连接了就进行串口烧录如果没检测到再检测 USB 通信进行 USB 烧录。而对于待烧录的芯片而言正常上电后串口立马发送交互指令免按键到时间停止几十ms内。如果脱机烧录器上电稳定时间设置过长那么脱机烧录器就可能错过待烧录芯片发出的串口交互信息就会导致烧录失败。上面部分描述起来可能还是不那么容易明白大家只要知道串口烧录需要在芯片正常上电后的 几十ms 内交互成功就能正常烧录。官方开发板 20ms 的设置是可以满足各种烧录需求。还需要说明一下这里待烧录芯片正常上电要注意芯片上电和板子上电的时间不是同一个时间点是因为脱机烧录器给产品板子供电后芯片并不是立即就能上电的。这和不同的产品板子设计有关有些电容多一些芯片上电慢一些所以会提供这个上电稳定时间这个设置来适配不同的板子个人理解有问题指出。4.2 其他说明使用脱机烧录加载待烧录程序的时候不要打开 ISP 工具 脱机烧录器会被 ISP 工具识别使得自己的软件识别不到CH572 部分型号使用串口烧录使用的是UART2因为 PA0 和 PA1 可以是 UART2 和 UART3并且是 TX RX 相反的容易混淆。连接方式如下CH572D PA1 —— 脱机烧录器 RXCH572D PA0 —— 脱机烧录器 TX如果烧录器识别不了可以尝试断开与 PC 的 USB 线重新连接尝试。结语本文博主测试了沁恒脱机烧录器的使用对于基本的使用流程和需要注意的事项博主都给了必要的说明希望对大家有所帮助。好了本文就到这里。谢谢大家