不浮躁
发布时间:2014-11-14 20:51:46
一、概述该按键驱动原理虽简单,但是在处理中却运用到了Linux驱动中中断的一些关键技术,比如“顶半部”和“底半部”使用,等待队列的设置。这里“顶半部”即中断处理函数运行时间很短,基本就做了两件事:1、关中断;2、调用定时器。具体代码如下:二、需要的结构定义.........【阅读全文】
发布时间:2014-11-14 20:51:28
一、字符设备结构1.内核内部使用struct cdev结构来表示字符设备。在内核调用设备的操作之前,必须分配并注册一个或多个struct cdev。struct cdev { struct kobject kobj;//每个 cdev 都是一个 kobject struct module *owner;//指向.........【阅读全文】
发布时间:2014-11-14 20:51:11
相关数据结构:struct cdev { struct kobject kobj; struct module *owner; const struct file_operations *ops; struct list_head list; dev_t dev; &nbs.........【阅读全文】
发布时间:2014-11-14 20:49:24
BIOS 简述:当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设.........【阅读全文】
发布时间:2014-11-14 20:48:51
一、32位CPU系统级寄存器和数据结构二、寄存器分类介绍通用寄存器:8个,分别为EAX,EBX,ECX,EDX,ESP,EBP,ESI,EDI标志寄存器:1个,EFLAGS控制寄存器:5个,分别为CR0-CR4调试寄存器:8个,分别为DR0-DR7系统地址寄存器:4个,GDTR、IDTR、LDTR和TR16位段寄存器:6个,分别为CS,DS,ES,FS,GS,SS其他寄存器:EIP、TS.........【阅读全文】
发布时间:2014-11-14 20:44:05
一、数据结构 中断机制的核心数据结构是 irq_desc, 它完整地描述了一条中断线 (或称为 “中断通道” )。irq_desc 结构在 include/linux/irq.h 中定义: typedef void fastcall (*irq_flow_handler_t)(unsigned int irq, struct irq_desc *desc); struct irq_.........【阅读全文】