KR20180023575A - Firmware auto updating method and computer readable recording medium writing firmware auto updating method - Google Patents

Firmware auto updating method and computer readable recording medium writing firmware auto updating method Download PDF

Info

Publication number
KR20180023575A
KR20180023575A KR1020160109132A KR20160109132A KR20180023575A KR 20180023575 A KR20180023575 A KR 20180023575A KR 1020160109132 A KR1020160109132 A KR 1020160109132A KR 20160109132 A KR20160109132 A KR 20160109132A KR 20180023575 A KR20180023575 A KR 20180023575A
Authority
KR
South Korea
Prior art keywords
file
update
firmware
updater
binary files
Prior art date
Application number
KR1020160109132A
Other languages
Korean (ko)
Other versions
KR101968272B1 (en
Inventor
이성호
연준희
Original Assignee
주식회사 지2터치
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 주식회사 지2터치 filed Critical 주식회사 지2터치
Priority to KR1020160109132A priority Critical patent/KR101968272B1/en
Publication of KR20180023575A publication Critical patent/KR20180023575A/en
Application granted granted Critical
Publication of KR101968272B1 publication Critical patent/KR101968272B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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/445Program loading or initiating

Abstract

The present invention relate to a method for automatically updating a firmware, capable of completing a firmware update by performing a corresponding update once by a user by automating a complicated firmware update procedure and including all necessary resources in an updater, in order to solve the problems of a conventional firmware updater, and a computer-readable recording medium recording the same. The method for automatically updating a firmware includes the steps of: extracting binary files using meta-information; and performing an update operation with the binary files.

Description

펌웨어 자동 업데이트 방법 및 이의 방법을 기록한 컴퓨터 판독 가능한 기록 매체{FIRMWARE AUTO UPDATING METHOD AND COMPUTER READABLE RECORDING MEDIUM WRITING FIRMWARE AUTO UPDATING METHOD}TECHNICAL FIELD [0001] The present invention relates to a firmware update method and a computer readable recording medium on which a method of automatically updating a firmware is recorded.

본 발명은 펌웨어 자동 업데이트 방법 및 이의 방법을 기록한 컴퓨터 판독 가능한 기록 매체에 관한 것으로, 보다 상세하게는 여러 단계를 포함하여 복잡한 펌웨어 업데이트 절차를 한 번의 실행으로 펌웨어 업데이트 절차가 완료되도록 하는 자동 업데이트 방법 및 이 방법을 기록한 컴퓨터 판독 가능한 기록 매체에 관한 것입니다.The present invention relates to an automatic firmware updating method and a computer readable recording medium on which the method is recorded. More particularly, the present invention relates to an automatic updating method for completing a complicated firmware updating procedure including a plurality of steps, And a computer readable recording medium on which the method is recorded.

컴퓨터라고 한다면 대부분의 사람들은 데스크톱이나 노트북 등의 'PC(Peraonal Computer)를 떠 올린다. 하지만 넓게 보면 프로세서(CPU)를 갖추었으며, 외부로부터 정보를 입력받아 정의된 규칙에 따라 이를 처리, 결과를 생성하는 전자 기기라면 모두 컴퓨터로 정의할 수 있다. 이렇게 본다면 휴대폰이나 MP3 플레이어, PMP, 비디오 게임기, 휴대용 전자 계산기 등도 모두 컴퓨터 시스템에 속한다고 할 수 있다. Most people think of PCs (Peraonal Computers) such as desktops and laptops. However, it can be defined as a computer, if it has a processor (CPU) in a broad sense, and it can input information from outside and process it according to a defined rule and generate an electronic result. If you look like this, you can say that mobile phones, MP3 players, PMPs, video game machines, portable electronic calculators, etc. all belong to the computer system.

소프트웨어를 통해 전달된 정보를 받아들인 하드웨어는 내부의 논리 회로를 거쳐 사용자가 원하는 형태의 결과물을 출력한다. 여기서 말하는 결과물이란 계산 결과의 출력이나 특정 기기의 동작 등을 의미한다. 그런데 컴퓨터 시스템의 활용 범위가 넓어지고, 소프트웨어에서 전달되는 정보 역시 방대해지다 보니 하드웨어 내 제한된 종류의 논리 회로만으로는 이러한 다양한 상황에 모두 대응하기가 어렵게 되었다.The hardware that receives the information transmitted through the software outputs the result of the desired form via the internal logic circuit. The output referred to here means the output of the calculation result or the operation of a specific device. However, since the range of application of computer system is widened and the information transmitted by software is also enormous, it is difficult to cope with various situations by only a limited type of logic circuit in hardware.

물론, 새로운 소프트웨어가 등장할 때마다 그에 해당하는 기능을 갖춘 논리 회로를 추가한 하드웨어를 새로 만들 수도 있겠지만, 이렇게 하면 비용이나 시간 면에서 큰 낭비가 아닐 수 없다. 그래서 컴퓨터 개발자들은 하드웨어 내부의 제어 부분에 저장공간을 만들어, 그 곳에 논리 회로의 기능을 보강하거나 대신할 수 있는 프로그램을 넣을 수 있게 하였다. 이것이 바로 '펌웨어(Firmware)'이다.Of course, every time new software comes along, you can create new hardware with logic circuitry that works, but doing so can be costly and time consuming. So computer designers have created a storage area in the control part of the hardware, where they can add a program that can reinforce or replace the logic circuit. This is 'Firmware'.

펌웨어는 다른 소프트웨어보다 우선적으로 하드웨어의 기본적인 동작을 제어할 수 있는 기능을 갖고 있다. 예를 들어, PC의 전원을 켜면 운영체제(윈도우 등)의 기동이 시작되기 직전, 검은색 바탕 화면에 PC 제조사의 이름 및 CPU, 메모리 및 하드디스크 용량 등의 하드웨어 정보 목록이 표시되는 것을 볼 수 있다. 이를 바이오스(BIOS : Basic Input/Output System)이라고 하는데, PC의 기본적인 입출력 기능을 담당하는 펌웨어의 일종이다. 만약 PC에 장착된 하드디스크가 손상되어 운영체제의 부팅이 실패한다 해도 바이오스는 정상적으로 작동하며, 운영체제 구동에 필요한 데이터를 찾을 수 없다는 오류메시지를 표시한다.The firmware has the ability to control the basic operation of the hardware prior to other software. For example, when you turn on the PC, you can see a list of hardware information such as the name of the PC manufacturer, CPU, memory, and hard disk capacity on the black desktop just before the start of the operating system (Windows, etc.) . It is called BIOS (Basic Input / Output System), and it is a kind of firmware that performs basic input / output functions of PC. If the hard disk mounted on the PC is damaged and the operating system fails to boot, the BIOS will operate normally and an error message will be displayed indicating that the necessary data for operating the operating system can not be found.

또한, 디지털카메라나 비디오 게임기의 경우, 메모리카드나 CD와 같이 소프트웨어가 저장된 매체가 삽입되지 않아도 전원을 켜면 초기 화면이 뜨며 저장 매체를 받아들일 준비를 한다. 이 역시 펌웨어의 역할과 형태를 보여주는 대표적인 경우이다.Also, in the case of a digital camera or a video game machine, even if a medium such as a memory card or a CD is not inserted, the initial screen is displayed when the power is turned on, and the computer is ready to receive the storage medium. This is also a typical case showing the role and type of firmware.

옛날에 나온 기기들의 펌웨어는 하드웨어 내부의 ROM(Read Only Memory)에 저장되었다. ROM은 저장된 데이터의 수정이 불가능한 메모리이기 때문에 한 번 펌웨어가 탑재되면 내용 변경이 힘들었다. 하지만 저장 데이터의 수정이 가능하며, 전원이 꺼진 후에도 저장 데이터의 내용이 지워지지 않는 EPROM이나 플래시메모리가 개발되면서 비교적 수월하게 펌웨어의 내용을 수정할 수 있게 되었다.The firmware of the old devices was stored in ROM (Read Only Memory) inside the hardware. Since the ROM is a memory that can not be modified, it is difficult to change the contents once the firmware is loaded. However, the EPROM or flash memory, which does not erase the contents of the stored data even after the power is turned off, can be modified and the contents of the firmware can be corrected relatively easily.

펌웨어가 담긴 칩은 교체가 가능하도록 탈착식으로 되어 있는 경우도 있다.The chip containing the firmware may be detachable so that it can be replaced.

또한, 최근 출시되는 스마트폰은 펌웨어를 업데이트하여 성능이나 기능을 향상시킬 수 있다.In addition, recently released smart phones can update firmware to improve performance or functionality.

덕분에 최근 출시되는 PC나 스마트폰, 휴대폰, PMP 등의 기기의 경우 제조사 측에서 성능 및 기능이 향상되었거나 오류가 수정된 새로운 펌웨어를 정기적으로 제공해주는 일이 종종 있다(펌웨어 업그레이드 또는 업데이트라 말한다).Thanks to the recent releases of PCs, smart phones, cell phones, and PMPs, manufacturers often provide new firmware with improved performance and / or improved functionality on a regular basis (called firmware upgrades or updates) .

종래의 펌웨어 업데이트에는 여러 문제가 있었다.There have been various problems in the conventional firmware update.

프로세서(예를 들어, MCU : Main Controller Unit)의 펌웨어를 업데이트 하려면 여러 번의 업데이트 절차를 거쳐야 하고 업데이트 순서도 상황에 따라 달라져 복잡하다는 것이다.In order to update the firmware of a processor (for example, an MCU: Main Controller Unit), several update procedures must be performed, and the update sequence is complicated depending on the situation.

각 절차에 따라 관련 바이너리 파일(binary file)들도 따로 존재하여 관리하기가 번거롭다. Depending on each procedure, related binary files exist separately and are cumbersome to manage.

이런 문제들로 인해 펌웨어 업데이트 과정에서 실수를 유발할 가능성이 높아진다. 그리고 펌웨어가 설치될 컴퓨터의 윈도우 버전에 따라 관련 드라이버가 삭제되는 방식이 달라 수동으로 펌웨어를 업데이트 하기에는 많은 문제가 있다.These problems are likely to cause mistakes in the firmware update process. Also, depending on the version of Windows on which the firmware is to be installed, there is a problem in manually updating the firmware because the related driver is deleted in a different manner.

펌웨어 업데이트 도중에 기기 전원이 꺼지거나 다른 기기의 펌웨어를 실수로 덮어씌운 경우에는 기기가 오작동을 일으키거나 아예 작동 불능이 될 수 있다.If the device is turned off or the firmware of another device is accidentally overwritten during the firmware update, the device may malfunction or become inoperable.

도 1은 종래의 펌웨어 업데이트를 수행하는 흐름도이다.1 is a flowchart of a conventional firmware update.

도 1에 예시된 흐름도는 MCU의 펌웨어 메모리 구조가 논리적으로 다음과 같은 3개의 블록 구조 : (1) Boot Loader Block, (2) Data Block 및 (3) Main Code Block를 포함한다는 가정하에 도시된다. 펌웨어 메모리 구조는 3개가 아니라 더 많은 블록 구조를 가질 수 있다. (1) Boot Loader Block은 전원 인가 시, MCU 주변 장치들을 구동시키는 부분이다. (2) Data Block은 Main Code Block 동작 시에 참조되는 블록이다. (3)Main Code Block은 Boot Loader Block의 작업들이 모두 완료되고, 수행되는 코드 블록이다.The flowchart illustrated in FIG. 1 is based on the assumption that the firmware memory structure of the MCU logically includes three block structures: (1) Boot Loader Block, (2) Data Block, and (3) Main Code Block. The firmware memory structure may have more than three block structures. (1) Boot Loader Block is the part that drives MCU peripherals when powered on. (2) The data block is a block referenced in the operation of the main code block. (3) The main code block is the code block in which the tasks of the Boot Loader Block are completed and executed.

종래의 펌웨어 업데이트는 도 1에 도시된 바와 같이 MemoryWriter를 이용하여 Boot Loader Block, Data Block, Main Code Block들을 각각 업데이트한다(S110).In the conventional firmware update, as shown in FIG. 1, the Boot Loader Block, the Data Block, and the Main Code Block are updated using the MemoryWriter (S110).

그리고 MemoryChecker를 이용하여 각 Block들이 정상적으로 업데이트 되었는지 검증한다(S120).Then, it is verified whether the blocks are normally updated using the MemoryChecker (S120).

또한, 만약 HID description이 변경되어 HID 드라이버 삭제가 필요한 경우 RunAsSystem.exe로 devcon.exe를 실행하여 HID드라이버를 삭제한다(S130).Also, if the HID description is changed and the HID driver is required to be deleted, the HID driver is deleted by executing devcon.exe with RunAsSystem.exe (S130).

펌웨어 업데이트를 위해서 상기의 3개의 각 메모리 블록을 업데이트하기 위한 바이너리 파일이 필요하다. 즉, (1) Boot Loader Block 업데이트용 바이너리 파일, (2) Data Block 업데이트용 바이너리 파일 및 (3) Main Code Block 업데이트용 바이너리 파일이 필요하다.A binary file for updating each of the above three memory blocks is required for firmware update. That is, (1) a binary file for updating a Boot Loader Block, (2) a binary file for updating a data block, and (3) a binary file for updating a main code block.

또한, (4) 각 바이너리 파일들을 각 메모리 블록에 기록하기 위한 MemoryWriter 및 (5) 각 바이너리 파일들이 정상적으로 메모리에 업데이트 되었는지 확인하기 위한 MemoryChecker가 필요하다.(4) MemoryWriter to write each binary file to each memory block, and (5) MemoryChecker to check whether each binary file is normally updated in memory.

펌웨어 업데이트를 위해 MCU와 업데이터(updater)간의 통신은 Human Interface Device(HID)를 이용한다. 그런데, HID에 연결되는 HID description이 변경된 경우에는 펌웨어 업데이트 완료 후 HID 드라이버를 제거해야 한다. HID 드라이버 제거에는 Microsoft®에서 제공하는 devcon.exe와 같은 외부도구 또는 삭제 실행파일을 사용할 수 있다. 또한, HID 드라이버 제거와 같은 작업은 관리자 권한을 가져야 한다. 특정 프로그램의 실행시 관리자 권한을 가지고 수행할 수 있게 해주는 기능은 RunAsSystem.exe와 같은 외부도구 또는 삭제 실행파일을 사용할 수 있다.Communication between the MCU and the updater for firmware update uses Human Interface Device (HID). However, if the HID description connected to the HID is changed, the HID driver must be removed after the firmware update is completed. To remove the HID driver, you can use an external tool such as devcon.exe provided by Microsoft® or a delete executable. In addition, operations such as uninstalling the HID driver must have administrator privileges. You can use an external tool such as RunAsSystem.exe or a delete executable to allow a program to run with administrative privileges.

따라서, 펌웨어 업데이트를 위해서, (6) 시스템 관리자 권한 획득기(RunAsSystem.exe) (7) 윈도우의 각 운영체제 버전 및 시스템 종류(32비트/64비트)에 맞는 HID 드라이버 제거기(devcon.exe)들이 더 필요할 수 있다 (윈도우XP부터 윈도우10까지 종류별로 필요한 파일은 10가지이다).Therefore, for the firmware update, HID driver eliminator (devcon.exe) for each operating system version and system type (32 bit / 64 bit) of Windows (6) System administrator rights acquirer (RunAsSystem.exe) (There are 10 files needed for each kind of file from Windows XP to Windows 10).

종래의 펌웨어 업데이트를 위해서는 Block별로 바이너리 파일이 변경될 경우 사용자는 도 1에 도시된 절차를 매번 반복해야 하며, 펌웨어 업데이트를 위하여 15가지가 넘는 파일들을 필요로 한다.In order to update the conventional firmware, when the binary file is changed for each block, the user must repeat the procedure shown in FIG. 1 every time and require more than fifteen files for firmware update.

때문에, 펌웨어 업데이트 절차 간소화 및 자동화에 대한 요구가 있다.Therefore, there is a need for streamlining and automating the firmware update procedure.

본원 발명은 종래의 펌웨어 업데이터의 문제점을 해결하기 위한 것으로, 복잡한 펌웨어 업데이트 절차를 자동화하고 필요한 리소스(resource)를 업데이터에 모두 포함하여 사용자가 해당 업데이터를 한번 실행시켜 펌웨어 업데이트를 완료할 수 있도록 하는 펌웨어 자동 업데이트 방법 및 이의 방법을 기록한 컴퓨터 판독 가능한 기록 매체를 제공하는 것을 목적으로 한다.In order to solve the problems of the conventional firmware updater, the present invention provides a firmware update method that automates a complicated firmware update procedure and includes a necessary resource in an updater to allow a user to execute the updater once to complete firmware update And an object of the present invention is to provide an automatic updating method and a computer readable recording medium recording the method.

본 발명의 펌웨어 자동 업데이트 방법의 일 측면에 따라,According to an aspect of the firmware auto update method of the present invention,

펌웨어 자동 업데이트 방법에 있어서,A method for automatically updating a firmware,

상기 펌웨어 자동 업데이트를 수행하는 업데이터(updater)는 메타 정보(Meta Information)와 업데이트를 위한 적어도 하나 이상의 바이너리 파일들을 포함하고, Wherein the updater for performing the firmware automatic update includes at least one or more binary files for meta information and update,

상기 메타 정보(meta information)를 이용하여 상기 바이너리 파일들을 추출하는 단계; 및Extracting the binary files using the meta information; And

상기 바이너리 파일들로 업데이트를 수행하는 단계;를 포함하는 것을 특징으로 한다.And performing the update with the binary files.

바람직하게는,Preferably,

상기 업데이터는 컴퓨터 프로세서에 의해 실행가능한 업데이트 실행파일을 포함한다.The updater includes an update executable executable by a computer processor.

바람직하게는,Preferably,

상기 업데이터는 상기 업데이트 실행 파일 영역과 상기 바이너리 파일들이 저장된 영역을 구분하기 위한 식별 코드(Identification code)를 더 포함한다.The updater further includes an identification code for distinguishing the update executable file area from the area where the binary files are stored.

바람직하게는,Preferably,

상기 업데이터와 MCU(Main Controller Unit)간 통신을 위한 HID(Human Interface Device) 드라이버를 삭제하는 단계를 더 포함한다.And deleting a HID (Human Interface Device) driver for communication between the updater and an MCU (Main Controller Unit).

바람직하게는,Preferably,

상기 업데이터는 상기 HID 드라이버 삭제에 필요한 HID드라이버 삭제 실행 파일을 더 포함한다.The updater further includes an HID driver deletion executable file necessary for deleting the HID driver.

바람직하게는,Preferably,

상기 HID드라이버 삭제 실행 파일은 윈도우버전에 따라 상이한 것을 특징으로 한다.The HID driver deletion executable file is different depending on the version of the window.

바람직하게는,Preferably,

상기 식별 코드는 상기 업데이트 실행 파일의 상태를 검증하기 위해 사용된다.The identification code is used to verify the status of the update executable file.

바람직하게는,Preferably,

상기 메타 정보는 상기 펌웨어 메모리의 부트 로더(Boot Loader) 블럭의 업데이터 여부에 대한 정보, 상기 펌웨어 업데이트 후 상기 HID 드라이버 삭제 여부에 대한 정보 및 상기 펌웨어 업데이트 후 시스템 재시작 여부에 관한 정보를 포함하는 것을 특징으로 한다.The meta information includes information on whether the boot loader block of the firmware memory is an updater, information on whether the HID driver is deleted after updating the firmware, and whether the system restarts after updating the firmware. .

바람직하게는,Preferably,

상기 메타 정보는 상기 바이너리 파일들의 경로, 상기 바이너리 파일들의 파일명, 상기 바이너리 파일들의 파일 크기 및 생성일시, 파일 CRC(cyclical redundancy check) 및 파일 버전을 더 포함하는 것을 특징으로 한다.The meta information may further include a path of the binary files, a file name of the binary files, a file size and creation date of the binary files, a file cyclic redundancy check (CRC), and a file version.

바람직하게는,Preferably,

상기 바이너리 파일들은 부트 로더 블럭(Boot Loader Block)의 업데이트 파일, 데이터 블럭(Data Block) 업데이트 파일, 메인 코드 블럭(Main Code Block) 업데이트 파일을 포함하는 것을 특징으로 한다.The binary files include an update file of a boot loader block, a data block update file, and a main code block update file.

본 발명의 펌웨어 자동 업데이트 방법을 기록한 컴퓨터 판독 가능한 기록 매체의 일 측면에 따라,According to an aspect of the computer readable recording medium recording the firmware automatic update method of the present invention,

펌웨어 자동 업데이트를 수행하는 업데이터를 포함하는 컴퓨터 판독 가능한 기록 매체에 있어서,A computer-readable recording medium including an updater for performing firmware automatic updating,

상기 업데이터(updater)는 적어도 하나 이상의 바이너리 파일들 및 상기 바이너리 파일들의 파일 경로, 파일 크기 및 파일명을 포함하는 메타 정보(Meta Information)를 포함하는 것을 특징으로 한다.The updater includes at least one or more binary files and meta information including a file path, a file size, and a file name of the binary files.

바람직하게는,Preferably,

상기 업데이터는 컴퓨터 프로세서에 의해 실행가능한 업데이트 실행파일을 포함한다.The updater includes an update executable executable by a computer processor.

바람직하게는,Preferably,

상기 업데이터는 상기 업데이트 실행 파일 영역과 상기 바이너리 파일들이 저장된 영역을 구분하기 위한 식별 코드(Identification code)를 더 포함한다.The updater further includes an identification code for distinguishing the update executable file area from the area where the binary files are stored.

바람직하게는,Preferably,

상기 업데이터는 상기 업데이터와 MCU(Main Controller Unit)간 통신을 위한 HID(Human Interface Device) 드라이버 삭제에 필요한 HID드라이버 삭제 실행 파일을 더 포함한다.The updater further includes an HID driver deletion executable file necessary for deleting a HID (Human Interface Device) driver for communication between the updater and an MCU (Main Controller Unit).

바람직하게는,Preferably,

상기 HID드라이버 삭제 실행 파일은 윈도우버전에 따라 상이한 것을 특징으로 한다.The HID driver deletion executable file is different depending on the version of the window.

바람직하게는,Preferably,

상기 식별 코드는 상기 업데이트 실행 파일의 상태를 검증하기 위해 사용된다.The identification code is used to verify the status of the update executable file.

바람직하게는,Preferably,

상기 메타 정보는 상기 바이너리 파일들의 파일 생성일시, 파일 CRC(cyclical redundancy check), 파일 버전, 상기 펌웨어 메모리의 부트 로더(Boot Loader) 블럭의 업데이터 여부에 대한 정보, 상기 펌웨어 업데이트 후 상기 HID 드라이버 삭제 여부에 대한 정보 및 상기 펌웨어 업데이트 후 시스템 재시작 여부에 관한 정보를 더 포함하는 것을 특징으로 한다.The meta information includes at least one of a file creation date and time of the binary files, a file cyclic redundancy check (CRC), a file version, information on whether the boot loader block of the firmware memory is an updater, whether the HID driver is deleted after the firmware is updated And information on whether to restart the system after the firmware update.

바람직하게는,Preferably,

상기 바이너리 파일들은 부트 로더 블럭(Boot Loader Block)의 업데이트 파일, 데이터 블럭(Data Block) 업데이트 파일, 메인 코드 블럭(Main Code Block) 업데이트 파일을 포함하는 것을 특징으로 한다.The binary files include an update file of a boot loader block, a data block update file, and a main code block update file.

본 발명에 따른 펌웨어 자동 업데이트 방법 및 이의 방법을 기록한 컴퓨터 판독 가능한 기록 매체에 의하면, 업데이터가 펌웨어 업데이트에 필요한 모든 리소스를 포함하고 있기 때문에 업데이트를 보다 빠르고 효율적으로 수행할 수 있다.According to the firmware automatic updating method and the computer readable recording medium recording the method according to the present invention, since the updater includes all the resources necessary for updating the firmware, the update can be performed more quickly and efficiently.

본 발명에 따른 펌웨어 자동 업데이트 방법 및 이의 방법을 기록한 컴퓨터 판독 가능한 기록 매체에 의하면, 업데이터의 한 번의 실행에 의해 복잡한 업데이트 절차가 자동으로 수행되도록 구성되어 펌웨어 업데이트 과정에서 오류가 발생할 여지가 현저히 낮다.According to the firmware automatic updating method and the computer readable recording medium recording the method of the present invention, the complicated updating procedure is automatically performed by one execution of the updater, and thus there is a considerably low possibility of errors in the firmware updating process.

본 발명에 따른 펌웨어 자동 업데이트 방법 및 이의 방법을 기록한 컴퓨터 판독 가능한 기록 매체에 의하면, 업데이터가 별도의 리저브드 공간(reserved space)을 포함하여 차후 성능 개선에 미리 대비할 수 있다.According to the firmware automatic updating method and the computer readable recording medium recording the method of the present invention, the updater can include a reserved space to prepare for future performance improvement.

도 1은 종래의 펌웨어 업데이트를 수행하는 흐름도이다.
도 2는 본 발명에 따른 펌웨어 업데이트를 수행하는 업데이터의 구조를 개략적으로 도시한 도면이다.
도 3은 본 발명에 따른 업데이터의 메타 정보에 포함된 정보를 보여주는 도면이다.
도 4는 본 발명에 따른 업데이터를 이용하여 업데이트를 수행하는 흐름도를 보여주는 도면이다.
1 is a flowchart of a conventional firmware update.
FIG. 2 is a view schematically showing a structure of a updater for performing firmware update according to the present invention.
FIG. 3 is a view showing information included in meta information of the updater according to the present invention.
4 is a flowchart illustrating an update process using the updater according to the present invention.

본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.In order to fully understand the present invention, operational advantages of the present invention, and objects achieved by the practice of the present invention, reference should be made to the accompanying drawings and the accompanying drawings which illustrate preferred embodiments of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.Hereinafter, the present invention will be described in detail with reference to the preferred embodiments of the present invention with reference to the accompanying drawings. Like reference symbols in the drawings denote like elements.

이하, 본 발명의 바람직한 실시예를 첨부된 도면 및 실시예를 참조하여 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings and embodiments.

도 2는 본 발명에 따른 펌웨어 업데이트를 수행하는 업데이터의 구조를 개략적으로 도시한 도면이다.FIG. 2 is a view schematically showing a structure of a updater for performing firmware update according to the present invention.

펌웨어 자동 업데이트를 수행하는 업데이터(200)는 컴퓨터 판독 가능한 기록 매체에 저장된다.The updater 200 performing firmware automatic updating is stored in a computer-readable recording medium.

본 발명에 따른 업데이터(updater)는 적어도 하나 이상의 바이너리 파일들(240) 및 바이너리 파일들의 파일 경로, 파일 크기 및 파일명을 포함하는 메타 정보(Meta Information)(230)를 포함한다.The updater according to the present invention includes at least one or more binary files 240 and meta information 230 including a file path, a file size and a file name of binary files.

본원 발명에서의 펌웨어 업데이트를 위한 업데이터(updater)(200)는 컴퓨터와 같은 기계에 의해 판독가능한 업데이트 실행파일(210)을 포함한다.The updater 200 for firmware update in the present invention includes an update executable file 210 readable by a machine such as a computer.

업데이터(200)는 업데이트 실행 파일 영역(210)과 바이너리 파일들이 저장된 영역(240)을 구분하기 위한 식별 코드(Identification code)(220)를 더 포함한다.The updater 200 further includes an identification code 220 for distinguishing between the update execution file area 210 and the area 240 in which the binary files are stored.

업데이터(200)는 업데이터(200)와 MCU(Main Controller Unit)간 통신을 위한HID(Human Interface Device) 드라이버 삭제에 필요한 HID드라이버 삭제 실행 파일을 포함한다.The updater 200 includes an HID driver deletion executable file necessary for deleting a HID (Human Interface Device) driver for communication between the updater 200 and an MCU (Main Controller Unit).

메타 정보(230)는 바이너리 파일들의 파일 생성일시, 파일 CRC(cyclical redundancy check), 파일 버전, 펌웨어 메모리의 부트 로더(Boot Loader) 블럭의 업데이터 여부에 대한 정보(도 3의 310), 펌웨어 업데이트 후 HID 드라이버 삭제 여부에 대한 정보(도3의 320) 및 펌웨어 업데이트 후 시스템 재시작 여부에 관한 정보(도 3의 330)를 더 포함한다.The meta information 230 includes information on a file creation date and time of binary files, a file cyclic redundancy check (CRC), a file version, information on whether the boot loader block of the firmware memory is an updater (310 in FIG. 3) Information about the HID driver deletion (320 in FIG. 3), and information about the restart of the system after the firmware update (330 in FIG. 3).

메타 정보(230)의 구체적인 내용에 대하여 도 3과 관련하여 보다 상세하게 설명할 것이다.The detailed contents of the meta information 230 will be described in more detail with reference to FIG.

업데이터(200)에 포함된 바이너리 파일들(240)은 부트 로더 블럭(Boot Loader Block)의 업데이트 파일, 데이터 블럭(Data Block) 업데이트 파일, 메인 코드 블럭(Main Code Block) 업데이트 파일을 포함한다.The binary files 240 included in the updater 200 include an update file of a boot loader block, a data block update file, and a main code block update file.

업데이트 실행파일(210)은 업데이터(200)를 실행시키고, 바이너리 파일들을 추출하고 설정된 옵션에 따라 펌웨어 업데이트를 진행한다. The update executable file 210 executes the updater 200, extracts the binary files, and proceeds to update the firmware according to the set options.

업데이트 실행파일은 HID 드라이버 삭제에 관련된 HID드라이버 삭제 실행 파일(예,devcon.exe, RunAsSystem.exe)를 병합할 수 있다. HID드라이버 삭제 실행 파일은 윈도우버전에 따라 상이하다.The update executable file can merge HID driver deletion executable files (eg, devcon.exe, RunAsSystem.exe) related to HID driver deletion. The HID driver deletion executable file differs depending on the version of Windows.

식별 코드(220)는 두 가지 목적으로 사용되며 무작위로 생성된 문자들로 구성되어 있다 : (1) 식별코드의 문자열을 기준으로 업데이터를 구성하는 업데이트 실행파일 영역(210)과 바이너리 파일들이 포함된 영역(240)을 구분하고, (2) 업데이트 실행 파일이 정상 실행파일인지 검증하는데 사용된다. 식별 코드가 업데이트 실행파일 내에 존재하는지 검사하고 존재하지 않는다면 문제가 있는 것으로 판단한다.The identification code 220 is used for two purposes and is composed of randomly generated characters: (1) an update executable file area 210 which constitutes an updater based on a string of identification code, and Area 240, and (2) verify whether the update executable file is a normal executable file. It is determined whether or not the identification code exists in the update executable file. If the identification code does not exist, it is determined that there is a problem.

바이너리 파일들(240)은 펌웨어 업데이트에 사용될 바이너리 파일들을 포함한다.(예: Boot Loader 블럭 업데이트 파일, Main Code 블럭 업데이트 파일, Data 블럭 업데이트 파일)The binary files 240 include binary files to be used for firmware update (e.g., Boot Loader block update file, Main Code block update file, Data block update file).

도 3은 본 발명에 따른 업데이터의 메타 정보에 포함된 정보를 보여주는 도면이다.FIG. 3 is a view showing information included in meta information of the updater according to the present invention.

도 3은 고정된 길이의 값을 가지는 메타 정보(300)의 구조의 일 예를 보여준다.FIG. 3 shows an example of the structure of meta information 300 having a fixed length value.

메타 정보(Meta Information)(300)는 아래의 정보를 포함한다:The meta information 300 includes the following information:

1) 바이너리 파일정보 명1) Binary file information name

