首页 » 软件开发 » 《UEFI内核导读》开源UDK UEFI BIOS开发实战(内核导读开源固件实战)

《UEFI内核导读》开源UDK UEFI BIOS开发实战(内核导读开源固件实战)

admin 2024-07-24 00:04:15 0

扫一扫用手机浏览

文章目录 [+]

---------------------------------------------------------------------------------------------------------------------------------

本文是《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下正常工作。

《UEFI内核导读》开源UDK UEFI BIOS开发实战(内核导读开源固件实战) 软件开发
(图片来自网络侵删)

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内核导读》图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 (Microsoft@Microsoft.com) (gcc version 5.4.0 (GCC) ) #488-Microsoft Mon Sep 01 13:43:00 PST 2020

B.acpica-unix2-20200717.tar

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

Intel ACPI Component Architecture ASL+ Optimizing Compiler/Disassembler version 20200717 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内核导读》图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内核导读》图3

五.安装系统

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

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

3.安装系统

《UEFI内核导读》图4

六.安装驱动

1.正常启动到WIN10

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

3.安装驱动

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

七.测试&解Debug

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

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

3.大规模出货

《UEFI内核导读》图5

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

固件C字营·武汉·编著

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

标签:

相关文章

语言中的借用,文化交融的桥梁

自古以来,人类社会的交流与发展离不开语言的传播。在漫长的历史长河中,各民族、各地区之间的文化相互碰撞、交融,产生了许多独特的语言现...

软件开发 2025-01-01 阅读1 评论0

机顶盒协议,守护数字生活的新卫士

随着科技的飞速发展,数字家庭逐渐走进千家万户。在这个时代,机顶盒成为了连接我们与丰富多彩的数字世界的重要桥梁。而机顶盒协议,作为保...

软件开发 2025-01-01 阅读1 评论0

语言基础在现代社会的重要性及方法步骤

语言是人类沟通的桥梁,是社会发展的基础。语言基础作为语言学习的基石,对于个人、社会乃至国家的发展具有重要意义。本文将从语言基础在现...

软件开发 2025-01-01 阅读2 评论0

粤语电影,传承文化,点亮时代之光

粤语电影,作为中国电影产业的一朵奇葩,以其独特的地域特色、丰富的文化内涵和鲜明的艺术风格,赢得了广大观众的喜爱。本文将从粤语电影的...

软件开发 2025-01-01 阅读3 评论0

苹果游戏语言,塑造未来娱乐体验的基石

随着科技的飞速发展,游戏产业逐渐成为全球娱乐市场的重要支柱。在我国,游戏产业更是蓬勃发展,吸引了无数玩家和投资者的目光。而在这其中...

软件开发 2025-01-01 阅读1 评论0