【简介】如何编写linux下nand flash驱动-1
version: 1.0
date:20090721
Author:crifan
Mail:green-waste(At)163.com
【编写驱动之前要了解的知识】
1. 硬件特性:
【Flash的硬件实现机制】
Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile Memory Device),与此相对应的是易失性存储设备(Volatile Memory Device)。关于什么是非易失性/易失性,从名字中就可以看出,非易失性就是不容易丢失,数据存储在这类设备中,即使断电了,也不会丢失,这类设备,除了Flash,还有其他比较常见的入硬盘,ROM等,与此相对的,易失性就是断电了,数据就丢失了,比如大家常用的内存,不论是以前的SDRAM,DDR SDRAM,还是现在的DDR2,DDR3等,都是断电后,数据就没了。
Flash的内部存储是MOSFET,里面有个悬浮门(Floating Gate),是真正存储数据的单元。
在Flash之前,紫外线可擦除(uv-erasable)的EPROM,就已经采用用Floating Gate存储数据这一技术了。
图1.典型的Flash内存单元的物理结构
数据在Flash内存单元中是以电荷(electrical charge) 形式存储的。存储电荷的多少,取决于图中的外部门(externa ......
【简介】如何编写linux下nand flash驱动-1
version: 1.0
date:20090721
Author:crifan
Mail:green-waste(At)163.com
【编写驱动之前要了解的知识】
1. 硬件特性:
【Flash的硬件实现机制】
Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile Memory Device),与此相对应的是易失性存储设备(Volatile Memory Device)。关于什么是非易失性/易失性,从名字中就可以看出,非易失性就是不容易丢失,数据存储在这类设备中,即使断电了,也不会丢失,这类设备,除了Flash,还有其他比较常见的入硬盘,ROM等,与此相对的,易失性就是断电了,数据就丢失了,比如大家常用的内存,不论是以前的SDRAM,DDR SDRAM,还是现在的DDR2,DDR3等,都是断电后,数据就没了。
Flash的内部存储是MOSFET,里面有个悬浮门(Floating Gate),是真正存储数据的单元。
在Flash之前,紫外线可擦除(uv-erasable)的EPROM,就已经采用用Floating Gate存储数据这一技术了。
图1.典型的Flash内存单元的物理结构
数据在Flash内存单元中是以电荷(electrical charge) 形式存储的。存储电荷的多少,取决于图中的外部门(externa ......
version: 1.0
date:20090721
Author:crifan
Mail:green-waste(At)163.com
上接:【简介】如何编写linux下nand flash驱动-1
http://green-waste.blog.163.com/blog/static/3267767820096221127554/
【读(read)操作过程详解】
以最简单的read操作为例,解释如何理解时序图,以及将时序图
中的要求,转化为代码。
解释时序图之前,让我们先要搞清楚,我们要做的事情:那就是,要从nand flash的某个页里面,读取我们要的数据。
要实现此功能,会涉及到几部分的知识,至少很容易想到的就是:需要用到哪些命令,怎么发这些命令,怎么计算所需要的地址,怎么读取我们要的数据等等。
下面,就一步步的解释,需要做什么,以及如何去做:
1.需要使用何种命令
首先,是要了解,对于读取数据,要用什么命令。
下面是datasheet中的命令集合:
图5.Nand Flash K9K8G08U0A的命令集合
很容易看出,我们要读取数据,要用到Read命令,该命令需要2个周期,第一个周期发0x00,第二个周期发0x30。
2.发送命令前的准备工作以及时序图各个信号的具体含义
知道了用何命令后,再去了解如何发送这些命令。
[小常识]
在开始解释前,多罗嗦一下&rd ......
version: 1.0
date:20090721
Author:crifan
Mail:green-waste(At)163.com
上接:【简介】如何编写linux下nand flash驱动-1
http://green-waste.blog.163.com/blog/static/3267767820096221127554/
【读(read)操作过程详解】
以最简单的read操作为例,解释如何理解时序图,以及将时序图
中的要求,转化为代码。
解释时序图之前,让我们先要搞清楚,我们要做的事情:那就是,要从nand flash的某个页里面,读取我们要的数据。
要实现此功能,会涉及到几部分的知识,至少很容易想到的就是:需要用到哪些命令,怎么发这些命令,怎么计算所需要的地址,怎么读取我们要的数据等等。
下面,就一步步的解释,需要做什么,以及如何去做:
1.需要使用何种命令
首先,是要了解,对于读取数据,要用什么命令。
下面是datasheet中的命令集合:
图5.Nand Flash K9K8G08U0A的命令集合
很容易看出,我们要读取数据,要用到Read命令,该命令需要2个周期,第一个周期发0x00,第二个周期发0x30。
2.发送命令前的准备工作以及时序图各个信号的具体含义
知道了用何命令后,再去了解如何发送这些命令。
[小常识]
在开始解释前,多罗嗦一下&rd ......
1.下载原版swf 列表版,使用decomplier转换成fla.
2.flash打开.弹出字符修改对话框,随便点一下,进入.
3.在主场景上,找到第一层,第一贞,上面有一个a字样的那贞,点击出动作编辑窗口,删除里面的内容,增加#include "as.as".
4.在库中找到sprite18,找到Mask Layer 3就是一个遮罩层, 在场景中选中这层的元件,也就是一个而已,属性中把它转换成mc电影,它当前是图片来的,然后命名zhezhao,为什么要改呢,因为原版中
用图片来zhezhao图片的,所以是没问题,但为了支持中文,必需使用设备文字,而图片这种zhezhao方法
对设备文字无效.英文话,就26个字母+10个数字+一些符号,嵌入字符也大不了多少,但是中文就不行了,
上万个字,所以要转换成mc电影用as方法来设置才可以.
5.在库中找到sprite6(track),在场景中找到名为trackname的text元件,修改字符系列成arial,点
字符嵌入,选择不嵌入,确定.
6.as.as放到fla同目录下,代码如下
btnplay._accProps = new Object();
btnplay._accProps.name = "Play (Lecture)";
btnplay._accProps.description = "正在播放";
btnplay._accProps.shortcut = "P";
btnpause._accProps = new Ob ......
分析了嵌入式环境中YAFFS/YAFFS2文件系统的优点,提出YAFFS2不仅支持小容量的NAND flash,对大容量NAND flash更具有优势。并介绍了YAFFS/YAFFS2文件系统结构。着重将YAFFS2文件系统在嵌入式Linux系统中的实现过程包括配置、编译以及测试整个完整过程作了详细的论述。
关键词 NAND flash,YAFFS/YAFFS2,嵌入式Linux系统
随着嵌入式系统在消费电子、航空航天、汽车电子、医疗保健、网络通信、工业控制等各个领域的广泛应用,嵌入式系统中的数据存储和管理已经成为一个重要的研究课题。Flash存储器具有存取速度快、容量大、成本低等很多优点,广泛用在嵌入式系统中做存储器件。目前,市场上Flash存储器主要有NOR(或非)和NAND(与非)两种类型。针对NOR Flash专门设计的文件系统JFFS/JFFS2(Journaling Flash File System)在嵌入式系统中已得到广泛的应用;随着NAND作为大容量存储介质的广泛应用,专门针对NAND flash特点编写的日志文件系统YAFFS/YAFFS2(Yet Another Flash File System)正逐渐被应用到嵌入式系统中。
一、NAND Flash简介
NOR 和NAND是现在市场上两种主要的非易失性闪存技术。Intel 公司于1988年首先开发出NOR Flash技术,NOR的传输效率较高,在1~4MB的小容量时 ......
分析了嵌入式环境中YAFFS/YAFFS2文件系统的优点,提出YAFFS2不仅支持小容量的NAND flash,对大容量NAND flash更具有优势。并介绍了YAFFS/YAFFS2文件系统结构。着重将YAFFS2文件系统在嵌入式Linux系统中的实现过程包括配置、编译以及测试整个完整过程作了详细的论述。
关键词 NAND flash,YAFFS/YAFFS2,嵌入式Linux系统
随着嵌入式系统在消费电子、航空航天、汽车电子、医疗保健、网络通信、工业控制等各个领域的广泛应用,嵌入式系统中的数据存储和管理已经成为一个重要的研究课题。Flash存储器具有存取速度快、容量大、成本低等很多优点,广泛用在嵌入式系统中做存储器件。目前,市场上Flash存储器主要有NOR(或非)和NAND(与非)两种类型。针对NOR Flash专门设计的文件系统JFFS/JFFS2(Journaling Flash File System)在嵌入式系统中已得到广泛的应用;随着NAND作为大容量存储介质的广泛应用,专门针对NAND flash特点编写的日志文件系统YAFFS/YAFFS2(Yet Another Flash File System)正逐渐被应用到嵌入式系统中。
一、NAND Flash简介
NOR 和NAND是现在市场上两种主要的非易失性闪存技术。Intel 公司于1988年首先开发出NOR Flash技术,NOR的传输效率较高,在1~4MB的小容量时 ......
由于我的那个《求flash控件的属性及事件方法在C#中》帖子由于我自己的回复超过3次,无法浮出水面了。
今天经过细心的观察网络的例子,明白了一些flash和C#的交互。把经验分享。
例子:
private void axShockwaveFlash1_FSCommand(object sender, AxShockwaveFlashObjects._IShockwaveFlashEvents_FSCommandEvent e)
{
if(e.command == "Send Action")
{
MessageBox.Show("调用FLASH按钮事件成功 "+e.args) ;
}
if(e.command == "Send Action1")
{
MessageBox.Show("调用FLASH自定义按钮事件成功 "+e.args) ;
}
}
private void button1_Click(object sender, System.EventArgs e)
{
string flashData = &n ......
C#与Flash交互 (转自小磊在线)
C#与Flash交互
前段日子公司要求做一个C#与Flash交互的东西,用来C#与短信猫通讯将数据传到Flash上显示与操作的应用。
第一步C#添加组件
打开VS2005-工具-选择工具箱项-COM组件-选择Shockwave Flash Object-确定
添加好组件往场景上拖放,如果提示注册需求注册
c# 注册控件-在运行输入-回车(flash9f.ocx这个文件以系统中实际文件为准。)
regsvr32 c:\windows\system32\macromed\flash\flash9f.ocx
或者regsvr32 c:\windows\system32\macromed\flash\flash10a.ocx
第二步将Flash组件拖入场景
将Flash组件拖入场景,设置加载的swf路径。设置组件id。
组件的Movie属性:指定要播放的swf的路径,
如果swf在本地硬盘,则需要写成 从盘符开始的绝对路径
如果swf在某网站上,则需要写成 完全的url网址
更多该组件属性/方法
第三步AS代码片段
刚开始用FSCommand与网页VBSCRIPT做了一个通讯,以为这样就能与C#通讯了,结果错误了。
还得用ExternalInterface.addCallback,ExternalInterface.call的方法来与C#通讯。
程序代码
import flash.external.*;
//向C#发送数 ......
C#与Flash交互 (转自小磊在线)
C#与Flash交互
前段日子公司要求做一个C#与Flash交互的东西,用来C#与短信猫通讯将数据传到Flash上显示与操作的应用。
第一步C#添加组件
打开VS2005-工具-选择工具箱项-COM组件-选择Shockwave Flash Object-确定
添加好组件往场景上拖放,如果提示注册需求注册
c# 注册控件-在运行输入-回车(flash9f.ocx这个文件以系统中实际文件为准。)
regsvr32 c:\windows\system32\macromed\flash\flash9f.ocx
或者regsvr32 c:\windows\system32\macromed\flash\flash10a.ocx
第二步将Flash组件拖入场景
将Flash组件拖入场景,设置加载的swf路径。设置组件id。
组件的Movie属性:指定要播放的swf的路径,
如果swf在本地硬盘,则需要写成 从盘符开始的绝对路径
如果swf在某网站上,则需要写成 完全的url网址
更多该组件属性/方法
第三步AS代码片段
刚开始用FSCommand与网页VBSCRIPT做了一个通讯,以为这样就能与C#通讯了,结果错误了。
还得用ExternalInterface.addCallback,ExternalInterface.call的方法来与C#通讯。
程序代码
import flash.external.*;
//向C#发送数 ......