21天 Intel CPU BIOS 学习专栏第三天(3)--开发环境搭建

目录

21天 Intel CPU BIOS 学习专栏

第3天:开发环境搭建

开发环境搭建

1. 安装和配置EDK II

1.1 克隆EDK II仓库

1.2 安装依赖工具

1.3 配置环境变量

2. 初始化EDK II

3. 编译和测试一个简单的BIOS模块

作业

明天的任务


21天 Intel CPU BIOS 学习专栏

第3天:开发环境搭建

开发环境搭建

今天我们将详细讲解如何搭建一个完整的BIOS开发环境。这包括安装和配置EDK II、设置环境变量、初始化EDK II等步骤。通过今天的课程,你将能够在一个干净的环境中开始编写和测试BIOS模块。

1. 安装和配置EDK II

EDK II(EFI Development Kit II)是一个开源的固件开发框架,广泛用于UEFI BIOS的开发。以下是详细的安装和配置步骤:

1.1 克隆EDK II仓库
  1. 安装Git

  2. 克隆EDK II仓库

    • 打开命令提示符或终端。
    • 运行以下命令克隆EDK II仓库:
       sh 

      深色版本

      git clone https://github.com/tianocore/edk2.git
  3. 初始化子模块

    • 进入克隆的目录:
       sh 

      深色版本

      cd edk2
    • 初始化子模块:
       sh 

      深色版本

      git submodule update --init --recursive
1.2 安装依赖工具
  1. 安装Python

    • 访问 Python 官方网站
    • 下载并安装Python 3.x版本。
    • 确保在安装过程中勾选“Add Python to PATH”选项。
  2. 安装Visual Studio

    • 访问 Visual Studio 官方网站
    • 下载适用于Windows的Visual Studio Community版(免费版)。
    • 在安装向导中选择“自定义安装”。
    • 选择以下组件:
      • .NET桌面开发
      • 桌面开发用C++
      • Python开发(可选)
  3. 安装NASM

    • 访问 NASM 官方网站
    • 下载并安装NASM。
    • 将NASM的安装路径添加到系统的PATH环境变量中。
1.3 配置环境变量

为了确保开发环境的正确配置,我们需要设置一些环境变量和路径。

  1. 设置环境变量

    • 打开“系统属性”对话框。
    • 点击“高级系统设置”。
    • 点击“环境变量”。
    • 在“系统变量”部分,点击“新建”,添加以下变量:
      • EDK_TOOLS_PATH:指向EDK II工具目录,例如 C:\edk2\BaseTools
      • PYTHON_HOME:指向Python安装目录,例如 C:\Python39
    • 修改 Path 变量,添加以下路径:
      • %EDK_TOOLS_PATH%\Source\C/bin
      • %PYTHON_HOME%
  2. 验证配置

    • 打开命令提示符或终端。
    • 运行以下命令验证配置是否成功:
       sh 

      深色版本

      echo %EDK_TOOLS_PATH%
      echo %PYTHON_HOME%
2. 初始化EDK II

初始化EDK II是确保所有必要的工具和脚本都已正确设置的重要步骤。

  1. 生成BaseTools

    • 打开命令提示符或终端。
    • 导航到 edk2 目录。
    • 运行以下命令生成BaseTools:
       sh 

      深色版本

      build -j $(nproc) -p BaseTools\Source\C\Makefile
  2. 设置工作环境

    • 在 edk2 目录下,创建一个 Conf 目录。
    • 复制模板文件到 Conf 目录:
       sh 

      深色版本

      copy Conf\tools_def.template Conf\tools.def
      copy Conf\target.template Conf\target.txt
      copy Conf\build_rules.template Conf\build_rules.txt
  3. 编辑配置文件

    • 打开 Conf\tools.def 文件,确保 PYTHON_COMMAND 和其他路径设置正确。
    • 打开 Conf\target.txt 文件,设置目标平台和构建类型,例如:
       sh 

      深色版本

      ACTIVE_PLATFORM       = MdeModulePkg/MdeModulePkg.dsc
      TOOL_CHAIN_TAG        = VS2019x86
      TARGET                = DEBUG
      BUILD_NUMBER          = 0
      TOOL_CHAIN_CONF       = Conf/tools.conf
3. 编译和测试一个简单的BIOS模块

让我们编写并编译一个简单的BIOS模块,以确保开发环境配置正确。

  1. 创建项目目录

    • 在 edk2 目录下创建一个新的目录,例如 MyFirstModule
    • 在 MyFirstModule 目录下创建 MyFirstModule.inf 文件,内容如下:
       ini 

      深色版本

      [Defines]
      INF_VERSION                    = 0x00010005
      BASE_NAME                      = MyFirstModule
      FILE_GUID                      = 12345678-1234-1234-1234-1234567890AB
      MODULE_TYPE                    = UEFI_DRIVER
      VERSION_STRING                 = 1.0
      UNIVERSAL                      = TRUE
      PROCESSOR                      = IA32 X64
      
      [Sources]
      MyFirstModule.c
      
      [Packages]
      MdePkg/MdePkg.dec
      MdeModulePkg/MdeModulePkg.dec
      
      [LibraryClasses]
      UefiLib
      UefiDriverEntryPoint
      
      [Protocols]
      gEfiShellProtocolGuid
      
      [FeaturePcd]
      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F
  2. 编写模块代码

    • 在 MyFirstModule 目录下创建 MyFirstModule.c 文件,内容如下:
       c 

      深色版本

      #include <Uefi.h>
      #include <Library/UefiLib.h>
      #include <Library/UefiApplicationEntryPoints.h>
      
      EFI_STATUS
      EFIAPI
      UefiMain (
        IN EFI_HANDLE        ImageHandle,
        IN EFI_SYSTEM_TABLE  *SystemTable
        )
      {
        Print(L"Hello, World!\n");
        return EFI_SUCCESS;
      }
  3. 编译模块

    • 打开命令提示符或终端。
    • 导航到 edk2 目录。
    • 运行以下命令编译模块:
       sh 

      深色版本

      build -p MyFirstModule/MyFirstModule.inf
  4. 运行模块

    • 编译成功后,你可以在 Build 目录下找到生成的 .efi 文件。
    • 使用QEMU或其他虚拟机工具运行生成的模块,验证其功能。例如,使用QEMU:
       sh 

      深色版本

      qemu-system-x86_64 -bios Build\OvmfPkg\X64\DEBUG_VS2019x86\FW\OVMF.fd -m 2G -hda mydisk.img -drive file=Build\MyFirstModule\DEBUG_VS2019x86\X64\MyFirstModule.efi,format=raw

作业

  1. 阅读材料

    • 阅读EDK II的官方文档,了解其架构和开发流程。
    • 阅读Visual Studio的官方文档,了解其常用功能和快捷键。
  2. 实践任务

    • 完成上述步骤,确保开发环境配置正确。
    • 编译并运行一个简单的BIOS模块,记录下遇到的问题和解决方法。

明天的任务

明天我们将继续深入开发环境的搭建,重点介绍如何编写和测试更复杂的BIOS模块。准备好迎接新的挑战吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值