CN108132853A - 用于发动机控制器软件的上电校验双冗余引导加载方法 - Google Patents
用于发动机控制器软件的上电校验双冗余引导加载方法 Download PDFInfo
- Publication number
- CN108132853A CN108132853A CN201711190218.8A CN201711190218A CN108132853A CN 108132853 A CN108132853 A CN 108132853A CN 201711190218 A CN201711190218 A CN 201711190218A CN 108132853 A CN108132853 A CN 108132853A
- Authority
- CN
- China
- Prior art keywords
- flash memory
- engine controller
- program code
- controller software
- guiding
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2284—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
Abstract
本发明属于弹用发动机控制器嵌入式软件技术领域,具体涉及一种用于发动机控制器软件的上电校验双冗余引导加载方法。该方法提高了发动机控制器软件引导加载运行的可靠性,对发动机控制器软件程序代码在程序存储器FLASH中进行冗余固化设计,通过对引导加载的程序代码进行CRC32校验,校验合格后的程序代码进行运行,保证弹用发动机控制器可靠正常工作。
Description
技术领域
本发明属于弹用发动机控制器嵌入式软件技术领域,具体涉及一种用于发动机控制器软件的上电校验双冗余引导加载方法。
背景技术
随着计算机技术的不断发展,计算机的功能和性能趋于稳定,装备系统的功能和性能逐渐由软件决定。在系统中,软件所扮演的角色越来越重要,软件所占的比重也越来越高,软件的质量和可靠性要求日益增加。
发动机用控制器作为一种专用计算机系统是发动机控制系统的核心部件之一。控制器软件是控制发动机工作的嵌入式软件,烧写在控制器非易失的FLASH芯片中。作为发动机控制系统的核心部件,控制器的主要功能是实时采集发动机的工作参数,根据当前工作状态进行控制规律运算输出,输出作用于执行机构,控制并调节执行机构的输出,控制发动机正常工作。
对于以数字信号处理器DSP为硬件平台的发动机控制器,控制器软件开发设计完成后,使用仿真器通过JTAG接口将控制器软件烧写在控制器内部贴片式非易失的FLASH存储器中。以TMS320C6713、TMS320C32为平台的控制器上电后,控制器将烧写在FLASH中的控制器软件引导加载到控制器内部RAM中运行。
但目前存在的问题是如何保证从FASH存储器引导加载到内部存储器RAM中运行的程序代码正确性,以及固化在非易失的FLASH存储器中的程序代码经过长期储存的可靠性。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何保证从FASH存储器引导加载到内部存储器RAM中运行的程序代码正确性,以及固化在非易失的FLASH存储器中的程序代码经过长期储存的可靠性。
(二)技术方案
为解决上述技术问题,本发明提供一种用于发动机控制器软件的上电校验双冗余引导加载方法,其包括如下步骤:
步骤1:将发动机控制器软件烧写在控制器内部的FLASH存储器中的两个区域;
步骤2:发动机控制器上电后,首先引导加载FLASH存储器第一区域的程序代码,并进行计算CRC32校验码,对引导加载过程进行校验;
步骤3:判断CRC32校验码是否正确;
如果正确,运行FLASH存储器第一区域的程序代码;
如果错误,重新引导加载FLASH存储器第二区域的程序代码,并进行计算CRC32校验码;
步骤4:如果FLASH存储器第二域的程序代码校验过程正确,运行FLASH存储器第一区域的程序代码;
如果FLASH存储器第二区域的程序代码校验过程错误,将引导加载的错误发送给地面。
其中,所述FLASH存储器为贴片式非易失的FLASH存储器。
其中,所述FLASH存储器为贴片式非易失的FLASH存储器。
其中,FLASH存储器中的两个区域分为FLASH存储器第一区域和FLASH存储器第二区域。
其中,使用仿真器将发动机控制器软件烧写在控制器内部的FLASH存储器中的两个区域。
其中,使用仿真器通过JTAG接口将发动机控制器软件烧写在控制器内部的FLASH存储器中的两个区域。
其中,所述步骤4中将引导加载的错误通过通讯发送给地面。
其中,将引导加载的错误发送给地面,用于确保发动机控制器故障在地面被检出,避免发动机控制器飞行过程的引导加载故障。
(三)有益效果
与现有技术相比较,为了保证从FASH存储器引导加载到内部存储器RAM中运行的程序代码正确性,以及固化在非易失的FLASH存储器中的程序代码经过长期储存的可靠性,本发明通过对运行的程序代码进行CRC32校验,以及在FLASH存储器中进行双冗余固化,确保了发动机软件引导加载过程的正确性,提高了软件运行的可靠性。
附图说明
图1及图2是发动机控制器软件上电校验双冗余引导加载过程设计流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
为解决上述技术问题,本发明在发动机控制器的非易失存储器FALSH的两个区域,固化发动机控制器软件,对程序代码进行双冗余固化。在发动机控制器上电后,对引导加载过程的程序代码进行CRC32校验,校验程序代码的正确性,一旦校验错误,重新引导加载FALSH第二区域的程序代码。确保当FLASH第一区域程序代码校验错误的情况下,重新从第二区域进行引导加载,提高发动机控制器引导加载过程的可靠性。
具体而言,本发明提供一种用于发动机控制器软件的上电校验双冗余引导加载方法,如图1及图2所示,其包括如下步骤:
步骤1:将发动机控制器软件烧写在控制器内部的FLASH存储器中的两个区域;
步骤2:发动机控制器上电后,首先引导加载FLASH存储器第一区域的程序代码,并进行计算CRC32校验码,对引导加载过程进行校验;
步骤3:判断CRC32校验码是否正确;
如果正确,运行FLASH存储器第一区域的程序代码;
如果错误,重新引导加载FLASH存储器第二区域的程序代码,并进行计算CRC32校验码;
步骤4:如果FLASH存储器第二域的程序代码校验过程正确,运行FLASH存储器第一区域的程序代码;
如果FLASH存储器第二区域的程序代码校验过程错误,将引导加载的错误通过通讯发送给地面,确保发动机控制器故障在地面被检出,避免发动机控制器飞行过程的引导加载故障。
其中,所述FLASH存储器为贴片式非易失的FLASH存储器。
其中,所述FLASH存储器为贴片式非易失的FLASH存储器。
其中,FLASH存储器中的两个区域分为FLASH存储器第一区域和FLASH存储器第二区域。
其中,使用仿真器将发动机控制器软件烧写在控制器内部的FLASH存储器中的两个区域。
其中,使用仿真器通过JTAG接口将发动机控制器软件烧写在控制器内部的FLASH存储器中的两个区域。
实施例1
本实施例中使用发动机控制器的非易失程序存储器FLASH两个区域进行固化程序代码,通过仿真器连接发动机控制器的JTAG接口,将程序代码固化在FLASH的两个区域。发动机控制器上电后,首先引导加载FLASH第一区域的程序代码,并进行计算CRC32校验码。如果CRC32校验码正确,运行第一区域的程序代码。如果CRC32校验码错误,将引导加载FLASH第二区域的程序代码,并进行计算CRC32校验码。如果CRC32校验码正确,运行第二区域的程序代码。如果CRC32校验码错误,将引导加载失败发送出去,提高了引导加载过程的可测试性。
综上,本发明提供一种用于发动机控制器软件的上电校验双冗余引导加载方法,确保发动机控制器软件引导加载的程序代码正确可靠。本发明通过对引导加载的程序代码进行CRC32校验,给出引导加载的程序代码校验是否正确。如果程序代码校验正确,则正常运行代码。如果程序代码校验错误,则重新引导加载固化在第二个区域的程序代码运行。本发明在发动机控制器的程序存储器FLASH中固化两个区域的程序代码,对程序代码进行双冗余设计,提高引导加载程序代码的可靠性
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (8)
1.一种用于发动机控制器软件的上电校验双冗余引导加载方法,其特征在于,其包括如下步骤:
步骤1:将发动机控制器软件烧写在控制器内部的FLASH存储器中的两个区域;
步骤2:发动机控制器上电后,首先引导加载FLASH存储器第一区域的程序代码,并进行计算CRC32校验码,对引导加载过程进行校验;
步骤3:判断CRC32校验码是否正确;
如果正确,运行FLASH存储器第一区域的程序代码;
如果错误,重新引导加载FLASH存储器第二区域的程序代码,并进行计算CRC32校验码;
步骤4:如果FLASH存储器第二域的程序代码校验过程正确,运行FLASH存储器第一区域的程序代码;
如果FLASH存储器第二区域的程序代码校验过程错误,将引导加载的错误发送给地面。
2.如权利要求1所述的用于发动机控制器软件的上电校验双冗余引导加载方法,其特征在于,所述FLASH存储器为贴片式非易失的FLASH存储器。
3.如权利要求1所述的用于发动机控制器软件的上电校验双冗余引导加载方法,其特征在于,所述FLASH存储器为贴片式非易失的FLASH存储器。
4.如权利要求1所述的用于发动机控制器软件的上电校验双冗余引导加载方法,其特征在于,FLASH存储器中的两个区域分为FLASH存储器第一区域和FLASH存储器第二区域。
5.如权利要求1所述的用于发动机控制器软件的上电校验双冗余引导加载方法,其特征在于,使用仿真器将发动机控制器软件烧写在控制器内部的FLASH存储器中的两个区域。
6.如权利要求5所述的用于发动机控制器软件的上电校验双冗余引导加载方法,其特征在于,使用仿真器通过JTAG接口将发动机控制器软件烧写在控制器内部的FLASH存储器中的两个区域。
7.如权利要求1所述的用于发动机控制器软件的上电校验双冗余引导加载方法,其特征在于,所述步骤4中将引导加载的错误通过通讯发送给地面。
8.如权利要求7所述的用于发动机控制器软件的上电校验双冗余引导加载方法,其特征在于,将引导加载的错误发送给地面,用于确保发动机控制器故障在地面被检出,避免发动机控制器飞行过程的引导加载故障。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711190218.8A CN108132853A (zh) | 2017-11-24 | 2017-11-24 | 用于发动机控制器软件的上电校验双冗余引导加载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711190218.8A CN108132853A (zh) | 2017-11-24 | 2017-11-24 | 用于发动机控制器软件的上电校验双冗余引导加载方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108132853A true CN108132853A (zh) | 2018-06-08 |
Family
ID=62389828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711190218.8A Pending CN108132853A (zh) | 2017-11-24 | 2017-11-24 | 用于发动机控制器软件的上电校验双冗余引导加载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108132853A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559071A (zh) * | 2020-12-14 | 2021-03-26 | 上海航天控制技术研究所 | 一种用于dsp的分段双冗余引导加载方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100313102A1 (en) * | 2009-06-04 | 2010-12-09 | A-Data Technology (Suzhou) Co., Ltd. | Electronic storage device and control method thereof |
CN103257880A (zh) * | 2013-05-30 | 2013-08-21 | 航天恒星科技有限公司 | 一种基于dsp的远程应用程序在线更新方法 |
CN103793250A (zh) * | 2014-02-18 | 2014-05-14 | 武汉精立电子技术有限公司 | 嵌入式系统的快速安全启动装置以及启动方法 |
CN104029602A (zh) * | 2014-03-05 | 2014-09-10 | 广州供电局有限公司 | 基于td-lte网络的交流充电桩系统 |
US20150187429A1 (en) * | 2013-12-31 | 2015-07-02 | Silicon Motion, Inc. | Electronic device and data-management method thereof |
US9645895B2 (en) * | 2013-12-26 | 2017-05-09 | Silicon Motion, Inc. | Data storage device and flash memory control method |
CN106951342A (zh) * | 2017-03-17 | 2017-07-14 | 数据通信科学技术研究所 | 一种TF卡片内Flash的纠错方法 |
CN107301042A (zh) * | 2017-06-06 | 2017-10-27 | 北京航天自动控制研究所 | 一种带自检功能的SoC应用程序引导方法 |
-
2017
- 2017-11-24 CN CN201711190218.8A patent/CN108132853A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100313102A1 (en) * | 2009-06-04 | 2010-12-09 | A-Data Technology (Suzhou) Co., Ltd. | Electronic storage device and control method thereof |
CN103257880A (zh) * | 2013-05-30 | 2013-08-21 | 航天恒星科技有限公司 | 一种基于dsp的远程应用程序在线更新方法 |
US9645895B2 (en) * | 2013-12-26 | 2017-05-09 | Silicon Motion, Inc. | Data storage device and flash memory control method |
US20150187429A1 (en) * | 2013-12-31 | 2015-07-02 | Silicon Motion, Inc. | Electronic device and data-management method thereof |
CN103793250A (zh) * | 2014-02-18 | 2014-05-14 | 武汉精立电子技术有限公司 | 嵌入式系统的快速安全启动装置以及启动方法 |
CN104029602A (zh) * | 2014-03-05 | 2014-09-10 | 广州供电局有限公司 | 基于td-lte网络的交流充电桩系统 |
CN106951342A (zh) * | 2017-03-17 | 2017-07-14 | 数据通信科学技术研究所 | 一种TF卡片内Flash的纠错方法 |
CN107301042A (zh) * | 2017-06-06 | 2017-10-27 | 北京航天自动控制研究所 | 一种带自检功能的SoC应用程序引导方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559071A (zh) * | 2020-12-14 | 2021-03-26 | 上海航天控制技术研究所 | 一种用于dsp的分段双冗余引导加载方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102298545B (zh) | 一种系统启动引导处理方法及装置 | |
CN104268052B (zh) | 一种基于ITP工具的Memory Rank Spare测试方法 | |
US8341491B2 (en) | System and method for providing data integrity in a non-volatile memory system | |
CN100359469C (zh) | 单片机升级方法 | |
CN1971536A (zh) | 基本输入输出系统的纠错系统及方法 | |
US10388392B2 (en) | Safe execution in place (XIP) from flash memory | |
CN106776122A (zh) | 一种基于Flash启动过程中主备保护的方法 | |
CN104461641B (zh) | 一种数据烧写方法、系统、烧写设备以及目标设备 | |
US20150154091A1 (en) | Bios maintenance method | |
CN104657247A (zh) | 基于jtag调试方式实现通用型故障注入系统和故障注入方法 | |
CN108038021B (zh) | 一种计算机程序运行阶段代码内存校验方法 | |
US20170242685A1 (en) | Updating of firmware | |
CN107704258A (zh) | Uboot升级方法、系统及终端设备 | |
CN104881283A (zh) | 一种获取基于安卓的终端设备的root权限的方法及系统 | |
CN107301042A (zh) | 一种带自检功能的SoC应用程序引导方法 | |
CN108132853A (zh) | 用于发动机控制器软件的上电校验双冗余引导加载方法 | |
CN106851625A (zh) | 一种蓝牙产品ota升级方法 | |
CN109671466B (zh) | 一种阈值电压调试方法、装置及电子设备 | |
CN111625286A (zh) | 一种星载dsp程序外部引导加载方法及加载系统 | |
US20150019852A1 (en) | Verification method for system execution environment | |
CN102799494B (zh) | 一种校验内存中应用程序的方法和装置 | |
CN111273928A (zh) | 一种自升级的bootloader设计方法 | |
CN114927159A (zh) | 应用于闪存控制器的编码器自我测试电路及相关的方法 | |
Wendler | CPAchecker with Sequential Combination of Explicit-State Analysis and Predicate Analysis: (Competition Contribution) | |
US7747911B1 (en) | Self verification of non-volatile memory |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180608 |