KR100505700B1 - Retargetable emulation apparatus providing for target system verifying using micro-control unit, micro-computer development system having it, and method thereof - Google Patents

Retargetable emulation apparatus providing for target system verifying using micro-control unit, micro-computer development system having it, and method thereof Download PDF

Info

Publication number
KR100505700B1
KR100505700B1 KR10-2003-0055888A KR20030055888A KR100505700B1 KR 100505700 B1 KR100505700 B1 KR 100505700B1 KR 20030055888 A KR20030055888 A KR 20030055888A KR 100505700 B1 KR100505700 B1 KR 100505700B1
Authority
KR
South Korea
Prior art keywords
program
signal
update
response
target verification
Prior art date
Application number
KR10-2003-0055888A
Other languages
Korean (ko)
Other versions
KR20050018394A (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 KR10-2003-0055888A priority Critical patent/KR100505700B1/en
Publication of KR20050018394A publication Critical patent/KR20050018394A/en
Application granted granted Critical
Publication of KR100505700B1 publication Critical patent/KR100505700B1/en

Links

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
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

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

Abstract

엠시유를 이용하여 다양한 목표 시스템을 검증하는 재탑재 에뮬레이션 장치, 이를 구비한 마이크로 컴퓨터 개발 시스템, 및 그 방법이 개시된다. 상기 마이크로 컴퓨터 개발 시스템은, 별도의 하드웨어나 소프트웨어 없이도 목표 시스템의 구동에 필요한 펌웨어를 다운로드 할 수 있고, 그 펌웨어의 운용을 위한 개선된 프로토콜에 의하여 신규 마이크로 컴퓨터 칩이나 신규 주변 장치를 가지는 목표 시스템에 필요한 새로운 버전의 구동 프로그램을 실시간 업데이트 시킬 수 있다. 따라서, 다양하게 개발되는 목표 시스템의 구동과 디버깅을 실시간으로 용이하게 수행하여 신뢰성있는 검증이 가능하므로, 종래에 비하여 신규 목표 시스템 검증에 소요되는 시간적, 자본적 노력을 최소화할 수 있는 효과가 있다. 또한, 마이크로 컴퓨터 개발 업체가 이와 같은 마이크로 컴퓨터 개발 시스템을 공급하면, 고객 확보에 유리한 효과가 있다. A reload emulation apparatus for verifying various target systems using MSI, a microcomputer development system having the same, and a method thereof are disclosed. The microcomputer development system can download firmware required for the operation of the target system without any hardware or software, and the target system has a new microcomputer chip or a new peripheral device by an improved protocol for operating the firmware. You can update the new version of the operating program as needed. Therefore, since reliable verification is possible by easily performing driving and debugging of various developed target systems in real time, there is an effect of minimizing time and capital effort required for verifying a new target system as compared to the conventional art. In addition, if a microcomputer developer provides such a microcomputer development system, there is a favorable effect on customer acquisition.

Description

엠시유를 이용하여 다양한 목표 시스템을 검증하는 재탑재 에뮬레이션 장치, 이를 구비한 마이크로 컴퓨터 개발 시스템, 및 그 방법{Retargetable emulation apparatus providing for target system verifying using micro-control unit, micro-computer development system having it, and method thereof}Retargetable emulation apparatus providing for target system verifying using micro-control unit, micro-computer development system having it, and method approximately}

본 발명은 에뮬에이션 장치에 관한 것으로, 특히 MCU(micro-control unit)나 ARM 코아 등과 같은 마이크로 컴퓨터의 기능을 검증하는 에뮬에이션 장치, 이를 구비한 마이크로 컴퓨터 개발 시스템(micro-computer development system;MDS), 및 그 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an emulation device, and more particularly to an emulation device for verifying the function of a microcomputer, such as a micro-control unit (MCU) or an ARM core, and a micro-computer development system (MDS) having the same. , And methods thereof.

MCU나 ARM 코아 등과 같은 마이크로 컴퓨터를 구비하여 어떤 목적하는 기능을 수행하는 목표 시스템(target system) 개발 시에는, 제품 출시 전에 목표 시스템의 기능을 검증하고 목표 시스템을 구동하는 펌웨어(firmware)에 대한 디버깅(debugging)을 할 수 소정 에뮬에이션 장치가 필수적이다. 이러한 에뮬에이션 장치는 보통 호스트 컴퓨터로부터 목표 시스템의 구동에 필요한 펌웨어(구동 프로그램)를 다운로드받아 목표 시스템을 구동시키고, 특정 기능에 대한 구동 결과를 목표 시스템으로부터 수신하여 유저(user)가 알 수 있는 형태로 표시해준다. When developing a target system with a microcomputer such as MCU or ARM core to perform a certain function, debugging the firmware to verify the function of the target system and launch the target system before the product is released. Certain emulation devices that are capable of debugging are essential. The emulation device usually downloads the firmware (drive program) necessary for driving the target system from the host computer and runs the target system, and receives a driving result for a specific function from the target system so that the user can know. Mark as.

마이크로 컴퓨터 개발 시스템은 마이크로 컴퓨터에 어떤 기능을 시키기 위해, 미리 그 처리 내용을 명확하게 한 구동 프로그램을 목표 시스템에 구비되는 ROM(read only memory) 또는 PROM(programmable read only memory) 등에 기억시키고, 그 구동 프로그램에 따라 적절히 수행하는지 검증한다. 마이크로 컴퓨터를 구비하는 목표 시스템을 제작 판매하는 메이커는, 그 기능 프로그램 개발에 있어서 개발 기간의 단축, 코스트 절감, 및 노력의 절감을 위해, 각종 서포트 시스템과 서포트 소프트웨어를 제작하여 공급한다. 이때, 에뮬레이터(EMULATOR) 또는 에뮬레이션 장치는, 대상으로 하는 목표 시스템과 호스트 컴퓨터 사이에서 목표 시스템의 기능이 목적하는 바대로 수행되도록 중계한다. 예를 들어, 에뮬레이션 장치는 호스트 컴퓨터 상에서 마이크로 프로그램으로 구현되어 전송되는 기계어 명령을 받아, 목표 시스템이 그 기계어 명령대로 수행하도록 중계하여 목표 시스템의 기능을 검증한다. 이와 같이, 에뮬레이션 장치를 구비하는 마이크로 컴퓨터 개발 시스템은 마이크로 컴퓨터가 탑재된 목표 시스템을 개발하는데 필수적이다. 따라서, 마이크로 컴퓨터 제조 회사들이 사내에 마이크로 컴퓨터 개발 시스템(IN-HOUSE MDS)을 구축하고 있거나, 신규 마이크로 컴퓨터가 개발되어 출시될 때마다 외부 다른 업체(THIRD-PARTY)들이 그 신규 마이크로 컴퓨터의 구동을 지원할 수 있는 마이크로 컴퓨터 개발 시스템을 제작하여 유저들에게 제공한다. The microcomputer development system stores, in order to perform a function on the microcomputer, a driving program having a clear processing content in advance in a read only memory (ROM) or a programmable read only memory (PROM) provided in the target system, and the drive. Verify that the program performs properly. The maker who manufactures and sells the target system provided with a microcomputer manufactures and supplies various support systems and support software in order to shorten the development period, reduce cost, and reduce effort in developing the functional program. At this time, the emulator or the emulation apparatus relays the functions of the target system as desired between the target system and the host computer. For example, the emulation apparatus receives machine language instructions that are implemented as micro programs on a host computer and transmitted, and relays the target system to perform the machine instructions to verify the function of the target system. As such, a microcomputer development system having an emulation apparatus is essential for developing a target system on which a microcomputer is mounted. Therefore, microcomputer manufacturing companies are building an in-house microcomputer development system (IN-HOUSE MDS), or every time a new microcomputer is developed and released, THIRD-PARTY will not be able to run the new microcomputer. Create a microcomputer development system that can support and provide it to users.

이와 같이, 요즘 개발되는 마이크로 컴퓨터 칩은 그 용도 및 기능에 따라서 디버깅 방식이 여러 가지이고, 이에 따라 신규 마이크로 컴퓨터가 개발되어 출시될 때마다 그러한 마이크로 컴퓨터 칩의 특성을 디버깅할 수 있는 기능이 마이크로 컴퓨터 개발 시스템에 추가되고 있다. 따라서, 에뮬에이션 장치를 구비하는 마이크로 컴퓨터 개발 시스템에 의하여 마이크로 컴퓨터 칩을 구비하는 목표 시스템의 기능 검증 시에, 마이크로 컴퓨터 개발 시스템의 동작 중 구동 프로그램의 버전(version) 불일치로 발생하는 버그(bug) 등에 대처하는 시간이 단축되어야 한다. 즉, 다양하게 개발되고 있는 MCU 코아와 같은 마이크로 컴퓨터, 또는 같은 코아라고 하더라도 서로 상이한 각종 주변 장치에 대하여, 한가지 동일한 구동 프로그램으로 구동되지 않는다. 그러나, 일반적인 마이크로 컴퓨터 개발 시스템에서는 신규 마이크로 컴퓨터 칩이나 신규 주변 장치를 가지는 목표 시스템의 구동과 디버깅 시에, 새로운 버전의 구동 프로그램을 실시간으로 업데이트(update) 시키지 못하는 문제점이 있다. 예를 들어, ARM 코아가 탑재된 목표 시스템 개발용 마이크로 컴퓨터 개발 시스템 중의 하나인 블랙아이스(Black ICE)에서는, 신규 주변 장치는 계속 발생하고 있음에도 불구하고 그러한 신규 주변 장치에 구비되는 디바이스들의 특성에 관계된 디버깅은 할 수 없으며, 오직 코아 명령어 레벨 디버깅(Core Instruction Level Debugging)만 가능하다. As such, microcomputer chips developed in recent years have various debugging methods according to their purpose and function, and thus, each time a new microcomputer is developed and released, the microcomputer chip has a function for debugging the characteristics of such microcomputer chip. It is being added to the development system. Therefore, a bug caused by a version mismatch of a driving program during operation of the microcomputer development system at the time of verifying the function of the target system having the microcomputer chip by the microcomputer development system having the emulation apparatus. The time to cope with the back should be shortened. In other words, even a microcomputer such as MCU cores that are variously developed, or even the same cores, are not driven by the same driving program for various peripheral devices different from each other. However, in the general microcomputer development system, there is a problem in that a new version of the driving program cannot be updated in real time when the target system having a new microcomputer chip or a new peripheral device is driven and debugged. For example, in Black ICE, one of the microcomputer development systems for developing target systems equipped with ARM cores, although new peripherals continue to occur, they are concerned with the characteristics of the devices included in such new peripherals. Debugging is not possible, only Core Instruction Level Debugging.

또한, 최근에 출시되고 있는 종래의 재탑재 에뮬레이션 장치 방식의 마이크로 컴퓨터 개발 시스템은 구동 프로그램을 다운로드 하는데 필요한 회로나, 호스트 프로그램 등을 별도로 구비하여야 한다는 문제점이 있다.In addition, the microcomputer development system of the conventional reloading emulation apparatus type that is recently released has a problem in that a circuit or host program necessary for downloading a driving program must be separately provided.

따라서, 본 발명이 이루고자하는 기술적 과제는, 별도의 하드웨어나 소프트웨어 없이도 목표 시스템의 구동에 필요한 펌웨어를 다운로드 할 수 있고, 그 펌웨어의 운용을 위한 개선된 프로토콜에 의하여 신규 마이크로 컴퓨터 칩이나 신규 주변 장치를 가지는 목표 시스템에 필요한 새로운 버전의 구동 프로그램을 실시간 업데이트 시킴으로써, 다양한 목표 시스템의 구동과 디버깅을 실시간으로 용이하게 검증이 가능한 재탑재 에뮬레이션 장치, 이를 구비한 마이크로 컴퓨터 개발 시스템을 제공하는 데 있다.Therefore, the technical problem to be achieved by the present invention is to download the firmware required for the operation of the target system without any additional hardware or software, and to provide a new microcomputer chip or a new peripheral device by an improved protocol for operating the firmware. The present invention provides a reloading emulation apparatus and a microcomputer development system including the same, by real-time updating a new version of a driving program required for a target system in real time to easily verify driving and debugging of various target systems.

본 발명이 이루고자하는 기술적 과제는, 별도의 하드웨어나 소프트웨어 없이도 목표 시스템의 구동에 필요한 펌웨어를 다운로드 할 수 있고, 그 펌웨어의 운용을 위한 개선된 프로토콜에 의하여 신규 마이크로 컴퓨터 칩이나 신규 주변 장치를 가지는 목표 시스템에 필요한 새로운 버전의 구동 프로그램의 구동과 디버깅을 실시간으로 용이하게 검증이 가능한 마이크로 컴퓨터 검증 방법을 제공하는 데 있다.The technical problem to be achieved by the present invention is to have a new microcomputer chip or a new peripheral device by downloading the firmware required for driving the target system without any hardware or software, and by an improved protocol for operating the firmware. It is to provide a microcomputer verification method that can easily verify in real time the operation and debugging of a new version of the driving program required for the system.

상기의 기술적 과제를 달성하기 위한 본 발명에 따른 재탑재 에뮬레이션 장치는, 업데이트 제어 신호에 응답하여 에뮬레이션 펌웨어 규약에 의한 새로운 구동 프로그램을 업데이트시켜 저장하고, 리드 제어 신호에 응답하여 그에 대응되는 구동 프로그램을 페이지 단위로 출력하는 플래시 메모리; 업데이트 억세스 신호, 및 리드 억세스 신호 각각에 응답하여 직접 메모리 억세스 방식으로 상기 업데이트 제어 신호, 및 상기 리드 제어 신호를 출력하는 DMA; 외부에서 입력되는 타겟 검증 제어 정보를 수신하여 출력하고, 펌웨어 다운로드 제어 정보를 송신하여 이에 응답하여 외부에서 입력되는 상기 새로운 구동 프로그램을 수신하여 출력하며, 타겟 검증 결과 정보를 송신하는 UART/USB 인터페이스부; 및 상기 업데이트 억세스 신호 및 상기 리드 억세스 신호에 의하여 상기 플래시 메모리에 억세스하며, 부팅시 상기 플래시 메모리에서 페치하는 실행 코드에 따라 상기 플래시 메모리에 저장된 구동 프로그램을 소정 내부 프로그램 메모리에 복사하며, 상기 복사된 구동 프로그램이 타겟 구동 프로그램과 일치하지 않을 때 발생시키는 상기 펌웨어 다운로드 제어 정보에 응답하여 상기 새로운 구동프로그램이 입력되면 상기 업데이트 억세스 신호를 발생시키고, 상기 복사된 구동 프로그램을 이용하여 상기 타겟 검증 제어 정보에 응답하여 발생시키는 타겟 검증 신호와 상기 타겟 검증 신호에 응답하여 입력되는 상기 타겟 검증 결과 정보로 구성되는 JTAG 신호들을 발생시키는 MCU를 구비한다.The reloading emulation apparatus according to the present invention for achieving the above technical problem, updates and stores a new drive program according to the emulation firmware protocol in response to the update control signal, and stores a drive program corresponding thereto in response to the read control signal. A flash memory for outputting in units of pages; A DMA outputting the update control signal and the read control signal in a direct memory access manner in response to an update access signal and a read access signal, respectively; UART / USB interface unit for receiving and outputting the target verification control information input from the outside, transmitting the firmware download control information, receiving and outputting the new driving program input from the outside in response thereto, and transmitting the target verification result information. ; And access the flash memory by the update access signal and the read access signal, and copy a driving program stored in the flash memory to a predetermined internal program memory according to an executable code fetched from the flash memory at boot time. When the new drive program is input in response to the firmware download control information generated when the drive program does not match the target drive program, the update access signal is generated, and the copied drive program is used to generate the update verification signal. And a MCU for generating JTAG signals including a target verification signal generated in response and the target verification result information input in response to the target verification signal.

상기 소정 내부 프로그램 메모리는, 그 어드레스가 상기 플래시 메모리의 어드레스와 오버랩되지 않게 운용되는 것을 특징으로 한다. 상기 구동 프로그램은, 페이지 단위로 운용되고, 하나의 페이지 내에는 그 페이지가 가지는 메모리 사이즈 이내에서 그 구동 프로그램을 구성하는 다수의 함수들이 저장되는 것을 특징으로 한다. 상기 타겟 검증 신호는, 유저가 입력하는 다운로드 명령에 응답하여 발생하는 상기 타겟 검증 제어 정보에 따라, 상기 소정 내부 프로그램 메모리에 복사된 구동 프로그램을 소정 목표 시스템에 다운로드 시키는 신호를 포함하고, 이때 상기 다운로드 된 구동 프로그램에 의하여 상기 소정 목표 시스템을 구동하는 경우에, 상기 다운로드 된 구동 프로그램에 에러가 존재하여 상기 소정 목표 시스템에 구비되는 디바이스를 구동할 수 있는 구동 프로그램이 아니라면, 상기 플래시 메모리의 소정 언마스크 미러 영역에 저장되어 일반적으로 사용되는 표준 구동 프로그램이 가동됨으로써 어크놀로지 신호를 발생시키고 무한 루프를 방지하는 것을 특징으로 한다. 상기 플래시 메모리는, 업데이트 금지된 마스크 함수 영역, 상기 새로운 구동 프로그램이 업데이트 되는 언마스크 함수 영역, 일반적으로 사용되는 표준 구동 프로그램을 저장하는 언마스크 미러 함수 영역, 및 상기 언마스크 함수 영역의 업데이트 성공 여부를 저장하는 플래그 영역으로 운용되는 것을 특징으로 한다. 상기 언마스크 함수 영역의 업데이트는, 그 업데이트 시작 시에 상기 플래그 영역을 모두 제1 논리값으로 라이트하고, 업데이트가 성공적으로 이루어진 페이지에 대응하는 상기 플래그 영역의 해당 워드를 제2 논리값으로 라이트하면서 진행되는 것을 특징으로 한다. 상기 언마스크 함수 영역의 업데이트는, 그 업데이트 종료 시에 상기 업데이트 성공 여부를 알 수 있는 정보가 유저에게 전달되도록 진행되는 것을 특징으로 한다. 유저에게 전달된 상기 업데이트 성공 여부 정보는, 그 업데이트가 성공적으로 이루어지지 않은 페이지가 존재하면, 상기 언마스크 미러 함수 영역의 구동 프로그램이 유효하게 사용될 것이라는 정보를 포함하는 것을 특징으로 한다.The predetermined internal program memory may be operated so that its address does not overlap with the address of the flash memory. The driving program is operated in units of pages, and a plurality of functions constituting the driving program are stored within a memory size of the page in one page. The target verification signal includes a signal for downloading a drive program copied to the predetermined internal program memory to a predetermined target system according to the target verification control information generated in response to a download command input by a user, wherein the download In the case where the predetermined target system is driven by the driven driving program, if the error is present in the downloaded driving program, and the driving program is not a driving program capable of driving a device included in the predetermined target system, the predetermined unmask of the flash memory is performed. The standard driving program stored in the mirror area is used to generate an acknowledgment signal and to prevent an infinite loop. The flash memory may include an update prohibited mask function region, an unmask function region in which the new driving program is updated, an unmask mirror function region in which a standard driving program is generally used, and whether the unmask function region is updated successfully. It is characterized in that it is operated as a flag area for storing. The update of the unmask function region writes all of the flag regions to a first logical value at the start of the update, and writes the corresponding word of the flag region corresponding to the page on which the update was successfully performed to a second logical value. It is characterized by progress. The update of the unmask function region is characterized in that, when the update is completed, the information for determining whether the update is successful is transmitted to the user. The update success information transmitted to the user may include information that the driving program of the unmasked mirror function region is used effectively if there is a page on which the update is not successfully performed.

상기의 기술적 과제를 달성하기 위한 본 발명에 따른 마이크로 컴퓨터 개발 시스템은, 유저가 입력하는 타겟 검증 제어 정보를 출력하고, 펌웨어 다운로드 제어 정보에 응답하여 새로운 구동 프로그램을 출력하며, 타겟 검증 결과 정보를 수신하여 유저가 알 수 있게 표시하는 호스트 컴퓨터; 부팅시 페치한 실행 코드에 따라 소정 내부 프로그램 메모리에 복사한 구동 프로그램이 타겟 구동 프로그램과 일치하지 않을 때 발생시키는 상기 펌웨어 다운로드 제어 정보에 응답하여 입력되는 상기 새로운 구동프로그램을 업데이트시켜 저장하고, 상기 복사된 구동 프로그램을 이용하여 상기 타겟 검증 제어 정보에 응답하여 발생시키는 타겟 검증 신호와 상기 타겟 검증 신호에 응답하여 입력되는 상기 타겟 검증 결과 정보로 구성되는 JTAG 신호들을 발생시키는 에뮬레이션 장치; 및 상기 JTAG 신호들 중 상기 타겟 검증 신호에 응답하는 기능을 수행하여, 그 기능 수행의 결과인 상기 타겟 검증 결과 정보를 상기 에뮬레이션 장치로 출력하는 목표 시스템을 구비한다. 상기 에뮬레이션 장치는, 업데이트 제어 신호에 응답하여 에뮬레이션 펌웨어 규약에 의한 새로운 구동 프로그램을 업데이트시켜 저장하고, 리드 제어 신호에 응답하여 그에 대응되는 구동 프로그램을 페이지 단위로 출력하는 플래시 메모리; 업데이트 억세스 신호, 및 리드 억세스 신호 각각에 응답하여 직접 메모리 억세스 방식으로 상기 업데이트 제어 신호, 및 상기 리드 제어 신호를 출력하는 DMA; 상기 타겟 검증 제어 정보를 수신하여 출력하고, 상기 펌웨어 다운로드 제어 정보를 송신하여 이에 응답하여 외부에서 입력되는 상기 새로운 구동 프로그램을 수신하여 출력하며, 상기 타겟 검증 결과 정보를 송신하는 UART/USB 인터페이스부; 및 상기 업데이트 억세스 신호 및 상기 리드 억세스 신호에 의하여 상기 플래시 메모리에 억세스하며, 부팅시 상기 플래시 메모리에서 페치하는 상기 실행 코드에 따라 상기 플래시 메모리에 저장된 구동 프로그램을 소정 내부 프로그램 메모리에 복사하며, 상기 복사된 구동 프로그램이 상기 타겟 구동 프로그램과 일치하지 않을 때 발생시키는 상기 펌웨어 다운로드 제어 정보에 응답하여 상기 새로운 구동프로그램이 입력되면 상기 업데이트 억세스 신호를 발생시키고, 상기 타겟 검증 제어 정보에 응답하여 상기 JTAG 신호들을 발생시키는 MCU를 구비한다.The microcomputer development system according to the present invention for achieving the above technical problem, outputs the target verification control information input by the user, outputs a new drive program in response to the firmware download control information, and receives the target verification result information A host computer for displaying by the user so as to be known; Update and store the new drive program input in response to the firmware download control information generated when a drive program copied to a predetermined internal program memory according to the executable code fetched at boot does not match the target drive program, and copy the An emulation apparatus for generating JTAG signals comprising a target verification signal generated in response to the target verification control information and the target verification result information input in response to the target verification signal using a driven drive program; And a target system that performs a function responsive to the target verification signal among the JTAG signals, and outputs the target verification result information that is a result of performing the function to the emulation apparatus. The emulation apparatus may include: a flash memory configured to update and store a new driving program according to an emulation firmware protocol in response to an update control signal, and output a driving program corresponding to the read control signal in units of pages; A DMA outputting the update control signal and the read control signal in a direct memory access manner in response to an update access signal and a read access signal, respectively; A UART / USB interface unit for receiving and outputting the target verification control information, transmitting and receiving the firmware download control information, receiving and outputting the new driving program input externally, and transmitting the target verification result information; And access the flash memory by the update access signal and the read access signal, and copy a driving program stored in the flash memory to a predetermined internal program memory according to the execution code fetched from the flash memory at boot time. When the new drive program is input in response to the firmware download control information generated when the driven drive program does not match the target drive program, the update access signal is generated and the JTAG signals are generated in response to the target verification control information. It has a MCU to generate.

상기의 다른 기술적 과제를 달성하기 위한 본 발명에 따른 에뮬레이션 방법은, 업데이트 제어 신호에 응답하여 에뮬레이션 펌웨어 규약에 의한 새로운 구동 프로그램을 업데이트시켜 저장하고, 리드 제어 신호에 응답하여 그에 대응되는 구동 프로그램을 페이지 단위로 출력하는 플래시 메모리 억세스 단계; 업데이트 억세스 신호, 및 리드 억세스 신호 각각에 응답하여 직접 메모리 억세스 방식으로 상기 업데이트 제어 신호, 및 상기 리드 제어 신호를 출력하는 다이렉트 메모리 억세스 제어 단계; 외부에서 입력되는 타겟 검증 제어 정보를 수신하여 출력하고, 펌웨어 다운로드 제어 정보를 송신하여 이에 응답하여 외부에서 입력되는 상기 새로운 구동 프로그램을 수신하여 출력하며, 타겟 검증 결과 정보를 송신하는 UART/USB 인터페이싱 단계; 및 상기 업데이트 억세스 신호 및 상기 리드 억세스 신호에 의하여 상기 플래시 메모리 억세스 단계에 억세스하며, 부팅시 상기 플래시 메모리에서 페치하는 실행 코드에 따라 상기 플래시 메모리 억세스 단계에서 저장된 구동 프로그램을 소정 내부 프로그램 메모리에 복사하며, 상기 복사된 구동 프로그램이 타겟 구동 프로그램과 일치하지 않을 때 발생시키는 상기 펌웨어 다운로드 제어 정보에 응답하여 상기 새로운 구동프로그램이 입력되면 상기 업데이트 억세스 신호를 발생시키고, 상기 복사된 구동 프로그램을 이용하여 상기 타겟 검증 제어 정보에 응답하여 발생시키는 타겟 검증 신호와 상기 타겟 검증 신호에 응답하여 입력되는 상기 타겟 검증 결과 정보로 구성되는 JTAG 신호들을 발생시키는 마이크로 콘트롤 단계를 구비한다.According to another aspect of the present invention, there is provided an emulation method. The emulation method updates and stores a new driving program according to an emulation firmware protocol in response to an update control signal, and stores a corresponding driving program in response to a read control signal. Flash memory access step of outputting in units; A direct memory access control step of outputting the update control signal and the read control signal in a direct memory access manner in response to an update access signal and a read access signal, respectively; UART / USB interfacing step of receiving and outputting target verification control information inputted from the outside, transmitting and downloading firmware control information, receiving and outputting the new driving program inputted from outside, and transmitting target verification result information in response thereto. ; And accessing the flash memory access step by the update access signal and the read access signal, and copy the driving program stored in the flash memory access step to a predetermined internal program memory according to an execution code fetched from the flash memory at boot time. And generating the update access signal when the new drive program is input in response to the firmware download control information generated when the copied drive program does not match the target drive program, and using the copied drive program. And a micro control step of generating JTAG signals comprising a target verification signal generated in response to verification control information and the target verification result information input in response to the target verification signal.

상기의 다른 기술적 과제를 달성하기 위한 본 발명에 따른 다른 마이크로 컴퓨터 개발 시스템 구동 방법은, 유저가 입력하는 타겟 검증 제어 정보를 출력하고, 펌웨어 다운로드 제어 정보에 응답하여 새로운 구동 프로그램을 출력하며, 타겟 검증 결과 정보를 수신하여 유저가 알 수 있게 표시하는 호스트 제어 및 모니터링 단계; 부팅시 페치한 실행 코드에 따라 소정 내부 프로그램 메모리에 복사한 구동 프로그램이 타겟 구동 프로그램과 일치하지 않을 때 발생시키는 상기 펌웨어 다운로드 제어 정보에 응답하여 입력되는 상기 새로운 구동프로그램을 업데이트시켜 저장하고, 상기 복사된 구동 프로그램을 이용하여 상기 타겟 검증 제어 정보에 응답하여 발생시키는 타겟 검증 신호와 상기 타겟 검증 신호에 응답하여 입력되는 상기 타겟 검증 결과 정보로 구성되는 JTAG 신호들을 발생시키는 에뮬레이션 단계; 및 상기 JTAG 신호들 중 상기 타겟 검증 신호에 응답하는 기능을 수행하여, 그 기능 수행의 결과인 상기 타겟 검증 결과 정보를 상기 에뮬레이션 단계로 출력하는 목표 시스템 구동 단계를 구비한다. According to another aspect of the present invention, there is provided a method of driving a microcomputer development system according to the present invention, which outputs target verification control information input by a user, and outputs a new driving program in response to firmware download control information. A host control and monitoring step of receiving the result information so that the user can know it; Update and store the new drive program input in response to the firmware download control information generated when a drive program copied to a predetermined internal program memory according to the executable code fetched at boot does not match the target drive program, and copy the An emulation step of generating JTAG signals comprising a target verification signal generated in response to the target verification control information and the target verification result information input in response to the target verification signal by using the driven program; And a target system driving step of performing a function of responding to the target verification signal among the JTAG signals, and outputting the target verification result information that is a result of the function execution to the emulation step.

