KR100601164B1 - Emulator using a flash rom and firmware upgrade method - Google Patents

Emulator using a flash rom and firmware upgrade method Download PDF

Info

Publication number
KR100601164B1
KR100601164B1 KR1019990001006A KR19990001006A KR100601164B1 KR 100601164 B1 KR100601164 B1 KR 100601164B1 KR 1019990001006 A KR1019990001006 A KR 1019990001006A KR 19990001006 A KR19990001006 A KR 19990001006A KR 100601164 B1 KR100601164 B1 KR 100601164B1
Authority
KR
South Korea
Prior art keywords
firmware
emulator
flash rom
debugger
static ram
Prior art date
Application number
KR1019990001006A
Other languages
Korean (ko)
Other versions
KR20000050874A (en
Inventor
김윤범
Original Assignee
삼성전자주식회사
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 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1019990001006A priority Critical patent/KR100601164B1/en
Publication of KR20000050874A publication Critical patent/KR20000050874A/en
Application granted granted Critical
Publication of KR100601164B1 publication Critical patent/KR100601164B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

본 발명은 에뮬레이터를 포함한 마이콤 개발 시스템 및 펌웨어 업그레이드 방법에 관한 것으로, 특히 배포된 에뮬레이터의 새로운 기능의 추가나 수정시 배포된 에뮬레이터에 대한 신속한 유지 보수 및 기능상의 신속한 업그레이드를 위해 EPROM 타입이 아닌 플래시 롬 타입을 이용한 에뮬레이터 펌웨어의 업그레이드 방법에 관한 것이다.The present invention relates to a microcomputer development system and firmware upgrade method including an emulator, and in particular, a flash ROM type, not an EPROM type, for rapid maintenance and quick upgrade of the emulator when a new function is added or modified. The present invention relates to an emulator firmware upgrade method.

본 발명의 플래시 롬 타입을 이용한 에뮬레이터를 포함한 마이콤 개발 시스템은 PC 디버거와 통신 선로와 메인 컨트롤러와 어드레스/데이터 버스와 플래시 롬과 스태틱 램으로 구성되고, 플래시 롬은 부트 펌웨어 영역과 로우드된 펌웨어 영역으로 되어 있으며, 스태틱 램은 로우딩 펌웨어 영역으로 되어 있다.The microcomputer development system including the emulator using the flash ROM type of the present invention comprises a PC debugger, a communication line, a main controller, an address / data bus, a flash ROM, and a static RAM, and the flash ROM includes a boot firmware area and a loaded firmware area. The static RAM is in the loading firmware area.

플래시롬, 에뮬레이터, 펌웨어, PC디버거, 통신선로, 스태틱램Flash ROM, Emulator, Firmware, PC Debugger, Communication Line, Static RAM

Description

플래시 롬을 이용한 에뮬레이터 및 펌웨어 업그레이드 방법{EMULATOR USING A FLASH ROM AND FIRMWARE UPGRADE METHOD}How to upgrade emulator and firmware using flash ROM {EMULATOR USING A FLASH ROM AND FIRMWARE UPGRADE METHOD}

도1은 본 발명에서 제안한 플래시 롬을 이용한 에뮬레이터를 포함한 마이콤 개발 시스템의 블록도이다.1 is a block diagram of a microcomputer development system including an emulator using a flash ROM proposed in the present invention.

도2는 본 발명에서 제안한 플래시 롬을 이용한 에뮬레이터 내의 메모리 영역도이다.2 is a memory area diagram of an emulator using a flash ROM proposed by the present invention.

도3은 본 발명에서 제안한 플래시 롬을 이용한 에뮬레이터 가동후 로우드된 펌웨어의 업그레이드 순서도이다.3 is an upgrade flowchart of the loaded firmware after the emulator is started using the flash ROM proposed in the present invention.

본 발명은 마이콤 개발 시스템에 관한 것으로, 특히 배포된 에뮬레이터(Emulator)에 대한 신속한 유지 보수 및 기능상의 신속한 업그레이드(Upgrade)를 위해 플래시 롬 타입을 이용한 에뮬레이터를 포함한 마이콤 개발 시스템 및 펌웨어(Firmware)의 업그레이드 방법에 관한 것이다.TECHNICAL FIELD The present invention relates to a microcomputer development system. In particular, the microcomputer development system and firmware upgrade including a emulator using a flash ROM type for rapid maintenance and quick upgrade of a function of a distributed emulator. It is about a method.

에뮬레이터는 컴퓨터의 기계어 프로그램을 그대로 다른 컴퓨터에서도 연산 처리를 할 수 있도록 하는 하드웨어적인 기능으로서, 모방 시스템이 피모방 시스템과 똑같이 동일 데이터를 받아들여 동일한 컴퓨터 프로그램을 실행하고, 동일한 결과를 얻도록 특정 시스템을 모방하는 장치나 컴퓨터 프로그램이다.An emulator is a hardware function that allows a computer's machine language program to be processed on another computer as it is. The emulator system accepts the same data and executes the same computer program and obtains the same result as the copied system. It is a device or computer program that mimics.

즉, 컴퓨터 시스템을 변경할 경우 프로그램의 호환성의 유무가 문제로 되는데, 이것은 오랫동안 축적되어 온 방대한 양의 프로그램을 다시 만드는 것은 그렇게 쉽지만은 않기 때문이다. 그래서 이전의 프로그램은 그대로 두고 일정한 방법으로 주행을 가능하게 한 방법이 바로 에뮬레이터이다.In other words, if you change the computer system, the compatibility of the program is a problem, because it is not so easy to recreate a large amount of programs that have been accumulated for a long time. So, the emulator is the way to make it possible to run in a certain way without leaving the previous program.

마이콤(Micom) 개발 시스템 툴(Tool)은 개발용 툴의 일종으로, 마이콤을 이용한 시스템 개발시 마이콤 에뮬레이션을 통해서 시스템 디버깅(Debugging)을 가능케 하는 개발 환경이다. 마이콤을 이용하여 펌웨어를 개발해야 하는 사용자에게는 개발 기간과 노력을 단축시킬 수 있는 툴이다. 따라서, 이런 툴을 개발하는 것은 마이콤 개발에 못지 않게 중요하다.Micom development system tool is a kind of development tool. It is a development environment that enables system debugging through micom emulation during system development using micom. It is a tool that can shorten development period and effort for users who need to develop firmware using micom. Therefore, developing these tools is no less important than developing microcomputers.

종래의 회로내 에뮬레이터에서는 새로운 기능의 추가나 수정시 에뮬레이터의 펌웨어 수정이 필요하고, 그때마다 배포된 에뮬레이터를 회수하여 ROM(Read Only Memory)을 교체하는 작업을 해야 한다. 이러한 작업은 상당한 시간과 경비가 소요되는데 배포된 에뮬레이터에 대한 신속한 유지 보수 측면에서는 매우 취약한 단점이 있다.In the conventional in-circuit emulator, the emulator's firmware needs to be modified when adding or modifying a new function, and each time, the distributed emulator has to be recovered to replace the ROM (Read Only Memory). This task can be quite time consuming and expensive, which is very vulnerable in terms of rapid maintenance of deployed emulators.

본 발명은 이러한 단점을 해결하기 위한 것으로서, 에뮬레이터의 새로운 기능의 추가나 수정시 배포된 에뮬레이터에 대한 신속한 유지 보수 및 기능상의 신속 한 업그레이드를 위해 EPROM(Erasable Programmable Read Only Memory) 타입이 아닌 플래시 롬 타입을 이용한 에뮬레이터를 포함한 마이콤 개발 시스템 및 펌웨어의 업그레이드 방법을 제공한다.The present invention has been made to solve the above disadvantages, and in order to quickly maintain and distribute functional emulators when adding or modifying a new function of the emulator, a flash ROM type other than EPROM (Erasable Programmable Read Only Memory) type is used. It provides the microcomputer development system and firmware upgrade method including emulator.

상기한 기술적 과제를 해결하기 위한 본 발명의 플래시 롬 타입을 이용한 에뮬레이터를 포함한 마이콤 개발 시스템은 PC(Personal Computer) 디버거와 통신 선로와 메인 컨트롤러(Main Controller)와 어드레스/데이터 버스와 플래시 롬과 스태틱 램(Static Random Access Memory)으로 구성된다. 또한, 플래시 롬은 부트(Boot) 펌웨어 영역과 로우드된(Loaded) 펌웨어 영역으로 되어 있고, 스태틱 램은 로우딩(Loading) 펌웨어 영역으로 되어 있다.In order to solve the above technical problem, a microcomputer development system including an emulator using a flash ROM type of the present invention includes a personal computer (PC) debugger, a communication line, a main controller, an address / data bus, a flash ROM, and a static RAM. (Static Random Access Memory). In addition, the flash ROM has a boot firmware area and a loaded firmware area, and the static RAM is a loading firmware area.

마이콤 개발 시스템 개발 툴은 하드웨어와 소프트웨어로 구분되는데, PC에서 동작하는 디버거는 소프트웨어 환경이고, 에뮬레이터는 하드웨어 환경이다.The microcomputer development system development tools are divided into hardware and software. The debugger running on a PC is a software environment and the emulator is a hardware environment.

PC 디버거는 대상 프로그램을 한 명령마다 분할해서 실행시키고, 그 때의 중앙 처리 장치의 내부 상황을 나타내며, 프로그램의 오류를 찾아내고 고치는 작업을 수행한다.The PC debugger divides and executes the target program for each instruction, indicates the internal situation of the central processing unit at that time, and detects and corrects errors in the program.

에뮬레이터는 PC 디버거로부터 펌웨어를 다운로드받아 저장하고, 프로그램을 수행하며, PC 디버거와의 통신을 통해 디버깅 작업을 함으로써 펌웨어를 업그레이드시킨다.The emulator downloads and stores the firmware from the PC debugger, runs the program, and upgrades the firmware by communicating with the PC debugger for debugging.

통신 선로는 PC 디버거와 에뮬레이터간의 데이터의 송수신을 매개한다. The communication line mediates the transmission and reception of data between the PC debugger and the emulator.

메인 컨트롤러는 에뮬레이터가 PC 디버거로부터 다운로드받은 펌웨어를 적절 한 순서로 수행하도록 에뮬레이터 전체를 제어한다. The main controller controls the entire emulator so that the emulator executes the firmware downloaded from the PC debugger in the proper order.

플래시 롬에는 실제 메인 컨트롤러용 프로그램이 저장되어 있고, 에뮬레이터가 파워 온(Power On)되면 플래시 롬의 프로그램이 수행되면서 에뮬레이터를 제어한다.The flash ROM stores the actual main controller program. When the emulator is powered on, the flash ROM program is executed to control the emulator.

한편, 실제로 프로그램하는 작업을 수행하는 코드(Code)는 플래시 롬이 아닌 스태틱 램에 복사하여 스태틱 램 상에서 플래시 롬을 프로그램한다.On the other hand, the code (Code) which actually executes the programming is copied to the static RAM, not the flash ROM to program the flash ROM on the static RAM.

어드레스/데이터 버스는 메인 컨트롤러와 플래시 롬 및 스태틱 램간의 어드레스와 데이터를 송수신한다. The address / data bus sends and receives addresses and data between the main controller and flash ROM and static RAM.

부트 펌웨어는 에뮬레이터 가동 직후 부팅되면서 에뮬레이터 환경을 초기화하고 로우드된 펌웨어를 업그레이드하거나 수행시키는 기능을 한다.The boot firmware is booted immediately after the emulator is started, which initializes the emulator environment and upgrades or executes the loaded firmware.

로우드된 펌웨어는 업그레이드되는 프로그램으로서, 부트 펌웨어에 불리어져서 실제 에뮬레이터를 제어하면서 디버거를 통해 에뮬레이터의 주기능을 수행한다.The loaded firmware is an upgraded program, called boot firmware, which performs the main functions of the emulator through a debugger while controlling the actual emulator.

로우딩 펌웨어는 업그레이드를 할 수 있도록 임시적으로 스태틱 램에 올려지는 프로그램으로서, 실제로 플래시 롬의 로우드된 펌웨어 영역에 새로운 로우드된 펌웨어를 프로그램하는 역할을 한다.The loading firmware is a program that is temporarily loaded into the static RAM for upgrade, and actually serves to program the new loaded firmware into the flashed firmware area of the flash ROM.

본 발명의 실시예를 첨부한 도1 및 도2를 참조하여 상세하게 설명하면 다음과 같다. When described in detail with reference to Figures 1 and 2 attached to the embodiment of the present invention.

도1은 본 발명에서 제안한 플래시 롬을 이용한 에뮬레이터를 포함한 마이콤 개발 시스템의 블록도이다.1 is a block diagram of a microcomputer development system including an emulator using a flash ROM proposed in the present invention.

도2는 본 발명에서 제안한 플래시 롬을 이용한 에뮬레이터 내의 메모리 영역 도이다.2 is a memory area diagram of an emulator using a flash ROM proposed by the present invention.

도 1에서와 같이, 본 발명의 플래시 롬을 이용한 에뮬레이터를 포함한 마이콤 개발 시스템은 PC 디버거(100)와 통신 선로(200)와 에뮬레이터(300)로 되어 있고, 에뮬레이터(300)는 메인 컨트롤러(310)와 어드레스/데이터 버스(320)와 플래시 롬(330)과 스태틱 램(340)으로 구성된다.As shown in FIG. 1, the microcomputer development system including the emulator using the flash ROM of the present invention includes a PC debugger 100, a communication line 200, and an emulator 300, and the emulator 300 includes a main controller 310. And an address / data bus 320, a flash ROM 330, and a static RAM 340.

PC 디버거(100)는 통신 선로(200)를 통해 에뮬레이터(300)와 연결되고, 메인 컨트롤러(310)는 어드레스/데이터 버스(320)를 통해 플래시 롬(330) 및 스태틱 램(340)과 연결된다. The PC debugger 100 is connected to the emulator 300 through the communication line 200, and the main controller 310 is connected to the flash ROM 330 and the static RAM 340 through the address / data bus 320. .

또한, 도 2에서와 같이, 플래시 롬(330)은 부트 펌웨어 영역(331)과 로우드된 펌웨어 영역(332)으로 되어 있고, 스태틱 램(340)은 로우딩 펌웨어 영역(341)으로 되어 있다.In addition, as shown in FIG. 2, the flash ROM 330 includes a boot firmware region 331 and a loaded firmware region 332, and the static RAM 340 is a loading firmware region 341.

메모리의 로우(Low) 어드레스에 부트 펌웨어 영역(331)이 할당되어 있고, 하이(High) 어드레스에 로우딩 펌웨어 영역(341)이 할당되어 있으며, 부트 펌웨어 영역(331)과 로우딩 펌웨어 영역(341) 사이에 로우드된 펌웨어 영역(332)이 할당된다.The boot firmware region 331 is assigned to a low address of a memory, the loading firmware region 341 is assigned to a high address, the boot firmware region 331 and the loading firmware region 341. The allocated firmware area 332 is allocated between the < RTI ID = 0.0 >

메인 컨트롤러(310)는 플래시 롬(330)의 코드 즉 펌웨어를 수행하면서 읽고 쓸 수 있는 데이터 영역으로 스태틱 램(340)을 이용하고 있다. 이 메인 컨트롤러(310)는 코드와 데이터 어드레스 영역이 하나의 영역이다. The main controller 310 uses the static RAM 340 as a data area in which the code of the flash ROM 330 can be read and written while executing firmware. The main controller 310 has one code and data address area.

여기서 플래시 롬(330)은 프로그램 사이클 동안은 읽기 사이클이 와서는 안된다. 이 때문에 플래시 롬(330)을 프로그램하도록 수행되는 코드 영역과 프로그램 할 영역이 동일한 플래시 롬(330) 상에 위치할 경우, 즉 플래시 롬(330) 내의 펌웨어가 실행되면서 동일 플래시 롬(330) 상에 프로그램을 하는 경우, 프로그램 사이클 중간에 플래시 롬(330)의 코드 패치 사이클(Code Fetch Cycle)이 오기 때문에 정상적인 프로그램이 이루어지지 않는다. Here, the flash ROM 330 should not have a read cycle during the program cycle. For this reason, when the code area and the area to be programmed to program the flash ROM 330 are located on the same flash ROM 330, that is, the firmware in the flash ROM 330 is executed on the same flash ROM 330. When programming, since the code fetch cycle of the flash ROM 330 comes in the middle of the program cycle, normal programming is not performed.

따라서, 실제로 프로그램한 작업을 수행하는 코드는 플래시 롬(330)이 아닌 스태틱 램(340)에 복사하여 스태틱 램(340) 상에서 플래시 롬(330)을 프로그램하는 방법을 선택한다.Therefore, the code that actually executes the programmed operation is copied to the static RAM 340 instead of the flash ROM 330 to select a method of programming the flash ROM 330 on the static RAM 340.

이를 위하여 제 2도에서와 같이 메모리 영역을 각 기능별로 펌웨어를 분리시킨다. 즉 플래시 롬(330) 상의 펌웨어는 두 가지로 분류된다. 하나는 에뮬레이터(300)가동 직후 부팅되면서 수행되는 부트 펌웨어(331)이고, 그리고 나머지 하나는 부트 펌웨어(331)에 의해 불리어져서 수행되는 로우드된 펌웨어(332)이다. To do this, as shown in FIG. 2, the memory area is separated for each function. That is, the firmware on the flash ROM 330 is classified into two types. One is boot firmware 331, which is performed by booting immediately after emulator 300 is started, and the other is loaded firmware 332, which is called and performed by boot firmware 331.

부트 펌웨어(331)는 에뮬레이터 환경을 초기화하고 로우드된 펌웨어(332)를 업그레이드하거나 수행시키는 기능을 한다. The boot firmware 331 functions to initialize the emulator environment and to upgrade or perform the loaded firmware 332.

로우드된 펌웨어(332)는 부트 펌웨어(331)에 의해 불리어져서 실제 에뮬레이터를 제어하면서 PC 디버거(100)를 통해서 디버깅 기능을 수행한다. The loaded firmware 332 is called by the boot firmware 331 to perform debugging functions through the PC debugger 100 while controlling the actual emulator.

스태틱 램(340) 상에 다운로드되는 로우딩 펌웨어(341)는 실제로 플래시 롬(330)의 로우드된 펌웨어(332) 영역에 새로운 로우드된 펌웨어(332)를 프로그램하는 역할을 한다.The loading firmware 341 downloaded on the static RAM 340 actually serves to program the new loaded firmware 332 in the area of the locked firmware 332 of the flash ROM 330.

이상과 같이 구성된 본 발명의 동작을 도 1 내지 도 3을 참조하여 설명하면 다음과 같다.Referring to Figures 1 to 3 the operation of the present invention configured as described above are as follows.

도3은 본 발명에서 제안한 플래시 롬을 이용한 에뮬레이터 가동후 로우드된 펌웨어의 업그레이드 순서도이다.3 is an upgrade flowchart of the loaded firmware after the emulator is started using the flash ROM proposed in the present invention.

에뮬레이터 가동후 로우드된 펌웨어의 업그레이드 순서는 다음과 같다.The upgrade sequence of the loaded firmware after the emulator is started is as follows.

에뮬레이터(300)가 가동되면(S100) 플래시 롬(330)의 부트 펌웨어(331)가 수행되고(S200) PC 디버거(100)와 통신 준비를 완료한다.(S300) When the emulator 300 is activated (S100), the boot firmware 331 of the flash ROM 330 is performed (S200) and the communication with the PC debugger 100 is completed. (S300)

다음, 에뮬레이터(300)가 펌웨어를 업그레이드할 것인지를 판별하여,(S400) 로우드된 펌웨어(332)를 업그레이드하기 위함이라면, 플래시 롬(330)을 프로그램할 수 있는 로우딩 펌웨어(341)를 스태틱 램(340) 영역에 다운로드(Down Load)한다.(S500) Next, if the emulator 300 determines whether to upgrade the firmware (S400), and the upgraded firmware 332 is to be upgraded, the loading firmware 341 that can program the flash ROM 330 is static. Down load to the RAM 340 area (S500).

스태틱 램(340) 영역에 다운로드가 끝나면 부트 펌웨어(331)는 로우딩 펌웨어(341)를 수행한다.(S600) After downloading to the static RAM 340 area, the boot firmware 331 performs the loading firmware 341 (S600).

로우딩 펌웨어(341)가 수행되면서 에뮬레이터(300)는 PC 디버거(100)와 통신을 한다.(S700) As the loading firmware 341 is performed, the emulator 300 communicates with the PC debugger 100 (S700).

PC 디버거(100)로부터 로우드된 펌웨어(332)는 플래시 롬(330)에 다운로드 되어(S800) 로우드된 펌웨어(332) 영역에 프로그램을 한다.(S900) The firmware 332 loaded from the PC debugger 100 is downloaded to the flash ROM 330 (S800) and programmed in the area of the loaded firmware 332. (S900)

로우드된 펌웨어(332) 영역의 프로그램이 종료되면 로우딩 펌웨어(341)는 로우드된 펌웨어(332)를 수행한다.(S910)When the program in the area of the loaded firmware 332 is terminated, the loading firmware 341 performs the loaded firmware 332 (S910).

로우드된 펌웨어(332)는 PC 디버거(100)와의 통신을 통해 디버깅 기능을 수행한다.(S920)The loaded firmware 332 performs a debugging function through communication with the PC debugger 100 (S920).

만일, 에뮬레이터 가동후 펌웨어 업그레이드 없이 바로 디버깅을 수행하기 위한 순서는 다음과 같다.If the debugger runs immediately after the emulator starts without firmware upgrade, the following is the procedure.

에뮬레이터(300)가 가동되면(S100) 플래시 롬(330)의 부트 펌웨어(331)가 수행되고(S200) PC 디버거(100)와 통신 준비를 완료한다.(S300) When the emulator 300 is activated (S100), the boot firmware 331 of the flash ROM 330 is performed (S200) and the communication with the PC debugger 100 is completed. (S300)

다음, 에뮬레이터(300)가 펌웨어를 업그레이드할 것인지를 판별하여,(S400) 로우드된 펌웨어(332)를 업그레이드하지 않고 로우드된 펌웨어(332)를 바로 수행한다.(S910)Next, the emulator 300 determines whether to upgrade the firmware (S400), and immediately performs the loaded firmware 332 without upgrading the loaded firmware 332. (S910)

로우드된 펌웨어(332)는 PC 디버거(100)와 통신을 통해 디버깅 기능을 수행한다.(S920)The loaded firmware 332 performs a debugging function through communication with the PC debugger 100. (S920)

본 발명은 에뮬레이터의 새로운 기능의 추가나 수정시 배포된 에뮬레이터에 대한 신속한 유지 보수 및 기능상의 신속한 업그레이드를 위해 EPROM 타입이 아닌 플래시 롬 타입을 이용한 에뮬레이터를 포함한 마이콤 개발 시스템 및 펌웨어의 업그레이드 방법으로, 플래시 롬 타입은 소프트웨어적으로 읽고 쓰기가 가능하기 때문에 바로 플래시 롬에 새로운 펌웨어 데이터를 직접 프로그램할 수 있다. 따라서 업그레이드된 새로운 데이터를 유저(User)가 직접 선택하기만 하면 플래시 롬 상의 펌웨어가 업그레이드된다.The present invention is a method for upgrading a microcom development system and firmware including an emulator using an emulator using a flash ROM type rather than an EPROM type for rapid maintenance and quick upgrade of an emulator distributed when adding or modifying a new function of the emulator. The type can be read and written in software, allowing new firmware data to be programmed directly into the flash ROM. Therefore, the user simply selects the upgraded new data and the firmware on the flash ROM is upgraded.

Claims (5)

PC 디버거와 통신선로를 통해 연결되는 에뮬레이터에 있어서,In the emulator connected to the PC debugger via a communication line, 메인 콘트롤러;Main controller; 디버깅을 위한 제1 펌웨어가 저장되는 제1 영역을 포함하는 플래시 롬; 및A flash ROM including a first area in which first firmware for debugging is stored; And 상기 메인 콘트롤러에서 수행되는 경우 상기 PC 디버거로부터 입력되는 상기 제1 펌웨어를 상기 제1 영역에 저장하는 제2 펌웨어가 저장되는 제2 영역을 포함하는 스태틱 램을 포함하고,A static RAM including a second area in which a second firmware for storing the first firmware, which is input from the PC debugger, is stored in the first area when the main controller is executed. 상기 플래시 롬은 상기 메인 콘트롤러에서 수행되는 경우 상기 PC 디버거로부터 입력되는 상기 제2 펌웨어를 상기 제2 영역에 저장하는 제3 펌웨어가 저장되는 제3 영역을 더 포함하는 에뮬레이터.The flash ROM further includes a third region in which the third firmware storing the second firmware, which is input from the PC debugger, is stored in the second region when executed in the main controller. 삭제delete 삭제delete 삭제delete PC 디버거로부터 입력되는 디버깅을 위한 제1 펌웨어를 플래시 롬에 저장하는 펌웨어 업그레이드 방법에 있어서,A firmware upgrade method for storing first firmware for debugging input from a PC debugger in a flash ROM, 상기 플래시 롬에 저장되어 있는 부트 펌웨어를 실행하여 상기 PC 디버거로부터 입력되는 제2 펌웨어를 스태틱 램에 저장하는 단계;Executing a boot firmware stored in the flash ROM to store second firmware input from the PC debugger in the static RAM; 상기 스태틱 램에 저장되어 있는 제2 펌웨어를 실행하여 상기 PC 디버거로부터 입력되는 상기 제1 펌웨어를 상기 플래시 롬에 저장하는 단계; 및Executing the second firmware stored in the static RAM to store the first firmware input from the PC debugger in the flash ROM; And 상기 제1 펌웨어를 실행하는 단계를 포함하는 펌웨어 업그레이드 방법.A firmware upgrade method comprising the step of executing the first firmware.
KR1019990001006A 1999-01-15 1999-01-15 Emulator using a flash rom and firmware upgrade method KR100601164B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990001006A KR100601164B1 (en) 1999-01-15 1999-01-15 Emulator using a flash rom and firmware upgrade method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990001006A KR100601164B1 (en) 1999-01-15 1999-01-15 Emulator using a flash rom and firmware upgrade method

Publications (2)

Publication Number Publication Date
KR20000050874A KR20000050874A (en) 2000-08-05
KR100601164B1 true KR100601164B1 (en) 2006-07-13

Family

ID=19571405

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990001006A KR100601164B1 (en) 1999-01-15 1999-01-15 Emulator using a flash rom and firmware upgrade method

Country Status (1)

Country Link
KR (1) KR100601164B1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI233040B (en) * 2000-11-10 2005-05-21 Sanyo Electric Co Microcomputer and controlling method thereof
KR100410557B1 (en) * 2001-11-19 2003-12-18 주식회사 하이닉스반도체 Microcontroller with program patching capability and method for operating the same
KR100459729B1 (en) * 2002-11-20 2004-12-03 삼성전자주식회사 Method for download firmware
KR100922102B1 (en) * 2002-12-17 2009-10-16 엘지전자 주식회사 Method for upgrade and backup in mobile terminal
KR101054180B1 (en) * 2005-06-15 2011-08-03 현대아이티주식회사 Program upgrade device and method of MICOM for controlling electronic products
US7870379B2 (en) 2006-10-10 2011-01-11 Exaflop Llc Updating a power supply microcontroller
US9032250B1 (en) 2012-11-05 2015-05-12 Google Inc. Online testing of secondary power unit

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0644064A (en) * 1992-07-22 1994-02-18 Nec Corp Firmware reloading system
KR940004430A (en) * 1992-08-06 1994-03-15 강진구 Debugging device and method
JPH0727472A (en) * 1993-07-13 1995-01-27 Matsushita Refrig Co Ltd Refrigerator
KR19980031844A (en) * 1996-10-31 1998-07-25 김영환 Real time control system for emulation
JPH10214201A (en) * 1997-01-29 1998-08-11 Mitsubishi Electric Corp Microcomputer
KR19980044285A (en) * 1996-12-06 1998-09-05 양승택 Boot Emulation Method for High-Speed Parallel Computers

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0644064A (en) * 1992-07-22 1994-02-18 Nec Corp Firmware reloading system
KR940004430A (en) * 1992-08-06 1994-03-15 강진구 Debugging device and method
JPH0727472A (en) * 1993-07-13 1995-01-27 Matsushita Refrig Co Ltd Refrigerator
KR19980031844A (en) * 1996-10-31 1998-07-25 김영환 Real time control system for emulation
KR19980044285A (en) * 1996-12-06 1998-09-05 양승택 Boot Emulation Method for High-Speed Parallel Computers
JPH10214201A (en) * 1997-01-29 1998-08-11 Mitsubishi Electric Corp Microcomputer

Also Published As

Publication number Publication date
KR20000050874A (en) 2000-08-05

Similar Documents

Publication Publication Date Title
US5864698A (en) Disk based bios
JP4006337B2 (en) How to fix executable execution using shared libraries
KR100506203B1 (en) Booting and boot code update method and system thereof
US5812848A (en) Subclassing system for computer that operates with portable-executable (PE) modules
US8601581B2 (en) Malware automated removal system and method
US5966540A (en) Hosted machine code installation
US5561800A (en) Method and apparatus for incrementally linking modified routines into software
US20080184072A1 (en) Firmware ROM Patch Method
KR100311582B1 (en) Soft read-only stroage(ros)
US7032108B2 (en) System and method for virtualizing basic input/output system (BIOS) including BIOS run time services
US20190129733A1 (en) Android dynamic framework and a method thereof
US7533101B2 (en) Extensible loader
KR20070039841A (en) Digital tv and upgrade method of bootloader for the same
US20070101115A1 (en) Information processing device, bios processing method and program
JPH04233057A (en) Option board prom
KR100601164B1 (en) Emulator using a flash rom and firmware upgrade method
KR100303307B1 (en) Downloading device and method for debugging operation in real time operating system
WO2008005536A2 (en) Malware automated removal system and method
KR100617796B1 (en) Mobile terminal equipment capable of upgrading a wireless firmware and method thereof
GB2373888A (en) Dynamic vector address allocation for a code patching scheme
JP3308920B2 (en) Information processing device
KR100876748B1 (en) Method for updating boot code
JP2002318703A (en) Control system
CN113672238B (en) Operation method, device and equipment based on real-time operating system modularized management
KR100506316B1 (en) Interrupt handling of micro firmware loader on IC bus

Legal Events

Date Code Title Description
A201 Request for examination
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: 20090615

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee