UEFI: 模块和包概述

news2024/12/24 20:35:11

UEFI规范中有两个最重要的概念:模块(Module)和包(Package)。

模块 Module

UEFI上最小的可单独编译的代码单元,或者是预编译的二进制文件比如efi执行文件。

包 Package

由模块、平台描述文件(DSC)和包声明文件(DEC)组成。可以包含模块,也可以不包含。例如前面用来做实验的MdeModulePkg和EmulatorPkg。

如果把包和Vistual Studio的工程相比,DSC相当于sln文件,描述多个project的信息;INF文件类似于某个project的proj文件,描述工程本身的信息,比如用到的库、源码位置等信息。

常见模块类型:

UEFI_DRIVER, UEFI_APPLICATION, PEI_CORE, PEIM, DXE_CORE, DXE_DRIVER等。对于非BIOS工程师来说,由于没有真实环境,所以涉及的是UEFI_APPLICATION和UEFI_DRIVER这两个。

关于UEFI_APPLICATION的补充:由三个类型:

1. UefiMain入口

可运行于DXE阶段和UEFI Shell环境

2. ShellAppMain入口

可运行于UEFI Shell环境

3. main入口

可以运行于UEFI Shell环境,它是用C标准库StdLib写的

参考:《UEFI编程实践》 罗冰

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/860051.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Leecode长度最小的子数组_209

209.长度最小的子数组 题目建议: 本题关键在于理解滑动窗口,这个滑动窗口看文字讲解 还挺难理解的,建议大家先看视频讲解。 拓展题目可以先不做。 题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成…

exchange partition global index

EXCHANGE PARTITION with a Table having a UNIQUE INDEX and PK Constraint. (Doc ID 1620636.1)​编辑To Bottom In this Document Symptoms Changes Cause Solution References APPLIES TO: Oracle Database - Enterprise Edition - Version 11.2.0.3 and later Oracle Da…

day16:static、final、常量、抽象类

一、static 静态变量能否继承? 静态变量属于类,是共享的资源,不认为是被继承的 静态变量不可以定义在静态方法中, 静态方法中先于对象存在, 不能使用 this super 静态方法中可以直接调用静态方法。 静态方法不能直…

MySQL中基础查询语句

用户表user数据如下: iddevice_idgenderageuniversityprovince12138male21北京大学Beijing23214male复旦大学Shanghai36543famale20北京大学Deijing42315female 23 浙江大学ZheJiang55432male25山东大学Shandong 1,写出ddl语句创建如上表,…

idea更改背景-给idea设置个性化背景

一,具体操作 按两次键盘Shift,打开快速查找/搜索功能 输入setb 选择Set Backgrounf Image 选择本地图片 二,推荐图片网站 Awesome Wallpapers - wallhaven.cc 该网站拥有大量免费高清图片可以白嫖

国内10大云服务器厂商,你用过几个?

国内排名前10的云服务器厂商如下: 1、阿里云。阿里云是国内最大的云计算服务商之一,其云服务器产品具有高可用性、高扩展性和高安全性等优势,深受广大用户的青睐。 2、腾讯云。腾讯云是国内领先的云计算服务商之一,其云服务器产品…

腾讯云轻量应用服务器端口打开方法

腾讯云轻量应用服务器端口放行在哪设置?在防火墙中可以开启端口号,腾讯云轻量应用服务器端口怎么开通?在轻量服务器管理控制台的防火墙中开启端口,如果是CVM云服务器在安全组中开通,腾讯云服务器网以轻量应用服务器开通…

C++——命名空间、输入、输出

在我们接触C之前,C语言中有时候会有使用全局变量,全局变量在使用过程中可能会发生冲突,这个冲突有时会是我们与库之间的冲突,有时又会是我们自己定义的之间的冲突,那么这时候命名空间的出现将很好的解决这个问题&#…

美国访问学者签证怎么样申请成功率高?

近年来,越来越多的人选择申请美国访问学者签证,以便在美国深造、交流学术知识以及拓展国际视野。那么,如何提高申请美国访问学者签证的成功率呢?以下是知识人网小编整理的一些成功申请的建议供您参考。 1.提前准备:提交…

Vue--》打造个性化医疗服务的医院预约系统(五)

今天开始使用 vue3 + ts 搭建一个医院预约系统的前台页面,因为文章会将项目的每一个地方代码的书写都会讲解到,所以本项目会分成好几篇文章进行讲解,我会在最后一篇文章中会将项目代码开源到我的GithHub上,大家可以自行去进行下载运行,希望本文章对有帮助的朋友们能多多关…

Javascript进阶[面向对象编程]

作者:20岁爱吃必胜客(坤制作人),近十年开发经验, 跨域学习者,目前于海外某世界知名高校就读计算机相关专业。荣誉:阿里云博客专家认证、腾讯开发者社区优质创作者,在CTF省赛校赛多次取得好成绩。…

【MySQL】MySQL 数据类型

目录 1. tinyint 类型 2. bit 类型 3. 小数类型 1、float 类型 2、decimal 类型 3. 字符串类型 1、char 类型 2、varchar 类型 4. 日期类型 5. enum和set 1、枚举和集合类型语法 2、枚举和集合类型的查找 6、find_in_set 函数 写在最后: 1. tinyint …

关于Java反射

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 要想解…

MyBatis Plus-个人笔记

前言 学习视频 尚硅谷-Mybatis-Plus教程学习主要内容 本文章记录尚硅谷-Mybatis-Plus教程内容,只是作为自己学习笔记,如有侵扰请联系删除 一、MyBatis-Plus简介 1、简介 MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具&#…

BGP基础实验建邻+宣告实验

实验题目如下: 实验拓扑如下: 实验要求如下: 【1】除R5的5.5.5.0环回外,其他所有的环回均可互相访问 实验思路如下: (1)合理的IP配置 (2)合理的BGP配置 (…

监控Kubernetes Node组件的关键指标

所有的 Kubernetes 组件,都提供了 /metrics 接口用来暴露监控数据,Kube-Proxy 也不例外。通过 ss 或者 netstat 命令可以看到 Kube-Proxy 监听的端口,一个是 10249,用来暴露监控指标,一个是 10256 ,作为…

【IC萌新虚拟项目】代码覆盖率收集与反馈

关于整个虚拟项目,请参考: 【IC萌新虚拟项目】Package Process Unit项目全流程目录_尼德兰的喵的博客-CSDN博客 前言 实际参与过项目的同学一定对质量活动这四个字深恶痛绝,项目进入质量活动阶段时,意味着RTL的时序和面积功耗等主…

【算法训练营】队列 合集(1)

📍前言 本篇将学习queue的OJ题并学习queue的基础知识。 🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇码字不易&a…

Linux Day07

一、僵死进程 1.1僵死进程产生的原因 子进程先于父进程结束, 而父进程没有获取子进程退出码,释放子进程占用的资源,此时子进程将成为一个僵死进程。 在第一个框这里时父进程子进程都没有结束,显示其pid 父进程是2349,子进程是235…

nnU-Net 终极指南

一、说明 了解最先进的nnU-Net以及如何将其应用于您自己的数据集所需的一切。使用nnU-Net,这是语义图像分割中非常强大的基线。在本指南中,您将: 对nnU-Net的主要贡献进行简要概述。了解如何将 nnU-Net 应用于您自己的数据集。 但是&#xff…