自定义博客皮肤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)
  • 收藏
  • 关注

原创 为树莓派3B+编译32位ms-iot RPi-UEFI固件

本来不打算写这个的,但是考虑到新手总会遇到一些坑,所以简单记录一下,以免后人跳坑。 方法一:按照MSFT 的建议:1.git clone https://github.com/ms-iot/RPi-UEFI.git2.git checkout ms-iot3.下载GNU ARM Embedded Toolchain 4.8 series,解压到工作目录下“\Tool...

2019-06-11 14:57:18 511

原创 为树莓派3B+编译 64位UEFI 固件

树莓派(RaspBerry) 是基于Arm架构的单板机,凭借着低廉的价格,丰富的社区资源风靡全球。 在Iot 大行其道的今天,微软也在树莓派上面开发了windows iot 的操作系统。为支持Windows,微软请Intel为树莓派开发了32位的UEFI 固件(项目地址)。但是微软的这个固件非常简陋,支持的功能也很有限。国外有位大神基于微软的项目又开发了64 位的UEFI 固件R...

2019-06-10 17:00:39 3643 1

原创 [业余知识:PC 硬件监控]单片机LED数码管显示从PC发来的CPU 温度

    这里不再多叙,想必对于任何一种单片机,这个是个基本的操作,所以直接看效果吧:

2018-08-29 11:07:12 1035 2

原创 [业余知识:PC 硬件监控]VC++通过串口发送数据

    有时候串口还是一种很方便的互通方式,速度尚可,接线方便,支持度相当广泛。这里我们写一个简单的程序把一个字符发送到指定的串口上去。    VC++借鉴了Linux一切皆文件的思想,把串口当作一个文件来操作:void SendToCom(int temp){ HANDLE hcom; hcom = CreateFile(_T("COM3"), GENERIC_READ | G...

2018-08-29 10:41:29 466

原创 [业余知识:PC 硬件监控]使用WinRing0 2.0.0.20读取CPU温度

    WinRing0 是一个强大的驱动程序,可以直接通过这个驱动读取CPUID,CPU MSR,TSC,IO port,PCI config等硬件信息。在WinRing0_1_3_1b版本之前是一个开源项目,之后就关闭了。而且目前的最新版本WinRing0 2.0.0.20已经阉割掉了全部的写寄存器的功能,之留下了读取CPUID,CPU MSR,TSC的功能。不能不说是一大遗憾。     ...

2018-08-29 10:33:24 10496 7

原创 [ACPI Common] 如何不编译BIOS的情况下去修改ACPI table

    在项目开发的时候经常会遇到只改ASL 的情况,如果条件不允许,没办法编译BIOS的时候,可以单独修改ACPI table来做测试。首先准备下面两个工具:asl.exe 这个工具是MSFT的ASL 工具。我们用它来将我们生成的aml 文件load到windows里面。参考:Microsoft ASL 编译器 iASL compiler and Windows ACPI tools,这...

2018-07-18 22:18:49 6241

原创 [Windows 日常]为什么设置windows SMB共享了之后,Windows10可以访问,手机却不能访问?

其实是因为SMB v1.0 sever被Microsoft给禁用了,如下:我们把它打开就好了:

2018-06-13 15:48:04 9691

原创 PCI Option ROM in BIOS

    虽然UEFI 出来十几年了,但是legacy 的阴影一直笼罩着我们。今天我们来看看Legacy里面的一个老朋友OpRom。以前很多PCI 设备上面都外挂一颗Rom,用来实现一些特定的功能,比如网络启动,硬盘保护,远程管理等等。后面比较常见的就只有网卡和显卡这两种设备还在用OpRom,独立的板卡有自己的板载Rom IC,板载的为了节约成本,就把OpRom包到BIOS里面。此外,OpRom也可...

2018-05-29 20:50:07 4440

原创 UEFI Common:UEFI 中的Runtime Services

    EFI System Table 里面有两个Services:Runtime Services和Boot Services,其中Runtime Services 是在UEFI 兼容系统上面几乎全时可用的Services,区别于Boot Services只能在EFI_BOOT_SERVICES.ExitBootServices()之前可用的特性。Runtime Services提供了几组有限...

2018-05-08 17:29:05 5425

原创 UEFI Common:Event 简单介绍和用法

    UEFI EVENT 的作用就是创建一个事件A,然后设定一个条件B,使得条件B满足的时候就执行这个事件A。条件B可以直接是EFI_BOOT_SERVICES.SignalEvent()这种直接调用事件A,也可以用EFI_BOOT_SERVICES.SetTimer()设定一个时间段后执行事件A,也可以是EFI_BOOT_SERVICES.RegisterProtocolNotify()在某...

2018-05-07 13:02:50 7650 1

原创 学习环境搭建:用Qemu模拟器搭建UEFI Serial Debug环境

    当我们想要学习UEFI 相关的东西的时候,有一台机器当然再好不过了,但是硬件环境总是日新月异,有没有一个相对比较方便、稳定的环境来学习UEFI相关知识呢?当然有了,UDK2017里面有个OVMF package可以模拟出一个BIOS bin file。我们可以用这个BIOS bin file在Qemu 模拟器里面模拟真实的UEFI 环境。    我们要准备的软件有:Qemu。com0com...

2018-05-02 17:31:18 3451

原创 XHCI Port status 寄存器介绍

    插播一条博客,今天刚好有同事问到说USB port的port status 寄存器位置在哪里,所以就翻了一下AMD PPR,找到相关的寄存器这里把步骤简单记录一下。    首先打开XHCI controller的PCI 配置空间,这里可以看到USB MMIO BAR=0xC0300000。然后翻PPR看到Port0 USB2.0 status offset=0x00420,Port10 U...

2018-04-05 21:23:54 3574 4

原创 BIOS 编译过程:C文件到EFI文件

    上一篇Blog介绍了exe的生成,从C 到 exe可以通过“cl /c”来编译到“obj”,然后再“link”到exe。如果用到其他lib的话,还需要用“/I<dir> add to include search path”来添加相应的lib文件。    这里我们写了一个最精简的Pkg,里面有个最精简的UEFI app,用来探究C文件到EFI文件的过程。这个UEFI app 代...

2018-03-15 23:33:28 4286

原创 BIOS 编译过程:C语言的编译

    BIOS里面很多Code都是C编写的,也是用VS 编译的。EFI文件和EXE可以说都是一个妈生的兄弟俩,所以我们先看一下EXE文件的编译,然后再去看EFI文件。    我们先写一个小程序,用VS编译一下看结果。程序如下:#include<stdio.h>void main(){ printf("Hello world!"); return;}    用管理员身份运行“...

2018-03-14 08:33:20 3546 2

原创 学习环境搭建:UDK2017 下载以及编译

    UDK2017 是EDK II 的一个经过测试的分支,可以认为是一个稳定的Release版本。所以后面使用的UEFI相关的代码都以这份代码为准,如果有其他问题会另外说明。   我习惯从SVN上面直接Checkout出来一份,这样Build Tool什么的不用像Git那样单独去下载配置。下载地址是:UDK2017    下载之后本机需要做的配置是:安装VS2013 with Update5 ...

2018-03-13 23:03:52 4271 2

原创 第一篇博客

    到现在工作有快有6年了,解了茫茫多的Bug,心里始终觉得缺了些什么。最近找了一个公司,面试了一下,才意识到自己这些年的工作太肤浅了。从一个不会搬砖的小工人变成了一个会狂搬砖的老工人,却不知道房子是怎么设计的。    所以,痛定思痛,决定好好整理一下自己的思路。从零开始,写一些简单的东西,完善一下自己的知识体系。暂时还没有什么完整的计划,所以打算先把自己熟悉的东西写出来。中间遇到什么问题,就...

2018-03-13 22:00:05 238

空空如也

空空如也

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

TA关注的人

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