自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 【Spec笔记 13】Media Access (1)

总结后续有更深理解,会继续补充。学艺不精,错误请指正;如有侵权,请联系删除。参考文档: 《UEFI_Spec_2_9_2021_03_18》

2024-05-09 17:13:19 162

原创 【UEFI Spec笔记 12】Console Support (2)

EFI_EDID_OVERRIDE_PROTOCOL : 返回策略信息,并可能为指定的视频输出设备返回一个替换EDID。如鼠标的设备路径:ACPI(PNP0A03,0)/PCI(7,0)/ACPI(PNP0F03,0)参考文档: 《UEFI_Spec_2_9_2021_03_18》安装在Handle上,这个Handle必须也有安装。指定一个访问指针设备的简单方法,包括鼠标等设备。后续有更深理解,会继续补充。学艺不精,错误请指正;如有侵权,请联系删除。

2024-03-07 17:28:27 418

原创 【UEFI Spec笔记 12】Console Support (1)

本节探讨控制台支持协议,包括简单文本输入、简单文本输出、简单指针、串行IO和图形输出协议。后续有更深理解,会继续补充。学艺不精,错误请指正;如有侵权,请联系删除。参考文档: 《UEFI_Spec_2_9_2021_03_18》

2024-03-06 17:38:34 1055

原创 【UEFI Spec笔记 11】UEFI Driver Model

在BIOS启动过程中,驱动控制器会用Supported去查看是否支持此,如果支持,则调用Start来绑定驱动控制器。例如在网络设备轮询过程中,返回SUCCESS,则调用,Start函数中可以对这个驱动进行一些操作,并安装且实现其中的功能和赋值。在后来的代码中就能使用对此网络设备进行操作。后续有更深理解,会继续补充。学艺不精,错误请指正;如有侵权,请联系删除。参考文档: 《UEFI_Spec_2_9_2021_03_18》

2023-12-05 21:21:48 894

原创 【UEFI Spec笔记 10】Device Path Protocol

1.设备路径的主要目的是允许应用程序(如操作系统加载程序)确定接口正在抽象的物理设备。2.ACPI中定义了设备路径的集合叫做命名空间(name space),EFI定义了自己的命名空间叫设备路径。后续有更深理解,会继续补充。学艺不精,错误请指正;如有侵权,请联系删除。参考文档: 《UEFI_Spec_2_9_2021_03_18》

2023-11-21 14:17:19 302

原创 【UEFI Spec笔记】EFI Loaded Image

后续有更深理解,会继续补充。学艺不精,错误请指正;如有侵权,请联系删除。参考文档: 《UEFI_Spec_2_9_2021_03_18》

2023-11-14 17:37:11 210

原创 【UEFI Spec笔记】Boot Services & Runtime Services

参考文档: 《UEFI_Spec_2_9_2021_03_18》,《UEFI原理与编程》通过handle和GUID等等等找到handle中的Protocol实例。通过handle和GUID找到实例,比OpenProtocol少参数。由操作系统加载程序用于从物理寻址到虚拟寻址的转换。8.5.3 - 8.5.6 Capsule相关。所有运行时服务都可以在启用中断的情况下调用。返回平台单调计数器的下一个高32位。读取计算机硬件时间(RTC时钟)获取下一个变量名,可用作遍历变量。通过GUID找到实例,最简单的。

2023-10-22 22:20:10 556 1

原创 【杂谈】C里面常用的宏

在BIOS中可以用做当前BIOS的编译时间。当前时间的年月日及时分秒。%a 打印当前函数名。

2023-10-21 15:52:51 194 1

原创 【UEFI实践】BIOS升级(1) --shell下升级BIOS

BIOS升级会分为Shell,Setup,OS下三种情况说明。本文将会以shell下升级为主,具体操作为在shell下获取需要升级的BIOS文件信息,再把数据传给SMM模式下刷写Flash。与capsule的实现方法类似,但仅以最简单能够更新BIOS的方法。部分代码借鉴EDKII源码,如有侵权,请联系删除后续有更深理解,会继续补充。学艺不精,错误请指正;如有侵权,请联系删除。

2023-10-12 23:32:02 1255

原创 【UEFI实战】EDKII下创建带参数的shell工具

这篇不带参数的,当时做的并不是EDKII代码,用的是IBV代码【UEFI实践】Shell下tool模板后续有更深理解,会继续补充。学艺不精,错误请指正;如有侵权,请联系删除。

2023-09-15 22:39:04 425 1

原创 【UEFI实践】UEFI下Event创建和触发的一种方式

事件基础知识请看>>本文记录了在一个模块中创建事件,并注册到protocol上,在另一模块中通过安装protocol的方法来触发此事件的方法。后续有遇到事件的更多用法,会继续补充。1.在dec文件中定义protocol[Guids] //或者[Protocols]下gEfiEventProtocolGuid = {0x00000000, 0x0000, 0x0000, {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}} //创建新的GUID。

2023-08-31 22:05:01 166 1

原创 【UEFI Spec笔记】EFI System Table

