易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux NAND FLASH驱动代码分析


作者:范一航,华清远见深圳高级讲师
FLASH驱动在嵌入式系统中有着举足轻重的位置,而目前市场上NAND FLASH的价格又要便宜与NOR FLASH,随着越来越多的平台支持从NAND FLASH中启动,掌握NAND flash的驱动编写有着重要的现实意义,由于内核已经完成了大部分的工作,实际工作中大部分工程师对NAND FLASH驱动只是简单的修改,对其工作原理并不太清楚,下面我们来分析一下NAND FLASH的代码流程,从中体会块设备的代码之美。
在学习NAND FLASH驱动之前,我们需要对块设备中下面的重要2点有个认识:
1.gendisk: 描述块设备实体(一整个nandflash芯片)的结构体
        整个块设备的注册过程都是围绕gendisk来开展的
2. add_disk() // 将一个分区信息(如/dev/mtdblock3)注册到内核列表中
下面我们来分析具体的驱动:
一、s3c2410nandflash控制器初始化步骤:
        s3c2410_nand_init(&s3c2410_nand_driver)
        -> driver_register->bus_add_driver()->driver_attach->bus_for_each_dev(__driver_attach)->driver_probe_device()->dev->probe() [最后这个函数实质是s3c2410_nand_probe()]
        -> s3c2410_nand_probe()
                        -> s3c24xx_nand_probe()
                                -> s3c2410_nand_inithw() // 初始化nandflash控制器
                                        -> s3c2410_nand_init_chip()// 初始化s3c2410 nandflash驱动最底层的访问控制函数
                  &nbs


相关文档:

实战Linux Bluetooth编程(三) HCI层编程

1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI)  就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......

linux磁盘操作命令详解

1.分区与格式化原理
硬盘的分区分主MBR(446byte),主分区表(64byte),分区.
2.使用linux中的fdisk分区
fdisk /dev/sdb
p 打印分区表
t 转换分区表
w 写进分区表
n 新建分区
v 检查分区
注:fdisk使用完要重新启动.新硬盘不用.
3.linux的格式化软件
mkfs-支持ext2,ext3,vfat,msdos,jfs,reiserfs等
用法1:mkfs ......

linux狂人语录

GNU/Linux 不是每个人都想用的。如果你只需要处理一般的事务,打游戏,那么你不需要了解下面这些了。
  我不是一个狂热的自由软件份子,虽然我很喜欢自由软件。这篇文章也不是用来推行自由软件运动的,虽然我觉得自由软件运动是非常好的。
  这篇文章也不是用来比较 Linux 和 Windows 内核效率,文件系统,网络服务的 ......

用cygwin ssh rsync同步windows与linux文件

一:安装cygwin
       下载地址:www.cygwin.com/setup.exe;安装方法可参考www.cygwin.cn,可以选择internet安装,如果安装文件已经下载,可以在本地安装;
1.       修改环境变量:系统和用户path中增加:盘符\cygwin\bin;盘符是具体要安装的磁盘;
2.&nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号