KR100422928B1 - apparatus and method for booting in data processing system - Google Patents
apparatus and method for booting in data processing system Download PDFInfo
- Publication number
- KR100422928B1 KR100422928B1 KR10-1999-0041099A KR19990041099A KR100422928B1 KR 100422928 B1 KR100422928 B1 KR 100422928B1 KR 19990041099 A KR19990041099 A KR 19990041099A KR 100422928 B1 KR100422928 B1 KR 100422928B1
- Authority
- KR
- South Korea
- Prior art keywords
- flash rom
- master
- rom
- data
- address
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
본 발명은 데이터 처리 시스템의 부팅 장치 및 방법에 관한 것으로, 시스템을 부팅/초기화시키는 프로그램이 저장되어 있는 마스터 플래시 롬과, 상기 마스터 플래시 롬에 이상이 발생했을 때 상기 마스터 플래시 롬을 대신하여 시스템을 부팅/초기화시키는 여분 플래시 롬으로 이루어지는 플래시 롬과; 상기 마스터 플래시 롬에 재기록할 새로운 데이터를 별도의 기록 매체로부터 다운로드받아 저장하고 있는 램과; 시스템 재시동 시에 상기 마스터 롬을 억세스하기 위한 어드레스를 송출하고, 상기 마스터 플래시 롬에 재기록된 데이터와 상기 램에 저장되어 있는 데이터가 서로 일치하는 지를 판단하여 판단 결과에 따라 상기 마스터 플래시 롬을 선택하는 칩 선택 어드레스를 송출하는 제어부와; 상기 제어부로부터 칩 선택 어드레스를 전달받았을 때 전달받은 칩 선택 어드레스를 디코딩하여 각 어드레스에 해당되는 상기 마스터 플래시 롬과 여분 플래시 롬과 램을 선택해주는 칩 선택 신호를 인에이블시키는 PLD 로직부와; 일정 시간 내에 상기 PLD 로직부로부터 칩 선택 신호가 인에이블되어 인가되지 않으면 상기 마스터 플래시 롬에 기록된 새로운 데이터에 에러가 발생한 것으로 판단하고 시스템을 재시동시키기 위한 리셋 신호를 인에이블시켜 상기 제어부와 PLD 로직부로 인가하는 감시 타이머를 구비하여 이루어지는 것을 특징으로 한다.The present invention relates to a booting apparatus and method for a data processing system, and further comprising: a master flash ROM in which a program for booting / initializing the system is stored, and the master flash ROM when an abnormality occurs in the master flash ROM. A flash ROM comprising an extra flash ROM to boot / initialize; RAM for downloading and storing new data to be rewritten in the master flash ROM from a separate recording medium; Sending an address for accessing the master ROM at system restart, and determining whether the data rewritten in the master flash ROM and the data stored in the RAM coincide with each other to select the master flash ROM according to a determination result. A controller for transmitting a chip select address; A PLD logic unit configured to decode the received chip select address when the chip select address is received from the controller to enable a chip select signal for selecting the master flash ROM, the redundant flash ROM and the RAM corresponding to each address; If the chip select signal is not enabled and applied from the PLD logic within a predetermined time, it is determined that an error has occurred in the new data recorded in the master flash ROM, and the reset signal for restarting the system is enabled to enable the controller and the PLD logic. It is characterized by comprising a watchdog timer to apply a negative.
Description
본 발명은 데이터 처리 시스템의 부팅 장치 및 방법에 관한 것으로서, 특히 플래시 롬에 새로운 데이터를 재기록한 후 시스템을 재부팅시킬 때 안전하고 신속하게 시스템을 부팅시킬 수 있도록 하는 데이터 처리 시스템의 부팅 장치 및 방법에 관한 것이다.The present invention relates to a booting apparatus and method of a data processing system, and more particularly, to a booting apparatus and method of a data processing system which enables to boot a system safely and quickly when a system is rebooted after rewriting new data in a flash ROM. It is about.
일반적으로 플래시 롬(flash ROM)은 비휘발성 기억 장치로 전기적인 처리에 의해 섹터(secter) 단위별로 기억 데이터를 소거하고 새로운 데이터를 재기록(refusing)함으로써, 새로운 데이터를 업데이트하여 사용할 수 있는 데, 플래시 롬에 새로운 데이터를 재기록하는 방법으로는 롬 기록기(ROM writer)를 사용하여 플래시 롬에 새로운 데이터를 기록하는 방법과, 새로운 데이터가 저장되어 있는 별도의 기록 매체를 통신 수단으로 연결하여 시스템 자체 내에서 기록 매체에 저장되어 있는 새로운 데이터를 플래시 롬에 재기록(refusing)하는 방법이 있다.In general, a flash ROM is a nonvolatile memory device that erases stored data on a sector-by-sector basis by electrical processing and rewrites new data so that new data can be updated and used. To write new data to ROM, use ROM writer to write new data to ROM, and connect the separate recording media where new data is stored by means of communication. There is a method of rewriting new data stored in a recording medium into a flash ROM.
전술한 방법 중에서 별도의 기록 매체를 사용하여 플래시 롬을 재기록 하는 방법은, 도 1에서 별도의 기록 매체(미도시)에 저장되어 있는 새로운 데이터를 램(5)에 다운로드(download)하고, 램(5)에 다운로드된 새로운 데이터는 플래시 롬(3)에 재기록(refusing)된다.Among the above-described methods, a method of rewriting a flash ROM using a separate recording medium includes downloading new data stored in a separate recording medium (not shown) in FIG. The new data downloaded to 5) is rewritten to the flash ROM 3.
전술한 바와 같이, 플래시 롬(3)에 새로운 데이터를 재기록한 후에는 플래시 롬(3)에 재기록된 새로운 데이터를 사용하여 시스템을 구동시키기 위해 시스템을 재시동(restart)시켜야 하는 데, CPU(1)는 시스템을 부팅시키기 위하여 초기 동작을 규정한 데이터가 저장되어 있는 플래시 롬(3)을 억세스하기 위한 초기 어드레스를 어드레스 버스를 통해 PLD(Programmable Logic Device) 로직부(7)로 전달하고, PLD 로직부(7)는 CPU(1)로부터 전달받은 어드레스를 디코딩하여 CPU(1)로부터 전달받은 어드레스가 플래시 롬 어드레스인 경우에는 플래시 롬(3)을 선택하는 데 필요한 플래시 롬 선택 신호(flash ROM chip select;FCS)를 인에이블시켜 플래시 롬(3)으로 출력한다. 플래시 롬(3)은 어드레스 버스를 통해 CPU(1)로부터 입력받은 어드레스와, PLD 로직부(7)에서 인에이블되어 인가되는 플래시 롬 선택 신호(FCS)에 의거하여 지정된 어드레스의 데이터를 데이터 버스에 실어 CPU(1)에 응답 데이터를 전달하고, 플래시 롬(3)으로부터 부팅에 필요한 데이터를 읽어들인 CPU(1)는 플래시 롬(3)으로부터 읽어들인 데이터를 램(5)에 기록하고, 램(5)은 플래시 롬(3)으로부터 읽어들인 데이터를 이용하여 보드 초기화 동작을 수행한다.As described above, after rewriting new data in the flash ROM 3, the system must be restarted to run the system using the new data rewritten in the flash ROM 3, and the CPU 1 In order to boot the system, an initial address for accessing the flash ROM 3 in which data defining an initial operation is stored is transferred to the programmable logic device (PLD) logic unit 7 through the address bus, and the PLD logic unit (7) decodes the address received from the CPU 1, and if the address received from the CPU 1 is a flash ROM address, a flash ROM select signal (flash ROM chip select) required for selecting the flash ROM 3; FCS) is enabled and output to the flash ROM 3. The flash ROM 3 stores data of an address designated on the basis of an address input from the CPU 1 through an address bus and a flash ROM selection signal FCS enabled and applied by the PLD logic unit 7 to the data bus. The CPU 1, which transfers response data to the CPU 1 and reads data necessary for booting from the flash ROM 3, writes the data read from the flash ROM 3 into the RAM 5, 5 performs a board initialization operation using data read from the flash ROM 3.
그러나, 램(5)에 기록된 새로운 데이터를 플래시 롬(3)에 재기록할 때 전원이 차단되거나, 운용자의 조작 실수 등으로 인해 데이터에 오류가 발생하거나 잘못된 데이터가 기록될 수가 있는 데, 이와 같이, 플래시 롬(3)에 비정상적인 데이터가 기록될 경우에는 시스템을 재시동시켰을 때 시스템이 부팅되지 않게 된다.However, when the new data recorded in the RAM 5 is rewritten to the flash ROM 3, the power may be cut off or an error may occur in the data due to an operator's mistake or the like. If abnormal data is recorded in the flash ROM 3, the system will not boot when the system is restarted.
이러한 경우에는 다시 롬 기록기(ROM writer)를 사용하여 플래시 롬(3)에 새로운 데이터를 재기록하여 사용할 수 있는 데, 플래시 롬(3)이 표면 실장 부품(surface mounted device;SMD) 형태인 경우에는 칩을 재조립하는 데 많은 시간과 노력을 필요로 하게 된다.In this case, a ROM writer can be used again to write new data to the flash ROM (3), which is a chip if the flash ROM (3) is in the form of a surface mounted device (SMD). Reassembly will take a lot of time and effort.
이상에서 살펴본 바와 같이, 종래에는 별도의 기록 매체를 사용하여 플래시 롬을 재기록할 때 플래시 롬에 잘못된 데이터가 재기록되거나 데이터에 오류가 발생하면 시스템을 부팅시킬 수가 없어 플래시 롬(3)을 교체하거나 롬 기록기를 사용하여 새로운 데이터를 재기록한 후에 재조립하여 사용해야 하는 문제점이 있다.As described above, conventionally, when wrong data is rewritten to a flash ROM or an error occurs when the flash ROM is rewritten by using a separate recording medium, the system cannot be booted. There is a problem in that after rewriting new data using a recorder, it must be reassembled and used.
본 발명은 전술한 문제점을 해결하기 위해 안출된 것으로서, 여분의 플래시 롬을 더 구비시켜 마스터 플래시 롬에 새로운 데이터를 재기록한 후 시스템을 부팅시킬 때 마스터 플래시 롬으로 부팅이 이루어지지 않으면 여분의 플래시 롬으로 부팅을 수행하고, 비정상적으로 데이터가 재기록된 마스터 플래시 롬을 복원시킬 수 있도록 하는 데이터 처리 시스템의 부팅 장치 및 방법을 제공함에 그 목적이 있다.The present invention has been made to solve the above-described problems, and further includes an extra flash ROM, if a new flash ROM is not booted to the master flash ROM when the system is booted after rewriting new data into the master flash ROM, the extra flash ROM It is an object of the present invention to provide a booting apparatus and method for a data processing system that can perform a booting operation and restore a master flash ROM whose data is abnormally rewritten.
도 1은 종래 데이터 처리 시스템의 부팅 장치를 나타내는 도.1 is a diagram showing a boot device of a conventional data processing system.
도 2는 본 발명에 따른 데이터 처리 시스템의 부팅 장치를 나타내는 도.2 is a diagram showing a boot device of a data processing system according to the present invention;
도 3은 본 발명에 따른 데이터 처리 시스템의 부팅 방법을 설명하기 위한 도.3 is a view for explaining a booting method of a data processing system according to the present invention.
*** 도면의 주요 부분에 대한 부호의 설명 ****** Explanation of symbols for the main parts of the drawing ***
10. CPU, 20. 마스터 롬,10. CPU, 20. Master ROM,
30. 여분 롬, 40. 램,30. extra rom, 40. ram,
50. PLD 로직부, 60. 감시 타이머50. PLD logic section, 60. watchdog timer
전술한 목적을 달성하기 위한 본 발명은 플래시 롬에 새로운 데이터를 재기록하고 시스템을 재시동시킬 때 다수개의 플래시 롬을 사용하여 부팅을 수행하는 데이터 처리 시스템의 부팅 장치에 있어서, 시스템을 부팅/초기화시키는 프로그램이 저장되어 있는 마스터 플래시 롬과, 상기 마스터 플래시 롬에 이상이 발생했을 때 상기 마스터 플래시 롬을 대신하여 시스템을 부팅/초기화시키는 여분 플래시 롬으로 이루어지는 플래시 롬과; 상기 마스터 플래시 롬에 재기록할 새로운 데이터를 별도의 기록 매체로부터 다운로드받아 저장하고 있는 램과; 시스템 재시동 시에 상기 마스터 롬을 억세스하기 위한 어드레스를 송출하고, 상기 마스터 플래시 롬에 재기록된 데이터와 상기 램에 저장되어 있는 데이터가 서로 일치하는 지를 판단하여 판단 결과에 따라 상기 마스터 플래시 롬을 선택하는 칩 선택 어드레스를 송출하는 제어부와; 상기 제어부로부터 칩 선택 어드레스를 전달받았을 때 전달받은 칩 선택 어드레스를 디코딩하여 각 어드레스에 해당되는 상기 마스터 플래시 롬과 여분 플래시 롬과 램을 선택해주는 칩 선택 신호를 인에이블시키는 PLD 로직부와; 일정 시간 내에 상기 PLD 로직부로부터 칩 선택 신호가 인에이블되어 인가되지 않으면 상기 마스터 플래시 롬에 기록된 새로운 데이터에 에러가 발생한 것으로 판단하고 시스템을 재시동시키기 위한 리셋 신호를 인에이블시켜 상기 제어부와 PLD 로직부로 인가하는 감시 타이머를 구비하여 이루어지는 것을 특징으로 한다.The present invention for achieving the above object is a program for booting / initializing a system in a booting device of a data processing system which rewrites new data into a flash ROM and performs booting using a plurality of flash ROMs when the system is restarted. A flash ROM including the stored master flash ROM and an extra flash ROM for booting / initializing the system in place of the master flash ROM when an error occurs in the master flash ROM; RAM for downloading and storing new data to be rewritten in the master flash ROM from a separate recording medium; Sending an address for accessing the master ROM at system restart, and determining whether the data rewritten in the master flash ROM and the data stored in the RAM coincide with each other to select the master flash ROM according to a determination result. A controller for transmitting a chip select address; A PLD logic unit configured to decode the received chip select address when the chip select address is received from the controller to enable a chip select signal for selecting the master flash ROM, the redundant flash ROM and the RAM corresponding to each address; If the chip select signal is not enabled and applied from the PLD logic within a predetermined time, it is determined that an error has occurred in the new data recorded in the master flash ROM, and the reset signal for restarting the system is enabled to enable the controller and the PLD logic. It is characterized by comprising a watchdog timer to apply a negative.
한편, 본 발명에 따른 데이터 처리 시스템의 부팅 방법은, 플래시 롬에 새로운 데이터가 재기록되면 시스템을 재부팅시키기 위해서 마스터 플래시 롬을 억세스하기 위한 어드레스를 송출하고, 마스터 플래시 롬에 재기록된 데이터와 램에 저장된 데이터가 서로 일치하는 지를 판단하는 과정과; 상기 판단결과 마스터 플래시 롬에 재기록된 데이터와 램에 저장된 데이터가 서로 일치하지 않는 경우에는 시스템을 재시동시키기 위한 리셋 신호를 인에이블시켜 시스템을 재시동하여 여분 롬으로 부팅을 수행하는 과정과; 상기 여분 롬에 저장되어 있는 데이터를 상기 마스터 롬에 재기록하고, 시스템을 재시동하여 상기 마스터 롬으로 부팅을 수행하고, 상기 마스터 롬에 새로운 데이터를 재기록하는 과정을 상기 마스터 롬에 새로운 데이터가 정상적으로 재기록될 때까지 반복 수행하는 것을 특징으로 한다.On the other hand, in the booting method of the data processing system according to the present invention, when new data is rewritten to the flash ROM, an address for accessing the master flash ROM is sent to reboot the system, and the data stored in the RAM and the data rewritten to the master flash ROM are stored. Determining whether the data match each other; If the data rewritten in the master flash ROM and the data stored in the RAM do not coincide with each other, enabling the reset signal for restarting the system to restart the system and booting the redundant ROM; The process of rewriting the data stored in the spare ROM into the master ROM, rebooting the system to boot into the master ROM, and rewriting new data into the master ROM may be normally rewritten in the master ROM. It is characterized by repeating until.
이하에서는 첨부한 도면을 참조하여 본 발명의 바람직한 실시예에 따른 데이터 처리 시스템의 부팅 장치 및 방법에 대해서 상세하게 설명한다.Hereinafter, a booting apparatus and method of a data processing system according to a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.
도 2는 본 발명에 따른 데이터 처리 시스템의 부팅 장치를 나타내는 도이다.도 2에 도시하는 바와 같이, 본 발명에 따른 데이터 처리 시스템의 부팅 장치는 CPU(10)와, 마스터 롬(20)과, 여분 롬(30)과, 램(40)과, PLD 로직부(50)와, 감시 타이머(60)를 구비하여 이루어진다.Fig. 2 is a diagram showing a boot device of the data processing system according to the present invention. As shown in Fig. 2, the boot device of the data processing system according to the present invention includes a CPU 10, a master ROM 20, The redundant ROM 30, the RAM 40, the PLD logic section 50, and the watchdog timer 60 are provided.
이와 같은 구성에 있어서, CPU(10)는 각종 데이터 처리를 수행하고, 보드를 부팅시키기 위해 초기 동작을 규정하는 프로그램을 억세스하기 위해 지정된 어드레스를 어드레스 버스로 송출하고, 부팅이 이루어질 때 마스터 롬(20)에 재기록된 데이터의 검사 합과 램(40)에 저장된 데이터(별도의 기록 매체에서 다운로드받은 데이터)의 검사 합을 비교하여 두 값이 일치하는 경우{마스터 롬(20)에 재기록된 데이터와 램(40)에 다운로드된 데이터가 서로 일치하는 경우}에는 칩 선택 어드레스(CSAddr)를 어드레스 버스를 통해 PLD 로직부(50)로 송출하고, 두 값이 일치하지 않는 경우{마스터 롬(20)에 재기록된 데이터와 램(40)에 다운로드된 데이터가 서로 일치하지 않는 경우}에는 칩 선택 어드레스를 송출하지 않는다.In such a configuration, the CPU 10 performs various data processing, sends a designated address to the address bus to access a program that defines an initial operation for booting the board, and when booting is performed, the master ROM 20 Compare the checksum of the data rewritten to the control unit with the checksum of the data stored in the RAM 40 (data downloaded from a separate recording medium) and match the two values (the data rewritten to the master ROM 20 and the RAM). In the case where the data downloaded to the 40 coincide with each other}, the chip select address CSAddr is sent to the PLD logic unit 50 via the address bus, and when the two values do not match (rewrite in the master ROM 20). If the data and the data downloaded to the RAM 40 do not coincide with each other}, the chip select address is not sent.
마스터 롬(20)은 보드를 부팅/초기화시키는 프로그램이 저장되어 있는 주 플래시 롬으로, 부팅시 어드레스 버스를 통해 CPU(10)로부터 입력받은 어드레스에 의거하여 지정된 어드레스의 데이터를 데이터 버스에 실어 송출한다.The master ROM 20 is a main flash ROM that stores a program for booting / initializing a board. The master ROM 20 loads data of a specified address on a data bus based on an address input from the CPU 10 through an address bus at boot time. .
여분 롬(30)은 마스터 롬(20)에 이상이 발생했을 때 마스터 롬(20)을 대신하여 보드를 부팅/초기화시키기 위해 보드를 부팅/초기화시키는 프로그램이 저장되어 있는 여분의 플래시 롬이다.The spare ROM 30 is an extra flash ROM in which a program for booting / initializing the board is stored in order to boot / initialize the board in place of the master ROM 20 when an error occurs in the master ROM 20.
램(40)은 CPU(10)에서 처리된 데이터가 저장되고, 마스터 롬(20)에 재기록할 새로운 데이터를 별도의 기록 매체로부터 다운로드받아 저장하고 있다.The RAM 40 stores data processed by the CPU 10 and downloads and stores new data to be rewritten in the master ROM 20 from a separate recording medium.
PLD 로직부(50)는 어드레스 버스를 통해 CPU(10)로부터 전달받은 어드레스를 디코딩하여 각 어드레스에 해당되는 디바이스{마스터 롬(20), 여분 롬(30), 램(40)}를 선택해주는 선택 신호(chip select;CS)를 인에이블시키는 데, CPU(10)로부터 전달받은 어드레스를 디코딩할 때 칩 선택 어드레스가 입력되는 경우{마스터 롬(20)에 새로운 데이터가 정상적으로 재기록된 경우}에는 마스터 롬(20)을 선택하기 위해 마스터 롬 선택 신호(Master ROM Device Select;MCS)를 인에이블시키고, 칩 선택 어드레스가 입력되지 않는 경우{마스터 롬(20)에 새로운 데이터가 비정상적으로 재기록된 경우}에는 여분 롬(30)을 선택하기 위해 여분 롬 선택 신호(Redundancy ROM Device Select;RCS)를 인에이블시킨다. 그리고, PLD 로직부(50)는 CPU(10)로부터 칩 선택 어드레스를 입력받아 마스터 롬 선택 신호를 인에이블시킬 때 칩 선택 신호(CS_signal)도 인에이블시켜 감시 타이머(60)로 인가한다.The PLD logic section 50 decodes the address received from the CPU 10 through the address bus and selects a device (master ROM 20, spare ROM 30, RAM 40) corresponding to each address. When the chip select address is input when decoding the address transmitted from the CPU 10 (when new data is normally rewritten to the master ROM 20), the master chip is enabled. Enable Master ROM Device Select (MCS) to select (20), and if the chip select address is not input (if new data is abnormally rewritten in master ROM 20), Enable Redundancy ROM Device Select (RCS) to select ROM 30. When the PLD logic unit 50 receives the chip select address from the CPU 10 and enables the master ROM select signal, the PLD logic unit 50 also enables the chip select signal CS_signal to be applied to the watchdog timer 60.
감시 타이머(60)는 PLD 로직부(50)로부터 인가되는 칩 선택 신호를 감시하여 일정시간 내에 칩 선택 신호가 PLD 로직부(50)에서 인에이블되어 인가되지 않으면 마스터 롬(20)에 새로운 데이터가 비정상적으로 재기록된 것으로 판단하여 시스템을 재시동시키기 위한 리셋 신호(reset signal)를 인에이블시켜 CPU(10)와 PLD 로직부(50)로 인가한다.The watchdog timer 60 monitors the chip select signal applied from the PLD logic unit 50. If the chip select signal is not enabled and applied to the PLD logic unit 50 within a predetermined time, new data is added to the master ROM 20. It is determined that the data is abnormally rewritten, and a reset signal for restarting the system is enabled and applied to the CPU 10 and the PLD logic unit 50.
여기서, 감시 타이머(60)는 별도로 구비될 수도 있고, PLD 로직부(50) 내에 구비될 수도 있다.Here, the watchdog timer 60 may be provided separately or may be provided in the PLD logic unit 50.
이와 같은 구성으로 이루어진 부팅 장치는 백 플레인(back plain)에 커넥터로 연결된 별도의 전원 공급 장치나 부팅 장치 자체 내에 장착된 장치로부터 전원을 공급받는다.The boot device having such a configuration receives power from a separate power supply device connected to a back plain by a connector or a device mounted in the boot device itself.
도 3은 본 발명에 따른 데이터 시스템의 부팅 방법을 설명하기 위한 도이다.3 is a diagram illustrating a booting method of a data system according to the present invention.
먼저, 램(40)은 별도의 기록 매체로부터 새로운 데이터를 다운로드받아 저장하고 있고, 램(40)에 다운로드된 새로운 데이터는 마스터 롬(20)에 재기록된다.First, the RAM 40 downloads and stores new data from a separate recording medium, and the new data downloaded to the RAM 40 is rewritten to the master ROM 20.
이와 같이, 마스터 롬(20)에 새로운 데이터가 재기록되면, 시스템은 재시동되는 데, CPU(10)는 보드를 부팅시키기 위하여 초기 동작을 규정한 데이터가 저장되어 있는 마스터 롬(20)을 억세스하기 위한 초기 어드레스를 어드레스 버스를 통해 PLD 로직부(50)로 송출하고, 마스터 롬(20)의 데이터 검사 합과 램(40)의 데이터 검사 합을 비교하여 비교 결과 값에 따라 칩 선택 어드레스를 송출한다(S10). 즉, 마스터 롬(20)의 데이터 검사 합과 램(40)의 데이터 검사 합이 일치하면 칩 선택 어드레스를 어드레스 버스를 통해 PLD 로직부(50)로 송출하고, 마스터 롬(20)의 데이터 검사 합과 램(40)의 데이터 검사 합이 일치하지 않으면 칩 선택 어드레스를 송출하지 않는다.As such, when new data is rewritten to the master ROM 20, the system is restarted. The CPU 10 accesses the master ROM 20 in which data defining an initial operation is stored to boot the board. The initial address is sent to the PLD logic unit 50 through the address bus, and the chip check address is sent according to the comparison result by comparing the data check sum of the master ROM 20 with the data check sum of the RAM 40 ( S10). That is, if the data check sum of the master ROM 20 and the data check sum of the RAM 40 match, the chip select address is sent to the PLD logic unit 50 through the address bus, and the data check sum of the master ROM 20 is transmitted. If the data check sum of the RAM 40 does not match, the chip select address is not sent.
이후, PLD 로직부(50)는 CPU(10)로부터 전달받은 어드레스를 디코딩하여 CPU(10)로부터 칩 선택 어드레스가 송출되었는 지를 판단한다(S12). 상기한 과정 S12의 판단결과 CPU(10)로부터 칩 선택 어드레스가 인가된 경우{마스터 롬(20)에 새로운 데이터가 정상적으로 재기록된 경우}에는 마스터 롬 선택 신호(MCS)를 인에이블시켜 마스터 롬(20)에 인가함과 동시에 칩 선택 신호(CS_signal)를 인에이블시켜 감시 타이머(60)로 인가하여, 마스터 롬(20)으로 부팅을 수행하는 과정을 수행하고(S14), CPU(10)로부터 칩 선택 어드레스가 인가되지 않은 경우{마스터 롬(20)에 새로운 데이터가 비정상적으로 기록된 경우}에는 감시 타이머(60)로 칩 선택 신호가 인가되지 않으므로, 감시 타이머(60)는 시스템이 재시동된 이후 일정 시간 이내에 칩 선택 신호가 인가되지 않으면 마스터 롬(20)을 비정상 상태로 인지하고, CPU(10)와 PLD 로직부(50)로 시스템을 재시동시키기 위한 리셋 신호(reset signal)를 인에이블시켜 인가한다(S16).Thereafter, the PLD logic unit 50 decodes the address received from the CPU 10 to determine whether the chip select address is sent from the CPU 10 (S12). When the chip select address is applied from the CPU 10 (when new data is normally rewritten to the master ROM 20) as a result of the determination in step S12, the master ROM selection signal MCS is enabled to enable the master ROM 20. ) And at the same time enable the chip select signal CS_signal to be applied to the watchdog timer 60 to perform booting to the master ROM 20 (S14) and to select a chip from the CPU 10. If the address is not applied (new data is abnormally recorded in the master ROM 20), the chip select signal is not applied to the watchdog timer 60, so that the watchdog timer 60 runs for a predetermined time after the system is restarted. If the chip select signal is not applied within the master ROM 20, the master ROM 20 is recognized as an abnormal state, and a reset signal for restarting the system by the CPU 10 and the PLD logic unit 50 is enabled by applying ( S16).
이후, 감시 타이머(60)로부터 리셋 신호를 인가받은 CPU(10)는 시스템을 재시동시키기 위하여 초기 동작을 규정한 데이터가 저장되어 있는 마스터 롬(20)을 억세스하기 위한 초기 어드레스를 어드레스 버스를 통해 PLD 로직부(50)로 송출하고(S18), CPU(10)로부터 어드레스를 전달받은 PLD 로직부(50)는 여분 롬(30)을 선택하는 여분 롬 선택 신호(RCS)를 인에이블시켜 여분 롬(30)으로 인가함과 동시에 칩 선택 신호를 인에이블시켜 감시 타이머(60)로 인가하여 여분 롬(30)으로 부팅을 수행한다(S20). 즉, 여분 롬 선택 신호(RCS)를 인가받은 여분 롬(30)은 어드레스 버스를 통해 CPU(10)로부터 인가받은 어드레스의 데이터를 데이터 버스에 실어 CPU(10)에 응답 데이터를 전달하고, 여분 롬(30)으로부터 부팅에 필요한 데이터를 읽어들인 CPU(10)는 데이터를 램(40)에 기록하고, 램(40)은 여분 롬(30)으로부터 읽어들인 데이터를 이용하여 보드 초기화 동작을 수행한다. 여기서, 여분 롬(30)에 저장되어 있는 데이터는 이미 검증이 된 상태이므로 보드의 부팅은 정상적으로 이루어진다.Thereafter, the CPU 10 receiving the reset signal from the watchdog timer 60 supplies the initial address for accessing the master ROM 20 in which data defining the initial operation is stored, via the address bus, to restart the system. The PLD logic unit 50, which is sent to the logic unit 50 (S18) and receives the address from the CPU 10, enables the extra ROM selection signal RCS for selecting the extra ROM 30 to enable the extra ROM ( At the same time as the 30) and enabling the chip select signal is applied to the watchdog timer 60 to boot to the extra ROM (30) (S20). That is, the spare ROM 30 receiving the spare ROM selection signal RCS transmits response data to the CPU 10 by loading data of the address received from the CPU 10 on the data bus through the address bus, and sends the response data to the CPU 10. The CPU 10 that reads data necessary for booting from 30 writes the data to the RAM 40, and the RAM 40 performs a board initialization operation using the data read from the redundant ROM 30. Here, since the data stored in the redundant ROM 30 has already been verified, the board is booted normally.
전술한 바와 같이, 여분 롬(30)으로 부팅을 수행한 이후에는 소프트웨어의제어에 의해 여분 롬(30)에 저장되어 있는 데이터를 마스터 롬(20)에 재기록하고(S22), 여분 롬(30)에 저장되어 있는 데이터가 마스터 롬(20)에 재기록되면, 시스템은 재시동되어 마스터 롬(20)에 의해 부팅을 수행한다(S24).As described above, after booting into the redundant ROM 30, data stored in the redundant ROM 30 is rewritten to the master ROM 20 under the control of software (S22), and the redundant ROM 30 If the data stored in the master ROM 20 is rewritten, the system is restarted and booted by the master ROM 20 (S24).
이와 같이, 마스터 롬(20)에 의해 시스템이 부팅되면 다시 기록 매체에 저장되어 있는 새로운 데이터를 마스터 롬(20)에 재기록하고 시스템을 재시동시키는 과정을 수행하여야 하는 데(S26), 기록 매체에 저장되어 있는 새로운 데이터가 마스터 롬(20)에 정상적으로 재기록될 때까지 상기한 일련의 과정은 반복 수행된다.As such, when the system is booted by the master ROM 20, the process of rewriting new data stored in the recording medium into the master ROM 20 and restarting the system should be performed (S26). The above-described process is repeated until new data is rewritten to the master ROM 20 normally.
본 발명의 데이터 처리 시스템의 부팅 장치 및 방법은 전술한 실시예에 국한되지 않고 본 발명의 기술 사상이 허용하는 범위 내에서 다양하게 변형하여 실시할 수 있다.The booting apparatus and method of the data processing system of the present invention are not limited to the above-described embodiments, and may be variously modified and implemented within the scope of the technical idea of the present invention.
이상에서 설명한 바와 같은 본 발명의 데이터 처리 시스템의 부팅 장치 및 방법에 따르면, 여분의 플래시 롬을 더 구비시켜 마스터 플래시 롬에 새로운 데이터를 재기록한 후 시스템을 부팅시킬 때 마스터 플래시 롬으로 부팅이 이루어지지 않으면 여분의 플래시 롬으로 부팅을 수행하고, 비정상적으로 데이터가 재기록된 마스터 플래시 롬을 복원시키는 일련의 과정을 반복 수행함으로써, 안전하고 신속하게 시스템을 부팅시키고, 비정상적인 데이터가 재기록된 마스터 플래시 롬을 손쉽게 복원시킬 수 있는 효과가 있다.According to the booting apparatus and method of the data processing system of the present invention as described above, when the system is booted after rewriting new data in the master flash ROM by providing an extra flash ROM, booting to the master flash ROM is not performed. If not, boot the system with a spare flash ROM and repeat the process of restoring the abnormally rewritten master flash ROM to safely and quickly boot the system and easily rebuild the master flash ROM with the abnormal data rewritten. There is an effect that can be restored.
또한, 마스터 플래시 롬의 복원이 가능하므로 새로운 롬으로 교체하는 불편을 막을 수 있는 효과가 있다.In addition, since the restoration of the master flash ROM is possible, there is an effect to prevent the inconvenience of replacing with a new ROM.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-1999-0041099A KR100422928B1 (en) | 1999-09-22 | 1999-09-22 | apparatus and method for booting in data processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-1999-0041099A KR100422928B1 (en) | 1999-09-22 | 1999-09-22 | apparatus and method for booting in data processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010028715A KR20010028715A (en) | 2001-04-06 |
KR100422928B1 true KR100422928B1 (en) | 2004-03-12 |
Family
ID=19612756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-1999-0041099A KR100422928B1 (en) | 1999-09-22 | 1999-09-22 | apparatus and method for booting in data processing system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100422928B1 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100400554B1 (en) * | 2000-11-17 | 2003-10-08 | 엘지전자 주식회사 | External circuit for cpu |
KR100493069B1 (en) * | 2002-10-29 | 2005-06-02 | 삼성전자주식회사 | Method and apparatus for recovering boot image in smart phone |
KR20040049506A (en) * | 2002-12-06 | 2004-06-12 | 한국전자통신연구원 | The flash memory programming system on the bootstrap-mode of a dragonball-series CPU and the method |
KR100607992B1 (en) * | 2004-07-09 | 2006-08-02 | 삼성전자주식회사 | Method and system for booting system by monitoring operating status of NAND flash memory |
KR100894251B1 (en) | 2006-12-28 | 2009-04-21 | 삼성전자주식회사 | Memory module system with multiple SPD ROM and boothing method of the memory module system |
CN113238805A (en) * | 2021-05-18 | 2021-08-10 | 上海金卓科技有限公司 | Chip system and starting method of chip system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100198382B1 (en) * | 1996-05-07 | 1999-06-15 | 윤종용 | Computer with multi-booting function |
-
1999
- 1999-09-22 KR KR10-1999-0041099A patent/KR100422928B1/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100198382B1 (en) * | 1996-05-07 | 1999-06-15 | 윤종용 | Computer with multi-booting function |
Also Published As
Publication number | Publication date |
---|---|
KR20010028715A (en) | 2001-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6622246B1 (en) | Method and apparatus for booting and upgrading firmware | |
US6615404B1 (en) | Method and apparatus for downloading software into an embedded-system | |
EP1433060B1 (en) | Crash recovery system | |
US7206971B2 (en) | Selectable and updatable computer boot memory | |
US7275153B2 (en) | Booting and boot code update system using boot strapper code to select between a loader and a duplicate backup loader | |
KR100440950B1 (en) | Method for upgrading software in network environment and network device thereof | |
US20100169709A1 (en) | System Of Updating Firmware And Method Thereof, And Method Of Creating Firmware | |
US6553490B1 (en) | Computer system including local computer with capability to automatically update operating system or application program from network server | |
JP4279902B2 (en) | Digital television broadcast receiving apparatus and digital television broadcast receiving program acquisition method | |
US5933595A (en) | Computer apparatus having electrically rewritable nonvolatile memory, and nonvolatile semiconductor memory | |
US20030076311A1 (en) | Computer having a display interface with two basic input/output systems | |
CN113110891B (en) | Firmware loading method and device for solid state disk, computer equipment and storage medium | |
CN117130672A (en) | Server start flow control method, system, terminal and storage medium | |
KR100422928B1 (en) | apparatus and method for booting in data processing system | |
JP3093541B2 (en) | Terminal device and online system for managing version numbers of programs and data | |
JP2003263323A (en) | Downloader and download method | |
JP2004192329A (en) | Program rewriting method and terminal device | |
CN114691180A (en) | Software upgrading method and device for processor chip, processor and processor system | |
JP2002175193A (en) | Device and method for rewriting program | |
CN114625389A (en) | Embedded equipment upgrading method, embedded equipment and storage device | |
JP2002351687A (en) | Updating system for firmware of printer | |
JP2000293376A (en) | Circuit and method for switching boot program | |
KR100487717B1 (en) | System and method for loading operating system for embedded system | |
JP3572861B2 (en) | Printing equipment | |
EP4113288B1 (en) | Systems and method for bootup activation of firmware images |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20090302 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |