自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ubuntu默认vscode打开文件目录解决

今天,点击文件夹发现默认由vscode打开,有点懵用以下命令解决了xdg-mime default dde-file-manager.desktop inode/directory

2020-07-03 13:40:28 679

转载 GitBook 从懵逼到入门

本文从 “是什么”、“为什么”、“怎么办”、“好不好” 四个维度来介绍 GitBook,带你从黑暗之中走出来,get 这种美妙的写作方式。是什么?在我认识 ...

2020-06-29 10:54:18 193 1

原创 8086汇编环境搭建

windows环境使用windows下 DOS 模拟程序 dosbox这个模拟程序不带 debug.exe 、link.exe 、masm.exe单独下载这3个程序,并放到 C:\masm执行doxbox,并把对应目录挂载上去然后就可以使用debug、link、masmlinux环境linux使用dosemu模拟器安装:sudo apt-get install dosemu执行如下:对应的目录在~/.dosemu/drives 下:创建软链接文件操作:...

2020-06-12 09:08:41 333

转载 CSDN编辑器markdown字体、颜色与字号的设置

       markdown是一种可以使用普通文本编辑器编写的标记语言,通过标记特殊语法生...

2020-06-11 19:21:58 86

转载 CSDN转载博客

参考博客原址 http://blog.csdn.net/bolu1234/article/details/51867099转载CSDN博客步骤:1、CSDN博客页面右键,点击【检查】 2、点击检查后,页面右侧出现html代码,如下图 3、点击写博客、点击左侧栏【博客设置】4...

2020-06-11 18:56:46 40

原创 C语言常见关键字及使用

staticstatic作用有三个:1.修饰全局变量static 全局变量当一个进程的全局变量被声明为static之后,它的中文名叫静态全局变量。静态全局变量和其他的全局变量的存储地点并没有区别,都是在.data段(已初始化)或者.bss段(未初始化)内,但是它只在定义它的源文件内有效,其他源文件无法访问它。2.修饰局部变量static 局部变量普通的局部变量在栈空...

2020-05-31 19:20:11 436

原创 BMP图像 - UEFI shell下显示bmp图片

实现在uefi shell显示一张bmp图片1.inf文件TestShowBmp.inf## @file# # head for bmp test#####[Defines] INF_VERSION = 0x00010006 BASE_NAME = TestShowBmp FILE_GUID = 079E8E98-AE93-1111-8A71-88C8

2020-05-29 14:54:22 278

原创 BMP图像 - BMP格式

BMP - (全称Bitmap)是Windows操作系统中的标准图像文件格式,采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时, 图像的扫描方式是按从左到右、从下到上的顺序。所以图案加载到内存后,行数据和显示的行顺序是上下颠倒的BMP文件格式如下:数据段名称大小(Byte)作用bmp文件头14提供文件的格式、大小等信息位图信息头4

2020-05-29 14:54:11 238

原创 UEFI shell - shell下实现加载标准应用程序

写一个shell app实现加载标准应用应用程序(HelloWrold.efi)代码实现:1. c文件edk2/ShellPkg/Application/TestLoadImage/TestLoadImage.c/** @file This is a test for Test Load Image**/#include "TestLoadImage.h"/** UEFI application entry point which has an interface simi

2020-05-29 14:48:27 451

原创 UEFI shell - 标准应用程序的编译和加载过程

首先了解下,应用程序是怎么被编译成.efi文件:UefiMain.c首先被编译成目标文件UefiMain.obj连接器将目标文件UefiMain.obj和其他库连接成UefiMain.dllGenFw工具将UefiMain.dll转换成UefiMain.efi本文来源:《UEFI原理与编程》戴正华著...

2020-05-29 11:28:19 436

原创 UEFI shell - shell app

这个UEFI shell app跟我们平时用的C语言的main函数有点像,支持传参数…写个例子测试下:PATH:edk2/ShellPkg/Application/TestShellApp/TestShellApp.inf## @file# This is the shell application## Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>## SPDX-Licens

2020-05-29 11:26:51 315

原创 UEFI shell - 脚本文件

