Slim Bootloader:专为物联网应用量身定制
由于物联网设备存储空间有限,成本要求严苛,因此Bootloader需要满足占用空间小、功能安全、极速启动等需求。英特尔Slim Bootloader 就是专为物联网应用案例量身定制,是一款开源的启动固件解决方案,当系统上电时负责初始化系统的核心硬件组件,然后加载和启动所需要的操作系统。
从构建之初,SlimBootloader就考虑了安全性、轻量级和高度优化,可以利用EDKII框架中的强大工具和库,可以根据系统的特殊需求进行隔离、配置和优化,从而达到优异的启动性能,并最大限度地减少固件所占用的空间。同时具有模块化、可扩展设计的优点,根据源版本实现产品质量参考,BSD许可证开源,实际产品可能会根据不同的许可证发布。
Intel物联网部门Bootloader 的架构原则是通过简单灵活的架构实现快速广泛的采用,并利用内部和外部开发社区,以安全为基础进行设计和开发。
在设计中,SlimBootloader具有几大优势:
第一, 简单快速,线性执行流程实现可预测性,通过FSP API将复杂的芯片初始化代码进行抽象,包括TempRamInit, FspMemoryInit, FspTempRamExit, FspSiliconInit, NotifyPhase;
第二, 具有灵活性,将初始化代码分成具有标准化接口的模块化阶段:– Stage1A (SRAM/Flash) => Stage1B (Flash/CAR) => Stage2 (MEM),且不同的Payload用于引导不同的OS或应用程序;
第三, 可移植性,核心代码高度模块化,通过提供不同的静态库,不同的开发板/芯片可以用过hook函数实现平台相关的初始化;配置(内置或外置)支持多种开发板;
第四, 利用经过验证的代码,FSP二进制文件,以及已被验证的BIOS中的平台库(例如:GPIOinit);
第五, 编译框架,支持多种OS(Windows 和 Linux)和多种工具链;
第六, 安全性,通过Intel?BootGuard实现基于硬件的启动完整性保护的安全启动,支持verified boot和Measured boot。
下面针对初始化阶段和启动阶段分别讲述SlimBootloader的优势:
初始化阶段
高级架构
如上图所示,系统的初始化阶段,电路板和芯片初始化,包括资源分配,GPIO、ACPI等。Payload阶段包括通用媒介驱动、自定义功能、特定的OS加载协议等。其中*OS loader是默认Payload,也支持使用其他的payload。
启动阶段
启动阶段
如图所示,启动阶段包括第1A阶段、第1B阶段、第2阶段、有效负载阶段。在第1A阶段,通过汇编代码重置矢量阶段,进行基本初始化,包括设置临时存储器、调试输出;在第1B阶段,进行内存初始化,加载配置数据;在第2阶段,进行PostMemory,芯片初始化、ACPI,PCI枚举等;OsLoader / FWU 有效负载包括操作系统启动逻辑和媒体驱动程序。
SlimBootloader可以利用EDK2构建基础架构,支持Windows和Linux环境,支持多种平台,支持多个目标(D / R);必备工具包括VisualStudio(Windows)、GCC工具链(Linux)、NAMM、Python、iASL、OpenSSL;由pythonBuildLoader.py构建qemu,图片存放于Slimbootloader.bin中。
另外,Payload提供灵活的基础架构来扩展功能,英特尔SlimBootloader执行基础硬件初始化;有效负载执行特定的加载/引导。可以看出,Payload是一个模块化组件,能够轻松更改默认有效负载,有效负载可以高度定制,以提供所需的确切功能;Payload可以是通用引导加载程序或特殊用途的特殊应用程序。

图片新闻
技术文库
最新活动更多
-
即日-3.21立即报名 >> 【深圳 IEAE】2025 消费新场景创新与实践论坛
-
3月27日立即报名>> 【工程师系列】汽车电子技术在线大会
-
4日10日立即报名>> OFweek 2025(第十四届)中国机器人产业大会
-
7.30-8.1火热报名中>> 全数会2025(第六届)机器人及智能工厂展
-
精彩回顾立即查看>> 【免费试用】东集技术年终福利——免费试用活动
-
精彩回顾立即查看>> Ansys Motion薄膜卷曲卷对卷工艺仿真解决方案
推荐专题
-
10 菜鸟不单飞
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论