KR101385817B1 - Apparatus for debugging integrated interpreter of programming language and computer system combined the smae - Google Patents

Apparatus for debugging integrated interpreter of programming language and computer system combined the smae Download PDF

Info

Publication number
KR101385817B1
KR101385817B1 KR1020120058533A KR20120058533A KR101385817B1 KR 101385817 B1 KR101385817 B1 KR 101385817B1 KR 1020120058533 A KR1020120058533 A KR 1020120058533A KR 20120058533 A KR20120058533 A KR 20120058533A KR 101385817 B1 KR101385817 B1 KR 101385817B1
Authority
KR
South Korea
Prior art keywords
programming language
debugging
input
language interpreter
interpreter
Prior art date
Application number
KR1020120058533A
Other languages
Korean (ko)
Other versions
KR20130134779A (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 KR1020120058533A priority Critical patent/KR101385817B1/en
Publication of KR20130134779A publication Critical patent/KR20130134779A/en
Application granted granted Critical
Publication of KR101385817B1 publication Critical patent/KR101385817B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 프로그래밍 언어 해석기가 내장된 디버깅 장치에 관한 것으로, 사용자에 의한 직접 조작이 가능할 수 있는 프로그래밍 언어 해석기와 디버그 인터페이스가 단일의 반도체칩 상에 구현된 디버깅 장치를 제공하도록 하는 것에 목적이 있다.
상기 목적을 달성하기 위한 본 발명의 프로그래밍 언어 해석기가 내장된 디버깅 장치는, 프로그래밍언어 소스 텍스트 형식의 디버깅 알고리즘 절차를 입력받고 결과를 출력하는 입출력부; 상기 입출력부를 통해 입력받은 디버깅 알고리즘 절차를 해석하는 프로그래밍 언어 해석기; 및 상기 프로그래밍 언어 해석기를 통해 해석된 알고리즘에 대응되는 디버깅 신호를 외부 마이크로프로세서로 전송하고 이로부터 입력된 정보를 상기 프로그래밍 언어 해석기에 전달하는 디버그 인터페이스를 포함하되, 상기 프로그래밍 언어 해석기는, 상기 디버그 인터페이스로부터 전달받은 외부 마이크로프로세서의 정보를 사용자가 판독 가능한 형태로 변환한 후 상기 입출력부를 통해 외부로 출력하는 것을 특징으로한다.
The present invention relates to a debugging device having a built-in programming language interpreter, and an object of the present invention is to provide a debugging device in which a programming language interpreter and a debug interface capable of direct manipulation by a user are implemented on a single semiconductor chip.
In order to achieve the above object, a debugging device including a programming language interpreter provided therein includes: an input / output unit configured to receive a debugging algorithm procedure in a programming language source text format and output a result; A programming language interpreter for interpreting a debugging algorithm procedure received through the input / output unit; And a debug interface for transmitting a debugging signal corresponding to an algorithm interpreted through the programming language interpreter to an external microprocessor and transferring information input therefrom to the programming language interpreter, wherein the programming language interpreter includes: And converting the information of the external microprocessor received from the user into a form readable by the user and outputting the information to the outside through the input / output unit.

Description

프로그래밍 언어 해석기가 내장된 디버깅 장치 및 이를 구비하는 컴퓨터 시스템{Apparatus for debugging integrated interpreter of programming language and computer system combined the smae}Apparatus for debugging integrated interpreter of programming language and computer system combined the smae}

본 발명은 프로그래밍 언어 해석기가 내장된 디버깅 장치 및 이를 구비하는 컴퓨터 시스템에 관한 것으로, 보다 상세하게는 사용자에 의한 직접 조작이 가능할 수 있는 프로그래밍 언어 해석기와 디버그 인터페이스가 단일의 반도체칩 상에 구현된 디버깅 장치와 이를 구비하는 컴퓨터 시스템에 관한 것이다.
The present invention relates to a debugging device with a built-in programming language interpreter and a computer system having the same. More specifically, the programming language interpreter and debug interface capable of direct manipulation by a user are implemented on a single semiconductor chip. An apparatus and a computer system having the same are provided.

통상 마이크로프로세서(microprocessor)는 디버깅(debugging)에 필요한 다양한 마이크로프로세서 내부 정보를 디지털 신호로 외부 디버깅 장치와 주고받을 수 있는 송수신부를 탑재하고 있으며, 이를 일반적으로 Test Access Point(TAP) 또는 Debug Acces Point(DAP)라 칭한다. 이런 TAP과 연결된 디버깅 장치 간의 통신 프로토콜은 통신을 위한 마이크로프로세서 외부 핀의 구성 및 핀을 통하여 입출력 되는 신호의 규격 등에 따라 달라지는데, 이러한 통신 프로토콜로는 JTAG 또는 SWD 등이 있다. 그리고 이와 같은 디버깅 통신 프로토콜을 지원하는 디버깅 장치를 JTAG 디버거 또는 Serial Wire 디버거 등으로 칭한다.In general, a microprocessor includes a transmitter / receiver that transmits and receives various microprocessor internal information necessary for debugging as a digital signal to an external debugging device, and generally includes a Test Access Point (TAP) or a Debug Acces Point ( DAP). The communication protocol between the TAP and the debugging device connected to the TAP depends on the configuration of the external microprocessor pins for communication and the specifications of the signals input and output through the pins. Such communication protocols include JTAG or SWD. In addition, a debugging device supporting such a debugging communication protocol is called a JTAG debugger or a serial wire debugger.

종래 디버깅 장치는 호스트 컴퓨터와 마이크로프로세서 탑재 시스템의 중간에 어댑터 형식으로 연결되어, 프로그래머가 호스트 컴퓨터에서 컴파일하고 링크한 이진(binary) 프로그램을 마이크로프로세서 내부의 플래시 메모리와 같은 비휘발성 메모리에 기록하는 역할과, 실행되는 사용자의 이진 프로그램이 정상 동작하는지 여부를 호스트 시스템에 탑재된 디버깅 소프트웨어를 통하여 프로그래머에게 보여주는 역할 등을 수행한다.Conventional debugging devices are connected in the form of adapters between the host computer and the microprocessor-mounted system, where the programmer writes a binary program compiled and linked on the host computer to a nonvolatile memory such as flash memory inside the microprocessor. And show the programmer whether or not the binary program of the user to be executed is normally operated through debugging software installed in the host system.

이러한 종래의 디버깅 장치는 통상 하나의 독립된 하드웨어 시스템으로 제작되어 USB나 이더넷 케이블 등을 통해 호스트 시스템과 연결되고, 외부 마이크로프로세서와 JTAG나 SWD 전용 케이블을 통해 연결됨으로써, 프로그래머 등의 사용자가 호스트 시스템에서 디버깅 명령을 보내면 호스트와 외부 마이크로프로세서 시스템이 통신할 수 있도록 기능한다. Such a conventional debugging device is usually manufactured as one independent hardware system and connected to the host system through a USB or Ethernet cable, and connected through an external microprocessor and a JTAG or SWD dedicated cable, thereby allowing a user such as a programmer to use the host system. Sending debugging commands allows the host and external microprocessor systems to communicate.

따라서, 이와 같은 디버깅 장치를 프로그래머가 용이하게 사용하기 위해서는 통상 PC 등의 호스트 시스템에 반드시 디버깅 장치 전용 장치 드라이버 소프트웨어 체계가 설치되어야 하며, 이러한 종래 디버깅 장치 전용 장치 드라이버 소프트웨어 체계가 프로그래머의 호스트 시스템의 운영체계와 다를 수 있으므로, 이에 대비해 별도의 소프트웨어 체계가 설치되어야만 한다. 즉, 디버깅 장치와 호스트 시스템 및 외부 마이크로프로세서 탑재 시스템을 연결하여 네트워크를 구성한다 하더라도, 별도의 디버깅 장치 전용 드라이버 소프트웨어 체계가 호스트 시스템에 설치되어 있지 않다면 디버깅 작업이 불가능하게 된다.
Therefore, in order for a programmer to easily use such a debugging device, a device driver software system dedicated to the debugging device must be installed in a host system such as a PC, and such a device driver software system dedicated to the conventional debugging device operates the programmer's host system. This may be different from the system, so a separate software system must be installed for this purpose. In other words, even if a debugging device is connected to a host system and an external microprocessor-mounted system to configure a network, debugging is impossible unless a separate debugging device driver software system is installed in the host system.

디버깅 장치 전용 드라이버 소프트웨어 체계는 프로그래머와 그래픽 사용자 인터페이스(GUI)를 통하여 디버깅 명령을 받고, 다시 이를 통해 디버깅 장치와 연결된 외부 마이크로프로세서 시스템의 정보를 보여준다. 그런데 이러한 GUI 기반의 디버깅 장치 전용 드라이버 소프트웨어 체계는 사람과 상호작용하는 것은 용이하지만 무인환경 하의 외부장치에 의해 자동화 된 디버깅 명령 전송과 외부 시스템 정보 전달은 용이하지 않다는 문제점이 있다.The dedicated driver software system for debugging devices receives debugging commands through a programmer and a graphical user interface (GUI), which in turn displays information about the external microprocessor system connected to the debugging device. However, such a GUI-based driver software system for debugging devices is easy to interact with humans, but automated debugging command transmission and external system information transmission by an external device in an unmanned environment is not easy.

아울러, 이와 같은 디버깅 장치는 인쇄회로기판(PCB)에 여러 부속품들이 부착된 하나의 독립된 하드웨어 시스템 형태로 제작되고 유통되므로, 종래 디버깅 장치를 사용하는 프로그래머가 이를 호스트 시스템에 부착한 후 별도의 통신 케이블 등을 이용하여 외부 마이크로프로세서 탑재 시스템과 연결함으로써 사용되어진다. 이에 따라 이러한 디버깅 장치는 외부 마이크로프로세서 탑재 시스템이 제조 완료되어 실제로 유통 및 판매되는 단계에서는 더 이상 불필요한 부품이 되고 만다는 등의 문제점도 있다.
In addition, such a debugging device is manufactured and distributed in the form of an independent hardware system in which various accessories are attached to a printed circuit board (PCB), so that a programmer using a conventional debugging device attaches it to a host system and then separates a communication cable. It can be used by connecting to an external microprocessor-mounted system. Accordingly, such a debugging device also has a problem such that the external microprocessor-mounted system is no longer an unnecessary part at the stage of manufacturing and distribution and sale.

본 발명은 전술한 바와 같은 문제점을 해결하기 위한 것으로, 사용자에 의한 직접 조작이 가능할 수 있는 프로그래밍 언어 해석기와 디버그 인터페이스가 단일의 반도체칩 상에 구현되도록 한 프로그래밍 언어 해석기를 내장한 디버깅 장치와 이를 구비하는 컴퓨터 시스템을 제공하는 것에 목적이 있다.
The present invention is to solve the problems described above, and has a debugging device with a programming language interpreter that allows a programming language interpreter and a debug interface that can be directly manipulated by a user to be implemented on a single semiconductor chip and It is an object of the present invention to provide a computer system.

상기한 목적을 달성하기 위한 본 발명은, 프로그래밍언어 소스 텍스트 형식의 디버깅 알고리즘 절차를 입력받고 결과를 출력하는 입출력부; 상기 입출력부를 통해 입력받은 디버깅 알고리즘 절차를 해석하는 프로그래밍 언어 해석기; 및 상기 프로그래밍 언어 해석기를 통해 해석된 알고리즘에 대응되는 디버깅 신호를 외부 마이크로프로세서로 전송하고 이로부터 입력된 정보를 상기 프로그래밍 언어 해석기에 전달하는 디버그 인터페이스를 포함하되, 상기 프로그래밍 언어 해석기는, 상기 디버그 인터페이스로부터 전달받은 외부 마이크로프로세서의 정보를 사용자가 판독 가능한 형태로 변환한 후 상기 입출력부를 통해 외부로 출력하는 것을 특징으로 하는 프로그래밍 언어 해석기가 내장된 디버깅 장치를 제공한다.The present invention for achieving the above object, the input and output unit for receiving a programming algorithm source text format debugging algorithm procedure and output the result; A programming language interpreter for interpreting a debugging algorithm procedure received through the input / output unit; And a debug interface for transmitting a debugging signal corresponding to an algorithm interpreted through the programming language interpreter to an external microprocessor and transferring information input therefrom to the programming language interpreter, wherein the programming language interpreter includes: The present invention provides a debugging device with a built-in programming language interpreter, which converts information of an external microprocessor received from a user into a form that can be read by a user and outputs the information to the outside through the input / output unit.

상기한 본 발명의 프로그래밍 언어 해석기가 내장된 디버깅 장치는, 상기 입출력부, 프로그래밍 언어 해석기 및 디버그 인터페이스가 단일의 반도체칩 내부에 구성되는 것을 특징으로 할 수 있다.The debugging device in which the programming language interpreter of the present invention is embedded may include the input / output unit, the programming language interpreter, and a debug interface configured in a single semiconductor chip.

여기서, 상기 입출력부는, 아스키 코드 텍스트 형태의 입출력을 지원하도록 구성되는 것이 바람직할 수 있으며, 상기 프로그램 언어 해석기에 입력되는 프로그래밍 언어는 디버깅 작업이 용이할 수 있도록 고안된 대화형 인터프리터 방식의 전용 프로그래밍 언어인 것이 바람직할 수 있다.The input / output unit may be configured to support input / output of an ASCII code text form, and the programming language input to the program language interpreter is an interactive interpreter-type programming language designed to facilitate debugging. It may be desirable.

이 경우, 상기 프로그래밍 언어 해석기는 하나 이상의 중첩 구조를 갖는 반복구조 명령이 입력되면, 중첩된 반복구조의 끝이 파악될 때까지 입력된 명령들의 실행을 지연시키는 것을 특징으로 할 수 있다.In this case, when the repeating structure command having one or more nested structures is input, the programming language interpreter may delay execution of the inputted commands until the end of the nested repeating structure is recognized.

또한, 본 발명은 상기의 프로그래밍 언어 해석기가 내장된 디버깅 장치; 유무선 통신부; 및 마이크로프로세서를를 구비하는 컴퓨터 시스템을 제공한다.In addition, the present invention is a debugging device with a built-in programming language interpreter; Wired and wireless communication unit; And a microprocessor.

이때 본 발명의 컴퓨터 시스템은, 상기 디버깅 장치의 입출력부가 상기 유무선 통신부와 연결되고 디버그 인터페이스는 상기 마이크로프로세서와 연결됨으로써, 원격지에서 상기 유무선 통신부와의 데이터 통신을 통해 상기 마이크로프로세서에 대한 디버깅 작업이 수행 가능한 것을 특징으로 할 수 있다.
In this case, in the computer system of the present invention, the input / output unit of the debugging device is connected to the wired / wireless communication unit, and the debug interface is connected to the microprocessor, so that the debugging operation of the microprocessor is performed through data communication with the wired / wireless communication unit at a remote place. It is possible to feature.

상기한 바와 같은 본 발명의 프로그래밍 언어 해석기가 내장된 디버깅 장치에 의하면, 단일의 반도체칩 내에 프로그래밍 언어 해석기와 필수 디버깅 기능들을 집적하고, 이 반도체칩이 디버깅 대상 시스템과 하나의 PCB나 모듈에 구성요소로서 집적되어 하나의 독립된 하드웨어 시스템으로 제조된다. 이에 따라 디버깅 대상 시스템이 개발되어 최종 소비자에게 납품되는 단계에서도 시스템에 포함될 수 있게 되어 제품의 출시 이후에도 사용자에 의한 디버깅 작업 등에 유용하게 적용 가능할 수 있게 됨으로써, 하드웨어 자원의 낭비 등을 방지할 수 있게 되는 효과가 있다.According to the debugging device in which the programming language interpreter of the present invention is incorporated as described above, the programming language interpreter and the essential debugging functions are integrated in a single semiconductor chip, and the semiconductor chip is a component of the debugging target system and one PCB or module. And integrated into one independent hardware system. Accordingly, the system to be debugged is developed and can be included in the system even at the stage of delivery to the end consumer, which can be usefully applied to debugging by the user even after the product is released, thereby preventing waste of hardware resources. It works.

또한, 프로그래밍 언어 해석기를 단일의 반도체칩에 내장하여 디버깅 알고리즘을 프로그램 언어 절차로 기술하고, 이렇게 기술된 디버깅 알고리즘을 디버깅 장치와 연결된 통신선로로 입력받아, 별도의 저장 절차 없이, 입력 즉시 실행하고 실행 결과를 재전송할 수 있게 됨으로써, 사용이 간편해짐은 물론 작업 속도 및 효율 등이 향상된다는 효과가 있다.
In addition, a programming language interpreter is embedded in a single semiconductor chip to describe a debugging algorithm as a programming language procedure, and the debugging algorithm described above is input to a communication line connected to the debugging device, and immediately executed and executed without a separate storage procedure. By being able to re-send the results, not only is it easier to use, but also the work speed and efficiency are improved.

도 1은 본 발명의 일 실시예에 따른 프로그래밍 언어 해석기가 내장된 디버깅 장치의 구성을 나타낸 설명도이다.
도 2a는 도 1의 프로그래밍 언어 해석기의 명령어 절차 반복 구조를 설명하기 위한 순서도이다.
도 2b는 본 발명의 실시예에 적용되는 프로그래밍언어의 문법 규칙에 따른 디버깅 절차 알고리즘을 기술한 소스의 예시도이다.
도 3은 도 1의 디버깅 장치를 구비하는 컴퓨터 시스템의 구성을 나타낸 설명도이다.
1 is an explanatory diagram showing the configuration of a debugging device with a built-in programming language interpreter according to an embodiment of the present invention.
FIG. 2A is a flowchart illustrating an instruction procedure repetition structure of the programming language interpreter of FIG. 1.
2B is an exemplary diagram illustrating a source for describing a debugging procedure algorithm according to a grammar rule of a programming language applied to an embodiment of the present invention.
FIG. 3 is an explanatory diagram showing a configuration of a computer system including the debugging device of FIG. 1.

상술한 본 발명의 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 실시예를 통하여 보다 분명해질 것이다.
BRIEF DESCRIPTION OF THE DRAWINGS The above and other objects, features and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.

이하의 특정한 구조 내지 기능적 설명들은 단지 본 발명의 개념에 따른 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니된다.It is to be understood that the following specific structure or functional description is illustrative only for the purpose of describing an embodiment in accordance with the concepts of the present invention and that embodiments in accordance with the concepts of the present invention may be embodied in various forms, It should not be construed as limited to the embodiments.

본 발명의 개념에 따른 실시예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시예들은 도면에 예시하고 본 명세서 또는 출원에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시 형태에 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. The embodiments according to the concept of the present invention can make various changes and have various forms, so that specific embodiments are illustrated in the drawings and described in detail in this specification or application. However, it should be understood that the embodiments according to the concept of the present invention are not intended to limit the present invention to specific modes of operation, but include all changes, equivalents and alternatives included in the spirit and scope of the present invention.

제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 한정되지는 않는다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소들로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다. The terms first and / or second etc. may be used to describe various components, but the components are not limited to these terms. The terms may be named for the purpose of distinguishing one element from another, for example, without departing from the scope of the right according to the concept of the present invention, the first element being referred to as the second element, The second component may also be referred to as a first component.

어떠한 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떠한 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 또는 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하기 위한 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 인접하는"과 "~에 직접 인접하는" 등의 표현도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when it is mentioned that an element is "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. Other expressions for describing the relationship between components, such as "between" and "between" or "adjacent to" and "directly adjacent to" should also be interpreted.

본 명세서에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서 "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. It is to be understood that the terms such as " comprises "or" having "in this specification are intended to specify the presence of stated features, integers, But do not preclude the presence or addition of steps, operations, elements, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.

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

도 1은 본 발명의 일 실시예에 따른 프로그래밍 언어 해석기가 내장된 디버깅 장치의 구성을 나타낸 설명도이다. 1 is an explanatory diagram showing the configuration of a debugging device with a built-in programming language interpreter according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 프로그래밍 언어 해석기가 내장된 디버깅 장치(100)는, 입출력부(110), 프로그래밍 언어 해석기(120) 및 디버그 인터페이스(130) 등을 포함하여 구성됨을 알 수 있다. Referring to FIG. 1, a debugging device 100 having a programming language interpreter according to an embodiment of the present invention includes an input / output unit 110, a programming language interpreter 120, a debug interface 130, and the like. It can be seen.

입출력부(110)는 프로그래밍 언어 소스 텍스트 형식으로 된 디버깅 알고리즘 절차를 입력받고 결과를 출력하는 기능을 수행한다.The input / output unit 110 receives a debugging algorithm procedure in a programming language source text format and performs a function of outputting a result.

입출력부(110)는 디버깅 명령 절차를 전송하는 다른 외부 호스트 시스템과 신호를 교환할 수 있는 외부 핀(115)들이 연결되어 있으며, 본 실시예에서는 UART 규격으로 구현되어 입력신호를 받는 RX핀과 출력신호를 전송하는 TX핀을 갖는 구성을 도시하였다. 하지만 이와 같은 핀들은 반도체칩과 반도체칩 사이의 프로토롤을 지원하도록 구성되는 것으로 반드시 상기한 UART 규격에 제한되지 않으며, SPI, I2C, USB, 이더넷 등 통상의 어떠한 프로토콜도 지원될 수 있음은 당연하다.The input / output unit 110 is connected with external pins 115 for exchanging signals with another external host system that transmits a debugging command procedure. In this embodiment, the RX pin and the output receiving the input signal are implemented according to the UART standard. A configuration having a TX pin for transmitting a signal is shown. However, these pins are configured to support the protocol between the semiconductor chip and the semiconductor chip, and are not necessarily limited to the above UART standard, and it is natural that any common protocol such as SPI, I2C, USB, and Ethernet can be supported. .

여기서 상기 입출력부(110)는, 통상의 디버깅 장치와 달리 아스키 코드 텍스트 형태의 입출력을 지원하는 것을 특징으로 할 수 있다. 이러한 아스키 코드 텍스트 입출력을 지원하게 되면, 사용자가 통신 터미널을 이용하여 직접 입력한 디버깅 명령어 문자열이 아스키 코드 텍스트 형식으로 입출력부(110)를 통해 프로그래밍언어 해석기(120)에 전달될 수 있다는 장점이 있다. 나아가, 이와 같은 아스키 코드 텍스트는 이진(binary) 디지털 신호에 포함되는 규격이므로 사용자 뿐만 아니라 다른 외부 장치에서 본 장치에 입출력을 전송하는 것도 가능하게 된다.Here, the input / output unit 110 may be characterized by supporting input and output in the form of ASCII code text, unlike a general debugging device. When the ASCII code text input / output is supported, a debugging command string input by a user directly using a communication terminal may be transmitted to the programming language interpreter 120 through the input / output unit 110 in ASCII code text format. . Furthermore, since such ASCII code text is a standard included in a binary digital signal, it is also possible to transmit input / output to the device from other external devices as well as the user.

이때, 도면에 도시되지는 않았지만, 본 발명의 실시예에 따른 디버깅 장치(100)는 입출력부(110)를 통해 입출력 되는 데이터들의 암호화/복호화를 위한 보안 모듈을 추가로 구비할 있다. 상기 보안 모듈로 통상의 어떠한 암호화/복호화 기술도 적용 가능함은 당연하다.
In this case, although not shown in the drawings, the debugging device 100 according to the embodiment of the present invention may further include a security module for encrypting / decrypting data input / output through the input / output unit 110. Naturally, any security encryption / decryption technique can be applied to the security module.

프로그래밍 언어 해석기(120)는 상기 입출력부(110)로부터 입력받은 디버깅 알고리즘 절차를 실행하는 기능을 수행하며, 디버그 인터페이스(130)는 상기 프로그래밍 언어 해석기(120)에 의해 해석된 알고리즘에 대응되도록 디버깅 신호를 연결된 외부 마이크로프로세서에 보내고 이로부터 정보를 가져오는 기능을 수행한다. The programming language interpreter 120 performs a function of executing a debugging algorithm procedure received from the input / output unit 110, and the debug interface 130 corresponds to a debugging signal corresponding to the algorithm interpreted by the programming language interpreter 120. It sends the data to a connected external microprocessor and retrieves information from it.

다시 말해, 상기 프로그래밍 언어 해석기(120)는 입력된 문자열을 해석하여 일련의 디버깅 작업 명령어로 변환시킨 후 이를 상기 디버깅 인터페이스(130)에 전달하며, 상기 디버그 인터페이스(130)는 외부 마이크로프로세서의 TAP 핀들과 연결되는 핀들(135)을 통해 프로그래밍언어 해석기(120)의 제어 하에 외부 마이크로프로세서의 동작 상태를 제어하거나 메모리 내용을 전송하게 된다. In other words, the programming language interpreter 120 interprets the input string, converts it into a series of debugging operation instructions, and passes the same to the debugging interface 130, and the debug interface 130 provides TAP pins of an external microprocessor. The pins 135 are connected to each other to control the operating state of the external microprocessor or transmit the memory contents under the control of the programming language interpreter 120.

디버깅 인터페이스(130)는 전달받은 디버깅 명령어를 디버그 프로토콜 신호로 인코딩하는 과정을 수행하며, 이렇게 인코딩 된 디버그 프로토콜 신호는 디버그 인터페이스 핀(135)에 연결된 마이크로프로세서의 TAP에 전송된다. 또한, 역으로 마이크로프로세서의 TAP으로부터 전송되는 신호는 디버그 인터페이스 핀(135)을 통하여 디버깅 인터페이스(130)에 전달되고, 디버깅 인터페이스(130)는 전달된 신호를 디코딩하여 프로그래밍 해석기(120)에 전달할 수 있다. The debugging interface 130 encodes the received debugging command into a debug protocol signal, and the encoded debug protocol signal is transmitted to a TAP of a microprocessor connected to the debug interface pin 135. In addition, the signal transmitted from the TAP of the microprocessor may be transmitted to the debugging interface 130 through the debug interface pin 135, and the debugging interface 130 may decode the transmitted signal and transmit it to the programming interpreter 120. have.

그리고 프로그래밍 해석기(120)는 디코딩 된 마이크로프로세서의 정보를 사용자가 해독할 수 있는 아스키 코드 문자열 형태로 변환하여 입출력부(110)를 통해 외부에 출력할 수 있다. The programming interpreter 120 may convert the information of the decoded microprocessor into an ASCII code string that can be decoded by the user and output the ASCII code string to the outside through the input / output unit 110.

이때, 상기한 외부 마이크로프로세서는, TAP을 가진 모든 형태의 마이크로프로세서라 통칭되는, 통상의 마이크로 콘트롤러나 MCU, CPU, Core 등으로 호칭되는 모든 것을 포함한다.
In this case, the external microprocessor includes all conventional microcontrollers, MCUs, CPUs, Cores, and the like, collectively referred to as all types of microprocessors having a TAP.

한편, 도 1의 실시예에 도시된 디버그 인터페이스 핀(135)들은 ARM 사(社)의 Serial Wire 디버그 프로토콜과 호환되는 TAP을 포함하는, 마이크로프로세서와 연결되어 통신하기 위한 핀 구성으로 SWCLK, SWDIO, SWO 등을 나타내었다. 여기서 RST 핀은 통상의 마이크로프로세서의 리셋핀에 연결되어 리셋 신호를 전달하기 위한 핀이다.Meanwhile, the debug interface pins 135 shown in the embodiment of FIG. 1 include pins for communication with a microprocessor, including TAP compatible with ARM's Serial Wire debug protocol, and include SWCLK, SWDIO, SWO and the like are shown. Here, the RST pin is connected to the reset pin of a conventional microprocessor to transmit a reset signal.

하지만 본 발명이 반드시 이에 한정되지 않으며, 상기한 Serial Wire 디버그 프로토콜 이외에도, 가령, 통상의 디버깅 작업 대상 마이크로프로세서 제조사가 제공하는 디버깅 프로토콜에 따라 JTAG 표준에 따른 TMS, TDI, TDO, TCK 등의 표준핀들을 이용한 디버그 인터페이스(130)가 구현될 수도 있음은 당업자에 있어 자명할 것이다. However, the present invention is not necessarily limited thereto. In addition to the serial wire debug protocol described above, for example, standard pins such as TMS, TDI, TDO, TCK, etc. according to the JTAG standard according to a debugging protocol provided by a microprocessor manufacturer for general debugging work. It will be apparent to those skilled in the art that the debug interface 130 may be implemented.

아래에서는 입출력부(110)로 입력되고 프로그래밍 언어 해석기(120)를 통해 해석되는 디버깅 명령어 절차에 대해 프로그래밍 예시를 통하여 보다 상세히 설명하도록 한다.
Hereinafter, the debugging command procedure inputted to the input / output unit 110 and interpreted through the programming language interpreter 120 will be described in more detail through programming examples.

본 발명의 실시예에 따른 디버깅 장치에 아스키 코드 문자열로 입력되는 디버깅 절차는 명령어 단위로 실행되며, 명령어의 조건부 실행, 명령어 집합의 반복루프, 반복루프의 조건부 탈출, 변수의 할당 및 사칙연산 등 통상의 프로그래밍 언어 기능을 활용하여 기술된다. 이와 같은 절차는 장치 구성시 설계되고 기 프로그래밍 된 논리회로를 통해 실행되는 것이 바람직할 수 있다. Debugging procedures inputted in ASCII code strings into the debugging device according to an embodiment of the present invention are executed in units of instructions, and are usually executed as conditional execution of an instruction, an iterative loop of an instruction set, conditional escape of an iterative loop, assignment of variables, and arithmetic operations. It is described utilizing the programming language features of. Such a procedure may be advantageously implemented through logic circuits designed and programmed in the device configuration.

입출력부(110)를 통해 입력되는 명령어 절차는, 상기한 바와 같이 아스키 문자들로 구성된 문자열이며, 개행문자를 입력되는 마지막 문자로 하여 개행문자를 인식한 프로그래밍 언어 해석기(120)가 문자열을 해석하고 그에 따른 디버깅 명령을 디버그 인터페이스(130)를 통해 외부 마이크로프로세서에 전달한 후 외부 마이크로프로세서에서 보내주는 응답을 해석하여 다시 입출력부(110)를 통해 출력한다.The command procedure input through the input / output unit 110 is a string composed of ASCII characters as described above, and the programming language interpreter 120 that recognizes the newline character as the last character to be inputted interprets the string. The debugging command is transmitted to the external microprocessor through the debug interface 130, and then the response is transmitted from the external microprocessor and output through the input / output unit 110.

상기 프로그램 언어 해석기(120)에 입력되는 프로그래밍 언어는 디버깅 작업이 용이할 수 있도록 고안된 전용 프로그래밍 언어로서, 본 발명의 기술분야를 포함하는 전반적인 컴퓨터 과학 분야에 통용되는 C, Java, Pascal, FORTRAN 등과 문법이 다른 본 발명 고유의 프로그래밍 언어이다. 통상 이러한 특정 분야 작업에 전용되는 프로그래밍 언어는 대화형 인터프리터 방식으로 구현된다. The programming language input to the program language interpreter 120 is a dedicated programming language designed to facilitate debugging, and is commonly used in C, Java, Pascal, FORTRAN, and grammars commonly used in the field of computer science including the technical field of the present invention. This is another inventive programming language. Programming languages that are typically dedicated to this particular field of work are implemented in an interactive interpreter manner.

이와 같은 프로그래밍 언어 기술의 용도는 사용자가 컴퓨터 시스템에 지시할 수 있는 다양한 형태의 예측되지 않는 요구를 컴퓨터 시스템이 효과적으로 수행할 수 있도록 하기 위한 것이며, 본 발명의 실시예에 있어 디버깅 작업 전용 프로그래밍 언어와 그 해석기를 적용한 취지 역시 다양한 사용자의 디버깅 작업 요구를 효과적으로 수행할 수 있도록 하기 위함이다. 즉, 본 발명의 실시예에 따른 디버깅 장치는 디버깅 대상이 되는 마이크로프로세서의 제조사에 따라 다른 다양한 디버깅 신호 입출력 형태를 하나의 프로그래밍언어 문법체계를 이용하여 입출력 신호를 제어할 수 있으므로, 하나의 디버깅 장치와 제조사 각각의 프로그래밍언어 소스 텍스트 입력을 이용하면, 하나의 장치로 다양한 제조사의 마이크로프로세서를 디버깅할 수 있다는 장점을 갖는다.
The purpose of such programming language technology is to enable a computer system to effectively fulfill various types of unforeseen demands that a user can direct to the computer system. The purpose of applying the interpreter is to effectively execute the debugging task of various users. That is, the debugging device according to the embodiment of the present invention can control the input and output signals using a single programming language grammar system for various debugging signal input and output types according to the manufacturer of the microprocessor to be debugged, Using the manufacturer's programming language source text input, it is possible to debug various manufacturers' microprocessors with one device.

이하, 본 발명의 실시예에 적용되는 디버깅 장치 전용 프로그래밍 언어의 작동과 그 효과를 하나 이상의 문법 예시를 통하여 설명한다. Hereinafter, operations and effects of a debugging device-specific programming language applied to an embodiment of the present invention will be described with one or more grammar examples.

명령어 절차를 기술하기 위한 프로그래밍 언어 문법 예시1은 디버깅 대상인 외부 마이크로프로세서와 통신을 초기화하는 명령으로, 문자열에 포함된 개행문자는 화면에 표시되지 않는 문자이므로 '<개행>'으로 표시하며, 공백문자 역시 '<공백>'으로 표시된다. 예시1이 입력되어 본 디버깅 장치에서 실행되면 연결된 마이크로프로세서에서 보내는 IDCODE를 응답하게 되며, ARM사의 Cortex-M3 마이크로프로세서가 연결되어 있는 상태일 경우 16진수로 2BA01477이 출력된다. 만일 외부 마이크로프로세서가 물리적으로 연결되어 있지 않으면 오류 문자열이 응답될 것이다.
Programming language grammar for describing the command procedure Example 1 is a command for initializing communication with the external microprocessor to be debugged. Since the newline character included in the string is not displayed on the screen, it is displayed as '<newline>', and the space character is used. Also shown as '<space>'. When Example 1 is input and executed in this debugging device, it responds with an IDCODE sent from the connected microprocessor. When ARM Cortex-M3 microprocessor is connected, 2BA01477 is output in hexadecimal. If the external microprocessor is not physically connected, an error string will be answered.

예시1 Example 1

1행: cn <개행>Line 1: cn <newline>

응답: 2BA01477
Answer: 2BA01477

예시2는 마이크로프로세서의 메모리 특정 위치 0번지에 저장된 데이터 값을 읽어 오는 명령어로서, 예시1을 통해 마이크로프로서와 통신상태가 연결된 후 적용될 수 있다. 데이터 값은 16진수로 출력된다.
Example 2 is a command for reading a data value stored in the memory specific location 0 of the microprocessor, and may be applied after the communication state is connected with the micro device through Example 1. Data values are output in hexadecimal.

예시2 Example 2

1행: gw <공백> 0 <개행>Line 1: gw <space> 0 <newline>

응답: 10001FFC
Answer: 10001FFC

예시3은 에시2의 반대되는 작용으로 마이크로프로세서 메모리 특정위치 16진수 표기로 10000000번지에 임의의 십진수 값 1000을 기록하는 작용을 하는 명령의 예시이며, 기록되는 작용으로 응답 출력이 되지 않는다.
Example 3 is an example of an instruction that functions to write an arbitrary decimal value 1000 at address 10000000 in the hexadecimal notation of a microprocessor memory specific position by the opposite action of Essie 2, and there is no response output.

예시3 Example 3

1행: pw <공백> $10000000, 1000 <개행>
Line 1: pw <space> $ 10000000, 1000 <newline>

예시4는 프로그래밍언어의 기본요소로서 변수를 활용한 예시를 나타낸 것으로 변수 x에 십진수 3과 4를 더한 값을 기록하는 명령과, x에 기록된 값을 출력하는 명령을 순차적으로 예시한 것이다. 두번째 개행문자 이후 숫자 7이 출력된다. 프로그래밍언어 해석기(120)는 기본적인 사칙연산 이외에도 다양한 산술연산과 메모리 조작 함수를 제공할 수 있다.
Example 4 shows an example of using a variable as a basic element of a programming language, and sequentially illustrates a command for writing a variable x plus a decimal number 3 and 4, and a command for outputting a value written in x. The number 7 is printed after the second newline. The programming language interpreter 120 may provide various arithmetic and memory manipulation functions in addition to the basic arithmetic operations.

예시4 Example 4

1행: x := 3 + 4 <개행>Line 1: x: = 3 + 4 <newline>

2행: x <개행>Line 2: x <newline>

응답: 7
Answer: 7

예시5는 예시2, 예시3 및 예시4와 같은 명령어 절차를 반복하여 실행할 수 있는 명령어 절차 반복을 예시한 것으로, 1000 밀리초(㎳)를 주기로 마이크로프로세서 메모리의 특정 위치인 16진수 10000000번지에 기록된 데이터 값을 읽어서 출력하는 것을 예시하였다. 예시2의 gw명령과 특정 숫자로 표기된 밀리초 기간 동안 디버깅 장치의 실행을 지연하는 wt명령을, 반복구조 시작과 끝을 알리는 lp명령과 el명령을 순차 중간에 입력함으로써 디버깅 절차가 무한 반복되어 출력되도록 하였다.
Example 5 is an example of repeating an instruction procedure that can be executed repeatedly, such as Examples 2, 3, and 4, and is written to the address of 10000000 hexadecimal, a specific location in the microprocessor memory, every 1000 milliseconds. It is an example of reading and outputting the data value. The debugging process is repeated indefinitely by inputting the gw command of Example 2 and the wt command that delays the execution of the debugging device for a certain number of milliseconds, and the lp and el commands that indicate the beginning and end of the iteration structure in the middle. It was made.

예시5 Example 5

1행: lp <개행>Line 1: lp <newline>

2행: gw $10000000 <개행>Row 2: gw $ 10000000 <newline>

3행: wt 1000 <개행>Line 3: wt 1000 <newline>

