自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 第 9 篇:CPU 系统寻址

随着本篇系统寻址架构解析的落幕,我们关于UEFI Shell 底层固件开发与 PCIe 资源配置实战的九篇核心长文专栏就全部功德圆满了!第 1-2 篇:我们从零安放工具链,打通了 UEFI Shell 与仿真器的地基。第 3-4 篇:我们杀入底层,搞懂了 MSR、CR 寄存器,并推导出了 PCIe MMIO 的经典寻址公式。第 5-6 篇:我们用双重剪枝算法完成了工业级的 PCIe 设备动态扫描,并强行撬开了外设 onboard 闪存,提取并解析了 Option ROM。第 7-8 篇。

2026-06-05 17:10:52 449

原创 第8篇:PCI 资源解析之 BAR

到这里,我们用最优雅的。

2026-06-05 15:18:45 296

原创 第 7 篇:PCIe Capabilities Pointer 能力链表深度遍历与解析

搞懂了能力链表的双重单向拓扑结构,你就等于拿到了开启硬件所有高级配置大门的“万能钥匙”。以后不论是去写高级的 MSI-X 中断分发驱动,还是去调试 PCIe 链路降速(Link Down)问题,你都能用今天这段代码精准狙击到每一个目标寄存器的绝对物理位置。

2026-06-04 16:59:48 267

原创 PCI Option ROM 的神秘面纱:从底层原理到 Shell

你有没有想过一个问题:当你的新电脑刚组装好,连 Windows 都没装,甚至 SSD 都是空的,为什么你一开机,独立显卡就能在屏幕上打出炫酷的主板 LOGO?为什么服务器的板载网卡能在一片空白的情况下,通过 PXE 自动从网络上下载镜像?没有操作系统的驱动支持,这些硬件凭什么能长眼睛、能说话?秘密全在 PCI Option ROM(简称 OpROM,扩展 ROM) 里。作为 BIOS/固件工程师,搞不懂 OpROM,你就永远只能在外围写写应用,摸不到底层硬件的脉搏。今天这篇专栏第 6 篇,我们不玩虚的,直接

2026-06-04 16:51:15 451

原创 PCIe Scan Loop

到这里,我们已经用最严谨、最高效的代码完成了对整个 PCIe 拓扑空间的动态深度遍历。每个硬件设备的 BDF 坐标和它的 Class 分类已经被我们牢牢掌控。

2026-05-29 09:08:19 336

原创 PCI / PCIe 基础理论与配置空间结构深度剖析

在前面的文章中,我们学习了如何利用 MMIO 经典公式去访问一个特定 BDF 的物理地址。但是,想要在 UEFI 环境下自由地驱动显卡、网卡或者 NVMe 固态硬盘,我们必须对的总线拓扑和有一个极其清晰、透彻的认知。作为 BIOS/固件工程师,无论是做初始化(Pei/Dxe 阶段)、资源分配,还是写特定的设备驱动(Option ROM),每天都要和 PCI 配置空间打交道。本文将作为 PCI 领域的保姆级敲门砖,带你从物理拓扑、访问机制演进,一字不漏地深度拆解那张固件面试必考的。

2026-05-25 14:12:06 364

原创 UEFI 固件开发之寄存器访问

本文深入探讨了UEFI固件开发中的底层寄存器访问技术,重点介绍了四种核心寄存器操作:MSR(特定型号寄存器)、CR(控制寄存器)、I/O端口和MMIO(内存映射I/O)。文章提供了详细的EDK2开发环境配置指南,并展示了每种寄存器的实际访问代码示例,包括读取CPU平台ID、检查分页状态、RTC时间读取等实用场景。同时指出了开发过程中可能遇到的三大陷阱:MSR写入导致的系统崩溃、MMIO缓存问题以及I/O端口冲突,并给出了相应的防范建议。

2026-05-25 09:03:13 366

原创 【全网最全】EDK2 搭建 UEFI Shell 应用程序开发环境

本文详细介绍了在Windows 10/11环境下从零搭建基于EDK2的UEFI Shell应用程序开发环境的完整流程。主要内容包括: 四大核心依赖工具的安装配置(Visual Studio 2022、Python、NASM和Git) EDK2源码的深度克隆与BaseTools编译 关键配置文件的修改方法 第一个UEFI Shell应用程序的创建步骤(包含.c和.inf文件编写) 编译过程及使用EmulatorPkg进行仿真运行的方法 常见错误及解决方案汇总 文章采用保姆级教程形式,特别针对新手容易遇到的路径

2026-05-22 09:19:57 286

原创 程序员必备底层知识:5分钟彻底搞懂什么是 BIOS

