我们检测到您正在使用不支持的浏览器. 为了获得最好的体验,请使用Chrome, Firefox, Safari或Edge访问该网站. X

使用微芯片无线解决方案实现无线(OTA)软件更新


对一系列物联网(IoT)和其他互联应用至关重要, 无线(OTA)更新使产品制造商能够发送新的信息,比如更新的天气预报,或者通过无线无线电传输向他们的设备执行系统软件更新.

我们的无线产品可以用于实现OTA更新, 也被称为设备固件更新(DFUs), 为下列用例安装新系统软件:

  • 固件更新:
    • 支持以前没有实现的新特性
    • 修复早期版本中的bug
    • 来抵御Wi-Fi等安全威胁® WPA2 (Protected Access II)漏洞
  • 颁发证书,授予对新的云服务的访问权
  • 当密钥更改时,证书更新
  • 设备调优

想了解更多关于OTA更新?


基于我们的独立Wi-Fi MCU和Wi-Fi网络控制器, 这四个例子展示了如何使用OTA应用程序更新Wi-Fi MCU的固件和安全内容, Wi-Fi网络控制器和通用主机MCU.

Firmware Updates on a Connectivity IC

对于像ATWINC1500这样的设备:

  • 实现新的射频特性
  • 提高射频性能
  • 修正错误
  • 修补一个新发现的安全漏洞
  • 调整设备

Firmware Updates on a Host MCU

对于32位PIC®或其他MCU:

  • 更新主机应用程序固件
  • 修复主机固件bug
  • 修补主机固件安全漏洞

Updates to SSL Certificates

对于AWS或其他证书:

  • 执行初始云供应
  • 更新的证书
  • 改变访问密钥

Firmware Updates on a Standalone Wi-Fi MCU

对于WFI32 Wi-Fi MCU模块和PIC32MZ-W1 Wi-Fi SoC等设备:

  • 更新应用程序固件  
  • 更新WLAN固件
  • 新增Wi-Fi功能
  • 提高射频性能
  • 修复MCU和WLAN软件中的bug 

Memory Space Requirements


拥有足够的可用内存空间是执行OTA更新的关键需求. 但是,由于内存增加成本,大多数系统提供的内存空间有限. 如果您想让您的应用程序执行OTA更新, 一般来说,您需要计划提供内存,以便为要更新的代码提供两倍以上的存储空间. 管理OTA更新的引导加载程序或应用程序也需要足够的内存空间.

OTA更新的新代码应在下载时在本地归档. 这使得在执行实际更新之前可以检查下载的真实性和完整性. 如果下载被中断或损坏,下载的文件不应该被使用. 只有在下载被检查后, 引导加载程序或管理OTA更新的应用程序将能够使用以下两种方法之一更新以前的软件:

  • 用新版本擦除和覆盖代码, 哪个是证书更新的好选择
  • 将新映像放置在新分区上,并更新引导加载程序以指向新分区, 对于代码更新,哪种选择更安全

本地内存可以放置在系统中的不同位置. 您可以选择使用主控制器的内存, 无线网络控制器的存储器或外部闪存或其他存储器.  然而, 保证更高的可靠性, 在目标本身上使用双分区内存允许新旧软件版本并行并存. 而不是用新版本覆盖旧版本, 这将允许系统在检查了真实性和完整性后,简单地更新指向新代码的指针.  在新版本出现问题的情况下,它还可以轻松地回滚到软件的前一个版本作为故障保险.

OTA Bootloader Requirements:


需要执行一个程序来执行任何类型的OTA更新. 这个程序可以是运行在主机上的专用应用程序, 但在大多数情况下,更新是由引导加载程序处理的. 通常与mcu一起使用, 引导加载程序是负责加载和执行应用程序的代码. 引导加载程序可以包括额外的功能,例如验证代码的完整性和真实性, 在某些情况下,引导加载程序可以执行OTA应用程序更新.

因为并不是所有的引导加载程序都包含OTA更新功能, 您的系统需要为您的特定需求进行编程和定制. 定义OTA更新用例是很重要的, 对功能进行编程,并验证目标固件可用于此类型的功能. 请参阅下面的文档选项卡,以获得一些用户指南的链接,这些指南将帮助您入门.

OTA Server Location


在OTA更新期间,图像通常从web服务器下载. 您可以使用各种协议,包括HTTP、FTP或MQTT. 安全HTTP (HTTPS)是目前最流行的OTA更新协议. 您还可以为您的设计选择服务器的位置.

而一些MCU供应商则选择开发自己的云服务器, 我们提供解决方案,以帮助您开发微软Azure应用程序, 谷歌云和亚马逊网络服务(AWS). 我们提供了几个评估包,以开发这些服务的应用程序,包括以下选项:

AVR-IOT WG Development Board

Part Number: AC164160

AVR-IoT WG开发板结合了一个强大的8位ATmega4808 MCU, ATECC608A CryptoAuthentication™安全元件IC和完全认证的ATWINC1510 Wi-Fi网络控制器, 哪个提供了最简单和有效的方式来连接您的嵌入式应用程序到谷歌的云物联网核心平台. 该板还包括一个车载调试器,不需要外部硬件来编程和调试MCU.

Wi-Fi Smart Device Enablement Kit

Part Number: AC164165

通过Wi-Fi Smart Device Enablement Kit,加速将Alexa语音控制添加到您现有的应用程序. 该套件允许您使用Alexa兼容的智能扬声器或Alexa应用程序来控制板的通用目的输入/输出(gpio)与您的应用程序接口, 询问传感器并改变LED的颜色.

PIC32 WFI32E Curiosity Board

Part Number: EV12F11A

PIC32 WFI32E Curiosity Board是一款简单易用的WFI32E01PC Wi-Fi MCU模块性能评估工具, 其中PIC32MZW1, 一个高度集成的物联网系统核心,支持智能Wi-Fi功能和一个高级MCU. 该板是一个功能齐全的开发平台,支持系统级原型设计和物联网云连接,并支持语音控制.

另一个流行的选择是在公司拥有的域中实现软件映像服务器. 这保证了公司能够保持对更新和系统可用性的控制. 而IP地址可以用来指向服务器的位置, 这需要更少的内存空间, 最好的选择是使用URL,以防服务器被移动到不同的IP地址.