Z-Wave 700 秘钥生成、固件签名、及OTA过程

OTA功能是所有Z-Wave 700终端设备的必备功能。Z-Wave 700嵌入式框架已经实现了该功能,但是您需要确保刷新OTA引导加载程序和一组加密密钥。

工具准备:
Z-Wave 700 Dongle:
https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-23205201980.4.62d31044HOJTBi&id=628622941808

默认位置:

  • Commander安装位置
    C:\SiliconLabs\SimplicityStudio\v4\developer\adapter_packs\commander*
  • Bootloader位置
    C:\SiliconLabs\SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\v2.7\protocol\z-wave\Apps\bin
  • 示例应用程序位置
    C:\SiliconLabs\SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\v2.70\protocol\z-wave\Apps\bin

设备的序列号/设备ID也必须已知(例如,可以在Simplicity Studio中看到)。在此示例中,我们使用的板的ID为440147067

—前期工作:密钥
步骤A: 生成所需的密钥

commander.exe gbl keygen --type ecc-p256 -o vendor_sign.key

这将在与指挥官相同的位置生成3个文件。
* vendor_sign.key
* vendor_sign.key.pub
* vendor_sign.key-tokens.txt

步骤B: 产生加密秘钥

commander.exe gbl keygen --type aes-ccm -o vendor_encrypt.key

这将在与命令程序
* vendor_encrypt.key相同的位置生成1个文件

—前期工作:创建用于初始设置的固件
步骤C: 使用Simplicity Studio,打开Switch On Off示例应用程序并进行编译。
这将生成一个Hex文件,我们将使用该文件来刷新设备进行初始设置(将在步骤6中介绍)。

—带有引导加载程序和初始固件
设置设备Z-Wave芯片不带引导加载程序,因此第一步是准备带有OTA引导加载程序的芯片,并且将更新固件的初始映像。
步骤1: 清除Flash

commander.exe device masserase -s 440147067 -d Cortex-M4

步骤2: 复位

commander.exe device reset -s 440147067 -d Cortex-M4

步骤3: 清除引导加载程序

commander.exe device pageerase --region @bootloader -s 440147067 -d Cortex-M4

步骤4: “擦除锁位”Page

commander.exe device pageerase --region @lockbits -s 440147067 -d Cortex-M4

信息:不需要此步骤。如果您擦除“锁定位”页面,则应用程序映像将自动生成一组新的S2私钥/公钥。有关“锁定位”页面的更多信息,请参阅 Z-Wave 700:S2密钥对存储在哪里?。

另外:如果确实要擦除“锁定位”页面,则像在此KB中所指示的那样,在刷新生成的密钥(步骤7)之前,先刷新引导程序(步骤5)和应用程序映像(步骤6),这一点很重要 。

步骤5: 刷新OTA引导加载程序映像

commander.exe flash C:\SiliconLabs\SimplicityStudio\v4\developer\sdks\zwave\v7.11.0\Apps\bin\OTA-bootloader-fg13-combined.s37 -s 440147067 -d Cortex-M4

现在可以使用固件映像刷新设备了。

—烧录设备固件
我们也将使用Commander,但也可以使用Simplicity Studio来完成。

步骤6: 将示例应用程序写入闪存
NB:您必须已完成步骤C。

commander.exe flash "C:\Users\almunkha\SimplicityStudio\v4_workspace\SwitchOnOff\GNU ARM v7.2.1 - Debug\SwitchOnOff.hex" --address 0x0 --serialno 440147067 --device Cortex-M4

—烧录密钥
步骤7: 对前期工作生成的密钥进行编程

commander.exe flash --tokengroup znet --tokenfile vendor_encrypt.key --tokenfile vendor_sign.key-tokens.txt -s 440147067 -d Cortex-M4

步骤8: 重设装置

commander.exe device reset -s 440147067 -d Cortex-M4

—将设备包含到Z-Wave网络
现在,该芯片已使用OTA引导加载程序和初始映像进行设置。

步骤9: 读出DSK
读出DSK 通过使用Commander或Simplicity Studio。

步骤10:
使用PC Controller将DUT纳入网络。

步骤11:
使用PC Controller中的“ OTA固件更新”选项卡获取准备OTA的版本。
固件版本应为(对于Z-Wave SDK 7.13):10.13

—前期工作:创建OTA固件映像
在继续进行固件更新之前,我们需要构建示例应用程序的新版本。

步骤D:在Simplicity Studio中,确保增加固件版本。
例如,将版本更改为:

#define APP_REVISION (ZAF_VERSION_MINOR+1)

这会将固件版本增加到(对于Z-Wave SDK 7.13):10.13
生成以生成新的十六进制文件。

步骤E:创建用于OTA的gbl文件。

commander.exe gbl create appname_mySwitch.gbl --app "C:\Users\almunkha\SimplicityStudio\v4_workspace\SwitchOnOff\GNU ARM v7.2.1 - Debug\SwitchOnOff.hex" --sign vendor_sign.key --encrypt vendor_encrypt.key --compress lz4

这将生成1个新文件,用于OTA更新
* appname_mySwitch.gbl

—最后;OTA更新
步骤12: OTA更新
使用PC控制器使用文件名appname_mySwitch.gbl进行OTA更新。
选择文件后,单击“更新”以启动OTA更新。

注意:如果使用PC控制器进行OTA更新,请确保使用5.38或更高版本。

—结果
固件更新Md状态报告可以在PC Controller GUI或Zniffer跟踪中看到。
状态0xFF =成功

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
SecureCRT是一款功能强大的终端模拟软件,它可以用于远程访问和管理网络设备。然而,SecureCRT本身并不提供OTA固件的功能,因为OTA固件是一种特定的设备固件更新方式,通常需要使用设备厂商提供的专门工具或者协议来完成。 如果你想使用SecureCRT来进行OTA固件更新,你需要先了解你要更新的设备支持的OTA协议或者工具。常见的OTA协议包括HTTP、HTTPS、FTP等,而设备厂商通常会提供相应的工具或者API来进行固件更新。 一般来说,OTA固件更新的步骤如下: 1. 确定OTA协议和固件存储位置:确定设备支持的OTA协议(如HTTP、HTTPS、FTP等),以及固件存储位置(如服务器地址、文件路径等)。 2. 连接到设备:使用SecureCRT连接到需要进行OTA固件更新的设备。 3. 下载固件:根据OTA协议和固件存储位置,使用SecureCRT提供的文件传输功能下载固件文件到设备。 4. 执行固件更新:根据设备厂商提供的OTA工具或者API,执行固件更新操作。这一步通常需要在设备的命令行界面下执行相应的命令或者操作。 5. 等待固件更新完成:等待固件更新过程完成,设备会自动重启或者进行其他操作来完成固件更新。 6. 验证固件更新:重新连接到设备,确认固件更新是否成功。 请注意,以上步骤仅供参考,具体的OTA固件更新步骤可能因设备类型、厂商和协议等而有所不同。建议在进行OTA固件更新之前,仔细阅读设备厂商提供的文档或者咨询他们的技术支持,以确保正确使用相应的工具和协议。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Smartlabs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值