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