NandFlash驱动分析

发布者:SereneWanderer最新更新时间:2024-08-14 来源: cnblogs关键字:NandFlash  驱动分析  s3c2410 手机看文章 扫描二维码
随时随地手机看文章

137 

138     /*

139      * AddrCycle[1]:1 = 发送地址需要5个周期

140      */

141     nand_regs->nfconf |= 1<<1;

142 

143     /*

144      * MODE[0]:1     = 使能Nand Flash控制器

145      * Reg_nCE0[1]:1 = 取消片选

146      */

147     nand_regs->nfcont |= (1<<1)|(1<<0);

148         

149     /*4.使用*/

150     tiny_nand_mtd = kzalloc(sizeof(struct mtd_info), GFP_KERNEL);

151     tiny_nand_mtd->owner = THIS_MODULE;

152     tiny_nand_mtd->priv = tiny_nand_chip;

153 

154     nand_scan(tiny_nand_mtd, 1);

155 

156     /*5.添加分区*/

157     add_mtd_partitions(tiny_nand_mtd, tiny_nand_part, 3);

158 

159     return 0;

160 }

161 

162 static void tiny_nand_exit(void)

163 {

164     del_mtd_partitions(tiny_nand_mtd);

165     kfree(tiny_nand_mtd);

166     iounmap(nand_regs);

167     kfree(tiny_nand_chip);

168 }

169 

170 module_init(tiny_nand_init);

171 module_exit(tiny_nand_exit);

172 

173 MODULE_LICENSE('GPL');


[1] [2] [3] [4]
关键字:NandFlash  驱动分析  s3c2410 引用地址:NandFlash驱动分析

上一篇:NorFlash驱动
下一篇:块设备驱动程序

推荐阅读最新更新时间:2026-01-28 01:05

linux下的nandflash驱动分析(3)——基于s3c6410平台
在上一篇中probe函数中的一个很重要的函数nand_scan函数,现在来说另外一个很重要的函数add_mtd_partitions函数,add_mtd_partitions()会对每一个新建分区建立一个新的mtd_part 结构体,将其加入mtd_ partitions中,并调用add_mtd_device()将此分区作为MTD设备加入mtd_table。成功时返回0,如果分配mtd_part时内存不足,则返回-ENOMEM。 1、在说这个函数前,先说下,与这有关的结构体struct mtd_part和struct mtd_partition结构体,如下所示: mtd_part结构体用于描述分区,其mtd_info结构体
[单片机]
存储器扩展连接理解(S3C2410为例)—NandFlash
1. NandFlash接口电路 2. NandFlash接口信号 * NandFlash接口信号较少 * 数据宽度只有8Bit,没有地址总线。地址和数据总线复用,串行读取 信号名称 信号描述 IO 数据总线 CE# 片选信号(Chip Select),低电平有效 WE# 写有效(Write Enable),低电平表示当前总线操作是写操作 RE# 读有效(Read Enable),低电平表示当前总线操作是读操作 CLE 命令锁存(
[单片机]
存储器扩展连接理解(<font color='red'>S3C2410</font>为例)—<font color='red'>NandFlash</font>
S3C2410扩展NandFlash
1. NandFlash接口电路 2. NandFlash接口信号 * NandFlash接口信号较少; * 数据宽度只有8Bit,没有地址总线。地址和数据总线复用,串行读取; 信号名称 信号描述 IO 数据总线 CE# 片选信号(Chip Select),低电平有效 WE# 写有效(Write Enable),低电平表示当前总线操作是写操作 RE# 读有效(Read Enable),低电平表示当前总线操作是读操作 CLE 命令锁存(Command Latch Enable)信号,写
[单片机]
NandFlash系列之二:S3C2410读写Nand Flash分析
  一、结构分析   S3C2410处理器集成了8位NandFlash控制器。目前市场上常见的8位NandFlash有三星公司的k9f1208、k9f1g08、k9f2g08等。k9f1208、k9f1g08、k9f2g08的数据页大小分别为512Byte、2kByte、2kByte。它们在寻址方式上有一定差异,所以程序代码并不通用。本文以S3C2410处理器和k9f1208系统为例,讲述NandFlash的读写方法。   NandFlash的数据是以bit 的方式保存在memory cell里的,一般来说,一个cell 中只能存储一个bit,这些cell 以8 个或者16 个为单位,连成bit line,形成所谓的byte(
[单片机]
S3C2410看门狗驱动分析
根据linux中总线、设备和驱动这个模型来看,所有的设备驱动都挂在总线上,并且驱动应该是和平台无关的。唯一和平台有关的一类驱动应该是芯片内部的各个控制器的驱动,例如芯片内部I2C控制器,芯片内部LCD控制器,芯片内部看门狗等等。如果是一个外部的LCD控制器的驱动程序,它的实现一定要和平台无关,这样针对不同的平台只要修改板级文件即可,而不需要修改驱动程序本身。从linux内核源代码中的S3c2410_wdt.c(位于drivers/watchdog中)可以看出,从不同的角度看,看门狗分别可以属于:平台设备、字符设备和混杂设备。所以可以看到该驱动程序中不仅实现了平台设备驱动的probe, remove等函数,还实现了字符设备的file
[单片机]
<font color='red'>S3C2410</font>看门狗<font color='red'>驱动</font><font color='red'>分析</font>
s3c2410触摸屏驱动(2.6内核)分析 -中断下半部
驱动不是很多,在此把它贴出来然后加上必要的注释: #include linux/config.h #include linux/errno.h #include linux/kernel.h #include linux/module.h #include linux/slab.h #include linux/input.h #include linux/init.h #include linux/serio.h #include linux/delay.h #include asm/io.h #include asm/irq.h #include asm/arch/regs-adc.h #include asm/arch/re
[单片机]
S3C2410触摸屏驱动代码分析2
#define mode_x_axis_n() { ADCTSC = XP_EXTVLT | XM_GND | YP_AIN | YM_HIZ | XP_PULL_UP_DIS | XP_PST(NOP_MODE); } /*基本配置和上面相同,就是不进行x 坐标的转换*/ #define mode_y_axis() { ADCTSC = XP_AIN | XM_HIZ | YP_EXTVLT | YM_GND | XP_PULL_UP_DIS | XP_PST(Y_AXIS_MODE); } /*对Y 坐标开始进行测量 */ #define start_adc_x() { ADCCON = PRESCALE_EN | PR
[单片机]
s3c2410触摸屏驱动(2.6内核)分析
s3c2410触摸屏驱动驱动不是很多,在此把它贴出来然后加上必要的注释: #include linux/config.h #include linux/errno.h #include linux/kernel.h #include linux/module.h #include linux/slab.h #include linux/input.h #include linux/init.h #include linux/serio.h #include linux/delay.h #include asm/io.h #include asm/irq.h #include asm/arch/regs-adc
[单片机]
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved