- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 U盘shell启动盘制作
写这篇文章是因为,虽然这种功能不是很常用,但需要时,查资料是真折腾。故记在这里,以备需要时查阅。 以下制作步骤,已经过验证。 制作UEFI USB启动盘. 分两种情况,如果目标平台是UEFI平台,按如下步骤来做: 1. 格式化U盘为FAT(FAT,FAT16, FAT32)格式 2. 在U盘上建立目录 efi\boot 3. 将efi的应用程序 copy到 ef
2014-02-25 10:56:00
11666
转载 Linux Device Driver1 -- "hello world"
1. hello.c#include #include MODULE_LICENSE("Dual BSD/GPL");static int hello_init(void){printk(KERN_ALERT "Hello, world\n");return 0;}static void hello_exit(void){printk(KERN_ALER
2014-02-14 13:46:50
701
转载 PCIE -- TLP格式
5.1 TLP的格式 (2011-08-08 16:21:32)转载▼标签:杂谈分类: 浅谈PCIe体系结构当处理器或者其他PCIe设备访问PCIe设备时,所传送的数据报文首先通过事务层被封装为一个或者多个TLP,之后才能通过PCIe总线的各个层次发送出去。TLP的基本格式如图5‑1所示。TLP的格式" name="ima
2013-04-09 10:18:17
27687
原创 XP 蓝屏分析攻略
转自: http://wqwq800123.blog.51cto.com/203277/132986最近我的Windows XP系统经常意外的蓝屏,本来想重装系统,但是由于需要重装的软件太多,于是决心查清楚蓝屏的具体原因,经过一番努力,终于找到了一个很好的蓝屏故障解决办法,下面和大家一起分享。 首先在讲解之前先做几个名词解释,以便大家理解本文: 第一步:打开“小内存转储”功能 右键点击“我的电脑”,选“属性→高级→启动和故障恢复→设置”,打开“启动和故障恢复”选项卡,在“写入
2010-09-17 17:03:00
792
转载 回车与换行
关于“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别。在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把
2010-09-06 11:22:00
360
原创 打开 关闭 beeper
初始化频率: cli mov al, 0B6h out 43h, al out 0edh, al mov al, 0Bh out 42h, al out 0edh, al mov al, 2 out 42h, al out 0edh, al sti 打开beeper in al, 61h jmp $+2 or al, 3 out 61h, al 关闭beeper
2009-12-03 10:48:00
493
1
原创 AMI BIOS 编译不过的处理方法
说明:本文参考右边连接整理而来。http://www.biosren.com/thread-1030-1-1.html 1. Code 路径:文件名不超过8字符,不要包含中文、空格。2. 安装了dotnetfx.exe (这是微软自己开发的东西,用.net.framework编写的软件必须要装这个,可以去微软官网下载: http://www.microsoft.com/down
2009-11-27 13:18:00
2624
原创 Option ROM 的调用 (phoenix bios)
?? postDoRomScan ;; 扫描并执行option rom ?? postDoRomInitDflt
2009-11-24 19:12:00
1268
原创 两个整数交换(不引入第三个变量)
int a, b; if (a*b >0) { /* a,b同正或同负 */ a=a-b; // a=a0-b0 (a0,b0代表原来的值) b=a+b; // b=a0-b0+b0=a0 a=b-a; // a=a0-(a0-b0)=b0 }elseif(a*b { a=a+b; // a
2009-11-17 17:26:00
589
原创 Phoenix BIOS Int 13h 入口
曾经因为要对某系统读取硬盘参数时候做特殊处理,trap代码,费了一番功夫才找到: fdiskIdeInterface PROC NEAR PUBLIC .... call cs:fdiskCmdTable[DI]
2009-11-10 11:56:00
558
原创 PCIE 1: PCIE 配置空间的存取
相对于PCI来说,PCIE最大不同之处就是配置空间增加到了4K(2*12)。 传统的PCI配置空间读写可以对PCIE的00h-0ffh操作,方法一致。但是对100-3ffh的访问需要一番周折了(下面以常见的Intel芯片为例,简单介绍): 1、初始化PCIE BaseAddress (Assume: PCIE_BaseAdd) 2、mov esi ,PC
2009-11-06 11:24:00
2296
1
原创 MBR的结构
概述 MBR(Master Boot Record),硬盘的主引导扇区,位于硬盘的cylinder 0, head 0, sector 1 (Sector是从1开始的)。MBR可以通过FDISK创建,通过INT 13h的fun 2来读取。 eg: 用debug读取硬盘的MBR mov ax, 0201 mov bx, 10
2009-10-12 16:18:00
1003
原创 Switch 的应用
1. 常规#include int main(void){ int i; for (i = 0; i switch (i) { case 1: printf("%d ", i); break; case 3: printf("%d ", i); break; case 5: pr
2009-10-12 15:40:00
854
原创 ACPI 中SCI的IRQ变更
需要更改3个方面: 1. 通常,对于Intel Chipsets来说,在APIC关闭情况下,SCI可以使用IRQ9,10,11。详细内容参考Intel手册,一般是在LPC的"ACPI Control"寄存器:SCI IRQ Select设置。 2. Fixed ACPI Description Table (FADT) Format的offse
2009-09-10 17:20:00
3033
原创 INT 16h 调用 (Logo模式)
PBIOS: INT16 必须在 POST结束的时候才能使用:即quietBootEndJ执行后。 quietBootEndJ PROC NEAR PUBLIC int 16h ;; failled call gfxScnTransitionFar ; Transition to OS Video mode int 16h ;; Passed jmp
2009-09-08 18:15:00
794
pci_e System Architecture
2013-04-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人