![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
驱动类
文章平均质量分 90
小木瓜
这个作者很懒,什么都没留下…
展开
-
块设备驱动注册和注销、加载与卸载、块设备驱动的I/O请求
块设备驱动注册和注销块设备驱动的第一个任务就是将他们自己注册到内核中,其函数原型如下: int register_blkdev(unsigned int major, const char* name);major参数是块设备要使用的主设备号,name为设备名,它会在/proc/devices中被现实.如果major为0,内核会自动分配一个新的主设备号,并由该函数返回原创 2011-11-28 21:05:12 · 5219 阅读 · 0 评论 -
Linux MIPS 启动分析
系统加电起动后,MIPS处理器默认的程序入口是0xBFC00000,此地址在无缓存的KSEG1的地址区域内,对应的物理地址是0x1FC00000,即CPU从0x1FC00000开始取第一条指令,这个地址在硬件上已经确定为FLASH的位置,Bootloader将Linux内核映像拷贝到 RAM 中某个空闲地址处,然后一般有个内存移动操作,目的地址在arch/mips/Makefile内指定:c原创 2012-05-16 11:23:49 · 1476 阅读 · 0 评论 -
Linux内核中NAND Flash坏块管理
由于NAND Flash的现有工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠,因此在NAND芯片出厂的时候,厂家只能保证block 0不是坏块,对于其它block,则均有可能存在坏块,而且NAND芯片在使用的过程中也很容易产生坏块。因此,我们在读写NAND FLASH 的时候,需要检测坏块,同时还需在NAND驱动中加入坏块管理的功能。 NAND驱动在加原创 2012-05-02 20:54:03 · 11554 阅读 · 3 评论 -
NAND Flash的坏块管理设计
NAND Flash的坏块管理设计摘要:主要介绍了基于嵌入式Linux的NAND Flash坏块管理设计和实现方案,详细阐述了坏块映射表的建立、维护及其相关算法,同时分析了此坏块算法在Linux内核及Bootloader中的具体应用。测试结果表明该算法能够处理NANDFlash的相关坏块问题,具有较高的稳定性。关键词:NAND Flash;嵌入式IAnux;映射表;坏块管理原创 2012-05-02 20:43:11 · 3025 阅读 · 1 评论 -
Nand Flash -详述4
【内存技术设备,MTD(Memory Technology Device)】MTD,是Linux的存储设备中的一个子系统。其设计此系统的目的是,对于内存类的设备,提供一个抽象层,一个接口,使得对于硬件驱动设计者来说,可以尽量少的去关心存储格式,比如FTL,FFS2等,而只需要去提供最简单的底层硬件设备的读/写/擦除函数就可以了。而对于数据对于上层使用者来说是如何表示的,硬件驱动设计者可以不关心原创 2012-03-15 09:47:14 · 1212 阅读 · 0 评论 -
Nand Flash -详述3
【Nand flash的一些典型(typical)特性】1.页擦除时间是200us,有些慢的有800us。2.块擦除时间是1.5ms.3.页数据读取到数据寄存器的时间一般是20us。4.串行访问(Serial access)读取一个数据的时间是25ns,而一些旧的nand flash是30ns,甚至是50ns。5.输入输出端口是地址和数据以及命令一起multiplex复用的。原创 2012-03-15 09:46:24 · 2629 阅读 · 2 评论 -
NAND FLASH ECC校验原理与实现
NAND FLASH ECC校验原理与实现作者:龙林 EMAIL:dragon_hn@sohu.com WEB:www.dragon-2008.comECC简介 由于NAND Flash的工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠,因此,在NAND的生产中及使用过程中会产生坏块。为了检测数据的可靠性,在应用NAND Flash的系统中一般都会采用一定的坏区原创 2012-03-15 09:59:12 · 1219 阅读 · 0 评论 -
NAND FLASH芯片R/B引脚上拉电阻的作用和阻值选择
NAND用R/B输出作为一种硬件方法标示页操作、擦除和随机读等操作的完成,平时R/B为高电平状态,但当NAND进行编程、随机读或擦除操作时变为低电平状态,操作完成后又变为高电平状态。R/B引脚为漏极开路驱动,因此需要接上拉电阻才能把R/B拉回高电平状态。R/B引脚端的上拉电阻电路图如下图所示:图中电容CL的值为常量:若器件的供电电压为1.8V,则CL=30pF;若供电电压为3.3V原创 2012-03-15 09:57:11 · 10832 阅读 · 1 评论 -
RamDisk工作原理
一 什么是RamDiskRam:内存,Disk:磁盘,在Linux中可以将一部分内存当作分区来使用,称之为RamDisk。对于一些经常被访问、并且不会被更改的文件,可以将它们通过RamDisk放在内存中,能够明显地提高系统性能。RamDisk工作于虚拟文件系统(VFS)层,不能格式化,但可以创建多个RamDisk。虽然现在硬盘价钱越来越便宜,但对于一些我们想让其访问速度很高的情况下,RamDi原创 2012-03-15 09:49:20 · 2445 阅读 · 1 评论 -
Nand Flash -详述2
【Nand Flash的物理存储单元的阵列组织结构】Nand flash的内部组织结构,此处还是用图来解释,比较容易理解:图2.Nand Flash物理存储单元的阵列组织结构上图是K9K8G08U0A的datasheet中的描述。 简单解释就是:1.一个nand flash由很多个块(Block)组成, 块的大小一般是 -> 12原创 2012-03-15 09:44:11 · 2735 阅读 · 1 评论 -
Nand Flash -详述1
1. 硬件特性:【Flash的硬件实现机制】 Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile Memory Device),与此相对应的是易失性存储设备(Volatile Memory Device)。这类设备,除了Flash,还有其他比较常见的如硬盘,ROM等,与此相对的,易失性就是断电了,数据就丢失了,比如大家常用的内存,原创 2012-03-15 09:43:08 · 1503 阅读 · 0 评论 -
驱动之路-设备模型(下)上层模型
一、重要知识点: 设备模型由总线、设备、驱动三要素组成。底层模型决定上层模型,在总线,设备,驱动的结构体中你总是可以看到它们间接或者直接的包含了kobject结构或kset结构。 1.总线 总线是处理器和设备之间的通道,在设备模型中,所有设备都通过总线相连,甚至内部的虚拟“platform”总线。在linux设原创 2012-03-08 16:14:37 · 1002 阅读 · 0 评论 -
驱动之路-设备模型(上)底层模型
一、重要知识点 1.Sysfs文件系统 Sysfs文件系统是一种类似于proc文件系统的特殊文件系统,它存在于内存当中,当系统启动时由内核挂载于内存当中。用于将系统中的设备组织成层次结构,并向用户模式程序提供详细的数据结构信息。 2.Linux设备底层模型 1)为什么要使用设备模型原创 2012-03-08 16:12:52 · 876 阅读 · 0 评论 -
基于2.6内核的pwm蜂鸣器驱动设计
基于2.6内核的pwm蜂鸣器驱动设计 一、开发环境 二、PWM怎样工作在ARM Linux中1. 什么是PWM? PWM(脉冲宽度调制)简单的讲是一种变频技术之一,是靠改变脉冲宽度来控制输出电压,通过改变周期来控制其输出频率。如果还不是很清楚,好吧,来看看我们实际生活中的例子,我们的电风扇为什么扭一下按扭,风扇的转速就会发生变化;调一下收音机的声音按钮,声音的大原创 2011-12-29 15:27:37 · 2066 阅读 · 0 评论 -
LCD裸机驱动程序设计 .
驱动程序流程----1----LCD初始化---端口初始化---显示模式初始化---帧缓冲初始化2----将图像写入帧缓冲端口初始化----------GPC5 GPC6GPC7未用-----GPC0-------10lineend 信号static v原创 2012-07-03 09:32:16 · 1384 阅读 · 1 评论