奇笛网 | 关注智能家居落地 奇笛网 | 关注智能家居落地

SlimBootloader:专为物联网应用量身定制

发布于 2018/11/07-21:31 标签: / /

由于物联网设备存储空间有限,成本要求严苛,因此Bootloader需要满足占用空间小、功能安全、极速启动等需求。英特尔Slim Bootloader 就是专为物联网应用案例量身定制,是一款开源的启动固件解决方案,当系统上电时负责初始化系统的核心硬件组件,然后加载和启动所需要的操作系统。
从构建之初,Slim Bootloader就考虑了安全性、轻量级和高度优化,可以利用EDK II框架中的强大工具和库,可以根据系统的特殊需求进行隔离、配置和优化,从而达到优异的启动性能,并最大限度地减少固件所占用的空间。同时具有模块化、可扩展设计的优点,根据源版本实现产品质量参考,BSD许可证开源,实际产品可能会根据不同的许可证发布。

Intel物联网部门 Bootloader 的架构原则是通过简单灵活的架构实现快速广泛的采用,并利用内部和外部开发社区,以安全为基础进行设计和开发。

在设计中,Slim Bootloader具有几大优势:

第一,   简单快速,线性执行流程实现可预测性,通过FSP API将复杂的芯片初始化代码进行抽象,包括TempRamInit, FspMemoryInit, FspTempRamExit, FspSiliconInit, NotifyPhase;
第二,   具有灵活性,将初始化代码分成具有标准化接口的模块化阶段:– Stage1A (SRAM/Flash) => Stage1B (Flash/CAR) => Stage2 (MEM),且不同的Payload用于引导不同的OS或应用程序;
第三,   可移植性,核心代码高度模块化,通过提供不同的静态库,不同的开发板/芯片可以用过hook函数实现平台相关的初始化;配置(内置或外置)支持多种开发板;
第四,   利用经过验证的代码,FSP二进制文件,以及已被验证的BIOS中的平台库(例如:GPIO init);
第五,   编译框架,支持多种OS(Windows 和 Linux)和多种工具链;
第六,   安全性,通过Intel®BootGuard实现基于硬件的启动完整性保护的安全启动,支持verified boot和Measured boot。

下面针对初始化阶段和启动阶段分别讲述Slim Bootloader的优势。
初始化阶段

如图所示,启动阶段包括第1A阶段、第1B阶段、第2阶段、有效负载阶段。在第1A阶段,通过汇编代码重置矢量阶段,进行基本初始化,包括设置临时存储器、调试输出;在第1B阶段,进行内存初始化,加载配置数据;在第2阶段,进行PostMemory,芯片初始化、ACPI,PCI枚举等;OsLoader / FWU 有效负载包括操作系统启动逻辑和媒体驱动程序。

Slim Bootloader可以利用EDK2构建基础架构,支持Windows和Linux环境,支持多种平台,支持多个目标(D / R);必备工具包括VisualStudio(Windows)、GCC工具链(Linux)、NAMM、Python、iASL、OpenSSL;由pythonBuildLoader.py构建qemu,图片存放于Slimbootloader.bin中。

另外,Payload提供灵活的基础架构来扩展功能,英特尔SlimBootloader执行基础硬件初始化;有效负载执行特定的加载/引导。可以看出,Payload是一个模块化组件,能够轻松更改默认有效负载,有效负载可以高度定制,以提供所需的确切功能;Payload可以是通用引导加载程序或特殊用途的特殊应用程序。
更多详细内容,可以参照以下资料:
Slim Bootloader :https://intel.com/sbl
Slim Bootloader Repo :https://github.com/slimbootloader
Intel® FSP :https://intel.com/fsp
ACRN :https://projectacrn.org
分享(

发表评论

奇笛网 | 关注智能家居落地

此文需注册才能阅读X

笛文共欣赏,疑义相与析

现在注册登录 或 使用社交帐户快速登入: QQ登录 新浪微博登录 腾讯微博登录

返回顶部 最酷视频
扫二维码
扫二维码

X

无须注册,直接使用社交帐号登录

忘记密码,找回

Loading 登录中...

没有帐号,注册

已有帐号,登录

Loading 注册中...

已有帐号,登录

发送中...