易截截图软件、单文件、免安装、纯绿色、仅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编程 (七) SDP协议

Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......

linux dfisk, du,df(磁盘空间信息)命令详解


df命令详细用法
 
a:显示全部的档案系统和各分割区的磁盘使用情形
i:显示i -nodes的使用量
k:大小用k来表示 (默认值)
t:显示某一个档案系统的所有分割区磁盘使用量
x:显示不是某一个档案系统的所有分割区磁盘使用量
T:显示每个分割区所属的档案系统名称
常用命令:df -hi
 
操作详解
&n ......

linux文家系统启动分析

一、内核启动完后,首先运行/linuxrc
        /linuxrc 内容:
             #!/bin/sh
             echo "mount /etc as ramfs"   ......

如何查看Linux版本号(内核版本号和发行版本号)

查看内核版本号的方法是:
打开一个终端,输入命令uname -r
比如Ubuntu9.10的内核是linux 2.6.31
CentOS 5.4的内核是linux2.6.18
查看发行版本号的方法是:
用命令找到/etc目录下的issue文件或release文件。 ls /etc/*issue* 或 ls /etc/*release*
然后直接用cat命令查看文件内容就知道版本号了:
比如在ubuntu lin ......

Linux内核中读写文件


最近在kernel 里面 coding,  找来一些资料 顺手贴来,方便查找。(感谢原作者的努力,若有版权问题,请联系)
 
 
 
有时候需要在Linux kernel--大多是在需要调试的驱动程序--中读写文件数据。在kernel中操作文件没有标准库可用,需要利用kernel的一些函数,这些函数主要有: filp_open() fi ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号