Iot 引导加载程序代码stm32控制器

Iot 引导加载程序代码stm32控制器,iot,stm32,bootloader,firmware,ota,Iot,Stm32,Bootloader,Firmware,Ota,我正在尝试为STM32(L4系列)控制器作为物联网应用程序开发无线固件(FOTA)。在下面的主题/章节中,我有点困惑它是如何工作的: 如何构建引导加载程序并将其加载到控制器中 如何下载新固件代码(从空中传送,即更新的固件) 以及如何识别较新和较旧版本的代码 我正准备这么做,但似乎你才刚刚开始 获取控制器的引导加载程序代码,您将需要它来自定义代码 您的固件(旧)将下载新固件,将其复制到非活动区域,并设置标志,然后执行软件重置 重置后,引导加载程序将检查标志,如果设置,它将复制 从非活动区域到活动区

我正在尝试为STM32(L4系列)控制器作为物联网应用程序开发无线固件(FOTA)。在下面的主题/章节中,我有点困惑它是如何工作的:

  • 如何构建引导加载程序并将其加载到控制器中
  • 如何下载新固件代码(从空中传送,即更新的固件)
  • 以及如何识别较新和较旧版本的代码
    我正准备这么做,但似乎你才刚刚开始 获取控制器的引导加载程序代码,您将需要它来自定义代码

  • 您的固件(旧)将下载新固件,将其复制到非活动区域,并设置标志,然后执行软件重置
  • 重置后,引导加载程序将检查标志,如果设置,它将复制 从非活动区域到活动区域的新固件。所以新的固件是 现在活动

  • 旧固件将下载新固件的原因是我们希望尽可能减少引导加载程序代码。因此,应用程序可能通过CRC检查来处理新固件。要升级固件OTA,您需要验证新固件是否100%正确,否则一个位错误可能会导致严重问题

    官方网站上有许多应用说明,其中包含有用的信息

    请跟随他们来获取主要观点

    STM32引导加载程序中使用的AN3156-USB DFU协议

    STM32引导加载程序中使用的AN3155-USART协议

    AN4872-BlueNRG-1和BlueNRG-2 UART引导程序协议


    AN2606-STM32微控制器系统内存启动模式

    这个主题太宽泛了。如果你不得不问所有这些一般性的问题,我认为你现在完成这项任务还为时过早。您需要更多的经验。应用程序不应下载任何内容。错误我在FOTA上工作了一年多,发现用现有固件处理新固件是最佳实践。如果你有任何其他建议,请分享方法。嗨,穆罕默德,你是对的,我也会按照你的建议去做。我正在研制带有GSM模块的STM32L4控制器。我已经阅读了STM网站上关于引导加载程序和系统内存引导的应用说明。我还阅读了应用程序编程(IAP),其中包含固件版本检查和下载的代码,以及在闪存中加载新固件的引导内存设置。先生,如果您有这些的示例代码,请与我分享。这与问题没有任何共同之处。当您尝试编写自己的引导加载程序时,内置引导加载程序使用的协议将没有帮助。嘿,Bohdan,我已经阅读了上述文档。。。他们提到了无线固件更新的应用程序内编程(IAP),系统内存引导模式提到了使用引导引脚(BOOT0、nBOOT、BOOT1等)选择引导。所有这些都没问题。。。。。但在这里我需要知道如何设置URL链接&从URL下载.bin文件。在代码的哪一部分我必须设置url链接和所有。。。。请评论…..作为一个简单的解决方案,您可以使用这样的方法进行修改ESP将引导引脚设置为相应的模式(通过uart),并将发送二进制文件,您将粘贴到浏览器中。嗨Bohdan,感谢共享链接,但我已经观看了此视频。正如我提到的,我正在研究STM32L4 MCU,所以我特别关注STM32L4 MCU。如果您有任何其他与STM32L4 MCU有关的关于无线固件的有用链接,请与我分享,或者您有任何与此相关的编码或文档的想法,请与我分享。请评论……嘿,Bohdan,你对分别用于检查和下载较新版本和固件的应用程序内编程(IAP)有什么想法吗