UEFI shell下的脚本文件的命名格式为: ****.nsh脚本的语法和规范参考:《EFI Shell User’s Guide》《UEFI原理与编程》1. 写一个简单的脚本测试下:脚本名为test.nsh,内容如下:pci2.开机自启动脚本UEFI shell有一个开机自启动脚本,命名startup.nsh编辑下startup.nsh,内容为date开启虚拟机,不做任何操作,结果如下:3.开机自启动脚本的代码实现参考edk2/ShellPkg/Applicati

2020-05-29 11:26:04 1140

原创 UEFI shell - 内置命令

一. UEFI shell 基础内置命令其命令实现在ShellPkg/Library下:主要有调试(Debug1),驱动(Driver1),网路(NetWork1),网路(NetWork2),安装(Install1),Level1,Level2,Level3。已经集成在shell内部,可以使用用help查看想要查询特定的命令,使用help cmd 或者cmd -?1. Shell命令的通用选项命令行参数作用-b,-break输出信息分屏显示-q,-quit

2020-05-29 11:24:21 791

原创 UEFI shell - 简单认识

1. UEFI shell作用EFI Shell是EFI提供的一个交互式的命令行Shell环境,在这里你可以执行一些efi应用程序,加载efi设备驱动程序.一般从Setup下面的Boot Manager或者快捷启动进入,其画风如下:2. UEFI shell的加载在edk2下面的ShellPkg就是UEFI shell对应的开源包从开发者角度讲其实就是一个UEFI_APPLICATION类型的应用程序,只是它的功能比较特殊而已.其工程文件ShellPkg/Application/Shell

2020-05-29 11:22:26 841

原创 BDS简单认识

1. BDS (Boot Device Select)DXE阶段最后会调用BDS.下面是DxeMain.c的代码部分// // Transfer control to the BDS Architectural Protocol // gBds->Entry (gBds); BDS 阶段负责加载额外的驱动,与用户交互,必要的硬件初始化,并转入操作系统。2. 代码流程分析BDS的入口在 MdeModulePkg/Universal/BdsDxe/BdsEntry.c下面看

2020-05-22 15:19:21 332

原创 SMBIOS-UEFI下实现add table

目的完成两个APPAPP1 添加一张新的数据表APP2 修改新添加表的内容添加表c文件/** @file add a type smbios table Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR> SPDX-License-Identifier: BSD-2-...

2020-04-29 16:19:35 214

原创 SMBIOS-UEFI下实现打印EPS

目的把 EPS (Entry Piont Structure)-入口结构表 打印出来,然后把数据表类型打印出来。参考edk2/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView/LibSmbiosView.c代码实现c文件/** @file test smbios Copyright (c) 2006 - 2018,...

2020-04-29 15:56:54 246

原创 SMBIOS-UEFI代码实现理解

1.SMBIOS在UEFI下实现分两部分:SmbiosDxe驱动SmbiosTableSmbiosDxe驱动主要功能是为了SmbiosTable部分提供接口函数。2. SmbiosDxe2.1 驱动入口函数SmbiosDriverEntryPoint2.2 驱动代码段SMBIOS_INSTANCE mPrivateData;/** Driver to produ...

2020-04-29 15:50:33 308

原创 SMBIOS-初识

一、SMBIOS和DMI1.1 SMBIOS简单认识系统管理BIOS (System Management BIOS )是主板或者系统制造厂商以标准格式显示产品信息所遵循的统一规范。每个主板厂商或者OEM厂商所生产的电脑,在出厂的时候都会按照smbios标准将信息写入到bios中。这些信息包括BIOS信息、系统信息、处理器信息、设备信息等。1.2 DMI简单认识桌面管理接口 (De...

2020-04-29 15:49:17 862

原创 C程序中内存的分配

一、综述操作系统给C/C++编写的程序分配内存,通常将分配的内存划分为以下四个区域:栈区堆区数据区代码区二、四区介绍1.栈区栈内存只在程序运行时出现,在函数内部使用的变量、函数的参数以及返回值将使用栈空间,栈空间由编译器自动分配和释放。不同调用函数之间遵循后进先出的原则。栈区变量地址一般连续 1 #include <stdio.h> 2 3 int...

2020-03-24 10:54:27 38

原创 认识main函数

一、main函数的写法51单片机里面我们写main函数都是以https://blog.csdn.net/z_ryan/article/details/80985101void main() {}这种形式来写的,其实这样写在51中是可以的,但是严格来说是不规范的。规范的写法一共有三种:1.无参数main 函数不带参数的写法 1 #include <stdio.h> ...

2020-03-09 10:23:37 83

原创 源代码转化为可执行文件分析

1. 流程一个简单C程序:编辑 (编辑器)->预处理 (预处理器)->汇编 (汇编器)->链接 (链接器)->可执行代码如下:2. 流程分析

2020-01-15 11:31:40 129

原创 DXE-Event和Timer练习

UEFI内部只使用时钟中断,摒弃了其他中断,所以异步操作通过Event实现。至于使用event替代中断的优点,个人认为在于,使用中断不方便代码在不同平台的移植。

2020-01-15 10:15:23 119

原创 使用qemu调试OvmfPkg

一、OVMF介绍OVMF二、环境搭建1.安装qemuX86_642.edk环境参考前面EmulatorPkg模拟器搭建环境https://editor.csdn.net/md/?articleId=1034687601.调试方法先build OvmfPkgrun qemu虚拟机qemu-system-x86_64 -bios "/home/zl/workspace/edk2...

2019-12-30 10:52:42 257

原创 DXE编程 - Handle和Protocol的简单运用

一、Handle和Protocol的API描述如下:NameDescriptionInstallProtocolInterfaceRemoves a protocol interface from a device handle.UninstallProtocolInterfaceRemoves a protocol interface from a device...

2019-12-27 14:59:24 349

原创 PEI编程练习 - hob简单练习

1

2019-12-26 15:12:30 481 4

原创 PEI编程练习 - Ppi练习

主要分为两部分,一部分install ppi,一部分locate ppi。 需要用到前面写的LibInstallc文件PATH:edk2/EmulatorPkg/TestByMy/PeiTest/MyFirstPeiLib/MyFirstPeiLib.c代码部分:/*++ @fileCopyright (c) 2019a peim**/#include <Uef...

2019-12-26 15:12:05 454 4

原创 PEI编程练习 - 写一个Lib静态库

写一个在PEI阶段用的Lib静态库,里面封装简单的API,方便后面写PPI调用。具体实现如下:head文件Head文件PATH:edk2/EmulatorPkg/Include/Library/MyFirstPeiLib.h/** @fileCopyright (c) 2019**************/#ifndef _MY_FIRST_PEI_LIB#defin...

2019-12-26 15:11:45 88

原创 PEI - PEI阶段分析

本文参考:UEFI Platform Initialization specification (PI)Pre-EFI Initialization (PEI) PhaseThe PI Architecture requires the PEI phase to configure a system to meet the minimum prerequisit...

2019-12-26 15:11:09 423

原创 使用EmulatorPkg 模拟器调试

一、Windows下环境的搭建1.安装windows下nasm汇编支持2.安装python(安装PATH方式)3.安装vs2017操作执行: 在根目录执行edksetup.bat,确认PATH是否正确在BaseTool里面,编译工具,使用make然后buildEmulatorPkg ,最后跑模拟器调试(在buildEmulatorPkg 的ReadMe查看)二、linux下环境搭建...

2019-12-26 15:10:21 406

原创 简单了解UEFI 系统的启动过程

2019-12-26 15:09:41 607

原创 Ubuntu下使用dd命令制作U盘启动盘

一、dd命令详解参考以下链接:dd命令详解二、使用dd制作U盘启动盘1、找到U盘:sudo fdisk -l2、卸载U盘sudo umount /dev/sdb4

2019-12-26 15:06:43 172

原创 初识Legacy和UEFI

BIOS (Basic Input Output System)1975年由IBM 提出,在主板上电时,执行硬件初始化,再加载操作系统。现在一般使用“legacy”表示。2.UEFI统一可扩展固件接口(Unified Extensible Firmware Interface)...

2019-12-26 14:57:03 120

DOSBox汇编环境.7z

DOSBox 是一个 DOS 模拟程序,由于它采用的是 SDL 库,所以可以很方便的移植到其他的平台。DOSBox的最新版本已经支持在 Windows、Linux、Mac OS X、BeOS 、palmOS、Android 、webOS、os/2等系统中运行。这里是windows下安装包

2020-06-12

空空如也

空空如也

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

TA关注的人 TA的粉丝

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