CN106815101B - 嵌入式系统外部易失性存储器高可靠性存储与诊断方法 - Google Patents
嵌入式系统外部易失性存储器高可靠性存储与诊断方法 Download PDFInfo
- Publication number
- CN106815101B CN106815101B CN201510864079.7A CN201510864079A CN106815101B CN 106815101 B CN106815101 B CN 106815101B CN 201510864079 A CN201510864079 A CN 201510864079A CN 106815101 B CN106815101 B CN 106815101B
- Authority
- CN
- China
- Prior art keywords
- data
- region
- diagnostic
- diagnosis
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003745 diagnosis Methods 0.000 title claims abstract description 70
- 238000000034 method Methods 0.000 title claims abstract description 15
- 238000013500 data storage Methods 0.000 claims abstract description 3
- 238000002405 diagnostic procedure Methods 0.000 claims description 8
- 102100036301 C-C chemokine receptor type 7 Human genes 0.000 claims description 5
- 101710149858 C-C chemokine receptor type 7 Proteins 0.000 claims description 5
- 238000010998 test method Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 9
- 238000005192 partition Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及嵌入式外部易失性存储器高可靠性存储与诊断方法。本发明首先将数据存储区域分为数据区域和数据备份区域,CPU将数据区域和数据备份区域分别按地址平均分为8部分,按顺序对数据区域部分进行诊断;在诊断的过程中,先将一部分数据区域数据拷贝到相应的备份区域中,再对数据区域进行数据诊断,诊断结束将备份区域数据拷贝回相应数据区域;本发明诊断程序运行在系统空闲时间,可以把主控制器从繁重的存储器的诊断程序中解放出来,和传统的诊断方法相比,主控制器运行开销比较小,主控制器利用率比较高。本发明能够方便实现程序运行空间的切换,不需要动态更改程序的运行空间,程序设计简单,减少了程序运行空间动态变换产生的故障。
Description
技术领域
本发明涉及一种嵌入式系统外部易失性存储器高可靠性存储与诊断方法,属于工业过程控制领域。
背景技术
在工业过程控制领域,嵌入式系统应用比较普遍,由于工业环境的越来也复杂,各种干扰因素也越来越多,以及随着芯片技术的不断发展,嵌入式系统主频不断增加,在嵌入式系统中,外部存储器产生的故障率也越来越多。
为了确保嵌入式系统应可靠地运行,需对嵌入式系统进行诊断,外部易失性存储器作为嵌入式系统的重要组成部分,对它的诊断不可缺少,找到一种安全可靠和实用的存储和诊断方法,是嵌入式系统研究与开发的一个重要问题。
外部易失性存储器诊断方法大多数是基于MCU利用诊断程序定时的对外部存储器诊断的方法,当需要对存储器某一块地址区域诊断时,都会先将这块区域的数据拷贝到某一空闲区域,然后才能对这块区域进行诊断,诊断程序运行空间在MCU的片内存储器,由于内部存储器存储空间较小,大量的用户程序没办法运行,只能等诊断程序运行完成才能在外部存储器运行用户程序,所以传统的方法,诊断程序占用MCU时间较多,MCU的利用率较低;另外,有一些方法为了提高MCU的利用率,诊断程序也在外部存储器中运行,这样涉及到数据区的拷贝和数据恢复,以及比较棘手的程序运行空间的动态分配,由于涉及到程序运行空间的动态分配,所以程序设计比较复杂,MCU的效率提高有限。
发明内容
针对现有技术中存在的上述不足之处,本发明要解决的技术问题是提供一种嵌入式系统外部易失性存储器的存储与诊断方法,主要用于嵌入式系统外部易失性存储器的存储与诊断。
本发明为实现上述目的所采用的技术方案是:一种嵌入式系统外部易失性存储器高可靠性存储与诊断方法,用于嵌入式控制器在运行的过程中对外部易失性存储器进行数据存储和数据诊断,包括以下步骤:
将RAM平均划分为两个区域:诊断区域和备份区域;
MCU将诊断区域和备份区域分别进行2n等分区,n为大于2的自然数;
MCU按次序对诊断区域分别进行诊断:MCU对某一诊断区域进行诊断时,首先将诊断区域的数据拷贝到备份区域,然后再对诊断区域进行数据诊断,诊断区域中某一区域进行数据诊断时,通过控制电路使程序运行于除此区域以外的诊断区域和相对应的数据备份区域中,诊断完成后将备份区域的数据拷贝回诊断区域。
所述将RAM平均划分为两个区域:诊断区域和备份区域,具体为:RAM按地址线Amax=0和Amax=1平均分为诊断区域和数据备份区域。
所述MCU将诊断区域和备份区域分别进行2n等分区,具体为:对诊断区域和数据备份区域按地址线Amax-n-Amax-1分别进行2n等分区,诊断区域和备份区域中相应序号的部分相互对应。
所述MCU具备EBI总线,对应EBI0与EBI1的设备分别对应于不同的系统地址,EBI0与EBI1的片选相与后接到外部存储器,从而实现用不同的系统地址对同一个RAM进行访问。
所述MCU在正常运行时将程序分为3个部分:数据拷贝程序、数据诊断程序和用户应用程序,分别对应于不同线程;数据拷贝程序根据不同的系统EBI地址将某一诊断区域的数据拷贝到序号相应的备份区域中,且数据拷贝程序优先级最高,在拷贝的过程中不允许其他线程打断;数据诊断程序通过传统的RAM测试方法对某一诊断区域进行诊断,且数据诊断程序优先级比较低,可以在MCU空闲时对诊断区域进行数据诊断;用户应用程序用于实现嵌入式系统的功能需求;
当某一诊断区域进行数据诊断时,数据诊断程序和用户应用程序运行在除该诊断区域以外的诊断区域和与该诊断区域相对应的备份区域中。
所述控制电路根据I/O[1:n+1]、Add[max-n:max-1]和EBI0控制Amax输出状态;当Amax=0时,MCU访问诊断区域,当Amax=1时,MCU访问备份区域。
本发明是用来实现一种嵌入式系统外部易失性存储器高可靠性存储与诊断方法,为嵌入式系统运行提供了保证。它具有如下优点:
1.效率高、实时性好,对主控制器依赖性小。本发明应用硬件电路实现诊断区域和备份区域的切换,响应快,实时性好,对主控制器的依赖性小,诊断程序运行在系统空闲时间,可以把主控制器从繁重的存储器的诊断程序中解放出来,和传统的诊断方法相比,效率较高。
2.程序设计简单。本发明应用硬件电路和软件配合的方式,能够方便实现程序运行空间的切换,不需要动态更改程序的运行空间,程序设计简单,减少了程序运行空间动态变换产生的故障。
3.通用性强。对于嵌入式系统来说,外部易失性存储器是不可缺少的组成部分,本发明能实现实时性的存储和数据诊断,对外部易失性存储和MCU的参数没有特殊要求,通用性强。
附图说明
图1是本发明嵌入式系统外部易失性存储器存储与诊断功能图;
图2是本发明嵌入式系统MCU数据拷贝的功能图;
图3是本发明嵌入式系统MCU数据诊断的功能图;
图4是本发明嵌入式系统MCU用户程序运行的功能图;
图5是本发明嵌入式系统控制电路的电路图;
图6是本发明嵌入式系统外部易失性存储器存储与诊断的流程图。
具体实施方式
下面结合附图及实施例对本发明做进一步的详细说明。
本发明是基于嵌入式系统外部易失性存储器存储与诊断进行的,如图1所示,MCU将诊断区域和备份区域分别进行8分区,MCU按次序对诊断区域分别进行诊断;当MCU对某一数据区域诊断时,先将诊断区域数据拷贝到备份区域,然后再对诊断区域进行数据诊断,诊断完成后将备份区域数据拷贝回诊断区域。
MCU在正常运行时将程序主要分为3个部分:数据拷贝程序、数据诊断程序和用户应用程序,分别对应于不同线程;数据拷贝程序根据不同的系统EBI地址将某一诊断区域数据拷贝到相应备份区域中,且数据拷贝程序优先级最高,在拷贝的过程中不允许其他线程打断;数据诊断程序通过传统的RAM测试方法对某一诊断区域进行诊断,且数据诊断程序优先级比较低,可以在MCU空闲时对诊断区域进行数据诊断;用户应用程序实现嵌入式系统的功能需求;
MCU的程序运行空间在外部易失性存储器中,当某一数据区域进行数据诊断时,数据诊断程序和用户应用程序运行空间在除此区域以外的诊断区域和相对应的备份区域中。
图2是嵌入式系统MCU数据拷贝的功能图,数据拷贝程序的优先级最高,在数据拷贝的过程中挂起其他线程,不允许系统做其他工作,防止数据拷贝没有完成,而程序运行更改了诊断区域的数据值;数据的拷贝在EBI0对应的设备地址中进行,程序设计功能比较简单,就是将诊断区域的数据按地址增加的顺序逐个拷贝到备份区域。
图3为嵌入式系统MCU数据诊断的功能图。数据诊断的工作量比较大,为了不占用大量的系统有效时间,因为,将数据诊断的程序的优先级设置成最低,也就是说,系统在空闲时间进行数据区域的诊断;数据诊断在EBI1对应的设备地址中进行,诊断方法可以用一些传统的RAM测试方法,可以选择Walk-path、Parity-bit、Abraham等方法,具体方法在IEC61508-2-A.6中有具体介绍。
图4为MCU用户程序运行的功能图。用户程序运行的过程中,且数据诊断程序还没有运行完,MCU配合控制电路使MCU的运行空间为(程序运行区域1+程序运行区域2+程序运行区域3),也就是说,诊断区域诊断没有完成,程序不能在此空间运行,因此,将备份区域空间补充到诊断区域空间,使系统默认为一个连续的空间,从而不需要动态分配程序运行空间,程序设计简单。
图5是嵌入式系统存储控制电路的电路图,其功能就是用户程序运行的过程中,且诊断程序还没有运行完,程序不能在诊断空间运行,控制电路配合MCU将备份区域空间补充到诊断区域空间,使系统默认为一个连续的空间,就是图4所说的程序运行空间变为(程序运行区域1+程序运行区域2+程序运行区域3)。
当诊断没结束用户程序运行时具体工作流程为:在诊断程序开始运行时,通过I/0管脚(I/01、I/02、I/03)输出和地址线(A14、A15、A16)相同的电平,I/04为高电平;当程序运行时要访问诊断区域时,经过U2、U3、U4同或门后,均为高电平,EBI0片选经过非门后也是高电平,经过U5相与后电平仍然是高电平,A17为低,经过或门U6变为高电平,这样MCU访问的是诊断区域的空间,但经过控制电路将区域指到了备份区域,使系统默认为一个连续的空间;当访问其他区域时,I/0管脚(I/01、I/02、I/03)输出和地址线(A14、A15、A16)电平有一组或多组不同,I/04为高电平,经过U2、U3、U4同或门后,再经过U5相与后电平会为低电平,A17为低,经过或门U6仍然为低电平,不影响其他区域的访问。
当诊断已经结束用户程序运行时具体工作流程为:I/04为低电平,当程序运行时要访问诊断区域时,经过U2、U3、U4同或门后,均为低电平,EBI0片选经过非门后也是高电平,经过U5相与后电平仍然是低电平,经过或门后不影响A17的状态,因此不影响在外部存储器的访问。
图6是嵌入式系统外部易失性存储器存储与诊断的流程图,首先要确定数据诊断区域,并将诊断区域的数据拷贝到数据备份区域,此时拷贝程序的优先级是比较高的,直到拷贝结束才能进行其他程序的操作,判断是不是运行用户程序,当用户程序运行时不进行数据诊断,当系统空闲,用户程序完成时进行数据诊断,数据诊断完成后将备份数据拷贝回数据区,这样完成了一个区域块的诊断,同样可以对其他区域块进行诊断。
Claims (5)
1.一种嵌入式系统外部易失性存储器高可靠性存储与诊断方法,用于嵌入式控制器在运行的过程中对外部易失性存储器进行数据存储和数据诊断,其特征在于,包括以下步骤:
将RAM平均划分为两个区域:诊断区域和备份区域;
MCU将诊断区域和备份区域分别进行2n等分区,n为大于2的自然数;MCU按次序对诊断区域分别进行诊断:MCU对某一诊断区域进行诊断时,首先将诊断区域的数据拷贝到备份区域,然后再对诊断区域进行数据诊断,诊断区域中某一区域进行数据诊断时,通过控制电路使程序运行于除此区域以外的诊断区域和相对应的数据备份区域中,诊断完成后将备份区域的数据拷贝回诊断区域;所述MCU在正常运行时将程序分为3个部分:数据拷贝程序、数据诊断程序和用户应用程序,分别对应于不同线程;数据拷贝程序根据不同的系统EBI地址将某一诊断区域的数据拷贝到序号相应的备份区域中,且数据拷贝程序优先级最高,在拷贝的过程中不允许其他线程打断;数据诊断程序通过传统的RAM测试方法对某一诊断区域进行诊断,且数据诊断程序优先级比较低,可以在MCU空闲时对诊断区域进行数据诊断;用户应用程序用于实现嵌入式系统的功能需求;当某一诊断区域进行数据诊断时,数据诊断程序和用户应用程序运行在除该诊断区域以外的诊断区域和与该诊断区域相对应的备份区域中。
2.根据权利要求1所述的嵌入式系统外部易失性存储器高可靠性存储与诊断方法,其特征在于,所述将RAM平均划分为两个区域:诊断区域和备份区域,具体为:RAM按地址线Amax=0和Amax=1平均分为诊断区域和数据备份区域。
3.根据权利要求1所述的嵌入式系统外部易失性存储器高可靠性存储与诊断方法,其特征在于,所述MCU将诊断区域和备份区域分别进行2n等分区,具体为:对诊断区域和数据备份区域按地址线Amax-n-Amax-1分别进行2n等分区,诊断区域和备份区域中相应序号的部分相互对应。
4.根据权利要求1所述的嵌入式系统外部易失性存储器高可靠性存储与诊断方法,其特征在于,所述MCU具备EBI总线,对应EBI0与EBI1的设备分别对应于不同的系统地址,EBI0与EBI1的片选相与后接到外部存储器,从而实现用不同的系统地址对同一个RAM进行访问。
5.根据权利要求1所述的嵌入式系统外部易失性存储器高可靠性存储与诊断方法,其特征在于,所述控制电路根据I/O[1:n+1]、Add[max-n:max-1]和EBI0控制Amax输出状态;当Amax=0时,MCU访问诊断区域,当Amax=1时,MCU访问备份区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510864079.7A CN106815101B (zh) | 2015-11-27 | 2015-11-27 | 嵌入式系统外部易失性存储器高可靠性存储与诊断方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510864079.7A CN106815101B (zh) | 2015-11-27 | 2015-11-27 | 嵌入式系统外部易失性存储器高可靠性存储与诊断方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106815101A CN106815101A (zh) | 2017-06-09 |
CN106815101B true CN106815101B (zh) | 2019-09-06 |
Family
ID=59107205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510864079.7A Active CN106815101B (zh) | 2015-11-27 | 2015-11-27 | 嵌入式系统外部易失性存储器高可靠性存储与诊断方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106815101B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930572B (zh) * | 2020-09-21 | 2021-01-12 | 南京芯驰半导体科技有限公司 | 一种在环双备份系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1601498A (zh) * | 2003-09-25 | 2005-03-30 | 国际商业机器公司 | 存储器映射输入/输出构造中存储器资源的基于位置的分配 |
CN101122880A (zh) * | 2007-09-17 | 2008-02-13 | 福建星网锐捷网络有限公司 | 内嵌调试器的嵌入式系统及嵌入式系统调试方法 |
US7913120B2 (en) * | 2007-02-22 | 2011-03-22 | Arm Limited | Selective disabling of diagnostic functions within a data processing system |
CN102012791A (zh) * | 2010-10-15 | 2011-04-13 | 中国人民解放军国防科学技术大学 | 基于Flash的数据存储PCIE板卡 |
CN103282892A (zh) * | 2011-02-18 | 2013-09-04 | 三菱电机株式会社 | 存储器诊断装置、存储器诊断方法以及程序 |
KR20130117077A (ko) * | 2012-04-17 | 2013-10-25 | (주)테너지 | 차량용 전자 제어 장치의 동작 방법 |
CN103927187A (zh) * | 2014-05-09 | 2014-07-16 | 成都凯智科技有限公司 | 嵌入式系统程序执行方法 |
CN104412327A (zh) * | 2013-01-02 | 2015-03-11 | 默思股份有限公司 | 内建自测试以及修复装置及方法 |
-
2015
- 2015-11-27 CN CN201510864079.7A patent/CN106815101B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1601498A (zh) * | 2003-09-25 | 2005-03-30 | 国际商业机器公司 | 存储器映射输入/输出构造中存储器资源的基于位置的分配 |
US7913120B2 (en) * | 2007-02-22 | 2011-03-22 | Arm Limited | Selective disabling of diagnostic functions within a data processing system |
CN101122880A (zh) * | 2007-09-17 | 2008-02-13 | 福建星网锐捷网络有限公司 | 内嵌调试器的嵌入式系统及嵌入式系统调试方法 |
CN102012791A (zh) * | 2010-10-15 | 2011-04-13 | 中国人民解放军国防科学技术大学 | 基于Flash的数据存储PCIE板卡 |
CN103282892A (zh) * | 2011-02-18 | 2013-09-04 | 三菱电机株式会社 | 存储器诊断装置、存储器诊断方法以及程序 |
KR20130117077A (ko) * | 2012-04-17 | 2013-10-25 | (주)테너지 | 차량용 전자 제어 장치의 동작 방법 |
CN104412327A (zh) * | 2013-01-02 | 2015-03-11 | 默思股份有限公司 | 内建自测试以及修复装置及方法 |
CN103927187A (zh) * | 2014-05-09 | 2014-07-16 | 成都凯智科技有限公司 | 嵌入式系统程序执行方法 |
Non-Patent Citations (1)
Title |
---|
Embedded memory diagnostic data compression using differential address;Chin Lung Su;《2005 IEEE VLSI-TSA International Symposium on VLSI Design》;20051231;第20-23页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106815101A (zh) | 2017-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9229878B2 (en) | Memory page offloading in multi-node computer systems | |
US9292359B2 (en) | System and method for memory management | |
US20140351519A1 (en) | System and method for providing cache-aware lightweight producer consumer queues | |
US8914808B2 (en) | Apparatus and method for dynamically reconfiguring state of application program in a many-core system | |
WO2017016480A1 (en) | System and method for multithreaded processing | |
US11307985B2 (en) | Method and apparatus to use dram as a cache for slow byte-addressible memory for efficient cloud applications | |
CN108351840B (zh) | 车辆控制装置 | |
US20170285710A1 (en) | Processor power monitoring and control with dynamic load balancing | |
CN103970256B (zh) | 一种基于内存压缩和cpu动态调频的节能方法及系统 | |
US20160299859A1 (en) | Apparatus and method for external access to core resources of a processor, semiconductor systems development tool comprising the apparatus, and computer program product and non-transitory computer-readable storage medium associated with the method | |
CN115981833A (zh) | 一种任务处理方法及装置 | |
DE112017001012T5 (de) | Prozessoren, verfahren und systeme zum einstellen maximaler taktfrequenzen basierend auf dem befehlstyp | |
CN118244972A (zh) | 一种数据存储方法、装置及系统 | |
CN106815101B (zh) | 嵌入式系统外部易失性存储器高可靠性存储与诊断方法 | |
WO2021057023A1 (zh) | 一种基于部件温度自动分配计算资源的降功耗方法和系统 | |
CN118656236B (zh) | 面向多级总线的缓存一致性优化方法、装置和设备 | |
US9785538B2 (en) | Arbitrary instruction execution from context memory | |
US20140359365A1 (en) | Integrated Configuration Management and Monitoring for Computer Systems | |
CN107463430B (zh) | 一种基于内存和Swap空间的虚拟机内存动态管理系统及方法 | |
CN105787371A (zh) | 一种计算机进程监控方法和系统 | |
CN107341060B (zh) | 一种虚拟机内存分配方法和装置 | |
Hussein et al. | Don't race the memory bus: taming the GC leadfoot | |
CN104679603B (zh) | 一种非对称的数据三模冗余方法及系统 | |
CN108009121B (zh) | 面向应用的动态多核配置方法 | |
CN107229793B (zh) | 一种高级可扩展接口总线平台的测试方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |