开源技术吧 关注:15贴子:44
  • 2回复贴,共1

STM32L475+STM32F429+AT32UC3A3:使用微控制器的DFU模式在现场更

只看楼主收藏回复

几乎每个嵌入式系统都需要能够在现场更新固件,以添加新功能或修复错误。但是,由于开发人员必须对自己的引导加载程序进行编程,或从第三方组件供应商处获得引导加载程序,因此固件字段更新可能具有挑战性。
有一个更简单的路线。本文将介绍如何使用内置于许多微控制器中的器件固件更新(DFU)功能,但这种功能经常被忽略。


1楼2018-01-25 14:48回复
    固件更新选项
    从头开发引导程序并不是一件容易的事情。开发人员需要解析出自己的Flash空间,以便多个应用程序可以共存。然后,他们需要开发一些方法将编译后的二进制数据传输到微控制器上,而无需使用编程工具。这要求他们要么开发他们的通信协议,要么通过增加外部存储器来存储新图像来增加他们的系统复杂性。他们也可以增加他们在微控制器上的内存容量。
    此外,软件本身可能变得复杂,因为引导加载程序需要设置系统状态并确定是否安全地跳转到应用程序代码。
    使用自定义引导加载程序可以为开发人员提供其应用程序非常需要的灵活性,但有一个固件更新标准,可以在许多不需要开发人员工作的应用程序中工作:USB标准的内置设备固件更新(DFU)类。这可以用来通过USB端口在现场更新微控制器的应用程序代码,这可以大大减少固件更新过程和开发周期。
    DFU已经变得如此普遍,以至于意法半导体等一些微控制器供应商甚至包括执行硬编码到ROM中的更新所需的软件,通常提供的示例代码如何支持DFU。


    2楼2018-01-25 14:49
    回复
      2025-08-04 21:14:27
      广告
      不感兴趣
      开通SVIP免广告
      思享国for开源硬件


      4楼2018-01-25 15:08
      回复