상기 에뮬레이션 단계는, 업데이트 제어 신호에 응답하여 에뮬레이션 펌웨어 규약에 의한 새로운 구동 프로그램을 업데이트시켜 저장하고, 리드 제어 신호에 응답하여 그에 대응되는 구동 프로그램을 페이지 단위로 출력하는 플래시 메모리 억세스 단계; 업데이트 억세스 신호, 및 리드 억세스 신호 각각에 응답하여 직접 메모리 억세스 방식으로 상기 업데이트 제어 신호, 및 상기 리드 제어 신호를 출력하는 다이렉트 억세스 제어 단계; 상기 타겟 검증 제어 정보를 수신하여 출력하고, 상기 펌웨어 다운로드 제어 정보를 송신하여 이에 응답하여 외부에서 입력되는 상기 새로운 구동 프로그램을 수신하여 출력하며, 상기 타겟 검증 결과 정보를 송신하는 UART/USB 인터페이싱 단계; 및 상기 업데이트 억세스 신호 및 상기 리드 억세스 신호에 의하여 상기 플래시 메모리 억세스 단계에 억세스하며, 부팅시 상기 플래시 메모리에서 페치하는 상기 실행 코드에 따라 상기 플래시 메모리 억세스 단계에서 저장된 구동 프로그램을 소정 내부 프로그램 메모리에 복사하며, 상기 복사된 구동 프로그램이 상기 타겟 구동 프로그램과 일치하지 않을 때 발생시키는 상기 펌웨어 다운로드 제어 정보에 응답하여 상기 새로운 구동프로그램이 입력되면 상기 업데이트 억세스 신호를 발생시키고, 상기 타겟 검증 제어 정보에 응답하여 상기 JTAG 신호들을 발생시키는 마이크로 콘트롤 단계를 구비한다.The emulation step may include: a flash memory access step of updating and storing a new driving program according to an emulation firmware protocol in response to an update control signal, and outputting a driving program corresponding to the read control signal in units of pages; A direct access control step of outputting the update control signal and the read control signal in a direct memory access manner in response to an update access signal and a read access signal, respectively; A UART / USB interfacing step of receiving and outputting the target verification control information, transmitting and receiving the firmware download control information, receiving and outputting the new driving program input externally, and transmitting the target verification result information; And accessing the flash memory access step by the update access signal and the read access signal, and copying the driving program stored in the flash memory access step to a predetermined internal program memory according to the execution code fetched from the flash memory at boot time. And when the new driving program is input in response to the firmware download control information generated when the copied driving program does not match the target driving program, the update access signal is generated, and in response to the target verification control information. And a micro control step of generating the JTAG signals.

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

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

도 1은 본 발명의 일실시예에 따른 재탑재 에뮬레이션 장치를 구비한 마이크로 컴퓨터 개발 시스템의 블록도이다. 도 1을 참조하면, 본 발명의 일실시예에 따른 재탑재 에뮬레이션 장치(200)를 구비한 마이크로 컴퓨터 개발 시스템은, 호스트 컴퓨터(100), 에뮬레이션 장치(200), 및 목표 시스템(target system)(300)을 구비한다.1 is a block diagram of a microcomputer development system having a reload emulation apparatus according to an embodiment of the present invention. Referring to FIG. 1, a microcomputer development system including a reload emulation apparatus 200 according to an embodiment of the present invention includes a host computer 100, an emulation apparatus 200, and a target system ( 300).

상기 호스트 컴퓨터(100)는 유저가 입력하는 타겟 검증 제어 정보를 출력하고, 펌웨어 다운로드 제어 정보에 응답하여 새로운 구동 프로그램을 출력하며, 타겟 검증 결과 정보를 수신하여 유저가 알 수 있게 표시한다. 유저는 호스트 컴퓨터(100)의 모니터 등을 통하여 표시되는 타겟 검증 결과 정보를 통하여, 목표 시스템(300)이 정상적인가를 모니터링하면서, 에러가 발생시 타겟 검증 제어 정보를 수정하여 입력한다.The host computer 100 outputs target verification control information input by the user, outputs a new driving program in response to the firmware download control information, and receives the target verification result information so that the user can know it. The user modifies and inputs the target verification control information when an error occurs while monitoring whether the target system 300 is normal through the target verification result information displayed through the monitor of the host computer 100 or the like.

상기 에뮬레이션 장치(200)는 부팅시 페치한 실행 코드에 따라 소정 내부 프로그램 메모리에 복사한 구동 프로그램이 타겟 구동 프로그램(목표 시스템을 구동하는 프로그램)과 일치하지 않을 때 발생시키는 펌웨어 다운로드 제어 정보에 응답하여 입력되는 상기 새로운 구동프로그램을 업데이트시켜 저장하고, 상기 타겟 검증 제어 정보에 응답하여 발생시키는 타겟 검증 신호와 상기 타겟 검증 신호에 응답하여 입력되는 상기 타겟 검증 결과 정보로 구성되는 JTAG(Joint Test Action Group) 신호들을 발생시킨다. 여기서, JTAG(Joint Test Action Group) 신호들은 목표 시스템(300)을 검증하기 위하여 일반적으로 에뮬레이터에서 발생되는 신호들로서, 시스템 클럭인 TCK 신호, 스테이터스(status) 천이를 제어하는 신호인 TMS 신호, 시리얼로 전송되는 명령어 데이터인 TDI 신호, 및 상기 TDI에 따른 목표 시스템(300)의 기능 수행의 결과 신호인 TDO 신호로 이루어진다. 예를 들어, 상기 타겟 검증 신호는 TCK 신호, TMS 신호, 및 TDI 신호를 말하고, 상기 타겟 검증 결과 정보는 TDO 신호를 말한다. 이와 같은 JTAG 신호들은 일반적으로 목표 시스템(300)에 구비되는 탭 콘트롤러(Tab Controller)에 의하여 처리되어 송수신된다. TDI 신호에 실릴 수 있는 명령어 데이터로는, 예를 들어, 리셋(reset), 다운로드(download), 런(run), 스탑(stop), 스테이터스(status) 천이 등을 위한 데이터일 것이고, 이들에 대한 기능 수행은 일반적인 에뮬레이터 구동 방법과 같다.The emulation apparatus 200 responds to firmware download control information generated when a driving program copied to a predetermined internal program memory does not match a target driving program (a program for driving a target system) according to execution code fetched at boot time. Joint Test Action Group (JTAG) comprising a target verification signal generated in response to the target verification control information and updated by the new driving program being input, and the target verification result information input in response to the target verification signal. Generate signals. Here, joint test action group (JTAG) signals are signals that are generally generated in an emulator to verify the target system 300, and include a TCK signal that is a system clock, a TMS signal that is a signal for controlling a status transition, and a serial signal. A TDI signal, which is command data transmitted, and a TDO signal, which is a result of performing a function of the target system 300 according to the TDI. For example, the target verification signal refers to a TCK signal, a TMS signal, and a TDI signal, and the target verification result information refers to a TDO signal. Such JTAG signals are generally processed and transmitted and received by a tab controller provided in the target system 300. Command data that may be carried in the TDI signal may be, for example, data for reset, download, run, stop, status transition, and the like. Functioning is the same as the general emulator driving method.

상기 목표 시스템(300)은 상기 JTAG 신호들 중 상기 타겟 검증 신호에 응답하는 기능을 수행하여, 그 기능 수행의 결과인 상기 타겟 검증 결과 정보를 상기 에뮬레이션 장치(200)로 출력한다.The target system 300 performs a function of responding to the target verification signal among the JTAG signals, and outputs the target verification result information, which is a result of performing the function, to the emulation apparatus 200.

상기 에뮬레이션 장치(200)는 플래시 메모리(flash memory)(220), 다이렉트 메모리 억세스부(DMA;direct memory access)(230), UART(Universal Asynchronous Receiver Transmitter)/USB(Universal Serial Bus) 인터페이스부(240), 및 마이크로 콘트롤부(MCU)(210)를 구비한다. The emulation apparatus 200 includes a flash memory 220, a direct memory access 230, a universal asynchronous receiver transmitter (UART), and a universal serial bus (USB) interface 240. And a micro control unit (MCU) 210.

상기 플래시 메모리(220)는 업데이트 제어 신호에 응답하여 에뮬레이션 펌웨어 규약에 의한 새로운 구동 프로그램을 업데이트시켜 저장하고, 리드 제어 신호에 응답하여 그에 대응되는 구동 프로그램을 페이지 단위로 출력한다. 상기 플래시 메모리(220)는, 도 5에 도시된 바와 같이, 업데이트 금지된 마스크(masked) 함수 영역, 상기 새로운 구동 프로그램이 업데이트 되는 언마스크(unmasked) 함수 영역, 일반적으로 사용되는 표준 구동 프로그램을 저장하는 언마스크 미러(unmasked mirror) 함수 영역, 및 상기 언마스크 함수 영역의 업데이트 성공 여부를 저장하는 플래그(flag) 영역으로 운용된다. 마스크(masked) 함수 영역에는 부팅을 위한 함수, 펌웨어 버전 업데이트 함수 등 업데이트가 필요 없는 함수들이 저장되고, 언마스크 미러(unmasked mirror) 함수 영역에는 일반적인 몇 개의 정해진 디바이스들에 대한 표준 구동 프로그램이 저장된다. 마스크(masked) 함수 영역 및 언마스크 미러(unmasked mirror) 함수 영역은 제작시 미리 그 필요한 데이터들이 저장되어 출시된다. 상기 구동 프로그램은, 도 4에 도시된 바와 같이, 페이지 단위로 운용되고, 하나의 페이지 내에는 그 페이지가 가지는 메모리 사이즈 이내에서 그 구동 프로그램을 구성하는 다수의 함수들이 저장된다. 여기서, 하나의 페이지가 가리키는 메모리 사이즈는 256 워드(word) 등으로 할 수 있다. 구동 프로그램을 구성하는 함수들에는 리드(read), 라이트(write), 점프(jump) 등과 같이 마이크로 컴퓨터 기능 수행에 필요한 모든 분기 명령어들을 포함한다. The flash memory 220 updates and stores a new driving program according to an emulation firmware protocol in response to an update control signal, and outputs a driving program corresponding to the read control signal in units of pages. As shown in FIG. 5, the flash memory 220 stores a masked function area forbidden to update, an unmasked function area for updating the new drive program, and a standard drive program that is generally used. An unmasked mirror function region and a flag region for storing whether the update of the unmasked function region is successful. In the masked function area, functions that do not need to be updated, such as functions for booting and firmware version update functions, are stored. In the unmasked mirror function area, standard driving programs for a few general devices are stored. . The masked function region and the unmasked mirror function region are released with the necessary data stored in advance at the time of manufacture. As shown in FIG. 4, the driving program is operated in units of pages, and a plurality of functions constituting the driving program are stored within a memory size of the page in one page. The memory size indicated by one page may be 256 words or the like. The functions constituting the driving program include all branch instructions necessary for performing microcomputer functions such as read, write, jump, and the like.

상기 DMA(230)는 업데이트 억세스 신호, 및 리드 억세스 신호 각각에 응답하여 직접 메모리 억세스 방식으로 상기 업데이트 제어 신호, 및 상기 리드 제어 신호를 출력한다.The DMA 230 outputs the update control signal and the read control signal in a direct memory access manner in response to each of the update access signal and the read access signal.

상기 UART/USB 인터페이스부(240)는 외부에서 입력되는 타겟 검증 제어 정보를 수신하여 출력하고, 상기 펌웨어 다운로드 제어 정보를 송신하여 이에 응답하여 외부에서 입력되는 상기 새로운 구동 프로그램을 수신하여 출력하며, 타겟 검증 결과 정보를 송신한다.The UART / USB interface unit 240 receives and outputs target verification control information input from the outside, transmits the firmware download control information, and receives and outputs the new driving program input from the external in response to the target. Send verification result information.

상기 MCU(210)는 상기 업데이트 억세스 신호 및 상기 리드 억세스 신호에 의하여 상기 플래시 메모리(220)에 억세스하며, 부팅시 상기 플래시 메모리(220)에서 페치하는 실행 코드에 따라 상기 플래시 메모리(220)에 저장된 구동 프로그램을 소정 내부 프로그램 메모리에 복사하며, 상기 복사된 구동 프로그램이 타겟 구동 프로그램과 일치하지 않을 때 발생시키는 상기 펌웨어 다운로드 제어 정보에 응답하여 상기 새로운 구동프로그램이 입력되면 상기 업데이트 억세스 신호를 발생시키고, 상기 타겟 검증 제어 정보에 응답하여 발생시키는 타겟 검증 신호와 상기 타겟 검증 신호에 응답하여 입력되는 상기 타겟 검증 결과 정보로 구성되는 JTAG 신호들을 발생시킨다. 여기서, 상기 소정 내부 프로그램 메모리는, 도 3에 도시된 바와 같이, 그 어드레스가 상기 플래시 메모리(220)의 어드레스와 오버랩(overlap)되지 않게 운용된다.The MCU 210 accesses the flash memory 220 by the update access signal and the read access signal, and is stored in the flash memory 220 according to an execution code fetched from the flash memory 220 at boot time. Copying a driving program to a predetermined internal program memory, and generating the update access signal when the new driving program is input in response to the firmware download control information generated when the copied driving program does not match a target driving program, JTAG signals including a target verification signal generated in response to the target verification control information and the target verification result information input in response to the target verification signal are generated. Here, the predetermined internal program memory is operated so that its address does not overlap with the address of the flash memory 220, as shown in FIG.

이하, 본 발명의 일실시예에 따른 마이크로 컴퓨터 개발 시스템의 동작을 좀더 상세하게 설명한다.Hereinafter, the operation of the microcomputer development system according to an embodiment of the present invention will be described in more detail.

도 2는 도 1의 마이크로 컴퓨터 개발 시스템의 동작 설명을 위한 흐름도이다. 도 2를 참조하면, 도 1의 마이크로 컴퓨터 개발 시스템은, 먼저, 부팅시 MCU(210)가 상기 플래시 메모리(220)에서 실행 코드를 페치한다(S210). 이에 따라 MCU(210)는 상기 플래시 메모리(220)에 저장된 구동 프로그램을 소정 내부 프로그램 메모리에 복사하며(S220), 내부 프로그램 메모리로 진입하여 그 버전을 체크한다(S230). 이때, 상기 복사된 구동 프로그램이 타겟 구동 프로그램과 일치하지 않아서 상기 목표 시스템(300)에 구비되는 디바이스를 구동할 수 있는 구동 프로그램이 아니라면, 상기 펌웨어 다운로드 제어 정보를 발생시키고, 이에 따라 새로운 구동 프로그램을 자동으로 호스트 컴퓨터(100)에서 탐색하여 불러와 다운로드한다(S240~S250). 즉, 호스트 컴퓨터(100)에서 상기 새로운 구동 프로그램이 입력되면 MCU(210)는 상기 업데이트 억세스 신호를 발생시켜서 상기 플래시 메모리(220)를 그 새로운 구동 프로그램으로 업데이트 시킨다(S250). MCU(210)가 새로운 구동 프로그램을 다운로드하면 내부 프로그램 메모리의 0번지로 점프하여 위 절차를 다시 진행한다(S260). 상기 목표 시스템(300)에 구비되는 디바이스로는 ARM 코아와 같은 마이크로 컴퓨터 이외에, 주변 장치로서 RAM(random access memory), ROM(read only memory), 플래시 메모리(220) 등을 포함한다.2 is a flowchart illustrating an operation of the microcomputer development system of FIG. 1. Referring to FIG. 2, in the microcomputer development system of FIG. 1, first, the MCU 210 fetches execution code from the flash memory 220 at booting (S210). Accordingly, the MCU 210 copies the driving program stored in the flash memory 220 to a predetermined internal program memory (S220), enters the internal program memory, and checks its version (S230). In this case, if the copied driving program does not match the target driving program and is not a driving program capable of driving a device included in the target system 300, the firmware download control information is generated, and thus a new driving program is generated. Automatically retrieve and download from host computer 100 (S240 ~ S250). That is, when the new driving program is input from the host computer 100, the MCU 210 generates the update access signal to update the flash memory 220 with the new driving program (S250). When the MCU 210 downloads a new driving program, the MCU 210 jumps to address 0 of the internal program memory and proceeds the above procedure again (S260). The device included in the target system 300 includes a random access memory (RAM), a read only memory (ROM), a flash memory 220, and the like as a peripheral device, in addition to a microcomputer such as an ARM core.

MCU(210)가, 위에서 기술한 바와 같이, 새로운 구동 프로그램을 다운로드하여 상기 플래시 메모리(220)의 상기 언마스크 함수 영역을 업데이트 하는 과정은, 업데이트 시작 시에 플래시 업데이트 프롤로그 프로토콜(flash update prolog protocol)을 통하여 상기 플래그 영역을 모두 제1 논리값(예를 들어, 0x0)으로 라이트하고, 업데이트가 성공적으로 이루어지면, 플래시 업데이트 에필로그 프로토콜(flash update epilog protocol)을 통하여 그 페이지에 대응하는 상기 플래그 영역의 해당 워드를 제2 논리값(예를 들어, 0xa5)으로 라이트하면서 진행된다. 모든 페이지에 대하여 업데이트가 성공적으로 이루어지면, 상기 플래그 영역은 모두 제2 논리값(예를 들어, 0xa5) 상태일 것이다. 이와 같은 상기 언마스크 함수 영역의 업데이트는, 그 업데이트 종료 시에 상기 업데이트 성공 여부를 알 수 있는 정보가 유저에게 전달되도록 진행된다. 유저에게 전달된 상기 업데이트 성공 여부 정보는, 그 업데이트가 성공적으로 이루어지지 않은 페이지가 존재하면, 상기 언마스크 미러 함수 영역의 구동 프로그램이 유효하게 사용될 것이라는 정보를 포함한다.As described above, the process of updating the unmask function area of the flash memory 220 by downloading a new driving program by the MCU 210 may include a flash update prolog protocol at the start of updating. Writes all of the flag regions to a first logical value (for example, 0x0), and if the update is successful, through the flash update epilog protocol of the flag region corresponding to the page. The process proceeds by writing the word to the second logic value (for example, 0xa5). If the update is successful for all pages, all of the flag regions will be in the second logical value (eg, 0xa5). The update of the unmask function region proceeds such that information at the end of the update indicates that the update is successful. The update success information transmitted to the user includes information that the driving program of the unmasked mirror function region will be used effectively if there is a page that has not been successfully updated.

이렇게 하여, MCU(210)의 내부 프로그램 메모리에 복사된 구동 프로그램이 타겟 구동 프로그램과 일치하여 상기 목표 시스템(300)에 구비되는 디바이스를 구동할 수 있는 구동 프로그램이라면, 목표 시스템(300)을 리셋하여 초기화시키고, 에뮬레이션을 대기한다(S270). 대기 상태는 스탠바이(stand-by) 상태로서 통신 포트의 체크, 목표 시스템(300)이 정상적인가의 체크, 또는 다른 에러는 없는가의 체크 등을 수행하는 상태이다. 에뮬레이션은, 유저의 명령에 따라 호스트 컴퓨터(100)에 입력되는 상기 타겟 검증 제어 정보에 응답하여 MCU(210)가 상기 JTAG 신호들 중 상기 타겟 검증 신호를 발생시키면, 이에 따라 목표 시스템(300)이 그에 따른 기능을 수행하여, 그 기능 수행의 결과인 상기 타겟 검증 결과 정보를 상기 에뮬레이션 장치(200)로 출력하고, 상기 호스트 컴퓨터(100)는 타겟 검증 결과 정보를 수신하여 유저가 알 수 있게 표시하는 일련의 과정이다. In this way, if the drive program copied to the internal program memory of the MCU 210 is a drive program capable of driving a device included in the target system 300 in accordance with the target drive program, the target system 300 is reset and Initialize and wait for emulation (S270). The standby state is a stand-by state in which a communication port is checked, a target system 300 is normally checked, or there is no other error. Emulation is performed when the MCU 210 generates the target verification signal among the JTAG signals in response to the target verification control information input to the host computer 100 according to a user's command. By performing the function according to the output, the target verification result information that is the result of the function output to the emulation apparatus 200, the host computer 100 receives the target verification result information to display the user so that it can be known It is a series of processes.

특히, 상기 타겟 검증 신호가, 유저가 입력하는 다운로드 명령에 응답하여 발생하는 상기 타겟 검증 제어 정보에 따라 상기 소정 내부 프로그램 메모리에 복사된 구동 프로그램을 소정 목표 시스템(300)에 다운로드 시키는 신호이고, 상기 다운로드 된 구동 프로그램에 의하여 상기 소정 목표 시스템(300)을 구동하는 경우에, 상기 다운로드 된 구동 프로그램에 에러가 존재하여 상기 소정 목표 시스템(300)에 구비되는 디바이스를 구동할 수 있는 구동 프로그램이 아니라면, 상기 플래시 메모리(220)의 소정 언마스크 미러 영역에 저장되어 일반적으로 사용되는 표준 구동 프로그램이 가동됨으로써 어크놀로지(acknowledge) 신호를 발생시키고 무한 루프를 방지한다. 상기 다운로드 된 구동 프로그램에 에러가 존재하는 상태는, 다운로드 중 전원이 차단되어 불완전하게 다운로드 되었거나 이외에도 메모리 섹터의 불량이나 손상 등으로 정상적인 데이터가 저장되어 있지 않은 상태를 말한다.In particular, the target verification signal is a signal for downloading a drive program copied to the predetermined internal program memory to a predetermined target system 300 according to the target verification control information generated in response to a download command input by a user. In the case where the predetermined target system 300 is driven by the downloaded driving program, if there is an error in the downloaded driving program and the driving program is not capable of driving a device included in the predetermined target system 300, A standard driving program stored in a predetermined unmasked mirror area of the flash memory 220 is operated to generate an acknowledgment signal and prevent an infinite loop. The state in which an error exists in the downloaded driving program refers to a state in which normal data is not stored due to a bad or damaged memory sector, in addition to being downloaded incompletely due to the power cut off during the download.

위에서 기술한 바와 같이 본 발명의 일실시예에 따른 에뮬레이션 장치(200)를 구비하는 마이크로 컴퓨터 개발 시스템은, 부팅시 페치한 실행 코드에 따라 소정 내부 프로그램 메모리에 복사한 구동 프로그램이 타겟 구동 프로그램과 일치하지 않을 때 발생시키는 펌웨어 다운로드 제어 정보에 응답하여 입력되는 새로운 구동프로그램을 자동적으로 업데이트시켜 저장할 수 있고, 이에 따라 상기 새로운 구동프로그램을 이용하여 타겟 검증 제어 정보에 응답하여 발생시키는 타겟 검증 신호와 상기 타겟 검증 신호에 응답하여 입력되는 상기 타겟 검증 결과 정보로 구성되는 JTAG 신호들을 발생시킨다.As described above, in a microcomputer development system including an emulation apparatus 200 according to an exemplary embodiment of the present invention, a drive program copied to a predetermined internal program memory according to executable code fetched at boot time matches a target drive program. A target verification signal and a target generated in response to the target verification control information may be automatically updated and stored in response to the firmware download control information generated when not in operation. JTAG signals including the target verification result information input in response to the verification signal are generated.

이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.As described above, optimal embodiments have been disclosed in the drawings and the specification. Although specific terms have been used herein, they are used only for the purpose of describing the present invention and are not intended to limit the scope of the invention as defined in the claims or the claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible from this. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

상술한 바와 같이 본 발명에 따른 재탑재 에뮬레이션 장치, 및 마이크로 컴퓨터 개발 시스템은, 별도의 하드웨어나 소프트웨어 없이도 목표 시스템의 구동에 필요한 펌웨어를 다운로드 할 수 있고, 그 펌웨어의 운용을 위한 개선된 프로토콜에 의하여 신규 마이크로 컴퓨터 칩이나 신규 주변 장치를 가지는 목표 시스템에 필요한 새로운 버전의 구동 프로그램을 실시간 업데이트 시킬 수 있다. 따라서, 다양하게 개발되는 목표 시스템의 구동과 디버깅을 실시간으로 용이하게 검증이 가능하므로, 종래에 비하여 신규 목표 시스템 검증에 소요되는 시간적, 자본적 노력을 최소화할 수 있는 효과가 있다. 또한, 마이크로 컴퓨터 개발 업체가 이와 같은 마이크로 컴퓨터 개발 시스템을 공급하면, 고객 확보에 유리한 효과가 있다.As described above, the reloading emulation apparatus and the microcomputer development system according to the present invention can download firmware required for driving the target system without any hardware or software, and by using an improved protocol for operating the firmware. It is possible to update in real time a new version of the operating program required for a target system with a new microcomputer chip or a new peripheral. Therefore, since it is possible to easily verify in real time the operation and debugging of the various target system is developed, there is an effect that can minimize the time and capital effort required to verify the new target system compared to the conventional. In addition, if a microcomputer developer provides such a microcomputer development system, there is a favorable effect on customer acquisition.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.BRIEF DESCRIPTION OF THE DRAWINGS In order to better understand the drawings cited in the detailed description of the invention, a brief description of each drawing is provided.

도 1은 본 발명의 일실시예에 따른 재탑재 에뮬레이션 장치를 구비한 마이크로 컴퓨터 개발 시스템의 블록도이다.1 is a block diagram of a microcomputer development system having a reload emulation apparatus according to an embodiment of the present invention.

도 2는 도 1의 마이크로 컴퓨터 개발 시스템의 동작 설명을 위한 흐름도이다.2 is a flowchart illustrating an operation of the microcomputer development system of FIG. 1.

도 3은 MCU의 내부 프로그램 메모리와 외부 플래시 메모리의 운용 방식을 설명하기 위한 도면이다.3 is a diagram for describing an operation method of an internal program memory and an external flash memory of the MCU.

도 4는 도 1의 플래시 메모리의 페이지 모드 지원 방식을 설명하기 위한 도면이다.FIG. 4 is a diagram for describing a page mode support method of the flash memory of FIG. 1.

도 5는 도 1의 플래시 메모리에 저장되는 함수들 종류를 설명하기 위한 도면이다.FIG. 5 is a diagram for describing types of functions stored in the flash memory of FIG. 1.

Claims (13)

업데이트 제어 신호에 응답하여 에뮬레이션 펌웨어 규약에 의한 새로운 구동 프로그램을 업데이트시켜 저장하고, 리드 제어 신호에 응답하여 그에 대응되는 구동 프로그램을 페이지 단위로 출력하는 플래시 메모리;A flash memory for updating and storing a new driving program according to the emulation firmware protocol in response to the update control signal, and outputting a driving program corresponding to the read control signal in units of pages; 업데이트 억세스 신호, 및 리드 억세스 신호 각각에 응답하여 직접 메모리 억세스 방식으로 상기 업데이트 제어 신호, 및 상기 리드 제어 신호를 출력하는 DMA; A DMA outputting the update control signal and the read control signal in a direct memory access manner in response to an update access signal and a read access signal, respectively; 외부에서 입력되는 타겟 검증 제어 정보를 수신하여 출력하고, 펌웨어 다운로드 제어 정보를 송신하여 이에 응답하여 외부에서 입력되는 상기 새로운 구동 프로그램을 수신하여 출력하며, 타겟 검증 결과 정보를 송신하는 UART/USB 인터페이스부; 및UART / USB interface unit for receiving and outputting the target verification control information input from the outside, transmitting the firmware download control information, receiving and outputting the new driving program input from the outside in response thereto, and transmitting the target verification result information. ; And 상기 업데이트 억세스 신호 및 상기 리드 억세스 신호에 의하여 상기 플래시 메모리에 억세스하며, 부팅시 상기 플래시 메모리에서 페치하는 실행 코드에 따라 상기 플래시 메모리에 저장된 구동 프로그램을 소정 내부 프로그램 메모리에 복사하며, 상기 복사된 구동 프로그램이 타겟 구동 프로그램과 일치하지 않을 때 발생시키는 상기 펌웨어 다운로드 제어 정보에 응답하여 상기 새로운 구동프로그램이 입력되면 상기 업데이트 억세스 신호를 발생시키고, 상기 복사된 구동 프로그램을 이용하여 상기 타겟 검증 제어 정보에 응답하여 발생시키는 타겟 검증 신호와 상기 타겟 검증 신호에 응답하여 입력되는 상기 타겟 검증 결과 정보로 구성되는 JTAG 신호들을 발생시키는 MCU를 구비하는 것을 특징으로 하는 에뮬레이션 장치.Access the flash memory by the update access signal and the read access signal, copy a drive program stored in the flash memory to a predetermined internal program memory according to an executable code fetched from the flash memory at boot time, and copy the drive When the new driving program is input in response to the firmware download control information generated when a program does not match the target driving program, the update access signal is generated, and the copying driving program is used to respond to the target verification control information. And a MCU for generating JTAG signals including a target verification signal generated by the controller and the target verification result information input in response to the target verification signal. 제 1항에 있어서, 상기 소정 내부 프로그램 메모리는,The method of claim 1, wherein the predetermined internal program memory, 그 어드레스가 상기 플래시 메모리의 어드레스와 오버랩되지 않게 운용되는 것을 특징으로 하는 에뮬레이션 장치.Emulation apparatus characterized in that the address is operated so as not to overlap with the address of the flash memory. 제 1항에 있어서, 상기 구동 프로그램은,The method of claim 1, wherein the drive program, 페이지 단위로 운용되고, 하나의 페이지 내에는 그 페이지가 가지는 메모리 사이즈 이내에서 그 구동 프로그램을 구성하는 다수의 함수들이 저장되는 것을 특징으로 하는 에뮬레이션 장치.And a plurality of functions constituting the driving program are stored within a memory size of the page in one page. 제 1항에 있어서, 상기 타겟 검증 신호는,The method of claim 1, wherein the target verification signal, 유저가 입력하는 다운로드 명령에 응답하여 발생하는 상기 타겟 검증 제어 정보에 따라, 상기 소정 내부 프로그램 메모리에 복사된 구동 프로그램을 소정 목표 시스템에 다운로드 시키는 신호를 포함하고, 이때 상기 다운로드 된 구동 프로그램에 의하여 상기 소정 목표 시스템을 구동하는 경우에, 상기 다운로드 된 구동 프로그램에 에러가 존재하여 상기 소정 목표 시스템에 구비되는 디바이스를 구동할 수 있는 구동 프로그램이 아니라면, 상기 플래시 메모리의 소정 언마스크 미러 영역에 저장되어 일반적으로 사용되는 표준 구동 프로그램이 가동됨으로써 어크놀로지 신호를 발생시키고 무한 루프를 방지하는 것을 특징으로 하는 에뮬레이션 장치. And a signal for downloading a drive program copied to the predetermined internal program memory to a predetermined target system according to the target verification control information generated in response to a download command input by a user, wherein the downloaded drive program In the case of driving a predetermined target system, if there is an error in the downloaded driving program and is not a driving program capable of driving a device included in the predetermined target system, it is stored in a predetermined unmasked mirror area of the flash memory and is generally used. Emulation apparatus, characterized in that to run the standard drive program used to generate an acknowledgment signal and prevent the infinite loop. 제 1항에 있어서, 상기 플래시 메모리는,The method of claim 1, wherein the flash memory, 업데이트 금지된 마스크 함수 영역, 상기 새로운 구동 프로그램이 업데이트 되는 언마스크 함수 영역, 일반적으로 사용되는 표준 구동 프로그램을 저장하는 언마스크 미러 함수 영역, 및 상기 언마스크 함수 영역의 업데이트 성공 여부를 저장하는 플래그 영역으로 운용되는 것을 특징으로 하는 에뮬레이션 장치.A mask function region for which an update is prohibited, an unmask function region for updating the new driving program, an unmask mirror function region for storing a standard driving program that is generally used, and a flag region for storing whether the update of the unmask function region is successful. Emulation apparatus characterized in that the operation. 제 4항에 있어서, 상기 언마스크 함수 영역의 업데이트는,The method of claim 4, wherein the updating of the unmask function region comprises: 그 업데이트 시작 시에 상기 플래그 영역을 모두 제1 논리값으로 라이트하고, 업데이트가 성공적으로 이루어진 페이지에 대응하는 상기 플래그 영역의 해당 워드를 제2 논리값으로 라이트하면서 진행되는 것을 특징으로 하는 에뮬레이션 장치.And all the flag areas are written to the first logical value at the start of the update, and the corresponding word of the flag area corresponding to the page successfully updated is written to the second logical value. 제 5항에 있어서, 상기 언마스크 함수 영역의 업데이트는,The method of claim 5, wherein the updating of the unmask function region, 그 업데이트 종료 시에 상기 업데이트 성공 여부를 알 수 있는 정보가 유저에게 전달되도록 진행되는 것을 특징으로 하는 에뮬레이션 장치.The emulation apparatus, characterized in that to proceed to deliver information to the user to know whether the update was successful at the end of the update. 제 6항에 있어서, 유저에게 전달된 상기 업데이트 성공 여부 정보는,The method of claim 6, wherein the update success information transmitted to the user, 그 업데이트가 성공적으로 이루어지지 않은 페이지가 존재하면, 상기 언마스크 미러 함수 영역의 구동 프로그램이 유효하게 사용될 것이라는 정보를 포함하는 것을 특징으로 하는 에뮬레이션 장치.And an information that a driving program of the unmasked mirror function region is to be used effectively if there is a page that has not been successfully updated. 유저가 입력하는 타겟 검증 제어 정보를 출력하고, 펌웨어 다운로드 제어 정보에 응답하여 새로운 구동 프로그램을 출력하며, 타겟 검증 결과 정보를 수신하여 유저가 알 수 있게 표시하는 호스트 컴퓨터;A host computer for outputting target verification control information input by the user, outputting a new driving program in response to the firmware download control information, and receiving target verification result information for display by the user; 부팅시 페치한 실행 코드에 따라 소정 내부 프로그램 메모리에 복사한 구동 프로그램이 타겟 구동 프로그램과 일치하지 않을 때 발생시키는 상기 펌웨어 다운로드 제어 정보에 응답하여 입력되는 상기 새로운 구동프로그램을 업데이트시켜 저장하고, 상기 복사된 구동 프로그램을 이용하여 상기 타겟 검증 제어 정보에 응답하여 발생시키는 타겟 검증 신호와 상기 타겟 검증 신호에 응답하여 입력되는 상기 타겟 검증 결과 정보로 구성되는 JTAG 신호들을 발생시키는 에뮬레이션 장치; 및Update and store the new drive program input in response to the firmware download control information generated when a drive program copied to a predetermined internal program memory according to the executable code fetched at boot does not match the target drive program, and copy the An emulation apparatus for generating JTAG signals comprising a target verification signal generated in response to the target verification control information and the target verification result information input in response to the target verification signal using a driven drive program; And 상기 JTAG 신호들 중 상기 타겟 검증 신호에 응답하는 기능을 수행하여, 그 기능 수행의 결과인 상기 타겟 검증 결과 정보를 상기 에뮬레이션 장치로 출력하는 목표 시스템을 구비하는 것을 특징으로 하는 마이크로 컴퓨터 개발 시스템.And a target system which performs a function of responding to the target verification signal among the JTAG signals, and outputs the target verification result information which is a result of the function execution to the emulation apparatus. 제 9항에 있어서, 상기 에뮬레이션 장치는,The method of claim 9, wherein the emulation device, 업데이트 제어 신호에 응답하여 에뮬레이션 펌웨어 규약에 의한 새로운 구동 프로그램을 업데이트시켜 저장하고, 리드 제어 신호에 응답하여 그에 대응되는 구동 프로그램을 페이지 단위로 출력하는 플래시 메모리;A flash memory for updating and storing a new driving program according to the emulation firmware protocol in response to the update control signal, and outputting a driving program corresponding to the read control signal in units of pages; 업데이트 억세스 신호, 및 리드 억세스 신호 각각에 응답하여 직접 메모리 억세스 방식으로 상기 업데이트 제어 신호, 및 상기 리드 제어 신호를 출력하는 DMA; A DMA outputting the update control signal and the read control signal in a direct memory access manner in response to an update access signal and a read access signal, respectively; 상기 타겟 검증 제어 정보를 수신하여 출력하고, 상기 펌웨어 다운로드 제어 정보를 송신하여 이에 응답하여 외부에서 입력되는 상기 새로운 구동 프로그램을 수신하여 출력하며, 상기 타겟 검증 결과 정보를 송신하는 UART/USB 인터페이스부; 및A UART / USB interface unit for receiving and outputting the target verification control information, transmitting and receiving the firmware download control information, receiving and outputting the new driving program input externally, and transmitting the target verification result information; And 상기 업데이트 억세스 신호 및 상기 리드 억세스 신호에 의하여 상기 플래시 메모리에 억세스하며, 부팅시 상기 플래시 메모리에서 페치하는 상기 실행 코드에 따라 상기 플래시 메모리에 저장된 구동 프로그램을 소정 내부 프로그램 메모리에 복사하며, 상기 복사된 구동 프로그램이 상기 타겟 구동 프로그램과 일치하지 않을 때 발생시키는 상기 펌웨어 다운로드 제어 정보에 응답하여 상기 새로운 구동프로그램이 입력되면 상기 업데이트 억세스 신호를 발생시키고, 상기 타겟 검증 제어 정보에 응답하여 상기 JTAG 신호들을 발생시키는 MCU를 구비하는 것을 특징으로 하는 마이크로 컴퓨터 개발 시스템.The flash memory is accessed by the update access signal and the read access signal, and the driving program stored in the flash memory is copied to a predetermined internal program memory according to the execution code fetched from the flash memory during booting. When the new driving program is input in response to the firmware download control information generated when the driving program does not match the target driving program, the update access signal is generated, and the JTAG signals are generated in response to the target verification control information. Microcomputer development system characterized in that it comprises a MCU. 업데이트 제어 신호에 응답하여 에뮬레이션 펌웨어 규약에 의한 새로운 구동 프로그램을 업데이트시켜 저장하고, 리드 제어 신호에 응답하여 그에 대응되는 구동 프로그램을 페이지 단위로 출력하는 플래시 메모리 억세스 단계;A flash memory access step of updating and storing a new driving program according to an emulation firmware protocol in response to the update control signal, and outputting a driving program corresponding to the read control signal in units of pages; 업데이트 억세스 신호, 및 리드 억세스 신호 각각에 응답하여 직접 메모리 억세스 방식으로 상기 업데이트 제어 신호, 및 상기 리드 제어 신호를 출력하는 다이렉트 메모리 억세스 제어 단계; A direct memory access control step of outputting the update control signal and the read control signal in a direct memory access manner in response to an update access signal and a read access signal, respectively; 외부에서 입력되는 타겟 검증 제어 정보를 수신하여 출력하고, 펌웨어 다운로드 제어 정보를 송신하여 이에 응답하여 외부에서 입력되는 상기 새로운 구동 프로그램을 수신하여 출력하며, 타겟 검증 결과 정보를 송신하는 UART/USB 인터페이싱 단계; 및UART / USB interfacing step of receiving and outputting target verification control information inputted from the outside, transmitting and downloading firmware control information, receiving and outputting the new driving program inputted from outside, and transmitting target verification result information in response thereto. ; And 상기 업데이트 억세스 신호 및 상기 리드 억세스 신호에 의하여 상기 플래시 메모리 억세스 단계에 억세스하며, 부팅시 상기 플래시 메모리에서 페치하는 실행 코드에 따라 상기 플래시 메모리 억세스 단계에서 저장된 구동 프로그램을 소정 내부 프로그램 메모리에 복사하며, 상기 복사된 구동 프로그램이 타겟 구동 프로그램과 일치하지 않을 때 발생시키는 상기 펌웨어 다운로드 제어 정보에 응답하여 상기 새로운 구동프로그램이 입력되면 상기 업데이트 억세스 신호를 발생시키고, 상기 복사된 구동 프로그램을 이용하여 상기 타겟 검증 제어 정보에 응답하여 발생시키는 타겟 검증 신호와 상기 타겟 검증 신호에 응답하여 입력되는 상기 타겟 검증 결과 정보로 구성되는 JTAG 신호들을 발생시키는 마이크로 콘트롤 단계를 구비하는 것을 특징으로 하는 에뮬레이션 방법.Access the flash memory access step by the update access signal and the read access signal, and copy the driving program stored in the flash memory access step to a predetermined internal program memory according to an execution code fetched from the flash memory at boot time, When the new drive program is input in response to the firmware download control information generated when the copied drive program does not match the target drive program, the update access signal is generated and the target verification is performed by using the copied drive program. And a micro control step of generating JTAG signals comprising a target verification signal generated in response to control information and the target verification result information input in response to the target verification signal. Method of emulation. 유저가 입력하는 타겟 검증 제어 정보를 출력하고, 펌웨어 다운로드 제어 정보에 응답하여 새로운 구동 프로그램을 출력하며, 타겟 검증 결과 정보를 수신하여 유저가 알 수 있게 표시하는 호스트 제어 및 모니터링 단계;A host control and monitoring step of outputting target verification control information input by the user, outputting a new driving program in response to the firmware download control information, and receiving and displaying the target verification result information so that the user can know it; 부팅시 페치한 실행 코드에 따라 소정 내부 프로그램 메모리에 복사한 구동 프로그램이 타겟 구동 프로그램과 일치하지 않을 때 발생시키는 상기 펌웨어 다운로드 제어 정보에 응답하여 입력되는 상기 새로운 구동프로그램을 업데이트시켜 저장하고, 상기 복사된 구동 프로그램을 이용하여 상기 타겟 검증 제어 정보에 응답하여 발생시키는 타겟 검증 신호와 상기 타겟 검증 신호에 응답하여 입력되는 상기 타겟 검증 결과 정보로 구성되는 JTAG 신호들을 발생시키는 에뮬레이션 단계; 및Update and store the new drive program input in response to the firmware download control information generated when a drive program copied to a predetermined internal program memory according to the executable code fetched at boot does not match the target drive program, and copy the An emulation step of generating JTAG signals comprising a target verification signal generated in response to the target verification control information and the target verification result information input in response to the target verification signal by using the driven program; And 상기 JTAG 신호들 중 상기 타겟 검증 신호에 응답하는 기능을 수행하여, 그 기능 수행의 결과인 상기 타겟 검증 결과 정보를 상기 에뮬레이션 단계로 출력하는 목표 시스템 구동 단계를 구비하는 것을 특징으로 하는 마이크로 컴퓨터 개발 시스템 구동 방법.And a target system driving step of performing a function of responding to the target verification signal among the JTAG signals, and outputting the target verification result information which is a result of the function execution to the emulation step. Driving method. 제 12항에 있어서, 상기 에뮬레이션 단계는,The method of claim 12, wherein the emulation step, 업데이트 제어 신호에 응답하여 에뮬레이션 펌웨어 규약에 의한 새로운 구동 프로그램을 업데이트시켜 저장하고, 리드 제어 신호에 응답하여 그에 대응되는 구동 프로그램을 페이지 단위로 출력하는 플래시 메모리 억세스 단계;A flash memory access step of updating and storing a new driving program according to an emulation firmware protocol in response to the update control signal, and outputting a driving program corresponding to the read control signal in units of pages; 업데이트 억세스 신호, 및 리드 억세스 신호 각각에 응답하여 직접 메모리 억세스 방식으로 상기 업데이트 제어 신호, 및 상기 리드 제어 신호를 출력하는 다이렉트 억세스 제어 단계; A direct access control step of outputting the update control signal and the read control signal in a direct memory access manner in response to an update access signal and a read access signal, respectively; 상기 타겟 검증 제어 정보를 수신하여 출력하고, 상기 펌웨어 다운로드 제어 정보를 송신하여 이에 응답하여 외부에서 입력되는 상기 새로운 구동 프로그램을 수신하여 출력하며, 상기 타겟 검증 결과 정보를 송신하는 UART/USB 인터페이싱 단계; 및A UART / USB interfacing step of receiving and outputting the target verification control information, transmitting and receiving the firmware download control information, receiving and outputting the new driving program input externally, and transmitting the target verification result information; And 상기 업데이트 억세스 신호 및 상기 리드 억세스 신호에 의하여 상기 플래시 메모리 억세스 단계에 억세스하며, 부팅시 상기 플래시 메모리에서 페치하는 상기 실행 코드에 따라 상기 플래시 메모리 억세스 단계에서 저장된 구동 프로그램을 소정 내부 프로그램 메모리에 복사하며, 상기 복사된 구동 프로그램이 상기 타겟 구동 프로그램과 일치하지 않을 때 발생시키는 상기 펌웨어 다운로드 제어 정보에 응답하여 상기 새로운 구동프로그램이 입력되면 상기 업데이트 억세스 신호를 발생시키고, 상기 타겟 검증 제어 정보에 응답하여 상기 JTAG 신호들을 발생시키는 마이크로 콘트롤 단계를 구비하는 것을 특징으로 하는 마이크로 컴퓨터 개발 시스템 구동 방법.Access the flash memory access step by the update access signal and the read access signal, and copy the driving program stored in the flash memory access step to a predetermined internal program memory according to the execution code fetched from the flash memory at boot time; And generating the update access signal when the new driving program is input in response to the firmware download control information generated when the copied driving program does not match the target driving program, and in response to the target verification control information. And a micro control step of generating JTAG signals.
KR10-2003-0055888A 2003-08-12 2003-08-12 Retargetable emulation apparatus providing for target system verifying using micro-control unit, micro-computer development system having it, and method thereof KR100505700B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0055888A KR100505700B1 (en) 2003-08-12 2003-08-12 Retargetable emulation apparatus providing for target system verifying using micro-control unit, micro-computer development system having it, and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0055888A KR100505700B1 (en) 2003-08-12 2003-08-12 Retargetable emulation apparatus providing for target system verifying using micro-control unit, micro-computer development system having it, and method thereof

