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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 101150053844 APP1 gene Proteins 0.000 claims abstract description 41
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 claims abstract description 41
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 claims abstract description 41
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 claims abstract description 29
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 claims abstract description 29
- 101100264195 Caenorhabditis elegans app-1 gene Proteins 0.000 claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 20
- 230000009977 dual effect Effects 0.000 claims description 20
- 230000006870 function Effects 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 17
- 230000009191 jumping Effects 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot 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
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.
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)
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)
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)
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 |
-
2018
- 2018-11-05 CN CN201811309798.2A patent/CN109614265B/en active Active
Patent Citations (5)
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 |