CN109446021B - DDR monitoring method for dual-core SOC of aerostat occultation receiver - Google Patents

DDR monitoring method for dual-core SOC of aerostat occultation receiver Download PDF

Info

Publication number
CN109446021B
CN109446021B CN201811166699.3A CN201811166699A CN109446021B CN 109446021 B CN109446021 B CN 109446021B CN 201811166699 A CN201811166699 A CN 201811166699A CN 109446021 B CN109446021 B CN 109446021B
Authority
CN
China
Prior art keywords
core
ddr
code
data
codes
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
Application number
CN201811166699.3A
Other languages
Chinese (zh)
Other versions
CN109446021A (en
Inventor
郭启云
杨荣康
李昌兴
刘永成
温凯
张春泽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Xunlian Technology Co ltd
CMA Meteorological Observation Centre
Original Assignee
Tianjin Xunlian Technology Co ltd
CMA Meteorological Observation Centre
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianjin Xunlian Technology Co ltd, CMA Meteorological Observation Centre filed Critical Tianjin Xunlian Technology Co ltd
Priority to CN201811166699.3A priority Critical patent/CN109446021B/en
Publication of CN109446021A publication Critical patent/CN109446021A/en
Application granted granted Critical
Publication of CN109446021B publication Critical patent/CN109446021B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Hardware Redundancy (AREA)

Abstract

The invention discloses a DDR monitoring method for a dual-core SOC of a occultation receiver of an aerostat, which comprises the steps of dividing a DDR space for code operation in two kernel code configuration files of the SOC, and compiling and manufacturing a burning file of codes; making an FPGA bit stream file and a system starting file; respectively distributing the core 0 and core 1 burning program three backups to fixed addresses in the FLASH; after the system is powered on and operated, the starting code loads the three-backup core 0 and core 1 programs into corresponding addresses of the DDR after respectively taking 2 from 3, and after the core 0 is started, the core 1 is guided to operate; in normal operation of the system, the DDR monitoring function in any core code of the core 0 or the core 1 respectively reads three backup files of the core 0 and the core 1 in the FLASH and compares the three backup files with data of corresponding addresses in the DDR. The invention only uses 1 kernel to monitor the write-back of the dual-core code, enhances the single event resistance of the system and reduces the risk of delayed interrupt response of the system.

Description

DDR monitoring method for dual-core SOC of aerostat occultation receiver
Technical Field
The invention belongs to the technical field of memory monitoring, and particularly relates to a DDR (double data rate) monitoring method for a dual-core SOC (system on chip) of an aerostat occultation receiver.
Background
A large amount of high-energy charged particles exist in a space environment, and the potential of the CMOS device is easy to jump. Program storage devices such as SRAM, DDR and the like in the on-track device are susceptible to single event, so that codes are abnormally operated, and the space device can be seriously failed, therefore, an SRAM chip with an EDAC function is selected or a memory device monitoring method is designed.
The SRAM memory chip with the EDAC function can correct error bits by using an EDAC error correction circuit when single bit upset occurs, so that normal operation of a system is guaranteed, but when multi-bit upset occurs, the EDAC function cannot effectively correct error data, and abnormal operation is caused.
The current memory monitoring scheme mainly aims at a single-core controller such as a single-core DSP, an ARM chip and the like, reads data in FLASH and compares the data with programs in SRAM, and writes back if the data is inconsistent with the programs in SRAM. In a conventional monitoring scheme, when a control chip reads a serial FLASH (such as QSPI-FLASH), a fixed read timing sequence needs to be followed, so that an interrupt needs to be temporarily shielded, and the read timing sequence is prevented from being disordered and data errors are prevented. Masking interrupts entails the risk that the interrupt response is delayed, so that conventional solutions are not suitable for use in systems where interrupts are frequent and where there is a strict requirement for interrupt response.
With the development of technology, a Multi-core control chip is developed, and in an Asymmetric Multi-processor mode (abbreviated as AMP), each core can independently run different programs, and perform inter-core data interaction by sharing a memory. One multi-core chip can complete the task which can be completed only by the joint operation of a plurality of chips, thereby reducing the peripheral circuit design of the traditional chip and the data communication design among the chips and enhancing the reliability of the system. At present, a multi-core chip is already applied to the field of aerospace, for monitoring a multi-core control chip memory, the Harbin industry university proposes a monitoring scheme adopting a dual-core mutual detection method, the dual cores run the same codes, and the codes are mutually detected during running so as to ensure the code correctness. However, for a multi-core control chip, the technical advantages of the multi-core controller are not exerted by the fact that the dual cores run the same code.
Disclosure of Invention
Aiming at the technical problems in the prior art, the invention provides a DDR monitoring method for a dual-core SOC of an aerostat occultation receiver, only 1 kernel is used for monitoring and writing back dual-core codes, the single-particle resistance of a system is enhanced, and the risk that the interrupt response of the system is delayed is reduced.
In order to solve the technical problems, the invention adopts the technical scheme that: a DDR monitoring method for a double-core SOC of an aerostat occultation receiver comprises the following steps:
(1) Dividing DDR space for code operation in two kernel code configuration files of the SOC, and compiling a burning file for manufacturing the code;
(2) Making an FPGA bit stream file and a system starting file;
(3) Making a burning file, and respectively distributing the three backups of the burning programs of the core 0 and the core 1 to fixed addresses in the FLASH when the burning file is made;
(4) After the system is powered on and operated, the starting code loads the three-backup core 0 and core 1 programs into corresponding addresses of the DDR after respectively taking 2 out of 3, then jumps to the core 0 to start operation, and after the core 0 is started, guides the core 1 to operate and starts the whole system;
(5) In normal operation of the system, the DDR monitoring function in any core code of the core 0 or the core 1 respectively reads three backup files of the core 0 and the core 1 in the FLASH, the three backup files are compared with codes of corresponding addresses in the DDR, and when the two backup files are not consistent, the codes in the DDR are rewritten.
Preferably, the FLASH type is QSPI-FLASH.
Preferably, in step (5), the DDR monitoring function is located in a background task of the core 1 code, and during the idle period of the system, the function is continuously running, and the main logic of the function is:
(a) Reading a code in the DDR of the core 0;
(b) Reading a code in a QSPI-FLASH corresponding to the core 0;
(c) Comparing the two codes, and rewriting the codes in the DDR if the two codes are not consistent;
(d) Reading codes in the DDR of the core 1;
(e) Reading a code in a QSPI-FLASH corresponding to the core 1;
(f) And comparing the two codes, and rewriting the codes in the DDR if the two codes are not consistent.
Preferably, the core 0 code 3 backup is stored in a fixed address of the QSPI-FLASH chip.
Preferably, the core 1 code 3 backup is stored in a fixed address of the QSPI-FLASH chip.
Preferably, any one of the core 0 or the core 1 reads the three backup data of the core 0 in real time, performs the operation of taking 2 out of 3, compares the data with the data in the DDR address corresponding to the core 0, and rewrites the data in the DDR if the data do not match with the data in the DDR address corresponding to the core 0.
Preferably, any one of the core 0 or the core 1 reads the triple backup data of the core 1 in real time, performs a fetch 2 from 3 operation, compares the triple backup data with the data in the DDR address corresponding to the core 1, and if the triple backup data do not match with the data in the DDR address corresponding to the core 1, rewrites the data in the DDR.
Compared with the prior art, the invention has the beneficial effects that:
1. in the invention, the operation of taking 2 out of 3 of the program is realized in the initial loading and normal running processes of the system, and the correctness of the loaded program is ensured.
2. In the invention, any core carries out DDR monitoring in the normal running process of the system, compared with the scheme that each core independently maintains the DDR code of the core, the other core does not need to shield interruption and then operate QSPI-FLASH to cause interruption response delay, and the rapidity of the system for interruption response is ensured. The reliability of the space electronic equipment is enhanced.
3. In the invention, the dual cores of the system run different codes to process different tasks, thereby exerting the technical advantages of the multi-core processor.
Drawings
FIG. 1 is a schematic flow chart of the present invention.
Detailed Description
In order to make the technical solutions of the present invention better understood, the present invention will be described in detail below with reference to the accompanying drawings and specific embodiments.
The embodiment of the invention discloses a DDR monitoring method for a double-core SOC of an aerostat occultation receiver, which comprises the following steps as shown in the figure:
(1) Dividing DDR space for code operation in two kernel code configuration files of the SOC, and compiling a burning file for manufacturing the code;
(2) Making an FPGA bit stream file and a system starting file;
(3) Making a burning file, and respectively distributing the three backups of the burning programs of the core 0 and the core 1 to fixed addresses in the FLASH when the burning file is made;
(4) After the system is powered on and operated, the starting code loads the three-backup core 0 and core 1 programs into corresponding addresses of the DDR after respectively taking 2 out of 3, then jumps to the core 0 to start operation, and after the core 0 is started, guides the core 1 to operate and starts the whole system;
(5) In the normal operation of the system, the DDR monitoring function in any one of the core codes of the core 0 or the core 1 respectively reads the three backup files of the core 0 and the core 1 in the FLASH, the three backup files are compared with the codes of the corresponding addresses in the DDR, and when the two backup files are not consistent, the codes in the DDR are rewritten.
In this embodiment, the FLASH type is QSPI-FLASH.
In this embodiment, in step (5), the DDR monitor function is located in a background task of the core 1 code, and during the idle period of the system, the function is continuously run, and the main logic of the function is:
(a) Reading a DDR middle code of the core 0;
(b) Reading a code in a QSPI-FLASH corresponding to the core 0;
(c) Comparing the two codes, and rewriting the codes in the DDR if the two codes are not consistent;
(d) Reading codes in the DDR of the core 1;
(e) Reading a code in a QSPI-FLASH corresponding to the core 1;
(f) And comparing the two codes, and rewriting the codes in the DDR if the two codes are not consistent.
In this embodiment, the core 0 code 3 backup is stored in the fixed address of the QSPI-FLASH chip.
In this embodiment, the core 1 code 3 is backed up and stored in the fixed address of the QSPI-FLASH chip.
In this embodiment, any one of the core 0 or the core 1 reads the three backup data of the core 0 in real time, performs the operation of taking 2 from 3, compares the three backup data with the data in the DDR address corresponding to the core 0, and if the three backup data are not consistent with the data in the DDR address corresponding to the core 0, rewrites the data in the DDR.
In this embodiment, any one of the core 0 or the core 1 reads the triple backup data of the core 1 in real time, performs the operation of taking 2 out of 3, compares the triple backup data with the data in the DDR address corresponding to the core 1, and if the triple backup data are not consistent with the data in the DDR address corresponding to the core 1, rewrites the data in the DDR.
In this embodiment, the core control chip of the aerostat occultation receiver is a dual-core SOC chip, and operates in an AMP mode, the core 0 and the core 1 run different codes, wherein one core processes frequently interrupted tasks, and the other core processes tasks insensitive to interrupt delay, such as system control, data management, and DDR monitoring.
The present invention has been described in detail with reference to the embodiments, but the description is only illustrative of the present invention and should not be construed as limiting the scope of the invention. The scope of the invention is defined by the claims. The technical solutions of the present invention or those skilled in the art, based on the teachings of the technical solutions of the present invention, should be within the scope of the present invention, and the claims of the present invention should also cover the scope of the present invention by designing similar technical solutions to achieve the above technical effects or by making equivalent changes and improvements in the scope of the present invention. It should be noted that for the sake of clarity, parts of the description of the invention have been omitted where there is no direct explicit connection with the scope of protection of the invention, but where components and processes are known to those skilled in the art.

Claims (5)

1. A DDR monitoring method for a dual-core SOC of an aerostat occultation receiver is characterized by comprising the following steps:
(1) Dividing DDR space for code operation in two kernel code configuration files of the SOC, and compiling a burning file for manufacturing the codes;
(2) Making an FPGA bit stream file and a system starting file;
(3) Making a burning file, and respectively distributing the three backups of the burning programs of the core 0 and the core 1 to fixed addresses in the FLASH when the burning file is made;
(4) After the system is powered on and operated, the starting code loads the three-backup core 0 and core 1 programs which are respectively 3-2 into corresponding addresses of the DDR, then jumps to the core 0 to start operation, guides the core 1 to operate after the core 0 is started, and starts the whole system;
(5) In the normal operation of the system, a DDR monitoring function in any core code of the core 0 or the core 1 respectively reads the three backup files of the core 0 and the core 1 in the FLASH, the three backup files are compared with the codes of corresponding addresses in the DDR, and when the two backup files are inconsistent, the codes in the DDR are rewritten; the FLASH type is QSPI-FLASH; the DDR monitoring function is located in a background task of a core 1 code, the function is continuously operated during the idle period of the system, and the logic of the function is as follows:
(a) Reading a DDR middle code of the core 0;
(b) Reading a code in a QSPI-FLASH corresponding to the core 0;
(c) Comparing the two codes, and rewriting the codes in the DDR if the two codes are not consistent;
(d) Reading a code in a DDR of the core 1;
(e) Reading a code in a QSPI-FLASH corresponding to the core 1;
(f) And comparing the two codes, and rewriting the codes in the DDR if the two codes are not consistent.
2. The DDR monitoring method for the dual core SOC of the occultation receiver of the aerostat according to claim 1, wherein the core 0 code 3 backup is stored in a fixed address of the QSPI-FLASH chip.
3. The DDR monitoring method for the dual core SOC of the occultation receiver of the aerostat according to claim 1, wherein the core 1 code 3 backup is stored in a fixed address of the QSPI-FLASH chip.
4. The DDR monitoring method for the dual-core SOC of the occultation receiver of the aerostat as recited in claim 1, wherein any one of the core 0 or the core 1 reads three backup data of the core 0 in real time, and performs a 2 out of 3 operation, compares the data with data in a DDR address corresponding to the core 0, and rewrites the data in the DDR if the data is inconsistent.
5. The DDR monitoring method for the dual-core SOC of the occultation receiver of the aerostat as recited in claim 1, wherein any one of the core 0 and the core 1 reads three backup data of the core 1 in real time, and performs a 2 out of 3 operation, compares the data with data in a DDR address corresponding to the core 1, and if the data are not consistent, rewrites the data in the DDR.
CN201811166699.3A 2018-09-30 2018-09-30 DDR monitoring method for dual-core SOC of aerostat occultation receiver Active CN109446021B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811166699.3A CN109446021B (en) 2018-09-30 2018-09-30 DDR monitoring method for dual-core SOC of aerostat occultation receiver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811166699.3A CN109446021B (en) 2018-09-30 2018-09-30 DDR monitoring method for dual-core SOC of aerostat occultation receiver

Publications (2)

Publication Number Publication Date
CN109446021A CN109446021A (en) 2019-03-08
CN109446021B true CN109446021B (en) 2022-11-22

Family

ID=65544632

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811166699.3A Active CN109446021B (en) 2018-09-30 2018-09-30 DDR monitoring method for dual-core SOC of aerostat occultation receiver

Country Status (1)

Country Link
CN (1) CN109446021B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106484581A (en) * 2016-10-25 2017-03-08 哈尔滨工业大学 Programmable SOC device single-particle inversion detecting system and method under space radiation environment
CN108021530A (en) * 2017-12-22 2018-05-11 北京卫星信息工程研究所 The in-orbit reconstructing method of general signal processing platform based on SOC
CN108228525A (en) * 2016-12-13 2018-06-29 北京迪文科技有限公司 A kind of the application solutions device and method of 8051 processor SOC of multinuclear
CN108279935A (en) * 2016-12-30 2018-07-13 北京中科晶上科技股份有限公司 A kind of os starting bootstrap technique for system on chip

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2554349B (en) * 2016-09-13 2018-10-17 Imagination Tech Ltd Build-time memory manangement for multi-core embedded system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106484581A (en) * 2016-10-25 2017-03-08 哈尔滨工业大学 Programmable SOC device single-particle inversion detecting system and method under space radiation environment
CN108228525A (en) * 2016-12-13 2018-06-29 北京迪文科技有限公司 A kind of the application solutions device and method of 8051 processor SOC of multinuclear
CN108279935A (en) * 2016-12-30 2018-07-13 北京中科晶上科技股份有限公司 A kind of os starting bootstrap technique for system on chip
CN108021530A (en) * 2017-12-22 2018-05-11 北京卫星信息工程研究所 The in-orbit reconstructing method of general signal processing platform based on SOC

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
双核处理器AMP模式在电力设备控制中的应用;吴相楠等;《单片机与嵌入式***应用》;20180601(第06期);全文 *
基于TMS320C6678的国产DSP操作***引导程序设计;马云等;《电子技术与软件工程》;20180327(第06期);全文 *

Also Published As

Publication number Publication date
CN109446021A (en) 2019-03-08

Similar Documents

Publication Publication Date Title
US9891917B2 (en) System and method to increase lockstep core availability
CN102270162B (en) Fault-tolerant guide method applied to SPARCV8 structure computer
KR102460513B1 (en) Recovery After Consolidation Package
US8862953B2 (en) Memory testing with selective use of an error correction code decoder
US20120221884A1 (en) Error management across hardware and software layers
US20090044044A1 (en) Device and method for correcting errors in a system having at least two execution units having registers
EP2770507B1 (en) Memory circuits, method for accessing a memory and method for repairing a memory
US10062451B2 (en) Background memory test apparatus and methods
US7363544B2 (en) Program debug method and apparatus
TWI510912B (en) Fault tolerance in a multi-core circuit
CN103226499A (en) Method and device for restoring abnormal data in internal memory
US11960748B2 (en) SSD supporting read-only mode after PLP backup failure
US10108469B2 (en) Microcomputer and microcomputer system
CN110704236B (en) On-line checking method for chip flash data and computer storage medium
CN104484202A (en) Aerospace embedded software on-orbit reloading method applicable to 8051 microcontroller
CN109446021B (en) DDR monitoring method for dual-core SOC of aerostat occultation receiver
US20140095859A1 (en) Apparatus and method for managing register information in a processing system
Eichler et al. Neverlast: an NVM-centric operating system for persistent edge systems
US20050015649A1 (en) Method and system for correcting errors in a memory device
US20160328240A1 (en) Bios system with simulated cmos
CN111061591B (en) System and method for implementing data integrity check based on memory integrity check controller
US20180253349A1 (en) Fault tolerant operating metohd and electronic device using the same
CN109213627B (en) Fault-tolerant operation method and electronic device using same
JPH0644238B2 (en) Instruction re-execution control method
Schneider et al. Multicore vs safety

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