KR100658485B1 - Microprocessor development system - Google Patents

Microprocessor development system Download PDF

Info

Publication number
KR100658485B1
KR100658485B1 KR1020050102531A KR20050102531A KR100658485B1 KR 100658485 B1 KR100658485 B1 KR 100658485B1 KR 1020050102531 A KR1020050102531 A KR 1020050102531A KR 20050102531 A KR20050102531 A KR 20050102531A KR 100658485 B1 KR100658485 B1 KR 100658485B1
Authority
KR
South Korea
Prior art keywords
mds
program
interrupt
user
development system
Prior art date
Application number
KR1020050102531A
Other languages
Korean (ko)
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 KR1020050102531A priority Critical patent/KR100658485B1/en
Application granted granted Critical
Publication of KR100658485B1 publication Critical patent/KR100658485B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs

Abstract

A system for developing an MCU(Micro Control Unit) is provided to implement a debugging function without using any EVA(EVAluation) chip, process the debugging function implemented by the EVA chip with software by interrupt control, and apply for an integrated debugging device shared to a hardware and software developer. A program storing part(210) stores a user application program and an MDS(MCU Development System) program. An MDS controller(204) controls mode switchover from the user application program to the MDS program by an interrupt. An MDS mode setting part(202) receives host input from a host(230) and is connected to the MDS controller. If the real-time debugging function is requested during execution of the user application program, an MCU core(220) executes the MDS program by switching a program mode according to the MDS controller. The MDS controller includes an interrupt generator(208) generating the interrupt for stopping the user application program and an interrupt vector recorder(206) storing address information of an extended interrupt processing routine for processing the generated interrupt.

Description

마이크로프로세서 개발시스템{MICROPROCESSOR DEVELOPMENT SYSTEM}Microprocessor Development System {MICROPROCESSOR DEVELOPMENT SYSTEM}

도 1 은 종래 기술에 따른 에바 칩을 이용한 MDS 지원 환경을 개략적으로 도시한 도.1 is a diagram schematically illustrating an MDS support environment using an EVA chip according to the prior art.

도 2 는 본 발명의 실시형태에 따른 MDS 의 기능을 단일 칩 내에 지원하는 구성을 나타내는 블록도.2 is a block diagram illustrating a configuration for supporting the functions of an MDS in a single chip according to an embodiment of the present invention.

도 3a 는 본 발명의 실시형태에 따라 인터럽트 처리 루틴을 수행하는 프로세스를 도시하는 흐름도. 3A is a flow diagram illustrating a process for performing an interrupt processing routine in accordance with an embodiment of the present invention.

도 3b 는 인터럽트 처리 루틴에서 내부 레지스터 값 읽기/쓰기, 원하는 사용자 코드를 판독하여 외부로 전송하기, 내부 PC 값을 외부로 전송하기 등의 디버깅 명령을 수행하는 흐름도.3B is a flowchart for performing debugging instructions such as reading / writing an internal register value, reading a desired user code and sending it externally, sending an internal PC value to an outside, etc. in an interrupt processing routine.

도 3c 은 인터럽트 처리 루틴에서 내부 메모리 값 읽기/쓰기, 새로운 브레이크포인트 추가/삭제 등의 디버깅 명령을 수행하는 흐름도,3C is a flowchart for performing debugging instructions such as reading / writing internal memory values and adding / deleting new breakpoints in an interrupt processing routine;

*도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings

100 : 에바 칩을 이용한 마이크로프로세서 개발 시스템 지원 환경100: Microprocessor development system support environment using EVA chip

110 : 에바 칩 122 : FPGA110: Eva chip 122: FPGA

124 : 코드메모리 126 : 인터페이스부 124: code memory 126: interface

120, 200: 마이크로프로세서 개발 시스템 (MDS)120, 200: Microprocessor Development System (MDS)

130 : 호스트 140 : 입출력 모듈130: host 140: I / O module

202 : MDS 모드 설정부 204 : MDS 제어부202: MDS mode setting unit 204: MDS control unit

206 : 인터럽트 벡터 기록부 207 : MDS 레지스터 파일206: interrupt vector recorder 207: MDS register file

208 : 인터럽트 발생부 210 : 프로그램 저장부208: interrupt generator 210: program storage unit

211 : 사용자 응용 프로그램 저장부211: user application storage

212 : MDS 프로그램 저장부 214 : 멀티플렉서 (MUX) 212: MDS program storage unit 214: Multiplexer (MUX)

220 : MCU 코어 230 : 호스트220: MCU core 230: host

본 발명은 마이크로프로세서 개발시스템에 관한 것으로, 특히 별도의 에바 칩을 사용하지 않고도 실시간으로 디버깅 기능을 제공하는 마이크로프로세서 개발시스템에 관한 것이다.The present invention relates to a microprocessor development system, and more particularly to a microprocessor development system that provides a debugging function in real time without using a separate EVA chip.

마이크로 컨트롤러 유닛 (micro-controller unit (MCU)) 은 레지스터 이외에도 롬 (ROM), 램 (RAM) 과 같은 메모리와 입출력 장치로 구성된 집적회로 소자로서, 연산, 제어, 및 특수한 목적의 기기를 제어하는 역할을 수행한다. 반도체 기술의 발전으로 초대규모집적회로 (VLSI) 의 집적도가 향상됨에 따라 대부분의 칩은 내부에 일정 용량의 메모리를 갖는 대용량의 프로그램 롬 (Program ROM) 이 포함되어 개발이 이루어지고 있다. A micro-controller unit (MCU) is an integrated circuit device composed of memory and I / O devices such as ROM and RAM in addition to registers. It is used to control arithmetic, control, and special purpose devices. Do this. As the development of semiconductor technology improves the integration of a VLSI, most chips have a large program ROM having a certain amount of memory therein.

일반적으로 마이크로프로세서가 내장된 시스템에서 프로그램은 상술한 바와 같이 프로그램 롬에 저장되며, 개발자가 작성한 프로그램에 오류가 발생하면 프로그램을 수정하여 ROM 에 저장하고 시스템을 실행시키는 복잡하고 번거로운 작업을 반복해야 한다. 이러한 번거로운 작업들을 간단하게 하도록, 프로그램 개발자들은 마이크로프로세서가 내장된 시스템을 개발하는데 필요한 하드웨어, 소프트웨어 등을 포함하는 마이크로프로세서 개발시스템 (Microprocessor Development System (MDS)) 을 채용한다. Generally, in a system with a built-in microprocessor, a program is stored in a program ROM as described above. If an error occurs in a program written by a developer, a complicated and cumbersome task of modifying and storing the program in a ROM and executing the system must be repeated. . To simplify these cumbersome tasks, program developers employ a Microprocessor Development System (MDS), which includes the hardware, software, and the like necessary to develop a system with a built-in microprocessor.

MDS 에서는 개발자가 행한 프로그램이 맞는지 여부를 검증하는 기능, 즉 프로그램 오류를 추적하는 디버깅 기능이 가장 핵심적인 요소이다. 일반적으로, 마이크로 컨트롤러 유닛을 채용한 시스템을 설계할 때에는 MCU 내부의 신호를 측정하기 위한 입출력 단자가 더 포함된 에바 칩 (EVA Chip; Emulation chip) 을 장착한 타겟 시스템을 이용하여 설계한다. In MDS, the most important factor is the ability to verify whether the program you've run is correct, that is, the ability to debug program errors. In general, when designing a system employing a microcontroller unit, it is designed using a target system equipped with an EVA chip (EVA chip) further including an input / output terminal for measuring signals inside the MCU.

에바 칩은 실제로 사용되는 MCU 와 동일한 기능을 수행하는 칩으로서, 내부에 메모리가 없는 MCU 라고 할 수 있는데, 컴퓨터의 디버거와 통신하면서 타겟 시스템에 있는 각종 데이터를 컴퓨터로 전송해 주며, 디버거의 명령을 적절하게 변환하여 제어한다. 이러한 에바 칩이 없다면, 프로그램 개발자는 디버깅을 할 때마다, 컴퓨터에서 MCU 의 내부 메모리 또는 외부 메모리에 수정된 프로그램을 매번 다운로딩해야 한다. Eva chip is a chip that performs the same function as the MCU actually used. It can be called MCU without memory. It communicates with the debugger of the computer and transmits various data in the target system to the computer and sends the debugger commands. Control by converting as appropriate. Without these EVA chips, every time a program developer debugs, the computer must download a modified program to the MCU's internal or external memory each time.

즉, 메모리를 갖는 MCU 와 관련된 시스템을 개발하기 위해서 사용되는 MDS 는 개발 목적에 맞는 에바 칩을 별도로 요구하고 있는데, 에바 칩은 MCU 의 프로그램 롬에 저장될 프로그램을 외부의 롬 또는 램에서 페치 (fetch) 하는 것을 가능하 게 하거나, 또는 MCU 내부의 데이터 상태를 제공하여 디버깅 작업을 가능하게 한다. 이와 같이, 종래에는 롬 라이터를 이용하여 마이크로 컨트롤러 유닛에 프로그램을 저장하고 에바 칩이라는 별도의 집적회로 소자로 구성된 에뮬레이터 (Emulator) 를 사용하여 프로그램을 개발하는 방법을 사용하여 왔다. That is, MDS used to develop a system related to MCU with memory requires separate EVA chip suitable for development purpose. EVA chip fetches program to be stored in MCU program ROM from external ROM or RAM. Enable debugging, or provide data state inside MCU. As described above, in the related art, a program has been used to store a program in a microcontroller unit using a ROM writer and to develop a program using an emulator composed of a separate integrated circuit device called an EVA chip.

도 1 은 종래 기술에 따른 에바 칩을 이용한 MDS 지원 환경 (100) 을 개략적으로 도시한 도이다. 1 is a diagram schematically illustrating an MDS support environment 100 using an EVA chip according to the prior art.

도 1 에 도시된 바와 같이, 종래의 MDS 지원 환경 (100) 은, 페치 버스 (FET_BUS) 를 통해 코드를 페치하는 에바 칩 (110), FPGA (Field Programmable Gate Array; 122) 를 갖는 MDS (120), MDS (120) 와 접속되는 호스트 (130), 및 에바 칩 (110) 과 접속되는 입출력모듈 (140) 로 구성된다. 에바 칩 (110) 은 입출력 모듈 (140) 로부터 어드레스 버스 (ADR_BUS) 또는 데이터 버스 (DATA_BUS) 를 통해 제어 신호를 입력받는다. As shown in FIG. 1, a conventional MDS support environment 100 includes an EVA chip 110 that fetches code via a fetch bus FET_BUS, an MDS 120 having an FPGA (Field Programmable Gate Array) 122. , The host 130 connected to the MDS 120, and the input / output module 140 connected to the EVA chip 110. The EVA chip 110 receives a control signal from the input / output module 140 through the address bus ADR_BUS or the data bus DATA_BUS.

MDS (120) 는 내부 클럭 신호와 동기된 상태에서 에바 칩 (110) 으로부터 페치된 코드 데이터를 입력받으며 프로그램 코드를 생성하기 위한 FPGA (Field Programmable Gate Array; 122), 외부의 롬 또는 램으로 구성된 코드메모리 (124), 및 에바 칩 (110) 과의 접속을 수행하는 인터페이스부 (126) 를 포함한다. FPGA (122) 는 제어 버스 (CTR_BUS) 를 통해 인터페이스부 (126) 와 접속되며, 인터페이스부 (126) 는 제어 버스를 통해 에바 칩 (110) 과 접속된다. FPGA (122) 는 호스트 버스 (HOST_BUS) 를 통해 호스트 (130) 와 통신한다. 이러한 에바 칩 (110) 을 이용한 MDS 에서는 에바 칩 (110) 이 MCU 칩의 롬에 저장될 프로 그램을 외부의 롬 또는 램에서 페치하게 되며, 롬 또는 램과 같은 코드메모리 (124) 는 일정 비트의 명령 코드를 에바 칩 (110) 으로 전송한다.The MDS 120 receives a code data fetched from the EVA chip 110 while being synchronized with an internal clock signal, and generates an FPGA (Field Programmable Gate Array) 122 to generate a program code, and an external ROM or RAM code. A memory 124 and an interface unit 126 that performs connection with the EVA chip 110. The FPGA 122 is connected to the interface unit 126 through the control bus CTR_BUS, and the interface unit 126 is connected to the EVA chip 110 through the control bus. The FPGA 122 communicates with the host 130 via the host bus HOST_BUS. In the MDS using the EVA chip 110, the EVA chip 110 fetches a program to be stored in the ROM of the MCU chip from an external ROM or RAM, and the code memory 124 such as the ROM or RAM has a predetermined bit. Send the command code to the Eva chip (110).

그러나, 종래의 MDS 는 기존의 입출력 핀 이외에도 어드레스 버스, 데이터 버스, 및 제어 신호들을 위한 핀 구성을 추가로 요구한다. 또한, 시스템 개발 후에도 에바 칩을 별도로 설계해야 하기 때문에 에바 칩의 설계에 따른 시간 지연 및 경제적인 비용이 증가되는 문제점이 있었다. However, conventional MDSs additionally require pin configurations for address buses, data buses, and control signals in addition to existing input / output pins. In addition, since the EVA chip has to be designed separately after system development, there is a problem in that time delay and economic cost are increased according to the EVA chip design.

