KR0177742B1 - Micro controller development system - Google Patents

Micro controller development system Download PDF

Info

Publication number
KR0177742B1
KR0177742B1 KR1019950045687A KR19950045687A KR0177742B1 KR 0177742 B1 KR0177742 B1 KR 0177742B1 KR 1019950045687 A KR1019950045687 A KR 1019950045687A KR 19950045687 A KR19950045687 A KR 19950045687A KR 0177742 B1 KR0177742 B1 KR 0177742B1
Authority
KR
South Korea
Prior art keywords
microcontroller
data
data processing
processing system
register unit
Prior art date
Application number
KR1019950045687A
Other languages
Korean (ko)
Other versions
KR960024962A (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 윤종용
Publication of KR960024962A publication Critical patent/KR960024962A/en
Application granted granted Critical
Publication of KR0177742B1 publication Critical patent/KR0177742B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors

Abstract

본 발명은 마이크로 콘트롤러 디벨롭먼트 시스템에 관한 것으로서, 업로딩, 다운로딩, 브레이크 포인트 및 싱글 스텝을 구현하기 위한 회로가 마이크로 콘트롤러와 하나의 칩에 내장되며, 소프트웨어 인터럽트인 트랩명령어를 사용하여 엠디에스의 기능을 수행하고, 병렬포트를 사용하여 퍼스널 컴퓨터와 인터페이스를 하여 원칩 엠디에스를 구현한다.The present invention relates to a microcontroller development system, in which circuits for implementing uploading, downloading, breakpoints, and single steps are embedded in a microcontroller and a single chip, using a trap instruction that is a software interrupt. It executes the functions and interfaces with a personal computer using a parallel port to implement one-chip MDS.

Description

마이크로 콘트롤러의 칩내에 합체 가능한 마이크로 콘트롤러 디벨롭먼트 시스템Microcontroller development system that can be integrated into the chip of the microcontroller

제1도는 본 발명에 따라 원칩내에 마이크로 콘트롤러와 합체된 마이크로 콘트롤러 디벨롭먼트 시스템의 전체 구성을 보여주는 블럭도.1 is a block diagram showing the overall configuration of a microcontroller development system incorporating a microcontroller in a single chip in accordance with the present invention.

제2도는 제1도중 원칩형 엠디에스의 세부구성을 보여주는 블럭도 .2 is a block diagram showing the detailed configuration of the one-chip type MS in FIG.

제3도는 본 발명의 일 실시예로서 제2도중 엠디에스 블록의 세부회로 블록도.3 is a detailed circuit block diagram of an MS block of FIG. 2 as an embodiment of the present invention.

제4도는 제3도중 트랩명령 발생부의 구체 회로도이다.4 is a detailed circuit diagram of the trap command generation unit in FIG.

본 발명은 프로그램 디버깅 및 에뮬레이션 기능을 위해 마이크로 콘트롤러등과 같은 데이터 처리장치와 관련하여 사용되는 마이크로 콘트롤러 디벨롭먼트 시스템(microcon t roller development system:이하 엠디에스(MDS)'라 칭함)에 관한것으로,더욱 상세하게는 디벨롭먼트 지원 기능을 구현하기 위해 요구되어지는 부가적인 하드웨어를 최소화할 수 있는 마이크로 콘트롤러 디벨롭먼트 장치에 관한 것이다.The present invention relates to a microcontroller development system (MDS), which is used in connection with a data processing device such as a microcontroller for program debugging and emulation functions. More specifically, the present invention relates to a microcontroller development apparatus capable of minimizing additional hardware required to implement a development support function.

일반적으로, 엠디에스는 하드웨어 및 소프트웨어의 디버깅(debugging)을 어시스트하기 위해 마이크로 콘트롤러등과 같은 데이터 처리장치와 관련하여 사용되어진다. 이러한 엠디에스의 전형적인 기능은 브레이크 포인트의 삽입 및 브레이크 포인트에 대한 응답, 시험을 위해 상기 데이터 프로세서의 실행을 정지, 필요에 따라서는 각종 시스템 레지스터등의 내용을 변경, 및 소프트 웨어의 실행을 추적(tracing)하는 것을 포함한다In general, MDS is used in connection with data processing devices such as microcontrollers to assist in debugging hardware and software. These typical functions of MSDS include inserting and responding to breakpoints, stopping execution of the data processor for testing, changing contents of various system registers as necessary, and tracking the execution of software. includes tracing)

상기 엠디에스는 소프트웨어와 하드웨어를 가지며, 초기에 프로그램 메모리로 프로그램 데이터를 다운로딩시켜 줌에 의해 상기 데이터 처리장치가 로딩된데이타를 페치하여 프로그램을 비로서 실행하는 프로그램을 디버깅하기 위해 사용자의 외부명령에 응답하여 브레이크 포인트를 지정하고 필요에 따라 상기 데이터 처리장치의 데이터 처리를 싱글 스텝 모드하에 둘 수 있다. 이와 같은 동작을 수행하기위해, 상기 엠디에스의 소프트웨어는 상기하드웨어를 제어하는 후스트(host)와, 어셈블리어를 기계어로 변환하는 어셈블러(assem bl er)로 나뉘어져 있으며, 상기하드웨어는 상기 데이터 처리장치내의 중앙처리장치를 제어하는 부분과 중앙처리장치의 상태를 감시하는 부분을 가진다.The MS has software and hardware, and externally executes an external command of a user to debug a program that fetches data loaded by the data processing apparatus and executes the program as a result by initially downloading program data into a program memory. In response to this, a breakpoint can be designated and the data processing of the data processing apparatus can be placed in the single step mode as necessary. In order to perform such an operation, the software of the MS is divided into a ghost for controlling the hardware and an assembler for converting an assembly language into a machine language, and the hardware is a central part of the data processing apparatus. It has a part that controls the processing unit and a part that monitors the state of the central processing unit.

이러한 분야에서 사용된 종래의 엠디에스는 디버깅의 대상이 되는 마이크로콘트롤러등과 같은 데이터 처리장치와는 서로 분리되어 있엇다. 즉, 종래에는 마이크로 콘트롤러의 설계가 엠디에스의 기능구현에 적합하도록 되어 있지 않았기 때문에 엠디에스에 관련된 기능들을 수행하기 위한 엠디에스의 하드웨어는 상기마이크로 콘트롤러의 외부에 별도로 설치되어져 있다. 따라서, 특정한 인터에이스 포트를 통해 상기 마이크로 콘트롤러와 연결된 종래의 엠디에스는 제한된 신호들을 이용하여 엠디에스 기능을 구현해야 했으므로, 부가적인 하드웨어의 구성이 복잡해지며 퍼포먼스가 저하되는 단점이 있었다.Conventional MDSs used in this field are separated from data processing devices such as microcontrollers to be debugged. That is, since the conventional microcontroller design is not adapted to the function of the MS, the hardware of the MS for performing the functions related to the MS is installed separately from the outside of the microcontroller. Therefore, the conventional MS connected to the microcontroller through a specific interface port has to implement the MS function by using limited signals, and thus, additional hardware configuration is complicated and performance is deteriorated.

따라서, 하드웨어의 구성을 보다 간략화하는 것은 데이터 처리장치의 수십에서 수백배의 가격에 달하는 엠디에스의 제작 코스트를 낮추는 일과 직결된다. 그러한 간략화의 달성을 휘해서는 마이크롤 콘트롤러등과 같은 데이터 처리장치를 엠디에스의 기능에 적합하도록 고려하여 설계하는 것이 우선적으로 수반되어지며, 엠디에스의 하드웨어를 마이크로 콘틀롤러의 명령어로 동작시킬 수 있어야한다. 또한, 마이크로 콘트롤러의 메모리 콘트롤 블록을 엠디에스와 인터페이스할 수 있는 구성으로 만드는 것이 필요하게 된다.Therefore, simplifying the configuration of the hardware is directly related to lowering the manufacturing cost of the MS, which is tens to hundreds of times the price of the data processing apparatus. In order to achieve such a simplification, the design of a data processing device such as a microphone roll controller and the like to be suited to the functions of the MS is firstly entailed, and the hardware of the MS must be able to be operated by the instructions of the micro controller. do. In addition, it is necessary to make the memory control block of the microcontroller into a configuration that can interface with the MS.

따라서, 본 발명의 목적은 상기한 종래의 엠디에스의 문제점을 해결할 있는 데이타 처리장치용 디벨롭먼트 장치를 제공함에 있다.Accordingly, an object of the present invention is to provide a development apparatus for a data processing apparatus which can solve the above problems of the conventional MS.

본 발명의 다른 목적은 디벨롭먼트 지원 기능을 구현하기 위해 요구되어지는 부가적인 하드웨어를 최소화할 수 있는 마이크로 콘트롤러 디벨롭먼트 장치를 제공함에 있다.Another object of the present invention is to provide a microcontroller development apparatus capable of minimizing additional hardware required to implement a development support function.

본 발명의 또 다른 목적은 낮은 코스트로 엠디에스 기능을 구현하기 위해 마이크로 콘트롤러의 칩내에 합체 가능한 마이크로 콘트롤러 디벨롭먼트 시스템을 제공함에 있다.It is still another object of the present invention to provide a microcontroller development system that can be integrated into a chip of a microcontroller to implement an MS function at a low cost.

상기의 목적들을 달성하기 위햐여, 본 발명은 마이크로 콘트롤러의 메모리콘트롤 블록을 엠디에스와의 인터페이스를 고려하여 설계하고, 마이크로 콘트롤러의 명령어를 이용하여 엠디에스의 기능을 구현하기 위해 엠디에스의 하드웨어를 마이크로 콘트롤러의 칩내에 합체한 것을 특징으로 한다.In order to achieve the above objects, the present invention is to design the memory control block of the microcontroller considering the interface with the MS, and to implement the hardware of the MS to implement the functions of the MS using the microcontroller command. It is characterized by being incorporated in the chip of a microcontroller.

본 발명에 따라, 인터페이싱용 병렬포트를 통하여 소프트웨어 및 하드웨어의디버깅을 지원하기 위해 데이터 프로세싱 시스템과 관련하여 사용되는 디베롭먼트 장치는: 콘트롤 및 데이터 버스를 통하여 상기 병력포트와 연결되며 외부에서 상기 병력코트로 인가되는 외부 데이타 및 상기 데이타 프로세싱 시스템과 연결된 메모리로부터 제공되는 데이터를 저장하기 위한 레지스터 부와; 상기 레지스터 부와 상기 테이타 프로세싱 시스템간에 연결되며 상기 레지스터 부내에 저장된 외부 데이타가 디벨롭먼트 관련 데이타인 경우에 디벨롭먼트 서포트 기능이상기 데이터 프로세싱 시스템에 의해 수행되어지도록 하기 위해 상기 데이터 프로세싱 시스템의 프로그램 데이터 버스를 통해 벡터 우선순위 인터럽트 신호를 발생시키는 트랩명령 발생부와; 상기 데이터 프로세싱 시스템의 콘트롤 버스를 통하여 제공되는 선택신호에 응답하여 상기 메모리의 어드레스, 콘트롤, 및 데이터 버스를 상기 데이터 프로세싱 시스템이나 상기 레지스터 부중의 하나와 접속시키는 모드 수위칭부를 가지며; 여기서, 상기 레지스터 부, 트랩명령 발생부, 및 모드 스위칭 부는 부가적인 하드웨어를 최소화하기 위해 상기 데이터 프로세싱 시스템과 동일칩상에 구성된다.According to the present invention, a deployment device used in connection with a data processing system to support debugging of software and hardware via a parallel port for interfacing is: connected to the troop port via a control and data bus and externally to the troop A register section for storing external data applied to the coat and data provided from a memory connected with the data processing system; Program data of the data processing system so that a development support function is performed by the data processing system when the external data stored between the register unit and the data processing system and stored in the register unit is development related data. A trap instruction generator for generating a vector priority interrupt signal through the bus; A mode leveling portion for connecting an address, control, and data bus of said memory with one of said data processing system or said register portion in response to a selection signal provided through a control bus of said data processing system; Here, the register section, trap command generation section, and mode switching section are configured on the same chip as the data processing system to minimize additional hardware.

이하에서는 본 발명의 바람직한 일 실시예에 따른 엠디에스의 구조가 첨부된도면과 함께 설명될 것이다. 다음의 설명에서, 그러한 구성에 대한 상세한 항목들이 본 발명의 보다 철저한 이해를 제공하기 위해 자세하게 설명된다. 그러나, 당해 기술분야에 숙련된 자들에게 있어서는 본 발명이 이러한 상세한 항목들이 없이도 실시될 수 있다는 것이 명백할 것이다.Hereinafter, the structure of the MS according to an embodiment of the present invention will be described with the accompanying drawings. In the following description, the detailed items for such configurations are described in detail in order to provide a more thorough understanding of the present invention. However, it will be apparent to those skilled in the art that the present invention may be practiced without these specific details.

또한, 잘 알려진 기본 소자의 특징 및 기능들은 본 발명을 모호하지 않게 하기 위해 상세히 설명하지 않는다. 또한, 설명에서 나타나는 동일 참조번호는 가능한한 어느곳에서든지 동일소자 또는 등가적 소자를 가르키고 있다.Moreover, the features and functions of well-known basic elements are not described in detail in order not to obscure the present invention. In addition, the same reference numbers appearing in the description refer to the same or equivalent elements wherever possible.

본 명세서내에 사용되는 디버깅이라는 용어는 진단모드에서 프로그램상의 오류부분을 찾아내어 이를 정정하기 위한 것을 말하며, 덤프(dump) 및 추적을 행하는 엠디에스의 소프트 웨어에 의해 디버깅 작업이 수행되어진다. 엠디에스라는 용어는 마이크로 콘트롤러등과 같은 데이터 처리장치에 특정한 일을 시키고자 미리 그 처리내용을 명확하게 한 프로램을 작성하여 메모리 블록에 저장하는 것이 필요한 경우에 메이커가 제공하는 각종 개발용 지원 시스템이나 소프트 웨어를 포함한다.As used herein, the term debugging refers to finding and correcting an error part of a program in a diagnostic mode, and debugging is performed by the software of MS which performs a dump and trace. The term 'MSD' refers to various support systems for development provided by the maker when it is necessary to write a program that clarifies the contents of the processing in advance and store it in a memory block in order to do a specific task for a data processing device such as a microcontroller. Or software.

제1도는 본 발명에 따라 원칩내에 마이크로 콘트롤러와 합체된 마이크로 콘트롤러 디벨롭먼트 시스템의 전체 구성을 보여주는 블록도이다. 제1도를 참조하면, 본 발명에 따른 엠디에스의 기능인 업로딩(up-loading), 다운 로딩(down-loading), 브레이크 포인트(break point) 및 싱글 스텝(single step)을 구현하기 위한 회로가 마이크로 콘트롤러의 칩과 동일칩이 내장된 원칩형 엠디에스 10와, 프로그램 및 데이터의 억세스를 위해 상기 원칩형 엠디에스와 어드레스, 데이터, 및 콘트롤 버스를 통해 연결된 프로그램 메모리 20 및 데이터 메모리 30와, 상기 원칩형 엠디에스 10의 리셋을 위한 리세트 회로 40와, 상기 원칩형 엠디에스 10에 클럭을 제공하기 위한 클럭 발생부 50와, 지원모드에서 상기원칩형 엠디에스 10와 외부의 퍼스널 컴퓨터간을 인터페이싱하기 위한 병렬포트 70와, 마이크로 콘트롤러가 프로그램에 따라 콘트롤하기 위한 대상이 되는 외부디바이스와 인터페이싱하는 인터페이스 커넥터 60로 이루어져 있다. 제1도의 상기 원칩형 엠디에스 10는 마이크로 콘트롤러의 메모리 콘트롤 블록이 엠디에스와의 인터페이스를 고려하여 설계되어 있어, 마이크로 콘트롤러의 명령어를 이용하여 엠디에스의 기능을 구현할 수 있다. 그러므로, 엠디에스의 하드웨어는 마이크로 콘트롤러의 칩내에 합체될 수 있는 것이다. 본 발명의 실시예에서 적용되는 데이터 처리장치로서의 마이크로 콘트롤러는 예를들어 SAM 16등과 같은 마이크롤 프로세서가 될 수 있다. 상기 다운로딩은 외부의 퍼스널 컴퓨터가 상기 엠디에스를 통해 프로그램이나 데이터 파일을 상기 메모리 20,30에 저장하는 작업을 가리키며, 업 로딩은 상기 메모리 20,30에 다운로딩된 프로그램이나 데이터 화일을 상기 퍼스널 컴퓨터가 페치하는 것을 말한다. 또한, 브레이크 포인트는 엠디에스의 기능이 수행될 시 디버깅중에 모니터 루틴에 의해 중단되는 프로그램의 위치이며 싱글스텝은 사용자의 디버깅작업을 용이하게 하기 위해 설정되는 기능이다. 상기 엠디에스는 마이크로 콘트롤러에 싱글스텝 명령을 전달하여 상기 마이크로 콘트롤러가 한번에 하나의 명령어를 수행케 할 수 있다.1 is a block diagram showing the overall configuration of a microcontroller development system integrated with a microcontroller in one chip in accordance with the present invention. Referring to FIG. 1, a circuit for implementing up-loading, down-loading, break point, and single step, which are functions of the MS according to the present invention, is micro-controlled. A one-chip type MDS 10 having the same chip as the controller chip, a program memory 20 and a data memory 30 connected through the one-chip type MDS, an address, data, and a control bus for access to programs and data, and the one chip. Interfacing between the reset circuit 40 for resetting the type MD 10, the clock generator 50 for providing a clock to the one chip type MD 10, and the one chip type MS 10 and an external personal computer in a support mode. A parallel port 70 for interfacing and an interface connector 60 for interfacing with an external device for microcontroller programmatic control. There is off. In the one-chip type MD 10 of FIG. 1, the memory control block of the microcontroller is designed in consideration of an interface with the MS, so that the function of the MS can be implemented using a command of the microcontroller. Therefore, the hardware of the MS can be incorporated into the chip of the microcontroller. The microcontroller as a data processing device applied in the embodiment of the present invention may be a microroll processor such as SAM 16, for example. The downloading refers to an operation of an external personal computer storing a program or a data file in the memories 20 and 30 through the MS, and the uploading refers to a program or data file downloaded to the memories 20 and 30. The computer fetches something. Also, the break point is the position of the program interrupted by the monitor routine during debugging when the function of the MS is executed, and the single step is a function set to facilitate the debugging of the user. The MDS may transmit a single step command to the microcontroller so that the microcontroller executes one command at a time.

제2도에는 제1도중 원칩형 엠디에스 10의 세부구성이 제1도중 메모리 블록20,30과 관련하여 보다 상세히 나타나 있다. 제2도를 참조하면, 상기 원칩형 엠디에스 10는 상기 제1도의 설명에서 개략적으로 언급한 바와 같이, 마이크로 콘트롤러 12와 엠디에스 블록 14으로 구성됨을 알 수 있다. 상기 마이크로 콘트롤러 12는 상기 인터페이스 커넥터 60와 연결되며, 또한 어드레스 버스, 데이터 버스, 콘틀로 버스, 내부 프로그램 데이터 버스, 및 프로그램 카운터 값 신호라인L1을 통해 상기 엠디에스 블록 14과 접속된다. 상기 엠디에스 블록 14는 인풋 데이터 버스, 콘틀로버스, 및 아웃 풋 데이터 버스를 통해 상기 병렬포트 70와 연결되며, 또한 메모리 어드레스 버스, 메모리 데이터 버스, 및 메모리 콘트롤 버스 통해 상기 메모리 블록들 20,30과 접속된다. 상기 마이크로 콘트롤러 12와 동일칩상에 합체된 상기 엠디에스 블록 14의 세부구성은 제3도에 나타나 있다.FIG. 2 shows the detailed configuration of the one-chip type MD 10 of FIG. 1 with reference to the memory blocks 20 and 30 of FIG. Referring to FIG. 2, it can be seen that the one-chip type MS 10 includes a microcontroller 12 and an MS block 14 as outlined in the description of FIG. 1. The microcontroller 12 is connected to the interface connector 60 and is also connected to the MS block 14 through an address bus, a data bus, a control bus, an internal program data bus, and a program counter value signal line L1. The MS block 14 is connected to the parallel port 70 through an input data bus, a contlobus, and an output data bus, and also the memory blocks 20, 30 through a memory address bus, a memory data bus, and a memory control bus. Connected with. The detailed configuration of the MS block 14 incorporated on the same chip as the microcontroller 12 is shown in FIG.

제3도는 본 발명의 일 실시예로서, 제2도중 엠디에스 블록 14의 세부회로 블록도이다. 제3도를 참조하면, 제1,2,3 레지스터 140,141,142로 이루어진 레지스터 부는 콘트롤 및 인풋 및 아웃풋 데이터 버스를 통하여 상기 별렬포트 70와 연결되며 외부에서 상기 병렬포트 70로 인가되는 외부 데이터 및 상기 마이크로 콘트롤러 12의 메모리 블록 20,30으로부터 제공되는 데이터를 저장하는 기능을 담당한다. 트랩명령 발생부 143은 상기 레지스터 부와 상기 마이크로 콘트롤러 12간에 연결되며, 상기 레지스터 부내에 저장된 외부 에디타가 디벨롭먼트 관련 데이터인 경우에 디벨롭먼트 서포트 기능이 상기 마이크로 콘트롤러 12에 의해 수행되어지도록 하기 위해, 상기 내부 프로그램 데이터 버스를 통해 벡터 우선순위인터럽트 신호를 발생시키는 역할을 지원모드동안에 수행한다. 제1,2,3버퍼144,145,146으로 이루어진 모드 스위칭부는 상기 마이크로 콘트롤러 12의 상기콘트롤 버서를 통하여 제공되는 선택신호에 응답하여 상기 메모리 블록 20,30의 어드레스, 콘트롤, 및 데이터 버스를 상기 마이크로 콘트롤러 12나 상기 레지스터 부중의 하나와 접속시키는 스위칭 기능을 담당한다. 제3도에서, 다운로딩시에 외부 데이타는 상기 병렬포트 70를 통행 인풋 데이터 버스상에 제공된다. 상기 제2레지스터 141는 이를 수신하여 저장 후 제3레지스터 142와 연결된 데이터 버스에 인가한다. 상기 데이터 버스에 상기 외부 데이터가 인가될 때 상기 마이크로 콘트룰러 12는 상기 트랩명령 발생부 143에 의해 이미 하드웨어 스톱이 된 상태이다. 따라서, 이 경우에 상기 마이크로 콘트롤러 12의 콘트롤 버스를 통해 인가되는 선택신호은 상기 마이크로 콘트롤러 12의 콘트롤 버스를 통해 인가되는 선택신호는 상기 메모리 블록 의 어드레스 버스, 콘트롤 버스, 및 데이터버스가 상기 제2,3레지스터 141,142의 어드레스 버스, 콘트롤 버스, 및 데이터버스와 각기 연결되게 하는 논리레벨 신호로서 제공된다. 그럼에 의해 상기 외부데이타는 제3버퍼 146의 입력단 A을 거쳐 상기 메모리 데이터 버스에 인가되어상기 메모리 블록 20,30의 지정 어드레스에 저장된다. 업로딩시에 상기 메모리 블록내의 데이타는 상기 제3버퍼 146를 통해 리드외어 상기 제3레지스터 142에 저장된 후, 상기 레지스터 142의 아웃풋 데이파 버스를 거쳐 상기 병렬포트 70에 제공된다. 이 경우에 상기 트랩명령 발생부 143은 상기 마이크로 콘트룰러 12의 내부 프로그램 데이터 버스를 통해 소프트 웨어 스톱신호를 발생한다. 이와 같이 초기 유저(user)용 프로그램과 엠디에스 프로그램을 메모리 블록 20,30에 다운 로딩하기 위해서는 상기 엠디에스의 하드웨어 스톱이 이용되며, 엠디에스 프로그램 루틴에서 소프트웨어 스톱이 이용된다. 한편, 싱글스텝 및 브레이크 포인트의 기능 수행도 상기 트랩명령 발생부 143가 해당 인터럽트 신호를 출력함에 의해 달성된다. 엠디에스 블럭 14과 메모리블럭 20,30간의 데이터 인터페이싱이 완료되면, 상기 엠디에스 블록 14는 상기 트랩명령 발생부 143에 의해 스톱을 해제한다. 이에 따라 상기 선택신호의 논리 레벨은 반전되어메모리 블록 20,30의 어드레스 버스, 콘트롤 버스, 및 데이터 버스가 상기 마이크로 콘트롤러 12의 어드레스 버스, 콘트롤 버스, 및 데이타 버스와 각기 연결되므로 상기 마이크로 콘트롤러 12가 메모리 블럭과 데이터를 인터페이싱하게된다.3 is a detailed circuit block diagram of an MS block 14 in FIG. 2 as an embodiment of the present invention. Referring to FIG. 3, the register part including the first, second, and third registers 140, 141, and 142 is connected to the serial port 70 through a control and input and output data buses, and external data and the micro controller are externally applied to the parallel port 70. It is responsible for storing data provided from 12 memory blocks 20,30. The trap command generation unit 143 is connected between the register unit and the microcontroller 12, so that the development support function is performed by the microcontroller 12 when the external editor stored in the register unit is development related data. To this end, a function of generating a vector priority interrupt signal through the internal program data bus is performed during the support mode. The mode switching unit including first, second, third buffers 144, 145, and 146 transfers the address, control, and data buses of the memory blocks 20 and 30 to the micro controller 12 in response to a selection signal provided through the control buffer of the micro controller 12. It is responsible for the switching function of connecting with one of the register parts. In FIG. 3, external data is provided on the pass input data bus via the parallel port 70 at the time of downloading. The second register 141 receives the data, stores the data, and applies the data to the data bus connected to the third register 142. When the external data is applied to the data bus, the microcontroller 12 is already in a hardware stop state by the trap command generation unit 143. Accordingly, in this case, the selection signal applied through the control bus of the microcontroller 12 may be selected from the address bus, the control bus, and the data bus of the memory block. It is provided as a logic level signal which allows the three registers 141 and 142 to be connected to an address bus, a control bus, and a data bus, respectively. Thus, the external data is applied to the memory data bus via the input terminal A of the third buffer 146 and stored at the designated addresses of the memory blocks 20 and 30. During uploading, the data in the memory block is stored in the third register 142 as a read word through the third buffer 146 and then provided to the parallel port 70 through the output data wave bus of the register 142. In this case, the trap command generation unit 143 generates a software stop signal through the internal program data bus of the microcontroller 12. In order to download the initial user program and the MS program to the memory blocks 20 and 30, the hardware stop of the MS is used, and the software stop is used in the MS program routine. On the other hand, the single step and the break point function is also performed by the trap command generation unit 143 outputs the interrupt signal. When the data interfacing between the MS block 14 and the memory blocks 20 and 30 is completed, the MS block 14 releases the stop by the trap command generation unit 143. Accordingly, the logic level of the selection signal is inverted so that the microcontroller 12 is connected to the address bus, the control bus, and the data bus of the memory blocks 20 and 30, respectively, to the address bus, the control bus, and the data bus of the microcontroller 12. Interfacing data with memory blocks.

따라서, 상기 레지스터 부, 트랩명령 발생부 143, 및 모드 스위칭부 가지는상기 엠디에스 블록 14은 부가적인 하드웨어의 추가없이 상기 마이크로 콘트롤러 12의 칩과 동일칩상에 형성됨을 알 수 있다. 또한, 사용자는 상기 마이크로콘트룰러 12의 명령어를 이용하여 상기 엠디에스에 관련된 기능을 수행하도록 할 수 있다.Accordingly, it can be seen that the MS block 14 having the register part, the trap command generation part 143, and the mode switching part are formed on the same chip as the chip of the microcontroller 12 without adding additional hardware. In addition, a user may perform a function related to the MS by using the command of the microcontroller 12.

제4도에는 제3도중 트랩명령 발생부 143의 구체 회로도가 도시된다. 제4도를 참조하면, 엠디에스의 기능에 속하는 상기 브레이크 포인트와 싱글스텝에 대한 해당 인터럽트 신호가 상기 트랩명령 발생부 143에 의해 출력되는 것을 보다 구체적으로 알 수 있게된다. 제4도에서, 앤드 게이트 401은 시스템 클럭 SCLK이 2분주된 제1클럭 CLK1, 현재상태의 다음 상태가 명령어를 페치할 수 있는 가의 유무를 가리키는 페치 인에이블 신호 NBASE,싱글스텝 인에이블 신호 SSON, 및 브레이크 포인트나 싱글스텝이 액티브되어 졌는 가의 유무를 나타내는 신호 BPWAKE의 반전신호를 수신하여 앤드응답을 발생한다. 상기 앤드 게이트 401의 출력은 디형 플립플롭 405의 데이터 입력단 D에 발생한다. 상기 앤드 게이트 401의 출력은 디형 플립플롭 405의 클럭단CK에는 상기 시스템 클럭 SCLK을 인버팅하는 인버터 402의 출력이 제공된다. 리셋신호 RESET와 앤드 게이트 404의 반전된 출력을 앤드 게이팅하은 앤드 게이트 403의 출력은 상기 플립플롭 405의 리셋단 RN에 제공된다. 상기 클럭단 CK으로 인가된는 클럭에 응답하여 잊력단 D의 신호를 출력단 Q으로 래치출력하는 상기 플립플롭 405의 출력은 오아 게이트 408의 일측입력으로 제공되는 동시에 상기 앤드 게이트 404의 3입력중 하나의 입력으로 제공된다. 한편, 상기 오아 게이트 408의 타측입력은 앤드 게이트 407의 출력으로부터 제공되어진다. 상기 앤드 게이트 407은 비교기 406의 출력을 4입력중 하나의 입력으로서 수신하며, 상기 신호 NBASE, BPWAKE 및 브레이크 포인트 인에이블 신호 BPON를 수신한다. 상기 비교기 406은 브레이크 포인트 어드레스 신호 BPA 및 라인 L1의 신호를 비교한 결과를 출력한다. 여기서, 상기 신호들중 SSON 및 BPON은 상기 제3도의 제1레지스터 140로부터 제공되고, 상기 신호 BPA는 상기 제2레지스터 141로부터 제공되며, 상기 라인 L1의 신호는 상기 마이크로 콘트롤러 12에서 제공되는 프로그램 카운터의 값이다. 또한, 클럭 CLK1, SCLK은 제1도의 클럭 발생부 50로부터 제공되며, 상기 리셋신호 RESET는 제1도의 리세트 회로 40에서 제공된다. 상기한 신호들 외의 나머지의 신호들은 상기 마이크로 콘트롤러 12의 콘트롤 버스를 통해 제공된다. 상기 오아 게이트 408의 출력은 멀티플렉서 409의 선택단 S에 인가된다. 본 실시예에서는 상기 선택단 S의 신호가 논리 레벨 하이로서 제공되는 경우에 입력A의 신호가 출력단을 통해 상기 내부 프로그램 데이터 버스상에 인가된다. 반대로, 상기 선택단 S의 신호가 로우로서 제공되는 경우에 입력 B의 신호가 상기 내부프로그램 데이타 버스에 연결되어진다. 따라서, 상기 마이프로 콘트롤러 12는 프로그램을 실행하는 도중에 내부 프로그램 데이터 버스상의 데이터가 제로이면 엠디에스 기능의 하나인 브레이크 포인트를 우선적으로 수행하고 그 이후에 계속제로이면 싱글스텝을 수행한다. 즉, 브레이크 포인트나 싱글스텝이 걸리면 메모리의 데이터 버스를 통해 현재 펫치될 명령어는 상기 멀티플렉서 409에 의해 차단되고, 소프트웨어 명령어인 트랩 명령어로 대치되어 상기 마이크로 콘트롤러12는 엠디에스 프로그램 루틴을 수행하게 된다. 여기서, 브레이크 포인트나 싱글스텝과 같은 엠디에스용 소프트 웨어 인터럽트의 벡터는 가장 높은 우선순위를 가진다. 상기 엠디에스의 프로그램은 상기 마이프로 콘트롤러의 인터럽트를 이용하여 수행되어지고, 상기 마이크로 콘트롤러는 엠디에스 프로그램의 수행을 완료후 원래의 유저 프로그램을 수행한다.4 is a detailed circuit diagram of the trap command generation unit 143 in FIG. Referring to FIG. 4, it can be seen in more detail that the corresponding interrupt signal for the break point and the single step belonging to the function of the MS is output by the trap command generator 143. In FIG. 4, the AND gate 401 is a first clock CLK1 divided by two system clock SCLKs, a fetch enable signal NBASE indicating whether the next state of the current state can fetch an instruction, a single-step enable signal SSON, And an inverted response of the signal BPWAKE indicating whether or not the break point or the single step has been activated. The output of the AND gate 401 is generated at the data input terminal D of the de-type flip-flop 405. The output of the AND gate 401 is provided at the clock stage CK of the de-type flip-flop 405 with the output of the inverter 402 inverting the system clock SCLK. An output of the AND gate 403 which AND gates the reset signal RESET and the inverted output of the AND gate 404 is provided to the reset terminal RN of the flip-flop 405. The output of the flip-flop 405, which latches the signal of the forgetting stage D to the output terminal Q in response to the clock applied to the clock terminal CK, is provided to one side input of the OR gate 408 and one of the three inputs of the AND gate 404 is provided. Provided as input. On the other hand, the other input of the OR gate 408 is provided from the output of the AND gate 407. The AND gate 407 receives the output of the comparator 406 as one of four inputs and receives the signals NBASE, BPWAKE and the break point enable signal BPON. The comparator 406 outputs a result of comparing the break point address signal BPA and the signal of the line L1. Here, SSON and BPON of the signals are provided from the first register 140 of FIG. 3, the signal BPA is provided from the second register 141, and the signal of the line L1 is provided from the microcontroller 12. Is the value of. The clocks CLK1 and SCLK are provided from the clock generator 50 of FIG. 1, and the reset signal RESET is provided from the reset circuit 40 of FIG. The remaining signals other than the above signals are provided through the control bus of the microcontroller 12. The output of OR gate 408 is applied to select stage S of multiplexer 409. In the present embodiment, when the signal of the selection terminal S is provided as logic level high, the signal of the input A is applied on the internal program data bus via the output terminal. In contrast, when the signal of the selection terminal S is provided low, the signal of the input B is connected to the internal program data bus. Accordingly, the mipro controller 12 preferentially performs a break point, which is one of the MS functions, if the data on the internal program data bus is zero while executing the program, and then performs a single step if the data is continuously zero. That is, when a breakpoint or a single step is taken, the instruction to be currently fetched through the data bus of the memory is blocked by the multiplexer 409 and replaced by a trap instruction, which is a software instruction, so that the microcontroller 12 performs an MS program routine. Here, the vector of the MS software interrupt, such as a break point or a single step, has the highest priority. The program of the MS is executed by using the interrupt of the mipro controller, and the microcontroller executes the original user program after completing the execution of the MS program.

상술한 바와 같이, 본 발명은 간단한 구성으로서 엠디에스를 실현할 수 있기 때문에 하드웨어의 복잡성으로 인한 문제와 엠디에스의 제조단가를 줄이는 효과가 있다.As described above, the present invention can realize the MS with a simple configuration, thereby reducing the problems caused by the complexity of the hardware and reducing the manufacturing cost of the MS.

Claims (5)

인테페이싱용 병렬포트를 통하여 소프트웨어 및 하드웨어의 디버깅을 지원하기 위해 데이터 프로세싱 시스템과 관련하여 사용되는 디벨롭먼트 장치에 있어서; 콘트롤 및 데이터 버스를 통하여 상기 병렬포트와 연결되며 외부에서 상기병렬포트로 인가되는 외부 데이터 및 상기 데이터 프로세싱 시스템과 연결된메모리로부터 제공되는 데이터를 저장하기 위한 레지스터 부와; 상기 레지스터 부와 상기 데이터 프로세싱 시스템간에 연결되며 상기 레지스터 부내에 저장된 외부 데이터가 디벨롭먼트 관련 데이터인 경우에 디벨롭먼트 서포트 기능이 상기 데이터 프로세싱 시스템에 의해 수행되어지도록 하기 위해 상기 데이타 프로세싱 시스템의 프로그램 데이터 버스를 통해 벡터우선순위 인터렙트 신호를 발생시키는 트랩명령 발생부와; 상기 데이터 프로세싱 시스템의 콘트롤 버스를 통하여 제공되는 선택신호에 응답하여 상기 메모리의 어드레스, 콘트롤, 및 데이터 버스를 상기 데이터프로세싱 시스템이나 상기 레지스터 부중의 하나와 접속시키는 모드 스위칭부를 가지며; 여기서, 상기 레지스터 부, 트랩명령 발생부, 및 모드 스위칭 부는 부가적인 하드웨어를 최소화하기 위해 상기 데이터 프로세싱 시스템과 동일칩상에 구성됨을 특징으로 하는 디벨롭먼트 장치.A development apparatus for use in connection with a data processing system to support debugging of software and hardware through a parallel port for interfacing; A register unit for storing external data connected to the parallel port through a control and data bus and externally applied to the parallel port and data provided from a memory connected to the data processing system; A program of the data processing system connected to the register unit and the data processing system such that a development support function is performed by the data processing system when external data stored in the register unit is development related data. A trap command generator for generating a vector priority intercept signal through the data bus; A mode switching unit for connecting an address, a control, and a data bus of the memory with either the data processing system or the register unit in response to a selection signal provided through a control bus of the data processing system; Wherein the register unit, trap instruction generation unit, and mode switching unit are configured on the same chip as the data processing system to minimize additional hardware. 제1항에 있어서, 상기 레지스터 부는 제1,2,3레지스터를 가짐을 특징으로 하는 디벨롭먼트 장치.The development apparatus of claim 1, wherein the register unit has first, second and third registers. 제1항에 있어서, 상기 트랩명령 발생부는 다수의 게이트 소자들 및 멀티플렉서를 포함하는 것을 특징으로 하는 디벨롭먼트 장치.The development apparatus of claim 1, wherein the trap command generation unit comprises a plurality of gate elements and a multiplexer. 제1항에 있어서, 상기 모드 스위칭부는 제1,2,3,버퍼를 포함하는 것을 특징으로 하는 디벨롭먼트 장치.The development apparatus of claim 1, wherein the mode switching unit comprises first, second, third, and buffers. 인터페이싱용 병렬포트를 통하여 소프트웨어 및 하드웨어의 디버깅을 지원하기 위해 마이크로 콘트롤러와 관련하여 사용되는 마이크로 콘트롤러 디벨롭먼트장치에 있어서:In a microcontroller development device used in conjunction with a microcontroller to support debugging of software and hardware through a parallel port for interfacing: 콘트롤 및 데이터 버스를 통하여 상기 병렬코트와 연결되며 외부에서 상기병렬포트로 인가되는 외부 데이터 및 상기 마이크로 콘트롤러와 연결된 메모리로부터 제공되는 데이터를 저장하기 위한 레지스터 부와; 상기 레지스터 부와 상기 마이크로 콘트롤러간에 연결되며 상기 레지스터부내에 저장된 외부 데이터가 디벨롭먼트 관련 데이터인 경우에 디벨롭먼트서포트 기능이 상기 마이크로 콘트롤러에 의해 수행되어지도록 하기 위해 상기 마이크로 콘트롤러의 프로그램 데이터 버스를 통해 벡터 우선순위 인터럽트 신호를 발생시키는 트랩명령 발생부와; 상기 마이크로 콘트롤러의 콘트롤 버스를 통하여 제공되는 선택신호에 응답하여 상기 메모리의 어드레스, 콘트롤, 및 데이터 버스를 상기 마이크로 콘트롤러나 상기 레지스터 부중의 하나와 접속시키는 모드 스위칭부를 가지며; 여기서, 상기 마이크로 콘트롤러 디벨롭먼트 장치는 부가적인 하드웨어를 최소화하기 위해 상기 데이터 프로세싱 시스템과 동일칩상에 구성됨을 특징으로 하는 디벨롭먼트 장치.A register unit for storing external data connected to the parallel coat through a control and data bus and externally applied to the parallel port and data provided from a memory connected to the microcontroller; A program data bus of the microcontroller to be executed by the microcontroller so that a development support function is performed by the microcontroller when the external data stored in the register unit is connected between the register unit and the microcontroller. A trap instruction generator for generating a vector priority interrupt signal through the signal generator; A mode switching unit for connecting an address, a control, and a data bus of the memory with one of the microcontroller or the register unit in response to a selection signal provided through a control bus of the microcontroller; Wherein the microcontroller development device is configured on the same chip as the data processing system to minimize additional hardware.
KR1019950045687A 1994-12-15 1995-11-30 Micro controller development system KR0177742B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR19940034328 1994-12-15
KR94-34328 1994-12-15

Publications (2)

Publication Number Publication Date
KR960024962A KR960024962A (en) 1996-07-20
KR0177742B1 true KR0177742B1 (en) 1999-05-15

Family

ID=19401606

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950045687A KR0177742B1 (en) 1994-12-15 1995-11-30 Micro controller development system

Country Status (2)

Country Link
JP (1) JPH08272770A (en)
KR (1) KR0177742B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100422586B1 (en) * 2001-04-30 2004-03-12 주식회사 하이닉스반도체 Method for debugging of USB micro controller unit

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100460761B1 (en) * 2000-05-31 2004-12-09 매그나칩 반도체 유한회사 Device supporting microcontroller development system
KR100436051B1 (en) * 2001-12-24 2004-06-12 주식회사 하이닉스반도체 Microcontroller Developement System
GB2510655B (en) * 2013-07-31 2015-02-25 Imagination Tech Ltd Prioritizing instructions based on type
CN109212268A (en) * 2017-06-29 2019-01-15 北京小米移动软件有限公司 Electronic equipment, circuit switching device and commissioning device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100422586B1 (en) * 2001-04-30 2004-03-12 주식회사 하이닉스반도체 Method for debugging of USB micro controller unit

Also Published As

Publication number Publication date
KR960024962A (en) 1996-07-20
JPH08272770A (en) 1996-10-18

Similar Documents

Publication Publication Date Title
KR100350568B1 (en) Data processing system and method for performing debug functions
KR0168656B1 (en) Data processing system
KR100439781B1 (en) A data processor, an operation method thereof, a method of executing the debugging operation, and a method of correcting a disadvantage value among the data processor
US6598178B1 (en) Peripheral breakpoint signaler
EP0911735B1 (en) Microprocessor test system
US5488688A (en) Data processor with real-time diagnostic capability
US4782461A (en) Logical grouping of facilities within a computer development system
US4933941A (en) Apparatus and method for testing the operation of a central processing unit of a data processing system
JPH04229337A (en) Emulator
US20060150021A1 (en) Device and method for analyzing embedded systems
KR0177742B1 (en) Micro controller development system
JP3260083B2 (en) Debug system and debugging method
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
KR950001057B1 (en) Microprocessor
KR100189977B1 (en) Emulator system having trace function and trace method
JP2520158B2 (en) Debugging method of digital signal processor
KR100557918B1 (en) Error Correction Device Using Joint Test Access Group
JPH02186448A (en) Integrated circuit with debugging environment
EP0778524A1 (en) Method and device for evaluating a program
KR200181133Y1 (en) Central processing unit
JP2654105B2 (en) Microprocessor
JP3166667B2 (en) Emulation microcomputer
JPS63291135A (en) Microcomputer developing device

Legal Events

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

Payment date: 20071101

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee