Cortex M3的SRAM单元故障软件的自检测研究

2013-09-25 08:53:27来源: 互联网 关键字:Cortex  M3  SRAM  单元故障  自检测研究

目前,对于存储单元SRAM的研究都是基于硬件电路来完成,而且这些方法都是运用在生产过程中,但是生产过程并不能完全杜绝SRAM的硬件故障。在其使用过程中,如果SRAM硬件出错,将导致程序出错而且很难被发现。因此在运用的阶段,为防止存储单元损坏而导致系统出错,通过软件的方式对SRAM进行检测是必要的。

  1 SRAM运行状态分析

  SRAM是存储非CONSTANT变量(如RW),它具有掉电即失的特点。由CortexM3的启动步骤可知,系统上电后,首先执行复位的5个步骤:

  ①NVIC复位,控制内核;

  ②NVIC从复位中释放内核;

  ③内核配置堆栈;

  ④内核设置PC和LR;

  ⑤运行复位程序。

  可以看出,不能在调入C环境之后检测SRAM,必须在Cortex—M3复位之前和启动之后进行检测。

  在执行系统复位的最后一个步骤之前,系统都没有对SRAM执行任何相关的数据传送动作。第⑤步运行复位程序,在ST公司Cortex-M3处理器内核的STM32系列微控制器的启动代码中有一段复位子程序

  

 

  在这个子程序里导入了__main,__main是C库文件的入口地址。它执行下面3个步骤:

  ①复制非root(RW、RO)从Flash到SRAM;

  ②分配ZI区,并且初始化为0;

  ③跳转到堆栈初始化子程序接口__rt_entry。

  由_ _main的第一步可以得出,在跳入_ _main之后,系统对SRAM进行了相关数据转移的操作。因此,检测SRAM必须在此步骤之前,否则将会覆盖SRAM从Flash中转移过来的数据。

  2 SRAM检测方案设计

  在复位子程序跳入_ _main之前,设计另一个程序入口SRAM_Check,使PC指针指向该SRAM进行硬件单元检测程序(SRAM_Check)的入口。在SRAM_check里,首先将PC指针指向SRAM的首地址并写入0xFF,读回该地址的值到通用寄存器Rn1,并对Rn1里的值进行加1操作,然后将Rn1和256做比较,得出SRAM硬件是否损坏。这种操作可以避免因SRAM硬件一直为1或0而出现算法本身错误。由于Cortex—M3复位后默认的时钟为HSI,是一个内部RC振荡器,因此精度不高。如果需要更准和快速的时钟,就必须在跳入SRAM_Check之前对相关的寄存器进行操作。

  3 SRAM检测软件设计

  图1为本文设计的SRAM检测软件程序流程。

  

4 在线调试结果及分析

  上电复位后,在线调试PC指针指向Reset_Handler入口地址时的SRAM初始数值如图2所示。可以看到,当系统复位时每个SRAM单元的数值均为0x00。

  

 

  在线调试下,图3为对所有的SRAM地址进行检测后SRAM的数值,完全符合程序设计要求。

  SRAM测试通过后,释放所有的SRAM,还原为0x00,如图4所示。

  

 

  5 结论

  本文提出了一种基于软件的SRAM单元故障自检测方法,通过在线调试得到的结果,可知该方法是完全可行的。在实际运用中,该方法能够确保系统正常地运行在可靠的环境之上。如果SRAM单元有生产或运输等损坏,也可以通过该方法方便地检测出来,大大减少了系统排除故障的时间。

关键字:Cortex  M3  SRAM  单元故障  自检测研究

编辑:神话 引用地址:http://www.eeworld.com.cn/mndz/2013/0925/article_19489.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于CPCI接口DSP板的雷达目标模拟器
下一篇:3D视频技术全面解析(一)

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
推荐阅读
全部
Cortex
M3
SRAM
单元故障
自检测研究

小广播

独家专题更多

东芝在线展会——芯科技智社会创未来
东芝在线展会——芯科技智社会创未来
2017东芝PCIM在线展会
2017东芝PCIM在线展会
TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved