首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
Smart210学习记录----nand flash驱动
】的更多相关文章
Smart210学习记录----nand flash驱动
[详解]如何编写Linux下Nand Flash驱动 :http://www.cnblogs.com/linux-rookie/articles/3016990.html 当读写文件请求到来的时候,流程如下 1.通过vfs进入文件系统, 2.文件系统把文件读写转换为块设备读写,其中有运用算法对读写操作进行合并,排序等,最后把块设备读写放进队列 3.循环从队列中取出读写要求,然后用处理函数(blk_init_queue设置)进行处理. 这个函数就是连接上层(IO调度)跟底层(硬件操作)的桥梁,当…
Smart210学习记录------nor flash驱动
nor flash驱动与nand flash驱动的差别不大,只是设置不同的结构体而已,, nor flash驱动代码: #include <linux/module.h> #include <linux/types.h> #include <linux/kernel.h> #include <linux/init.h> #include <linux/slab.h> #include <linux/device.h> #include…
Smart210学习记录-----Linux i2c驱动
一:Linux i2c子系统简介: 1.Linux 的 I2C 体系结构分为 3 个组成部分: (1) I2C 核心. I2C 核心提供了 I2C 总线驱动和设备驱动的注册.注销方法,I2C 通信方法(即“algorithm”)上层的.与具体适配器无关的代码以及探测设备.检测设备地址的上层代码等. (2) I2C 总线驱动. I2C 总线驱动是对 I2C 硬件体系结构中适配器端的实现,适配器可由 CPU 控制,甚至可以直接集成在 CPU 内部. I2C 总线驱动主要包含了 I2C 适配器数据结构…
Smart210学习记录------linux串口驱动
转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=27025492&id=327609 一.核心数据结构 串口驱动有3个核心数据结构,它们都定义在<#include linux/serial_core.h> 1.uart_driver uart_driver包含了串口设备名.串口驱动名.主次设备号.串口控制台(可选)等信息,还封装了tty_driver(底层串口驱动无需关心tty_driver). struct…
Smart210学习记录-------Linux设备驱动结构
cdev结构体 1 struct cdev { 2 struct kobject kobj; /* 内嵌的 kobject 对象 */ 3 struct module *owner; /*所属模块*/ 4 struct file_operations *ops; /*文件操作结构体*/5 struct list_head list; 6 dev_t dev; /*设备号*/ 7 unsigned int count; 8 }; 1.struct file_operati…
Nand Flash驱动(实现初始化以及读操作)
简单制作一个Nand Flash驱动(只需要初始化Flash以及读Flash) 打开2440芯片手册,K9F2G08U0M芯片手册(因为2440中Nand Flash是用的256MB(2Gb)内存,8个数据引脚) 在芯片手册中得到K9F2G08U0M=2048块Block=128K页Pages=256MB=2Gb 1块Block=64页Pages 1页=(2K+64)B (因为每个地址里都存放了一个字节,所以用B表示) 其中64B是存放ECC的OOB地址,(ECC:存放判断…
如何编写linux下nand flash驱动-2
[Nand Flash引脚(Pin)的说明] 图3.Nand Flash引脚功能说明 上图是常见的Nand Flash所拥有的引脚(Pin)所对应的功能,简单翻译如下: 1. I/O0 ~ I/O7:用于输入地址/数据/命令,输出数据 2. CLE:Command Latch Enable,命令锁存使能,在输入命令之前,要先在模式寄存器中,设置CLE使能 3. ALE:Address Latch Enable,地址锁存使能,在输入地址之前,要先在模式寄存器中,…
十八、Nand Flash驱动和Nor Flash驱动
在读者学习本章之前,最好了解Nand Flash读写过程和操作,可以参考:Nand Flash裸机操作. 一开始想在本章写eMMC框架和设备驱动,但是没有找到关于eMMC设备驱动具体写法,所以本章仍继续完成Nand Flash设备驱动,eMMC这个坑留在以后填.如果读者开发板为eMMC,本节驱动可能无法正常执行. 在裸机操作中,读者应了解Nand Flash时序图.Nand Flash片选.读写和擦除等操作,在此不再赘述. 一.Nand Flash驱动分析 Nand Flash设备驱动放在dri…
linux2.6.30.4内核移植(2)——Nand Flash驱动移植
内核源码:linux2.6.30.4 交叉编译工具:3.4.5 移植linux内核至:TQ2440 工作基础:http://www.cnblogs.com/nufangrensheng/p/3669623.html Linux内核中已经做好了Nand Flash的驱动,只需要进行适当的修改即可使用. 一.修改内核源码arch/arm/plat-s3c24xx/common-smdk.c文件: 1.修改其中的smdk_default_nand_part[]结构体(大概在109行),将其修改为如下所…
linux下Pl353 NAND Flash驱动分析
linux的NAND Flash驱动位于drivers/mtd/nand子文件夹下: nand_base.c-->定义通用的nand flash基本操作函数,如读写page,可自己重写这些函数 nand_bbt.c-->与坏块管理有关的函数和结构体 nand_ids.c-->nand_flash_ids[](芯片ID)和nand_manuf_ids[](厂商ID) nand_ecc.c-->软件ECC代码,若系统支持硬件ECC.则不用理会这个文件 pl353_nand.c-->…