返回首页
当前位置: 主页>Flash存储开发>

基于Nand Flash存储技术的嵌入式linux系统设计

时间:2018-03-12 02:58来源:USB开发群 作者:USB开发频道 点击:

  

  现今嵌入式存储产品已渗透进人们生活工作中的方方面面,从ATM 机到手持通讯设备。社会对嵌入式产品的性能也有越来越高的要求:大容量,高速度,断电保护,体积限制等等。当前数据记录仪的容量和速度普遍偏小。本文旨在研究一种的数据存储容量达512MB 高速数据记录仪,它可以用于多路信号采集系统中。重点研究在嵌入式linux 系统平台的架构下基于NandFlash 的存储技术。

本文来自织梦

  引言 copyright dedecms

  FLASH 是一种不挥发性内存,在无电流供应的条件下也能够长久地保持数据,相对于传统的存储介质具有无可比拟的优势。目前主要的闪存分为两类:Intel 首先开发的NOR flash 和东芝发布的NandFlash。

织梦好,好织梦

  Nor FLASH 的特点是芯片内执行。应用程序可以直接在闪存内运行。不必再把代码读到系统RAM 中。NOR 的传输效率很高,但是写入和擦除速度很低。Nandflash 存储单元的读写是以页和块为单位来进行,这种结构最大的优点在于容量可以做得很大,NAND 闪存的成本较低,有利于大规模普及。主要功能是存储资料。故而现在码相机闪存卡和MP3 播放器中存储设备几乎全部是NandFlash。现在大部分的嵌入式设备厂商出于成本的考虑都选择了NandFlash 作为存储设备。这样增加了软件设计的复杂度,降低了系统效率而且也限制了Flash 容量。 织梦内容管理系统

  结合两类闪存的优缺点,本文中我们选择NandFlash 作为数据记录仪上午数据存储器,norflash 作为数据记录仪的程序存储器。

本文来自织梦

基于Nand Flash存储技术的嵌入式linux系统设计 copyright dedecms

dedecms.com

图1:系统整体结构图图 织梦内容管理系统

  数据记录仪设计整体包括两块,其部分是数据采集模块一部分是数据存储模块,用TLC2578 芯片来实现数据采集AD 转换,系统的调度核心是ARM 处理器,在这里使用S3c2440,ARM 主要负责核心处理和控制。存储器负责程序和数据的存储,其中Nand FLASH 存储数据文件,Nor Flash 负责存储bootloader,操作系统内核和文件系统,SDRAM 存储系统运行时的程序和数据,ARM 通过GPIO 连接相关继电器、触发设备、输出电压控制设备、以及特定设备采样A/D 并进行驱动。

内容来自dedecms

  S3C2440 是三星公司的ARM920T 的ARM 控制器:支持32 b 的高速AMBA 总线接口;带有MMU,可以进行Linux 操作系统的移植;支持大页NAND 闪存控制器。NandFlash 芯片选用K9F4G08U0M,这是Samsung 生产的512 MB 的NAND Flash 存储器。内部存储结构为(2K+64)字节&TImes;32 页&TImes;4 096 块,NAND Flash 接口信号比较少,数据线宽度只有8bit,CLE 和ALE 两个引脚信号用来区分总线上的数据类型,没有地址总线。Nor Flash 采用16MX16 位的E28F128J3A,NORFlash 接口与系统总路线完全匹配,16 个数据输入输出引脚,可以连接在系统总线上。NORFlash 有三个芯片片选引脚信号,选用作为片选信号,与处理器引脚相连。BYTE接高电平,表示Flash 在16 位数据传输模式下。 内容来自dedecms

  系统软件组成 织梦内容管理系统

  本系统的软件部分包括应用程序和系统程序,应用程序主要是 AD 采集和读写Flash,见图2,而系统程序就是应用程序工作的软件平台。它由以下部分组成:系统引导程序、嵌入式操作系统linux 内核、文件系统。 copyright dedecms

  系统引导程序负责将操作系统内核固化到Flash 中和系统初始化工作,然后将系统控制权交给操作系统。在本文里我们使用uboot 作为系统引导程序。嵌入式操作系统内核是嵌入式系统加电运行后的管理平台,负责实时性任务和多任务的管理,这里选择嵌入式linux 内核。 内容来自dedecms

  文件系统是对一个存储设备上的数据和元数据进行组织的机制。Linux 文件系统接口实现为分层的体系结构,从而将用户接口层、文件系统实现和操作存储设备的驱动程序分隔开。JFFS2 是专门针对嵌入式系统中的Flash 存储器的特性而设计的一种日志文件系统。YAFFS2 支持大页面的NAND 设备,并且对大页面的NAND 设备做了优化。 dedecms.com

  软件平台固化在Nor Flash 中。根据软件平台的内容 对Nor Flash 的地址空间进行分区,这里分三个区,分别存放bootloader、Linux 内核和文件系统。

dedecms.com

  NandFlash 驱动设计

dedecms.com

  NandFlash 驱动程序框架

dedecms.com

  按照 linux 下驱动编写规范编写nand flash 驱动,其实主要工作就是实现下面这个结构体中的函数。

织梦内容管理系统

基于Nand Flash存储技术的嵌入式linux系统设计 copyright dedecms

本文来自织梦

  s3c2440_nand_drive 这个结构体用于向内核注册Nand Flash 设备,它会被platform_driver_register 函数调用到。其中s3c2440_nand_probe 是最重要的,它完成对nand 设备的探测。

内容来自dedecms

基于Nand Flash存储技术的嵌入式linux系统设计 dedecms.com

内容来自dedecms

  Nand_scan 是在初始化nand 的时候对nand 进行的一步非常好重要的操作,在nand_scan 中会对我们所写的关于特定芯片的读写函数重载到nand_chip 结构中去,并会将mtd_info 结构体中的函数用nand 的函数来重载,实现了mtd 到底层驱动的联系。并且在nand_scan 函数中会通过读取nand 芯片的设备号和厂家号自动在芯片列表中寻找相应的型号和参数,并将其注册进去。 内容来自dedecms

  NandFlash 读页操作函数

dedecms.com

  NandFlash 读数据操作以页为单位,读数据首先写入读数据命令00H(如图3),然后输入要读取页的地址,接着从数据寄存器中读取数据,最后进行ECC 校验。 内容来自dedecms




织梦内容管理系统






秦华 『上海买保险』上海地区人寿保险资深寿险顾问 上海外籍人士买保险-高端人士医疗办理
服务项目:儿童医疗/子女教育金/养老保险/重大疾病/意外伤害/员工团险/公众责任
免费热线『上海』:13761630213, QQ:107242375, Email:victor.qin@qq.com
选择保险事业 为了爱,为了一份坚定的承诺!MSN:
上海地区请直接拨打本人电话,应约免费上门提供免费保险方案。
Baoxian.ws>>           旅行签证保险、上门办理>>        重大疾病网>>     上海重大疾病一览    
友情链接: 走在上海人寿保险的前端    和讯保险博客    上海投保在线    Shanghai Insurance    秦华的个人简历


顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
图文并茂 我的链接
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
上海高端医疗/住院医疗保险信息
上海保险规划师信息
上海子女教育理财保险信息
上海保险规划师信息
上海女性高端生育保险方案-等待期
上海保险规划师信息
上海三口之家家庭保障方案
上海保险规划师信息
上海女性特色重大疾病保险方案
上海保险规划师信息
上海女性白领理财保险方案
上海保险规划师信息
上海养老理财规划保险方案
上海保险规划师信息
通过网络取得初步咨询
  •    
上海办理-免费咨询送计划书
上海买保险
上海办理-申根签证 出国旅行保险
上海买保险
上海买保险,海外基金,买保险,友邦保险,中国人民健康保险,养老保险,儿童保险,儿童医疗,子女教育金,太平洋保险,医疗保险,工伤保险条例,中国人寿保险,保险公司,中国平安保险,医疗险,进口药,自费药,外籍人士医疗,泰康人寿,英国保诚集团,上海综合保险,国际医疗保险,上海医疗保险,上海社会保险,上海养老保险,上海市综合保险,上海平安保险,上海太平洋保险,和睦家医院,上海综合保险卡,买保险,高端医疗,重大疾病,意外伤害,定期寿险,家庭理财,友邦保险,金茂大厦,少儿互助基金,上海社保,太平洋集团,港安医院