2002 년 3 월 26 일에 출원된 대한민국특허공개공보 제 2003-77475 호 (이하, '참고문헌 1' 이라 함) 에서는 온-칩 (on-chip) 기능의 마이크로 컴퓨터를 개시하고 있다. 이러한 온-칩 기능의 마이크로 컴퓨터는 에바 칩을 내장하는 구조를 개시하고 있다. 그러나, 이 참고문헌 1 이 언급하고 있는 온-칩 기능은 단순한 트레이스 (trace) 기능이다. 즉, 마이크로프로세서가 그 프로그램 수행 중에 관련된 레지스터, 메모리, PC 값 등을 저장하고 출력하는 기능으로서, 프로그램 개발자가 프로그램을 디버깅하기 위해서는 저장된 트레이스를 분석해야 하는 번거로움이 여전히 존재한다.Korean Patent Publication No. 2003-77475 filed on March 26, 2002 (hereinafter, referred to as Reference 1) discloses an on-chip function microcomputer. This on-chip functional microcomputer discloses a structure for embedding an EVA chip. However, the on-chip function referred to in this reference 1 is a simple trace function. That is, the function of the microprocessor to store and output the registers, memory, PC values, etc. associated with the program execution, there is still a hassle that the program developer has to analyze the stored trace to debug the program.

또한, 프로그램 개발자에게 있어서 이상적인 개발 환경은 하드웨어 개발자와 동일한 장치를 사용하는 것이다. 지원 그룹, 예를 들어 제조, 테스트, 평가 서비스는 똑같은 장치를 사용할 수 있는 것이 이상적이다. 그러나, 하드웨어 및 소프트웨어 개발자들은 서로 다른 장치를 사용하고 있어, 하드웨어/소프트웨어 문제가 발생할 때 어떤 디버깅 장치를 사용해야 할지 결정하기 어려운 문제점이 있었다.In addition, the ideal development environment for a program developer is to use the same device as the hardware developer. Ideally, support groups such as manufacturing, testing and evaluation services could use the same devices. However, hardware and software developers use different devices, which makes it difficult to determine which debugging device to use when a hardware / software problem occurs.

상기와 같은 문제점을 해결하기 위해서 본 발명의 목적은 별도의 에바 칩 없이 디버깅 기능을 구현하는 마이크로프로세서 개발시스템을 제공하는데 있다.In order to solve the above problems, an object of the present invention is to provide a microprocessor development system for implementing a debugging function without a separate EVA chip.

본 발명의 다른 목적은 종래 에바 칩이 구현하던 디버깅 기능을 인터럽트에 의한 제어에 의해 소프트웨어적으로 처리하는 마이크로프로세서 개발시스템을 제공하는데 있다.Another object of the present invention is to provide a microprocessor development system for processing a debugging function implemented by the EVA chip in software by control by an interrupt.

본 발명의 다른 목적은 하드웨어와 소프트웨어 개발자 모두가 공유할 수 있는 통합형 디버깅 장치로서 사용될 수 있는 마이크로프로세서 개발시스템을 제공하는데 있다. Another object of the present invention is to provide a microprocessor development system that can be used as an integrated debugging device that can be shared by both hardware and software developers.

상기 목적을 달성하기 위해 본 발명은 MCU 코어, 사용자의 응용 프로그램 및 MDS 프로그램을 저장하는 프로그램 저장부, 인터럽트에 의해 사용자의 응용 프로그램으로부터 MDS 프로그램으로의 모드 전환을 제어하는 MDS 제어부, 및 호스트로부터 호스트 입력을 수신하며, MDS 제어부와 접속되는 MDS 모드 설정부를 포함하며, MCU 코어는 사용자 프로그램의 실행 중에 실시간 디버깅 기능이 요구되면, MDS 제어부의 제어에 의한 프로그램의 모드 전환을 통해 MDS 프로그램을 실행시키는 것을 특징으로 하는 마이크로프로세서 개발시스템을 제공한다.In order to achieve the above object, the present invention provides an MCU core, a program storage unit for storing a user's application program and an MDS program, an MDS control unit for controlling mode switching from the user's application program to the MDS program by interrupt, and a host from the host. It receives an input, and includes an MDS mode setting unit connected to the MDS control unit, the MCU core, if the real-time debugging function is required during the execution of the user program, to execute the MDS program through the mode switching of the program under the control of the MDS control unit A microprocessor development system is provided.

상기 목적을 달성하기 위해 본 발명의 다른 형태에서는 MDS 제어부의 제어에 의한 프로그램의 모드 전환은 상기 MDS 제어부의 인터럽트 발생에 응답하여, 상기 인터럽트에 해당하는 확장 인터럽트 처리 루틴을 수행함으로써 수행되는 것을 특징 으로 하는 상술한 마이크로프로세서 개발시스템을 제공할 수도 있다.In another aspect of the present invention, in order to achieve the above object, mode switching of a program under the control of an MDS controller is performed by executing an extended interrupt processing routine corresponding to the interrupt in response to an interrupt occurrence of the MDS controller. It is also possible to provide the above-described microprocessor development system.

상기 목적을 달성하기 위해 본 발명의 다른 형태에서는 MDS 제어부는, 사용자 응용 프로그램을 중지시키는 인터럽트를 생성하는 인터럽트 발생부, 및 인터럽트 발생부에서 발생되는 인터럽트를 처리하는 확장 인터럽트 처리 루틴의 어드레스 정보를 저장하는 확장 인터럽트 벡터 기록부를 포함하고, 사용자 응용 프로그램을 중지시키는 인터럽트가 발생되면, MCU 코어는 응용 프로그램으로부터의 프로그램 페치를 중단하고, MDS 프로그램으로부터의 프로그램 페치를 시작하는 것을 특징으로 하는 상술한 마이크로프로세서 개발시스템을 제공할 수도 있다.In another aspect of the present invention, in order to achieve the above object, the MDS control unit stores an interrupt generation unit for generating an interrupt for stopping a user application program, and address information of an extended interrupt processing routine for processing an interrupt generated from the interrupt generation unit. And an extended interrupt vector recorder, wherein when an interrupt occurs to stop the user application, the MCU core stops program fetch from the application and starts program fetch from the MDS program. You can also provide a development system.

상기 목적을 달성하기 위해 본 발명의 다른 형태에서는 확장 인터럽트 처리 루틴은 MCU 코어에 내장된 인터럽트 처리 루틴을 확장하여 이루어지는 것을 특징으로 하는 상술한 마이크로프로세서 개발시스템을 제공할 수도 있다.In another aspect of the present invention, in order to achieve the above object, the extended interrupt processing routine may provide the above-described microprocessor development system, which is formed by extending the interrupt processing routine embedded in the MCU core.

상기 목적을 달성하기 위해 본 발명의 다른 형태에서는 인터럽트는 호스트 버스 입력에 따라 MDS 모드 설정부에서 판단됨으로써 생성되는 것을 특징으로 하는 상술한 마이크로프로세서 개발시스템을 제공할 수도 있다.In another aspect of the present invention, the interrupt may be provided by the MDS mode setting unit according to the host bus input to generate the microprocessor development system described above.

상기 목적을 달성하기 위해 본 발명의 다른 형태에서는 인터럽트는 사용자 응용 프로그램 상의 소정 부분에 브레이크포인트를 설정함으로써 생성되는 것을 특징으로 하는 상술한 마이크로프로세서 개발시스템을 제공할 수도 있다.In another aspect of the present invention, in order to achieve the above object, an interrupt may be provided by the microprocessor development system described above, wherein the interrupt is generated by setting a breakpoint on a predetermined portion of the user application program.

상기 목적을 달성하기 위해 본 발명의 다른 형태에서는 MCU 코어는 인터럽트 처리가 종료되면 다시 사용자 응용 프로그램을 실행시키는 것을 특징으로 하는 상술한 마이크로프로세서 개발시스템을 제공할 수도 있다.In another aspect of the present invention, in order to achieve the above object, the MCU core may provide the above-described microprocessor development system, wherein the user application program is executed again when the interrupt processing ends.

상기 목적을 달성하기 위해 본 발명의 다른 형태에서는 사용자 용용 프로그램과 MDS 프로그램 중 하나를 선택하기 위한 멀티플렉서를 더 포함하는 것을 특징으로 하는 상술한 마이크로프로세서 개발시스템을 제공할 수도 있다.In order to achieve the above object, another aspect of the present invention may provide the above-described microprocessor development system, further comprising a multiplexer for selecting one of a user-use program and an MDS program.

상기 목적을 달성하기 위해 본 발명의 다른 형태에서는 확장 인터럽트 처리 루틴에서는 사용자의 명령에 따라, 내부 레지스터 값 읽기/쓰기, 내부 메모리 값 읽기/쓰기, 새로운 브레이크포인트 추가/삭제의 디버깅 명령을 수행하는 것을 특징으로 하는 마이크로프로세서 개발시스템을 제공할 수도 있다.In another aspect of the present invention, in order to achieve the above object, in the extended interrupt processing routine, according to a user's command, the debugging instructions for reading / writing internal register values, reading / writing internal memory values, and adding / deleting new breakpoints are performed. A microprocessor development system may be provided.

상술한 마이크로프로세서 개발시스템은 별도의 에바 칩 없이 단일 칩으로 구현하는 것을 특징으로 하는 마이크로프로세서 개발시스템일 수도 있다.The microprocessor development system described above may be a microprocessor development system characterized in that it is implemented as a single chip without a separate EVA chip.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 이 실시예는 당해 기술 분야에서 통상의 지식을 가진 자들이 본 발명을 실시할 수 있게 충분히 상세하게 기술한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. This embodiment is described in sufficient detail to enable those skilled in the art to practice the invention.

도 2 는 본 발명의 실시형태에 따른 MDS 의 기능을 단일 칩 내에 지원하는 구성을 나타내는 블록도이다.2 is a block diagram showing a configuration for supporting the functions of an MDS in a single chip according to an embodiment of the present invention.

도 2 를 참조하면, 본 발명의 실시형태에서는, 사용자가 개발하려고 하는 사용자 응용 프로그램이 실행되는 모드 (이하 '사용자 모드' 라 한다) 및 개발하려고 하는 프로그램을 디버깅 할 때의 모드 (이하, 'MDS 모드' 라 한다) 로 구분하고, 2 가지 모드의 전환을 인터럽트에 의해 제어하는 방식으로 구현된다. 구체적으로, MDS 모드에서는 MDS 제어부에서 생성된 인터럽트에 의해 사용자 응용 프로그램 대신 MDS 프로그램을 수행함으로써, 디버깅 시에 시스템 개발자가 원하는 MCU 내부 의 데이터 상태를 제공한다.Referring to FIG. 2, in the embodiment of the present invention, a mode in which a user application program to be developed is executed (hereinafter referred to as a 'user mode') and a mode for debugging a program to be developed (hereinafter, 'MDS') are described. Mode ”, and the switching between the two modes is controlled by interrupts. Specifically, in the MDS mode, an MDS program is executed instead of a user application program by an interrupt generated by the MDS controller, thereby providing a data state inside the MCU desired by the system developer during debugging.

본 발명에 따른 마이크로프로세서 개발시스템 (200) 은 호스트 버스 (HOST_BUS) 에 의한 입력을 수신하여 MDS 모드로 세팅해주는 MDS 모드 설정부 (202), MDS 모드 및 사용자 모드 상호간의 모드 변경에 대한 제어를 담당하는 MDS 제어부 (204), 사용자 모드에서 실행되는 사용자의 응용 프로그램 및 MDS 모드에서 실행되는 MDS 프로그램이 저장된 프로그램 저장부 (210), 사용자 응용 프로그램과 MDS 프로그램 중 하나를 선택하기 위한 멀티플렉서 (MUX; 214), 및 MCU 코어 (220) 를 포함한다. The microprocessor development system 200 according to the present invention is responsible for controlling the mode change between the MDS mode setting unit 202, MDS mode and user mode, which receives an input by the host bus (HOST_BUS) and sets the MDS mode. The MDS control unit 204, a program storage unit 210 in which an application program of a user running in a user mode and an MDS program stored in an MDS mode are stored, and a multiplexer (MUX) for selecting one of a user application program and an MDS program. ), And the MCU core 220.

또한, MDS 제어부 (204) 는 확장 인터럽트 벡터 기록부 (206), MDS 레지스터 파일 (207), 및 인터럽트 발생부 (208) 를 포함한다. 또한, 프로그램 저장부 (210) 는 사용자의 응용 프로그램이 저장된 사용자 응용 프로그램 저장부 (211) 및 MDS 프로그램이 저장된 MDS 프로그램 저장부 (212) 를 포함한다. 이러한 마이크로프로세서 개발시스템 (200) 은 호스트 (230) 와 호스트버스에 의해 연결되며, 호스트 (230) 는 마이크로프로세서의 디버깅을 위한 시스템으로서 퍼스널 컴퓨터 또는 워크 스테이션으로 구성된다. The MDS control unit 204 also includes an extended interrupt vector recording unit 206, an MDS register file 207, and an interrupt generation unit 208. The program storage unit 210 also includes a user application program storage unit 211 in which a user's application program is stored, and an MDS program storage unit 212 in which an MDS program is stored. The microprocessor development system 200 is connected by the host 230 and the host bus, the host 230 is configured as a personal computer or workstation as a system for debugging the microprocessor.

MDS 관련 제어를 담당하는 MDS 제어부 (204) 는 제어 버스 (CTR_BUS) 또는 데이터 버스 (DATA_BUS) 를 통해 MDS 모드 설정부 (202) 와 접속된다. 멀티플렉서 (214) 는 MDS 제어부 (204) 의 제어에 의해 응용 프로그램 또는 MDS 프로그램을 수행할지를 선택한다. The MDS control unit 204 in charge of MDS-related control is connected to the MDS mode setting unit 202 through the control bus CTR_BUS or the data bus DATA_BUS. The multiplexer 214 selects whether to execute an application program or an MDS program under the control of the MDS control unit 204.

본 발명에 따른 마이크로프로세서 개발시스템에서는 프로그램 수행 중에 요 청되는 인터럽트에 의해 사용자 모드로부터 MDS 모드로의 전환을 수행한다. 구체적으로, MCU 코어 (220) 는 인터럽트 발생에 응답하여 사용자 모드에서 MDS 모드로 전환하며, 현재 처리 중인 명령을 중지하고 요청된 인터럽트에 해당하는 인터럽트 처리 루틴을 수행한다. 또한, 인터럽트 처리가 종료되면 다시 사용자 모드로 전환되어, 수행 중이었던 사용자 응용 프로그램으로 돌아간다. In the microprocessor development system according to the present invention, a switch from the user mode to the MDS mode is performed by an interrupt requested during program execution. Specifically, the MCU core 220 switches from the user mode to the MDS mode in response to the occurrence of the interrupt, stops the instruction currently being processed, and performs an interrupt processing routine corresponding to the requested interrupt. In addition, when the interruption process ends, the process returns to the user mode and returns to the user application that was being executed.

이러한 MCU 코어 (220) 의 상태를 MDS 모드로 전환시킬 수 있는 인터럽트는 두 가지 방법에 의해 MDS 제어부 (204) 에서 발생할 수 있다. 제 1 방법은 사용자가 강제적으로 마이크로프로세서를 정지시키는 것이며, 제 2 방법은 사용자가 프로그램 상에서 원하는 위치에 마이크로프로세서를 정지시키는 것이다. 즉, 제 1 방법은 사용자가 뜻하지 않은 프로그램 부분을 수행하는 경우에 인터럽트를 발생시키는 방법이며, 제 2 방법은 사용자가 의도했던 경우에 인터럽트를 발생시키는 방법이다. An interrupt capable of switching the state of the MCU core 220 to the MDS mode may be generated in the MDS controller 204 by two methods. The first method is forcing the user to stop the microprocessor, and the second method is for stopping the microprocessor at the desired location on the program. That is, the first method is a method of generating an interrupt when a user performs an unexpected program part, and the second method is a method of generating an interrupt when a user intends to.

좀 더 자세하게는, 제 1 방법은 프로그램 무한 루프와 같이 사용자가 뜻하지 않은 처리를 하게 되는 경우, 프로그램의 어느 부분이 수행되고 있는지를 판단하기 위해 사용된다. 사용자가 "stop" 명령어를 주면, 마이크로프로세서는 현재 수행중인 프로그램에서 정지하게 된다. 이 인터럽트는, 호스트 (230) 로부터 호스트 버스에 의한 입력에 의해 MDS 모드설정부 (202) 에서 판단되어 MDS 제어부(204) 에 전달되어 발생된다. In more detail, the first method is used to determine which part of a program is being executed when a user performs an unexpected process such as a program infinite loop. When the user gives the "stop" command, the microprocessor stops at the currently running program. This interrupt is determined by the MDS mode setting unit 202 by the input by the host bus from the host 230, and is transmitted to the MDS control unit 204 to be generated.

반면, 제 2 방법은 사용자가 디버깅 정보를 보기를 원하는 경우, 사용된다. 이 경우에는 예를 들어, C 언어 프로그램 "a=b+1;" 과 같은 프로그램의 소정 부분 에 브레이크포인트를 정하면, 마이크로프로세서가 이 프로그램의 소정 부분을 수행하기 전에 정지하게 된다. 이 인터럽트는, 메모리 장치의 프로그램 카운터 (PC) 값 또는 브레이크포인트에 의해 발생된다.On the other hand, the second method is used when the user wants to see debugging information. In this case, for example, the C language program "a = b + 1;" If a breakpoint is placed on a portion of the program, the microprocessor stops before executing the portion of the program. This interrupt is generated by a program counter (PC) value or a breakpoint in the memory device.

상술한 제 1 방법 및 제 2 방법에 의해 인터럽트가 발생되면, MCU 코어 (220) 는 자동적으로 MDS 인터럽트의 어드레스로 분기하여 인터럽트 처리 루틴을 수행한다. 표 1 은 본 실시형태에 따른 인터럽트 처리 루틴의 인터럽트 소스를 나타낸다.When an interrupt is generated by the first method and the second method described above, the MCU core 220 automatically branches to the address of the MDS interrupt to perform an interrupt processing routine. Table 1 shows the interrupt source of the interrupt processing routine according to the present embodiment.

Figure 112005062011975-pat00001
Figure 112005062011975-pat00001

표 1 을 참조하면, 좌측의 표는 기존 MCU 의 인터럽트 소스, 즉 인터럽트 처리 루틴을 확장하기 전의 인터럽트 소스이고, 우측의 표는 기존 MCU 의 인터럽트 처리 루틴에 "MDS interrupt" 를 추가한 확장 인터럽트 소스이다. MDS 모드로 전환되는 인터럽트가 발생되면, 마이크로프로세서는 자동적으로 어드레스 002Bh 로 분기하게 되어 인터럽트 처리 루틴을 수행하게 된다. Referring to Table 1, the table on the left shows the interrupt source of the existing MCU, that is, the interrupt source before extending the interrupt handling routine, and the table on the right shows the extended interrupt source that adds "MDS interrupt" to the interrupt handling routine of the existing MCU. . When an interrupt occurs that switches to MDS mode, the microprocessor automatically branches to address 002Bh to perform the interrupt handling routine.

상술한 프로세스는 도 2 에 도시된 MDS 제어부 (204) 에 의해 제어된다. 도 2 에 도시된 바와 같이, MDS 제어부 (204) 는 확장 인터럽트 벡터 기록부 (206), MDS 레지스터 파일 (207), 및 인터럽트 발생부 (208) 를 포함한다. 확장 인터럽트 벡터 기록부 (206) 는 종래의 MCU 의 인터럽트 처리 루틴에 추가하여 인터럽트 발생부 (206) 에서 발생되는 인터럽트 처리 루틴의 어드레스 정보를 저장한다. MDS 레지스터 파일 (207) 은 상태 레지스터 및 범용 레지스터 파일에 저장된 데이터들을 임시 저장하며, 이 데이터들은 MDS 모드에서 MDS 프로그램이 수행되면서 사용된다. 인터럽트 발생부 (208) 는 정해진 PC 값에 의해, 또는 데이터 액세스시 브레이크포인트에 의해 응용 프로그램이 멈추게끔 인터럽트를 생성하게 된다.The above-described process is controlled by the MDS control unit 204 shown in FIG. As shown in FIG. 2, the MDS control unit 204 includes an extended interrupt vector recording unit 206, an MDS register file 207, and an interrupt generation unit 208. The extended interrupt vector recording unit 206 stores address information of the interrupt processing routine generated by the interrupt generator 206 in addition to the interrupt processing routine of the conventional MCU. The MDS register file 207 temporarily stores data stored in the status register and the general purpose register file, which are used while the MDS program is executed in the MDS mode. The interrupt generator 208 generates an interrupt to stop the application program by a predetermined PC value or by a breakpoint when accessing data.

MDS 모드로 전환하게 하는 인터럽트가 생성되면, MCU 코어 (220) 는 사용자 응용 프로그램 저장부 (210) 로부터의 프로그램 페치를 중단하고, PC 값을 확장 인터럽트 벡터로 변경시킨다. 그 후, MCU 코어 (220) 는 MDS 프로그램 저장부 (212) 로부터의 프로그램 페치를 시작한다. MDS 프로그램 저장부 (212) 는 확장 인터럽트 처리 루틴을 포함한다. MDS 모드에서의 작업이 완료된 후에는 확장 인터럽트 처리 루틴 내의 "return interrupt" 와 같은 MCU 코어 (220) 의 내부 명령어에 의해 PC 값이 MDS 모드로의 전환 이전의 PC 값으로 변경되어 응용 프로그램을 계속적으로 수행하게 된다. Once an interrupt is generated that causes the transition to MDS mode, MCU core 220 stops program fetch from user application store 210 and changes the PC value to an extended interrupt vector. The MCU core 220 then starts fetching the program from the MDS program store 212. The MDS program store 212 includes an extended interrupt processing routine. After the operation in the MDS mode is completed, the internal values of the MCU core 220, such as "return interrupt" in the extended interrupt handling routine, change the PC value to the PC value prior to switching to the MDS mode to continue the application. Will be performed.

도 3a 내지 도 3c 는 본 발명의 실시형태에 따라 인터럽트 처리 루틴을 수행하는 프로세스를 도시하는 흐름도이다.3A-3C are flow diagrams illustrating a process for performing an interrupt processing routine in accordance with an embodiment of the invention.

도 3a 에 도시된 바와 같이, 상술한 제 1 방법 및 제 2 방법에 의해 인터럽트가 발생되면 (S100), 자동적으로 MDS 인터럽트의 어드레스로 분기하여 인터럽트 처리 루틴으로 진입하고, 레지스터 값들을 백업한다 (S120). As shown in FIG. 3A, when an interrupt is generated by the first method and the second method described above (S100), the method automatically branches to the address of the MDS interrupt, enters the interrupt processing routine, and backs up the register values (S120). ).

인터럽트 처리 루틴에서는 사용자의 명령에 따라, 내부 레지스터 값 읽기/쓰기, 내부 메모리 값 읽기/쓰기, 새로운 브레이크포인트 추가/삭제 등의 디버깅 명령을 수행하게 된다.The interrupt processing routine executes debugging commands such as reading / writing internal register values, reading / writing internal memory values, and adding / deleting new breakpoints according to user instructions.

도 3b 에서는 내부 레지스터 값 읽기/쓰기, 원하는 사용자 코드를 판독하여 외부로 전송하기, 내부 PC 값을 외부로 전송하기 등의 디버깅 명령을 수행하는 프로세스를 도시한다. 예를 들어, "command=resume/start" 의 명령어에 의해 레지스터 값을 저장하고 MDS 인터럽트 루틴을 종료하며, "command=STEP" 의 명령어에 의해 레지스터 값을 저장하고 다음 프로그램 코드에 브레이크포인트를 설정한 후 MDS 인터럽트 루틴을 종료한다. "command=Write SFR" 의 명령어의 경우, 외부로부터 업데이트하고자 하는 레지스터 값을 수신하여 업데이트를 하며, "command=Read SFRs" 의 명령어의 경우, 내부 레지스터 값을 외부로 전송한다. 또한, "command=Read CODE" 의 명령어를 수신하면, 원하는 사용자 프로그램 코드를 판독하여 외부로 전송하게 되며, "command=Read PC" 의 명령어를 수신하면, 내부의 PC 값을 외부로 전송하게 된다.3B shows a process for performing debugging commands such as reading / writing an internal register value, reading a desired user code and transmitting it to the outside, and sending an internal PC value to the outside. For example, save the register value by the instruction of "command = resume / start" and end the MDS interrupt routine, save the register value by the instruction of "command = STEP" and set breakpoint in the next program code. The MDS interrupt routine is then terminated. In case of the command of "command = Write SFR", it updates by receiving the register value to update from the outside, and in case of the command of "command = Read SFRs", it transmits the internal register value to the outside. In addition, when a command of "command = Read CODE" is received, a desired user program code is read and transmitted to the outside. When a command of "command = Read PC" is received, the internal PC value is transmitted to the outside.

도 3c 에서는 내부 메모리 값 읽기/쓰기, 새로운 브레이크포인트 추가/삭제 등의 디버깅 명령을 수행하는 프로세스를 도시한다. 예를 들어, "command=Read IRAM" 의 명령어는 원하는 내부 메모리 값을 외부로 전송하는 기능을 수행하며, "command=Read XRAM" 의 명령어는 원하는 외부 메모리 값을 외부로 전송하는 기능을 수행한다. "command=Write IRAM" 및 "command =Write XRAM" 의 명령어는 각각 외부로부터 업데이트하고자 하는 내부 메모리와 외부 메모리 값을 수신하여 업데이트를 한다. 또한, "command=Reset" 의 명령어는 칩 내부에 리셋을 발생시키며, "command=Set S/W BP" 는 원하는 위치에 소프트웨어 브레이크포인트를 지정하며, "command=Clear S/W BP" 는 지정된 위치의 S/W 브레이크포인트를 제거한다.3C illustrates a process of performing debugging commands such as reading / writing internal memory values and adding / deleting new breakpoints. For example, a command of "command = Read IRAM" transmits a desired internal memory value to the outside, and a command of "command = Read XRAM" transmits a desired external memory value to the outside. The command of "command = Write IRAM" and "command = Write XRAM" receives and updates the internal memory and the external memory value to be updated from the outside, respectively. In addition, a command of "command = Reset" generates a reset inside the chip, "command = Set S / W BP" specifies a software breakpoint at a desired location, and "command = Clear S / W BP" is a specified location. Remove S / W breakpoints.

이와 같이, 본 발명에 따른 MDS 시스템에서는 에바 칩이 구현하던 디버깅 기능을 인터럽트에 의한 제어에 의해 소프트웨어적으로 처리할 수 있다.As described above, in the MDS system according to the present invention, the debugging function implemented by the EVA chip can be processed in software by controlling the interrupt.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to a preferred embodiment of the present invention, those skilled in the art will be variously modified and changed within the scope of the invention without departing from the spirit and scope of the invention described in the claims below I can understand that you can.

상기와 같은 본 발명에 따르면, 마이크로프로세서 개발시스템에서 요구하는 디버깅 기능을 에바 칩이 아닌 단일 칩 내에서 구현하여, 별도의 에바 칩의 구입이 요구되지 않으므로, 마이크로프로세서의 디버깅을 위한 마이크로프로세서 개발시스템을 저렴한 비용으로 구현할 수 있으며, 개발 기간을 감소시킬 수 있다.According to the present invention as described above, since the debugging function required by the microprocessor development system is implemented in a single chip instead of an EVA chip, a separate EVA chip is not required to be purchased, so that the microprocessor development system for debugging the microprocessor is required. Can be implemented at low cost, and the development period can be reduced.

또한, 본 발명에 따르면, 종래 에바 칩이 구현하던 디버깅 기능을 인터럽트에 의한 제어에 의해 소프트웨어적으로 처리하기 때문에, 트레이스 방법과는 달리 하드웨어 자원 소비를 감소시킬 수 있고, 상당한 비용 절감 효과를 가져온다.In addition, according to the present invention, since the debugging function previously implemented by the EVA chip is software-processed by the control by interrupt, unlike the trace method, hardware resource consumption can be reduced, and a significant cost reduction effect is obtained.

또한, 본 발명에 따르면, 사용자 모드에서 실행되는 응용 프로그램과 MDS 모드에서 실행되는 MDS 프로그램을 구분하여, MDS 모드에서는 MDS 제어부에서 생성된 인터럽트에 의해 응용 프로그램 대신 MDS 프로그램을 수행함으로써, 프로그램 개발자가 원하는 프로그램의 수정을 용이하고 신속하게 수행할 수 있다.In addition, according to the present invention, by separating the application program running in the user mode and the MDS program running in the MDS mode, in the MDS mode by performing the MDS program instead of the application program by the interrupt generated in the MDS controller, program developers want The modification of the program can be performed easily and quickly.

따라서, 실시간으로 행해지는 디버깅 기능을 제공하므로, 프로그램 개발자는 원하는 디버깅 정보를 용이하게 획득할 수 있으며, 프로그램 개발자가 원하는 MCU 내부의 데이터 상태를 보다 신속하게 제공하기 때문에, 마이크로프로세서와 호스트 사이의 통신 데이터량은 감소되고, 이에 따라 하드웨어 자원을 절약할 수 있다.Therefore, by providing a debugging function performed in real time, the program developer can easily obtain the desired debugging information, and provides a faster data state inside the MCU desired by the program developer, thereby communicating between the microprocessor and the host. The amount of data is reduced, thus saving hardware resources.

또한, 호스트 컴퓨터 상에서 소프트웨어 디버깅을 실행할 수 있도록 하여, 내부 레지스터 값 읽기/쓰기, 내부 메모리 값 읽기/쓰기, 새로운 브레이크포인트 추가/삭제 명령 등의 디버깅 기능을 제공할 수 있으며, 프로그램 개발자와 하드웨어 개발자가 공유할 수 있는 통합형 마이크로프로세서 개발시스템을 제공할 수 있다.In addition, software debugging can be executed on the host computer to provide debugging functions such as reading / writing internal register values, reading / writing internal memory values, and adding / deleting new breakpoints. It is possible to provide an integrated microprocessor development system that can be shared.

Claims (10)

MCU 코어;MCU core; 사용자의 응용 프로그램 및 MDS 프로그램을 저장하는 프로그램 저장부; A program storage unit for storing a user's application program and MDS program; 인터럽트에 의해 상기 사용자의 응용 프로그램으로부터 상기 MDS 프로그램으로의 모드 전환을 제어하는 MDS 제어부; 및An MDS controller for controlling mode switching from the application program of the user to the MDS program by an interrupt; And 호스트로부터 호스트 입력을 수신하며, 상기 MDS 제어부와 접속되는 MDS 모드 설정부를 포함하며,Receiving a host input from a host and including an MDS mode setting unit connected to the MDS control unit; 상기 MCU 코어는 상기 사용자 응용 프로그램의 실행 중에 사용자의 실시간 디버깅 기능이 요구되면, 상기 MDS 제어부의 제어에 의한 프로그램의 모드 전환을 통해 상기 MDS 프로그램을 실행시키는 것을 특징으로 하는 마이크로프로세서 개발시스템.And the MCU core executes the MDS program by switching a mode of the program under the control of the MDS controller when a real time debugging function of the user is required during execution of the user application program. 제 1 항에 있어서,The method of claim 1, 상기 MDS 제어부의 제어에 의한 프로그램의 모드 전환은 상기 MDS 제어부에서 발생되는 인터럽트에 응답하여, 상기 인터럽트에 해당하는 확장 인터럽트 처리 루틴을 수행함으로써 수행되는 것을 특징으로 하는 마이크로프로세서 개발시스템.Mode switching of the program under the control of the MDS control unit is performed by performing an extended interrupt processing routine corresponding to the interrupt in response to the interrupt generated by the MDS control unit. 제 1 항에 있어서,The method of claim 1, 상기 MDS 제어부는, The MDS control unit, 상기 사용자 응용 프로그램을 중지시키는 인터럽트를 생성하는 인터럽트 발생부; 및An interrupt generator for generating an interrupt to stop the user application program; And 상기 인터럽트 발생부에서 발생되는 인터럽트를 처리하는 확장 인터럽트 처리 루틴의 어드레스 정보를 저장하는 확장 인터럽트 벡터 기록부를 포함하고,An extended interrupt vector recording unit for storing address information of an extended interrupt processing routine for processing interrupts generated by the interrupt generator; 상기 사용자 응용 프로그램을 중지시키는 인터럽트가 발생되면, 상기 MCU 코어는 상기 응용 프로그램으로부터의 프로그램 페치를 중단하고, 상기 MDS 프로그램으로부터의 프로그램 페치를 시작하는 것을 특징으로 하는 마이크로프로세서 개발시스템.And if an interrupt occurs to stop the user application, the MCU core stops program fetch from the application and initiates a program fetch from the MDS program. 제 2 항 또는 제 3 항에 있어서,The method of claim 2 or 3, 상기 확장 인터럽트 처리 루틴은 상기 MCU 코어에 내장된 인터럽트 처리 루틴을 확장하여 이루어지는 것을 특징으로 하는 마이크로프로세서 개발시스템.The extended interrupt processing routine is a microprocessor development system, characterized in that by extending the interrupt processing routine embedded in the MCU core. 제 2 항 또는 제 3 항에 있어서,The method of claim 2 or 3, 상기 MDS 제어부에서 발생되는 인터럽트는 상기 호스트 버스 입력에 따라 상기 MDS 모드 설정부에서 판단됨으로써 생성되는 것을 특징으로 하는 단일 칩으로 구현된 마이크로프로세서 개발시스템.The interrupt generated by the MDS control unit is a microprocessor development system implemented with a single chip, characterized in that generated by the determination in the MDS mode setting unit according to the host bus input. 제 2 항 또는 제 3 항에 있어서,The method of claim 2 or 3, 상기 MDS 제어부에서 발생되는 인터럽트는 상기 사용자 응용 프로그램 상의 소정 부분에 브레이크포인트를 설정함으로써 생성되는 것을 특징으로 하는 단일 칩으로 구현된 마이크로프로세서 개발시스템.The interrupt generated by the MDS controller is generated by setting a breakpoint in a predetermined portion on the user application program. 제 2 항 또는 제 3 항에 있어서,The method of claim 2 or 3, 상기 MCU 코어는 상기 MDS 제어부에서 발생되는 인터럽트 처리가 종료되면 다시 사용자 응용 프로그램을 실행시키는 것을 특징으로 하는 마이크로프로세서 개발시스템.And the MCU core executes the user application again when the interrupt processing generated by the MDS controller is completed. 제 1 항에 있어서,The method of claim 1, 상기 사용자 용용 프로그램과 상기 MDS 프로그램 중 하나를 선택하기 위한 멀티플렉서를 더 포함하는 것을 특징으로 하는 마이크로프로세서 개발시스템.And a multiplexer for selecting one of the user-use program and the MDS program. 제 2 항에 있어서,The method of claim 2, 상기 확장 인터럽트 처리 루틴에서는 사용자의 명령에 따라 디버깅 명령을 수행하며,The extended interrupt handling routine performs a debugging command according to a user's command, 상기 디버깅 명령은 내부 레지스터 값 읽기/쓰기, 내부 메모리 값 읽기/쓰기, 새로운 브레이크포인트 추가/삭제 명령을 포함하는 것을 특징으로 하는 마이크로프로세서 개발시스템.The debugging command may include an internal register value read / write, an internal memory value read / write, and a new breakpoint add / delete command. 제 1 항에 있어서,The method of claim 1, 상기 마이크로프로세서 개발시스템은 별도의 에바 칩 없이 단일 칩으로 구현하는 것을 특징으로 하는 마이크로프로세서 개발시스템.The microprocessor development system is a microprocessor development system, characterized in that implemented as a single chip without a separate EVA chip.
KR1020050102531A 2005-10-28 2005-10-28 Microprocessor development system KR100658485B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050102531A KR100658485B1 (en) 2005-10-28 2005-10-28 Microprocessor development system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050102531A KR100658485B1 (en) 2005-10-28 2005-10-28 Microprocessor development system

Publications (1)

Publication Number Publication Date
KR100658485B1 true KR100658485B1 (en) 2006-12-19

Family

ID=37814709

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050102531A KR100658485B1 (en) 2005-10-28 2005-10-28 Microprocessor development system

Country Status (1)

Country Link
KR (1) KR100658485B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6668339B1 (en) 1999-07-28 2003-12-23 Mitsubishi Denki Kabushiki Kaisha Microprocessor having a debug interruption function

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6668339B1 (en) 1999-07-28 2003-12-23 Mitsubishi Denki Kabushiki Kaisha Microprocessor having a debug interruption function

Similar Documents

Publication Publication Date Title
US8180620B2 (en) Apparatus and method for performing hardware and software co-verification testing
US6668339B1 (en) Microprocessor having a debug interruption function
US4879646A (en) Data processing system with a pipelined structure for editing trace memory contents and tracing operations during system debugging
KR100350568B1 (en) Data processing system and method for performing debug functions
US6311292B1 (en) Circuit, architecture and method for analyzing the operation of a digital processing system
JP4190114B2 (en) Microcomputer
US4633417A (en) Emulator for non-fixed instruction set VLSI devices
JP3105223B2 (en) Debug peripherals for microcomputers, microprocessors and core processor integrated circuits
JP4475734B2 (en) Data processing apparatus and data processing method
US7506205B2 (en) Debugging system and method for use with software breakpoint
US7584456B1 (en) Method and apparatus for debugging embedded systems having read only memory
US20100153786A1 (en) Processor, multiprocessor, and debugging method
US7428661B2 (en) Test and debug processor and method
US20030100133A1 (en) System-on-chip breakpoint synchronization
JP2001051874A (en) Microcomputer
JPH11272493A (en) Cpu initialization method for emulation
US7100027B1 (en) System and method for reproducing system executions using a replay handler
KR100658485B1 (en) Microprocessor development system
US20020188813A1 (en) On-chip hardware breakpoint generator with comprehensive memory operation detection
WO2022235265A1 (en) Debug channel for communication between a processor and an external debug host
KR0177742B1 (en) Micro controller development system
KR100952762B1 (en) Real-time debugging method of digital signal processor
US7124311B2 (en) Method for controlling processor in active/standby mode by third decoder based on instructions sent to a first decoder and the third decoder
JP2004038464A (en) Microcomputer with built-in debugging function
US20030120854A1 (en) Method and apparatus for increasing the memory read/write speed by using internal registers

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121024

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130930

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141010

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151210

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161209

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20171208

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20181210

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20191210

Year of fee payment: 14