KR20070070680A - Device and system for debugging device using control bus - Google Patents

Device and system for debugging device using control bus Download PDF

Info

Publication number
KR20070070680A
KR20070070680A KR1020050133492A KR20050133492A KR20070070680A KR 20070070680 A KR20070070680 A KR 20070070680A KR 1020050133492 A KR1020050133492 A KR 1020050133492A KR 20050133492 A KR20050133492 A KR 20050133492A KR 20070070680 A KR20070070680 A KR 20070070680A
Authority
KR
South Korea
Prior art keywords
master
control signal
slave
host computer
debugging
Prior art date
Application number
KR1020050133492A
Other languages
Korean (ko)
Other versions
KR100801759B1 (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 KR1020050133492A priority Critical patent/KR100801759B1/en
Publication of KR20070070680A publication Critical patent/KR20070070680A/en
Application granted granted Critical
Publication of KR100801759B1 publication Critical patent/KR100801759B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing

Abstract

A device and a system for debugging a slave are provided to debug an error of I2C(Inter IC) device even if the I2C device including an I2C bus includes no UART, and debug the I2C device and a baseband part at the same time even if a host computer performing debugging includes only one UART port. The host computer(260) generates control signals and debugs the slave. A master(230) is connected to the host computer through the UART and is connected to the slave through the I2C bus. The slave(200) performs the control signal received from the host computer through the master and transmits a performance result to the host computer through the master. The host computer debugs the slave by using the performance result. The control signal received from the host computer includes a flag transmitting the control signal to the slave from the master.

Description

슬레이브의 디버깅 방법 및 시스템{Device and system for debugging device using control bus}Device and system for debugging device using control bus

도 1은 종래의 I2C 버스를 포함하는 장치와 연결되는 디버깅 시스템의 구성을 나타낸 도면.1 is a diagram illustrating a configuration of a debugging system connected to a device including a conventional I2C bus.

도 2는 본 발명의 바람직한 일 실시예에 따라 I2C 버스를 포함하는 장치와 연결되는 디버깅 시스템의 구성을 나타낸 도면.2 is a diagram illustrating a configuration of a debugging system connected to a device including an I2C bus according to a preferred embodiment of the present invention.

도 3은 본 발명의 바람직한 일 실시예에 따라 I2C 버스를 포함하는 장치의 I2C 슬레이브 레지스터 맵의 구성을 나타낸 도면.3 is a diagram illustrating the configuration of an I2C slave register map of a device including an I2C bus in accordance with one preferred embodiment of the present invention.

본 발명은 슬레이브의 디버깅을 수행하기 위한 방법에 관한 것으로서 보다 상세하게는 제어 버스를 이용하여 통신하는 장치에 UART를 포함하지 않는 경우에도 정상 동작이나 오류 등을 디버깅하는 디버깅의 수행이 가능한 방법에 관한 것이다.The present invention relates to a method for debugging a slave. More particularly, the present invention relates to a method for debugging a normal operation or an error even when a device using a control bus does not include a UART. will be.

제어 버스란 제어 신호(예를 들어, 명령어 등)를 송수신하기 위한 버스를 말 하며, 제어 버스는 예를 들어 I2C 버스 또는 동종의 버스일 수 있다. 이하의 설명에서는 제어 버스중 가장 일반적인 I2C 버스를 기준으로 설명한다.The control bus refers to a bus for transmitting and receiving a control signal (eg, a command, etc.), and the control bus may be, for example, an I2C bus or a similar bus. The following description is based on the most common I2C bus among control buses.

I2C 버스란, Inter-IC라고도 불리우며, 집적 회로들 간의 통신 링크를 제공하는 두 가닥 선의 양방향 직렬 버스이다. 일반적으로 I2C로 지칭되며 현재 디지털 기기들의 내부 컴퓨팅 기능이 포함되는 Embeded System 구현을 위한 사실상의 표준으로 널리 사용되고 있다.The I2C bus, also called Inter-IC, is a two-wire, bidirectional serial bus that provides a communication link between integrated circuits. Commonly referred to as I2C, it is now widely used as a de facto standard for implementing an embedded system that includes the internal computing capabilities of digital devices.

본 명세서에서 슬레이브란 마스터에 제어 버스를 통해 연결되고, 제어 버스를 통해 수신되는 제어 신호에 의해 제어되는 종속 모듈로 특히 디지털 장치에 포함되어 다른 구성 요소들과 통신을 수행하는 장치를 말한다. 또한 슬레이브라고 칭하였으나 I2C 버스 외의 다른 제어 버스를 사용할 수 있으며 바람직하게는 장치나 기기의 형태가 아닌 칩(chip)의 구현될 수 있다.In the present specification, a slave is a slave module connected to a master through a control bus and controlled by a control signal received through the control bus, and particularly, a device included in a digital device to communicate with other components. It may also be called a slave, but other control buses other than the I2C bus may be used, and may be implemented as chips, preferably not in the form of devices or devices.

또한 슬레이브는 I2C 버스를 이용하여 통신하는 경우 I2C 장치라고 명칭한다.The slave is also called an I2C device when communicating using the I2C bus.

마스터는 디지털 처리 장치의 중심이 되는 부분으로 대개 베이스밴드로 불리우는 부분으로 특히 제어 버스를 통해 슬레이브와 연결되는 장치 또는 칩으로 구현될 수 있다. 이하의 설명에서는 일반적으로 지칭되는 베이스밴드라는 명칭을 사용하여 설명하기로 한다.The master is the central part of the digital processing device, usually referred to as baseband, and can be implemented in particular as a device or chip connected to the slave via a control bus. In the following description, a description will be made using a generally referred to baseband name.

디버깅(Debugging)이란, 특히 컴퓨터 분야에서 디버깅이란 컴퓨터 프로그램이나 하드웨어 장치에서 잘못된 부분, 즉 버그(bug)를 찾아서 수정하거나 또는 에러를 피해나가는 처리 과정을 말한다.Debugging, particularly in the computer field, refers to the process of finding and fixing bugs in a computer program or hardware device, such as bugs, or avoiding errors.

일반적으로 프로그램이나 하드웨어 장치의 결함을 제거하기 위해서는 문제가 되는 부분을 분리시킨 후 수정해야 한다. 대부분의 컴퓨터 프로그램과 하드웨어의 프로그램화된 부분은 수많은 코드로 구성되어 있기 때문에 많은 제품들이 어느 정도의 잘못된 부분을 포함하게 된다. 이러한 잘못된 부분을 찾아나가는 과정을 일반적으로 디버깅이라 한다.In general, in order to eliminate a defect in a program or hardware device, it is necessary to isolate the problem and fix it. Most computer programs and programmed parts of hardware consist of a lot of code, so many products contain a certain amount of errors. The process of finding these faults is usually called debugging.

특히 컴퓨터 등의 디지털 장치에서 포함되는 펌웨어(firmware)는 디지털 처리 장치의 기본 동작을 위해 반드시 필요한 경우가 대부분이므로 정상 동작이나 오류를 수정하는 디버깅하는 과정이 반드시 수행되어야 한다.In particular, since firmware included in a digital device such as a computer is most necessary for the basic operation of the digital processing device, a debugging process for correcting a normal operation or an error must be performed.

펌웨어란 메모리에 저장되어 영구적으로 디지털 장치의 일부가 되는 프로그램을 말하며 디지털 장치의 동작의 기본 역할을 모두 하드웨어적으로 구현하는 경우 구조가 복잡해지고 비용이 증가하는 문제점이 있으므로 이를 프로그램으로 구현한 것이다. Firmware refers to a program that is stored in memory and becomes part of a digital device permanently. If the hardware implements all the basic functions of the digital device, the structure is complicated and the cost increases.

UART란, Universal Asynchronous Receiver/Transmitter(이하 UART라 함)의 약어로 범용 비동기화 송수신기로 불리우며 컴퓨터에 부착된 직렬 장치들로 향하는 인터페이스를 제어하는 프로그램이 들어 있는 마이크로칩 또는 장치이다. UART is an abbreviation of Universal Asynchronous Receiver / Transmitter (hereinafter referred to as UART). It is a microchip or device that contains a program that controls an interface to a serial device attached to a computer.

UART는 컴퓨터에게 직렬 데이터 통신의 표준 프로토콜의 데이터 단말 장치인 RS-232C DTE 인터페이스를 제공함으로써 모뎀이나 기타 다른 직렬 장치들과 통신하거나 데이터를 주고받을 수 있게 한다. The UART provides a computer with an RS-232C DTE interface, a data terminal device in the standard protocol for serial data communication, to communicate with or send data to a modem or other serial device.

UART의 기본적인 기능은 컴퓨터로부터 병렬 회로를 통해 받은 바이트들을 외부에 전달하기 위해 하나의 단일 직렬 비트 스트림(stream)으로 변환하고 내부로 전송할 때에는, 직렬 비트 스트림을 컴퓨터가 처리할 수 있도록 바이트로 변환한다.The basic function of the UART is to convert the bytes received through the parallel circuit from the computer into a single serial bit stream for external transmission and, when transmitted internally, convert the serial bit stream into bytes for the computer to process. .

또한 외부 전송을 위해 패리티(parity) 비트를 추가하며, 수신되는 바이트들의 패리티를 확인하고, 패리티 비트를 제거하는 기능을 수행한다. 그리고 데이터를 외부로 내보낼 때에는 시작 비트와 정지 비트를 추가하고, 수신되는 데이터에서는 그것들을 제거하며 키보드나 마우스로부터 들어오는 인터럽트를 처리한다.It also adds a parity bit for external transmission, checks the parity of received bytes, and removes the parity bit. When exporting data, add start and stop bits, remove them from incoming data, and handle interrupts from the keyboard or mouse.

또한 다른 종류의 인터럽트 처리와 컴퓨터의 동작 속도를 장치의 속도와 동등하게 맞추도록 요구하는 장치를 관리할 수 있으며 최근에는 UART가 일정량의 데이터 버퍼링을 제공함으로써, 컴퓨터와 직렬 장치들의 데이터 스트림이 대등하도록 맞추어준다. It can also manage other types of interrupt processing and devices that require the computer's operating speed to be equal to the device's speed. Recently, the UART provides some amount of data buffering to ensure that the data streams of the computer and the serial devices are comparable. Match it.

이러한 I2C 버스를 이용하여 통신하는 장치(이하 I2C 장치라 함)의 디버깅을 수행하기 위한 종래의 방법을 도 1을 참조하여 살펴본다.A conventional method for performing debugging of a device (hereinafter, referred to as an I2C device) to communicate using the I2C bus will be described with reference to FIG. 1.

도 1은 종래의 I2C 장치의 펌웨어(firmware)에 대해 디버깅을 수행하기 위한 디버깅 시스템의 구성을 나타낸 도면이다.1 is a diagram illustrating a configuration of a debugging system for performing debugging on a firmware of a conventional I2C device.

도 1에 도시된 바와 같이, I2C 장치의 펌웨어에 대한 디버깅을 수행하기 위한 시스템은 I2C 장치(100), 베이스밴드(Baseband)부(140) 및 호스트 컴퓨터(160)를 포함한다.As shown in FIG. 1, a system for debugging the firmware of an I2C device includes an I2C device 100, a baseband unit 140, and a host computer 160.

I2C 장치(100)와 베이스밴드부(140)는 호스트 컴퓨터(160)와 각각 UART 케이블에 의해 연결되며 I2C 장치(100)와 베이스밴드부(160)는 I2C 버스를 통해 서로 연결된다.The I2C device 100 and the baseband unit 140 are connected to the host computer 160 by a UART cable, respectively, and the I2C device 100 and the baseband unit 160 are connected to each other via an I2C bus.

I2C 장치(100)와 베이스밴드부(140)는 내부에 UART 포트를 포함하고 있어 UART 케이블에 의해 연결되며 I2C 장치(100)와 베이스밴드부(140)는 I2C 슬레이브(110)와 I2C 마스터(145)로 서로 연결된다.The I2C device 100 and the baseband unit 140 include a UART port therein and are connected by a UART cable, and the I2C device 100 and the baseband unit 140 are connected to the I2C slave 110 and the I2C master 145. Are connected to each other.

이러한 방법에 의해 수행되는 디버깅의 내용은 I2C 장치(100)가 수행중인 명령, 수행에 대한 응답 등의 정보가 포함된다.The contents of debugging performed by this method include information such as a command being performed by the I2C device 100 and a response to the execution.

이러한 구성을 가지는 종래의 I2C 장치(100)의 디버깅을 위한 시스템을 각각의 구성 요소별로 기능을 중심으로 살펴본다.The system for debugging the conventional I2C device 100 having such a configuration will be described based on the function of each component.

먼저 종래의 I2C 장치(100)는 I2C 슬레이브 레지스터 맵(105), I2C 슬레이브(110), 프로세서(115), 메모리(120), UART 컨트롤러(125a), UART 포트(130a)를 포함한다.First, the conventional I2C device 100 includes an I2C slave register map 105, an I2C slave 110, a processor 115, a memory 120, a UART controller 125a, and a UART port 130a.

I2C 슬레이브 레지스터 맵(105)은 I2C 마스터(145)와 I2C 슬레이브(110)와의 통신을 위한 버퍼(buffer)로 I2C 마스터(145)로부터 전달받거나 전달하고자 하는 내용을 저장할 수 있는 공간이다.The I2C slave register map 105 is a buffer for communication between the I2C master 145 and the I2C slave 110. The I2C slave register map 105 is a space for storing contents to be delivered or intended to be transmitted from the I2C master 145.

I2C 마스터(145)가 I2C 슬레이브(110)에 명령을 전달할 때에는 전달하고자 하는 데이터와 그 데이터를 저장할 주소 정보를 함께 전송한다. 전송된 주소 정보와 데이터는 I2C 슬레이브 레지스터 맵(105)에 저장이 된다.When the I2C master 145 transmits a command to the I2C slave 110, the I2C master 145 transmits data to be delivered and address information to store the data. The transmitted address information and data are stored in the I2C slave register map 105.

I2C 마스터(145)에서 I2C 슬레이브(110)로부터 데이터를 읽어 들일 때에도 I2C 슬레이브(110)에 대한 주소 정보를 넘겨주어서 주소 정보로부터 데이터를 읽을 수 있다.Even when the I2C master 145 reads data from the I2C slave 110, the I2C slave 110 may pass address information on the I2C slave 110 to read data from the address information.

I2C 슬레이브(110)는 베이스밴드부(140)와의 통신을 위한 통로로 I2C 버스를 사용한다.The I2C slave 110 uses the I2C bus as a path for communication with the baseband unit 140.

따라서 베이스밴드부(140)에 I2C 마스터(145)가 존재하고 I2C 장치(100)에는 I2C 슬레이브(110)가 존재하여 베이스밴드부(140)와 I2C 장치(100)가 서로 연결된다.Accordingly, the I2C master 145 exists in the baseband unit 140 and the I2C slave 110 exists in the I2C device 100, so that the baseband unit 140 and the I2C device 100 are connected to each other.

프로세서(115)는 I2C 장치(100)의 운영을 위해 기본적인 명령어들을 처리하고 반응하기 위한 논리 회로이다.The processor 115 is a logic circuit for processing and reacting basic instructions for the operation of the I2C device 100.

메모리(120)는 명령어가 수행되는 영역과, 명령어가 수행되면서 사용되는 영역으로 크게 두가지로 나눌 수 있다. 명령어가 수행되는 영역에 대한 메모리는 주로 플래쉬(flash) 형태가 사용되며 SRAM(Synchronous Dynamic Random Access Memory) 형태의 메모리가 사용되기도 한다. 명령어가 수행되면서 사용하는 메모리 영역은 주로 SRAM 형태의 메모리를 사용한다.The memory 120 can be largely divided into two areas, an area where an instruction is executed and an area used while the instruction is executed. The memory of the area where the instruction is executed is mainly used in the form of flash, and the memory in the form of synchronous dynamic random access memory (SRAM) is also used. The memory area used when the command is executed mainly uses SRAM type memory.

UART 컨트롤러(125a)는 특정 디지털 기기의 개발시 디버깅을 위해 사용되며 현재 수행중인 I2C 장치(100)의 환경 정보의 확인 및 어떤 기능들이 수행되고 있는지에 대한 정보를 획득한다. The UART controller 125a is used for debugging in the development of a specific digital device, and obtains information about checking of environmental information of the I2C device 100 currently being performed and what functions are being performed.

주로 Shell(DOS의 명령 프롬프트)과 같은 형태로 구현되며 호스트 컴퓨터(160)에 구비되는 터미널 프로그램을 통하여 명령의 입력이 가능하며 수행된 명령에 대한 결과를 확인할 수 있다.It is mainly implemented in the form of a shell (DOS command prompt), and it is possible to input a command through a terminal program provided in the host computer 160 and to check the result of the executed command.

UART 포트(130b)는 UART 컨트롤러(125a)와 연결되어 UART 컨트롤러(125a)에서 획득된 정보가 출력되도록 외부 장치 특히 호스트 컴퓨터(160)와 연결되는 부분이다.The UART port 130b is connected to an external device, in particular, a host computer 160 so that the information obtained by the UART controller 125a is output by being connected to the UART controller 125a.

I2C 장치(100)와 연결되는 베이스밴드부(140)의 구성을 살펴보면, 베이스밴드부(140)는 I2C 마스터(145), 베이스밴드 프로세서(150), 메모리(155), UART 컨트롤러(125b), UART 포트(130b)를 포함한다.Looking at the configuration of the baseband unit 140 connected to the I2C device 100, the baseband unit 140 is the I2C master 145, baseband processor 150, memory 155, UART controller 125b, UART port 130b.

I2C 마스터(145)는 다른 장치나 구성요소가 I2C 장치(100)와의 통신을 하기 위한 것으로 읽기/쓰기 명령 모두 I2C 마스터(145)에 의해 이루어진다.The I2C master 145 is for other devices or components to communicate with the I2C device 100 and both read / write commands are made by the I2C master 145.

베이스밴드 프로세서(150)는 베이스밴드부(140)의 운영을 위해 기본적인 명령어들을 처리하고 반응하기 위한 논리 회로이다.The baseband processor 150 is a logic circuit for processing and reacting basic instructions for the operation of the baseband unit 140.

메모리(155)는 베이스밴드(140)에서 수행되는 명령어가 수행되는 영역과 명령어가 수행되면서 사용되는 영역으로 크게 두 가지로 나눌 수 있으며 이러한 명령어들이 저장되는 영역이다.The memory 155 may be roughly divided into two areas, which are commands that are executed in the baseband 140 and areas that are used while the commands are executed, and are areas in which these commands are stored.

UART 컨트롤러(125b)와 UART 포트(130b)는 I2C 장치(100)에서와 같이 디지털 기기 등의 개발시 디버깅을 위해 사용되며 현재 수행중인 시스템의 환경 정보의 확인 및 어떤 기능들이 수행되고 있는지에 대한 정보를 획득하기 위해 사용되며 UART 포트(130b)는 UART 컨트롤러(125b)와 연결되며 UART 컨트롤러(125b)에서 획득된 정보가 출력되도록 외부 장치와 연결되는 부분이다.The UART controller 125b and the UART port 130b are used for debugging during the development of digital devices, such as in the I2C device 100, and check the information of the environment and the functions of the currently running system. It is used to obtain the UART port 130b is connected to the UART controller 125b and is connected to an external device so that the information obtained from the UART controller 125b is output.

호스트 컴퓨터(160)는 펌웨어의 개발, 다운로드, 디버깅을 수행하기 위한 컴퓨터이다.The host computer 160 is a computer for performing firmware development, download, and debugging.

이러한 종래의 디지털 기기의 개발을 위한 디버깅을 수행하기 위해서는 베이스밴드부(140)의 UART 포트(130b)를 통해 호스트 컴퓨터(160)와 연결하여 베이스밴드부(140)의 디버깅을 수행한다.In order to perform debugging for the development of the conventional digital device, the baseband unit 140 is connected to the host computer 160 through the UART port 130b of the baseband unit 140.

또한 I2C 장치(100)의 경우에도 I2C 장치(100)의 UART 포트(125a)를 통해 호스트 컴퓨터(160)와 연결하여 I2C 장치(100)의 디버깅을 수행하여야 한다.In addition, in the case of the I2C device 100, the I2C device 100 should be connected to the host computer 160 through the UART port 125a of the I2C device 100 to perform debugging of the I2C device 100.

따라서, I2C 장치 내에 디버깅 수행을 위해서는 UART 컨트롤러와 UART 포트를 포함하는 UART를 포함하여야만 하는 Therefore, debugging in an I2C device must include a UART that includes a UART controller and a UART port.

문제점이 있다. 따라서 I2C 장치 내에 UART를 포함하지 않은 경우에는 I2C 장치만의 디버깅을 수행할 수 없는 문제점이 있다.There is a problem. Therefore, when the UART is not included in the I2C device, only the I2C device can not be debugged.

또한 최근 생산되는 컴퓨터들이 대부분이 UART 포트를 하나만을 구비하고 있어 이러한 경우 디버깅을 수행하는 호스트 컴퓨터가 I2C 장치와 베이스밴드부를 동시에 디버깅할 수 없고 각각 별도로 수행하여야 하는 문제점이 있다.In addition, most of the computers produced recently have only one UART port. In this case, the host computer that performs debugging cannot debug the I2C device and the baseband at the same time.

또한 I2C 장치에 대한 디버깅은 UART 컨트롤러가 초기화된 후부터 디버깅의 수행이 가능하게 되므로 UART 컨트롤러가 안정적으로 동작하기 전까지의 과정에 대해서는 디버깅할 수 없는 문제점이 있다.In addition, since debugging of I2C device can be performed after the UART controller is initialized, there is a problem that cannot be debugged until the UART controller operates stably.

상기한 바와 같은 종래의 문제점을 해결하기 위해, 본 발명은 I2C 버스를 포 함하는 장치인 I2C 장치에 UART를 포함하지 않는 경우에도 I2C 장치의 오류를 수정하는 디버깅이 가능한 방법을 제안하는 것이다.In order to solve the conventional problems as described above, the present invention proposes a debugging method that can correct the error of the I2C device even if the U2 is not included in the I2C device that is a device including the I2C bus.

또한, 디버깅을 수행하는 호스트 컴퓨터가 UART 포트를 하나만 포함하는 경우에도 I2C 장치와 베이스밴드부를 함께 디버깅할 수 있는 방법을 제안하는 것이다.In addition, even if the host computer performing debugging includes only one UART port, the present invention proposes a method for debugging the I2C device and the baseband unit together.

그리고 I2C 장치 내에 UART를 포함하지 않아도 되게 함으로써 I2C 장치가 동작되는 전체 과정에 대한 디버깅을 수행할 수 있는 방법을 제안하는 것이다.In addition, the present invention proposes a method for debugging the entire process of operating the I2C device by eliminating the need for including the UART in the I2C device.

본 발명의 또 다른 목적들은 이하의 실시예에 대한 설명을 통해 쉽게 이해될 수 있을 것이다.Still other objects of the present invention will be readily understood through the following description of the embodiments.

상기한 바와 같은 목적을 달성하기 위해, 본 발명의 일 측면에 따르면 슬레이브를 디버깅하는 방법이 제공된다. In order to achieve the above object, according to an aspect of the present invention there is provided a method for debugging a slave.

본 발명의 바람직한 일 실시예에 따르면, 마스터와 제어 버스를 이용하여 통신하는 슬레이브를 디버깅하는 방법에 있어서, 상기 마스터와 범용 비동기화 송수신기(UART)에 의해 연결된 호스트 컴퓨터로부터 전송된 제어 신호를 상기 마스터를 통해 입력받는 단계(a); 상기 전송받은 제어 신호를 수행하는 단계(b); 및 상기 수행 결과를 마스터를 통해 호스트 컴퓨터로 전송하는 단계(c)를 포함하되 상기 호스트 컴퓨터는 상기 수행 결과를 이용하여 슬레이브를 버그를 수정하는 디버깅을 수행하는 것을 특징으로 하는 슬레이브의 디버깅 방법이 제공된다.According to a preferred embodiment of the present invention, in a method of debugging a slave communicating with a master and a control bus, the master transmits a control signal transmitted from a host computer connected by the master and a universal asynchronous transceiver (UART). Receiving an input through (a); Performing the received control signal (b); And (c) transmitting the execution result to the host computer through the master, wherein the host computer performs debugging to fix the bug by using the execution result. do.

본 발명의 다른 측면에 의하면, 슬레이브를 디버깅하는 방법을 구현하기 위한 프로그램을 기록한 기록매체가 제공된다.According to another aspect of the present invention, there is provided a recording medium recording a program for implementing a method for debugging a slave.

본 발명의 바람직한 일 실시예에 따르면, 마스터와 제어 버스를 이용하여 통신하는 슬레이브를 디버깅하는 방법을 수행하기 위해 슬레이브에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 슬레이브에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서, 상기 마스터와 범용 비동기화 송수신기(UART)에 의해 연결된 호스트 컴퓨터로부터 전송된 제어 신호를 상기 마스터를 통해 입력받는 단계(a); 상기 전송받은 제어 신호를 수행하는 단계(b); 및 상기 수행 결과를 마스터를 통해 호스트 컴퓨터로 전송하는 단계(c)를 포함하되 상기 호스트 컴퓨터는 상기 수행 결과를 이용하여 슬레이브를 버그를 수정하는 디버깅을 수행하는 것을 특징으로 하는 프로그램을 기록한 기록매체가 제공된다.According to a preferred embodiment of the present invention, a program of instructions that can be executed by a slave to perform a method of debugging a slave communicating with a master and a control bus is tangibly implemented and read by the slave. A recording medium recording a program, comprising: receiving a control signal transmitted from a host computer connected by the master and a universal asynchronous transceiver (UART) through the master (a); Performing the received control signal (b); And (c) transmitting the execution result to the host computer through the master, wherein the host computer uses the execution result to debug the slave to fix the bug. Is provided.

본 발명의 다른 측면에 의하면, 슬레이브의 디버깅 시스템이 제공된다.According to another aspect of the present invention, a debugging system of a slave is provided.

본 발명의 바람직한 일 실시예에 따르면, 슬레이브의 디버깅 시스템에 있어서, 제어 신호들을 생성하고 슬레이브의 버그를 수정하는 디버깅을 수행하는 호스트 컴퓨터; 상기 호스트 컴퓨터와 범용 비동기화 송수신기로 연결되고 상기 슬레이브와 제어 버스를 통해 연결되는 마스터; 및 상기 호스트 컴퓨터로부터 전송된 제어 신호를 상기 마스터를 통해 입력받아 상기 전송받은 제어 신호를 수행하고, 상기 수행 결과를 상기 마스터를 통해 상기 호스트 컴퓨터로 전송하는 슬레이브를 포함하되, 상기 호스트 컴퓨터는 상기 수행 결과를 이용하여 상기 슬레이브의 버그를 수정하는 디버깅을 수행하는 것을 특징으로 하는 슬레이브의 디버깅 시스템이 제공 된다.According to one preferred embodiment of the present invention, there is provided a debugging system of a slave, comprising: a host computer for generating control signals and performing debugging to fix a bug of the slave; A master coupled with the host computer to a general purpose asynchronous transceiver and coupled with the slave through a control bus; And a slave receiving the control signal transmitted from the host computer through the master, performing the received control signal, and transmitting the result of the execution to the host computer through the master, wherein the host computer performs the performing. A debugging system of a slave is provided, wherein the debugging is performed to correct a bug of the slave by using the result.

본 발명의 다른 측면에 의하면, 범용 비동기화 송수신기를 포함하지 않고 디버깅이 가능한 슬레이브가 제공된다.According to another aspect of the invention, there is provided a slave capable of debugging without including a general purpose asynchronous transceiver.

본 발명의 바람직한 일 실시예에 따르면, 범용 비동기화 송수신기를 포함하지 않고 디버깅이 가능한 슬레이브에 있어서, 호스트 컴퓨터로부터 제어 신호를 수신하는 마스터의 마스터 송수신부와 연결되어 상기 마스터 송수신부로부터 상기 제어 신호를 수신하는 슬레이브 송수신부; 상기 슬레이브 송수신부에 의해 수신된 제어 신호에 상응하는 처리를 수행하는 프로세서부; 및 상기 슬레이브 송수신부에 의해 수신된 제어 신호가 저장되고, 상기 컨트롤러부에 의해 처리된 결과가 저장되는 레지스터 맵을 포함하는 것을 특징으로 하는 슬레이브가 제공된다.According to a preferred embodiment of the present invention, in a slave capable of debugging without including a general-purpose asynchronous transceiver, it is connected to a master transceiver of a master that receives a control signal from a host computer to receive the control signal from the master transceiver. A slave transceiver receiving unit; A processor unit which performs a process corresponding to the control signal received by the slave transceiver unit; And a register map in which a control signal received by the slave transceiver unit is stored and a result processed by the controller unit is stored.

이하, 본 발명의 바람직한 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면 번호에 상관없이 동일한 수단에 대해서는 동일한 참조 번호를 사용하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, the same reference numerals will be used for the same means regardless of the reference numerals in order to facilitate the overall understanding.

도 2는 본 발명의 바람직한 일 실시예에 따라 I2C 버스를 포함하는 장치와 연결되는 디버깅 시스템의 구성을 나타낸 도면이다. 도 1의 종래의 I2C 장치의 디버깅을 위한 시스템과의 차이를 중심으로 본 발명에 의한 I2C 장치의 디버깅을 위한 시스템을 설명한다.2 is a diagram illustrating a configuration of a debugging system connected to a device including an I2C bus according to an exemplary embodiment of the present invention. A system for debugging an I2C device according to the present invention will be described based on the difference from the system for debugging the conventional I2C device of FIG. 1.

도2에 도시된 바와 같이, 본 발명의 바람직한 일 실시예에 따른 I2C 버스를 포함하는 장치와 연결되는 디버깅 시스템은 I2C 장치(200), 베이스밴드(Baseband) 부(230) 및 호스트 컴퓨터(260)를 포함할 수 있다.As shown in FIG. 2, a debugging system connected to a device including an I2C bus according to an exemplary embodiment of the present invention includes an I2C device 200, a baseband unit 230, and a host computer 260. It may include.

베이스밴드부(230)는 호스트 컴퓨터(260)와 연결되며 종래와 달리 I2C 장치(200)는 베이스밴드부(230)에만 연결된다.The baseband unit 230 is connected to the host computer 260, and unlike the prior art, the I2C device 200 is connected only to the baseband unit 230.

베이스밴드부(230)는 호스트 컴퓨터(260)와 내부에 구비된 UART 포트(255)를 통해 연결되며, I2C 장치(200)와 베이스밴드부(230)는 I2C 슬레이브(210)와 I2C 마스터(235)로 서로 연결된다.The baseband unit 230 is connected to the host computer 260 through the UART port 255 provided therein, and the I2C device 200 and the baseband unit 230 are connected to the I2C slave 210 and the I2C master 235. Are connected to each other.

이러한 구성을 가지는 본 발명의 바람직한 일 실시예에 따른 I2C 장치의 디버깅을 위한 시스템을 각각의 구성요소별로 기능을 중심으로 살펴본다.A system for debugging an I2C device according to an exemplary embodiment of the present invention having such a configuration will be described based on the function of each component.

먼저 I2C 장치(200)는 I2C 슬레이브 레지스터 맵(I2C slave register map)(205), I2C 슬레이브(I2C slave) (210), 프로세서(processor)(215), 메모리(memory)(220)를 포함할 수 있으며, 종래와 달리 UART 컨트롤러와 UART 포트는 포함하지 않는다.First, the I2C device 200 may include an I2C slave register map 205, an I2C slave 210, a processor 215, and a memory 220. Unlike the related art, the UART controller and the UART port are not included.

I2C 슬레이브 레지스터 맵(205)은 I2C 마스터(235)와 I2C 슬레이브(210)와의 통신을 위한 버퍼(buffer)로 I2C 마스터(235)로부터 전달받거나 전달하고자 하는 내용을 저장할 수 있는 공간이다.The I2C slave register map 205 is a buffer for communication between the I2C master 235 and the I2C slave 210. The I2C slave register map 205 is a space for storing contents to be delivered or delivered from the I2C master 235.

I2C 마스터(235)가 I2C 슬레이브(210)에 명령을 전달할 때에는 전달하고자 하는 데이터와 그 데이터를 저장할 주소 정보를 함께 전송하고 주소 정보와 데이터는 I2C 슬레이브 레지스터 맵(205)에 저장이 된다.When the I2C master 235 transmits a command to the I2C slave 210, the I2C master 210 transmits the data to be delivered together with the address information to store the data, and the address information and the data are stored in the I2C slave register map 205.

I2C 마스터(235)에서 I2C 슬레이브(210)로부터 데이터를 읽어 들일 때에도 I2C 슬레이브(210)에 대한 주소 정보를 전송하여 주소 정보로부터 데이터를 읽을 수 있다.Even when the I2C master 235 reads data from the I2C slave 210, the I2C slave 210 may transmit address information for the I2C slave 210 to read data from the address information.

또한 본 발명에서는 종래와 달리 I2C 슬레이브 레지스터 맵(205)에 디버깅 에리어(debugging area)가 더 포함된다. In addition, in the present invention, unlike the prior art, a debugging area is further included in the I2C slave register map 205.

I2C 슬레이브 레지스터 맵(205)에 포함되는 디버깅 에리어는 호스트 컴퓨터(260)와 직접 연결되지 않고서도 베이스밴드부(230)를 통해 제어 신호를 전달받아 동작을 수행하고 수행한 결과를 저장하여 베이스밴드부(230)로 전송한다. 베이스밴드부(230)로 전송된 제어 신호 수행 결과는 호스트 컴퓨터(260)로 전달되어 호스트 컴퓨터(260)에서 I2C 장치(200)의 오류 여부를 점검하는 디버깅이 수행된다. 이러한 구성과 기능이 추가된 I2C 슬레이브 레지스터 맵(205)의 자세한 구성과 기능은 도 3에서 보다 상세하게 살펴본다.The debugging area included in the I2C slave register map 205 receives the control signal through the baseband unit 230 without performing a direct connection with the host computer 260, performs an operation, and stores the result of the baseband unit 230. To send). The result of performing the control signal transmitted to the baseband unit 230 is transmitted to the host computer 260 and debugging is performed to check whether the I2C device 200 is error in the host computer 260. Detailed configuration and function of the I2C slave register map 205 to which such a configuration and function are added will be described in more detail with reference to FIG. 3.

I2C 슬레이브(210)는 베이스밴드부(230)와의 통신을 위한 통로로 I2C 버스를 사용하고 있으며 베이스밴드부(230)에 I2C 마스터(235)가 존재하고 I2C 장치(200)에는 I2C 슬레이브(210)가 존재하여 베이스밴드부(230)와 I2C 장치(200)가 서로 연결된다.The I2C slave 210 uses the I2C bus as a path for communication with the baseband unit 230, the I2C master 235 is present in the baseband unit 230, and the I2C slave 210 is present in the I2C device 200. The baseband unit 230 and the I2C device 200 are connected to each other.

프로세서(215)는 I2C 장치(200)의 운영을 위해 기본적인 명령어들을 처리하고 반응하기 위한 논리 회로이다.The processor 215 is a logic circuit for processing and reacting basic instructions for the operation of the I2C device 200.

메모리(220)는 명령어가 수행되는 영역과, 명령어가 수행되면서 사용되는 영역으로 크게 두가지로 나눌 수 있다.The memory 220 may be largely divided into two areas, an area where an instruction is executed and an area used while the instruction is executed.

명령어가 수행되는 영역에 대한 메모리는 주로 플래쉬(flash) 형태가 사용되며 SRAM(Synchronous Dynamic Random Access Memory) 형태의 메모리가 사용되기도 한다. 명령어가 수행되면서 사용하는 메모리 영역은 주로 SRAM 형태의 메모리를 사용한다.The memory of the area where the instruction is executed is mainly used in the form of flash, and the memory in the form of synchronous dynamic random access memory (SRAM) is also used. The memory area used when the command is executed mainly uses SRAM type memory.

I2C 장치(200)와 연결되는 베이스밴드부(230)의 구성을 살펴보면, 베이스밴드부(230)는 I2C 마스터(I2C master)(235), 베이스밴드 프로세서(baseband processor)(240), 메모리(memory)(245), UART 컨트롤러(UART controller)(250), UART 포트(UART port)(255)를 포함할 수 있다.Looking at the configuration of the baseband unit 230 connected to the I2C device 200, the baseband unit 230 is an I2C master (235), a baseband processor (240), a memory (memory) 245, a UART controller 250, and a UART port 255.

I2C 마스터(235)는 I2C 장치(200)와의 통신을 위한 것으로 읽기/쓰기 명령은 I2C 마스터(235)에 의해 이루어진다.The I2C master 235 is for communication with the I2C device 200, and a read / write command is made by the I2C master 235.

베이스밴드 프로세서(240)는 베이스밴드부(230)의 운영을 위해 기본적인 명령어들을 처리하고 반응하기 위한 논리 회로이다.The baseband processor 240 is a logic circuit for processing and reacting basic instructions for the operation of the baseband unit 230.

메모리(245)는 베이스밴드부(230)에서 수행되는 명령어가 수행되는 영역과 명령어가 수행되면서 사용되는 영역으로 크게 두 가지로 나눌 수 있으며 이러한 명령어들이 저장되는 영역이다.The memory 245 may be broadly divided into two areas, which are commands that are executed by the baseband unit 230 and areas that are used while the commands are executed, and are areas in which these commands are stored.

UART 컨트롤러(250)와 UART 포트(255)는 특정 디지털 기기 등의 개발시 특정 디지털 기기에 포함되는 I2C 장치(200)의 디버깅을 위해 사용되며 현재 수행중인 시스템의 환경 정보의 확인 및 어떤 기능들이 수행되고 있는지에 대한 정보를 획득 하기 위해 사용되며 UART 포트(255)는 UART 컨트롤러(250)와 연결되며 UART 컨트롤러(250)에서 획득된 정보가 출력되도록 외부 장치와 연결되는 부분이다.The UART controller 250 and the UART port 255 are used for debugging the I2C device 200 included in a specific digital device during the development of a specific digital device, and check the environmental information of the system currently being performed and perform certain functions. The UART port 255 is connected to the UART controller 250 and is connected to an external device so that the information obtained from the UART controller 250 is output.

호스트 컴퓨터(260)는 펌웨어의 개발, 다운로드, 디버깅을 수행하기 위한 컴퓨터이다.The host computer 260 is a computer for performing firmware development, download, and debugging.

이러한 구성을 가지는 본 발명의 바람직한 일 실시예에 따라 I2C 버스를 포함하는 장치와 연결되는 디버깅 시스템에서 I2C 장치가 UART를 포함하지 않고도 디버깅이 가능하게 하는 I2C 슬레이브 레지스터 맵의 구성을 도3을 참조하여 살펴본다.Referring to FIG. 3, a configuration of an I2C slave register map that enables debugging without an I2C device including a UART in a debugging system connected to a device including an I2C bus according to an embodiment of the present invention having such a configuration is shown in FIG. 3. Take a look.

도 3은 본 발명의 바람직한 일 실시예에 따라 I2C 버스를 포함하는 장치의 I2C 슬레이브 레지스터 맵(205)의 구성을 나타낸 도면이다.3 is a diagram illustrating the configuration of an I2C slave register map 205 of a device including an I2C bus according to a preferred embodiment of the present invention.

도 3에 도시된 바와 같이, 본 발명의 바람직한 일 실시예에 따른 I2C 버스를 포함하는 장치의 I2C 슬레이브 레지스터 맵(205)은 수신된 명령어들이 저장되고 명령어들이 수행된 결과가 저장되는 디버깅 에리어(debugging area)(300)를 더 포함할 수 있다.As shown in FIG. 3, the I2C slave register map 205 of the device including the I2C bus according to the preferred embodiment of the present invention has a debugging area in which received instructions are stored and a result of performing the instructions is stored. area 300 may be further included.

디버깅 에리어(300)는 수신된 명령어들이 저장되는 수신 디버깅 에리어(Rx debugging area)(310)와 명령어들이 수행된 결과가 저장되는 송신 디버깅 에리어(Tx debugging area)(320)로 구분될 수 있다.The debugging area 300 may be divided into a Rx debugging area 310 in which received commands are stored and a Tx debugging area 320 in which a result of executing the commands is stored.

수신 디버깅 에리어(310)는 호스트 컴퓨터(260)를 통해 입력된 명령어가 베이스밴드(230)를 거쳐 I2C 버스를 통해 I2C 장치(200)에 전달되는 경우 명령어들이 저장되는 영역이다.The reception debugging area 310 is an area in which instructions are stored when a command input through the host computer 260 is transmitted to the I2C device 200 through the I2C bus through the baseband 230.

송신 디버깅 에리어(320)는 수신된 명령어들에 의해 I2C 장치(200)가 명령어를 수행한 결과들이 저장되는 영역이다.The transmission debugging area 320 is an area where the results of the command performed by the I2C device 200 are stored by the received commands.

I2C 슬레이브 레지스터 맵(205)의 디버깅 에리어(300)는 I2C 장치(200)를 직접 호스트 컴퓨터(260)와 연결하지 않고도 명령어의 수신과 명령어를 수행한 결과의 송신이 가능하게 한다. 따라서 I2C 슬레이브 레지스터 맵(205)에 디버깅 에리어(300)를 포함함으로써 I2C 장치(200)를 호스트 컴퓨터(260)와 직접 연결하지 않고도 I2C 장치(200)의 디버깅이 가능해진다.The debugging area 300 of the I2C slave register map 205 enables the reception of the command and the transmission of the result of the command without directly connecting the I2C device 200 with the host computer 260. Therefore, by including the debugging area 300 in the I2C slave register map 205, the I2C device 200 can be debugged without directly connecting the I2C device 200 with the host computer 260.

I2C 장치(200)와 베이스밴드부(230)는 I2C 버스를 통해 연결되므로 베이스밴드부(230)를 통해 명령어들을 전달받고 수행된 결과들을 베이스밴드부(230)를 통해 호스트 컴퓨터(260)에 전달할 수 있게 된다.Since the I2C device 200 and the baseband unit 230 are connected through the I2C bus, the I2C device 200 and the baseband unit 230 may receive commands through the baseband unit 230 and transmit the results to the host computer 260 through the baseband unit 230. .

이 과정에서 전달되는 명령어들과 명령어의 수행 결과가 I2C 슬레이브 레지스터 맵(205)에 포함되는 디버깅 에리어(300)에 저장되는 것이다.Instructions transmitted in this process and a result of the execution of the instructions are stored in the debugging area 300 included in the I2C slave register map 205.

이러한 구성에 의한 디버깅 시스템과 I2C 장치(200)의 I2C 슬레이브 레지스터 맵(205)의 구성을 참조하여 호스트 컴퓨터(260)의 터미널 프로그램에서 디버깅 수행을 위한 명령어를 입력하여 I2C 장치(200)에서 동작하게 하는 순서를 살펴본다.By referring to the debugging system and the configuration of the I2C slave register map 205 of the I2C device 200 by inputting the command for performing debugging in the terminal program of the host computer 260 to operate in the I2C device 200. Look at the order of the steps.

먼저 호스트 컴퓨터(260)에서 명령어를 입력하면 호스트 컴퓨터(260)의 UART 포트(미도시)와 UART 케이블(미도시)을 통해 베이스밴드부(230)와 연결되는 베이스밴드부(230)의 UART 포트(255)로 명령어들을 전송한다.First, when a command is input from the host computer 260, a UART port 255 of the baseband unit 230 connected to the baseband unit 230 through a UART port (not shown) and a UART cable (not shown) of the host computer 260. Send commands)

베이스밴드부(230)의 UART 포트(255)를 통해 인입된 명령어들은 UART 포트(255)를 거쳐 UART 컨트롤러(250)에 전송된다.Commands received through the UART port 255 of the baseband unit 230 are transmitted to the UART controller 250 via the UART port 255.

명령어에는 다른 프로그램에 약속된 신호를 남기기 위한 용도로 사용되는 미리 정의된 비트인 플래그(flag)가 포함된다.Instructions include flags, which are predefined bits that are used to leave signals promised to other programs.

전송된 명령어는 먼저 베이스밴드부(230)의 UART 컨트롤러(250)와 연결된 shell 프로그램을 동작하게 한다. shell 프로그램이 동작하면서 플래그에 따라 shell 프로그램은 I2C 마스터(235)를 통하여 I2C 슬레이브 레지스터 맵(205)에 포함되는 디버깅 에리어(300)의 수신 디버깅 에리어(310)로 명령어를 전송한다.The transmitted command first operates a shell program connected to the UART controller 250 of the baseband unit 230. As the shell program operates, the shell program transmits an instruction to the reception debugging area 310 of the debugging area 300 included in the I2C slave register map 205 through the I2C master 235.

수신 디버깅 에리어(310)에 명령어를 수신한 I2C 장치(200)는 I2C 슬레이브 인터럽트(I2C Slave Interrupt) 처리 루틴(routine)을 동작하게 한다.The I2C device 200 that receives the command in the reception debugging area 310 operates an I2C slave interrupt processing routine.

I2C 슬레이브 인터럽트 처리 루틴은 I2C 장치(200)의 shell 프로그램을 동작하게 하고 I2C 장치(200)의 shell 프로그램은 베이스밴드부(230)로부터 전송받은 명령어를 수행함으로써 I2C 장치(200)가 동작한다.The I2C slave interrupt processing routine operates the shell program of the I2C device 200 and the shell program of the I2C device 200 executes the command received from the baseband unit 230 to operate the I2C device 200.

이러한 과정을 수행하여 동작된 I2C 장치(200)의 명령어 수행에 의한 출력 정보가 호스트 컴퓨터(260)로 전송되는 순서를 살펴본다.The order in which the output information by the command execution of the I2C device 200 operated by performing such a process is transmitted to the host computer 260 will be described.

먼저 베이스밴드부(230)는 I2C 마스터(235)를 이용하여 I2C 슬레이브 레지스터 맵(205)에 포함되는 송신 디버깅 에리어(320)에 폴링(polling) 방식으로 출력할 내용이 있는지를 디버깅한다.First, the baseband unit 230 uses the I2C master 235 to debug whether there is content to be output in a polling manner in the transmission debugging area 320 included in the I2C slave register map 205.

폴링 방식이란 이나 장치에서 다른 프로그램이나 장치들이 어떤 상태에 있는 지를 지속적으로 디버깅하는 전송 제어 방식을 말한다.Polling is a transmission control method that continuously debugs what other programs or devices are in the device.

출력할 내용이 존재하면 출력할 내용의 정보를 UART 드라이버(미도시)에 전송하여 UART 드라이버는 출력 정보를 UART 컨트롤러(250)를 통하여 출력한다. 출력된 정보는 URAT 포트(255)를 통해 호스트 컴퓨터(260)로 전달되어 호스트 컴퓨터(260)의 터미널 프로그램 상에 출력된다. If there is content to be output, information of the content to be transmitted is transmitted to a UART driver (not shown), and the UART driver outputs the output information through the UART controller 250. The output information is transferred to the host computer 260 through the URAT port 255 and output on the terminal program of the host computer 260.

이러한 명령어의 전달과 명령어의 수행 결과의 출력 과정을 통해 호스트 컴퓨터에서 I2C 장치의 오류 여부와 오류가 있는 경우 이를 수정하는 명령어를 입력하여 I2C 장치의 오류를 수정하는 디버깅 작업이 수행된다.Through the delivery of these commands and the output of the execution results of the commands, debugging is performed to correct the errors of the I2C device by inputting a command to correct the I2C device and if there is an error in the host computer.

상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.Preferred embodiments of the present invention described above are disclosed for purposes of illustration, and those skilled in the art will be able to make various modifications, changes, and additions within the spirit and scope of the present invention. Additions should be considered to be within the scope of the following claims.

이상에서 설명한 바와 같이, 본 발명에 의한 I2C 버스를 포함하는 장치를 디버깅하는 하는 방법 및 이를 구현하는 프로그램을 기록한 기록매체에 의하면, I2C 버스를 포함하는 장치에 UART 컨트롤러와 UART 포트를 포함하지 않는 경우에도 I2C 버스를 포함하는 장치의 오류를 수정하는 디버깅이 가능한 장점이 있다.As described above, according to the method of debugging a device including an I2C bus according to the present invention and a recording medium recording a program for implementing the same, the device including the I2C bus does not include a UART controller and a UART port. This also has the advantage of being able to debug to correct errors on devices containing the I2C bus.

또한, 디버깅을 수행하는 호스트 컴퓨터가 UART를 하나만 포함하는 경우에도 I2C 장치와 베이스밴드부를 함께 디버깅할 수 있는 장점이 있다.In addition, even if the host computer for debugging includes only one UART, the I2C device and the baseband unit can be debugged together.

그리고 I2C 장치내에 UART 컨트롤러와 UART 포트를 포함하지 않아도 되므로 I2C 장치가 동작되는 전체 과정에 대한 디버깅을 수행할 수 있는 장점이 있다.And since the UART controller and the UART port do not need to be included in the I2C device, it is possible to debug the entire process of operating the I2C device.

또한 I2C 장치를 칩으로 구현하는 경우 디버깅 수행을 위한 별도의 Rx/Tx 핀을 제거할 수 있으므로 핀의 수가 줄어들거나 두개의 핀을 다른 용도로 활용할 수 있는 장점이 있다.In addition, when implementing the I2C device as a chip, separate Rx / Tx pins can be removed to perform debugging, thereby reducing the number of pins or using the two pins for other purposes.

Claims (18)

마스터와 제어 버스를 이용하여 통신하는 슬레이브를 디버깅하는 방법에 있어서,In a method of debugging a slave communicating with a master and a control bus, 상기 마스터와 범용 비동기화 송수신기(UART)에 의해 연결된 호스트 컴퓨터로부터 전송된 제어 신호를 상기 마스터를 통해 입력받는 단계(a);(A) receiving a control signal transmitted from a host computer connected to the master by a universal asynchronous transceiver (UART) through the master; 상기 전송받은 제어 신호를 수행하는 단계(b); 및Performing the received control signal (b); And 상기 수행 결과를 마스터를 통해 호스트 컴퓨터로 전송하는 단계(c)를 포함하되 상기 호스트 컴퓨터는 상기 수행 결과를 이용하여 슬레이브의 버그를 수정하는 디버깅을 수행하는 것을 특징으로 하는 슬레이브를 디버깅하는 방법.And transmitting (c) the execution result to a host computer through a master, wherein the host computer performs debugging to fix a bug of the slave using the execution result. 제1항에 있어서,The method of claim 1, 상기 제어 버스는 I2C 버스인 것을 특징으로 하는 슬레이브를 디버깅하는 방법.And wherein said control bus is an I2C bus. 제1항에 있어서,The method of claim 1, 상기 단계(a)에서 입력받는 제어 신호는 상기 마스터에서 상기 슬레이브로 제어 신호를 전송하는 플래그가 포함된 제어 신호인 것을 특징으로 하는 슬레이브 를 디버깅하는 방법.And a control signal received in step (a) is a control signal including a flag for transmitting a control signal from the master to the slave. 제1항에 있어서,The method of claim 1, 상기 마스터를 통해 전송받는 제어 신호는 상기 마스터에서 상기 제어 신호를 저장하는 곳의 주소를 함께 전송하고, 상기 전송된 제어 신호는 상기 주소에 저장되는 것을 특징으로 하는 슬레이브를 디버깅하는 방법.And a control signal transmitted through the master transmits an address of a place where the control signal is stored in the master, and the transmitted control signal is stored in the address. 제1항에 있어서,The method of claim 1, 상기 마스터를 통해 전송되는 수행 결과는 상기 마스터로부터 수행 결과를 저장하는 주소를 전송받고, 상기 전송받은 주소에 상기 수행 결과를 저장하는 것을 특징으로 하는 슬레이브를 디버깅하는 방법.The execution result transmitted through the master receives the address for storing the execution result from the master, and debugging the slave, characterized in that for storing the execution result in the received address. 마스터와 제어 버스를 이용하여 통신하는 슬레이브를 디버깅하는 방법을 수행하기 위해 슬레이브에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 상기 슬레이브에 의해 판독될 수 있는 프로그램을 기록한 기록매체에 있어서,In the recording medium on which a program of instructions that can be executed by a slave is implemented to perform a method for debugging a slave communicating with a master and a control bus. 상기 마스터와 범용 비동기화 송수신기(UART)에 의해 연결된 호스트 컴퓨터 로부터 전송된 제어 신호를 상기 마스터를 통해 입력받는 단계(a);(A) receiving a control signal transmitted from a host computer connected by the master and a universal asynchronous transceiver (UART) through the master; 상기 전송받은 제어 신호를 수행하는 단계(b); 및Performing the received control signal (b); And 상기 수행 결과를 마스터를 통해 호스트 컴퓨터로 전송하는 단계(c)를 포함하되 상기 호스트 컴퓨터는 상기 수행 결과를 이용하여 슬레이브의 버그를 수정하는 디버깅을 수행하는 것을 특징으로 하는 프로그램을 기록한 기록매체.And transmitting (c) the result of execution to a host computer through a master, wherein the host computer performs debugging to correct a bug of a slave using the result of execution. 제6항에 있어서,The method of claim 6, 상기 제어 버스는 I2C 버스인 것을 특징으로 하는 슬레이브를 디버깅하는 프로그램을 기록한 기록매체.The control bus is a recording medium recording a program for debugging a slave, characterized in that the I2C bus. 제6항에 있어서,The method of claim 6, 상기 단계(a)에서 입력받는 제어 신호는 상기 마스터에서 상기 슬레이브로 제어 신호를 전송하는 플래그가 포함된 제어 신호인 것을 특징으로 하는 슬레이브를 디버깅하는 프로그램을 기록한 기록매체.And a control signal received in the step (a) is a control signal including a flag for transmitting a control signal from the master to the slave. 제6항에 있어서,The method of claim 6, 상기 마스터를 통해 전송받는 제어 신호는 상기 마스터에서 상기 제어 신호 를 저장하는 곳의 주소를 함께 전송하고, 상기 전송된 제어 신호는 상기 주소에 저장되는 것을 특징으로 하는 슬레이브를 디버깅하는 프로그램을 기록한 기록매체.The control signal received through the master transmits the address where the master stores the control signal together, and the transmitted control signal is stored in the address. . 제6항에 있어서,The method of claim 6, 상기 마스터를 통해 전송되는 수행 결과는 상기 마스터로부터 수행 결과를 저장하는 주소를 전송받고, 상기 전송받은 주소에 상기 수행 결과를 저장하는 것을 특징으로 하는 슬레이브의 디버깅하는 프로그램을 기록한 기록매체.The execution result transmitted through the master is a recording medium recording a debugging program of the slave, characterized in that for receiving the address storing the execution result from the master, and storing the execution result in the received address. 슬레이브의 디버깅 시스템에 있어서,In the debugging system of the slave, 제어 신호들을 생성하고 슬레이브의 버그를 수정하는 디버깅을 수행하는 호스트 컴퓨터;A host computer for generating control signals and performing debugging to fix bugs in the slave; 상기 호스트 컴퓨터와 범용 비동기화 송수신기로 연결되고 상기 슬레이브와 제어 버스를 통해 연결되는 마스터; 및A master coupled with the host computer to a general purpose asynchronous transceiver and coupled with the slave through a control bus; And 상기 호스트 컴퓨터로부터 전송된 제어 신호를 상기 마스터를 통해 입력받아 상기 전송받은 제어 신호를 수행하고, 상기 수행 결과를 상기 마스터를 통해 상기 호스트 컴퓨터로 전송하는 슬레이브를 포함하되,A slave receiving the control signal transmitted from the host computer through the master to perform the received control signal and transmitting the result of the execution to the host computer through the master; 상기 호스트 컴퓨터는 상기 수행 결과를 이용하여 상기 슬레이브의 버그를 수정하는 디버깅을 수행하는 것을 특징으로 하는 슬레이브의 디버깅 시스템.And the host computer performs debugging for correcting a bug of the slave by using the execution result. 제11항에 있어서,The method of claim 11, 상기 제어 버스는 I2C 버스인 것을 특징으로 하는 슬레이브의 디버깅 시스템.And the control bus is an I2C bus. 제11항에 있어서,The method of claim 11, 상기 호스트 컴퓨터에서 입력받는 제어 신호는 상기 마스터에서 상기 슬레이브로 제어 신호를 전송하는 플래그가 포함된 제어 신호인 것을 특징으로 하는 슬레이브의 디버깅 시스템.And a control signal received from the host computer is a control signal including a flag for transmitting a control signal from the master to the slave. 제11항에 있어서,The method of claim 11, 상기 마스터를 통해 전송받는 제어 신호는 상기 마스터에서 상기 제어 신호를 저장하는 곳의 주소를 함께 전송하고, 상기 전송된 제어 신호는 상기 주소에 저장되는 것을 특징으로 하는 슬레이브의 디버깅 시스템.And a control signal transmitted through the master transmits an address of a place where the control signal is stored in the master, and the transmitted control signal is stored in the address. 제11항에 있어서,The method of claim 11, 상기 마스터를 통해 전송되는 수행 결과는 상기 마스터로부터 수행 결과를 저장하는 주소를 전송받고, 상기 전송받은 주소에 상기 수행 결과를 저장하는 것을 특징으로 하는 슬레이브의 디버깅 시스템.The execution result transmitted through the master receives the address storing the execution result from the master, the debugging system of the slave, characterized in that for storing the execution result in the received address. 범용 비동기화 송수신기를 포함하지 않고 디버깅이 가능한 슬레이브에 있어서,In a slave that can be debugged without including a general purpose asynchronous transceiver, 호스트 컴퓨터로부터 제어 신호를 수신하는 마스터의 마스터 송수신부와 연결되어 상기 마스터 송수신부로부터 상기 제어 신호를 수신하는 슬레이브 송수신부; A slave transceiver which is connected to a master transceiver of a master that receives a control signal from a host computer and receives the control signal from the master transceiver; 상기 슬레이브 송수신부에 의해 수신된 제어 신호에 상응하는 처리를 수행하는 프로세서부; 및A processor unit which performs a process corresponding to the control signal received by the slave transceiver unit; And 상기 슬레이브 송수신부에 의해 수신된 제어 신호가 저장되고, 상기 컨트롤러부에 의해 처리된 결과가 저장되는 레지스터 맵을 포함하는 것을 특징으로 하는 슬레이브.And a register map storing a control signal received by the slave transceiver and a result processed by the controller. 제16항에 있어서,The method of claim 16, 상기 레지스터 맵은 상기 수신한 제어 신호가 저장되는 영역과 상기 제어 신호를 수행한 결과가 저장되는 영역이 구분되어 포함되는 것을 특징으로 하는 슬레 이브.And the register map is divided into an area in which the received control signal is stored and an area in which a result of performing the control signal is stored. 제16항에 있어서,The method of claim 16, 상기 슬레이브 송수신부는 상기 제어 신호가 저장되는 영역과 상기 제어 신호가 수행된 결과가 저장되는 영역의 주소를 상기 마스터 송수신부로부터 수신하고, 상기 레지스터 맵은 상기 수신한 제어 신호와 상기 제어 신호를 수행한 결과를 상기 주소에 따른 영역에 저장하는 것을 특징으로 하는 슬레이브.The slave transceiver receives an address of an area in which the control signal is stored and an area in which a result of the control signal is stored from the master transceiver, and the register map performs the received control signal and the control signal. And storing a result in an area according to the address.
KR1020050133492A 2005-12-29 2005-12-29 Device and system for debugging device using control bus KR100801759B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050133492A KR100801759B1 (en) 2005-12-29 2005-12-29 Device and system for debugging device using control bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050133492A KR100801759B1 (en) 2005-12-29 2005-12-29 Device and system for debugging device using control bus

Publications (2)

Publication Number Publication Date
KR20070070680A true KR20070070680A (en) 2007-07-04
KR100801759B1 KR100801759B1 (en) 2008-02-11

Family

ID=38505946

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050133492A KR100801759B1 (en) 2005-12-29 2005-12-29 Device and system for debugging device using control bus

Country Status (1)

Country Link
KR (1) KR100801759B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101026678B1 (en) * 2009-06-26 2011-04-04 한국산업기술대학교산학협력단 Apparatus for interfacing emulator and method thereof
US20130151902A1 (en) * 2011-12-12 2013-06-13 Hon Hai Precision Industry Co., Ltd. Debug system and method
CN103440216A (en) * 2013-08-22 2013-12-11 深圳市汇顶科技股份有限公司 Chip and method for debugging MCU through I2C slave unit
WO2022025318A1 (en) * 2020-07-30 2022-02-03 김영일 Mmi interface device and computing system based thereon

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102266733B1 (en) 2015-06-05 2021-06-22 삼성전자주식회사 Data storage and operating method thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010019740A (en) * 1999-08-30 2001-03-15 윤종용 Signal converting circuit for debugging of microprocessor
KR20030094750A (en) * 2002-06-07 2003-12-18 엘지전자 주식회사 Apparatus for board test of master and slave in communication system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101026678B1 (en) * 2009-06-26 2011-04-04 한국산업기술대학교산학협력단 Apparatus for interfacing emulator and method thereof
US8352239B2 (en) 2009-06-26 2013-01-08 Korea Polytechnic University Industry Academic Cooperation Foundation Emulator interface device and method thereof
US20130151902A1 (en) * 2011-12-12 2013-06-13 Hon Hai Precision Industry Co., Ltd. Debug system and method
CN103440216A (en) * 2013-08-22 2013-12-11 深圳市汇顶科技股份有限公司 Chip and method for debugging MCU through I2C slave unit
WO2022025318A1 (en) * 2020-07-30 2022-02-03 김영일 Mmi interface device and computing system based thereon

Also Published As

Publication number Publication date
KR100801759B1 (en) 2008-02-11

Similar Documents

Publication Publication Date Title
US7114101B2 (en) Microcomputer, electronic equipment and debugging system
US5649128A (en) Multiple bus interface adapter for connection to a plurality of computer bus architectures
US8010843B2 (en) System and method for debugging a target computer using SMBus
CN107066746B (en) Method for realizing PCA9555 function through CPLD based on I2C interface
CN108268414B (en) SD card driver based on SPI mode and control method thereof
JP2006500679A (en) Interface integrated circuit device for USB connection
US20070094536A1 (en) Multiplexing a communication port
US20060248391A1 (en) State machine-based command line debugger
KR100801759B1 (en) Device and system for debugging device using control bus
US6708289B1 (en) Microcomputer, electronic equipment and debugging system
US6366877B1 (en) Method and device for emulation of peripheral input/output (I/O) controller of a computer system
US20080021695A1 (en) ROM emulator and ROM testing method using the same
US6263305B1 (en) Software development supporting system and ROM emulation apparatus
KR101029074B1 (en) Apparatus and method for tracing descriptors in host controllers
US6553506B1 (en) Information processing device and electronic equipment
US6633973B1 (en) Trace control circuit adapted for high-speed microcomputer operation
US8291270B2 (en) Request processing device, request processing system, and access testing method
CN110737480B (en) Serial port driver multiplexing method and device
JPH08221293A (en) Emulator device
CN112052132B (en) Method, device, equipment and medium for debugging plug-in chip through SDIO interface
US20230305816A1 (en) Device and method for handling programming language function
CN218886572U (en) Simple peripheral bus system
KR100927130B1 (en) The apparatus of communication converting between embedded system and pc and method thereof
US6662249B2 (en) System and method for conversion of addresses of varying bit lengths between a bus and a device controller
Suresh et al. Efficient Clock-less PCIe endpoint

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
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20130111

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131227

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20171221

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 12