UEFI应用程序(UEFI Applications),UEFI引导服务驱动程序(UEFI Drivers)和UEFI运行时驱动程序(UEFI Drivers),UEFI应用程序包括UEFI操作系统加载程序(UEFI OS Loaders),这三种image类型的入口参数如下。typedefEFI_STATUS后续有更深理解,会继续补充。学艺不精,错误请指正;如有侵权,请联系删除。参考文档: 《UEFI_Spec_2_9_2021_03_18》

2023-08-20 18:39:33 450 1

原创 【UEFI实践】Shell下tool模板

后续有更深理解,会继续补充。学艺不精,错误请指正;如有侵权,请联系删除。

2023-08-17 22:53:53 329 1

原创 【ACPI规范】ASL基础

记录一些常见的ASL语言关键字,更详细知识在acpi spec第19章BIOS开发者可以通过ASL(ACPI Source Language)对一些设备总线等进行操作,然后被AML编译器编译成AML语言,AML语言可以被硬件所识别。后续有更深理解,会继续补充。学艺不精,错误请指正;如有侵权,请联系删除。参考文档: 《ACPI_Spec_6_4_Jan22》

2023-08-05 16:20:11 466 1

原创 【EDKII笔记】orderedlist&lebal

后续有更深理解,会继续补充。学艺不精,错误请指正;如有侵权,请联系删除。参考文档: 《VFR_1_9.pdf》

2023-07-19 21:01:06 274

原创 【UEFI工具】Firmware Test Suite (fwts)

FWTS是一个自动化固件检查的Linux工具。它的目标是检测错误并修复固件。使用手册后续有更深理解,会继续补充。学艺不精,错误请指正;如有侵权,请联系删除。

2023-07-19 10:06:10 567

原创 【UEFI Spec笔记】Boot Manager

后续有更深理解,会继续补充。学艺不精,错误请指正;如有侵权,请联系删除。参考文档: 《UEFI_Spec_2_9_2021_03_18》

2023-07-12 21:56:13 876 1

原创 【ACPI电源管理】C-State和P-State基础

Advanced Configuration and Power Interface,高级配置与电源接口。顾名思义,除了那些table,电源接口是ACPI很重要的一个部分。这就必须得了解c-state和p-state相关知识了。因为暂时没做过这方面的项目,所以以下皆为acpi spec的总结,后续如有相关项目接触,会另开文章附上链接后续有更深理解,会继续补充。学艺不精,错误请指正;如有侵权,请联系删除。参考文档: 《ACPI_Spec_6_4_Jan22》

2023-07-09 16:26:30 1498 1

原创 【EDKII笔记】VFR&SD

uni文件声明了字符,vfr文件即是对setup的框架的搭建。EDKII创建了BNF风格的VFR文件供开发者使用,编译器会把VFR文件编译成IFR(Internal Forms Representation)信息供Hii调用。1.formset。

2023-06-18 21:50:25 1105 1

原创 C++学习笔记--02函数高级

文章目录1.默认参数2.占位参数3.函数重载1.默认参数注意:1.若某个位置有默认参数,这个位置往后都要有默认参数 int func(int a,int b=10,int c=10)2.函数声明和实现只能一个有默认参数2.占位参数int func(int a,int)占位参数可以有默认参数 int func(int a,int=10)3.函数重载...

2020-04-26 22:58:09 124

原创 C++学习笔记--01内存四区

.exe执行前:代码区:存储二进制代码代码 共享和只读 操作系统管理全局区:全局变量,静态变量,常量执行后:栈区:函数参数值,局部变量(包括局部常量) 编译器自动分配释放堆区:在C++中主要利用new在堆区开辟内存 程序员分配释放,若程序员不释放,程序结束时操作系统回收#include<iostream>using nam...

2020-04-26 16:44:15 103

原创 linux编程--01socket通信基础笔记

1.服务器服务器:socket->bind->listen->accept->recv/send->close1.socket:创建服务端的socket。2.bind: 把服务端用于通信的地址和端口绑定到socket上。3.listen: 把socket设置为监听模式。4.accept: 接受客户端的连接。5.recv:接收客户端的请求报文。6.sen...

2020-04-14 18:45:46 112

转载 linux编程--01socket通信基础

文章目录一、socket通信的概念二、套接字(socket)三、socket通信的过程在这里插入图片描述四、客户/服务端模式服务端的工作流程2、客户端的工作流程在这里插入图片描述五、注意事项1、别去纠缠细节2、服务端程序绑定地址3、服务端程序绑定的通信端口4、客户端程序指定服务端的ip地址5、客户端程序指定服务端的通信端口6、send函数7、recv函数8、服务端有两个socket9、程序退出...

2020-04-14 18:04:33 427

原创 计算机网络--01基础

这里写目录标题一. 计算机网络的分类1.从网络的使用者进行分类2.按网络的覆盖范围分类二. 因特网的组成1.边缘部分2.核心部分2.1电路交换2.2分组交换2.2.1路由器2.2.2分组交换—具体过程三.两种国际标准—TCP/IP1.五层网络模型2. TCP/IP的体系结构一. 计算机网络的分类1.从网络的使用者进行分类 公用网 (public network) 专用...

2020-04-14 17:54:45 164

空空如也

空空如也

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

TA关注的人

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