- 博客(84)
- 资源 (6)
- 收藏
- 关注
原创 DOS时代的“越狱”:如何在实模式下直接访问4GB内存
本文揭秘x86历史中的“大实模式”(BigRealMode)黑科技:通过短暂进入保护模式并修改段描述符,使386时代实模式下的DOS程序实现4GB内存访问。核心原理在于影子寄存器的界限值在模式切换后保持不变,配合A20地址线开启,仅用数十行汇编即可突破1MB内存限制。该技术至今仍被BIOS、HIMEM.SYS等系统底层使用,是理解x86分段机制本质的关键一课。
2026-11-10 08:59:20
229
原创 SMBIOS 完全解析:从 Legacy BIOS 到 UEFI,一文读懂系统信息表的定位与读取(附代码)
本文详解SMBIOS数据表的原理与实战应用,揭示操作系统如何在不进BIOS的情况下获取CPU型号、内存容量等硬件信息。通过分析DMI标准与EPS表结构,手把手指导定位SMBIOS数据表,并提供UEFI环境下基于GUID查找EPS的完整C代码。核心流程为:在物理内存0xF0000~0xFFFFF中搜索“SM”并校验后16字节为“DMI”;读取EPS中的数据表地址与长度;按结构头部、格式区、字符串区逐项解析。该技术是资产盘点、运维自动化和底层开发的关键基础。
2026-11-07 15:15:04
235
原创 NMAKE 与 Makefile 完全指南|BIOS 固件构建底层原理实战
本文深入解析NMAKE在BIOS/UEFI开发中的核心原理与实战应用,涵盖其依赖机制、语法规则、宏展开特性及常见踩坑点。重点讲解时间戳判定、延迟展开、隐晦推导规则等关键机制,结合Aptio与EDK2项目实例,揭示.mak脚本底层逻辑。通过五大组成要素与两阶段七步工作流,系统梳理NMAKE执行流程,并提供命令行选项、注释规范与调试技巧。强调其在固件编译中的不可替代性,助力开发者独立排查编译问题,提升构建效率。
2026-11-06 13:21:46
228
原创 UEFI ASL 模块怎么写?基于 AMI Aptio 平台手把手完整实现(附代码)
本期全程基于 AMI Aptio(V 为例,兼容说明 Aptio 4):写 ASL → 编译 → 封装成 AMI 标准模块五件套 → 编进 ROM → MMTOOL 验证 → AFU 刷写真机 → RU / Linux / Windows 三层确认。每一步都是量产姿势。
2026-11-04 14:53:00
201
原创 UEFI SETUP CALLBACK 怎么写?手把手完整实现
本文详解UEFI Setup中SetupCallback的实现机制,通过VFR/SD/UNI三层分离架构,结合INTERACTIVE标志与唯一questionid,实现界面项的动态联动:用户修改时触发Callback,CHANGING阶段校验输入合法性(如数值范围),CHANGED阶段联动改写值或触发硬件操作。配合ExtractConfig读取变量、RouteConfig持久化保存,完成“前端交互—后端响应”闭环。关键点包括:必须启用INTERACTIVE、questionid全局唯一、DEPEX防抢跑、结
2026-11-01 20:07:16
207
原创 UEFI Device Driver模块怎么写?手把手完整实现(附代码)
本文基于UEFI驱动模型规范,手把手实现一个可复用的PCI设备驱动模板,完整走通DriverBindingProtocol四步生命周期(Supported、Start、Stop、Initialize),通过CIF/SDL/MAK等六件套配置,实现设备识别、资源分配与协议安装。重点强调“入口只注册、Supported快判断、Start才碰硬件、Stop步步对称”的开发口诀,结合编译烧录与Shell验证流程,系统梳理高频避坑指南,助力开发者高效接入自研PCIe设备,掌握BIOS开发核心技能。
2026-10-30 16:16:04
135
原创 UEFI模块执行顺序,到底由谁决定?APRIORI、Depex 与 FV 布局一次讲清
UEFI模块执行顺序由运行时调度器Dispatcher根据APRIORI优先级、Depex依赖和FV布局三者共同决定,而非.dsc或.fdf的书写顺序。APRIORI具有最高优先级,可强制插队;Depex确保依赖满足后才执行;FV布局仅在无前两者约束时起作用。控制执行顺序应通过.fdf中的APRIORI和.inf中的Depex实现,而非修改.dsc。理解这三者优先级,是掌握UEFI启动流程与驱动调度的关键。
2026-10-28 14:11:15
212
原创 UEFI SMI模块怎么写?手把手完整实现(附代码)
本文基于示例工程 EFITrainingSMI,从文件组成、双阶段加载套路、SW SMI 注册,到从 DOS/Windows 亲手触发 SMI,手把手带你跑通第一个 SMI 模块。代码可直接抄走。
2026-10-26 21:07:53
185
原创 UEFI Event 模块怎么写?手把手完整实现(附代码)
本文详解UEFI中基于AMIAptioEventSample的Event机制开发,涵盖模块文件构成、源码解析、编译配置及验证流程。通过注册EFI_EVENT_SIGNAL_LEGACY_BOOT与EFI_EVENT_SIGNAL_READY_TO_BOOT事件,实现在传统引导前输出调试码、开机屏幕提示等场景。强调必须在内存就绪后使用(DXE阶段),需调用InitAmiLib、正确设置GUID与优先级,避免常见坑点如未开启编译开关、复用GUID、Stall单位错误等。掌握“CIF定身份,SDL定开关,MAK定
2026-10-24 12:18:36
108
原创 UEFI DXE 驱动开发|AMI Aptio4 从零实现 DXE Driver 模块
本文基于AMIAptio4平台,实战详解DXE驱动开发全流程:通过EFITrainingDXE驱动实例,完整演示.cif注册、.sdl配置、.mak编译、.c逻辑实现、.dxs依赖声明五步协作。重点解析Protocol协议查找与调用机制(Locate→Handle→Call),实现Port80打点与延时功能。附编译踩坑指南:必调InitAmiLib、确保ELINK入FV_MAIN、GUID唯一性、拼写校验等高频问题。掌握此套流程,即可高效开发可移植的BIOS模块。
2026-10-22 21:33:46
219
原创 UEFI 开发实战之 PPI 阶段代码开发
实现一个名为 EFITrainingPPI 的 PEIM,对外提供两个服务:PPI_CheckPoint 向 80 端口输出调试检查码PPI_Stall 基于 ICH ACPI 定时器的微秒级延时并且支持通过 BIOS Setup 开关动态控制是否安装该 PPI,这是一个非常经典且实用的需求模型。
2026-10-20 11:17:59
210
原创 UEFI 开发实战之 PEI 阶段代码开发—基于AMI Aptio 4 框架从零手把手实现一个 PEI Driver 模块
本指南要带你做成一件事:以 AMI 培训代码 EFITrainingPEI 为蓝本,开发一个 PEIM,它的具体工作是:定位(Locate) 一个名为 EFI_TRAINING_PPI 的 PPI;调用该 PPI 的 CheckPoint() 打诊断码 0x88;调用 Stall() 延时(验证 PPI 服务调用成功)。麻雀虽小,五脏俱全。这个模块会覆盖 5 类文件,这也是 AMI Aptio 框架下所有模块的标准文件构成:
2026-10-18 10:32:59
219
原创 X86平台银河麒麟V10系统不能上网问题排查汇总
客户所使用的操作系统为银河麒麟V10 SP1(Linux桌面环境)。系统右下角有线网络图标显示“已连接”,但在浏览器中访问百度等外部网站时提示“找不到服务器”。 同时网络链接部分还偶尔有数据
2026-10-15 10:34:22
232
原创 UEFI开发实战之SEC代码开发—— 基于 AMI Aptio「EFITraining\SEC」示例的手把手教学
在 BIOS 的 SEC 阶段(上电后最先执行、此时连内存都还没初始化)插入一段你自己的汇编代码,实现:上电 → 80h 端口输出 POST Code 77h → 延时约 1 秒 → 80h 端口输出 00h → 正常继续启动
2026-10-14 10:02:14
39
原创 UEFI 固件卷(Firmware Volume)技术详解
为了更高效地使用固件设备,BIOS 开发人员可以把单个物理固件设备划分为多个逻辑固件设备,也可以把多个物理固件设备聚合为一个逻辑固件设备,还可以在块设备(Block Device)之上再叠加一层逻辑固件设备。EFI 框架(Framework)将这种逻辑固件设备定义为固件卷(Firmware Volume,简称 FV)。
2026-10-12 10:09:43
206
原创 ACPI技术详解
高级配置与电源接口(Advanced Configuration and Power Interface,ACPI)规范旨在建立业界通用的接口标准,使操作系统(OS)能够直接主导主板设备的配置以及设备与整机的电源管理。ACPI 是实现操作系统主导配置与电源管理(Operating System directed configuration and Power Management,OSPM)的核心要素。
2026-10-10 09:40:10
249
原创 TSE Setup Menu(AMI BIOS设置菜单)技术详解
TSE(Touch Shell Environment / AMI BIOS Setup界面框架)是AMI BIOS(APTIO)中用于构建Setup Menu(BIOS设置界面)的核心组件。本文档涵盖其表单架构、文件组织、编译流程、多语言支持、控件类型及变量存取机制。
2026-10-08 09:52:05
100
原创 SMM & ACPI Support技术详解
SMM(System Management Mode,系统管理模式)与ACPI(Advanced Configuration and Power Interface,高级配置与电源接口)是BIOS固件中两大核心机制:SMM为固件提供高于操作系统的特权执行环境(用于电源管理、硬件监控等底层操作),ACPI则为操作系统提供硬件配置与电源管理的标准接口。本文档基于AMI Aptio框架,阐述SMM架构、SMI分发机制、软件SMI的创建安装方法,以及ACPI表的支持与管理。
2026-09-30 09:25:39
100
原创 EFI Event 事件机制详解
EFI(Extensible Firmware Interface,可扩展固件接口)是由英特尔推出的、用于替代传统BIOS的固件接口标准。在EFI架构中,事件机制取代了传统BIOS的中断机制,成为系统POST(上电自检)及运行阶段任务调度的核心手段。
2026-09-28 09:59:45
195
原创 AMI Aptio 4.X OEM eModule 结构说明
Aptio 4 是 AMI 基于 UEFI 规范与 Intel 平台创新框架开发的首代从 Legacy BIOS 演进而来的 UEFI 固件解决方案。OEM eModule(简称 OEMEM)是 AMI 为 OEM 厂商提供的板级定制机制,其概念源自 AMI core8,核心思想是将 OEM 定制代码与 AMI 核心(Core)代码隔离,通过编译期链接与文件覆盖实现定制,避免直接修改核心源码。
2026-09-26 10:40:41
127
原创 AMI Aptio BIOS 调试方法详解
AMI Aptio 是业界广泛使用的 UEFI BIOS 固件解决方案。在主板开发与维护过程中,调试(Debug)是定位启动故障、驱动加载异常以及电源管理问题的关键环节。本文档系统梳理了 AMI Aptio 平台下三种主流调试手段:Port 80 诊断卡、AMI EFI 调试接口以及文本调试消息输出,并辅以代码示例与 Checkpoint 代码表,供工程师快速查阅。
2026-09-24 09:50:15
99
原创 AMI Aptio S3 Resume Flow 技术文档
S3(Suspend‑to‑RAM,挂起到内存)为ACPI规范定义的系统睡眠状态。系统进入S3睡眠时,绝大多数外设、芯片组模块断电,仅内存模块保持供电以保存系统上下文。系统唤醒时BIOS执行S3‑Resume唤醒恢复流程,该流程不会完整执行冷启动DXE初始化,而是通过BootScript脚本回放,恢复内存、PCI设备、IO端口寄存器状态,完成硬件恢复后切换实模式,把系统控制权交给操作系统唤醒向量。
2026-09-22 09:16:55
189
原创 AMI Aptio 代码主流程技术详解
x86 平台加电/复位后,固件依 PI 规范依次经历 SEC(Security)→ PEI(Pre-EFI Initialization)→ DXE(Driver Execution Environment)→ BDS(Boot Device Selection)→(可选 TSE/Setup)→ 加载并启动 EFI 应用或经 CSM 启动 Legacy OS。每个阶段职责单一、单向推进:SEC 建立信任根与临时存储;PEI 完成最小硬件初始化并安装永久内存;DXE 构建完整的 Boot/Runtime Se
2026-09-20 10:16:43
144
原创 UEFI Shell 应用程序开发指南
讲义成文于 2009 年,所列环境为当时的标准配置;其中 VS2003/WinDDK 3790.1830 是 EFI Toolkit 2.0 时代官方验证过的组合,现代开发可类比迁移至 EDK II + VS2019+ 工具链。文中《第七章 现代开发UEFI Shell环境搭建》详细描述了目前所使用的UEFI SHELL开发环境EDK2+Windows/Linux两种方案。
2026-09-18 09:05:52
150
原创 VEB 构建环境配置指南
VeB(Visual eBIOS)是 AMI(American Megatrends, Inc.)推出的 Aptio 固件开发平台的可视化构建环境。它为 UEFI/BIOS 固件开发提供了一整套集成化的工具链,涵盖从源代码编译、链接到最终 ROM 镜像生成的完整流程。
2026-09-16 09:52:19
50
原创 AMI APTIO 开发平台使用指南与操作手册-基于 Visual eBIOS (VeB) 的 BIOS 移植与开发
AMI APTIO 开发平台使用指南与操作手册-基于 Visual eBIOS (VeB) 的 BIOS 移植与开发
2026-09-14 11:12:08
183
原创 EFI Driver Model 技术详解
EFI(Extensible Firmware Interface)驱动模型是 UEFI 固件架构的核心组成部分,定义了驱动程序如何与硬件设备交互、如何被加载和卸载,以及如何构建层次化的设备驱动栈。
2026-09-11 10:39:52
81
原创 DXE(Driver Execution Environment)技术详解
DXE(Driver Execution Environment,驱动执行环境)是 UEFI(Unified Extensible Firmware Interface,统一可扩展固件接口)平台初始化过程中的核心阶段之一。作为连接早期硬件初始化与操作系统启动的关键桥梁,DXE 阶段承担着加载、调度和执行各类驱动程序的重要职责。
2026-09-09 13:31:47
157
原创 PEI and SEC 技术详解
本文档详细阐述了 UEFI/BIOS 启动流程中两个关键阶段:SEC(Security Phase,安全阶段) 和 PEI(Pre-EFI Initialization,预EFI初始化阶段) 的技术细节。这两个阶段是系统从加电到操作系统加载之间的核心初始化过程
2026-09-04 13:33:18
220
原创 Intel x86 架构中 EC、BIOS 与 OS 三方协作机制深度解析
在 Intel x86 架构的计算机系统中,嵌入式控制器(Embedded Controller,简称 EC)是一颗独立于主 CPU(SoC)的微控制器,通常采用 8051 内核或 ARM Cortex-M 系列架构。EC 负责管理系统中大量低速、实时性要求高的外设和传感器,是连接硬件世界与软件世界(BIOS/UEFI 固件和操作系统)的关键桥梁。
2026-08-27 09:59:58
540
原创 2TB以上硬盘安装win7系统BIOS设定
本文档为了给最终用户安装win7/64bit UEFI 模式做一个清晰明了的流程介绍,用户希望使用2TB以上硬盘,这时传统的MBR 格式无法识别,必须要采用GPT格式创建分区,所以系统需要采用UEFI 模式来安装。
2026-08-12 13:30:28
190
原创 Linux 常用告警方式完整使用指南
本文档详细讲解 Zenity GUI 弹窗、wall 系统广播、syslog 系统日志、邮件告警、Webhook 告警、本地报警文件 六种 Linux 下主流告警方式,包含安装方法、命令语法、可直接运行的示例、适用场景与注意事项。
2026-08-12 13:25:22
426
原创 Intel TigerLake平台安装win11操作系统
摘要:针对Intel Tiger Lake平台安装Win11时出现的TPM 2.0报错问题,可通过Rufus工具制作绕过限制的安装U盘解决。
2026-04-21 17:07:44
262
原创 vxWorks6.8/6.9 操作系统下 QT 安装设置及运行方法
本文详细描述了在 vxworks6.8/6.9操作系统下,如何安装设置 QT 的方法,给出了详细的过程,图文并茂,并给出了在实际目标板上编译运行 QTdemo 程序的详细过程。
2026-04-02 10:42:02
509
WinRing0x32&64 C++ Ring0级系统硬件和内存访问 适用于windows 32&64位系统
2026-07-22
【嵌入式系统】基于VxWorks6.8/6.9的QT4.8.5安装配置与交叉编译:目标板图形界面应用部署方法
2026-04-02
make中文手册
2013-06-05
BIOS Boot Specification(BBS SPEC)
2013-06-05
cpci标准2.0(中文)
2013-05-29
通达信选股器指标打包资源
2022-12-01
通达信技术指标打包资源
2022-12-01
CMOS RAM memory map
2013-06-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