自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 EFI 技术概述与架构详解

EFI 技术概述与架构详解

2026-09-03 10:08:38 343

原创 IA系统中Cache的几种类别

IA系统中,Cache类型一共有以下6种

2026-08-27 10:11:03 219

原创 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

原创 BIOS密码操作方法

BIOS密码操作方法

2026-08-10 10:56:02 208

原创 Centos9用dnf安装rt实时内核

Centos9用dnf安装rt实时内核

2026-06-05 17:15:55 245

原创 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

原创 Vxworks6.x系统引导分区制作方法

Vxworks6.x系统引导分区制作方法

2026-03-10 14:57:20 214

原创 vxWorks6.8 vxsim下QT安装及运行方法

vxWorks6.8 vxsim下QT安装及运行方法

2026-01-16 10:40:19 867

我的《Win10与Vx6.9双系统制作方法》文章中E盘内文件

我的《Win10与Vx6.9双系统制作方法》文章中E盘内文件

2026-08-13

WinRing0x32&64 C++ Ring0级系统硬件和内存访问 适用于windows 32&64位系统

WinRing0x32&64是一款专为Windows系统设计的底层驱动工具,它提供了32位和64位版本的动态链接库(DLL),允许程序员进行更深度的系统级编程,特别是涉及到硬件访问和系统调用层面的操作

2026-07-22

【嵌入式系统】基于VxWorks6.8/6.9的QT4.8.5安装配置与交叉编译:目标板图形界面应用部署方法

内容概要:本文详细介绍了在vxWorks 6.8/6.9操作系统下安装、配置和运行QT 4.8.5的完整流程,涵盖开发环境搭建、工具安装、环境变量设置、windML库编译、VxWorks镜像构建、QT交叉编译与部署等关键步骤。重点包括MinGW和Strawberry Perl的安装配置、目标板RAM盘的创建与初始化、QT的静态编译参数设置(如-platform、-xplatform等),以及最终在目标机上运行QT demo程序的操作方法。文中还提供了具体的configure命令示例和系统包的配置清单,确保QT应用能在嵌入式环境中正常运行。; 适合人群:从事嵌入式系统开发,熟悉vxWorks操作系统,具备一定QT开发经验的工程师或技术人员,尤其适用于需要在工业控制、航空航天等领域进行跨平台GUI开发的研发人员。; 使用场景及目标:①在vxWorks 6.8/6.9环境下实现QT的移植与运行;②构建支持图形界面的嵌入式应用程序;③通过RAM disk机制解决嵌入式系统中临时文件存储问题;④掌握QT for Embedded在非Linux平台的交叉编译与部署流程。; 阅读建议:此文档操作性强,建议读者按照步骤逐步实施,注意区分vxsim模拟器与真实目标板的配置差异,并确保所有环境变量和路径设置准确无误。在实际操作前应准备好授权文件及相关工具链,调试过程中可借助ugldemo等示例验证底层图形系统是否正常。

2026-04-02

Win7与Vx6.9双系统制作方法中用到的文件 ramvx.img

Win7与Vx6.9双系统制作方法中用到的文件

2025-11-21

kernel-3.10.0-1160.119.1.el7.x86-64.rpm

kernel-3.10.0-1160.119.1.el7.x86_64.rpm

2025-11-12

make中文手册

Linux环境下的程序员如果不会使用GNU make来构建和管理自己的工程,应该不能算是一个合格的专业程序员,至少不能称得上是Linux程序员。在Linux环境下使用GNU 的make工具能够比较容易的构建一个属于你自己的工程,整个工程的编译只需要一个命令就可以完成编译、连接以至于最后的执行。不过这需要我们投入一些时间去完成一个或者多个称之为Makefile文件的编写。此文件正是make正常工作的基础。

2013-06-05

BIOS Boot Specification(BBS SPEC)

The BIOS Boot Specification defines a feature within the BIOS that creates and maintains a list of all the IPL devices found in the system and stores this list in NV memory.

2013-06-05

cpci标准2.0(中文)

cpci标准2.0(中文) CPCI规范改进自PCI电气规范2.1,应用于工业和嵌入式领域。它使用工业机械组装标准,具有高性能连接技术,可以提供一套最优化系统以便于不同应用。CPCI在电气方面可以兼容PCI规范,允许低成本PCI组件 CPCI规范是PICMG(PCI工业计算机制造商联盟)开发并管理的一套开放式规范。PICMG是一个在嵌入式领域使用PCI协议的公司联盟。

2013-05-29

国产化龙芯3a4000平台下DDR4内存调试总结

国产化龙芯3a4000平台下DDR4内存调试总结

2023-03-28

国产化龙芯3a4000平台下com口测试工具

国产化龙芯3a4000平台下com口测试工具 注:使用前需给与root权限:Chown u+s linucom

2023-03-28

龙芯3A4000 Pmon下DDR4内存S1参数配置计算表

龙芯3A4000 Pmon下DDR4内存S1参数配置计算表

2022-12-01

通达信选股器指标打包资源

资源的通达信选股器打包下载,包括:MACD二次金叉选股器,MACD零轴上首次金叉选股器,筹码集中选股器,底分型选股器,黄金坑选股器,老鸭头选股器,涨停后回踩10日线选股器,涨停双响炮选股器等14个好用的选股器

2022-12-01

通达信技术指标打包资源

自用的通达信技术指标(手机电脑端通用)-包括BS操盘线指标,K线解盘指标,MACDRSI指标顶底背离,VIP分时,爆点波段指标,波段底部指标,波段坚定买指标,主力庄家试盘突破,私募操盘主图等42个指标。

2022-12-01

PC技术内幕(带bookmark目录)

PC技术内幕(带bookmark目录)开发pc的技术内幕

2013-05-29

8259A spec

8259A PROGRAMMABLE INTERRUPT CONTROLLER

2013-05-29

CMOS RAM memory map

Below is a typical CMOS RAM memory map for an AT PC. Under a 128byte ISA compatible CMOS, 16 bytes (00h-0fh) is the real time clock, 32 bytes (10h-2Fh) is the ISA configuration data, 16 bytes (30h-3Fh) is the BIOS specific configuration data and 64 bytes (40h-7Fh) is the ESCD (Extended System Configuration Data).

2013-06-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除