片外FIash存储器IAP的n种方案

最新更新时间:2013-09-07来源: 互联网关键字:FIash  存储器  IAP 手机看文章 扫描二维码
随时随地手机看文章

引 言

  以ARM芯片为处理器核的嵌入式应用系统,以其小体积、低功耗、低成本、高性能、丰富的片内资源以及对操作系统的广泛支持,得到了人们越来越多的青睐。包括工业控制领域、无线通信领域、网络应用、消费电子、成像和安全产品等,如今,ARM微处理器及嵌入式技术的应用几乎已经渗透到了各个领域。其中ARM7作为ARM微处理器系列中的一员,是低功耗的32位RISC处理器。Samsung公司的S3C4510B、Philips公司的LPC20XX、LPC21XX、LPC22XX系列等都是ARM7处理器。这些为数繁多的ARM7处理器,因其片内外设不同而各擅所长,但都应用同样的ARM7TDMI核(或ARM7TDMI—S核,这是ARM7TDMI的综合版本,这两种核对处理器应用人员来说没有区别)。可以说,ARM7TDMI是目前使用最为广泛的32位嵌入式RIsc处理器。ARM7TDMI核应用冯·诺依曼结构,处理器使用的存储器中数据和程序指令不予区分,PC寄存器指向的存储器单元,无论是ROM区还是RAM区,只要符合ARM指令的格式都可以执行,这就为系统自修改提供了可能。在应用编程IAP(InApplicatAion Program)就是这样的自修改程序。它先在RAM存储器中写人数据值,然后使PC指向该存储段,把该段作为程序段来执行。很多ARM7芯片自带IAP处理器,应用其自带的IAP处理器可以方便地对其片内集成的Flash存储器进行在应用编程,但几乎所有的ARM核芯片均不支持片外IAP处理,因为片外Flash存储器是用户选型的,芯片生产厂家无法先知先觉,而不同Flash存储器其编程时序也不尽相同,导致芯片生产厂家无法提供通用的IAP代码。那么,如何对嵌入式系统的片外Flash存储器进行在应用编程呢?这里分两种情况:一是普通代码存放在片外单独1片Flash中,IAP代码在另一片Flash中完成,此时只要依据Flash的操作时序执行IAP代码,完成擦除或写入操作即可。这种情况虽然简单,但应用了2片Flash;而IAP代码很小,一般完全可以集成到1片中,所以这里对这种情况不予考虑。另一种情况是1片Flash中既要存储普通代码,又要实现IAP。下面以Phnips公司的LPC2210 和 Silicon storage Technology 公司的SST39VFl60为例,详细讨论这种情况IAP的解决方案。

  1 硬件结构

  1.1 LPC2210介绍

  Philips公司的LPC22lO是一款基于支持实时仿真和嵌入式跟踪的16/32位ARM7TDMI-SCPU的微控制器。芯片采用144脚封装,有16 KB片内静态RAM,开放外部总线;通过外部存储器接口可将外部存储器配置成4组,每组的容量高达16 Mb,数据宽度8/16/32位均可;具有多个32位定时器、8路lO位PWM输出、多个串行接口(包括2个16C550工业标准UART、高速I2C接口和2个sPI接口)以及9个外部中断、多达76个可承受5 V电压的通用I/O口,同时内嵌实时时钟和看门狗,片内外设功能丰富强大;片内晶振频率范围l~30 MHz,通过片内PLL可实现最大为60 MHz的CPU工作频率,具有2种低功耗模式——空闲和掉电,通过外部中断将处理器从掉电模式中唤醒,并可通过个别使能/禁止外部功能来优化功耗。以上特性,使其特别适用于工业控制、医疗系统、访问控制和POS机,同时也非常适合于通信网关协议转换器,嵌入式软Modem,以及其他各种类型的应用。

  1.2 SST39VFl60介绍

  Silicon StoraLge Technology公司的SST39VFl60是一个lM×16b的CMOS多功能Flash器件,单电压的读和写操作,电压范围3.O~3.6 V,提供48脚TSOP和48脚TFBGA两种封装形式。

  该器件主要操作包括读、字编程、扇区/块擦除和芯片擦除操作。擦除和字编程必须遵循一定的时序,表l列出了扇区擦除和字编程过程及时序。擦除或编程操作过程中读取触发位DQ6将得到“1”和“O”的循环跳变;而操作结束后读DQ6,得到的是不变的固定值。这是器件提供的写操作状态检测软件方法。

  1.3 硬件连接

  SST39VF160作为系统的程序存储器,以LPC2210的CSO作为Flash的片选信号,处理器配置Boot引脚为16位数据总线宽度后,上电可直接执行SST39VFl60中代码。此Flash芯片为16位数据宽度,无字节控制总线,所以应用中不使用LPC2210的BLS引脚。系统结构示意图如图l所示。

  

  2 软件实现

  2.1 IAP实现要点分析

  在嵌入式应用系统中,通常要求记录一些现场的传感、交互输入数据,通常把数据记录在Flash存储器中,以便下次上电能获取以前的数据。如果系统程序和数据分开存储,那么只要对存放数据的Flash器件进行编程即可。然而大多数嵌入式系统,程序和需保存的数据都共存于同一Flash存储器中,那么是否也如前所述,可对Flash存储器直接编程呢?理论和实践都表明不可以。先从理论上计算:LPC22lO允许的芯片核工作频率(CCLK)范围是10~60 MHz,存储器读访问长度由存储器组配置寄存器BCFG中读访问的长度域控制WSTl控制,其最大可用长度为35个CCLK,而SST39VFl60的扇区擦除典型时间为18 ms。下面是计算算式:

  TRDmax=RDLenmax/CCLKmin=35/10×10一6=3.5 μs

  .TD=18 ms》3.5μs

  其中:TRDmax—最大读访问时间;

  RDLenmix——最大读访问可用长度;

  CCLKmin——最小核工作时钟频率;

  Tp——扇区擦除典型时间。

  算式得出扇区擦除典型时间远大于最大读访问时间。这样一来,如果再给某Flash写数据,同时于其中预取指,那么因F1ash在执行命令期间,对其他操作不响应,预取出的必定是其数据引脚上的不确定数据,预取指失败。实践也表明,如果在程序执行过程中,对同一Flash进行扇区擦除,必定引起预取指中断。

  为了解决在同一Flash芯片存放程序并IAP这一问题,引进代码重映射的思想。所谓重映射就是代码先自复制到指定存储区,然后跳转到指定区的起点开始执行。这里,lAP程序先自复制到LPC2210片内SRAM中,然后跳转到SRAM执行lAP代码。前面说过,ARM7为冯·诺依曼结构,这就为IAP程序重映射提供了可能。

  编写可重映射代码的关键是要解决程序中相对偏移的问题,ARM7指令系列中涉及相对偏移的指令主要有LDR/STR以及跳转指令。这里的解决方案是:凡涉及偏移值的指令通通采用基址变址寻址方式,以PC寄存器作基址寄存器,以立即数为变址,这样当程序块整块移动时,要加载的数据或跳转的地址与当前Pc值的偏移值固定,解决了相对偏移问题。

  2.2 扇区擦除

  事先编程在Flash中的程序先自复制到SRAM指定的位置,然后,赋PC为SRAM中扇区编程代码段的起点ERASEPART。程序于SRAM中的ERASEPART起点开始执行,按照SST39VF160扇区擦除的时序要求开始擦除。按照ARM公司提出的ATPCS规定,C语言程序调用汇编程序时,寄存器R0一R3传递参数,返回值由寄存器RO传递原则,扇区擦除程序的一个参数,要擦除的扇区号,由RO传递;返回参数置于R0,扇区擦除成功返回“1”,否则返回“0”。

  2.3 字编程

  程序于SRAM中的PROGRAMPART起点开始执行,按照SST39VFl60字编程的时序要求开始编程。入口参数有三个,依次为编程地址、数据起始地址、编程数据长度。字编程成功返回“1”,否则返回“0”。

  3 结论

  在嵌入式应用系统中,IAP是极为有效的一种技术。根据本文提出的方案,在实际应用中只需针对选用的Flash,更改特定的擦、写操作代码就可实现系统片外存储器的在应用编程。文中提出的IAP代码重入到SR—kM执行的方法,有效地解决了应用无片内程序存储器的32位ARM处理器的嵌入式系统IAP难题,有很大的应用价值。

关键字:FIash  存储器  IAP 编辑:神话 引用地址:片外FIash存储器IAP的n种方案

上一篇:解读虚拟存储的三大技术方向
下一篇:移动存储器全面解析

推荐阅读最新更新时间:2023-10-12 20:47

我国碳纳米管光电传感存储器件问世,为存储器件打基础
近日,中国科学院金属研究所(以下简称金属所)沈阳材料科学国家研究中心联合中国科学院苏州纳米技术研究所、吉林大学,提出了一种基于铝纳米晶浮栅的碳纳米管非易失性存储器,这为可穿戴电子及特殊环境检测系统提供了新的器件设计方法。 图片来源:科技日报 据悉,新型器件具有高电流开关比、长达10年的存储时间以及稳定的读写操作,多个分立的铝纳米晶浮栅器件具有稳定的柔性使役性能。 据中国科学报报道,金属所研究员孙东明表示,我们首次实现了基于碳纳米管的光学图像传感与图像存储,为新型柔性光检测与存储器件的研制奠定了基础。 此外,科研人员采用半导体性碳纳米管薄膜为沟道材料,利用均匀离散分布的铝纳米晶/氧化铝一体化结构作为浮栅层与隧穿层,获得高性能柔性
[手机便携]
我国碳纳米管光电传感<font color='red'>存储器</font>件问世,为<font color='red'>存储器</font>件打基础
高效的智能手机SD闪存供电方法
   手机对存储功能的需求正在迅速增长,本文探讨了存储器的发展趋势和几种不同的SD闪存供电方法。   视频与图像内容的捕获、显示与共享功能推动着对存储器的需求不断增长。由于小型相机光学技术、高度集成化图像处理以及先进闪光技术(采用亮度渐高的LED解决方案和尺寸渐小的氙光解决方案)的出现,捕获功能正在迅速改进。纤薄且高效的触摸屏LCD、AMOLED以及超AMOLED解决方案,结合直观方便的用户界面,让图片和视频图像的显示变得简单而生动。此外,无处不在的网络连接性、各种社交网络以及大量的可下载内容源的存在也使得共享功能加速发展。   这些技术推动手机制造商设计出图像分辨率为800万像素甚至1,200万像素的相机手机。在视频方面,拍摄性能
[电源管理]
高效的智能手机SD闪存供电方法
基于FPGA的模式可变的卫星数据存储器纠错系统
  空间飞器在太空环境中面临的主要问题之一就是辐射。太空中的各种高能粒子(包括高能质子、中子、α粒子、得离子等)具有很高的动能,通过时可能会影响半导体电路的逻辑状态,甚至对半导体材料造成永久损害。单个高能粒子对电子器件功能产生的影响称之为单粒子效应。其中,导致存储内容在\'0\'、\'1\'之间发生变化的单粒子翻转(SEU)问题特别受以关注。   微小卫星的研发思路是周期短、成本低、技术新,因此大量采用市场上容易取得的商业级电子器件。这些器件具有高密度、低功耗、低成本、扩展性强等特点,但通常没有经过严格的抗辐射测试,也没有采用完善的抗辐射工艺。解决微小卫星的抗辐射问题需要采取综合措施,包括整体防护、设计冗余等,而对具体数据存
[嵌入式]
基于FPGA的模式可变的卫星数据<font color='red'>存储器</font>纠错系统
大陆三阵营要打破存储器仅占1%窘境
全球存储器商机上看80亿美元,然大陆产值竟然仅占1%,且是由非主流的利基型存储器(SDRAM)和NOR Flash贡献,一语道出大陆心急如焚硬闯DRAM和3D NAND的苦楚,更让三大阵营紫光集团旗下的长江存储、联电的福建晋华、北京GigaDevice明争暗斗抢当一哥,而当地中、小企业则是另辟蹊径敲门新式记忆体MRAM,大家兵分多路就是想突破存储器这道铜墙铁壁。那就请您跟随eeworld存储技术小编的脚步,来详细的了解下大陆三阵营要打破存储器仅占1%窘境。  SEMICON China 2017盛大登场,存储器储存产业成为2017年的重头戏,但尴尬的是,大陆在DRAM和3D NAND主流存储器发展路上,仍是处于洒种子阶段,但因
[嵌入式]
IC Insights总裁:美光起诉晋华只是针对中国存储器专利战开始
像紫光集团等中国记忆体新贵在与三星、海力士和美光等记忆体三巨头真正于市场上较量之前,很可能得先在法庭上打一场专利诉讼战…   中国企业将在不久的将来成为半导体记忆体市场的一股新势力,这是无庸置疑的。中国政府致力于发展国内半导体制造业,十多年来,已经为该产业挹注超过1,600亿美元的资金,其中大部份用于记忆体新创公司。清华紫光集团(Tsinghua Unigroup)还自行宣布计划投资超过500亿美元给两家大型晶圆厂,此外还有更多建设中的计划或草案。   记忆体——特别是DRAM——在很大程度上仍然被认为是一种纯粹的商品业务。尽管今天看来不再这么简单,但当时普遍的看法认为,只要投入足够资金,中国记忆体新创公司也可以轻松地进入高风险的
[手机便携]
PIC18F66K80存储器构成(详解)
本文来讲讲关于PIC18F66K80的存储器 一、程序存储器 何为程序存储器? 程序存储器通常是只读存储器,用于保存应用程序代码,同时还可以用于保存程序执行时用到的数据(例如保存查表信息)。 PIC18F66K80提供片上64 KB 闪存,最多存储 32,768 条单字指令。 可以用MPLAB X IDE 观察到(如下图): ROM 代码偏移 开发环境:MPLAB X IDE 芯片:PIC18F66K80 示例: 1、如下图所示指定代码地址范围。(这里设置3000-3FFF) 2、观察存储器地址: 点击菜单栏的- 窗口- PIC存储器视图- 程序存储器。 可以看到当前代码确实被编译到3FFFF之下。 未完。。。
[单片机]
PIC18F66K80<font color='red'>存储器</font>构成(详解)
SL11R单片机外部存储器扩展
SL11R是Scanlogic公司生产的一种带有USB接口的16位RISC单片机,内核处理速度达到48MIPS,有丰富的硬件资源及32位可编程I/O口,可以灵活扩展外围芯片。本文主要讨论其外部存储器的扩展。 screen.width-460)this.width=screen.width-460" vspace=10 border=0> 1 SL11R存储器空间 SL11R内部有3K字节的SRAM,可以用作指令存储器和数据存储器,但有些应用场合需要扩展存储器。SL11R可扩展I2C串行E2PROM、通用并行EPROM及RAM,还能够直接扩展大容量的EDO DRAM。 SL11R采用统一地址编码方式对外寻址,程序代码、数
[单片机]
SL11R单片机外部<font color='red'>存储器</font>扩展
研究者提出激光存储理论,用绝缘晶体作存储器
过去通常将数据通过电荷充电的方式保存,CMOS一直都是电子芯片中的老大。现在美国约翰霍普金斯大学的科学家们提出了一种超低功耗的替代性方案,采用激光利用绝缘体内部的激子(exciton)状态对数据进行编码。 若实验数据能证实这一理论,那么有朝一日基于这一新的光学现象的超低功率计算机将可以通过利用激光将数据存储在晶体绝缘体中。 “目前它还处在理论阶段,因此必须通过实验进行验证,”美国约翰霍普金斯大学电气计算机工程系教授Alexander Kaplan表示,“但是如果我们的理论正确,那么我们就可以解决元器件的发热问题,从而可以将半导体器件的尺寸做到更小”。 据Kaplan表示,受激光束照射而生成
[焦点新闻]
小广播
热门活动
换一批
更多
最新模拟电子文章
换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved