arduino和单片机的区别(Arduino基于MCUboot的安全引导加载程序)

arduino和单片机的区别?通俗的讲:arduino就是主要以以AVR单片机为核心控制器的单片机应用开发板。

Arduino MCUboot
本文共计690字,预计阅读2分钟

Arduino 发布了基于MCUBoot的新引导加载程序,以增加 Arduino 产品的功能范围和固件安全性,第一个版本针对 Arduino Pro 系列中基于 STM32H7 的Arduino PortentaNicla Vision板。

该版本侧重于基于 Arduino Mbed OS 的开发板,但 MCUboot 与操作系统无关,它还可以与ZephyrNuttxApache mynewt 一起使用。Arduino公司为了确保过渡很容易,在 Arduino 板上保留了现有的 OTA 固件升级过程。

Arduino MCUboot 亮点:

  • 签名和加密更新 – MCUboot 支持在升级时即时加密/解密图像。它还将在启动sketch 之前检查计算的签名是否与嵌入在固件中的签名匹配。
  • 确认或恢复更新 – 更新后,新的sketch 可以在运行时更新 flash 的内容,将自己标记为 OK。如果一切按预期工作,则更改将是永久性的,但如果sketch 无法确认正常工作,MCUboot 将执行恢复交换并尝试引导旧sketch 。
  • Sketch bootstrap – 如果在主插槽中未找到有效固件,MCUboot 将在辅助插槽中搜索有效固件,如果有则将其加载到主插槽中。
  • 重置恢复 – 如果在交换操作过程中发生重置,两个固件在闪存中可能不连续。MCUboot 通过使用固件尾部来确定固件部分在 flash 中的分布方式并重新启动交换,从而从这种情况中恢复。
  • 向后兼容默认的 Arduino 引导加载程序 – 如果签名和加密密钥没有与 MCUboot 一起存储在 flash 中,则跳过sketch 签名验证,并且可以引导任何有效的sketch 。
Portenta H7 板上的固件分区
Portenta H7 板上的固件分区

Arduino 在宣布新引导加载程序的博客文章中详细介绍了固件更新机制。基本上,有两个分区,其中 SLOT 0 代表包含当前应用程序固件的flash分区,而 SLOT 1 代表包含更新的应用程序固件的flash分区。还需要一个额外的flash区域“SCRATCH”来支持MCUboot 交换擦除算法。在 Portenta H7 板上,SLOT 0 分区位于内部flash中,而 SLOT 1 (update.bin) 和 SCRATCH (scratch.bin) 分区/文件将位于外部QSPI flash中。

您可以在Github 上找到代码和更多详细信息,尤其是为 Portenta H7、 Portenta H7 LitePortenta H7 Lite Connected或 Nicla Vision 板的所有者切换到 Arduino MCUboot 引导加载程序的分步说明(更新skech、加密密钥生成、固件签名等)。

来源

本文《arduino和单片机的区别(Arduino基于MCUboot的安全引导加载程序)》由网赚联盟( wangzhuan.org.cn )整理或原创,感谢您的阅读。

随机文章

SEO教程
友情链接交换
搜素引擎算法
网站内容优化
SEO小小课堂网
SEO教程
站长导航
搜素引擎算法

百度搜索“网赚联盟”即可找到本站,微信搜索“小小课堂网”关注小小课堂网公众号。网赚联盟( wangzhuan.org.cn )欢迎用户投稿,发布者:用户投稿,文章版权归作者所有,投稿文章不代表网赚联盟立场,中二少年发布为网赚联盟原创文章,转载请注明出处:https://wangzhuan.org.cn/554834.html