CN108897576A - A method of the quick start BOOT based on ARM chip - Google Patents

A method of the quick start BOOT based on ARM chip Download PDF

Info

Publication number
CN108897576A
CN108897576A CN201810629476.XA CN201810629476A CN108897576A CN 108897576 A CN108897576 A CN 108897576A CN 201810629476 A CN201810629476 A CN 201810629476A CN 108897576 A CN108897576 A CN 108897576A
Authority
CN
China
Prior art keywords
program
boot
ram
block0
bootstrap
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.)
Granted
Application number
CN201810629476.XA
Other languages
Chinese (zh)
Other versions
CN108897576B (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.)
Shanghai Yi Yi Information Polytron Technologies Inc
Original Assignee
Shanghai Yi Yi Information Polytron Technologies Inc
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 Shanghai Yi Yi Information Polytron Technologies Inc filed Critical Shanghai Yi Yi Information Polytron Technologies Inc
Priority to CN201810629476.XA priority Critical patent/CN108897576B/en
Publication of CN108897576A publication Critical patent/CN108897576A/en
Application granted granted Critical
Publication of CN108897576B publication Critical patent/CN108897576B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The invention discloses the method for quick start BOOT based on ARM chip a kind of, the embedded system including chip and NAND FLASH composition based on ARM kernel, and realize the program of the BLOCK0 of its quick start NAND.The method of quick start BOOT, after mainly BLOCK0 being loaded in bootstrap a part to RAM operation, the segment program that BOOT is first carried out can be loaded into BOOT program in RAM automatically, guarantee the integrality of BOOT program, to realize the starting of BOOT.Since BOOT program is less than a BLOCK of NAND, entire start-up course has only taken up BLOCK0, and a BOOT is only needed to copy and start realizing self, to realize the quick start BOOT of ARM chip.

Description

A method of the quick start BOOT based on ARM chip
Technical field
The present invention relates to field of computer technology, the method for specifically a kind of quick start BOOT based on ARM chip.
Background technique
Embedded OS (Embedded Operating System, referred to as:EOS) refer to for embedded system Operating system.When embedded OS is run, bootstrap in the ROM of usually first bootrom is loaded from NAND And start BOOT program, then by BOOT programming jump to Kernel, run main program.
And BOOT program is often deposited in front of in NAND FLASH in several pieces of BLOCK.Different BOOT programs account for It is in different size.And in the technique of NAND, general only first piece of technique is best and is most difficult to bad.If BOOT is accounted for With two pieces or muti-piece BLOCK, as long as there is a BLOCK to be broken, entire BOOT program, which will load unsuccessfully, leads to BOOT program not It can starting.And in order to ensure that BOOT program can load, it usually can also make burning backup, BOOT program copy to different In BLOCK.
And often BOOT program can be more than the specified program size that RAM is loaded into from NAND of bootstrap, the common practice It is to do a lesser BOOT program (BOOT stage1), the program of stage1 is for loading and starting BOOT stage2 journey Sequence, that is, main BOOT program, to go load kernel activation system.Such method can not only occupy more BLOCK needs to safeguard the stage program of multiple BOOT.Starting speed and stability have to be hoisted.
Therefore, for this status, there is an urgent need to develop the method for quick start BOOT based on ARM chip a kind of, with Overcome the shortcomings of in currently practical application.
Summary of the invention
The purpose of the present invention is to provide the methods of quick start BOOT based on ARM chip a kind of, to solve above-mentioned back The problem of being proposed in scape technology.
To achieve the above object, the present invention provides the following technical solutions:
The present invention is directed to design the method for the quick start BOOT of basic ARM chip in embedded system a kind of, and should Method also has certain reliability, feasibility.
The technical scheme is that:A kind of embedded hardware system of basic ARM chip, it includes basic ARM kernel CPU, NAND FLASH and the method for realizing quick start BOOT in fact.
And the normal Booting sequence of system is:
Step 1, system electrification first carries out the bootstrap in the ROM of CPU;
Step 2, bootstrap holds the RAM that the program segment of the specified size of BLOCK0 in NAND FLASH copies CPU to Row;
Step 3, the BOOT program copied out is then run in RAM, is removed load Kernel, is started main program;
Often BOOT program can be more than the size of the specified copy of bootstrap in ROM, and general BOOT, such as u- Boot, the size of firmware can be more than BLOCK0, it may be desirable to which multiple sides BLOCK can store BOOT program.Therefore it just needs BOOT Program is divided into stage1 program and stage2 program.General stage1 and stage2 is two different program files.It will BOOT burning program process is:
Step 1, the BLOCK0 of stage1 firmware burning to NAND, such as Fig. 1;
Step 2, stage2 is burnt in BLOCK1 and BLOCK required later, such as Fig. 1;
Step 3, stage2 is burnt in spare BLOCK, such as Fig. 1;
Since in the technique of NAND, BLOCK0 is that guarantee is best, and is least easy bad.So needing stage1 burning It to BLOCK0, is then booted up by the bootstrap in the ROM of CPU, stage1 program is copied in RAM and is run.So Afterwards after stage1 operation, then available stage2 is found in NAND, copy stage2 to RAM operation.Stage2 is exactly to lead The BOOT program wanted loads kernel, operating system.
Way general in this way will not only occupy the BLOCK memory space of more NAND, but also when starting, Stage1 is started by bootstrap, then by stage1 deactivation stage2.The specific steps are:
Step 1, system electrification starts the bootstrap in the ROM of CPU;
Step 2, bootstrap runs the BLOCK0 of NAND by specifying big wisp stage1 program to copy in RAM, such as Fig. 1;
Step 3, stage1 program copies stage2 program available in NAND in RAM to, such as Fig. 3;
Step 4, stage1 programming jump runs stage2 program, such as Fig. 4 to stage2 program entry;
Step 5, stage2 program normal load Kernel runs main program.
In order to improve starting speed, and the characteristic of BLOCK0 is made full use of, stage1 and stage2 can be merged into One program.Thus BOOT program can be only burnt to BLOCK0.Due to only being loaded when boot program loads BOOT program BLOCK0 specifies size, cannot load BOOT program completely, therefore the part of the pre-loaded BOOT program of necessary guarantee It can execute, and can guarantee integrality of the BOOT program in RAM remaining BOOT program self-replacation into RAM. The specific steps are:
Step 1, system electrification starts the bootstrap in the ROM of CPU;
Step 2, bootstrap is from a part before BLOCK0 copy BOOT program into RAM;
Step 3, the part BOOT program starting operation in RAM is first copied to, and remaining BOOT program from BLOCK0 It copies in RAM.
Existing complete BOOT program, can execute activation system in order in RAM.It in this way, can be with BOOT program is only needed to be stored in BLOCK0, so that it may make full use of the advantage of BLOCK0.And BOOT program copies To after SRAM, remaining BOOT program can be loaded from BLOCK0, to complete the work of BOOT.Compared to general BOOT program, Can speed and stability improve.
Compared with prior art, the beneficial effects of the invention are as follows:The method of the quick start BOOT based on ARM chip, And the method for this quick start BOOT, after mainly BLOCK0 being loaded in bootstrap a part to RAM operation, BOOT is first The segment program of execution can be loaded into BOOT program in RAM automatically, guarantee the integrality of BOOT program, to realize BOOT's Starting.Since BOOT program is less than a BLOCK of NAND, entire start-up course has only taken up BLOCK0, and only needs It wants a BOOT and copies and start realizing self, to realize the quick start BOOT of ARM chip.
Detailed description of the invention
Fig. 1 is the position block diagram of the common BOOT burning program NAND FLASH of the present invention.
Fig. 2 is the Stage1 and ram location block diagram of the common BOOT program of the present invention.
Fig. 3 is the Stage2 and ram location block diagram of the common BOOT program of the present invention.
Fig. 4 is that the Stage1 of the common BOOT program of the present invention jumps Stage2 functional block diagram.
Fig. 5 is position block diagram of the BOOT burning program of the present invention to NAND FLASH.
Fig. 6 is the position block diagram that BOOT program of the present invention copies RAM to.
Fig. 7 is position block diagram of the BOOT burning program of the present invention to NAND FLASH.
Specific embodiment
Following will be combined with the drawings in the embodiments of the present invention, and technical solution in the embodiment of the present invention carries out clear, complete Site preparation description, it is clear that described embodiments are only a part of the embodiments of the present invention, instead of all the embodiments.It is based on Embodiment in the present invention, it is obtained by those of ordinary skill in the art without making creative efforts every other Embodiment shall fall within the protection scope of the present invention.
Please refer to Fig. 1~7, in the embodiment of the present invention, a method of the quick start BOOT based on ARM chip, with CPU It uses S3C2416 (ARM926EJ is kernel), NAND FLASH is set using K9F1G08U0B as an embedded system hardware For standby frame is implemented, wherein there are SRAM and ROM inside S3C2416.K9F1G08U0B is with 1024BLOCK, each The size of BLOCK is 128K.
Then according to the starting configuration of CPU and parameter, BOOT program is write.BOOT program is by multiple .c files and compilation Program composition.It is specified to be responsible for being put into before BOOT program from the program of BLOCK0 copy data when compiling, to draw This section of program first can be copied to SRAM operation by lead sequence.Furthermore, it is possible to which BOOT process control is arrived 60K or so.
When system electrification, CPU the Bootloader from ROM, bootstrap can first can be copied in BLOCK0 It is executed in the data to SRAM of 4K.Therefore when configuring and compiling BOOT program, it is ensured that 4K program segment first copied can be with It is normally executed in SRAM.After normal execution, most important function is exactly that remaining BOOT program is copied to from BLOCK0 In SRAM.
Realize this function the specific steps are:
Step 1, as in Fig. 5, in the BLOCK0 BOOT burning program to NAND FLASH;
Step 2, system re-powers, and runs the bootstrap in ROM;
Step 3, as in Fig. 6, bootstrap is run from copy 4K program segment in BLOCK0 into SRAM;
Step 4, as the BOOT program segment completion in Fig. 7, executed in sram copies remaining 56K in SRAM to;
Step 5, copied the BOOT program of completion SRAM can normal activation system.
Using such Starting mode, it is adapted to more NAND, process control of BOOT to 60K or so or more It is small, in this way to BLOCK size be that 64K is also adapted to, as long as that is, BLOCK size is more than 64K's, so that it may be adapted to This method is come.If it is common BOOT program is used, selection also to be gone to close according to stage1 the and stage2 size of BOOT Suitable NAND, and different NAND, BLOCK size is also different, and the BLOCK that BOOT program occupies is not known yet, compatible It cannot just be ensured well in property.And the technology of the present invention is used, BOOT program is divided into two parts successively to copy in SRAM and transport Row, accomplishes seamless connection, does not need the operation as stage1 jumps to stage2, and program is also smaller, only take up BLOCK0, copying speed are also faster than common BOOT program, it is important that take full advantage of the advantage of BLOCK0, BLOCK0 is It is most difficult in entire NAND bad.If it is common BOOT program is used, BLOCK1 and subsequent BLOCK is occupied, as long as There is a BLOCK to be broken, BOOT program cannot be executed normally, need again to be burnt in NAND BOOT, and also want Bad BLOCK is handled, this just has certain requirement to the processing of BOOT, while the also complexity and increase of increased BOOT program Starting time.
It is obvious to a person skilled in the art that invention is not limited to the details of the above exemplary embodiments, Er Qie In the case where without departing substantially from spirit or essential attributes of the invention, the present invention can be realized in other specific forms.Therefore, no matter From the point of view of which point, the present embodiments are to be considered as illustrative and not restrictive, and the scope of the present invention is by appended power Benefit requires rather than above description limits, it is intended that all by what is fallen within the meaning and scope of the equivalent elements of the claims Variation is included within the present invention.Any reference signs in the claims should not be construed as limiting the involved claims.
The above are merely the preferred embodiment of the present invention, it is noted that for those skilled in the art, not Under the premise of being detached from present inventive concept, several modifications and improvements can also be made, these also should be considered as protection model of the invention It encloses, these all will not influence the effect and patent practicability that the present invention is implemented.

Claims (4)

1. a kind of method of the quick start BOOT based on ARM chip, which is characterized in that method burning and starting step are as follows:
Step 1, BOOT program is compiled, is compiled into program file having from the program segment configuration of BLOCK0 copy BOOT program Foremost;
Step 2, in the BLOCK0 BOOT burning program to NAND;
Step 3, system re-powers, and runs the bootstrap in the ROM of CPU;
Step 4, bootstrap copies the program segment of the specified size of BLOCK0 in RAM to and runs;
Step 5, the program segment of the BOOT first carried out in RAM copies remaining BOOT program in RAM to, it is ensured that BOOT program Integrality in RAM;
Step 6, after the BOOT program complete copy of BLOCK0 is into RAM, system can be operated normally.
2. the method for quick start BOOT based on ARM chip according to claim 1 a kind of, which is characterized in that in step In rapid 2, it is by the burning step in the BLOCK0 of BOOT burning program to NAND:
Step 1, the BLOCK0 of stage1 firmware burning to NAND;
Step 2, stage2 is burnt in BLOCK1 and BLOCK required later;
Step 3, stage2 is burnt in spare BLOCK.
3. the method for quick start BOOT based on ARM chip according to claim 1 a kind of, which is characterized in that in step In rapid 4, bootstrap the program segment of the specified size of BLOCK0 is copied to run in RAM the specific steps are:
Step 1, system electrification starts the bootstrap in the ROM of CPU;
Step 2, bootstrap runs the BLOCK0 of NAND by specifying big wisp stage1 program to copy in RAM;
Step 3, stage1 program copies stage2 program available in NAND in RAM to;
Step 4, stage1 programming jump runs stage2 program to stage2 program entry;
Step 5, stage2 program normal load Kernel runs main program.
4. the method for quick start BOOT based on ARM chip according to claim 1 a kind of, which is characterized in that in step In rapid 5, the program segment of the BOOT first carried out in RAM remaining BOOT program copy in RAM the specific steps are:
Step 1, system electrification starts the bootstrap in the ROM of CPU;
Step 2, bootstrap is from a part before BLOCK0 copy BOOT program into RAM;
Step 3, it first copies the part BOOT program starting operation in RAM to, and remaining BOOT program is copied from BLOCK0 Into RAM.
CN201810629476.XA 2018-06-19 2018-06-19 Method for rapidly starting BOOT based on ARM chip Active CN108897576B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810629476.XA CN108897576B (en) 2018-06-19 2018-06-19 Method for rapidly starting BOOT based on ARM chip

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810629476.XA CN108897576B (en) 2018-06-19 2018-06-19 Method for rapidly starting BOOT based on ARM chip

Publications (2)

Publication Number Publication Date
CN108897576A true CN108897576A (en) 2018-11-27
CN108897576B CN108897576B (en) 2021-06-22

Family

ID=64345554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810629476.XA Active CN108897576B (en) 2018-06-19 2018-06-19 Method for rapidly starting BOOT based on ARM chip

Country Status (1)

Country Link
CN (1) CN108897576B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109976815A (en) * 2019-03-20 2019-07-05 深圳忆联信息系统有限公司 A kind of method and its system accelerating Nandboot
CN110531997A (en) * 2019-08-30 2019-12-03 四川爱联科技有限公司 The method of multiple production test firmware switchings is realized in Internet of Things mould group production procedure
CN111190648A (en) * 2019-12-26 2020-05-22 湖南工程学院 NAND FLASH-based real-time embedded system and starting method thereof
CN114661368A (en) * 2022-05-19 2022-06-24 中昊芯英(杭州)科技有限公司 Chip and starting method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902461A (en) * 2012-12-27 2014-07-02 中兴通讯股份有限公司 Method and device for compatibility of different Nand flash memories
CN104077167A (en) * 2014-07-11 2014-10-01 杭州华三通信技术有限公司 Boot loading method and device based on NAND FLASH
US20150074461A1 (en) * 2013-09-10 2015-03-12 Huawei Technologies Co., Ltd. Method and relevant apparatus for starting boot program
CN106155752A (en) * 2016-08-03 2016-11-23 北京蛙视通信技术股份有限公司 A kind of method and device of starting of embedded operation system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902461A (en) * 2012-12-27 2014-07-02 中兴通讯股份有限公司 Method and device for compatibility of different Nand flash memories
US20150074461A1 (en) * 2013-09-10 2015-03-12 Huawei Technologies Co., Ltd. Method and relevant apparatus for starting boot program
CN104077167A (en) * 2014-07-11 2014-10-01 杭州华三通信技术有限公司 Boot loading method and device based on NAND FLASH
CN106155752A (en) * 2016-08-03 2016-11-23 北京蛙视通信技术股份有限公司 A kind of method and device of starting of embedded operation system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109976815A (en) * 2019-03-20 2019-07-05 深圳忆联信息系统有限公司 A kind of method and its system accelerating Nandboot
CN109976815B (en) * 2019-03-20 2022-03-29 深圳忆联信息系统有限公司 Method and system for accelerating Nandboot
CN110531997A (en) * 2019-08-30 2019-12-03 四川爱联科技有限公司 The method of multiple production test firmware switchings is realized in Internet of Things mould group production procedure
CN110531997B (en) * 2019-08-30 2022-11-29 四川爱联科技股份有限公司 Method for switching multiple production test firmware in Internet of things module production process
CN111190648A (en) * 2019-12-26 2020-05-22 湖南工程学院 NAND FLASH-based real-time embedded system and starting method thereof
CN114661368A (en) * 2022-05-19 2022-06-24 中昊芯英(杭州)科技有限公司 Chip and starting method thereof

Also Published As

Publication number Publication date
CN108897576B (en) 2021-06-22

Similar Documents

Publication Publication Date Title
US10761860B2 (en) Dynamically loaded plugin architecture
US10452404B2 (en) Optimized UEFI reboot process
CN108897576A (en) A method of the quick start BOOT based on ARM chip
US10055218B2 (en) System and method for adding and storing groups of firmware default settings
US9471435B2 (en) Information processing device, information processing method, and computer program
CN102033790B (en) Method and device for upgrading embedded-type system BOOTROM
CN103970557B (en) The method and storage device of storage device activation system
US20110302572A1 (en) Embedded network device and firmware upgrading method
JP2013520744A (en) Method and apparatus for generating minimum boot image
US20140304497A1 (en) Electronic device having function of booting operating system by bootloader, method of performing the same function, and storage medium
CN110515641A (en) The update method of server firmware, apparatus and system
CN110874237A (en) Software upgrading method, device, terminal and readable storage medium
WO2017000567A1 (en) Bootrom upgrading method and device
CN101872306B (en) Embedded system for realizing software updating and software backup and implementation method thereof
WO2022188690A1 (en) Method and apparatus for upgrading electronic device
CN106371863A (en) Embedded multi-operation system boot program upgrading method
CN102262555B (en) Method and device for loading different versions of JAVA three-party library
CN116009921A (en) Method, device and medium for upgrading embedded operating system
US7640421B1 (en) Method and system for determining context switch state
US9223697B2 (en) Computer reprogramming method, data storage medium and motor vehicle computer
CN109426511B (en) Soft core updating method and system
EP3540598A1 (en) Method, device and server for checking a defective function
CN116841629A (en) Network card function configuration method, device and medium thereof
JP2009015428A (en) Program update method, information processor, program, and recording medium
US9442831B1 (en) Automated testing of program code for processing a simple boot flag data structure

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
CB02 Change of applicant information

Address after: Room 706-3, Lane 2, 2005, Huangxing Road, Yangpu District, Shanghai

Applicant after: SHANGHAI FLEXEM TECHNOLOGY Co.,Ltd.

Address before: Room 706-3, Lane 2, 2005, Huangxing Road, Yangpu District, Shanghai

Applicant before: SHANGHAI FLEXEM TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant