摘要:
本文介绍了在 UEFI 学习过程中遇到的一些知识集合。总结如下:复位向量ResetVector;不同平台的OS loader/GRUB;UEFI中的ESP目录是什么;以及UEFI中很重要的Protocol Handle机制,非常类似于Linux设备驱动和应用的设计思想。 阅读全文
本文介绍了在 UEFI 学习过程中遇到的一些知识集合。总结如下:复位向量ResetVector;不同平台的OS loader/GRUB;UEFI中的ESP目录是什么;以及UEFI中很重要的Protocol Handle机制,非常类似于Linux设备驱动和应用的设计思想。 阅读全文
posted @ 2025-12-10 01:47
阿源-
阅读(1019)
评论(0)
推荐(1)

CPP 学习笔记 秋招的时候(嵌入式方向)面试官常问到 C++,因此花了几天过了一下基础知识,本文为学习笔记。快速学习的经验:如果有其他语言基础的情况下,想要学习一门新语言,让 AI 帮你列一下这个语言的学习大纲或者目录,然后针对目录中的每个知识点让 AI 讲解并给出示例,这样非常快就能学完一门语言
一、前言 前面几节着重介绍了 UEFI 应用程序的编写。在之前的介绍中 UEFI Application 通常在 UEFI Shell 中运行,特点是执行完即退出,不常驻系统且不提供服务,而是查找并使用系统中的 Protocol 服务。本节简单介绍一下 UEFI 的另一种重要的程序类型,即 UEFI
一、前言 通过阅读前面的 EDKII 相关代码实现,我们可以很容易发现其虽使用的是 C 语言语法,但编写规则与我们在 IDE 或者操作系统上运行的 C 语言代码不太一样。以简单的 HelloWorld 程序为例。EDKII 中的代码为: #include <Uefi.h> #include <Lib
上一节中我们介绍了如何在 UEFI 应用程序中调用特定的 Protocol。本节的任务是利用 UEFI 中的图形输出协议 Gop 在屏幕上输出一个特定图形。下面是我们本次的工程目录。 MyPkg ├── Application │ └── GopDrawApp │ ├── GopDrawApp.c
如何在 UEFI 应用程序中调用 Protocol 前面我们介绍过 Protocol 的本质是一个包含一系列函数指针的 C 语言结构体。例如: typedef struct { EFI_TEXT_RESET Reset; EFI_TEXT_OUTPUT_STRING OutputString; EF
如何创建一个 UEFI 应用程序 在之前的文章中曾详细介绍了 EDKII 开发环境的搭建以及 OVMF 固件的编译过程。并且使用 QEMU 虚拟机来执行编译好的 OVMF 固件。我们知道在 Linux 终端中可以在命令行中执行编译好的应用程序,UEFI 也有 shell,如下图所示。我们能够在 sh
一、什么是图床 图床是一个线上的图片存储仓库。你把图片传上去后,它会给你生成一个链接,你只要把这个链接贴到任何地方(比如文章、论坛、代码里),别人就能看到这张图,而不需要把图片文件本身存在那个地方。 二、基于 GitHub 和 PicGo 的图床配置 GitHub 作为实际存储图片的仓库存在,Pic
一、背景 1.1 为什么嵌入式场景选择 ARM 从智能家居到消费电子,从汽车领域到工业场景,嵌入式产品无处不在。嵌入式系统是以微处理器为核心、能够执行特定任务的专用硬件系统,通过对微处理器进行编程,使其适应特定应用场景的需求。根据应用场景选择合适的处理器,嵌入式产品既可实现如微波炉定时控制、智能灯定
shell 常用语法 初步使用 Linux中工具链的配置 变量 参数 条件判断 循环 输入读取 函数 正则表达式 文本处理工具 bash和shell的关系:shell是一个概念,bash是这个概念的一个具体实现。 初步使用 #!bin/bash echo "Hello world!" echo #
一、背景 使用雷达探测物体时,雷达发射电磁波,电磁波撞到物体后反射回来,雷达接收回波信号来判断物体的位置。想象一下,如果雷达发出的信号非常弱,信号还没有到达物体处或者回波还没回来就衰减差不多了,雷达就探测不到物体的位置。雷达发射信号的功率有限,那么如果要提高信号的总能量,就只能增加信号的持续时间。
本文梳理和介绍了一下 固件卷 FV,FFS文件,FDF文件之间的组织关系,以及其在 EDKII 工程中的体现。
一、PEI Core 与 PEIMs PEI Core:是PEI阶段的核心引擎,负责寻找,加载和执行各种PEIM。PEI Core首先首先运行一个小的固定的SEC阶段的代码,这段代码通常使用CPU缓存作为临时内存来运行。一旦找到并初始化了真正的系统内存,PEI核心就会把执行权交给永久内存管理器,从而
开源许可协议(Open Source License)是一种法律文件,它定义了别人可以如何使用、修改、复制、分发你的开源软件(或开源硬件、文档等)。简单来说就是你把代码公开了,但不是随便谁想干嘛就干嘛,而是通过许可协议告诉大家允许你做什么、不允许你做什么。只有符合 OSI(Open Source I
一、目前常见的 CPU 架构 目前主流的 CPU 架构主要分为两个阵营:以 x86 为核心的复杂指令集架构(CISC),以及以 ARM 和 RISC-V 为代表的精简指令集架构(RISC)。其中,x86 架构长期以来主导着桌面和服务器市场,代表厂商包括 Intel 与 AMD,其特点是指令集复杂、兼
本文主要记录BIOS/UEFI对应的磁盘分区形式MBR/GPT的区别
浙公网安备 33010602011771号