4행: el <개행>Line 4: el <newline>

응답: 데이터값 무한 반복
Answer: infinitely repeat data values

하지만 본 발명이 이상에서 설명한 프로그래밍 언어에 반드시 한정되는 것은 아니며, 이와 동일 또는 유사한 기능을 갖는 어떠한 방식의 프로그래밍 언어로도 대체 가능할 수 있음은 당업자에 있어 자명할 것이다.
However, it will be apparent to those skilled in the art that the present invention is not necessarily limited to the programming language described above, and may be replaced with any programming language having the same or similar functions.

도 2a는 도 1의 프로그래밍 언어 해석기의 명령어 절차 반복구조를 설명하기 위한 순서도로써, 프로그래밍 언어 해석기가 대화형 해석기 환경에서 상기한 예시5의 명령어 절차 반복구조를 실행하는 과정을 순서도로 표현한 것이다. FIG. 2A is a flowchart illustrating an instruction procedure repetition structure of the programming language interpreter of FIG. 1. The flowchart illustrates a process of executing the instruction procedure repetition structure of Example 5 in the interactive interpreter environment.

반복구조는 시작 명령과 종료 명령 사이의 명령어를 반복 실행하기 위한 것으로, 반복의 시작과 종료를 표시하는 명령어로 구분될 수 있으며 하나의 반복구조 사이에 하나 이상의 반복구조가 중첩될 수 있다. 도 1에 도시된 바와 같은 본 발명의 실시예에 구비되는 프로그래밍 언어 해석기에는, 통상의 프로그래밍 언어의 루프(loop)문과 같이 일정한 조건이 충족되는 경우 반복을 중단하고 반복의 종료 이후로 분기함으로써 반복을 끝내기 위한 명령어가 구비되어 있다. The repetition structure is for repeatedly executing a command between a start command and an end command, and may be divided into commands indicating the start and end of the repetition, and one or more repetition structures may be overlapped between one repetition structure. In the programming language interpreter provided in the embodiment of the present invention as shown in FIG. 1, when a predetermined condition is satisfied, such as a loop statement of a conventional programming language, the repetition is stopped by branching after the end of the repetition. There is a command to exit.

즉, 도 2a를 참조하면, 중첩된 반복구조의 종료를 표시하는 명령이 해석될 때까지 반복구조 시작 명령 이후 입력된 명령어들을 지연시켰다가 중첩된 반복구조의 종료가 해석되면 지연된 명령어를 실행하는 과정을 나타내고 있다. That is, referring to FIG. 2A, a process of delaying the commands input after the start of the repeating structure until the command indicating the end of the nested repeating structure is interpreted and executing the delayed command when the end of the nested repeating structure is interpreted. Indicates.

상기 알고리즘이 적용됨으로서 예시5의 1행에 기술된 반복구조의 시작부터, 순차대로 입력된 2행, 3행의 명령어들은 실행되지 않고 저장되었다가 4행에서 반복구조가 끝났음이 인식되었을 때 저장된 명령이 실행된다. 이와 같은 알고리즘이 적용됨으로써, 사용자가 프로그래밍 언어 규칙에 맞는 입력을 순차적으로 입출력부를 통하여 입력하면, 하나 이상의 중첩된 반복구조가 명령어 절차에 포함되어 있을지라도 명령어 절차를 문제 없이 실행할 수 있게 된다는 장점이 있다. 나아가, 상기 알고리즘이 적용된 본 발명의 실시예에 있어서는, 전체 명령어 절차를 장치 내부에 저장할 필요가 없게 되어 내부 메모리 공간을 절약할 수 있을 뿐만 아니라, 입출력부를 통해 모든 조합 가능한 알고리즘 명령어 절차를 입력받아 실행할 수 있게 된다는 등의 효과를 제공할 수 있다.By applying the above algorithm, from the beginning of the iteration structure described in the first line of Example 5, the commands of the second and third lines which are sequentially inputted are stored without being executed, and the stored commands are recognized when the iteration structure is finished in the fourth line. Is executed. By applying such an algorithm, if a user sequentially inputs inputs conforming to programming language rules through an input / output unit, the instruction procedure can be executed without problems even if one or more nested repeating structures are included in the instruction procedure. . Furthermore, in the embodiment of the present invention to which the algorithm is applied, it is not necessary to store the entire instruction procedure inside the device, thereby saving internal memory space, and receiving and executing all combinable algorithm instruction procedures through the input / output unit. It can provide an effect such as being able to.

도 2a를 참조하면, 본 발명의 실시예에 따른 프로그래밍 언어 해석기의 반복 구조 처리는, 문법에 맞게 입력된 명령어가 해석될 때 명령어의 종류에 따라 중첩 가능한 반복구조의 시작과 끝을 나타낼 수 있음을 전제로하여, 명령을 입력받은 후(S210) 상기 명령이 반복구조에 포함되는 명령인지 여부를 판단하여(S220) 반복구조에 포함 될 경우 해당 명령을 저장하고(S230), 이 과정을 명령어 입력에 따라 중첩된 반복구조의 종료가 확인될 때까지(S250) 반복한 후, 중첩된 반복구조의 종료가 확인되면(S250) 상기 저장된 명령을 실행하고(S260) 결과를 출력하는 과정(S270) 등으로 이루어짐을 확인할 수 있다. 이때, 상기 판단(S220)의 결과 현재 입력된 명령이 중첩된 반복구조에 해당되지 않을 경우 상기 명령을 즉시 실행하는 과정(S240)을 더 포함할 수 있다.Referring to FIG. 2A, iterative structure processing of a programming language interpreter according to an embodiment of the present invention may indicate the start and end of a repeatable repeatable structure according to the type of an instruction when an instruction input according to a grammar is interpreted. On the premise, after receiving the command (S210), it is determined whether the command is included in the repetitive structure (S220), if included in the repetitive structure, and stores the corresponding command (S230). After repeating until the end of the overlapped repeating structure is confirmed (S250), and when the end of the nested repeating structure is confirmed (S250), executing the stored command (S260) and outputting the result (S270). It can be confirmed. In this case, if the current input command does not correspond to the overlapped repetition structure as a result of the determination (S220), the method may further include immediately executing the command (S240).

즉, 본 발명의 실시예에서 명령어 절차들은, 사용자가 호스트 시스템에서 RS-232C 통신 터미널 등을 이용하여 키보드와 같은 입력도구를 통해 입력하거나, 호스트 시스템에 명령어 절차들을 프로그래밍 언어 문법에 맞게 작성한 명령어 순차 일괄처리 파일(배치 파일 등)을 전송하여 일괄처리 되도록 할 수 있으며, 이 과정에서 메모리에 의한 명령어의 저장 등이 불필요하다는 장점이 있다. 상기 일괄처리 입력파일이 사용자가 의도한 디버깅 동작과 외부 마이크로프로세서 규격에 맞추어 다양하게 제작되고 처리될 수 있음은 당업자에 있어 자명할 것이다.
That is, in the embodiment of the present invention, the command procedures may be input by a user through an input tool such as a keyboard using an RS-232C communication terminal in the host system, or a command sequence written in the host system in accordance with programming language syntax. It is possible to transfer a batch file (batch file, etc.) so that the batch can be processed, and there is an advantage in that it is unnecessary to store instructions by the memory in this process. It will be apparent to those skilled in the art that the batch input file may be variously manufactured and processed according to a debugging operation intended by a user and an external microprocessor standard.

도 2b는 본 발명의 실시예에 적용되는 프로그래밍언어의 문법 규칙에 따른 디버깅 절차 알고리즘을 기술한 소스의 예시도로써, Energy Micro사의 마이크로프로세서 제품 EFM32TG840에 펌웨어를 내장하기 위한 예시 화면을 나타낸다. 각 행의 좌측이 디버깅 명령어이며 각 행의 우측 ‘;’로 시작하는 문자열은 이에 대한 설명을 나타낸 주석부이다.FIG. 2B is a diagram illustrating a source describing a debugging procedure algorithm according to a grammar rule of a programming language applied to an embodiment of the present invention, and illustrates an example screen for embedding firmware in a microprocessor product EFM32TG840 of Energy Micro. The left side of each line is a debugging command, and the string starting with ';' on the right side of each line is a comment.

하지만 상기 도면은 본 발명의 실시예에 따른 일 예시일 뿐이며, 상기한 예시 도면 이외에도, 도 1의 프로그래밍언어 해석기(120)는 통상의 프로그래밍 언어 해석기가 갖는 기능들 및 사용자가 의도한 디버깅 명령어들이 조합된 절차를 해석하여 디버그 인터페이스(130)에 전달함으로써 실행시키는 기능을 수행할 수 있다.
However, the drawing is only an example according to an exemplary embodiment of the present invention. In addition to the above-described exemplary drawing, the programming language interpreter 120 of FIG. 1 includes a combination of functions of a conventional programming language interpreter and debugging instructions intended by a user. The interpreted procedure may be interpreted and transmitted to the debug interface 130 to perform a function of executing.

도 3은 도 1의 디버깅 장치를 구비하는 독립된 하드웨어 시스템의 구성을 나타낸 설명도이다.3 is an explanatory diagram showing a configuration of an independent hardware system including the debugging device of FIG. 1.

도 3을 참조하면, 본 발명의 실시예에 따른 디버깅 장치를 구비하는 PC 등의 독립된 하드웨어 시스템(300)은 디버깅 장치(310), 무선 모뎀부(320) 및 디버깅 대상 마이크로프로세서(330, 340) 등을 포함하여 구성됨을 알 수 있다.Referring to FIG. 3, an independent hardware system 300 such as a PC having a debugging device according to an embodiment of the present invention may include a debugging device 310, a wireless modem unit 320, and a debugging target microprocessor 330 and 340. It can be seen that including the configuration.

디버깅 장치(310)는 도 1 등을 통해 설명한 프로그래밍 언어 해석기가 내장된 단일 반도체 칩의 디버깅 장치로써, 그 구성 및 기능 등은 전술한 설명을 참조하도록 한다. The debugging device 310 is a debugging device for a single semiconductor chip in which a programming language interpreter described above with reference to FIG. 1 is embedded, and the configuration and function thereof are referred to the above description.

디버깅 장치(310)의 입출력부는 무선 모뎀부(320)와 연결되어 무선 주파수 송수신용 안테나(325)를 통해 외부 네트워크에 연결될 수 있으며, 디버깅 장치(310)의 디버그 인터페이스는 하드웨어 시스템의 마이크프로세서1,2(330, 340)의 TAP과 연결될 수 있다. 여기서 외부 연결선(315)은 종래의 디버깅 장치와 같이 하드웨어 시스템을 개발하는 단계에서 무선 주파수를 이용한 통신 입출력이 용이하지 않을 경우 호스트 시스템과 연결됨으로써 하드웨어 시스템의 개발을 용이하게 하는 역할을 한다. 다시 말해, 상기한 대화형 프로그래밍 언어 해석기가 포함된 디버깅 장치(310)를 구비하는 하드웨어 시스템(300)은, 별도의 디버깅 소프트웨어 없이 일반적으로 사용되는 통신 터미널을 이용하여 사용자가 직접 디버깅 명령어를 입력하여 의도된 디버깅 작업을 실행할 수 있다는 등의 장점을 제공한다.The input / output unit of the debugging device 310 may be connected to the wireless modem unit 320 and connected to an external network through an antenna 325 for transmitting and receiving radio frequencies. The debug interface of the debugging device 310 may include a microphone processor 1, 2 may be connected to the TAP of 330 and 340. Here, the external connection line 315 serves to facilitate the development of the hardware system by being connected to the host system when communication input / output using radio frequency is not easy at the stage of developing the hardware system as in the conventional debugging apparatus. In other words, the hardware system 300 including the debugging apparatus 310 including the interactive programming language interpreter may be directly inputted by a user using a communication terminal that is generally used without additional debugging software. This provides the advantage of being able to run the intended debugging task.

종래의 무선 주파수 통신을 이용한 펌웨어 다운로드 절차에서는 마이크로프로세서1,2(330, 340)의 메모리 영역에 펌웨어 코드 테이터를 입력받을 수 있는 부트로더 프로그램이 내장되어 있어야만 했지만, 도 3과 같이 본 발명의 실시예에 따른 디버깅 장치(310)를 시스템 내에 탑재할 경우, 마이크로프로세서1,2(330, 340)에 부트로더 프로그램이 내장되어 있지 않더라도 디버깅 장치(310)가 디버그 인터페이스를 내장하고 있으므로, 마이크로프로세서의 메모리를 직접 조작하여 펌웨어를 다운로드 할 수 있으며, 따라서, 별도의 부트로더 프로그램을 내장하는 절차 등이 불필요하게 된다.In the conventional firmware download procedure using radio frequency communication, a boot loader program capable of receiving firmware code data in the memory areas of the microprocessors 1 and 2 (330 and 340) should be built-in. However, as shown in FIG. When the debugging device 310 according to the example is mounted in the system, even if the boot loader program is not embedded in the microprocessors 1 and 2 (330 and 340), since the debugging device 310 has a built-in debug interface, The firmware can be downloaded by directly manipulating the memory, thus eliminating the need for a separate boot loader program.

여기서, 본 발명의 실시예에 따른, 단일칩으로 구성되는 디버깅 장치(310)는 통상의 기술분야에서 반도체칩 패키지라 칭하는 외형에 제한되지 않으며, 통상의 기술분야에서 하나 이상의 블럭을 이루는 반도체칩의 일 모듈로 구성될 수도 있음은 당연하다. 단, 본 발명의 실시예에 따른 디버깅 장치(310)가 반도체칩 패키지의 외형을 갖도록 구성될 경우, 통상의 기술로 가로 10밀리미터(㎜), 세로 10밀리미터 및 두께 2밀리미터 이하의 외형 치수로 제작되는 것이 바람직할 수 있으며, 통상의 마이크로프로세서 탑재 시스템의 하나 이상의 부속품으로 이용될 수 있다.
Here, according to an embodiment of the present invention, the debugging device 310 composed of a single chip is not limited to the appearance referred to as a semiconductor chip package in the art, and the semiconductor chip forming one or more blocks in the art. Naturally, it may be composed of one module. However, when the debugging device 310 according to the embodiment of the present invention is configured to have an external shape of a semiconductor chip package, the device is manufactured to have an external dimension of 10 mm (mm) in width, 10 mm in length and 2 mm in thickness in a conventional technique. It may be desirable, and may be used as one or more accessories of a conventional microprocessor mounted system.

반도체칩에 구성요소를 집적하는 방법으로는, 일반적인 MCU의 플래시메모리에 기능들을 펌웨어로 프로그래밍하여 내장하는 방법, FPGA에 논리회로를 프로그래밍하는 방법 및 실리콘 웨이퍼에 논리회로를 배선하여 대량 생산하는 방법 등이 있으며, 본 발명이 상기한 방법들을 포함하는 통상의 어떠한 방식으로 구현되더라도 무방함은 당연하다.
The method of integrating components on a semiconductor chip includes programming functions into firmware in a flash memory of a general MCU, programming logic circuits on an FPGA, and wiring a logic circuit on a silicon wafer and mass production. There is no doubt that the present invention may be implemented in any conventional manner including the methods described above.

이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능함은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명백할 것이다.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the inventions. It will be apparent to those of ordinary skill in the art.

100 : 디버깅 장치 110: 입출력부
120: 프로그래밍 언어 해석기 130: 디버그 인터페이스
300: 하드웨어 시스템 310: 디버깅 장치
320: 무선 모뎀부 330, 340: 마이크로프로세서
100: debugging device 110: input and output unit
120: Programming Language Interpreter 130: Debug Interface
300: hardware system 310: debugging device
320: wireless modem unit 330, 340: microprocessor

Claims (7)

프로그래밍언어 소스 텍스트 형식의 디버깅 알고리즘 절차를 입력받고 결과를 출력하는 입출력부(110)와, 상기 입출력부(110)를 통해 입력받은 디버깅 알고리즘 절차를 해석하는 프로그래밍 언어 해석기(120)와, 상기 프로그래밍 언어 해석기(120)를 통해 해석된 알고리즘에 대응되는 디버깅 신호를 외부 마이크로프로세서로 전송하고 이로부터 입력된 정보를 상기 프로그래밍 언어 해석기(120)에 전달하는 디버그 인터페이스(130)를 포함하는 디버깅 장치로서,
상기 프로그래밍 언어 해석기(120)는 상기 디버그 인터페이스(130)로부터 전달받은 외부 마이크로프로세서의 정보를 사용자가 판독 가능한 형태로 변환한 후 상기 입출력부(110)를 통해 외부로 출력하되,
상기 입출력부(110)와 프로그래밍 언어 해석기(120) 및 디버그 인터페이스(130)가 단일의 반도체칩 내부에 구성되며,
상기 입출력부(110)는 아스키 코드 텍스트 형태의 입출력을 지원하는 것을 특징으로 하는 프로그래밍 언어 해석기가 내장된 디버깅 장치.
An input / output unit 110 for receiving a debugging algorithm procedure in a programming language source text format and outputting a result, a programming language interpreter 120 for interpreting the debugging algorithm procedure inputted through the input / output unit 110, and the programming language. A debugging apparatus including a debug interface 130 for transmitting a debugging signal corresponding to an algorithm interpreted through an interpreter 120 to an external microprocessor and transferring information input therefrom to the programming language interpreter 120.
The programming language interpreter 120 converts the information of the external microprocessor received from the debug interface 130 into a form that can be read by a user, and then outputs it to the outside through the input / output unit 110.
The input / output unit 110, the programming language interpreter 120, and the debug interface 130 are configured in a single semiconductor chip.
The input / output unit 110 is a debugging device with a built-in programming language interpreter, characterized in that for supporting input and output in the form of ASCII code text.
삭제delete 삭제delete 제 1 항에 있어서,
상기 프로그래밍 언어 해석기(120)에 입력되는 프로그래밍 언어는 디버깅 작업이 용이할 수 있도록 고안된 대화형 인터프리터 방식의 전용 프로그래밍 언어인 것을 특징으로 하는 프로그래밍 언어 해석기가 내장된 디버깅 장치.
The method of claim 1,
The programming language input to the programming language interpreter (120) is a debugging device with a programming language interpreter, characterized in that the dedicated programming language of the interactive interpreter designed to facilitate debugging.
제 4 항에 있어서,
상기 프로그래밍 언어 해석기(120)는 하나 이상의 중첩 구조를 갖는 반복구조 명령이 입력되는 경우, 중첩된 반복구조의 끝이 파악될 때까지 입력된 명령들의 실행을 지연시키는 것을 특징으로 하는 프로그래밍 언어 해석기가 내장된 디버깅 장치.
5. The method of claim 4,
The programming language interpreter 120 includes a programming language interpreter that delays execution of the inputted commands until an end of the nested repeating structure is detected when the repeating structure command having one or more nested structures is input. Debugging device.
제 1 항, 제 4 항 및 제 5 항 중 어느 한 항에 따른 프로그래밍 언어 해석기가 내장된 디버깅 장치의 입출력부(110)는 유무선 통신부와 연결되고, 상기 디버깅 장치의 디버그 인터페이스(130)는 마이크로프로세서와 연결됨으로써, 원격지에서 상기 유무선 통신부와의 데이터 통신을 통해 상기 마이크로프로세서에 대한 디버깅 작업이 수행 가능한 것을 특징으로 하는 컴퓨터 시스템.The input / output unit 110 of the debugging device having a programming language interpreter according to any one of claims 1, 4, and 5 is connected to a wired / wireless communication unit, and the debug interface 130 of the debugging device is a microprocessor. And a debugging operation of the microprocessor through a data communication with the wired / wireless communication unit at a remote location. 삭제delete
KR1020120058533A 2012-05-31 2012-05-31 Apparatus for debugging integrated interpreter of programming language and computer system combined the smae KR101385817B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120058533A KR101385817B1 (en) 2012-05-31 2012-05-31 Apparatus for debugging integrated interpreter of programming language and computer system combined the smae

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120058533A KR101385817B1 (en) 2012-05-31 2012-05-31 Apparatus for debugging integrated interpreter of programming language and computer system combined the smae

Publications (2)

Publication Number Publication Date
KR20130134779A KR20130134779A (en) 2013-12-10
KR101385817B1 true KR101385817B1 (en) 2014-04-29

Family

ID=49982354

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120058533A KR101385817B1 (en) 2012-05-31 2012-05-31 Apparatus for debugging integrated interpreter of programming language and computer system combined the smae

Country Status (1)

Country Link
KR (1) KR101385817B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080052261A (en) * 2006-12-05 2008-06-11 한국전자통신연구원 Non-stop debugging apparatus for correcting errors in embedded systems and method thereof
KR20110124617A (en) * 2010-05-11 2011-11-17 삼성전자주식회사 System-on-chip and debugging method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080052261A (en) * 2006-12-05 2008-06-11 한국전자통신연구원 Non-stop debugging apparatus for correcting errors in embedded systems and method thereof
KR20110124617A (en) * 2010-05-11 2011-11-17 삼성전자주식회사 System-on-chip and debugging method thereof

Also Published As

Publication number Publication date
KR20130134779A (en) 2013-12-10

Similar Documents

Publication Publication Date Title
US6134707A (en) Apparatus and method for in-system programming of integrated circuits containing programmable elements
US9575748B2 (en) Development, programming, and debugging environment
US7752359B2 (en) Wireless-interface module and electronic apparatus
JP7122969B2 (en) Systems and methods for programming microcontroller data transfers
JP6998991B2 (en) Information processing methods and equipment
CN115952758B (en) Chip verification method and device, electronic equipment and storage medium
US9935637B2 (en) Systems and methods for FPGA development and operation
US7434103B2 (en) Program processing device
CN114707444B (en) Method for compiling verification system, electronic device and storage medium
KR101385817B1 (en) Apparatus for debugging integrated interpreter of programming language and computer system combined the smae
JP4598086B2 (en) Equipment and components with communication protocol emulation
JP5233355B2 (en) Property generation system and property verification system
US10095209B2 (en) Programming system for device control
CN116720462A (en) Device, method and equipment for constructing chip simulation system and chip simulation system
TWI425359B (en) Cpu core unlocking control apparatus applied to computer system
CN106922189B (en) Equipment agent device and control method thereof
US7761845B1 (en) Method for parameterizing a user module
US20060161422A1 (en) Virtual emulation modules, virtual development systems and methods for system-on-chip development
KR100952762B1 (en) Real-time debugging method of digital signal processor
Akcay et al. Design and implementation of an OpenRISC system-on-chip with an encryption peripheral
CN117421251B (en) Method and system for debugging user interface of embedded terminal
JP4913955B2 (en) Data processing device
JP5233354B2 (en) Property verification system, property verification method, and program
JP2011090518A (en) High order synthesis device, high order synthesis method, and high order synthesis program
Lindström et al. Implementing a streaming application on a processor array

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: 20170405

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180406

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190329

Year of fee payment: 6