---------------------------------------------------------------------------------------------------------------------------------
本文是《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内核导读》图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字营