KR20080041125A - 프로그램 처리 장치 및 프로그램 처리 방법 - Google Patents
프로그램 처리 장치 및 프로그램 처리 방법 Download PDFInfo
- Publication number
- KR20080041125A KR20080041125A KR1020070112120A KR20070112120A KR20080041125A KR 20080041125 A KR20080041125 A KR 20080041125A KR 1020070112120 A KR1020070112120 A KR 1020070112120A KR 20070112120 A KR20070112120 A KR 20070112120A KR 20080041125 A KR20080041125 A KR 20080041125A
- Authority
- KR
- South Korea
- Prior art keywords
- program
- debug
- cpu
- processing
- circuit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
다른 프로그램 처리 장치로부터 프로그램을 취득하여 실행하는 것이 가능한 프로그램 처리 장치를 제공한다. 프로그램에 따른 소정의 처리를 실행하는 CPU와, 프로그램을 저장하고, CPU가 상기 프로그램을 실행하여 생성된 데이터를 저장하는 내부 메모리와, 외부 프로그램 처리 장치에 접속되며, 외부 프로그램 처리 장치로부터 프로그램을 취득하고, 내부 메모리에 기입하는 데이터 취득 회로를 구비하고, CPU, 내부 메모리, 디버그 처리 회로 및 데이터 취득 회로는 동일한 반도체 기판 상에 집적됨으로써, 상기 과제를 해결할 수 있다.
내부 메모리, 외부 프로그램 처리 장치, 디버그 처리 회로, CPU, 데이터 취득 회로, 디버그 툴
Description
본원 발명은, 프로그램에 따라서 소정의 신호 처리를 실시하는 프로그램 처리 장치 및 프로그램 처리 방법에 관한 것으로, 특히, 외부의 프로그램 처리 장치로부터 펌웨어 등의 프로그램을 취득하여 소정의 신호 처리를 행하는 데에 적합한 프로그램 처리 장치 및 프로그램 처리 방법에 관한 것이다.
근년, 신호 처리 회로와 CPU를 동일 칩 상에 탑재한 LSI가 이용되고 있다. 이들 LSI에서는, 예를 들면 음성 신호의 디코드 처리 등의 신호 처리를 실시하는 신호 처리 회로와 CPU를 동일 칩 상에 탑재하는 경우, CPU가 신호 처리 회로나 그 주변 회로(예를 들면, 인터페이스 회로 등)의 동작의 제어를 행함과 함께, 신호 처리 회로가 행하는 처리 이외의 것에 대해서도, CPU가 프로그램에 의해 그 처리를 행한다.
도 4에, 종래의 프로그램 처리 장치(300)의 구성을 도시한다. 프로그램 처리 장치(300)는, 프로그램에 따라서 소정의 처리를 실행하는 CPU(302)와, CPU(302)가 생성한 데이터를 저장하는 내부 RAM(308)을 포함한다. 프로그램 처리 장 치(300)는 입출력 인터페이스(316)를 통해서 프로그램 메모리(318)에 접속되고, 프로그램 메모리(318)는 CPU(302)가 실행하는 프로그램을 저장한다. 또한, 프로그램 처리 장치(300)는, 프로그램에 포함되는 적어도 1개의 변수를 모니터하고 그 결과에 따라서 소정의 처리를 실시하는 디버그 처리 회로(310)와, 디버그 처리 회로(310)의 처리 결과를 디버그 툴(210)을 포함한 퍼스널 컴퓨터(200)에 송신하는 디버그 인터페이스(312)를 포함하여 구성된다.
CPU(302)가 초기화되었을 때, 프로그램 메모리(318)에 저장된 프로그램을 외부 버스(320), 입출력 인터페이스(316)를 통해서 읽어내고, CPU(302)가 프로그램에 따른 소정의 신호 처리를 실행한다. 내부 RAM(308)은 프로그램의 실행에 따라서 생성된 중간 데이터 등을 저장한다. 프로그램 처리 장치(300)는 도시하지 않은 신호 처리 회로를 포함하고,CPU(302)는 프로그램에 따라서 신호 처리 회로의 동작을 제어한다.
신호 처리 회로와 CPU를 1칩 상에 탑재한 LSI에서는,CPU의 버스나 컨트롤 신호가 칩의 내부에 집약되기 때문에, 개발 단계에서의 프로그램의 검증 처리(디버그)의 효율이 낮다고 하는 과제가 존재하였다. 그 때문에, 프로그램 처리 장치(300)는 디버그 처리 회로(310)와, 디버그 인터페이스(312)를 포함하여 구성되어 있다.
디버그 처리를 행하는 경우, 디버그 툴(210)로부터의 지시에 기초하여, 디버그 처리 회로(310)는 프로그램 처리 장치(300)에 대하여 초기화의 처리나 실행되고 있는 프로그램의 정지 및 재개의 처리를 행한다. 또한, 디버그 처리 회로(310)는 내부 버스(322)를 감시함으로써 프로그램에 포함되는 변수를 디버그 처리 회로에 포함되는 레지스터(도시 생략)에 지정하여 모니터하고, 모니터의 결과에 따라서 소정의 처리를 실시한다. 디버그 처리 회로(310)의 처리의 결과는, 디버그 인터페이스(312), 디버그 통신 라인(220)을 통하여, 퍼스널 컴퓨터(200)에 송신된다. 퍼스널 컴퓨터(200)는 디버그 툴(210)을 포함하고 있어, 프로그램의 개발자는 퍼스널 컴퓨터(200)를 이용하여 변수의 모니터의 결과를 확인할 수 있어, 프로그램의 검증을 행할 수 있다.
[특허 문헌1] 일본 특개 2005-070949호 공보
[특허 문헌2] 일본 특개 2005-070950호 공보
종래의 프로그램 처리 장치(300)는, 거기에 접속되는 프로그램 메모리(318)로부터 프로그램을 취득하여, 소정의 신호 처리를 행하고 있다. 그러나, 시스템의 다양화에 수반하여 프로그램 메모리(318) 이외로부터 프로그램을 취득하여 신호 처리를 행하는 것이 요구되고 있다. 예를 들면, 프로그램 처리 장치(300)가 다른 프로그램 처리 장치에 접속되어, 거기로부터 프로그램을 취득하여 프로그램 처리 장치(300)가 신호 처리를 행하는 경우, 종래의 프로그램 처리 장치(300)에서는 그 처리를 행할 수 없다고 하는 문제가 있었다.
본원 발명은, 상기 종래 기술의 문제를 감안하여 이루어진 것으로, 다른 프로그램 처리 장치로부터 프로그램을 취득하여 실행하는 것이 가능한 프로그램 처리 장치를 제공하는 것을 목적으로 한다.
본원 발명의 프로그램 처리 장치는, 프로그램에 따른 소정의 처리를 실행하는 CPU와, 상기 프로그램을 저장하고, CPU가 프로그램을 실행하여 생성된 데이터를 저장하는 내부 메모리와, 외부 프로그램 처리 장치에 접속되고, 외부 프로그램 처리 장치로부터 프로그램을 취득하여, 내부 메모리에 기입하는 데이터 취득 회로를 구비하고,CPU, 내부 메모리, 디버그 처리 회로 및 데이터 취득 회로는 동일한 반도체 기판 상에 집적된 것을 특징으로 한다.
여기서, 데이터 취득 회로는, CPU가 기동하기 전에 상기 프로그램을 취득하여 상기 내부 메모리에 기입하고, CPU는, 내부 메모리에 상기 프로그램이 기입된 후, 프로그램에 따른 소정의 처리를 실시하는 것이 바람직하다.
본원 발명에 따르면, 프로그램 처리 장치는, 다른 프로그램 처리 장치로부터 프로그램을 취득하여 실행할 수 있다.
도 1은, 본원 발명의 실시 형태에서의 프로그램 처리 장치를 도시하는 것이다. 제1 프로그램 처리 장치(1)는, 제1 CPU(2)와, 제1 입출력 인터페이스(4)와, 데이터 취득 회로(6)와, 제1 내부 RAM(8)과, 디버그 처리 회로(10)와, 디버그 인터페이스(12)와 제어 단자(14)를 포함하여 구성된다. 제1 프로그램 처리 장치는 도시하지 않은 신호 처리 회로를 포함하여 구성되며, 이들은 동일한 반도체 기판 상 에 집적된다. 또한, 제1 프로그램 처리 장치는, 데이터 통신 라인(20)을 통해서 제2 프로그램 처리 장치(100)에 접속된다.
제1 CPU(2)는, 프로그램을 취득하여 소정의 신호 처리를 실행한다. 또한, 제1 CPU(2)는 프로그램에 따라서 동일한 반도체 기판 상에 집적되는 제1 입출력 인터페이스 회로(4), 제1 내부 RAM(8), 디버그 처리 회로(10), 디버그 인터페이스(12)나, 도시하지 않은 신호 처리 회로의 동작을 제어한다.
제1 입출력 인터페이스(4)는, 소정의 데이터 전송 방식에 따라서, 제2 프로그램 처리 장치(100)에 포함되는 제2 입출력 인터페이스(104)와 데이터의 통신을 행한다. 제1 입출력 인터페이스(4)는 제1 CPU(2)의 처리의 결과를, 제2 입출력 인터페이스(104)를 통해서 제2 프로그램 처리 장치(100)에 송신함과 함께, 제2 프로그램 처리 장치(100)로부터 송신된 데이터를, 제1 내부 버스(22)를 통하여, 제1 CPU(2) 또는 제1 내부 RAM(8)에 송신한다.
데이터 취득 회로(6)는, 데이터 통신 라인(20)을 통하여, 제2 입출력 인터페이스(104)로부터 송신된 프로그램을 수신하고, 제1 내부 RAM(8)에 기입한다. 데이터 취득 회로(6)는, 제1 입출력 인터페이스(4)와 동일한 데이터 전송 방식에 따라서, 제2 입출력 인터페이스(104)로부터 데이터의 수신을 행하는 것이 바람직하다. 데이터 취득 회로(6)는, 제1 내부 버스(22)를 통하지 않고, 제1 내부 RAM(8)에 프로그램을 기입한다.
제어 단자(14)는 데이터 취득 회로(6)에 접속되며, 0V 또는 3V의 전압이 선택적으로 인가된다. 제어 단자(14)에 인가된 전압은 제어 신호 CC로서 데이터 취 득 회로(6)에 송신되어, 데이터 취득 회로(6)는 제어 신호 CC에 따라서 동작한다. 예를 들면, 제어 단자(14)에 0V가 인가된 경우에는 데이터 취득 회로(6)가 활성으로 되고, 3V가 인가된 경우에는 데이터 취득 회로(6)가 비활성으로 된다.
제1 내부 RAM(8)은, 데이터 취득 회로(6)로부터 송신된 프로그램을 저장함과 함께, 제1 CPU(2)가 실행하는 소정의 신호 처리에 따라서 생성된 데이터를 일시적으로 저장한다. 제1 내부 RAM(8)은 SRAM에 의해 구성하는 것이 바람직하고, 제1 CPU(2)와 동일한 반도체 기판 상에 집적함으로써, 제1 프로그램 처리 장치(1)의 사이즈의 증대를 억제할 수 있다.
디버그 처리 회로(10)는, 디버그 툴(210)로부터의 지시에 기초하여, 프로그램 처리 장치(1)에 대하여 초기화의 처리나 실행되고 있는 프로그램의 정지 및 재개의 처리를 행한다. 또한, 디버그 처리 회로(10)는 제1 내부 버스(22)를 감시하여 제1 내부 RAM(8)에 기입된 프로그램에 포함되는 변수를 모니터하고, 모니터의 결과에 따라서 제1 모드 또는 제2 모드의 처리를 실시한다. 예를 들면, 제1 모드에서는, 디버그 처리 회로(10)는 프로그램에 포함되는 변수를 모니터하고 그 결과를 레지스터(도시 생략)에 기입하고, 레지스터에 기입된 데이터를 디버그 인터페이스(12)에 송신한다. 또한, 제2 모드에서는, 디버그 처리 회로(10)는 프로그램에 포함되는 변수를 모니터하고, 모니터의 결과에 따라서 프로그램의 실행을 일시 정지하고 그 취지를 디버그 인터페이스(12)에 송신한다. 제1 모드 및 제2 모드에서 모니터하는 변수는, 디버그 처리 회로(10)에 포함되는 레지스터(도시 생략)를 이용하여 지정할 수 있어, 레지스터의 수에 따라서 프로그램 실행 중에 모니터 가능한 변수의 수를 제어할 수 있다.
디버그 인터페이스(12)는, 디버그 처리 회로(10)로부터 송신된 데이터를 디버그 통신 라인(220)을 통해서 퍼스널 컴퓨터(200)에 송신한다. 또한, 디버그 인터페이스(12)는, 퍼스널 컴퓨터(200)로부터 디버그 통신 라인(220)을 통해서 송신된 데이터를 수신하여 제1 내부 RAM(8)에 기입한다. 디버그 통신 라인(220)은 소수의 신호선으로 구성하는 것이 바람직하며, 예를 들면 2개의 신호선에 의해 구성할 수 있다. 이것은, 디버그 통신 라인(220)에 접속되며 디버그 인터페이스(12) 위해 설치되는 입출력 단자는, 제품으로서 출하된 후에는 이용되지 않기 때문에, 그 수가 늘어나는 것은 바람직하지 않기 때문이다.
퍼스널 컴퓨터(200)는, 디버그 툴(210)를 포함하고, 디버그 인터페이스(12)로부터 수신한 데이터의 처리를 행함과 함께, 디버그 툴(210)에서 작성한 데이터를 디버그 인터페이스(12)에 송신한다. 프로그램의 개발자는 퍼스널 컴퓨터(200)를 이용하여 디버그 처리 회로(10)에서의 처리 결과를 확인하여 프로그램의 검증을 행할 수 있음과 함께, 개량이나 수정을 행한 프로그램을 디버그 인터페이스(12)를 통해서 제1 내부 RAM(8)에 기입할 수 있다.
프로그램 메모리(118)는 후술하는 제2 프로그램 처리 장치에 포함되는 외부 버스 인터페이스에 접속된다. 프로그램 메모리(118)는 제1 CPU(2)가 실행하는 프로그램과 제2 CPU가 실행하는 프로그램을 저장한다. 제1 CPU(2)는, 제2 프로그램 처리 장치 및 데이터 취득 회로(6)를 통해서 프로그램을 취득하여 소정의 신호 처리를 행한다.
제2 프로그램 처리 장치(100)는, 제2 CPU(102)와, 제2 입출력 인터페이스(104)와, 제2 내부 RAM(108)과, 외부 버스 인터페이스(116)를 포함하여 구성된다. 또한, 제2 프로그램 처리 장치는 동일한 반도체 기판 상에 집적된다.
제2 CPU(102)는, 취득한 프로그램에 의해 소정의 신호 처리를 실행한다. 또한, 제2 CPU(102)는 프로그램에 따라서 동일한 반도체 기판 상에 집적되는 제2 입출력 인터페이스 회로(104), 제2 내부 RAM(108)이나 외부 버스 인터페이스(116)의 동작을 제어한다.
제2 입출력 인터페이스(104)는, 소정의 데이터 전송 방식에 따라서, 제1 입출력 인터페이스(4) 또는 데이터 취득 회로(6)와 데이터의 통신을 행한다. 제2 입출력 인터페이스 회로(104)는 제2 CPU(102)의 처리의 결과를, 제1 입출력 인터페이스(4)를 통해서 제1 프로그램 처리 장치(1)에 송신함과 함께, 제1 프로그램 처리 장치(1)로부터 송신된 데이터를, 제2 내부 버스(122)를 통하여, 제2 CPU(102) 또는 제2 내부 RAM(108)에 송신한다.
제2 내부 RAM(108)은, 제2 CPU(102)가 실행하는 소정의 신호 처리에 따라서 생성된 데이터를 일시적으로 저장한다. 제2 내부 RAM(108)은 SRAM에 의해 구성하는 것이 바람직하며, 제2 CPU(102)와 동일한 반도체 기판 상에 집적함으로써, 제2 프로그램 처리 장치(100)의 사이즈의 증대를 억제할 수 있다.
외부 버스 인터페이스(116)는 외부 버스(120)를 통해서 프로그램 메모리(118)에 접속된다. 제2 CPU(102)는 외부 버스(120) 및 외부 버스 인터페이스(116)를 통해서 프로그램 메모리(118)로부터 프로그램을 취득하여 소정의 신호 처리를 행한다.
다음으로, 프로그램 처리 장치의 동작에 대해서, 도 2 및 도 3을 이용하여 설명한다.
도 2는 통상의 프로그램 처리 장치의 동작을 도시하는 것이며, 이 때 제어 단자(14)는 0V로 고정된다. 즉, 데이터 취득 회로(6)는 항상 활성의 상태로 된다.
스텝 S2에서는, 제1 CPU(2)의 초기화의 처리가 행해진다. 이 때, 지금까지 제1 CPU(2)에서 행해지고 있었던 신호 처리는 일체 파기되고, 프로그램에 기초한 신호 처리를 개시하기 위한 준비가 행해진다.
스텝 S4에서는, 데이터 취득 회로(6)는 제2 프로그램 처리 장치(100)로부터 프로그램을 취득하여 제1 내부 RAM(8)에 기입한다. 제1 내부 RAM(8)에 기입되는 프로그램은, 제2 프로그램 처리 장치(100)에 접속되는 프로그램 메모리(118)에 저장되어 있는 것이다. 데이터 취득 회로(6)는 외부 버스(120), 외부 버스 인터페이스(116), 제2 내부 버스(122), 제2 입출력 인터페이스(104) 및 데이터 통신 라인(20)을 통해서 프로그램을 취득한다. 이 때, 제1 CPU(2)는 기동하고 있지 않기 때문에, 그것에 의해 제어되는 제1 입출력 인터페이스(4), 디버그 처리 회로(10), 디버그 인터페이스(12), 및 도시하지 않은 신호 처리 회로는 비활성의 상태이다.
스텝 S6에서는, 제1 CPU(2)가 기동하고, 제1 내부 RAM(8)에 저장된 프로그램에 기초하여 제1 CPU(2)가 소정의 신호 처리를 행한다. 제1 입출력 인터페이스(4), 디버그 처리 회로(10), 디버그 인터페이스(12), 및 도시하지 않은 신호 처리 회로는 제1 CPU(2)가 행하는 신호 처리에 따라서 활성으로 된다.
도 2에 도시하는 프로그램의 동작은, 개발이 완료된 프로그램을 프로그램 메모리(118)에 저장하여, 유저에게 제공한 후에 이용하는 것이 바람직하다. 즉, 제1 프로그램 처리 장치(1) 및 제2 프로그램 처리 장치(100)를 탑재한 제품에서, 제1 프로그램 처리 장치(1)가 프로그램 메모리(118)에 저장된 프로그램을 취득하여 기동하는 것이 항상 요구되는 경우에 적용하는 것이 바람직하다.
도 3은 디버그 처리를 행할 때의 프로그램 처리 장치의 동작을 도시하는 것이며, 이 때 제어 단자(14)는 0V로 설정하여 동작을 개시한다. 즉, 데이터 취득 회로(6)는 활성의 상태로부터 동작을 개시한다.
스텝 S12에서는, 제1 CPU(2)의 초기화의 처리가 행해진다. 이 때, 지금까지 제1 CPU(2)에서 행해지고 있었던 신호 처리는 일체 파기되고, 프로그램에 기초한 신호 처리를 개시하기 위한 준비가 행해진다.
스텝 S14에서는, 데이터 취득 회로(6)는 제2 프로그램 처리 장치(100)로부터 프로그램을 취득하여 제1 내부 RAM(8)에 기입한다. 제1 내부 RAM(8)에 기입되는 프로그램은, 제2 프로그램 처리 장치에 접속되는 프로그램 메모리(118)에 저장되어 있는 것이다. 데이터 취득 회로(6)는 외부 버스(120), 외부 버스 인터페이스(116), 제2 내부 버스(122), 제2 입출력 인터페이스(104) 및 데이터 통신 라인(20)을 통해서 프로그램을 취득한다. 이 때, 제1 CPU(2)는 기동하고 있지 않기 때문에, 그에 의해 제어되는 제1 입출력 인터페이스(4), 디버그 처리 회로(10), 디버그 인터페이스(12), 및 도시하지 않은 신호 처리 회로는 비활성의 상태이다.
스텝 S16에서는, 제어 단자(14)에 인가하는 전압을 0V로부터 3V로 절환한다. 즉, 제1 내부 RAM(8)에 프로그램을 저장한 후에, 데이터 취득 회로(6)는 비활성의 상태로 절환된다.
스텝 S18에서는, 제1 CPU(2)가 기동하고, 제1 내부 RAM(8)에 저장된 프로그램에 기초하여 제1 CPU(2)가 소정의 신호 처리를 행한다.
스텝 S20에서는, 제1 CPU(2)가 행하는 신호 처리에 따라서, 제1 입출력 인터페이스(4), 디버그 처리 회로(10), 디버그 인터페이스(12), 및 도시하지 않은 신호 처리 회로가 활성으로 된다. 이에 의해, 프로그램의 개발자는 퍼스널 컴퓨터(200)를 이용하여 디버그 처리 회로(10)에서의 처리 결과를 확인하여 프로그램의 검증을 행하는 것이 가능하게 됨과 함께, 개량이나 수정을 행한 프로그램을 디버그 인터페이스(12)를 통해서 제1 내부 RAM(8)에 기입하는 것이 가능하게 된다.
스텝 S22에서는, 제1 CPU(2)에 대해서 초기화의 처리가 필요한지의 여부를 판단한다. 초기화의 처리는, 프로그램의 버그를 발견하고, 그 버그를 수정하는 프로그램을 내부 RAM(8)에 기입한 후, 그 수정한 프로그램을 재차 실행하여 검증을 행할 때에 행해진다. 초기화가 불필요한 경우에는 제1 CPU(2)는 소정의 신호 처리를 계속한다. 초기화가 필요한 경우에는 초기화 처리를 행하고 스텝 S18의 제1 CPU(2)의 기동 처리로 이행한다. 이 때, 스텝 S16에서 데이터 취득 회로(6)는 비활성의 상태로 되어 있기 때문에, 스텝 S12 시의 초기화의 처리와는 달리, 프로그램 메모리(118)로부터의 프로그램의 취득은 행해지지 않는다. 제1 CPU(2)는, 이미 제1 내부 RAM(8)에 저장되어 있는 프로그램에 기초하여 소정의 신호 처리를 개시한다.
도 3에 도시하는 프로그램 처리 장치의 동작은, 개발 중인 프로그램의 디버그 처리를 행할 때에 이용하는 것이 바람직하다. 디버그 처리를 행할 때에는, 실행되는 프로그램 중에 포함되는 버그를 검출하기 위해서, 제1 CPU(2)를 초기화하여 프로그램을 재실행하는 처리를 반복하여 행하는 경우가 있다. 이 때에 데이터 취득 회로(6)를 활성의 상태로 해 두면, 프로그램 메모리(118)에 저장된 프로그램의 취득을 행하게 되어, 그 취득 처리가 종료될 때까지 프로그램을 실행할 수 없다. 그 때문에, 프로그램을 실행할 때까지의 시간이 길어지게 되어 디버그 효율이 저하되게 된다. 그러나, 도 3에 도시하는 프로그램 처리 장치의 동작의 경우에는, 스텝 S14 후에 데이터 취득 회로(6)를 비활성으로 함으로써 프로그램의 취득 동작을 스킵할 수 있기 때문에, 효율적으로 디버그 처리를 행할 수 있다.
또한, 디버그 처리 회로(10)를 이용하여 개발 중인 프로그램의 버그를 발견하고, 그 버그를 수정하는 프로그램을 디버그 인터페이스(12)를 통해서 내부 RAM(8)에 기입하고, 그 수정한 프로그램을 재차 실행하여 검증을 행한다. 그 때에 데이터 취득 회로(6)를 활성의 상태로 해 두면, 프로그램 메모리(118)에 저장된 프로그램의 취득을 행하게 되기 때문에, 제1 내부 RAM(8)에 저장된 수정 프로그램을, 프로그램 메모리(118)에 저장된 수정 전의 프로그램으로 덮어쓰게 된다. 그러나, 도 3에 도시하는 프로그램 처리 장치의 동작의 경우에는, 스텝 S14 후에 데이터 취득 회로(6)를 비활성으로 함으로써 프로그램의 취득 동작을 스킵할 수 있기 때문에, 제1 내부 RAM(8)에서의 프로그램의 덮어쓰기를 방지할 수 있다.
본원 발명의 실시 형태에서, 제1 프로그램 처리 장치(1)는 데이터 취득 회 로(6)를 구비하기 때문에, 제2 프로그램 처리 장치(100)로부터 제1 CPU(2)에 필요한 프로그램을 취득하는 것이 가능하게 된다. 이에 의해, 제1 프로그램 처리 장치(1)에 프로그램 저장용의 메모리를 별도로 설치하지 않고, 제2 프로그램 처리 장치(100)에 접속되는 프로그램 메모리(118)를 공용할 수 있기 때문에, 시스템 전체를 소형화할 수 있음과 함께 그 코스트의 증대를 억제할 수 있다.
데이터 취득 회로(6)는 제어 단자(14)에 인가되는 전압에 따라서 활성, 비활성을 제어하는 것이 가능하기 때문에, 프로그램 메모리(118)로부터의 데이터의 취득 동작의 제어가 가능하게 된다. 이에 의해, 디버그 처리를 행할 때에는, 프로그램 메모리(118)로부터의 프로그램의 취득 동작을 스킵시킬 수 있어, 디버그 효율을 향상시킬 수 있다.
데이터 취득 회로(6)는, 제1 입출력 인터페이스(4)와 동일한 데이터 통신 방식에 따라서, 제2 입출력 인터페이스(104)로부터 프로그램을 수신하기 때문에, 데이터 취득 회로(6)를 위한 입출력 단자를 별도로 설치할 필요가 없다. 이 때문에, 제1 프로그램 처리 장치(1)에 설치되는 입출력 단자의 수의 증대를 억제할 수 있어, 제1 프로그램 처리 장치의 칩 사이즈의 증대를 억제할 수 있다.
디버그 인터페이스(12)는, 예를 들면 2개의 신호선(시리얼)에 의해 구성되는 디버그 통신 라인(220)을 통해서 데이터 통신을 행하는 구성으로 하기 때문에, 디버그 인터페이스(12)를 위해 설치되는 입출력 단자의 수를 소수로 할 수 있다. 디버그 인터페이스(12)를 위해 설치되는 입출력 단자는, 제품으로서 출하된 후에는 이용되지 않기 때문에, 그 수가 늘어나는 것은 바람직하지 않다. 그러나, 본원 발 명의 실시 형태에서는,2개의 입출력 단자를 구비하면 되어, 제1 프로그램 처리 장치(1)의 칩 사이즈의 증대를 억제할 수 있다.
본원 발명의 실시 형태에서, 제어 단자(14)는 제1 프로그램 처리 장치(1) 내에서 자동적으로 절환되는 구성으로 하여도 되고, 제2 프로그램 처리 장치(100)에서 생성된 신호에 기초하여 절환되는 구성으로 하여도 되며, 외부로부터 입력되는 신호에 의해 절환되는 구성으로 하여도 된다.
본원 발명의 실시 형태에서,디버그 처리 회로(10)는 2개의 모드를 구비하는 것으로 하였지만 이에 한정되는 것이 아니라, 필요에 따른 모드수를 설정할 수 있는 구성으로 하여도 된다. 또한, 디버그 통신 라인(220)은 2개의 신호선으로 구성하였지만 이에 한정되는 것이 아니라, 디버그 효율의 향상과 디버그 인터페이스(12)의 입출력 단자의 증가의 밸런스에 따라서 신호선의 개수를 설정하는 것이 바람직하다.
또한, 본원 발명의 실시 형태에서, 제1 프로그램 처리 장치(1)에 접속되는 제2 프로그램 처리 장치(100)는, 제2 CPU(102)를 포함한 프로그램 처리 장치이며 되고, 예를 들면 도시하지 않은 신호 처리 회로를 그 내부에 설치한 구성으로 하여도 된다.
도 1은 본원 발명의 실시 형태에서의 프로그램 처리 장치의 구성을 도시하는도면.
도 2는 본원 발명의 실시 형태에서의 프로그램 처리의 플로우차트.
도 3은 본원 발명의 실시 형태에서의 프로그램 처리의 플로우차트.
도 4는 종래의 프로그램 처리 장치의 구성을 도시하는 도면.
<도면의 주요 부분에 대한 부호의 설명>
1 : 제1 프로그램 처리 장치
2 : 제1 CPU
4 : 제1 입출력 인터페이스
6 : 데이터 취득 회로
8 : 제1 내부 RAM
10 : 디버그 처리 회로
12 : 디버그 인터페이스
14 : 제어 단자
20 : 데이터 통신 라인
22 : 제1 내부 버스
100 : 제2 프로그램 처리 장치
102 : 제2 CPU
104 : 제2 입출력 인터페이스
108 : 제2 내부 RAM
116 : 외부 버스 인터페이스
118 : 프로그램 메모리
120 : 외부 버스
122 : 제2 내부 버스
200 : 퍼스널 컴퓨터
210 : 디버그 툴
220 : 디버그 통신 라인
300 : 프로그램 처리 장치
302 : CPU
308 : 내부 RAM
310 : 디버그 처리 회로
312 : 디버그 인터페이스
316 : 입출력 인터페이스
318 : 프로그램 메모리
322 : 내부 버스
Claims (8)
- 프로그램에 따른 소정의 처리를 실행하는 CPU와,상기 프로그램을 저장하고, 상기 CPU가 상기 프로그램을 실행하여 생성된 데이터를 저장하는 내부 메모리와,외부 프로그램 처리 장치에 접속되고, 상기 외부 프로그램 처리 장치로부터 상기 프로그램을 취득하여, 상기 내부 메모리에 기입하는 데이터 취득 회로를 구비하고,상기 CPU, 상기 내부 메모리, 상기 디버그 처리 회로 및 상기 데이터 취득 회로는 동일한 반도체 기판 상에 집적된 것을 특징으로 하는 프로그램 처리 장치.
- 제1항에 있어서,상기 데이터 취득 회로는, 상기 CPU의 기동 전에 상기 프로그램을 취득하여 상기 내부 메모리에 기입하고,상기 CPU는, 상기 내부 메모리에 상기 프로그램이 기입된 후, 상기 프로그램에 따른 상기 소정의 처리를 실시하는 것을 특징으로 하는 프로그램 처리 장치.
- 제2항에 있어서,상기 외부 프로그램 처리 장치에 접속되며, 상기 프로그램의 실행에 따라서 상기 외부 프로그램 처리 장치와 소정의 데이터 통신 방식에 따라서 데이터 통신을 행하는 입출력 인터페이스를 더 구비하고,상기 데이터 취득 회로는 상기 입출력 인터페이스와 동일한 데이터 통신 방식에 따라서 상기 외부 프로그램 처리 장치로부터 상기 프로그램을 취득하는 것을 특징으로 하는 프로그램 처리 장치.
- 제2항에 있어서,상기 프로그램에 포함되는 적어도 1개의 변수를 모니터하고, 모니터의 결과에 따른 처리를 실시하는 디버그 처리 회로를 더 구비하는 것을 특징으로 하는 프로그램 처리 장치.
- 제4항에 있어서,상기 데이터 취득 회로에 접속되며, 상기 데이터 취득 회로를 활성으로 할지의 여부를 제어하는 제어 단자를 더 구비하는 것을 특징으로 하는 프로그램 처리 장치.
- 제4항에 있어서,상기 디버그 처리 회로에서의 처리의 결과를 모니터하는 디버그 툴에 접속되며, 상기 프로그램 처리 장치와 상기 디버그 툴을 시리얼 데이터로 하여 통신하는 디버그 인터페이스를 더 구비하는 것을 특징으로 하는 프로그램 처리 장치.
- 외부 프로그램 처리 장치에 접속된 데이터 취득 회로를 구비하고, 상기 데이터 취득 회로를 활성으로 할지의 여부를 제어하는 프로그램 처리 장치에서, 프로그램을 실행하여 소정의 처리를 행하는 프로그램 처리 방법으로서,상기 프로그램 처리 장치를 기동하는 기동 스텝과,상기 데이터 취득 회로가 상기 외부 프로그램 처리 장치로부터 상기 프로그램을 취득하는 프로그램 취득 스텝과,상기 프로그램 취득 스텝 후, 상기 제어 단자에 의해 상기 데이터 취득 회로를 비활성으로 하는 비활성 스텝과,상기 프로그램 처리 장치에서 상기 프로그램을 실행하는 프로그램 실행 스텝을 포함하는 것을 특징으로 하는 프로그램 처리 방법.
- 제7항에 있어서,상기 프로그램 실행 스텝은,상기 프로그램에 포함되는 적어도 1개의 변수를 모니터하고, 모니터의 결과에 따른 처리를 실시하는 디버그 스텝을 포함하는 것을 특징으로 하는 프로그램 처리 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2006-00300731 | 2006-11-06 | ||
JP2006300731A JP4976817B2 (ja) | 2006-11-06 | 2006-11-06 | プログラム処理装置及びプログラム処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080041125A true KR20080041125A (ko) | 2008-05-09 |
KR100988669B1 KR100988669B1 (ko) | 2010-10-18 |
Family
ID=39361022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070112120A KR100988669B1 (ko) | 2006-11-06 | 2007-11-05 | 프로그램 처리 장치 및 프로그램 처리 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8732443B2 (ko) |
JP (1) | JP4976817B2 (ko) |
KR (1) | KR100988669B1 (ko) |
CN (1) | CN100595737C (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101303956B1 (ko) * | 2012-08-23 | 2013-09-05 | 현대중공업 주식회사 | 고압 인버터 제어기 |
JP7532344B2 (ja) | 2019-04-10 | 2024-08-13 | ローム株式会社 | 半導体装置及びデバッグシステム |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07334476A (ja) * | 1994-06-10 | 1995-12-22 | Tec Corp | プログラム転送装置 |
JP3427363B2 (ja) * | 1994-10-07 | 2003-07-14 | 富士通株式会社 | マルチプロセッサシステム |
JPH11265303A (ja) * | 1998-03-17 | 1999-09-28 | Hitachi Ltd | コントローラ立ち上げ方式 |
US6317706B1 (en) * | 1998-03-31 | 2001-11-13 | Sony Corporation | Simulation development tool for an embedded system |
US6453435B1 (en) * | 1998-12-29 | 2002-09-17 | Fujitsu Network Communications, Inc. | Method and apparatus for automated testing of circuit boards |
JP3339482B2 (ja) * | 1999-12-15 | 2002-10-28 | 日本電気株式会社 | 分散デバッグ装置及びデバッグ方法並びに制御プログラムを記録した記録媒体 |
KR100337149B1 (ko) * | 2000-07-05 | 2002-05-18 | 권 기 홍 | 프로그램 테스트 및 디버깅이 용이한 중앙처리장치 |
JP2002041285A (ja) | 2000-07-28 | 2002-02-08 | Toshiba Corp | データ処理装置およびデータ処理方法 |
JP2002108646A (ja) * | 2000-09-26 | 2002-04-12 | Matsushita Electric Works Ltd | デバック機能を備えた電子機器 |
US7149888B1 (en) * | 2000-09-29 | 2006-12-12 | Intel Corporation | Method and apparatus for booting the operating environment of an autonomous subsystem in a computer based system without involvement of the main operating system |
JP2001222443A (ja) * | 2000-12-28 | 2001-08-17 | Hitachi Ltd | データ処理装置 |
KR100994003B1 (ko) | 2001-01-31 | 2010-11-11 | 가부시키가이샤 히타치세이사쿠쇼 | 데이터 처리 시스템 및 데이터 프로세서 |
US20020166075A1 (en) * | 2001-05-04 | 2002-11-07 | Sanjay Agarwal | Low power interface between a control processor and a digital signal processing coprocessor |
US7577942B2 (en) * | 2001-07-26 | 2009-08-18 | International Business Machines Corporation | Efficient monitoring of program variables under debug |
JP3826859B2 (ja) * | 2002-08-19 | 2006-09-27 | ソニー株式会社 | 情報処理方法とその方法を実現するプログラム及び記録媒体 |
JP2004164113A (ja) * | 2002-11-11 | 2004-06-10 | Nec Micro Systems Ltd | マルチcpuのリセット回路およびリセット方法 |
JP2005070950A (ja) | 2003-08-21 | 2005-03-17 | Sanyo Electric Co Ltd | プログラム処理装置 |
JP2005070949A (ja) * | 2003-08-21 | 2005-03-17 | Sanyo Electric Co Ltd | プログラム処理装置 |
JP4944368B2 (ja) * | 2004-06-08 | 2012-05-30 | キヤノン株式会社 | マルチプロセッサシステム、デバッグ方法、及びプログラム |
JP2006202200A (ja) * | 2005-01-24 | 2006-08-03 | Nec Corp | 携帯端末及びマルチプロセッサシステム並びにそのプログラム |
US8010774B2 (en) * | 2006-03-13 | 2011-08-30 | Arm Limited | Breakpointing on register access events or I/O port access events |
-
2006
- 2006-11-06 JP JP2006300731A patent/JP4976817B2/ja active Active
-
2007
- 2007-10-29 CN CN200710184821A patent/CN100595737C/zh not_active Expired - Fee Related
- 2007-11-05 KR KR1020070112120A patent/KR100988669B1/ko not_active IP Right Cessation
- 2007-11-06 US US11/935,659 patent/US8732443B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR100988669B1 (ko) | 2010-10-18 |
JP2008117230A (ja) | 2008-05-22 |
US20080109633A1 (en) | 2008-05-08 |
US8732443B2 (en) | 2014-05-20 |
JP4976817B2 (ja) | 2012-07-18 |
CN101221529A (zh) | 2008-07-16 |
CN100595737C (zh) | 2010-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9514070B2 (en) | Debug control circuit | |
CN113590511B (zh) | 一种带宽降速修复方法、装置及电子设备 | |
EP1313028A2 (en) | System-on-chip architecture that utilizes feram and re-configurable hardware | |
US6922794B2 (en) | Microcomputer with debug supporting function | |
KR100988669B1 (ko) | 프로그램 처리 장치 및 프로그램 처리 방법 | |
US20100122072A1 (en) | Debugging system, debugging method, debugging control method, and debugging control program | |
JP2005070949A (ja) | プログラム処理装置 | |
US20040172233A1 (en) | Semiconductor integrated circuit device and microcomputer development assisting apparatus | |
JP4024026B2 (ja) | 半導体装置および評価装置 | |
CN105068835B (zh) | 移动终端及其调试信息显示方法 | |
US20050144498A1 (en) | [method and apparatus for tuning over clock and tuning method for sub-stable state with high performance] | |
JP2007304972A (ja) | マイクロプロセッサシステム | |
JP6463445B1 (ja) | 車載制御装置 | |
JP2008021396A (ja) | コントローラ及びメモリシステム | |
CN111414272B (zh) | 电子装置与电子装置的重置方法 | |
JPH09259004A (ja) | デバッグ方法 | |
JP2010066843A (ja) | 制御装置 | |
JPH10161903A (ja) | Mpuおよびmpuのデバッグ方法 | |
US20080072212A1 (en) | Semiconductor integrated circuit including a monitor unit | |
CN111949319A (zh) | 时序控制器自监测方法、系统和电子设备 | |
JP2000330798A (ja) | 割込制御装置および割込制御検証方法 | |
JP2006163864A (ja) | システムlsiのデバッグ方法及び装置 | |
JP3341692B2 (ja) | プロセッサ、該プロセッサを搭載した電子機器、プログラム検査方法及びプログラム検査装置 | |
JP2003330575A (ja) | マイクロコンピュータのリセット装置 | |
JP2009157874A (ja) | 情報処理装置、及びソフトウェアのデバッグ方法 |
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: 20130927 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |