KR100512157B1 - Oop based micro controller application development system - Google Patents
Oop based micro controller application development system Download PDFInfo
- Publication number
- KR100512157B1 KR100512157B1 KR1019970045873A KR19970045873A KR100512157B1 KR 100512157 B1 KR100512157 B1 KR 100512157B1 KR 1019970045873 A KR1019970045873 A KR 1019970045873A KR 19970045873 A KR19970045873 A KR 19970045873A KR 100512157 B1 KR100512157 B1 KR 100512157B1
- Authority
- KR
- South Korea
- Prior art keywords
- microcontroller
- development system
- class
- oop
- compiler
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- 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
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
본 발명은 마이크로 컨트롤러 응용개발시스템(Micro Controller Application Development System)에 관한 것으로서, 구체적으로는 OOP(Object Oriented Programming)에 기반을 둔 마이크로 컨트롤러 개발 시스템에 관한 것으로, OOP 기반의 클래스 라이브러리(120)와, 상기 클래스 라이브러리(120)를 참조하여 해당 소오스(110)를 컴파일링하는 컴파일러(130)와, 상기 컴파일러(130)에 의한 해당 소오스(110)의 컴파일링 결과의 오류를 디버깅하는 디버거(140)를 포함하고 상기 클래스 라이브러리(120)는, 마이크로 컨트롤러를 기본 클래스(basic class)로 하고, 시스템 파라미터(system parameter) 및 기능(function)을 각각 데이터 변수 및 특징으로 하는 클래스 구조를 갖도록 되어 마이크로 컨트롤러 응용개발시스템의 업그레이드 시에는 OOP의 특성인 클래스의 유도성, 상속성에 따라 적은 시간으로 효과적인 업그레이드가 가능해 진다.The present invention relates to a microcontroller application development system, and more particularly to a microcontroller development system based on OOP (Object Oriented Programming), an OOP-based class library 120, A compiler 130 for compiling the source 110 with reference to the class library 120 and a debugger 140 for debugging an error in the compilation result of the source 110 by the compiler 130. The class library 120 includes a microcontroller as a basic class, and has a class structure in which system parameters and functions are data variables and features, respectively. When upgrading the system, it takes less time depending on the inductive and inheritance of the class that is the characteristic of OOP. Excessive upgrades are possible.
Description
본 발명은 마이크로 컨트롤러 응용개발시스템(Micro Controller Application Development System)에 관한 것으로서, 구체적으로는 OOP(Object Oriented Programming)에 기반을 둔 마이크로 컨트롤러 개발 시스템에 관한 것이다.The present invention relates to a microcontroller application development system, and more particularly, to a microcontroller development system based on object-oriented programming (OOP).
현재, 마이크로 컨트롤러(micro controller)는 많은 전자 시스템에 탑재되고 있는 추세이다. 마이크로 컨트롤러의 응용은 매우 다양하며, 전자 시스템에 탑재되어 해당 시스템의 제어를 효과적으로 수행하고 있다. 이러한 마이크로 컨트롤러를 응용한 전자 시스템의 개발시에 효율적인 개발을 위하여 마이크로 컨트롤러 응용개발시스템이 제공되고 있다.Currently, microcontrollers are being installed in many electronic systems. The application of the microcontroller is very diverse, and it is mounted in an electronic system to effectively control the system. Microcontroller application development system has been provided for efficient development in the development of electronic systems using such a microcontroller.
그러나, 마이크로 컨트롤러를 탑재한 응용 시스템의 개발은 시스템들의 구조에 있어서나 기능에 있어서 상이한 점이 많기 때문에 그리 쉽지 않다. 왜냐하면, 개발하고자 하는 전자 시스템은 서로 다른 특성을 갖는 것이 대부분이므로 그 특성에 적합한 마이크로 컨트롤러 개발 시스템을 제공하는 것은 매우 힘든 일이다. 또한 마이크로 컨트롤러의 종류도 매우 다양함으로 이를 모두 만족시키는 개발 시스템을 각기 제공하는 것 역시 매우 어려웠다. 그러므로 새로운 전자 시스템을 개발하기 위해서, 엔지니어는 새로운 하드웨어 디자인을 제안해야 할뿐만 아니라 그 기능의 수행을 위해 필요한 소프트웨어(펌웨어:formware)를 만들어야 한다. 따라서, 응용 엔지니어는 마이크로 컨트롤러를 응용한 제품을 개발하는데 많은 어려움을 겪어 왔다.However, development of an application system equipped with a microcontroller is not so easy because there are many differences in the structure and function of the systems. Because most electronic systems have different characteristics, it is very difficult to provide a microcontroller development system suitable for the characteristics. In addition, there are many types of microcontrollers, and it was very difficult to provide a development system that satisfies them all. Therefore, in order to develop new electronic systems, engineers must not only propose new hardware designs, but also create the necessary software (formware) to perform their functions. Therefore, application engineers have had a lot of difficulties in developing a microcontroller application.
한편, 현재 마이크로 컴퓨터의 프로그래밍 방법에 있어서 하이코드(high code)의 재생을 가능하게 하는 OOP(Object Oriented Programming)가 제안되어 사용되고 있으며, 이는 매우 효과적인 프로그래밍 방법이다.On the other hand, in the programming method of the microcomputer, an object-oriented programming (OOP) that enables high code reproduction has been proposed and used, which is a very effective programming method.
만약, OOP를 마이크로 컨트롤러의 개발에 적용한다면 예를 들어, 마이크로 컨트롤러를 기본 클래스(basic class)로 하고, 시스템 파라미터(system parameter) 및 기능(function)을 각각 데이터 변수 및 특징으로 하는 클래스 구조하는 마이크로 컨트롤러 응용개발시스템이 제공된다면 많은 편리성을 제공하게 될 것이다.If OOP is applied to the development of a microcontroller, for example, a microcontroller is a basic class, and a microstructure that classifies the system parameters and functions as data variables and features, respectively. If a controller application development system is provided, it will provide a lot of convenience.
즉, 마이크로 컨트롤러 응용개발시스템의 업그레이드(upgrade)시에는 OOP의 특성인 클래스의 유도성(class derivation), 상속성(inheritance)에 따라 적은 시간으로 효과적인 업그레이드가 가능해질 것이다.That is, when upgrading the microcontroller application development system, an effective upgrade can be performed in a short time according to the class derivation and inheritance of OOP characteristics.
따라서, 본 발명의 목적은 상술한 제반 문제점을 해결하기 위해 제안된 것으로서 OOP 기반의 마이크로 컨트롤러 응용개발시스템을 제공하는데 있다.Accordingly, an object of the present invention is to provide an OOP-based microcontroller application development system as proposed to solve the above-mentioned problems.
상술한 바와 같은 본 발명의 목적을 달성하기 위한 본 발명의 특징에 의하면, 마이크로 컨트롤러의 응용프로그램의 개발을 위한 개발시스템과, 마이크로 컨트롤러가 탑재되며 상기 개발시스템에 의해 연계되어 해당 프로그램을 로딩하여 에뮬레이션(emulation)을 수행하는 온라인 에뮬레이터를 구비하는 마이크로 컨트롤러 응용개발시스템의 상기 개발시스템은: OOP 기반의 클래스 라이브러리와; 상기 클래스 라이브러리를 참조하여 해당 소오스를 컴파일링하는 컴파일러와; 상기 컴파일러에 의한 해당 소오스의 컴파일링 결과의 오류를 디버깅하는 디버거를 포함한다.According to a feature of the present invention for achieving the object of the present invention as described above, the development system for the development of the application program of the microcontroller, the microcontroller is mounted and linked by the development system to load the corresponding program emulation The development system of a microcontroller application development system having an online emulator for performing emulation includes: an OOP based class library; A compiler for compiling the source with reference to the class library; It includes a debugger for debugging errors in the compilation result of the source by the compiler.
이 실시예에 있어서, 상기 클래스 라이브러리는, 마이크로 컨트롤러를 기본 클래스(basic class)로 하고, 시스템 파라미터(system parameter) 및 기능(function)을 각각 데이터 변수 및 특징으로 하는 클래스 구조를 갖는다.In this embodiment, the class library has a class structure in which a microcontroller is a basic class, and a system parameter and a function are data variables and features, respectively.
상기와 같은 본 발명에 의하면, 마이크로 컨트롤러를 기본 클래스로 하고, 시스템 파라미터 및 기능을 각각 데이터 변수 및 특징으로 하는 클래스 구조하는 마이크로 컨트롤러 응용개발시스템이 제공되어 마이크로 컨트롤러 응용개발시스템의 업그레이드 시에는 OOP의 특성인 클래스의 유도성, 상속성에 따라 적은 시간으로 효과적인 업그레이드가 가능해 진다.According to the present invention as described above, there is provided a microcontroller application development system having a microcontroller as a base class and a class structure having system parameters and functions as data variables and features, respectively. Depending on the derivation and inheritance of the class, it can be effectively upgraded in less time.
(실시예)(Example)
이하 본 발명에 따른 실시예를 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 바람직한 실시예에 따른 OOP 기반의 마이크로 컨트롤러 응용 개발 시스템의 전체 블록도이다.1 is a block diagram of an OOP-based microcontroller application development system according to a preferred embodiment of the present invention.
도 1에 도시된바와 같이, 본 발명의 신규한 마이크로 컨트롤러 응용개발시스템은 크게 두 부분으로 개발시스템(Development System)(100)과, 타겟 응용 시스템(Target Application System)인 온라인 에뮬레이터(On-line emulator)(200)로 구성된다.As shown in FIG. 1, the novel microcontroller application development system of the present invention is largely divided into a
상기 개발시스템(100)은 하이레벨언어(high level language)로 작성된 소오스(110)를 컴파일하기 위한 OOP컴파일러(130)와, 컴파일 결과에 따른 해당 소오스의 오류를 디버깅하기 위한 디버거(140)와, OOP 기반의 클래스라이브러리(120)를 구비하여 개발 엔지니어에게 소프트웨어 개발 및 하드웨어 조작 툴을 제공한다. 그리고 상기 타겟응용시스템(200)은 개발에 따른 마이크로컨트롤러(210)와, 이에 따른 주변장치(220)를 구비하여 엔지니어에게 시스템 스팩(설계, 명세)을 제공한다.The
상기 OOP컴파일러(130)는 응용 특수 C++ 컴파일러(application specific C++ compiler)를 사용하고, 상기 클래스라이브러리(120)는 마이크로 컨트롤러의 특성에 따라 설계된 OOP 기반의 클래스 라이브러리이다.The OOP
상기 OOP컴파일러(130)는 실제로 표준 C++ 컴파일러의 서브셋(subset) 이다. 이것은 마이크로 컨트롤러 응용에 적합하도록 명확하고 단순화된 양상을 갖도록 된다. 그리고 표준 C++의 몇 가지 복잡한 양상들에 의한 예외적인 프로세싱 등과 같은 양상들은 마이크로 컨트롤러의 응용에 불필요하므로 배제되어야 한다. 상기 클래스 라이브러리(120)에 있어서, 이것은 다른 응용의 필요를 충분히 충족시키기 위한 탄력 있고 강력한 기본 클래스를 형성하는 것이 바람직하다. 그리고, 상기 온라인에뮬레이터(200)는 엔지니어에게 즉석 응용 테스트가 가능하도록 하며, 상기 디버거(140)는 보다 쉬운 수정 능력을 제공한다.The
이상과 같은 구성을 갖는 마이크로 컨트롤러 응용개발시스템은 기본적으로 해당 마이크로 콘트롤러를 기본 클래스로 다루는 것으로, 상기 기본적인 클래스 라이브러리(120)는 기본명령세트(basic instruction set)와 기본 특성(basic attributes) 예를 들어, I/O 포트 조작, 데이터/프로그램 메모리 작동(operations) 등의 클래스 구조를 갖는다. 이러한 작동은 단지 마이크로 콘트롤러를 위한 '가상'이고, 이것은 실제 시스템에 적용되지 않는다. 그러나 어떤 응용시스템에 기능과 스팩이 주어졌을 때, 이들 가상 기능들은 원하는 시스템 요구사항을 수행하도록 구현될 수 있다. 또한 기본 응용시스템이 개발되어졌을 때 이후의 업그레이드 작업은 간단한 수정을 통해 그 성능을 향상시킬 수 있게 된다.The microcontroller application development system having the above configuration basically treats the microcontroller as a base class, and the
그리고 상기 개발시스템(100)에 제공되는 클래스 라이브러리(120)를 사용하여, 엔지니어는 모든 마이크로콘트롤러 패밀리에 기초하여 모든 기본 클래스로부터 자유롭게 선택할 수 있다. 상기 기본적인 클래스 라이브러리(120)는 프로그램 언어 중 하나인 C++과 같은 하이레벨언어를 사용하게 됨으로 인하여 사용자에게 I/O 포트 세팅 및 시스템 레지스터의 억세스와 같은 로우 레벨 작동(low level operation)을 제공한다. 이러한 경우 전체 시스템이 C++ 언어를 사용하기 때문에, 해당 프로그래밍과 디버깅을 용이하게 할 수 있다.And using the
상술한 바와 같이, 본 발명의 마이크로 컨트롤러 응용개발시스템은 OOP에 있어서 일반화된 클래스로서 다양한 마이크로콘트로러를 다룰 수 있다.As described above, the microcontroller application development system of the present invention can handle various microcontrollers as a generalized class in OOP.
이상과 같은 본 발명에 의하면, 새로운 마이크로 컨트롤러 응용개발시스템(또는 구 시스템)을 업그레이드하는데 종래와 달리 단 시간 내에 가능하게 되어 적은 비용으로 보다 나은 결과를 얻을 수 있게 된다. 게다가 클래스 라이브러리에 의해 마이크로 컨트롤러 응용개발시스템을 다양한 마이크로 컨트롤러의 개발에 적용 가능하게 된다.According to the present invention as described above, it is possible to upgrade the new microcontroller application development system (or the old system) in a short time unlike the prior art, it is possible to obtain better results with less cost. In addition, the class library enables the microcontroller application development system to be applied to the development of various microcontrollers.
도 1은 본 발명의 바람직한 실시예에 따른 OOP 기반의 마이크로 컨트롤러 응용 개발 시스템의 전체 블록도이다.1 is a block diagram of an OOP-based microcontroller application development system according to a preferred embodiment of the present invention.
*도면의 주요 부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings
100 : 개발시스템 110 : 소오스100: development system 110: source
120 : 클래스 라이브러리 130 : 컴파일러120: class library 130: compiler
140 : 디버거 200 : 온라인 에뮬레이터140: Debugger 200: Online Emulator
210 : 마이크로 컨트롤러 220 : 주변장치210: microcontroller 220: peripheral device
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970045873A KR100512157B1 (en) | 1997-09-04 | 1997-09-04 | Oop based micro controller application development system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970045873A KR100512157B1 (en) | 1997-09-04 | 1997-09-04 | Oop based micro controller application development system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990024648A KR19990024648A (en) | 1999-04-06 |
KR100512157B1 true KR100512157B1 (en) | 2005-11-01 |
Family
ID=37305734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970045873A KR100512157B1 (en) | 1997-09-04 | 1997-09-04 | Oop based micro controller application development system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100512157B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0628168A (en) * | 1990-04-27 | 1994-02-04 | Sun Microsyst Inc | Method for realization of object-oriented programming |
US5404525A (en) * | 1992-09-30 | 1995-04-04 | International Business Machines Corporation | Efficient method router that supports multiple simultaneous object versions |
EP0789300A2 (en) * | 1996-02-09 | 1997-08-13 | Sun Microsystems, Inc. | System and method for automatically modifying database access methods to insert database object handling instructions |
KR19980047747A (en) * | 1996-12-16 | 1998-09-15 | 양승택 | Object-Oriented High Level Language (CHILL) Programming Environment |
-
1997
- 1997-09-04 KR KR1019970045873A patent/KR100512157B1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0628168A (en) * | 1990-04-27 | 1994-02-04 | Sun Microsyst Inc | Method for realization of object-oriented programming |
US5404525A (en) * | 1992-09-30 | 1995-04-04 | International Business Machines Corporation | Efficient method router that supports multiple simultaneous object versions |
EP0789300A2 (en) * | 1996-02-09 | 1997-08-13 | Sun Microsystems, Inc. | System and method for automatically modifying database access methods to insert database object handling instructions |
KR19980047747A (en) * | 1996-12-16 | 1998-09-15 | 양승택 | Object-Oriented High Level Language (CHILL) Programming Environment |
Also Published As
Publication number | Publication date |
---|---|
KR19990024648A (en) | 1999-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Peatman | Design with PIC microcontrollers | |
EP1074911B1 (en) | Aspect-oriented programming | |
US5274815A (en) | Dynamic instruction modifying controller and operation method | |
US5920721A (en) | Compiler generating functionally-alike code sequences in an executable program intended for execution in different run-time environments | |
US6343373B1 (en) | Retargetable information process system | |
JPS6017539A (en) | Emulation system | |
EP0884678A2 (en) | Loader conditionally replacing a code sequence with a functionally-alike code sequence in an executable program intended for execution in different run-time environments | |
US10789192B2 (en) | System and method for programming data transfer within a microcontroller | |
Evans et al. | On-line debugging techniques: a survey | |
US5925109A (en) | System for I/O management where I/O operations are determined to be direct or indirect based on hardware coupling manners and/or program privilege modes | |
US6766514B1 (en) | Compiler having real-time tuning, I/O scaling and process test capability | |
Davis | STARAN parallel processor system software | |
KR100512157B1 (en) | Oop based micro controller application development system | |
CN109144849B (en) | Embedded software debugging method | |
KR100303307B1 (en) | Downloading device and method for debugging operation in real time operating system | |
Kirk | C programming for embedded systems | |
Holt et al. | A software development system for microcomputers | |
Hassan et al. | Programming microprocessors with a high level language-the case of PASCAL/64000 | |
Goldberg et al. | The PRIM System: An alternative architecture for emulator development and use | |
Mayer-Lindenberg | Interactive software development for complex embedded systems | |
Barthelmann | Advanced compiling techniques to reduce RAM usage of static operating systems | |
GB2372853A (en) | A method of mode switching wherein the operating mode selected is based on the address from which an instruction is fetched | |
Rooney | Higher level languages-write it once, run it on any microprocessor | |
JPH0383104A (en) | Programmable sequencer | |
Rovegno | UNIX Time‐Sharing System: A Support Environment for MAC‐8 Systems |
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 | ||
LAPS | Lapse due to unpaid annual fee |