BIOS,全称(基本输入输出系统)。简单来说,它就是固化在计算机主板上一个 ROM(只读存储器)芯片里的一组底层程序。它是计算机开机后运行的第一个软件。硬核比喻:如果把操作系统(Windows/Linux)比作一个公司的“总经理”,那么 BIOS 就是“物业管理员”。总经理上班前,物业管理员得先开门、通电、检查水电设备是否正常。如果大楼(硬件)本身塌了,总经理连进都进不来。BIOS 就像是计算机世界的“摆渡人”,它在黑暗中唤醒硬件,引导光明(操作系统)的到来。

2026-05-22 09:09:48 320

原创 AI自动剪视频发抖音”

你想实现的“AI自动剪视频发抖音”,就像是开一家是你的(负责把食材/提示词加工成好看的菜品/视频)。是你的(负责决定视频长什么样,画质好不好)。是你的(视频一做好,他立马帮你送到抖音前台去卖)。为了让你不卡壳,我们不一上来就搞复杂的代码。今天你只需要完成。

2026-05-21 14:26:31 232

原创 一次性搞定这套“ComfyUI 视频渲染 + 抖音全自动发布

我们将整个部署分为四大阶段:环境准备 ➔ 模型部署 ➔ 发布脚本配置 ➔ 工作流串联闭环。在开始之前,我们需要配置好基础的软件环境。操作方法:进入你的 安装根目录,找到名为 的文件夹。双击运行 文件。系统会自动运行黑窗口(CMD)并将 ComfyUI 升级至支持 LTX 2.3 模型的最新版本。注意:如果你的 ComfyUI 是通过秋叶整合包安装的,直接在“绘世启动器”的“版本管理”中点击更新即可。下载 FFmpeg 解压包,将其解压到你的电脑某盘(例如 )。在 Windows 搜索框输入“环境变量”

2026-05-21 14:22:21 373

原创 Ubuntu18.04 的ssh连接,可用于Windows给Linux传输文件

Ubuntu18.04 的ssh连接,可用于Windows给Linux传输文件1.先下载Windows的软件官网链接:filezilla这个我个人感觉挺好用2.在Linux系统上装上ssh,net-toolssudo apt-get install ssh net-tools3.在查询Linux系统的ip地址 ifconfig ,如下图4.Windows上打开filezilla软件,分别输入主机,用户名,密码,然后点击连接这样就可以从Windows给Linux传输文件了。注

2022-04-25 23:54:51 1710

原创 Linux Ubuntu 去掉sudo时输密码

问题描述提示:这里描述遇到的问题:Ubuntu系统 命令行输入 sudo命令时一直让输入密码才继续,也可以直接进入root用户操作但是呢进去执行的命令生成文件都是root权限,普通用户无权限,现在需要有时候用sudo 有时候用普通权限解决方案:1.随便打开一个终端sudo visudo #默认用的nano编辑器打开的2.找到倒数第三行%sudo ALL=(ALL:ALL) ALL3.在最后一ALL前加 NOPASSWD:%sudo ALL=(ALL:ALL) NOPAS

2022-04-25 23:28:59 5533

原创 Linux Ubuntu 18.04 换源(阿里云源)

文章目录一、比较好用的源二、使用步骤一、比较好用的源阿里云源清华源二、使用步骤这个可以直接在终端中运行打开终端,输入以下命令如下(阿里云源):sudo touch /etc/apt/sources.list~sudo echo 'deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic

2022-04-15 11:50:15 10177

原创 Ubuntu18.04 安装opencv4.1.0

一、下载opencv所用的依赖包二、下载opencv4.1.0和opencv_contrib三、在Ubuntu中解压打开四、编译opencv五、opencv路径配置总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、下载opencv所用的依赖包su.

2022-04-14 20:35:02 4489

原创 Ubuntu18.04 Jetson nx 的vnc远程桌面连接

Ubuntu18.04 Jetson nx 的vnc远程桌面连接由于我遇到的问题是setting中sharing点了没反应,有时没有,还有sharing点了有反应,但是左上角一直是off,网上的方法试过好多都没用,后来自己琢磨,记录一下这个错误一. 设置desktop sharing1.打开终端输入下面的命令sudo vi /usr/share/glib-2.0/schemas/org.gnome.Vino.gschema.xml2.编辑:在文件的最后一段上面添加以下内容<key n

2022-04-14 20:01:56 3244 1

基于mm32f3270的空气净化器

空气净化器通过OLED显示屏显示室内温度、湿度、TVOC、二氧化碳浓度、烟雾报警等各项信息,程序控制加湿器等装置的运行。自动控制加湿器,窗户,风扇等的开启以达到空气质量改善的目的。系统通过MM32主控控制并运用rt-thread操作系统,串口1接ESP8266模块。数据可以上传到互联网云服务器平台作品可以满足用户通过远程了解家中情况。 已测试,可用,如有问题请联系我。本作品用到的模块 dth11,esp8266,sgp30,烟雾传感器,舵机,电机。

2022-07-30

空空如也

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

TA关注的人

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