- 파일 경로 및 파일명    - File path and filename

- 파일크기, 생성 일시    - File size, creation date and time

- 파일 CRC    - File CRC

2) 각종 설정 값2) Various set values

- 바이너리 파일들의 버전    - version of binary files

- Updater 실행파일의 타이틀에 표시되는 제목 및 버전    - the title and version displayed in the title of the Updater executable

- Boot Loader Block 업데이트 여부(310)    - Whether the Boot Loader Block is updated (310)

- Firmware 업데이트 후 HID 드라이버 삭제 여부(320)    - Whether to delete the HID driver after updating the firmware (320)

- Firmware 업데이트 후 시스템 재 시작 여부(330)    - Whether to restart the system after updating the firmware (330)

메타 정보(300)의 각 값들은 그 길이가 미리 정의되어 있으므로 지정된 길이씩 값을 읽음으로써 해당 정보를 얻을 수 있다.Since the length of each value of the meta information 300 is defined in advance, the corresponding information can be obtained by reading the value by the designated length.

리저브드 공간(340)은 성능 개선 등 기타 이유에 의해 새로운 값이 추가될 경우를 대비해 설정 값들이 저장될 영역의 길이를 미리 여유 공간을 잡아놓고 그 영역 안에서 새 값을 추가한다. 이렇게 함으로써 추가된 값에 의해 변경된 구조정보의 영향을 최소화할 수 있다.The reserved space 340 holds the length of the area in which the setting values are to be stored in advance, and adds a new value to the reserved space in case the new value is added due to other reasons such as performance improvement. By doing so, the effect of the structure information changed by the added value can be minimized.

도 4는 본 발명에 따른 업데이터를 이용하여 업데이트를 수행하는 흐름도를 보여주는 도면이다.4 is a flowchart illustrating an update process using the updater according to the present invention.

펌웨어 자동 업데이트 방법은 펌웨어 자동 업데이트를 수행하는 업데이터(updater)에 의해 수행되며, 업데이터는 메타 정보(Meta Information)와 업데이트를 위한 적어도 하나 이상의 바이너리 파일들을 포함한다.The firmware automatic update method is performed by an updater that performs firmware automatic update, and the updater includes at least one or more binary files for meta information and update.

도 4에 도시된 바와 같이 본원 발명의 펌웨어 자동 업데이트 방법은 메타 정보(meta information)를 이용하여 바이너리 파일들을 추출한다(S410).As shown in FIG. 4, the automatic firmware updating method of the present invention extracts binary files using meta information (S410).

식별 코드를 기준으로 메타 정보가 시작되는 위치를 알아낸다. 메타 정보를 모두 읽은 후, 다음 위치에 존재하는 펌웨어 바이너리 파일을 추출한다. Find out where the meta information starts based on the identification code. After reading all of the meta information, extract the firmware binary file located at the following location.

각각의 바이너리 파일들에 대한 길이를 메타 정보에서 알 수 있으므로 해당 길이만큼 씩 읽어 추출한다.Since the length of each binary file can be known from the meta information, it is read out by the corresponding length.

바이너리 파일들로 업데이트를 수행한다(S420).The update is performed with the binary files (S420).

바이너리 파일들은 메모리에 로드하고 CRC를 검사하여 정상 파일인지 확인한다. CRC 값이 일치하지 않은 경우에는 비정상적인 펌웨어가 업데이트될 수 있기 때문에 더 이상 진행하지 않고 종료한다.Binary files are loaded into memory and checked for CRC to make sure they are normal. If the CRC values do not coincide with each other, the abnormal firmware may be updated and the process is terminated without further processing.

펌웨어 업데이트 단계에서는 메타 정보의 설정 값에 의해 각 펌웨어 업데이트 실행여부가 결정된다. In the firmware update step, the execution of each firmware update is determined by the set value of the meta information.

(1) 부트 로드 블럭(Boot Loader Block) 업데이트 여부가 활성화 되어 있는 경우 부트 로드 블럭(Boot Loader Block) 업데이트를 진행한다.(1) If the update of the boot loader block is enabled, the boot loader block is updated.

(2) Data Block을 업데이트 한다. (2) Update the data block.

(3) Main Code Block을 업데이트 한다.(3) Update the Main Code Block.

각 절차마다 업데이트 후 정상적으로 업데이트 되었는지 메모리 상의 데이터와 바이너리 파일의 내용을 비교 검증한다.For each procedure, compare the contents of the binary file with the data in memory to see if it has been updated normally after the update.

HID 삭제 여부가 활성화 된 경우, devcon.exe를 이용하여 HID드라이버를 삭제한다. 윈도우 버전 별로 해당되는 devcon.exe가 다르므로 현재 윈도우의 버전을 파악하여 자동으로 적절한 devcon.exe를 실행한다.If HID deletion is enabled, delete the HID driver using devcon.exe. Since the corresponding devcon.exe differs for each Windows version, it will determine the current version of Windows and automatically run the appropriate devcon.exe.

본원 발명의 펌웨어 업데이트 방법은 S410보다 선행하여 선행 체크(Pre-check) 단계를 더 포함할 수 있다.The firmware update method of the present invention may further include a pre-check step preceding the step S410.

선행 체크 단계에서는 업데이터에 포함된 각종 리소스들과 메타 정보를 추출하고 MCU와 HID통신이 정상적으로 작동하는지 검사한다. 업데이트 실행파일로부터 HID 드라이버 삭제 실행파일인 devcon.exe와 RunAsSystem.exe를 추출된다. In the preceding check step, various resources and meta information included in the updater are extracted and it is checked whether the MCU and HID communication operate normally. Remove the HID driver from the update executable file. The executable files devcon.exe and RunAsSystem.exe are extracted.

추가적으로 마지막단계에서 업데이트의 성공 / 실패 여부를 화면에 출력하는 단계를 포함할 수 있다.In addition, it may include a step of outputting to the screen whether the update is successful or unsuccessful in the last step.

펌웨어 업데이트 과정은 모두 로그 파일로 저장하고, 문제 발생시 저장된 로그 파일을 이용하여 용이하게 문제를 파악할 수 있다.Firmware update process can be saved as a log file, and the problem can be easily identified by using the log file stored in case of a problem.

본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이, 본 발명의 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.It will be understood by those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention as defined in the appended claims. It will be clear to those who have.

Claims (18)

펌웨어 자동 업데이트 방법에 있어서,
상기 펌웨어 자동 업데이트를 수행하는 업데이터(updater)는 메타 정보(Meta Information)와 업데이트를 위한 적어도 하나 이상의 바이너리 파일들을 포함하고,
상기 메타 정보(meta information)를 이용하여 상기 바이너리 파일들을 추출하는 단계; 및
상기 바이너리 파일들로 업데이트를 수행하는 단계;를 포함하는 것을 특징으로 하는, 펌웨어 자동 업데이트 방법.
A method for automatically updating a firmware,
Wherein the updater for performing the firmware automatic update includes at least one or more binary files for meta information and update,
Extracting the binary files using the meta information; And
And updating the firmware with the binary files.
청구항 1에 있어서,
상기 업데이터는 컴퓨터 프로세서에 의해 실행가능한 업데이트 실행파일을 포함하는, 펌웨어 자동 업데이트 방법.
The method according to claim 1,
Wherein the updater comprises an update executable executable by a computer processor.
청구항 2에 있어서,
상기 업데이터는 상기 업데이트 실행파일 영역과 상기 바이너리 파일들이 저장된 영역을 구분하기 위한 식별 코드(Identification code)를 더 포함하는, 펌웨어 자동 업데이트 방법.
The method of claim 2,
Wherein the updater further comprises an identification code for distinguishing the update executable file area from the area where the binary files are stored.
청구항 3에 있어서,
상기 업데이터와 MCU(Main Controller Unit)간 통신을 위한 HID(Human Interface Device) 드라이버를 삭제하는 단계를 더 포함하는, 펌웨어 자동 업데이트 방법.
The method of claim 3,
Further comprising deleting a HID (Human Interface Device) driver for communication between the updater and an MCU (Main Controller Unit).
청구항 4에 있어서,
상기 업데이터는 상기 HID 드라이버 삭제에 필요한 HID드라이버 삭제 실행 파일을 더 포함하는, 펌웨어 자동 업데이트 방법.
The method of claim 4,
Wherein the updater further includes an HID driver deletion executable file necessary for deleting the HID driver.
청구항 5에 있어서,
상기 HID드라이버 삭제 실행 파일은 윈도우버전에 따라 상이한 것을 특징으로 하는, 펌웨어 자동 업데이트 방법.
The method of claim 5,
Wherein the HID driver deletion executable file differs depending on the version of the window.
청구항 5에 있어서,
상기 식별 코드는 상기 업데이트 실행 파일의 상태를 검증하기 위해 사용되는, 펌웨어 자동 업데이트 방법.
The method of claim 5,
Wherein the identification code is used to verify the status of the update executable file.
청구항 4에 있어서,
상기 메타 정보는 상기 펌웨어 메모리의 부트 로더(Boot Loader) 블럭의 업데이터 여부에 대한 정보, 상기 펌웨어 업데이트 후 상기 HID 드라이버 삭제 여부에 대한 정보 및 상기 펌웨어 업데이트 후 시스템 재시작 여부에 관한 정보를 포함하는 것을 특징으로 하는, 펌웨어 자동 업데이트 방법.
The method of claim 4,
The meta information includes information on whether the boot loader block of the firmware memory is an updater, information on whether the HID driver is deleted after updating the firmware, and whether the system restarts after updating the firmware. The method for automatically updating the firmware.
청구항 8에 있어서,
상기 메타 정보는 상기 바이너리 파일들의 경로, 상기 바이너리 파일들의 파일명, 상기 바이너리 파일들의 파일 크기 및 생성일시, 파일 CRC(cyclical redundancy check) 및 파일 버전을 더 포함하는 것을 특징으로 하는, 펌웨어 자동 업데이트 방법.
The method of claim 8,
Wherein the meta information further includes a path of the binary files, a file name of the binary files, a file size and a creation date of the binary files, a file cyclic redundancy check (CRC), and a file version.
청구항 1에 있어서,
상기 바이너리 파일들은 부트 로더 블럭(Boot Loader Block)의 업데이트 파일, 데이터 블럭(Data Block) 업데이트 파일, 메인 코드 블럭(Main Code Block) 업데이트 파일을 포함하는 것을 특징으로 하는, 펌웨어 자동 업데이트 방법.
The method according to claim 1,
Wherein the binary files include an update file of a boot loader block, a data block update file, and a main code block update file.
펌웨어 자동 업데이트를 수행하는 업데이터(updater)를 포함하는 컴퓨터 판독 가능한 기록 매체에 있어서,
상기 업데이터는 적어도 하나 이상의 바이너리 파일들 및 상기 바이너리 파일들의 파일 경로, 파일 크기 및 파일명을 포함하는 메타 정보(Meta Information)를 포함하는 것을 특징으로 하는, 컴퓨터 판독 가능한 기록 매체.
A computer-readable recording medium comprising an updater for performing firmware automatic updating,
Wherein the updater includes at least one or more binary files and meta information including a file path, a file size, and a file name of the binary files.
청구항 11에 있어서,
상기 업데이터는 컴퓨터 프로세서에 의해 실행가능한 업데이트 실행파일을 포함하는, 컴퓨터 판독 가능한 기록 매체.
The method of claim 11,
Wherein the updater comprises an update executable file executable by a computer processor.
청구항 12에 있어서,
상기 업데이터는 상기 업데이트 실행파일 영역과 상기 바이너리 파일들이 저장된 영역을 구분하기 위한 식별 코드(Identification code)를 더 포함하는, 컴퓨터 판독 가능한 기록 매체.
The method of claim 12,
Wherein the updater further comprises an identification code for distinguishing between the update executable file area and the area where the binary files are stored.
청구항 13에 있어서,
상기 업데이터는 상기 업데이터와 MCU(Main Controller Unit)간 통신을 위한 HID(Human Interface Device) 드라이버 삭제에 필요한 HID드라이버 삭제 실행 파일을 더 포함하는, 컴퓨터 판독 가능한 기록 매체.
14. The method of claim 13,
Wherein the updater further comprises an HID driver deletion executable file necessary for deleting a HID (Human Interface Device) driver for communication between the updater and an MCU (Main Controller Unit).
청구항 14에 있어서,
상기 HID드라이버 삭제 실행 파일은 윈도우버전에 따라 상이한 것을 특징으로 하는, 컴퓨터 판독 가능한 기록 매체.
15. The method of claim 14,
Wherein the HID driver deletion executable file differs depending on the version of Windows.
청구항 15에 있어서,
상기 식별 코드는 상기 업데이트 실행 파일의 상태를 검증하기 위해 사용되는, 컴퓨터 판독 가능한 기록 매체.
16. The method of claim 15,
Wherein the identification code is used to verify the status of the update executable file.
청구항 11에 있어서,
상기 메타 정보는 상기 바이너리 파일들의 파일 생성일시, 파일 CRC(cyclical redundancy check), 파일 버전, 상기 펌웨어 메모리의 부트 로더(Boot Loader) 블럭의 업데이터 여부에 대한 정보, 상기 펌웨어 업데이트 후 HID 드라이버 삭제 여부에 대한 정보 및 상기 펌웨어 업데이트 후 시스템 재시작 여부에 관한 정보를 더 포함하는 것을 특징으로 하는, 컴퓨터 판독 가능한 기록 매체.
The method of claim 11,
The meta information may include at least one of a file creation date and time of the binary files, a file cyclic redundancy check (CRC), a file version, information on whether the boot loader block of the firmware memory is an updater, whether the HID driver is deleted after the firmware update And information on whether to restart the system after updating the firmware.
청구항 11에 있어서,
상기 바이너리 파일들은 부트 로더 블럭(Boot Loader Block)의 업데이트 파일, 데이터 블럭(Data Block) 업데이트 파일, 메인 코드 블럭(Main Code Block) 업데이트 파일을 포함하는 것을 특징으로 하는, 컴퓨터 판독 가능한 기록 매체.

