涂鸦WIFI基本开发(四)之涂鸦模组WBR3(RTL8720CF)程序下载
**先根据 涂鸦WIFI基本开发(三)之TuyaOS环境搭建 将环境搭建好 **
WBR 系列模组烧录授权方式
完成模组 SDK 固件开发后,您需要对模组进行烧录授权以实现连接云服务的能力。根据不同场景的需求,涂鸦提供以下两烧录授权方式:
- 烧录授权一体方案。该方案通过云模组烧录授权平台进行烧录和授权操作,适用于发布阶段。
- 烧录授权分立方案。该方案使用芯片烧录工具进行烧录操作,再使用云模组烧录授权平台授权,适用于开发阶段。
烧录文件
该型号芯片编译后会生成 4 种如下所示的 .bin 文件。
- flash_is.bin:boot + 用户区固件。
- oem_rtl8720cf_light_ty_QIO_1.1.2.bin(生产固件):boot+用户区固件+检测固件。
- oem_rtl8720cf_light_ty_UA_1.1.2.bin:用户区固件。
- oem_rtl8720cf_light_ty_UG_1.1.2.bin:升级区固件。
适用芯片
适用于核心芯片为 RTL8720CF 的以下模组。
WBR1
WBR2
WBR3
WBR2L
WBR3L
方式一:烧录授权一体方案
该方案适用于发布阶段,由于涂鸦模组必要进行授权才能连接涂鸦平台,所以授权步骤无法省略。
该方案的总体流程如下:
- 上传编译固件到 涂鸦 IoT 平台 。
- 平台成固件 key,并基于固件 key 生成授权码。
- 使用云模组烧录授权平台进行烧录授权。
硬件准备
硬件准备包括串口助手、任意搭载芯片平台 RTL8720CF 的模组、硬件连接图。
模组对应引脚 | 串口对应引脚 |
---|---|
RX/A13 | TX |
TX/A14 | RX |
VCC | VCC3.3V |
GND | GND |
上传固件
- 在 涂鸦 IoT 平台 产品开发的第三步 硬件开发 中,单击 新增自定义固件。
- 填写固件参数后,单击 确认。
参数 | 说明 |
---|---|
固件标识名 | 务必和编译固件的名称一致。 |
固件类型 | 模组固件。 |
其他参数 | 根据实际情况或界面帮助填写。 |
- 在 已生成固件 区域中,选择 上传生产固件。
- 上传固件并单击 确定。
- 生产固件:上传文件名中带有 QIO 的 .bin 文件。
- 用户区固件:上传文件名中带有 UA 的.bin 文件。
- 授权码获取+烧录
根据 PID 在平台获取授权码,参考 烧录授权 操作步骤章节内容下载安装 云模组烧录授权平台。
烧录步骤为:
- 先给模组断电。
- 在云模组烧录授权平台软件中,输入授权码后单击 运行。
- 烧录成功后,给模组上电。
方式二:烧录授权分立方案
该方案适用于开发阶段。该方案的特点是 授权一次,重复烧录。假如已经授权过一次,您只需要进行固件 demo 修改烧录,模组即能正常工作。
硬件准备
硬件准备包括串口助手、任意搭载芯片平台 RTL8720CF 的模组、硬件连接图。
模组对应引脚 | 串口对应引脚 |
---|---|
A_0 | VCC3.3V |
LOG_RX | TX |
LOG_TX | RX |
VCC | VCC3.3V |
GND | GND |
RXD | VCC3.3V |
注意事项
- 烧录完成后,需要把 A_0 拔掉,并把用户 RX 接回用户串口的 RX。
- 烧录完成后,模组需要重新上电才可以正常使用。
软件准备
下载并运行 RTL8720CF 芯片烧录工具。
请注意以上红色标记区域:
- Port 参数项需要选择实际使用的串口。
- Flash Pin 参数项需要选择
PIN_B6_B12
。 - 烧录过程中失败的话,可适当降低波特率。
下载说明
烧录步骤
- 先给模组断电。
- 打开烧录工具后,单击 Browse 后选择
flash_is.bin
(boot+用户区固件)文件进行烧录。 - 烧录成功后,给模组上电。
注意事项
需要确定模组在断电上电后是否处于烧录状态。如果没有出现下图所示内容,请检查接线 A_0 和 RX 是否接地。
下载
下载截图如下:
常见问题
- 在 RTL8720CF 芯片烧录工具上更新固件时,每次都需要单击 Browse,不然会出现以下状态。
- 烧录后没有效果
把程序烧录进去后却没运行,那是因为启动分区的问题导致新程序没能正确启动
- 需要将 keep System Data 去掉勾选,保证每次都是从 OTA1区启动
烧录方式补充说明
固件开发完成后,需要将固件和授权码烧录到设备内,才可以连接云服务。涂鸦提供多种烧录授权方式供您使用,您可在不同的开发阶段选择合适的烧录授权方式。
烧录授权方案
根据不同的开发阶段、芯片类型和生产方式,涂鸦提供三种烧录授权方案,每种方案的详细说明如下:
烧录授权一体方案
适用于使用涂鸦标准模组的开发者使用,固件需要维护在涂鸦 IoT 平台(选用涂鸦现有的模组固件或者将自己开发的模组固件上传至涂鸦 IoT 平台),根据生产方式的区别,通常有以下两种形式。
委托涂鸦进行烧录授权
涂鸦出货已完成烧录授权的模组,您收到模组后可直接使用。
自主进行烧录授权
涂鸦提供云模组烧录工具+授权码+烧录说明+烧录工装制作说明等一系列资料,您可以参考涂鸦提供的资料自行对模组进行烧录授权。
烧录授权分立方案
适用于调试阶段和非涂鸦标准模组方案,使用芯片烧录工具烧录固件,涂鸦 云模组烧录授权平台 工具只用于授权。
调试阶段
使用芯片烧录工具第一次烧录固件和授权码后,后续代码有更新,只需要重新烧录用户区固件,不会擦除授权码信息,方便调试。
非涂鸦标准模组方案
涂鸦云模组烧录授权平台工具不支持非涂鸦标准芯片烧录固件,只能使用原厂工具烧录固件,再使用涂鸦云模组授权平台工具进行授权。
产测 SDK 对接方案
适用于自身有完整的烧录生产体系的开发者,不使用 涂鸦云模组烧录授权平台 工具,通过涂鸦产测 SDK 对接自身生产烧录体系进行固件和授权码烧录,方案详细内容参考 产测对接经典方案。
操作步骤
以下流程适用于使用涂鸦 云模组烧录授权码平台 工具烧录授权/只授权方案。
烧录软件准备
进入 涂鸦 PMS 生产工艺管理系统,注册账号并登录,选择 软件下载,下载 生产解决方案。
烧录硬件环境搭建
根据芯片/模组的烧录方式搭建硬件环境,不同协议的芯片烧录方式不同,通常可以分为以下三类。
Wi-Fi 模组烧录
通常使用串口方式烧录授权,硬件上引脚按如下对应连接。
烧录工具 模组引脚 烧录工具引脚 USB 转 TTL 工具 3V3 3V3 TX RX RX TX GND GND BLE 模组烧录
通常使用芯片烧录器烧录固件 ,串口烧录授权码,硬件上引脚按如下对应连接。
烧录工具 模组引脚 烧录工具引脚 Telink 烧录器 3V3 3V3 SWS SWM GND GND USB 转 TTL 工具 TX RX RX TX GND GND Zigbee 模组烧录
通常使用 J-link 烧录固件,串口烧录授权码,硬件上引脚按如下对应连接。
烧录工具 模组引脚 烧录工具引脚 J-link 烧录器 RST RESET SWDIO SWDIO SWCLK SWCLK 3V3 VCC USB 转 TTL 工具 TX RX RX TX GND GND
烧录授权操作流程说明
连接硬件到 PC 并安装相关驱动。
根据烧录授权方案,选择是否使用芯片烧录工具,并对上位机进行配置。
烧录授权分立方案
a. 打开芯片烧录工具,按照操作说明烧录固件。
b. 配置上位机为只授权模式。烧录授权一体方案
配置上位机为烧录授权模式。
选择串口信息,输入授权码,单击 运行。
上位机会显示烧录的进度及结果,如果出现错误,可点击下方 错误详细 处查看原因,并根据提示进行内容,整改后重新烧录。
烧录授权说明二
通过涂鸦 IoT 开发平台免开发方案成功生成固件,或使用自定义开发方案生成固件并上传到涂鸦 IoT 开发平台后,下一步需要对模组进行烧录授权。
本文将详细讲解 3 种不同的烧录授权方式:
自定义开发烧录授权:适用于发布阶段,使用自定义开发方式创建的产品。
三明治开发板方式烧录授权:仅适用于涂鸦三明治开发板的烧录授权。
使用原厂工具烧录:适用于开发阶段。方案的特点是授权一次,重复烧录。
下文中的生产凭证,授权码和 token 均描述同一事物。
烧录前准备
烧录授权所需工具如下:
- 申请 PMS 账号
- 下载「生产解决方案」
- 下载 BK 原厂烧录工具
- 一个 USB 转 UART 转换工具
注册 PMS 账号
选择个人开发者,按照系统注册指引填写相关信息后,你会收到涂鸦发送的审核成功邮件。
下载并安装生产解决方案
下载生产解决方案
审核通过后,输入账号和密码登录涂鸦 PMS 系统。登录成功后,选择 知识库管理 > 软件下载 > 生产解决方案,下载生产解决方案。
安装生产解决方案
双击生产解决方案安装包,会现下面的警告,单击更多信息。
单击仍要运行。
根据自身需求,设置程序安装的位置,建议不要有中文路径。
完成安装后,启动生产解决方案,登录账号和密码同涂鸦PMS系统(涂鸦智造)的账号和密码。
单击云模组。
检查安装情况。
红色框内为黄色,则说明安装成功。可下载原厂烧录工具。
红色框内全为白色,就需要对软进行如下设置,使它恢复正常。
(1) 单击 文件 > 设置。
(2) 在基础设置中,将箭头 ① 指向的多路选择的1*1选项改为1*2,再单击确认。
多路选择改变后,界面如下图所示。
(3) 将多路选择的1*2,改回到1*1,使两个黄色框变为一个黄色框,设置就完成了。
下载原厂烧录工具
- 单击 bk_writer_gui_V1.6.3 下载 Beken 原厂工具。
烧录
不同开发板或模组的烧录流程也不一样。如果使用的是涂鸦的三明治开发板,建议通过云模组工具进行烧录。
自定义开发烧录授权
此方案适用于 发布阶段 ,使用自定义开发方式创建的产品,需要先将编译好的固件上传到涂鸦 IoT 开发平台,获取生产凭证(token)后,再使用云模组工具进行烧录授权。
涂鸦模组需要完成授权才能连接涂鸦平台,授权完成的模组如果需要烧录开发好的固件或更改后的固件,可以参考 使用原厂工具烧录。
上传固件
进入涂鸦 IoT 开发平台,单击已开发的产品,找到硬件开发。按照下图指示,单击新增自定义固件,再填写相关固件信息。
参数名称 描述 固件标识名 固件标识名必须和编译时的 apps
下的工程文件夹的名称保持一致。也就是说,如果这里的固件标识名填写为wifi_one_light
,那么上传的固件应为 SDK 包中apps
目录下的wifi_one_light
文件夹中编译所生成的固件。Flash 大小 Flash 大小为 16Mbit
,也就是 2M 大小。关于不同模组的 flash 大小,参考涂鸦文档中心。Note: 1 byte(字节) = 8 bits(位)。 16 Mbit ÷ 8 = 2M。没有被 ② 的框框圈到的参数 使用默认设置。 相关信息填写完成后,单击上传固件,进入下一步,开始上传固件。进行如下操作之后,单击保存。
参数名称 描述 固件版本 需要和编译时输入的版本号对应一致。 生产固件 上传包含 QIO
的 bin 文件。用户区固件 上传包含 UA
的 bin 文件。升级固件 上传包含 UG
的 bin 文件。运行模式 运行模式选择 QIO
。单击进行固件上架。
选择不限范围,单击确认上架。
选择不限范围是方便个人开发者管理产品。如果是公司将要量产的产品,请根据你的实际需求设置允许使用范围。
获取生产凭证(token)
将固件上传到涂鸦 IoT 开发平台,成功上架后,就可以免费领取激活码。使用激活码通过云模组工具进行烧录授权。
单击免费领取激活码。
交付方式选择生产凭证,单击提交订单。
- 生产凭证: 产测授权工具烧录授权功能读取的凭证编码,可自动抓取指定数量的授权码,随固件一起逐个写入设备。需上传生产固件至涂鸦 IoT 开发平台。
- 授权码清单: 写着每一个授权码 UUID 及相关信息的表单,需自行逐个写入设备。
- 生产凭证-仅授权: 产测授权工具独立授权功能读取的凭证编码,无需固件,即可对设备进行逐个授权。
单击去订单列表页看看。
确认箭头 ① 所指向信息是否正确。确认无误后,单击箭头 ② 的下载生产凭证。
解压下载好的生产凭证,打开
Token_information.txt
文件,并复制生产凭证。在云模组工具中输入生产凭证,并选择工位烧录授权。
如果出现
获取 token 失败,没有操作权限
的错误,请参考获取 token 失败,没有操作权限中的解决办法。生产凭证输入完成后,界面如下图所示。在基础信息一栏中显示固件的相关信息。
烧录授权
在云模组工具上根据按照箭头的指引,输入生产凭证,选择工位为烧录授权,并单击确定。
按照下表通过 USB 转 UART 工具,把三明治开发板与电脑连接起来。
USB 转 UART 引脚 三明治 SoC 开发板引脚 VCC
VCC
GND
GND
TX
RX
RX
TX
选择烧录的串口,单击运行,然后马上给模组断电再上电或按下复位按键使模组重启,开始对模组进行烧录授权操作。
- 重启模组时不要直接把串口工具从电脑上拔掉,避免造成烧录失败。建议拔掉再插上模组与串口工具连接的 VCC 和 GND 的杜邦线。
- CBU 的三明治 SoC 开发板自带 CH304 串口芯片。在单击运行后,按下开发板上 USB 口复位按键即可重启芯片,开始烧录授权。
(可选)如果在烧录授权过程中出现进入产测失败的错误,可能是因为该开发板在上一次烧录授权时已经累计连接到网络超过15分钟,设备此时关闭了产测功能,才导致无法进入产测,出现授权失败的情况。解决办法可参考 进入产测失败。
三明治开发板方式烧录授权
本方法仅适用于涂鸦三明治开发板的烧录授权。
在涂鸦 IoT 开发平台上使用免开发方案创建的产品只能通过绑定三明治 SoC 主控板,在三明治开发套件中申请授权码的方式申请到生产凭证(token)。如果账号没有绑定过三明治 SoC 主控板,只有涂鸦模组,既不能获取到免开发方案产品的 token ,也不能给模组烧录授权免开发方案的固件。
绑定三明治开发板
打开涂鸦 IoT 开发平台,单击产品 > 开发者工具 > 三明治开发板 > 绑定开发板。在弹窗中,输入开发板上的 ID 和密码,即可完成绑定。
三明治开发板获取 Token
绑定完成后,根据下方图片指示的顺序进行操作,选择要烧录的产品,单击申请新的授权码,便可成功申请到授权码。
烧录授权
复制从涂鸦 IoT 开发平台上获取到的授权码后,打开云模组工具。
烧录授权可以参考 烧录授权 ,进行操作。
使用原厂工具烧录
此方案适用于开发阶段。方案的特点是 授权一次,重复烧录。方案需要确保模组在烧录前已完成授权,且烧录时要注意选择的 flash 区域,避免程序写入位置错误,导致程序无法正常运行。
在开发过程中,如果每次使用云模组工具对模组进行烧录授权,相对来说不太方便。如果模组已经完成授权,使用原厂工具进行烧录授权的方式,不但不会刷掉模组的授权信息,还可以达到 授权一次,重复烧录 的效果。
Beken 平台
使用此方法只能烧录应用区固件,无法给模组进行授权操作。可以使用该方法给已经授权过的模组进行烧录,避免每次更新代码生成固件后都要上传到涂鸦 IoT 开发平台使用云模组工具进行烧录授权。
按照下图步骤,在箭头 ① 所指向的烧录对象中,根据实际烧录的模组选择对应的芯片型号,可在文档中心查看相关模组规格书,确认模组使用的芯片型号。
单击箭头 ② 指向的浏览按钮,选择成功编译生成的包含了
UA
字样的 bin 文件(该文件就是应用区固件,这里选择的固件就是wifi_one_light
)。在箭头 ③ 和箭头 ④ 指向的
起始地址
中填入0x00011000
,操作长度
中填入0x00119000
。在箭头 ⑤ 指向的位置选择正确的烧录串口,将箭头 ⑥ 指向的通讯波特率调整为最高,可以加快烧录速度。
单击箭头 ⑦ 指向的烧录,给模组通断电或复位模组使模组重启,开始烧录。烧录完成后,更改后的代码就成功烧录到模组中。你可以不再使用云模组工具对该模组再次进行授权操作。
烧录授权 FAQs
获取 token 失败,没有操作权限
输入生产凭证是,出现获取 token 失败:没有操作权限
的提示。
解决办法:
如果出现该错误,需要登录 PMS 系统,选择生产管理 > 工单管理 > 生产凭证确认,输入生产凭证,并单击确认。之后,回到云模组工具中输入该生产凭证,单击确认,即可开始烧录授权操作。
抢总线失败错误
可能其它软件占用了烧录使用的串口。
解决办法:
可以将烧录串口工具软件全部关闭,或直接插拔 USB 转 TTL 串口工具。
获取固件指纹错误
在仅授权的场景下,会出现获取固件指纹错误的情况,如下图显示。错误原因是由于模组内烧录的固件名称或版本号与授权的固件名称或版本号不一致。
解决办法:
输入与模组固件名称和版本号一致的生产凭证(token),再进行授权处理。
对该模组进行烧录授权处理(非仅授权)。
进入产测失败
设备累计联网时间超过 15 分钟后,会关闭产测功能。在烧录授权过程中,如果出现进入产测失败的错误,并且日志中有 have actived over 15 min, not enter mf_init
字样的日志打印,说明设备关闭了产测功能。
解决办法:
你需要先擦除 flash 中的相关数据才能授权成功。
修改代码(通用方式)
进入产测失败时,可以在 tuya_device.c
文件 pre_device_init()
函数内调用 mf_test_ignore_close_flag() ;
函数,忽略产测关闭标志,从而避免因为产测关闭而无法通过授权。
Beken 系列,使用原厂工具擦除相关数据
打开 Beken 原厂提供的烧录授权 bk_writer
工具,按照下图步骤将箭头 ① 指向的烧录对象选项改为对应的芯片。关于模组芯片型号,参考涂鸦文档中心的相关模组规格书。
三明治 SoC Beken 平台开发板介绍:
- WB3S: 烧录对象选择 BK7231
- CBU: 烧录对象选择 BK7231N
- 起始地址:
0x001EE000
,操作长度:0x00012000
。
选择开发板烧录串口,单击擦除 Flash按钮,重启模块,开始擦除内存数据。
说明:本文是收集参考涂鸦官方文档,以方便查看
信息链接:
欢迎到公众号来唠嗑: