利用NAND Flash实现对嵌入式系统的远程更新

发布者:二进制心灵最新更新时间:2018-02-09 来源: 21ic关键字:NAND  Flash  嵌入式系统  远程更新 手机看文章 扫描二维码
随时随地手机看文章

引言


嵌入式系统在各个领域有着广泛的应用,嵌入式系统的维护与升级也变得日益重要。由于新技术的不断涌现和对系统功能、性能等要求的不断提高,开发者必须能够针对系统进行升级和维护,以延长系统的使用周期,改善系统性能,增强系统适应性。     


传统的嵌入式升级方式通常由维护人员到达设备现场进行重新烧写系统或者更换Flash存储部件,当设备数量庞大并且分布范围广泛时,这种升级维护方式的工作量将非常大,而且耗费的时间长、成本高。随着嵌入式技术的迅速发展,嵌入式系统的远程升级技术得到了快速发展。参考文献提出了一种基于GPRS的嵌入式系统软件的远程在线升级,通过GPRS网络实现对ARM嵌入式终端的系统软件进行在线升级。这种方法的不足在于无法实现系统本身的远程升级。参考文献实现了一种在Bootloader中实现嵌入式系统自动升级的方法,这种方法是将映像文件存储在CF卡中,系统重启时Bootloader将检测CF卡中的映像文件,读取映像文件并烧写到目标板的Flash中,实现升级。如果终端的数量较大且分布广泛,采用这种方法会增加很大的工作量。     


本文针对嵌入式Linux操作系统提出了一种新的更新机制,并且基于ARM9微处理器和NAND Flash存储器,对uboot和Linux内核进行修改,实现了对嵌入式Linux系统的远程自动更新。克服了传统方法工作量大的缺点,具有操作简单、更新速度快的特点。 


1 基本原理 

1.1 总体结构     


支持远程自动更新的嵌入式Linux系统机构,它可以分为嵌入式终端和远程管理系统两部分。系统的总体结构如图1所示,嵌入式终端采用基于ARM9架构的AT91RM9200微处理器,采用扩展的32MB SDRAM,由2片16位数据宽度的SDRAM芯片HY57V281620并连而成,采用64MB NANDFla sh存储芯片K9F1208,运行嵌入式Linux系统。远程管理系统选用PC机。嵌入式终端通过以太网连接到远程管理系统,管理人员可以通过telne t即可对各个嵌入式终端进行监控、管理和远程更新。

1.2 系统更新流程     

本设计对uboot和Linux内核进行改造,使其支持YAFFS2文件系统,对系统添加ftp、telnet等应用服务。系统更新流程如图2所示。系统正常运行时管理人员可以通过telnet远程登录到嵌入式终端进行监控和管理。当需要对系统进行更新时,通过远程管理系统的ftp客户端登录到嵌入式终端,将需要更新的内核映像和文件系统上传到NAND Flash。上传完毕后对原有的内核映像和文件系统进行备份并重启系统。系统重启后uboot将NAND Flash中更新后的内核映像和文件系统搬运到SDRAM中,然后跳转到SDRAM中启动Linux系统,挂载YAFFS2文件系统,启动各种应用服务。


2 关键技术

2.1 uboot支持YAFFS2文件系统

YAFFS2是专门针对嵌入式设备,特别是使用NAND Flash作为存储器的嵌入式设备而创建的一种文件系统。对uboot进行修改,使其支持YAFFS2文件系统,能够将系统内核和文件系统烧写到NAND Flash,同时也能够在NAND Flash中引导启动系统。NAND Flash的分布图如图3所示。系统烧写时,首先用JTAG丁具将uboot烧写到NAND Flash的最前面;然后在uboot上执行tftp命令将内核映像zImage和根文件系统ramdisk传送到SDRAM中;在uboot上执行ymount命令挂载yaffs2文件系统;在uboot上执行ywrm命令可以将zImage和ramdisk烧写到NAND Flash中,此时也可以通过yls命令看到已经烧写的zImage和ramdisk。系统运行时,uboot从NAND Flash中引导zImage和ramdisk,在uboot上执行ymount命令挂载YAFFS2文件系统;执行yrdm命令将zImage和ramdisk读到SDRAM相应的地址中;执行go命令开始引导内核,首先解压ramdisk.gz文件,然后跳转到zImage处执行,zImage自解压后调用start_ker_nel()启动内核。


本实验是将uboot直接烧写在NAND Flash的chunk中,uboot在剩余的空间上挂载YAFFS2文件系统,并将zImage和ramdisk写入文件系统。当系统运行起来后,在相同的NAND Flash空间上挂载YAFFS2文件系统后,可以看到和编辑uboot写入的zImage和ramdisk。同样uboot在启动时也可以看到kernel写入NAND Flash的文件。这样就实现了在uhoot和kernel中都可以升级和更新系统。 


2.2 YAFFS2文件系统制作     Y


AFFS(Yet Another Flash File System)文件系统是专门针对NAND闪存设计的嵌入式文件系统,它是一种类似于JFFS2的日志型文件系统。相对于JFFS2,YAFFS减少了一些功能,因此速度更快、占用内存更少,并且对NAND Flash具有很好的保护机制,能够延长NAND Flash的使用寿命。因此,YAFFS文件系统的出现,使得价格低廉的NAND Flash芯片具有高效性和健壮性。基于NANDFlash的YAFFS文件系统结构框图如图4所示。目前有YAFFS和YAFFS2 2个版本,2个版本的主要区别之一在于YAFFS2能够更好地支持大容量的NAND Flash芯片。

嵌入式Linux内核本身并不支持YAFFS2文件系统,实现Linux内核对YAFFS2文件系统的支持有2种方法:一种是直接把YAFFS2编译到内核,另外一种是将YAFFS2编译成单独的模块进行加载。为了方便调试,本文选用第二种方法。首先下载YAFFS2源码,这里要注意uboot中的YAFFS2应该和内核中的版本一致。然后将YAFFS2源码解压缩,进行相应的代码修改,编译生成yaffs2.ko模块。将此模块加到ramdisk中,系统启动后挂载yaffs2.ko模块,此时就可以对NAND Flash进行读写。 


结语     


本文针对嵌入式Linux操作系统,基于uboot和内核对YAFFS2文件系统的支持,利用NAND Flash实现对嵌入式系统的远程更新。本系统从NAND Flash中引导内核与文件系统,可以省去NOR Flash,降低成本。通过以太网对远程嵌入式终端进行自动更新,具有操作简单、更新速度快的特点。


关键字:NAND  Flash  嵌入式系统  远程更新 引用地址:利用NAND Flash实现对嵌入式系统的远程更新

上一篇:基于ARM9和μC/OS-II操作系统的SD卡文件系统的设计与
下一篇:单片机系统的故障重现设计与实现

推荐阅读最新更新时间:2024-03-16 15:54

剖析STM32的FLASH和SRAM的使用情况
01前言 STM32片上自带FLASH和SRAM,简单讲FLASH用来存储程序的,SRAM是用来存储运行程序中的中间变量。本文详细分析下如何查看程序中FLASH和SRAM的使用情况。 本文开发工具: keil5 芯片: STM32F105VCT6 02FLASH和SRAM介绍 FLASH存储器又成为闪存,它与EEPROM都是掉电后数据不丢失的存储器,但是FLASH的存储容量都普遍的大于EEPROM,在存储控制上,最主要的区别是FLASH芯片只能一大片一大片地擦除,而EEPROM可以单个字节擦除。 SRAM是静态随机存取存储器。它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。STM32F1系列可以通过
[单片机]
剖析STM32的<font color='red'>FLASH</font>和SRAM的使用情况
买方态度保守NAND Flash价格呈现下跌
        根据TrendForce旗下研究部门 DRAMeXchange 的调查,受到季底效应(Quarter-end effect)影响, 2012年 5月上旬   NAND Flash  合约价 下跌8~14%水准。     DRAMeXchange指出,某NAND Flash卖方倾向在进入公司季报的最后一个月时,透过较具吸引力的价格来刺激销售金额,这使得其他NAND Flash卖方会因买方间的比价效应,而面临价格战的压力。 在市场需求持续疲软下,预料NAND Flash买方将继续采取保守的库存管理策略,以降低库存跌价的风险,因此预 ​​期NAND Flash合约价格在 淡季 效应
[手机便携]
STM32F1_片内FLASH编程
前言 今天总结“STM32F103 片内FLASH编程”,对于学习编程的人来说“FLASH”这个词肯定很熟悉,因为FLASH主要用于存储数据。对于STM32来说,内部FLASH的容量有大有小,从16K到2M不等,主要看芯片的型号。 对于刚从51或者430转入学习ARM-Cortex M芯片的人来说,可能只知道内部FLASH是拿来装载程序的,事实上Cortex M芯片内部FLASH的可以拿来编程的,而且还可以像外部FLASH一样存储数据。对,今天提供的工程就是使用内部FLASH像外部FLASH一样读写数据,而且不是块或者页编程(即不覆盖临近地址数据)。 在实际的开发中,内部FLASH存储数据也是很重要的一点,特别是一些不常修
[单片机]
STM32F1_片内<font color='red'>FLASH</font>编程
西数与铠侠闪存业务合并 打造全球最大NAND制造商
西部数据目前就NAND闪存生产业务合并进行谈判,目前即将敲定最终计划。他们将打造全球最大的NAND闪存制造商。据悉,西数与铠侠将加强双方在NAND闪存领域的竞争力,挑战三星的市场领导者地位,同时也会对SK海力士和美国构成更大的挑战。 不过,两家厂商在合并的道路上仍会面临许多挑战,比如全球各地监管机构的审查,以及竞争对手及相关利益者的反对。 此外,根据TrendForce的数据,2023年第二季度里,铠侠占据19.6%的市场份额,而西部数据为14.7%,三星和SK海力士分别是31.1%和17.8%。 因此,铠侠和西部数据合并后,市场份额达到了34.3%,超越三星成为最大的NAND闪存供应商。
[半导体设计/制造]
全球趋势下无线嵌入式系统的系统级设计和检验
设计和实现无线系统的一个重大挑战是使之能够用于世界不同地区。在使用的频率、调制类型、功率电平和带宽方面,全球并没有达成一致。无线电法规在不同地区之间差异很大,特别是在没有牌照的无线电控制和遥测应用使用的那部分频段。 对某些应用来说,在2.4GHz上运行的标准化无线电(如蓝牙、ZigBee或Wi-Fi)几乎可以用于世界上任何地方。然而对其它应用而言,改进大楼穿透力、降低干扰、减少低频无线电的能耗可能是更好的选择。在这种情况下,设计人员的任务是优化和检验无线电集成电路,使得这些集成电路能够用于相同应用,但用于不同地区。 本文考察了嵌入式无线电集成电路和模块技术。这些技术非常灵活,通过数十个设置寄存器来实现, 可以优化用于北美和
[工业控制]
全球趋势下无线<font color='red'>嵌入式系统</font>的系统级设计和检验
ARM针对低风险嵌入式系统软件开发推出RealView开发工具套件3.1
新版本有助于基于ARM全线处理器的开发者极大改进性能和易用性   中国上海,2007年4月2日 ——日前在美国加利福尼亚州圣何塞硅谷举行的嵌入式系统大会上,ARM公司(伦敦证交所:ARM;纳斯达克:ARMHY)推出RealView开发工具套件3.1,再次彰显为基于ARM全线处理器产品的嵌入式系统软件开发提供业界一流集成工具的承诺。      RealView开发工具套件3.1可改进性能以及对ARM处理器的支持,尤其值得注意的是,它能够更好地优化整个Cortex处理器系列,包括最新推出的首个专为FPGA的部署而开发的Cortex-M1处理器。      RealView开发工具套件3.1是首个支持最新Cortex-M1处理器的工
[新品]
U-Boot在FL2440上移植(三)----支持NAND Flash
一 支持NAND Flash 1. 首先在配置文件 include/config/fl2440.h 的宏 CONFIG_COMMANDS 中增加 CFG_CMD_NAND, #define CONFIG_COMMANDS (CONFIG_CMD_DFL | CFG_CMD_CACHE | CFG_CMD_NAND | 2.在配置文件 include/configs/fl2440.h 中增加如下3个宏 #define CFG_NAND_BASE 0 //无实际意义:基地址,在board_nand_init中重新定义 #define CFG_MAX_NAND_DEVICE 1 //NAND Flash设备数目为1
[单片机]
多核与多执行绪的嵌入式系统解决方案
在嵌入式装置中建置多核心(包含同质或异质)以及多执行绪技术,的确能带来诸多效益,尤其是改进系统效能方面最为明显。 尽管RISC嵌入式技术所面临的挑战越来越多,但是在维持以往嵌入式软件资源兼容性的前提之下,能够改善其未来适用性,并且有效提升新系统的效能表现,使其不失为良好的解决方案。 应用决定多核或多绪 多核心与多执行绪在效能表现上有其帮助,但是效能与这些技术的内建其实并没有绝对关系,会造成这样的原因主要是应用环境的需求。以手机为例,整合于手机内的SoC芯片虽然是属于多核心架构的一环,但是手机采用的SoC芯片多为应用处理器,其整合的核心并非完全属于同性质架构,同质多核心在嵌入式系统实际应用上的案例其实非常少。 而多执行绪处理器
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved