KR20000034609A - 마이크로프로세서 개발 시스템 - Google Patents

마이크로프로세서 개발 시스템 Download PDF

Info

Publication number
KR20000034609A
KR20000034609A KR1019980051979A KR19980051979A KR20000034609A KR 20000034609 A KR20000034609 A KR 20000034609A KR 1019980051979 A KR1019980051979 A KR 1019980051979A KR 19980051979 A KR19980051979 A KR 19980051979A KR 20000034609 A KR20000034609 A KR 20000034609A
Authority
KR
South Korea
Prior art keywords
microprocessor
data
address
controller
register
Prior art date
Application number
KR1019980051979A
Other languages
English (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 KR1019980051979A priority Critical patent/KR20000034609A/ko
Publication of KR20000034609A publication Critical patent/KR20000034609A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3652Software debugging using additional hardware in-circuit-emulation [ICE] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

개시되는 본 발명의 마이크로프로세서 개발 시스템은 호스트와 호스트로부터 마이크로프로세서용 응용 프로그램을 다운 로드 받아 마이크로프로세서로 제공하는 에뮬레이터를 포함하여 구성된다. 에뮬레이터는 데이터 변환 회로를 구비하여 응용프로그램의 프로그램 코드 또는 각종 변수 데이터를 변환하여 마이크로프로세서로 제공할 수 있다. 그러므로 마이크로프로세서가 응용프로그램을 수행하는 중에 실시간으로 프로그램 코드나 각종 변수 데이터를 변환하여 마이크로프로세서를 제공함으로서 다양하게 마이크로프로세서를 동작시켜 볼 수 있다.

Description

마이크로프로세서 개발 시스템(microprocessor development system)
본 발명은 마이크로프로세서(microprocessor)용 응용프로그램(application program)의 개발을 위한 마이크로프로세서 개발 시스템(microprocessor development system)에 관한 것이다.
마이크로프로세서의 출현이후 많은 전자 기기에는 마이크로프로세서가 탑재되고 있다. 자동 제어 분야, 계측기 분야, 의료 기기, 아동용 완구 등 산업 전반에 마이크로 프로세서가 폭넓게 사용되고 있다. 이러한 마이크로프로세서가 탑재되는 장치들에 적합한 응용프로그램을 효과적으로 개발하기 위해 현재 마이크로프로세서 개발 시스템(microprocessor development system: MDS)이 사용되고 있다.
도 1에는 종래의 마이크로프로세서 개발 시스템을 보여주는 블록도가 도시되어 있다. 도 1을 참조하여, 마이크로프로세서 개발 시스템은 크게 호스트(host)(10)와 이에 접속된 에뮬레이터(emulator)(20)로 구성된다. 에뮬레이터(20)는 에뮬레이터 컨트롤러(emulator controller)(22)와 에뮬레이션 메모리(emulation memory)(24)를 포함하는 구성을 갖는다.
마이크로프로세서용 응용프로그램은 호스트(10)에서 컴파일(compile)된 후 기계어 코드(machine code)로 변환되어 에뮬레이션 메모리(24)로 다운 로드(down load) 된다. 마이크로프로세서(30)는 에뮬레이션 메모리(24)에 다운 로드된 응용프로그램을 실행한다. 마이크로프로세서가 응용프로그램을 실행하는 과정은 호스트(10)에서 모니터링(monitoring)된다. 마이크로 프로세서(30)가 응용프로그램을 실행하는 과정에서 개발자가 원하지 않는 오류가 발생되는 경우에 개발자는 응용프로그램을 디버깅하여 다시 컴파일하여 에뮬레이션 메모리(24) 다시 다운 로드를 한다. 이러한 과정은 응용프로그램을 개발하는 단계에서 빈번히 반복된다.
그러나, 응용프로그램에 에러가 발생되는 경우마다 매번 응용프로그램을 디버깅하고 컴파일하는 과정을 반복하는 것은 개발시간을 지연시키는 주요 원인이 된다. 응용프로그램의 사이즈가 큰 경우에는 더욱 그러하다. 또한 응용프로그램의 특정 변수 값을 정확히 알 수 없을 경우나, 실시간으로 이에 대한 조정이 필요한 경우에 그 문제점은 더욱 크다.
따라서, 본 발명의 목적은 상술한 제반 문제점을 해결하기 위해 제안된 것으로서 마이크로프로세서가 응용프로그램의 수행 중 마이크로프로세서로 입력될 데이터를 실시간으로 변환할 수 있는 마이크로 프로세서 개발 시스템을 제공하는데 있다.
도 1은 종래의 마이크로프로세서 개발 시스템을 보여주는 블록도;
도 2는 본 발명의 바람직한 실시예에 따른 마이크로프로세서 개발 시스템의 블록도;
도 3은 도 2에 도시된 데이터 변화 회로를 상세히 보여주는 블록도; 그리고
도 4는 데이터 변환 회로의 동작의 일 예를 보여주는 파형도이다.
*도면의 주요 부분에 대한 부호의 설명*
10, 40: 호스트 20, 50: 에뮬레이터
22, 52: 에뮬레이터 컨트롤러 24, 54: 에뮬레이션 메모리
30, 60: 마이크로프로세서 56: 데이터 변환 회로
70: 비교기 72: 어드레스 레지스터
74: 컨트롤 레지스터 76: 데이터 레지스터
78: 먹스
상술한 바와 같은 본 발명의 목적을 달성하기 위한 본 발명의 특징에 의하면, 호스트와, 호스트로부터 마이크로프로세서를 동작시키기 위한 응용프로그램을 제공받아 마이크로프로세서로 제공하는 에뮬레이터를 포함하는 마이크로프로세서 개발 시스템은: 상기 에뮬레이터의 동작을 제어하기 위한 컨트롤러와; 상기 호스트로부터 제공되는 응용프로그램을 저장하고, 상기 마이크로프로세로부터 입력되는 어드레스에 응답하여 해당 어드레스 영역의 데이터를 출력하는 메모리와; 상기 메모리로부터 출력되는 데이터를 입력하고, 상기 컨트롤러의 제어에 따라 상기 메모리로부터 출력되는 데이터를 변환하여 마이크로프로세서로 제공하는 데이터 변환 회로를 포함한다.
이 실시예에 있어서, 상기 데이터 변환 회로는: 상기 컨트롤러로부터 어드레스를 입력받아 저장하는 어드레스 레지스터와; 상기 어드레스 레지스터에 저장된 어드레스와 상기 마이크로프로세서로부터 출력되는 어드레스를 비교하고, 두 어드레스가 일치되는 경우 선택 신호를 출력하는 비교기와; 상기 컨트롤러로부터 제공된 제어 신호가 저장되어, 상기 비교기를 인에이블/디스에이블시키는 컨트롤 레지스터와; 상기 컨트롤러로부터 제공된 데이터가 저장되는 데이터 레지스터와; 상기 데이터 레지스터에 저장된 데이터와 상기 메모리로부터 입력되는 데이터들을 각각 입력받고, 상기 선택 신호에 따라 선택된 데이터를 상기 마이크로프로세서로 출력하는 먹스를 포함한다.
이상과 같은 마이크로프로세서 개발 시스템에 의하면, 마이크로프로세서는 메모리로부터 제공되어지는 데이터 또는 컨트롤러로부터 제공되어지는 변환 데이터를 데이터 변환 회로를 통해 입력받는다.
(실시예)
이하 본 발명에 따른 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
본 발명의 신규한 마이크로프로세서 개발 시스템은 데이터 변환 회로를 구비하여 마이크로프로세서로 입력되는 데이터를 개발자의 임의대로 변환이 가능하다.
도 2에는 본 발명의 바람직한 실시예에 따른 마이크로프로세서 개발 시스템의 블록도가 도시되어 있다. 도 2에 도시된 바와 같이, 본 발명의 바람직한 실시예에 따른 마이크로프로세서 개발 시스템은 크게 호스트(40)와 에뮬레이터(50)로 구성된다. 에뮬레이터(50)는 에뮬레이터 컨트롤러(52), 에뮬레이션 메모리(54), 데이터 변환 회로(56)를 포함하는 구성을 갖는다.
호스트(40)에서는 마이크로프로세용 응용프로그램이 컴파일 되어 기계어 코드로 변환되고 이는 에뮬레이터(50)의 에뮬레이션 메모리(54)로 다운로드된다. 에뮬레이터 컨트롤러(52)는 에뮬레이터(50)의 전반적인 제어를 수행한다. 에뮬레이션 메모리(54)에는 호스트(40)로부터 제공된 마이크로프로세서용 응용프로그램이 저장되며, 마이크로프로세서(60)로부터 입력되는 어드레스(62)에 의해 지정된 영역의 데이터(55)를 출력한다. 데이터 변환 회로(56)는 에뮬레이션 메모리(54)로 입력되는 어드레스(62)를 동일하게 입력받고, 에뮬레이션 메모리(54)로부터 출력되는 데이터(55)를 입력받으며 그리고 에뮬레이터 컨트롤러(51)로부터 제공되는 제어신호(51)(이 제어 신호는 어드레스, 데이터 및 제어 신호가 포함된다)의 입력에 응답하여 마이크로프로세서(60)로 데이터(57)를 출력한다. 이 출력되는 데이터(57)는 에뮬레이터 컨트롤러(52) 또는 에뮬레이션 메모리(54)로부터 입력된 데이터이다.
도 3에는 도 2에 도시된 데이터 변화 회로를 상세히 보여주는 블록도가 도시되어 있다. 도 3에 도시된 바와 같이, 데이터 변환 회로(56)는 비교기(70), 어드레스 레지스터(72), 컨트롤 레지스터(74), 데이터 레지스터(76) 그리고 먹스(78)를 포함하여 구성된다.
어드레스 레지스터(72)는 에뮬레이터 컨트롤러(52)로부터 입력되는 제어 신호(51)중 어드레스를 입력하여 저장한다. 컨트롤 레지스터(74)는 에뮬레이터 컨트롤러(52)로부터 입력되는 제어 신호(51)중 비교기(70)를 제어하기 위한 제어 신호를 입력하여 저장한다. 데이터 레지스터(76)는 에뮬레이터 컨트롤러(52)로부터 입력되는 제어 신호(51)중 변환 데이터를 입력하여 저장한다. 비교기(70)는 컨트롤 레지스터(74)에 설정된 값에 따라 인에이블/디스에이블 되며, 인에이블된 경우 어드레스 레지스터(72)에 저장된 어드레스와 마이크로프로세서(60)로부터 입력되는 어드레스를 비교하고, 그 결과를 먹스(78)의 선택 신호(79)로 출력한다. 먹스(78)는 에뮬레이션 메모리(54)로부터 출력된 데이터(55)와 데이터 레지스터(76)로부터 출력된 데이터(75)를 입력하고, 선택 신호(79)의 입력에 응답하여 어느 하나를 선택적으로 마이크로프로세서(60)로 입력한다.
이와 같이, 마이크로프로세서(60)는 에뮬레이션 메모리(54)로부터 제공되어지는 데이터(55) 또는 에뮬레이터 컨트롤러(52)로부터 제공되어지는 변환 데이터(75)를 데이터 변환 회로(56)를 통해 입력받는다. 그러므로 개발자는 필요에 따라서 원하는 변환 데이터를 데이터 레지스터(76)에 기입하고, 해당되는 어드레스를 어드레스 레지스터(72)에 기입한다. 그리고 비교기(70)를 인에이블 시키도록 컨트롤 레지스터(74)를 설정한다. 그러면 비교기(70)는 마이크로프로세서(60)로부터 입력되는 어드레스(62)와 어드레스 레지스터(72)에 저장된 어드레스(71)를 비교하여 동일한 경우 먹스(78)로 선택 신호(79)를 출력한다. 그러면 데이터 레지스터(76)로부터 변환 데이터(75)가 먹스(78)를 통해 마이크로프로세서(60)로 입력된다.
도 4에는 데이터 변환 회로의 동작의 일 예를 보여주는 파형도가 도시되어 있다. 도 4를 참조하여, 어드레스 레지스터(72)에 101h가 저장되어 있고, 데이터 레지스터(76)에 변환 데이터 FFFF가 저장되어 있다. 비교기(70)는 마이크로프로세서(60)로부터 입력되는 어드레스(62)와 어드레스 레지스터(72)로부터의 어드레스(71)를 비교하고 101h로 동일한 경우 선택 신호(79)를 먹스(78)로 출력한다. 먹스(78)는 에뮬레이션 메모리(54)로부터 입력되는 데이터(55)를 마이크로프로세서(60)로 출력하다가, 비교기(70)로부터 선택 신호(79)가 입력되는 경우 데이터 레지스터(76)로부터 입력되는 변환 데이터 FFFF를 마이크로프로세서(60)로 출력한다.
이상과 같은 동작은 마이크로프로세서(60)가 에뮬레이션메모리(54)에 저장된 응용프로그램을 실행하는 중에 이루어지므로 수정이 필요한 부분에 대한 프로그램 실행 코드나 각종 변수 데이터에 대하여 개발자의 임의대로 변환이 가능하다.
이상과 같은 본 발명에 의하면, 마이크로프로세서용 응용프로그램의 개발시에 응용프로그램의 디버깅시 일일이 응용프로그램을 컴파일하여야 하는 번거로움이 없어진다. 그리고, 개발자의 임의대로 프로그램의 코드 및 각종 변수 데이터에 대하여 변환이 가능하므로 다양하게 마이크로프로세서를 동작시켜 볼 수 있다.

Claims (2)

  1. 호스트와, 호스트로부터 마이크로프로세서를 동작시키기 위한 응용프로그램을 제공받아 마이크로프로세서로 제공하는 에뮬레이터를 포함하는 마이크로프로세서 개발 시스템에 있어서:
    상기 에뮬레이터의 동작을 제어하기 위한 컨트롤러와;
    상기 호스트로부터 제공되는 응용프로그램을 저장하고, 상기 마이크로프로세로부터 입력되는 어드레스에 응답하여 해당 어드레스 영역의 데이터를 출력하는 메모리와;
    상기 메모리로부터 출력되는 데이터를 입력하고, 상기 컨트롤러의 제어에 따라 상기 메모리로부터 출력되는 데이터를 변환하여 마이크로프로세서로 제공하는 데이터 변환 회로를 포함하는 것을 특징으로 하는 마이크로프로세서 개발 시스템.
  2. 제1항에 있어서,
    상기 데이터 변환 회로는:
    상기 컨트롤러로부터 어드레스를 입력받아 저장하는 어드레스 레지스터와;
    상기 어드레스 레지스터에 저장된 어드레스와 상기 마이크로프로세서로부터 출력되는 어드레스를 비교하고, 두 어드레스가 일치되는 경우 선택 신호를 출력하는 비교기와;
    상기 컨트롤러로부터 제공된 제어 신호가 저장되어, 상기 비교기를 인에이블/디스에이블시키는 컨트롤 레지스터와;
    상기 컨트롤러로부터 제공된 데이터가 저장되는 데이터 레지스터와;
    상기 데이터 레지스터에 저장된 데이터와 상기 메모리로부터 입력되는 데이터들을 각각 입력받고, 상기 선택 신호에 따라 선택된 데이터를 상기 마이크로프로세서로 출력하는 먹스를 포함하는 것을 특징으로 하는 마이크로프로세서 개발 시스템.
KR1019980051979A 1998-11-30 1998-11-30 마이크로프로세서 개발 시스템 KR20000034609A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980051979A KR20000034609A (ko) 1998-11-30 1998-11-30 마이크로프로세서 개발 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980051979A KR20000034609A (ko) 1998-11-30 1998-11-30 마이크로프로세서 개발 시스템

Publications (1)

Publication Number Publication Date
KR20000034609A true KR20000034609A (ko) 2000-06-26

Family

ID=19560562

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980051979A KR20000034609A (ko) 1998-11-30 1998-11-30 마이크로프로세서 개발 시스템

Country Status (1)

Country Link
KR (1) KR20000034609A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100428649B1 (ko) * 2001-12-31 2004-04-29 주식회사 하이닉스반도체 에뮬레이터

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100428649B1 (ko) * 2001-12-31 2004-04-29 주식회사 하이닉스반도체 에뮬레이터

Similar Documents

Publication Publication Date Title
KR910017301A (ko) 제어 집중 시스템
US6141791A (en) Debug aid device, program compiler device, storage medium storing computer-readable debugger program, and storage medium storing program compiler program
KR20050075647A (ko) 자바 가상 머신의 성능을 향상시키는 방법 및 상기 방법에의해 동작되는 시스템
JPH08339298A (ja) マイクロプロセッサにおける命令追加方法及びそれを用いたマイクロプロセッサ
KR20000034609A (ko) 마이크로프로세서 개발 시스템
US4679194A (en) Load double test instruction
EP0517269B1 (en) Microcomputer with test mode switching function
JPH05346332A (ja) 試験プログラム実行方法
KR20020001853A (ko) 모션컨트롤러의 프로그래밍 방법
JP2002073346A (ja) コンパイラ,記録媒体,プログラム変換装置,プログラム変換方法及びマイクロコンピュータ
KR100788913B1 (ko) 반도체 장치의 테스트 시스템을 위한 전치 분기 패턴 발생장치
KR20020032256A (ko) 통합 임베디드 시스템 및 이의 구현 방법
US5732252A (en) Program counter system capable of incrementing or decrementing after a conditional jump instruction
KR100240963B1 (ko) 피엘씨 장치 및 제어방법
KR100512157B1 (ko) 오오피 기반의 마이크로컨트롤러 응용 개발 시스템
JP2728008B2 (ja) プログラム評価装置
KR100231692B1 (ko) Chill 디버깅 정보 생성방법
JP2001222447A (ja) 実動作環境下のデバッグ方法及びデバッグ対象装置
KR100381876B1 (ko) 프로그램카운팅시스템및카운터의동작방법
KR100279511B1 (ko) 피엘시명령어 고속처리 시스템
JP3820707B2 (ja) 割込ベクタアドレス生成装置及びマイクロコンピュータ
KR960016407B1 (ko) Mcu내의 인터럽트 신호 발생회로
KR940011045B1 (ko) 마이크로 컨트롤 유닛의 인터럽트 백터 어드레싱 방법
WO2000054154A1 (en) A system for converting high-level computer languages into specific low-level languages of digital signal processors
JPH05313937A (ja) ウインドウコントロール方式、及びエミュレータ

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination