[译文]专注物联网的Bootloader——MCUBoot,开源且安全!
前言原文链接:MCUBoot is an Open Source Secure Bootloader for IoT / MCUs。看到觉得很不错,特此翻译如下,水平有限,凑合着看。正文Bootloader(引导器)负责操作系统接手前完成硬件初始化。例如,U-Boot常被用在嵌入式系统中引导主操作系统如Linux或FreeBSD。同样,MCUBoot也是一个引导器,但是专注于物联网领域,特指运存和存储空间有限的MCU系统,它起源于Apache Mynewt OS开源RTOS操作系统,后来开发者决定剥离出来单独开发BootLoader,也就是MCUBoot。http://www.cnx-software.com/wp-content/uploads/2017/05/MCUboot-Flash-Layout-768x325.png[*]Slot 0 为主镜像,代码通常从此处运行
[*]Slot 1 为升级镜像
[*]需要升级时,BootLoader使用Scrarch交换slots (槽位)
[*]镜像追踪器会监控交换与升级状态
[*]【有点类似ESP8266的OTA升级】
MCUBoot设计运行在小体积低成本MCU系统上,其一般包括~512KB 闪存,~256KB运存,目前支持Zephyr OS和Mynewt OS,其他实时操作系统(RTOS)的支持也在考虑中。由于种种限制,MCUBoot目前仅实现必要的功能,包括闪存驱动,单线程和加密服务。与此同时,该项目旨在解决安全和区块固件升级问题。闪存被分成四个槽位(镜像分区),一个是BootLoader槽位,一个是主镜像槽位,一个是固件升级槽位,最后是Scratch槽位,它的作用是在需要升级时交换槽位。每个槽位末尾有一个镜像追踪器,用以指示槽位状态(交换|升级)。你可以从MCUBoot Github主页上找到源代码,同时 2017年在布达佩斯举办的Linaro Connect大会上的相关演讲可以提供更多细节。http://ww1.sinaimg.cn/large/90fd3da6gy1ffmegwv9mjj20jk0b1doi.jpg
好活动
页:
[1]