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驱动最底层的访问控制函数
&nb
相关文档:
Flash activex控件一般安装在用户系统目录下:C:\WINDOWS\system32\Macromed\Flash\
其中大版本号用数字表示,如9,10,11等,小版本号用小写字母表示,如a, b, c, d, e。如最新稳定版本为:Flash10e.ocx。
Flash activex控件的相关注册表项:
HKEY_CLASSES_ROOT\ShockwaveFlash.ShockwaveFlash\CLSID
{D27CDB6E-AE6D-1 ......
下述设置以时钟源服务器IP地址为192.168.0.1为例。可以命令ntpstat 和 ntpq -p 查看本机NTPD服务状态。配置完成后,均需要重新启动NTPD服务 service ntpd restart
【服务器端设置】
1.将/etc/下的文件ntp.conf修改如下:
server 127.127.1.0 minpoll 4 maxpoll 5 ......
在进行嵌入式开发之前,首先要建立一个交叉编译环境,这是一套编译器、连接器和libc库等组成的开发环境。本文具体说明了嵌入式交叉编译环境的建立过程
和具体的操作步骤,希望能够对各位朋友搭建对应的交叉编译环境有所帮助。
一、所需软硬件环境
■ 主机环境
建立交叉编译工具链的主机环境:
Ubuntu 8.10,gcc-4.3 ......
Linux启动过程的剖析能帮助那些想深入学习Linux用户建立一个相关Linux启动过程的清晰概念,进而可以进一步研究Linux接下来是如何工作的。
Linux启动过程如下:当用户打开PC的电源,BIOS开机自检,按BIOS中设置的启动设备(通常是硬盘)启动,接着启动设备上安装的引导程序 lilo或grub开始引导Linux,Linux首先进行内核的引导 ......
在嵌入式平台上运行QTE时,使用的键盘通常不是标准键盘,而是嵌入式设备外扩的普通按键。那么实现QTE键盘输入的方
法大体上可以分为两类:
(1)编写一个普通按键驱动,然后开辟一个QT线程读取按键值,在通过信号把按键值发送出
去。需要接收键盘输入的目标,声明槽函数,接收键盘信号。
& ......