CN109614265B - Double-backup system of intelligent inertial navigation sensing system and configuration starting method thereof - Google Patents

Double-backup system of intelligent inertial navigation sensing system and configuration starting method thereof Download PDF

Info

Publication number
CN109614265B
CN109614265B CN201811309798.2A CN201811309798A CN109614265B CN 109614265 B CN109614265 B CN 109614265B CN 201811309798 A CN201811309798 A CN 201811309798A CN 109614265 B CN109614265 B CN 109614265B
Authority
CN
China
Prior art keywords
area
firmware
app1
flag
app2
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
CN201811309798.2A
Other languages
Chinese (zh)
Other versions
CN109614265A (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.)
Beijing Atom Robotics Technology Co ltd
Original Assignee
Beijing Atom Robotics Technology Co ltd
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 Beijing Atom Robotics Technology Co ltd filed Critical Beijing Atom Robotics Technology Co ltd
Priority to CN201811309798.2A priority Critical patent/CN109614265B/en
Publication of CN109614265A publication Critical patent/CN109614265A/en
Application granted granted Critical
Publication of CN109614265B publication Critical patent/CN109614265B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures

Abstract

The invention provides a flash dual-backup system of an intelligent inertial navigation sensing system and a firmware upgrading method, wherein the system comprises a boot loader processing module and a memory module, the memory module is divided into a plurality of memory areas, the memory areas comprise a boot loader area (Bootloader), a first Parameter area (Parameter 1) and a second Parameter area (Parameter 2), a first firmware area (APP 1) and a second firmware area (APP 2), the APP1 area and the APP2 area are respectively used for storing system firmware App1 and App2, the boot loader area (Bootloader) stores a boot loader (Bootloader), and the boot loader processing module makes judgment according to preset logic and selects one firmware to start running.

Description

Double-backup system of intelligent inertial navigation sensing system and configuration starting method thereof
Technical Field
The invention relates to a data processing system and a method in an intelligent inertial navigation sensing system, in particular to a flash dual-backup system in an inertial navigation sensing system processor and a configuration starting method thereof.
Background
The inertial navigation is a positioning method based on measuring the acceleration of a moving body, does not depend on external information, and only depends on self inertial measurement to complete navigation, and the inertial navigation system is an autonomous navigation system which utilizes an inertial sensor, a reference direction and an initial position to determine the position, the direction and the speed of an object in space. The intelligent inertial navigation sensing system is one of core components in the whole system, the data processing function of the intelligent inertial navigation sensing system directly influences the advantages and disadvantages of the system performance, and mechanisms of upgrading, backing up and protecting various data including firmware codes, default configuration, user data and the like play a vital role in efficient and stable operation of the system. In the prior art, the mechanisms of upgrading, backing up and protecting the data in the flash are imperfect, so that a series of problems of unstable operation, no fault downtime, incapability of automatic starting after downtime, incomplete firmware upgrading and backing-up function and the like can occur in the system.
Disclosure of Invention
In order to solve the technical problems, the invention provides a dual-backup system and a configuration starting method thereof, which can improve the stability and the robustness of an intelligent inertial navigation system.
The invention provides a flash dual-backup system of an intelligent inertial navigation sensing system and a configuration starting method thereof. The system includes a bootload processing module and a memory module. The memory module is divided into a plurality of memory areas, and different types of data, firmware, program codes and the like are stored respectively. Preferably, the memory module may include a Bootloader region (Bootloader region), a first Parameter region (Parameter 1 region) and a second Parameter region (Parameter 2 region), a first firmware region (APP 1 region) and a second firmware region (APP 2 region). The BootLoader area is used for storing program codes started by the boot firmware, the Parameter1 and Parameter2 areas are used for storing default configuration and customer configuration of the system, the APP1 and APP2 areas are mainly used for storing the system firmware, and the boot loading processing module mainly completes the function from the power-on starting of the module to the boot system firmware. Two executable firmware, which can be called App1 and App2, exist simultaneously inside Flash, and are stored in App1 and App2 areas, respectively. Preferably, the storage area further includes a Reserved area (Reserved) for temporarily storing a configuration upgrade file during firmware upgrade. The boot loader processing module makes a judgment according to a preselected logic, selects one firmware to start running, in general, the content of App1 and App2 are identical, one of the two firmware is selected to be guided when the BootLoader is started, if one firmware is damaged, the other firmware is guided to be started when the BootLoader is started next time, meanwhile, the damaged firmware is repaired by using the finished firmware, and if both the firmware are damaged, the system cannot be started. The dual firmware regions will effectively increase the reliability of the system
Preferably, the boot loader module makes a judgment according to a pre-selected logic to select a firmware to start running, and the specific steps may include:
step one, reading the value of APP1_FLAG from the Flag region of Parameter1 to variable startPoint1, reading the value of APP2_FLAG to variable startPoint2, judging the values of startPoint1 and startPoint2, if both startPoint1 and startPoint2 are equal to 1 or are not equal to 1, executing step two, otherwise executing step four;
step two, reading the value of the APP1_FLAG from the Flag region of the Parameter2 to a variable startPoint1, reading the value of the APP2_FLAG to a variable startPoint2, and executing the step three if both the startPoint1 and the startPoint2 are equal to 1 or neither equal to 1, otherwise executing the step four;
setting the value of startPoint1 to 1 and the value of startPoint2 to 0;
judging the values of startPoint1 and startPoint2, if startPoint1 is equal to 1 and startPoint2 is equal to 0, sending information outwards by the serial port, reversing the LED port level, jumping the PC pointer to the APP1 area, and starting the system from the APP1 area; if startPoint1 is equal to 0 and startPoint2 is equal to 1, the serial port sends information outwards, the LED port level is reversed, the PC pointer jumps to the APP2 area, and the system is started from the APP2 area; otherwise, the serial port sends information outwards, the LED port level is reversed, the PC pointer jumps to the APP1 area, and the system is forcefully started from the APP1 area.
The invention provides a double-backup system configuration starting method of an intelligent inertial navigation sensing system. The method comprises the following steps: (1) Dividing a flash into storage areas according to functions, wherein the storage areas comprise a boot loader area, a first Parameter area (Parameter 1) and a second Parameter area (Parameter 2), a first firmware area (APP 1) and a second firmware area (APP 2); (2) The APP1 area and the APP2 area respectively store system firmware App1 and App2, and the boot loader area stores a boot loader (Bootloader); (3) The boot loading processing module makes a judgment according to preset logic, and selects one firmware to start running.
Preferably, the storage area further includes a Reserved area (Reserved) for temporarily storing a configuration upgrade file during firmware upgrade.
Preferably, the boot loader processing module completes the function from the power-on start of the module to the boot system firmware, the content of App1 and App2 are identical, and one of them is selected for booting when BootLoader is started.
Preferably, the BootLoader area is used for storing program codes for booting firmware, the Parameter1 and Parameter2 areas are used for storing default configuration and customer configuration of the system, and the APP1 and APP2 areas are used for storing system firmware.
Preferably, if one of the firmware is damaged, the other firmware is booted when the BootLoader is booted next time; when one firmware is damaged, the damaged firmware is repaired by using the intact firmware.
Preferably, the boot loader module makes a judgment according to preset logic to select a firmware to start running, and the method comprises the following steps:
step one, reading the value of APP1_FLAG from a Flag (Flag) area of Parameter1 to a variable startPoint1, reading the value of APP2_FLAG to a variable startPoint2, judging the values of startPoint1 and startPoint2, if both startPoint1 and startPoint2 are equal to 1 or are not equal to 1, executing step two, otherwise executing step four;
step two, reading the value of the APP1_FLAG from a Flag (Flag) area of the Parameter2 to a variable startPoint1, reading the value of the APP2_FLAG to a variable startPoint2, and executing a step three if both the startPoint1 and the startPoint2 are equal to 1 or are not equal to 1, otherwise executing a step four;
setting the value of startPoint1 to 1 and the value of startPoint2 to 0;
judging the values of startPoint1 and startPoint2, if startPoint1 is equal to 1 and startPoint2 is equal to 0, sending information outwards by the serial port, reversing the LED port level, jumping the PC pointer to the APP1 area, and starting the system from the APP1 area; if startPoint1 is equal to 0 and startPoint2 is equal to 1, the serial port sends information outwards, the LED port level is reversed, the PC pointer jumps to the APP2 area, and the system is started from the APP2 area; otherwise, the serial port sends information outwards, the LED port level is reversed, the PC pointer jumps to the APP1 area, and the system is forcefully started from the APP1 area.
Drawings
FIG. 1Flash dual backup system configuration
Configuration data structure of the system and user of FIG. 2
FIG. 3Flash dual backup system
FIG. 4Flash dual backup system configuration startup flow
FIG. 5Flash dual backup system
Detailed Description
For convenience in reading and understanding, some abbreviations and related technical terms in the present invention are described:
APP1 or APP2 means the corresponding region in FLASH;
app1 and App2 mean firmware in the corresponding areas;
the invention provides a flash double-backup system and a setting starting method thereof, which can be preferably applied to an intelligent inertial navigation sensor system. The intelligent inertial navigation sensing system adopts a controller to process, calculate and fuse various data, and a plurality of flash are arranged in the chip. According to the functional division, each flash may be divided into a plurality of areas, as shown in fig. 1, including a Bootloader area, a Parameter1 area, a Parameter2 area, an APP1 area, an APP2 area, and a reserved (Reserve) area. The BootLoader area is used for storing codes for starting the boot firmware, the Parameter1 and Parameter2 areas are used for storing default configuration and customer configuration of the system, the APP1 and APP2 areas are used for storing the system firmware, and the reserved area is used for temporarily storing configuration upgrade files during firmware upgrade. The BootLoader mainly completes the function from the power-on start of the module to the boot of the system firmware. Two pieces of executable firmware, called App1 and App2, exist in Flash at the same time, and are stored in App1 and App2 areas, respectively. The BootLoader makes a judgment according to a certain logic, selects one firmware to start running, in general, the content of App1 and App2 are identical, one of the two firmware is selected to be guided when the BootLoader is started, if one firmware is damaged, the other firmware is guided to be started when the BootLoader is started next time, and meanwhile, the damaged firmware is repaired by using the finished firmware, and if both the firmware are damaged, the system cannot be started. The dual firmware regions will effectively increase the reliability of the system
Two Parameter areas, namely a Parameter1 area and a Parameter2 area, for storing default configuration and user configuration are simultaneously set in the Flash in the chip. The Parameter1 region may be located in the region of the on-chip FLASH addresses 0x 08008000-0 x0800BFF, for a total of 16KB. The Parameter2 region may be located in the region of FLASH addresses 0x0800C 000-0 x0800FFFF, for a total of 16KB. The Parameter area is mainly composed of three parts: namely a Flag area, a System area and a User area. The Flag area stores Flag bits or check data for indicating BootLoader system boot and firmware upgrade, which are required during BootLoader boot, FLASH boot check, and configuration read and firmware upgrade. A flag bit or check bit, for example: the DATA packets include, but are not limited to, APP1_FLAG, APP2_FLAG, DATA_VALID_FLAG, CONFIG_UPDATE_FLAG, SYS_CONFIG_CRC, USER_CONFIG_CRC. Checking the APP1_FLAG and the APP2_FLAG in the process of BootLoader boot firmware starting, wherein the values of the APP1_FLAG and the APP2_FLAG determine which firmware the BootLoader starts; when the FLAG bit DATA_VALID_FLAG is not 0xAA, indicating that the Parameter is not initialized and is in an unavailable state; when the FLAG bit CONFIG_UPDATE_FLAG is 1, indicating that firmware upgrading operation happens once, and upgrading the Parameter area for firmware modification by using ConfigBin in the Reserve area in the FLASH starting checking and configuration reading process; the flag bit SYS_CONFIG_CRC is a CRC16 check bit of a System area in the Parameter area, and when the System area data is loaded, CRC check is carried out on the System area so as to ensure the availability of the read factory configuration data of the System area; the flag bit user_config_crc is a CRC16 check bit of the USER area in the Parameter area, and when the USER area data is loaded, CRC check is performed on the USER area to ensure availability of the read USER configuration data in the USER area. The System area is used to store written default configuration data, which may be partially modified during initial setup. The User area stores configuration data configured by the User himself, and the configuration data in the area can be modified. In the process of recovering the default configuration, the data of the area is erased and overwritten with the data of the System area, i.e., the default configuration data. The data format of the User configuration data stored in the User area is the same as the data format of the System area, the stored data directory is the same, and the configuration data of the User area is read by default in the process of FLASH starting checking and configuration reading.
As shown in fig. 2, the configuration Data of the System area and the User area is composed of UniqueID, dataType, dataAmount and Data, and the unique is composed of GroupID and ItemID, each unique.
The Flag area is typically located in the first half of the Parameter area. Take the Flag field of the Parameter1 field as an example: this area is located at on-chip FLASH addresses 0x 08008000-0 x080087FF, for a total of 2KB. The Flag area stores a plurality of Flag bits or check bits such as an app1_flag and an app2_flag, the app1_flag and the app2_flag are two Flag bits stored in the Flag area, the Flag bits are 8bit unsigned shaping numbers, the effective value is 0 or 1,1 represents that firmware is started from the corresponding APP area, the app1_flag and the app2_flag in one Flag area are different, for example, one value is 1, one value is 0, and the system is in a state that can be started normally, otherwise, the system is in an abnormal state. The Parameter1 area and the Parameter2 area are identical in content stored in a general case. When BootLoader starts, one of the Parameter1 area and Parameter2 area is selected according to a certain logic, the flag bit stored in the selected area is loaded for starting the firmware, and meanwhile, the firmware reads the configuration information of a user or a system from one of the Parameter areas according to a certain logic during initialization. During firmware upgrade, the Parameter area is also read and written.
Firmware in Flash has built in firmware upgrading function. The firmware upgrade content includes changes to the firmware itself and changes to the Parameter area. The firmware upgrading function does not have any read-write operation on BootLoader. Because the Flash erase and write functions cannot be performed on the region where the running firmware is located, the upgrade action under the current firmware will be effective from the firmware in another firmware region. For example, firmware upgrade is started when App1 runs, and in fact, new firmware will be written into App2 to complete update upgrade of App2. After the system is successfully upgraded and restarted, the BootLoader will guide App2 to start. To keep the contents of App1 and App2 completely identical, the firmware upgrade is operated twice.
During the firmware start-up initialization process, the Parameter area is checked and read, and the read contents are system data and user data in the Parameter area. In this process, the checking program will check the validity of the data of the two paramter areas and perform valid processing on the invalid paramter areas according to a certain logic.
The default setting of the intelligent inertial navigation sensor system is the writing process of default configuration information such as calibration information, ID and the like. The process will modify a portion of the data in the System area in Parameter1 and Parameter 2. Restoring the default setting refers to erasing the User area in the Parameter area and writing the default configuration value in the System area, and this process will clear the data saved by the User. User save means that the User writes his own personalized configuration into the User area in the Parameter area, and the configuration data of the User in the User area will be loaded when the system is started next time.
The reserved area (reserved area) is a section of area before the Parameter area after the BootLoader area in the FLASH, the addresses in the FLASH sheet are 0x 08004000-0 x08007FFF, and the space size is 16KB. The Reserve area is typically a reserved area that is used to store configuration upgrade data during a firmware upgrade. The data of this area will be used in the merging process of the new and old configuration data at the first system start after the firmware upgrade, and the Reserve area will be erased after the process is finished.
The dual backup system in flash, the start-up process of the dual backup system, the update and upgrade process of the data firmware, etc. will be described in detail with reference to the accompanying drawings.
Fig. 3 shows a preferred embodiment of a dual backup system, preferably a flash dual backup system. The system includes a BootLoader processing module (BootLoader) and a memory module. The memory module is divided into a plurality of memory areas for respectively storing different types of data, firmware, program codes and the like, and the memory module comprises a Bootloader area, a Parameter1 area, a Parameter2 area, an APP1 area, an APP2 area and a Reserved (Reserved) area. The BootLoader area is used for storing program codes for starting the boot firmware, the Parameter1 and Parameter2 areas are used for storing default configuration and customer configuration of the system, the APP1 and APP2 areas are mainly used for storing the system firmware, and the reserved area is used for temporarily storing configuration upgrade files during firmware upgrade. The BootLoader mainly completes the function from the power-on start of the module to the boot of the system firmware. Two pieces of executable firmware, called App1 and App2, exist in Flash at the same time, and are stored in App1 and App2 areas, respectively. The BootLoader makes a judgment according to a certain logic, selects one firmware to start running, in general, the content of App1 and App2 are identical, one of the two firmware is selected to be guided when the BootLoader is started, if one firmware is damaged, the other firmware is guided to be started when the BootLoader is started next time, and meanwhile, the damaged firmware is repaired by using the finished firmware, and if both the firmware are damaged, the system cannot be started. The dual firmware areas will effectively increase the reliability of the system. The BootLoader boot loader is located in the region of the on-chip FLASH addresses 0x 08000000-0 x08003FFF, for a total of 16KB. In STM32F4 the microcontroller boot will run the code of FLASH address 0x08000000 first, so BootLoader will typically be run automatically after the microcontroller boot.
FIG. 4 provides a preferred embodiment of the configuration startup process of the dual backup system described above. As shown in fig. 4, it includes the steps of:
step one, dividing the flash system into areas according to functions. Preferably, the divided areas include a BootLoader (BootLoader) area, a first Parameter area (Parameter 1 area), a second Parameter area (Parameter 2 area), a first program firmware area (APP 1 area), a second program firmware area (APP 2 area), and a Reserved area (Reserved area). The BootLoader area is used for storing BootLoader programs, such as program codes started by the boot firmware, and mainly completes the function from the power-on start of the module to the boot system firmware. The Parameter1 and Parameter2 areas are used for storing default configuration and customer configuration of the system, and the APP1 and APP2 areas are used for storing system firmware, such as two executable firmware App1 and App2 existing in Flash at the same time.
Step two, reading the value of APP1_FLAG from a Flag (Flag) area of Parameter1 to variable startPoint1, reading the value of APP2_FLAG to variable startPoint2, judging the values of startPoint1 and startPoint2, if both startPoint1 and startPoint2 are equal to 1 or are not equal to 1, executing step three, otherwise executing step five;
step three, reading the value of the APP1_FLAG from a Flag (Flag) area of Parameter2 to a variable startPoint1, reading the value of the APP2_FLAG to a variable startPoint2, and executing step four if both startPoint1 and startPoint2 are equal to 1 or are not equal to 1, otherwise executing step five;
setting the value of startPoint1 to 1 and the value of startPoint2 to 0;
fifthly, judging the values of the startPoint1 and the startPoint2, if the startPoint1 is equal to 1 and the startPoint2 is equal to 0, sending information outwards by a serial port, reversing the level of an LED port, jumping a PC pointer to an APP1 area, and starting a system from the APP1 area; if startPoint1 is equal to 0 and startPoint2 is equal to 1, the serial port sends information outwards, the LED port level is reversed, the PC pointer jumps to the APP2 area, and the system is started from the APP2 area; otherwise, the serial port sends information outwards, the LED port level is reversed, the PC pointer jumps to the APP1 area, and the system is forcefully started from the APP1 area.
By the starting method of the double-backup system, normal starting of programs in flash can be ensured, and the system cannot be started normally due to parameter errors.
FIG. 5 provides a dual backup system comprising a processor and memory, wherein the memory is configured to store a program, and wherein the processor executes the program stored in the memory to perform a configuration initiation process as follows:
step one, dividing the flash system into areas according to functions. Preferably, the divided areas include a BootLoader (BootLoader) area, a first Parameter area (Parameter 1 area), a second Parameter area (Parameter 2 area), a first program firmware area (APP 1 area), a second program firmware area (APP 2 area), and a Reserved area (Reserved area). The BootLoader area is used for storing BootLoader programs, such as program codes started by the boot firmware, and mainly completes the function from the power-on start of the module to the boot system firmware. The Parameter1 and Parameter2 areas are used for storing default configuration and customer configuration of the system, and the APP1 and APP2 areas are used for storing system firmware, such as two executable firmware App1 and App2 existing in Flash at the same time.
Step two, reading the value of APP1_FLAG from a Flag (Flag) area of Parameter1 to variable startPoint1, reading the value of APP2_FLAG to variable startPoint2, judging the values of startPoint1 and startPoint2, if both startPoint1 and startPoint2 are equal to 1 or are not equal to 1, executing step three, otherwise executing step five;
step three, reading the value of the APP1_FLAG from a Flag (Flag) area of Parameter2 to a variable startPoint1, reading the value of the APP2_FLAG to a variable startPoint2, and executing step four if both startPoint1 and startPoint2 are equal to 1 or are not equal to 1, otherwise executing step five;
setting the value of startPoint1 to 1 and the value of startPoint2 to 0;
fifthly, judging the values of the startPoint1 and the startPoint2, if the startPoint1 is equal to 1 and the startPoint2 is equal to 0, sending information outwards by a serial port, reversing the level of an LED port, jumping a PC pointer to an APP1 area, and starting a system from the APP1 area; if startPoint1 is equal to 0 and startPoint2 is equal to 1, the serial port sends information outwards, the LED port level is reversed, the PC pointer jumps to the APP2 area, and the system is started from the APP2 area; otherwise, the serial port sends information outwards, the LED port level is reversed, the PC pointer jumps to the APP1 area, and the system is forcefully started from the APP1 area.
The processor in the embodiments of the present invention may be a general-purpose processor, such as, but not limited to, a central processing unit (Central Processing Unit, CPU), or a special-purpose processor, such as, but not limited to, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA), or the like. Furthermore, the processor 702 may also be a combination of multiple processors.
Those of ordinary skill in the art will appreciate that the modules and method steps of the examples described in connection with the embodiments disclosed herein can be implemented as electronic hardware, or as a combination of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
In the several embodiments provided in this application, it should be understood that the disclosed apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is merely a logical function division, and there may be other manners of division when actually implemented.
In addition, each functional unit in the embodiments of the present invention may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art or in a part of the technical solution, in the form of a software product stored in a storage medium, comprising several instructions for causing a computer device (which may be a personal computer, a server, a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The foregoing is merely illustrative of the present invention, and the present invention is not limited thereto, and any person skilled in the art will readily recognize that variations or substitutions are within the scope of the present invention.

Claims (8)

1. The system comprises a boot loader processing module and a memory module, wherein the memory module is divided into a plurality of storage areas, the storage areas comprise a boot loader area, a first Parameter area (Parameter 1) and a second Parameter area (Parameter 2), a first firmware area APP1 and a second firmware area APP2, the APP1 area and the APP2 area are respectively used for storing system firmware App1 and App2, the boot loader area stores a boot loader (Bootloader), the boot loader processing module makes a judgment according to preset logic, and one firmware is selected to start running, the boot loader processing module makes a judgment according to preset logic, and the method specifically comprises the following steps:
step one, reading the value of APP1_FLAG from a Flag (Flag) area of Parameter1 to a variable startPoint1, reading the value of APP2_FLAG to a variable startPoint2, and judging the values of startPoint1 and startPoint2 by taking the APP1_FLAG and the APP2_FLAG as two Flag bits stored in the Flag area, if both the startPoint1 and the startPoint2 are equal to 1 or are not equal to 1, executing step two, otherwise executing step four;
step two, reading the value of the APP1_FLAG from a Flag (Flag) area of the Parameter2 to a variable startPoint1, reading the value of the APP2_FLAG to a variable startPoint2, and executing a step three if both the startPoint1 and the startPoint2 are equal to 1 or are not equal to 1, otherwise executing a step four;
setting the value of startPoint1 to 1 and the value of startPoint2 to 0;
judging the values of startPoint1 and startPoint2, if startPoint1 is equal to 1 and startPoint2 is equal to 0, sending information outwards by the serial port, reversing the LED port level, jumping the PC pointer to the APP1 area, and starting the system from the APP1 area; if startPoint1 is equal to 0 and startPoint2 is equal to 1, the serial port sends information outwards, the LED port level is reversed, the PC pointer jumps to the APP2 area, and the system is started from the APP2 area; otherwise, the serial port sends information outwards, the LED port level is reversed, the PC pointer jumps to the APP1 area, and the system is forcefully started from the APP1 area.
2. The dual backup system as claimed in claim 1, wherein the loading process module performs a function from power-on start-up of the module to booting of the system firmware, app1 and App2 are identical in content, and one of them is selected for booting when Bootloader is started.
3. A dual backup system as claimed in claim 1 or 2, wherein BootLoader areas are used to store boot firmware initiated program code, parameter1 and Parameter2 areas are used to store system default configuration and customer configuration, and APP1 and APP2 areas are used to store system firmware.
4. The dual backup system as claimed in claim 1 or 2, wherein if one of the firmware is damaged, the other firmware is booted up at the next BootLoader boot-up; when one firmware is damaged, the damaged firmware is repaired by using the intact firmware.
5. A dual backup system configuration starting method of an intelligent inertial navigation sensing system comprises the following steps: (1) Dividing a flash into storage areas according to functions, wherein the storage areas comprise a boot loader area, a first Parameter area (Parameter 1) and a second Parameter area (Parameter 2), a first firmware area APP1 area and a second firmware area APP2 area; (2) The APP1 area and the APP2 area respectively store system firmware App1 and App2, and the boot loader area stores a boot loader (Bootloader); (3) The boot load processing module makes a judgment from the preset logic, and selects one firmware to start running, wherein the boot load processing module makes a judgment from the preset logic, and selects one firmware to start running, and the method comprises the following steps:
step one, reading the value of APP1_FLAG from a Flag (Flag) area of Parameter1 to a variable startPoint1, reading the value of APP2_FLAG to a variable startPoint2, and judging the values of startPoint1 and startPoint2 by taking the APP1_FLAG and the APP2_FLAG as two Flag bits stored in the Flag area, if both the startPoint1 and the startPoint2 are equal to 1 or are not equal to 1, executing step two, otherwise executing step four;
step two, reading the value of the APP1_FLAG from a Flag (Flag) area of the Parameter2 to a variable startPoint1, reading the value of the APP2_FLAG to a variable startPoint2, and executing a step three if both the startPoint1 and the startPoint2 are equal to 1 or are not equal to 1, otherwise executing a step four;
setting the value of startPoint1 to 1 and the value of startPoint2 to 0;
judging the values of startPoint1 and startPoint2, if startPoint1 is equal to 1 and startPoint2 is equal to 0, sending information outwards by the serial port, reversing the LED port level, jumping the PC pointer to the APP1 area, and starting the system from the APP1 area; if startPoint1 is equal to 0 and startPoint2 is equal to 1, the serial port sends information outwards, the LED port level is reversed, the PC pointer jumps to the APP2 area, and the system is started from the APP2 area; otherwise, the serial port sends information outwards, the LED port level is reversed, the PC pointer jumps to the APP1 area, and the system is forcefully started from the APP1 area.
6. The dual backup system configuration starting method as claimed in claim 5, wherein the boot loader processing module performs a function from a power-on start-up of the module to a boot system firmware, content of App1 and App2 are identical, and one of them is selected for booting when BootLoader is started.
7. The dual backup system configuration initiation method of claim 5 or 6 wherein the boot loader area is for storing boot firmware initiated program code, the Parameter1 and Parameter2 areas are for storing system default configuration and customer configuration, and the APP1 and APP2 areas are for storing system firmware.
8. The dual backup system configuration start method as claimed in claim 5 or 6, wherein if one of the firmware is damaged, the other firmware is booted at the next BootLoader start; when one firmware is damaged, the damaged firmware is repaired by using the intact firmware.
CN201811309798.2A 2018-11-05 2018-11-05 Double-backup system of intelligent inertial navigation sensing system and configuration starting method thereof Active CN109614265B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811309798.2A CN109614265B (en) 2018-11-05 2018-11-05 Double-backup system of intelligent inertial navigation sensing system and configuration starting method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811309798.2A CN109614265B (en) 2018-11-05 2018-11-05 Double-backup system of intelligent inertial navigation sensing system and configuration starting method thereof

Publications (2)

Publication Number Publication Date
CN109614265A CN109614265A (en) 2019-04-12
CN109614265B true CN109614265B (en) 2024-03-29

Family

ID=66002584

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811309798.2A Active CN109614265B (en) 2018-11-05 2018-11-05 Double-backup system of intelligent inertial navigation sensing system and configuration starting method thereof

Country Status (1)

Country Link
CN (1) CN109614265B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110806885B (en) * 2019-09-29 2021-05-25 深圳市火乐科技发展有限公司 MCU (microprogrammed control Unit) firmware updating method, intelligent projector and related product
CN111045739B (en) * 2019-12-03 2022-06-07 福州瑞芯微电子股份有限公司 Firmware boot method, medium and device based on boot program
CN112363770B (en) * 2020-11-20 2022-08-30 厦门亿联网络技术股份有限公司 Multi-system support and self-adaptive switching method, peripheral equipment and host equipment
CN112948183B (en) * 2021-03-30 2023-05-12 西安微电子技术研究所 Software and hardware combined embedded device and method
CN112996026B (en) * 2021-04-27 2021-09-10 深圳市乙辰科技股份有限公司 Double-backup upgrading method and system for wireless network equipment
CN114911648B (en) * 2022-07-14 2022-10-04 北京智芯微电子科技有限公司 XIP FLASH program driving method and system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005174232A (en) * 2003-12-15 2005-06-30 Olympus Corp Data rewriting device
JP2017157257A (en) * 2016-03-01 2017-09-07 東芝メモリ株式会社 Semiconductor storage and memory system
CN107678762A (en) * 2017-09-26 2018-02-09 杭州中天微系统有限公司 A kind of system version upgrade method and device
CN107704258A (en) * 2017-10-27 2018-02-16 深圳市恒扬数据股份有限公司 Uboot upgrade methods, system and terminal device
CN108345550A (en) * 2017-01-23 2018-07-31 爱思开海力士有限公司 Storage system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101650662B (en) * 2009-08-26 2013-09-11 中兴通讯股份有限公司 Memory device of embedded system and staring method and upgrading of firmware
CN102289397B (en) * 2011-09-13 2013-02-13 珠海迈科电子科技有限公司 Method and device for automatically restoring embedded system of set top box
CN103678030A (en) * 2012-09-04 2014-03-26 杭州海康威视数字技术股份有限公司 Multi-system equipment start system and method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005174232A (en) * 2003-12-15 2005-06-30 Olympus Corp Data rewriting device
JP2017157257A (en) * 2016-03-01 2017-09-07 東芝メモリ株式会社 Semiconductor storage and memory system
CN108345550A (en) * 2017-01-23 2018-07-31 爱思开海力士有限公司 Storage system
CN107678762A (en) * 2017-09-26 2018-02-09 杭州中天微系统有限公司 A kind of system version upgrade method and device
CN107704258A (en) * 2017-10-27 2018-02-16 深圳市恒扬数据股份有限公司 Uboot upgrade methods, system and terminal device

Also Published As

Publication number Publication date
CN109614265A (en) 2019-04-12

Similar Documents

Publication Publication Date Title
CN109614265B (en) Double-backup system of intelligent inertial navigation sensing system and configuration starting method thereof
JP5540155B2 (en) Providing platform independent memory logic
KR100506203B1 (en) Booting and boot code update method and system thereof
US8423991B2 (en) Embedded network device and firmware upgrading method
US8181007B2 (en) Electronic device and method for secure operating system update in embedded system
TWI514408B (en) Handling errors during device bootup from a non-volatile memory
US9430250B2 (en) Bootability with multiple logical unit numbers
JP4668416B2 (en) Protecting boot block code when enabling write access to the boot block
KR101427755B1 (en) Device and method for firmware upgrade using usb
EP1873638A1 (en) Portable apparatus supporting multiple operating systems and supporting method therefor
US7908469B2 (en) Method for executing power on self test on a computer system and updating SMBIOS information partially
US20150199190A1 (en) System and method for updating firmware
US8281119B1 (en) Separate normal firmware and developer firmware
US7127596B2 (en) Method and system for improving computer system boot reliability by executing an application specific test during a boot prior loading an operating system
JP2020535504A (en) How to upgrade system version and equipment
US20170123923A1 (en) Method of error detection during a booting process, and a computer system for implementing the same
CN109189457B (en) Firmware upgrading system and method of intelligent inertial navigation sensing system
WO2017143513A1 (en) Method, cpu and single board for starting boot
CN106611124B (en) Computer installation and its starting-up method
CN113849230A (en) Server starting method and device, electronic equipment and readable storage medium
US7490232B2 (en) Disk device using disk to rewrite firmware and firmware determination method
JP4735765B2 (en) Linux program startup system
CN111258617A (en) Electronic equipment
CN116400972A (en) Starting method, device and medium of baseboard management controller
CN113986261A (en) Data flashing method, related device, equipment and readable storage medium

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