自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

肢解BIOS

----整理了我在学习BIOS过程中的心得,拿出来和大家研讨,纠正不对的地方。

  • 博客(4)
  • 资源 (7)
  • 收藏
  • 关注

原创 【我所认知的BIOS】->反汇编BIOS之Bootblock(10)

当内存检测完毕,一切准备就绪的时候,award bios就会准备把bios从ROM里copy到实际的RAM中来。当然在做这些之前还做了其他的动作,比如说操作timer呀什么的,看上面的代码就好,不赘述了。从_F000:E439这行开始,bios先去在F000段搜索是否有压缩的字样(当然肯定是有啦。)找到后,把BIOS从ROM里面copy出来,分别放到了10000-2FFFFH(E000和F000分别对应1000和2000)对应的RAM里面,同时也备份了一份到180000H-19FFFFH里面。然后用一个

2010-06-28 09:09:00 8173 8

原创 【我所认知的BIOS】->反汇编BIOS之Bootblock(9)

为什么会有bootblock和非bootblock这么一说呢?其实就是因为有没有真正的内存可以用的区别。这个章节里我们一起来看看经过之前那些章节的讨论后,BIOS在初始化memory之前会做的一些动作。(稍微比较琐碎点,看起来比较枯燥。)Memory initial这个函数里面,会再做一些前期的准备工作。比如8259的中断控制器的初始化,PCIE的初始化,等等然后进入到intel提供的MRC里面去。那么这节就讲讲这个函数里面具体接触的东西。

2010-06-24 20:39:00 9974 3

原创 【我所认知的BIOS】->反汇编BIOS之Bootblock(8)

Memory对于一个计算机而言,很明显是非常非常重要的一个东西。没有他的话基本上电脑就要脑瘫了,(虽然也可以走路,但是和本山大叔小品里面的那些特殊人士差不多了,要么必须用拐,要么必须用轮椅。。。哈哈,扯远了。)在BIOS里面考虑的比较周全,为了能够万无一失地确保能够把memory初始化的工作做好,BIOS用了两套方案来初始化内存。一种方法非常严谨,校验和呀其他什么的都很齐全。另外一种方法就是直接进入到memory初始化的函数中去。前者确实是严谨,但是越严谨说明要求的条件就越多,条件越多就越有可能出错从而导致

2010-06-24 20:16:00 5594 6

转载 堆和栈的区别(转过无数次的文章)

一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的 全

2010-06-11 09:51:00 4459 4

【我所认知的BIOS】系列blog整理 1.23.2016.zip

这几年来,蛮多小伙伴都给我发邮件拿PDF版本。几年前写的文章格式什么的实在是太粗糙。最近我把所有的文章都整理了一下。其实该想法已经早就有了,只是最近才开始空闲。现在我把所有的文章整理好了以后上传到了CSDN和百度云盘分享给大家。把附件里面的再贴一遍。 涉及BIOS, UEFI, EFI, AHCI, ACPI, driver等底层的知识

2016-01-23

DEC file uEFI

DEC file uEFI UDK2010的说明文档,BIOS 必备文档之一。具体内容请大家下来以后学习

2014-03-15

UEFI 2.0 Driver Writer’s Guide

UEFI 2.0 Driver Writer’s Guide

2014-03-15

MinnowBoard.1.00-Source

研究uEFI用的 MinnowBoard开源firmware。

2014-03-15

ACPI tables 反汇编

BIOS工程师或者说firmware工程师把硬件用ASL代码抽象成ACPI table。显然都是由二进制组成的,要么是纯数据,要么是AML组成的代码数据混合体。尤其是像DSDT这样的table里面包含了大量的method操作函数。反正我本人我就特别想反汇编来看看,究竟是怎么回事。(当然市面上其实也有两个tool可以做到了,RW everything和ACPI Scope)我嘛是这样的一个人,自己亲自动手试过心里才舒坦的了。 • 第一步,写个ACPI dump把系统中的ACPI整个table dump出来。方法显然很简单,就是之前提到的暴力搜索到RSDP,然后把table一个个解析出来,然后保存起来。 • 第二步,用iASL.exe把保存下来的ACPI tables二进制形式disassemble出来。见图4.1

2014-01-28

Excel常用函数

汇总了一下比较全的Excel常用的函数。蛮不错的。

2014-01-03

BiosDisassembleData

主要是和《肢解BIOS系列》文章中的反汇编专题的BIOS bin文件和CBROM,MODBIN6.

2010-03-15

空空如也

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

TA关注的人

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