The method of claim 11,
Wherein the binary files include an update file of a boot loader block, a data block update file, and a main code block update file.

KR1020160109132A 2016-08-26 2016-08-26 Firmware auto updating method and computer readable recording medium writing firmware auto updating method KR101968272B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160109132A KR101968272B1 (en) 2016-08-26 2016-08-26 Firmware auto updating method and computer readable recording medium writing firmware auto updating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160109132A KR101968272B1 (en) 2016-08-26 2016-08-26 Firmware auto updating method and computer readable recording medium writing firmware auto updating method

Publications (2)

Publication Number Publication Date
KR20180023575A true KR20180023575A (en) 2018-03-07
KR101968272B1 KR101968272B1 (en) 2019-08-13

Family

ID=61689036

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160109132A KR101968272B1 (en) 2016-08-26 2016-08-26 Firmware auto updating method and computer readable recording medium writing firmware auto updating method

Country Status (1)

Country Link
KR (1) KR101968272B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109284118A (en) * 2018-09-27 2019-01-29 郑州云海信息技术有限公司 A kind of firmware method for refreshing, system, electronic equipment and computer readable storage medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102397340B1 (en) * 2020-07-30 2022-05-12 경북대학교 산학협력단 Microcontroller Update Managemnet Method and Management System
KR102553371B1 (en) 2023-03-29 2023-07-07 주식회사 하임아이엔씨 Method and device for automating mcu firmware update customized according to use environment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930504A (en) * 1996-07-22 1999-07-27 Intel Corporation Dynamic nonvolatile memory update in a computer system
US7146609B2 (en) * 2002-05-17 2006-12-05 Sun Microsystems, Inc. Method, system and article of manufacture for a firmware image

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930504A (en) * 1996-07-22 1999-07-27 Intel Corporation Dynamic nonvolatile memory update in a computer system
US7146609B2 (en) * 2002-05-17 2006-12-05 Sun Microsystems, Inc. Method, system and article of manufacture for a firmware image

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109284118A (en) * 2018-09-27 2019-01-29 郑州云海信息技术有限公司 A kind of firmware method for refreshing, system, electronic equipment and computer readable storage medium
CN109284118B (en) * 2018-09-27 2021-08-31 郑州云海信息技术有限公司 Firmware refreshing method and system, electronic equipment and computer readable storage medium

Also Published As

Publication number Publication date
KR101968272B1 (en) 2019-08-13

Similar Documents

Publication Publication Date Title
US8751783B2 (en) Booting computing devices with EFI aware operating systems
JP5889933B2 (en) Method for preventing malfunction of computer, computer program, and computer
US20120311279A1 (en) Data recovery and backup system and process
US20140149644A1 (en) Electronic apparatus, method of updating firmware, and computer-readable recording medium
CN110162429B (en) System repair method, server and storage medium
CN111258666B (en) Method and device for reading computer file, computer system and storage medium
US9519786B1 (en) Firmware integrity ensurance and update
US9298371B1 (en) System and method of reducing write cycles and increasing longevity of non-volatile memory in baseboard management controller (BMC)
CN110515634B (en) Method, computer system and medium for updating firmware by remote tool program
US10025587B2 (en) Method of bootup and installation, and computer system thereof
US20100049961A1 (en) Update method for basic input/output system and update system thereof
US8375198B2 (en) Boot system and method having a BIOS that reads an operating system from first storage device via an input/output chip based on detecting a temperature of a second storage device
KR101968272B1 (en) Firmware auto updating method and computer readable recording medium writing firmware auto updating method
US20140156943A1 (en) Information processing apparatus, information processing method, and program
US9507665B2 (en) Computing device and method for accessing BIOS using middleware controller of the computing device
US20150212866A1 (en) Management system for service of multiple operating environments, and methods thereof
US11354109B1 (en) Firmware updates using updated firmware files in a dedicated firmware volume
KR101850272B1 (en) Method for updating boot image for fast booting and image forming apparatus for performing the same
KR101845467B1 (en) Method for restoring error of boot image for fast booting and image forming apparatus for performing the same
CN111176735B (en) Method for accelerating startup of electrocardiograph
TWI726403B (en) Method for enhancing speed of incremental backup, bridge device, and storage system
CN111045709B (en) Firmware upgrading method and firmware upgrading device
TWI448967B (en) Updating method of software and computer readable medium
Halsey Startup and Repair Troubleshooting
CN114265603A (en) System upgrading method and device based on asymmetric partition and electronic equipment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right