Publications (2)

Publication Number Publication Date
KR20050018394A KR20050018394A (en) 2005-02-23
KR100505700B1 true KR100505700B1 (en) 2005-08-02

Family

ID=37227949

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0055888A KR100505700B1 (en) 2003-08-12 2003-08-12 Retargetable emulation apparatus providing for target system verifying using micro-control unit, micro-computer development system having it, and method thereof

Country Status (1)

Country Link
KR (1) KR100505700B1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100555700B1 (en) * 2003-12-29 2006-03-03 엘지전자 주식회사 Booting control device to be included a DSP using an USB cable and controlling method therefore
CN100361107C (en) * 2005-03-02 2008-01-09 华为技术有限公司 Method for direct memory accessing controller and transmitting data
KR100745244B1 (en) * 2005-06-20 2007-08-01 엘지전자 주식회사 Apparatus for debugging of embedded system
KR100966999B1 (en) * 2007-11-21 2010-06-30 삼성전기주식회사 Apparatus and method for updating flash memory
CN111796841B (en) * 2020-05-20 2023-10-10 哈船光电(武汉)有限公司 Hardware implementation system and method for remote update of double-path ARM

Also Published As

Publication number Publication date
KR20050018394A (en) 2005-02-23

Similar Documents

Publication Publication Date Title
EP0911735B1 (en) Microprocessor test system
US6915416B2 (en) Apparatus and method for microcontroller debugging
US6820192B2 (en) Central processing unit for easily testing and debugging programs
US5903718A (en) Remote program monitor method and system using a system-under-test microcontroller for self-debug
US5850562A (en) Personal computer apparatus and method for monitoring memory locations states for facilitating debugging of post and BIOS code
US4663707A (en) Multilevel bootstrap apparatus
US5805882A (en) Computer system and method for replacing obsolete or corrupt boot code contained within reprogrammable memory with new boot code supplied from an external source through a data port
US6668339B1 (en) Microprocessor having a debug interruption function
US20050268195A1 (en) Apparatus and method for improving emulation speed of high-level languages in on-chip emulation systems
US5784611A (en) Device and process for in-system programming electrically erasable and programmable non-volatile memory
JP2006053943A (en) Identification device for identifying microprocessor, and method of identifying microprocessor
US5680584A (en) Simulator system for code execution and debugging within a multi-architecture environment
US20230128809A1 (en) Efficient fuzz testing of low-level virtual devices
KR100272937B1 (en) Microprocessor and multiprocessor system
US7546596B2 (en) Non-disruptive method, system and program product for overlaying a first software module with a second software module
KR20060122064A (en) Electronic device and booting method thereof
KR100607023B1 (en) Program processing apparatus
KR100505700B1 (en) Retargetable emulation apparatus providing for target system verifying using micro-control unit, micro-computer development system having it, and method thereof
US6925522B2 (en) Device and method capable of changing codes of micro-controller
US7203819B2 (en) Program processing device
US6106565A (en) System and method for hardware emulation of a digital circuit
WO2022199622A1 (en) Method for running startup program of electronic device, and electronic device
KR20010052868A (en) Method and system for updating user memory in emulator systems
KR101244684B1 (en) Microcomputing apparatus and method capable of detecting error
KR20020029921A (en) Method and apparatus for modifying microinstructions in a static memory device

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee