TI zigbee CC2538 ZNP如何更新 firmware?

版权声明:谁想转载随便转载吧,反正多写这一句“未经允许不得转载” 然并卵!!! https://blog.csdn.net/code_style/article/details/79946855

我们知道,zigbee网关都是一个Host MPU通过外部挂接一个ZNP(zigbee network processor)模块或者芯片,实现网关的功能,一般都是USB/UART口的居多。zigbee设备都可以通过OTA来进行升级,但是网关上的ZNP里面的firmware如何升级呢?

  • TI的网关zigbee linux gateway参考设计里面,提供了一个sbl_tool的工具,这个工具就是利用ZNP第一次烧写固件时附带的一个bootloader,和它进行通讯,并实现升级的。这个程序是单独的一个程序,不依赖网关的其他程序,自己通过USB/UART来和zigbee芯片实现交互数据。包括拆分发送firmware固件包,来实现升级。当然,由于UART是独占设备,网关使用的同时,是无法使用sbl_tool进行升级的。
  • 每次ZNP上电以后,都要默认等待UART口30s时间,这段时间窗口,可以提供的Host MPU来对其进行固件升级,当然也可以直接绕过升级直接让其启动。
  • 由于最新的ZNP协议栈里面已经不再支持多余的几个zigbee bootloader指令,诸如固件校验SB_VERIFICATION_IND、切换通讯波特率SB_SWITCH_BAUDRATE_CMD,由于波特率已经固定为115200了。以及SB_ENABLE_REPORTING_CMD。
  • 只支持SB_WRITE_CMD、SB_READ_CMD、SB_ENABLE_CMD、SB_HANDSHAKE_CMD这四个指令,其中SB_ENABLE_CMD是用来绕过bootloader的升级等待的。

猜你喜欢

转载自blog.csdn.net/code_style/article/details/79946855
TI