Coreboot研究分析交流报告--熊海泉PPT课件_第1页
Coreboot研究分析交流报告--熊海泉PPT课件_第2页
Coreboot研究分析交流报告--熊海泉PPT课件_第3页
Coreboot研究分析交流报告--熊海泉PPT课件_第4页
Coreboot研究分析交流报告--熊海泉PPT课件_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2020 4 14 CorebootBIOS基本原理分析报告 1 CorebootBIOS基本原理分析报告 熊海泉xionghaiquan 2020 4 14 CorebootBIOS基本原理分析报告 2 主要内容 项目背景基于x86架构的计算机系统基本构成与工作原理什么是Firmware 为什么需要Firmware Coreboot功能目标Coreboot整体架构Coreboot启动总体流程CorebootPayload类型基于Qemu模拟器主板CorebootDemo演示分析总结及下一步工作参考资源 2020 4 14 CorebootBIOS基本原理分析报告 3 项目背景 整体说明 为了验证Gonson T3单核处理器正确性以便顺利流片 必需根据实际情况选择与自制合适的南桥 北桥 如AMD的RS780E SB710 等相关芯片组 单独设计定制相应的验证主板 将Gonson T3处理器 内存 I O等各组成部件连接起来 实现一个类似基于x86PC系统的硬件验证平台 2020 4 14 CorebootBIOS基本原理分析报告 4 项目背景 核心工作 我们工作任务主要涉及的部分 2020 4 14 CorebootBIOS基本原理分析报告 5 项目背景 CorebootBIOS主要任务及目前进展情况 差不多阶段性完成 五月中旬 六月初 在完成前面任务的基础上开始进行 2020 4 14 CorebootBIOS基本原理分析报告 6 基于x86架构的计算机系统基本构成与工作原理 冯 诺依曼理论计算机模型现实中的冯 诺依曼计算机 基于x86架构PC系统 2020 4 14 CorebootBIOS基本原理分析报告 7 冯 诺依曼计算机系统工作模型 运算器 控制器 存储器 输入设备 输出设备 CPU 控制指令 控制指令 取数据 存数据 这里系统正常工作的假设是CPU与内存之间 CPU与I O之间以及I O与内存之间的各种信息通路都是毫无障碍的 2020 4 14 CorebootBIOS基本原理分析报告 8 现实中的冯 诺依曼计算机 CPU与内存之间的通路是否开机就建立好了 CPU与I O设备是否直接相连并可直接访问 I O设备与内存之间如何通信 I O设备有什么机制通知CPU 2020 4 14 CorebootBIOS基本原理分析报告 9 现实中的冯 诺依曼计算机 X86PC系统 CPU处理器 I O输入输出设备 内存系统 2020 4 14 CorebootBIOS基本原理分析报告 10 X86PC系统刚加电时的状态 CPU可以直接存取的Rom芯片上的程序 CPU不能访问DRAM存储器 它们需要在对内存进行初始化之后才可以 CPU可以访问一些固定的I O端口 如PCI配置数据及地址寄存器0 xCF8或0 xCFC等 10 对于大部分的PCI设备以及I O设备的中断路由等加电时都没有处于合适的工作状态 2020 4 14 CorebootBIOS基本原理分析报告 11 X86PC系统正常运转期望的状态 2020 4 14 CorebootBIOS基本原理分析报告 12 如何使x86PC系统进入可工作状态 Firmware程序 如Coreboot 2020 4 14 CorebootBIOS基本原理分析报告 13 计算机系统的固件程序 FirmwareBIOS固件程序在实际的冯 诺依曼结构的计算机系统中 加电之时硬件很难直接就进入预期的可工作的状态 需要有一个初始化的过程 逐步将其带入到预期的可工作状态 这种程序我们称之为系统固件程序它是写在EPROM或EEPROM 可编程只读存储器 中的程序软件 负责对整个系统设备的检测 资源配置并根据硬件规范说明使得相应的设备能够进入到一个可工作的状态 进而再在其上启动运行像操作系统这样的系统软件 2020 4 14 CorebootBIOS基本原理分析报告 14 固件程序实现基础 开机基本通路硬件固连的可以直接存取的ROM芯片通路一些固连的输入输出I O端口 如一些标准的I O地址以及PCI配置地址及数据寄存器端口等 PCI配置机制 具体可以参考Linux内核代码实现 PCI接口卡规范初始化检测并统筹分配I O MMIO等系统资源 2020 4 14 CorebootBIOS基本原理分析报告 15 Firmware类型 基于x86架构Firmware类型 传统BIOS UEFIBIOS Coreboot SeaBIOS 传统BIOSUEFIBIOSCorebootSeaBIOS 嵌入式系统Firmware类型 PMON U Boot PMONU Boot 2020 4 14 CorebootBIOS基本原理分析报告 16 Coreboot功能目标 建立CPU与内存之间存取交互通路建立CPU与I O之间存取交互通路初始化各种硬件设备到其相应可工作状态加载Payload 如SeaBIOS 或操作系统 必须与Coreboot一起压入到ROM芯片中 2020 4 14 CorebootBIOS基本原理分析报告 17 Coreboot整体架构 Bootblock Payload Ramstage Romstage 2020 4 14 CorebootBIOS基本原理分析报告 18 Coreboot启动总体流程 切换到保护模式并查找Romstage代码将控制权交给Romstage 系统硬件检测及地址空间配置 系统硬件资源配置及初始化 负载程序加载运行 可以是Bootloader或操作系统等 2020 4 14 CorebootBIOS基本原理分析报告 19 第一阶段bootblock阶段 功能概述系统加电复位之后 CPU程序指针0 xFFFFFFF0由硬件直接映射到BIOSROM芯片 此处是一跳转指令 指向16位的入口地址 在设置保护模式需要使用的gdt表之后 设置cr0寄存器相关位使系统进入保护模式 最后通过walkcbfs函数查找CorebootBIOS芯片中的romstage并开始执行 将控制器转交给romstage 2020 4 14 CorebootBIOS基本原理分析报告 20 第一阶段bootblock阶段 2020 4 14 CorebootBIOS基本原理分析报告 21 第二阶段romstage阶段 功能概述开启初始化使能Cache as RAM 开始没有DRAM可用 初始化串口调试输出 比较重要 早期调试时的信息输出 检测系统各种设备并对它们进行地址等属性配置初始化内存控制器 使得CPU能够访问到内存 加载运行ramstage 2020 4 14 CorebootBIOS基本原理分析报告 22 第二阶段romstage阶段 切换到保护模式并查找Romstage代码将控制权交给Romstage 在系统内存未能访问前初始化处理器的Cache 使它安暂时代替DRAM的功能 加载执行Payload 2020 4 14 CorebootBIOS基本原理分析报告 23 第三阶段ramstage阶段 功能概述为I O设备分配MMIO及I O地址空间 同时打通CPU与它们之间的存取通路将系统信息存入内存数据结构当中供系统软件如操作系统之用加载运行Payload 2020 4 14 CorebootBIOS基本原理分析报告 24 第三阶段ramstage阶段 2020 4 14 CorebootBIOS基本原理分析报告 25 第四阶段payload阶段 切换到保护模式并查找Romstage代码将控制权交给Romstage 将小容量内容直接压入到系统固件中去 游戏程序 其它简单的实用程序及系统检测工具 定制编写的程序 2020 4 14 CorebootBIOS基本原理分析报告 26 基于Qemu模拟器主板CorebootDemo实验演示 演示系统基本构成基于Qemu模拟器主板的Coreboot固件程序的构建基于Linux内核源码可以启动运行LiveCD的制作系统运行方法运行实例演示 2020 4 14 CorebootBIOS基本原理分析报告 27 演示系统基本构成 2020 4 14 CorebootBIOS基本原理分析报告 28 Qemu模拟器的CorebootBIOS固件程序构建 2020 4 14 CorebootBIOS基本原理分析报告 29 基于源码Linux内核的LiveCD制作 2020 4 14 CorebootBIOS基本原理分析报告 30 演示系统运行方法 qemu system x86 64 cdromsoftware ttylinux iso bootd 2020 4 14 CorebootBIOS基本原理分析报告 31 Demo 1 2020 4 14 CorebootBIOS基本原理分析报告 32 Demo 2 2020 4 14 CorebootBIOS基本原理分析报告 33 Demo 3 2020 4 14 CorebootBIOS基本原理分析报告 34 Demo 4 2020 4 14 CorebootBIOS基本原理分析报告 35 Demo 5 2020 4 14 CorebootBIOS基本原理分析报告 36 Demo 6 2020 4 14 CorebootBIOS基本原理分析报告 37 Demo 7 2020 4 14 CorebootBIOS基本原理分析报告 38 Demo 8 2020 4 14 CorebootBIOS基本原理分析报告 39 Demo 9 2020 4 14 CorebootBIOS基本原理分析报告 40 基于Coreboot的操作系统启动流程 硬件已经初始化到CPU可以通过I O端口访问各类设备 存储器也可以使用 模拟实现了传统BIOS的软件接口服务机制 LegacyOS可以通过其开始启动运行 2020 4 14 CorebootBIOS基本原理分析报告 41 分析总结及下一步工作思路 分析总结整体性地理解了Coreboot的基本工作原理将来移植工作主要集中在芯片技术资料研读及系统软件的调试在硬件环境暂时不具备情况下是否可以考虑在Bochs模拟器作为Coreboot移植的练手 下一步工作SeaBIOS实现机理分析基于Coreboot的验证平台BIOS移植方案基于Coreboot的验证平台BIOS具体代码移植及运行调试 2020 4 14 CorebootBIOS基本原理分析报告 42 参考资源 工作积累文档 Coreboot工作原理与技术实现研究报告 Coreboot二进制文件格式及工具CBFS参考指南 Coreboot开发环境搭建及实例指南 验证平台相关芯片技术资料手册使用说明 Coreboot实用工具使用说明 芯片技术手册IntelI OControllerHub7 ICH7 FamilyMobileIntel945ExpressChipsetFamilyAMDSB700SB710SB750BIOSDeveloper sGuideBIOSandKernelDeveloper sGuideforAMDNPTFamily10hProcessors 2020 4 14 Cor

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论