《UEFI内核导读》开源UDK UEFI BIOS开发实战

《UEFI内核导读》开源UDK UEFI BIOS开发实战固件 C 字营 版权所有

欢迎大家来到IT世界,在知识的湖畔探索吧!

固件C字营·版权所有

———————————————————————————————————————————

本文是《UEFI内核导读》其中一章,介绍基于开源UDK+FSP方案在Intel 10代酷睿Cometlake-U硬件平台上实现power on实战,以及介绍如何使用完全开源的UDK来实现对我们OEM的板子进行porting与debug方法。主要从几个方面进行介绍分别是:目标的硬件开发板、需要准备开发环境 、OEM porting及构建、烧录并测试、持续改进等主题。今天这一篇先介绍当前的进展情况。

A.图1是我们实验用的主板的简单框图,实验的是intel的第十代cometlake-u的CPU,搭配SODIMM的DDR4-2666内存,存储使用PCIE NVME的SSD,目前的进展来看CPU、DDR、EDP、HDMI、USB3.0、USB2.0、LPC、SMBUS、HDA等外设均能正常在windows10下正常工作。

B.图2是代码的目录结构,主要包括UDK、FSP、edk2-platforms/edk2-non-osi等模块,以及自己写的快速编译代码的脚本文件oembuild.sh/oemclean.sh,代码在linux环境下可以正常编译。

C.图3是编译完成后截取的部分编译日志文件,可以看到生成了多个FV,及最终的COMETLAKEURVP.fd文件。这个文件名是参考RVP的名字,可以修改成任何文件名。

D.图4是编译完成并把COMETLAKEURVP.fd与ME、ECmerge到一起后,用SF600烧录到目标板子上之后开机按键盘热键,打开的BIOS boot manger窗口,在这里我们可以选择不同的启动设备来启动系统。这里我们选择从U盘启动就可以给SSD安装操作系统。系统安装成功之后可以选择从硬盘启动到windows,当然我们也可以选择启动到内部的UEFI SHELL环境来进行debug或其他信息的查看。

E.图5是最新目标机器启动到windows之后输入msinfo命令查看的系统信息,我们可以在这里看到BIOS的版本是“Intel EDK”而不是传统的insyde或者AMI。

一.实验开发板

1.CPU:Intel Core I7-10710U (10代CometLake)

2.DDR:16GB 2Rx8 PC4-2666V-SE1-11

3.SSD:MZVLB256HAHQ

4.OS:Win10 1909 64bit (10.0.18363 build 18363 )

5.其他:键盘,鼠标,屏幕,显示器等

《UEFI内核导读》开源UDK UEFI BIOS开发实战

欢迎大家来到IT世界,在知识的湖畔探索吧!

《UEFI内核导读》图1

二.开发工具和实验环境:

1.Ubuntu

2.UDK/FSP/edk2-platforms/edk2-non-osi

3.nasm

4.ASL

A.Ubuntu 20.04 LTS (GNU/Linux 4.4.0-19041-Microsoft x86_64)

$root@DESKTOP-Cstyle:/usr/bin# cat /proc/version

Linux version 4.4.0-19041-Microsoft () (gcc version 5.4.0 (GCC) ) #488-Microsoft Mon Sep 01 13:43:00 PST 2020

B.acpica-unix2-.tar

$root@DESKTOP-Cstyle:/usr/bin# iasl -v

Intel ACPI Component Architecture ASL+ Optimizing Compiler/Disassembler version Copyright (c) 2000 – 2020 Intel Corporation

C.nasm-2.15.03.tar.bz2

$root@DESKTOP-Cstyle:~# nasm -v

NASM version 2.15.03 compiled on Aug 8 2020

D.UDK及FSP

从GitHub下载最新版本如下图:

《UEFI内核导读》开源UDK UEFI BIOS开发实战

《UEFI内核导读》图2

三.基于硬件设计UEFI BIOS Porting

1.参考Platform board的选择,这里我们选择“CometlakeURvp”

2.GPIO 设定

3.内存SPD设定

4.GOP设定

5.ME设定

6.其他UEFI代码porting

四.构建UEFI固件

1.切换到UDK根目录

2.执行oembuild.sh

3.切换到windows系统手动merge ME 与EC

4.使用SF600烧录BIN文件到目标机器

5.开机

《UEFI内核导读》开源UDK UEFI BIOS开发实战

《UEFI内核导读》图3

五.安装系统

1.选用32GB以上U盘制作windows安装镜像

2.开机按热键选择从U盘启动

3.安装系统

《UEFI内核导读》开源UDK UEFI BIOS开发实战

《UEFI内核导读》图4

六.安装驱动

1.正常启动到WIN10

2.查看BIOS版本(如图:INTEL EDK……)

3.安装驱动

4.确保所有外设可以正常使用

七.测试&解Debug

1.根据测试报告定位并解决各种Bug

2.与测试&EE&ME&Thermal等部门协助解决Bug直至达到出货标准

3.大规模出货

《UEFI内核导读》开源UDK UEFI BIOS开发实战

《UEFI内核导读》图5

八.持续改进,尽情期待……

固件C字营·武汉·编著

更多关于《UEFI内核导读》的详细内容,敬请关注微信公众号:固件C字营

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/111764.html

(0)
上一篇 1天前
下一篇 1天前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信