KR101019688B1 - 고레벨 언어 기반 임베디드 시스템 - Google Patents

고레벨 언어 기반 임베디드 시스템 Download PDF

Info

Publication number
KR101019688B1
KR101019688B1 KR1020080038074A KR20080038074A KR101019688B1 KR 101019688 B1 KR101019688 B1 KR 101019688B1 KR 1020080038074 A KR1020080038074 A KR 1020080038074A KR 20080038074 A KR20080038074 A KR 20080038074A KR 101019688 B1 KR101019688 B1 KR 101019688B1
Authority
KR
South Korea
Prior art keywords
level language
software
embedded system
event
high level
Prior art date
Application number
KR1020080038074A
Other languages
English (en)
Other versions
KR20090112279A (ko
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 KR1020080038074A priority Critical patent/KR101019688B1/ko
Publication of KR20090112279A publication Critical patent/KR20090112279A/ko
Application granted granted Critical
Publication of KR101019688B1 publication Critical patent/KR101019688B1/ko

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages

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

본 발명은 고레벨 언어를 이용한 임베디드 시스템에 관한 것으로, 하드웨어를 컨트롤하기 위한 임베디드 시스템을 구현하기 위하여 저레벨 언어로 프로그래밍한 중간 소프트웨어를 구성하고, 상기 중간 소프트웨어를 컨트롤하기 위한 고레벨 언어로 구현하도록 하여 결과적으로 고레벨 언어를 이용하여 하드웨어를 컨트롤할 수 있도록 하는 고레벨 언어 기반 임베디드 시스템을 달성하기 위하여, 사용자의 명령에 따라 제어되고 상기 명령에 따른 역할을 수행할 수 있도록 구성되는 고레벨 언어로 구성되는 컨트롤 소프트웨어, 상기 컨트롤 소프트웨어와 통신을 수행하며 상기 컨트롤 소프트웨어로부터 제공되는 명령을 수행하고 필요에 따라 상기 컨트롤 소프트웨어로 각종 정보를 제공하는 기능을 수행하는 저레벨 언어로 구성되는 중간 소프트웨어, 상기 중간 소프트웨어의 컨트롤을 받고 중간 소프트웨어의 명령에 따른 명령 수행 결과를 피드백하는 기능을 수행하는 하드웨어를 포함하여 구성되는 것을 특징으로 한다.
임베디드 시스템, 임베디드 디바이스 인터페이스(EDI), JAVA API

Description

고레벨 언어 기반 임베디드 시스템{EMBEDDED SYSTEM BASED ON HIGH LEVEL PROGRAMMING LANGUAGE}
본 발명은 고레벨 언어를 이용한 임베디드 시스템에 관한 것으로, 더욱 상세하게는 하드웨어를 컨트롤하기 위한 임베디드 시스템을 구현하기 위하여 저레벨 언어로 프로그래밍한 중간 소프트웨어를 구성하고, 상기 중간 소프트웨어를 컨트롤하기 위한 고레벨 언어로 구현하도록 하여 결과적으로 고레벨 언어를 이용하여 하드웨어를 컨트롤할 수 있도록 하는 고레벨 언어 기반 임베디드 시스템에 관한 것이다.
임베디드 시스템은 시스템을 동작시키는 소프트웨어를 하드웨어에 내장하여 특수한 기능만을 가진 시스템을 말하며, 개인용 컴퓨터와 달리 특정한 요구사항이 있으며, 미리 정의된 작업만을 수행한다.
개인용 컴퓨터가 하드디스크와 같은 대용량 저장장치에 운영체제를 내장하고 있는 것과 달리 임베디드 시스템은 오에스(OS)와 응용 프로그램들이 롬(ROM:Flash)에 이미지 형태로 저장되어 있다가 부팅과 동시에 램 디스크(RAM Disk)를 만든 후, 램(RAM) 디스크 상에 오에스(OS)와 응용프로그램들이 구동되는 시스템이다.
이러한 임베디드 시스템의 예로 피디에이(PDA), 휴대전화, 스마트폰, 디지털 티브이(TV), 피엠피(PMP), 디브이알(DVR), 네비게이터, 산업용 컨트롤러, 디지털 카메라, 유에스비(USB) 저장장치, 전기밥솥, 냉장고, 엠피쓰리(MP3)플레이어 등이 있다.
임베디드 시스템에는 에이알엠(ARM), 엠아이피에스(MIPS), 콜드파이어(Coldfire/68K), 파워피씨(PowerPC), 엑스팔육(X86), 피아이씨(PIC), 팔공오일(8051)등 많은 다양한 씨피유(CPU) 아키텍처가 사용된다.
임베디드 시스템 개발을 위해서 일반적인 컴퓨터 프로그래머가 그렇듯이, 임베디드 시스템 설계자들도 프로그래밍을 위해 컴파일러, 어셈블러, 디버거 등을 사용한다.
임베디드 기반으로 소프트웨어를 개발하는 과정은 일반적으로 피씨(PC)기반의 개발에 비하여 많은 시간을 요구한다.
이는 코어의 실행 속도나 디버깅의 용이성도 문제가 될 수 있으나, 컨텐츠 제공자의 경우 고가의 디버거를 지니고 있지 아니하는 것이 보통이며, 임베디드 기반의 환경에 대한 이해가 부족하기 때문이다.
따라서 임베디드 시스템에서 사용될 프로그램을 개발하는 경우에 C나 C++을 통해 호스트 컴퓨터에서 개발을 하고, 타겟 시스템으로 업로드시키는 방식으로 개발하게 된다.
C나 C++은 언어의 특성상 임베디드 시스템 개발자들이 운영체제에서 하드웨어까지 다양한 기술을 습득한 전문 개발자들이나 가능한 작업들이 많았고, 불편한 점이 많았다.
본 발명은 고레벨 언어를 이용한 임베디드 시스템에 관한 것으로, 더욱 상세하게는 하드웨어를 컨트롤하기 위한 임베디드 시스템을 구현하기 위하여 저레벨 언어로 프로그래밍한 중간 소프트웨어를 구성하고 상기 중간 소프트웨어를 컨트롤하기 위한 고레벨 언어로 구현하도록 하여 결과적으로 고레벨 언어를 이용하여 하드웨어를 컨트롤할 수 있도록 하는 고레벨 언어 기반 임베디드 시스템에 관한 것이다.
본 발명의 목적은 고레벨 언어를 이용하여 하드웨어를 컨트롤할 수 있도록 하는 임베디드 시스템을 달성하는 것이다.
이를 위하여 본 발명에 따른 고레벨 언어 기반 임베디드 시스템은 사용자의 명령에 따라 제어되고, 상기 명령에 따른 역할을 수행할 수 있도록 구성되는 고레벨 언어로 구성되는 컨트롤 소프트웨어; 상기 컨트롤 소프트웨어와 통신을 수행하며, 상기 컨트롤 소프트웨어로부터 제공되는 명령을 수행하고, 상기 컨트롤 소프트웨어로 각종 정보를 제공하는 기능을 수행하는 저레벨 언어로 구성되는 중간 소프트웨어; 상기 중간 소프트웨어의 컨트롤을 받고 중간 소프트웨어의 명령에 따른 명령 수행 결과를 피드백하는 기능을 수행하는 하드웨어;를 포함하여 구성되는 고레벨 언어 기반 임베디드 시스템에 있어서,
상기 중간 소프트웨어는 상기 하드웨어를 직접 실행시키는 이벤트 디바이스 드라이버(Event Device Driver)와; 상기 이벤트 디바이스 드라이버를 감시하면서 이벤트 디바이스 드라이버로부터 시그널을 감지할 경우 이벤트 객체를 생성하도록 저레벨 언어로 구성된 라이브러리(Library)와; 상기 라이브러리로부터 생성된 이벤트를 JNI 인터페이스를 통하여 전달받아 이벤트 정보를 인식하는 JNI 이벤트 디바이스 브릿지(JNI Event Device Bridge)를 포함하여 이루어지는 것을 특징으로 한다.
또한, 상기 저레벨 언어는 기계어, 어셈블러, C, C++ 중의 하나인 것을 특징으로 한다.
또한, 상기 고레벨 언어는 BASIC, FORTRAN, COBOL, Pascal, ADA, JAVA 중의 하나인 것을 특징으로 한다.
또한, 상기 중간 소프트웨어는 정의부와 구현부로 구성되고 상기 정의부는, 받기, 보내기, 모니터링, 이벤트, 상태변경, 상태호출 중 하나 이상을 포함하여 구성되는 것을 특징으로 한다.
또한, 상기 중간 소프트웨어를 통합하기 위하여, 디스플레이, 인풋, 네트워크가 하나의 소프트웨어로 통일화되어 있는 것을 특징으로 한다.
본 발명의 목적을 달성하기 위하여 구성된 본 발명은 고레벨 언어를 이용하여 하드웨어를 컨트롤할 수 있도록 하는 임베디드 시스템을 달성하는 특징이 있다.
이상에서 설명한 것은 본 발명에 따른 하나의 실시예에 불과한 것으로서, 본 발명은 상기한 실시예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 바와 같이 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.
이하 첨부된 도면을 참조하면서 본 발명의 구성 및 구조에 대하여 상세하게 설명하도록 한다.
도 1은 본 발명에 의한 임베디드 시스템의 자바 프로그램 개발을 위한 이디아이(EDI)와 자바 에이피아이(JAVA API)의 구성을 도시하고 있는 것으로 임베디드 시스템은 하나의 기계를 동작시키기 위한 프로그램으로 프로그램이 설치되는 대상인 기계, 즉, 하드웨어의 동작만을 위한 프로그램으로 이해할 수 있으며, 이러한 기능은 범용적으로 사용되는 오퍼레이팅 시스템(OS)와 대별하여 이해할 수 있다.
즉, 상기 하드웨어를 자동으로 컨트롤되는 모터라고 가정한 상태에서 임베디드 시스템이 장착된 하드웨어의 경우 외부로부터 정보를 공급받아 상기 모터를 동작시키거나 정지시키는 과정을 수행하게 되며, 임베디드 시스템의 프로그램에 따라 모터를 동작시키는 동작 조건을 시간 내지는 모터를 통하여 작동하는 기계의 동작 범위 등으로 한정하여 사용하는 것과 같이 자동화하는 것도 가능할 것이다.
이러한 기능은 모터 동작에 한정되어 있으므로 이를 동작하기 위한 기본적인 하드웨어, 즉, CPU와 램 및 롬 등 간단한 구성을 통해 모터를 자동화하여 사용할 수 있다는 장점이 있으나, 대상인 모터 이외의 하드웨어에 적용하기 위해서는 별도로 프로그램을 각기 개발하여야 하는 단점이 있어서 범용 프로그램과는 대별되는 개념이라 하겠다.
상기 도면을 살펴보면 먼저 도시된 도면은 실제로 목적의 대상인 하드웨어와 프로그램 개발자가 사용하는 언어의 중간자적인 역할을 수행하는 특징이 있으며, 상기 중간자를 새롭게 개발함에 따라 기존에는 임베디드 시스템을 개발하기 위하여는 저레벨 언어를 사용하여야 하는 문제점이 있어서 상기 저레벨 언어를 습득하기 위한 많은 시간과 노력을 필요로 하였으나 중간자로서의 역할을 수행하는 시스템을 개발함에 따라 고레벨 언어를 이용하여서도 결과적으로 하드웨어를 컨트롤하기 위한 임베디드 시스템을 개발할 수 있도록 하게 되는 것이다.
도 2는 본 발명에 의한 임베디드 시스템의 이벤트 기반의 디바이스와 자바 클라이언트(JAVA Client) 간의 상호작용 흐름도를 도시하고 있는데, 이벤트 기반 디바이스란 버튼과 같은 사용자 상호작용을 통하여 발생하는 특정 상황을 이벤트로 보고, 실제 디바이스의 상태를 계속 감시하여 어떠한 상황이 발생할 경우 이벤트 디바이스 브릿지에게 제이엔아이(JNI) 인터페이스를 통하여 전달하게 되어, 자바 클라이언트(JAVA Client)는 이 이벤트 디바이스 브릿지를 통하여 어떠한 상황인지 인지를 할 수 있게 되는 특징이 있는 것이다.
도 3은 본 발명에 의한 임베디드 시스템의 버튼 디바이스와 자바 클라이언트(JAVA Client) 간의 상호작용 흐름도를 도시하고 있는 것으로, 이벤트 기반 디바이스와 자바 클라이언트(JAVA Client) 상호작용을 버튼 디바이스를 통하여 도시하고 있는 것이다.
버튼 훅(ButtonHook) 라이브러리는 버튼 디바이스 드라이버를 계속 예의주시하다가 특정 시그널을 감지할 경우 버튼 이벤트(Button Event)라는 객체를 생성 후 발생한 이벤트 속성을 저장 후 버튼 이벤트 리스너(Button Event Listener)에게 전달해 주게 된다.
자바 클라이언트는 이러한 내용을 알 필요없이 단지 버튼 이벤트 리스너 (Button Event Listener) 구현만으로 버튼 디바이스를 이벤트 상황(누름, 해제)에 관련된 작업만 프로그래밍하게 할 수 있게 된다.
이러한 과정의 특징은 먼저 하드웨어를 직접적으로 컨트롤하기 위한 버튼 디바이스 드라이버(Button Device Driver)가 제공되고, 상기 버튼 디바이스 드라이버와 버튼 훅 라이브러리(Button Hook Library)가 정보를 교환하고 반응하는 역할을 수행하며, 상기 버튼 훅 라이브러리로부터 버튼 이벤트(Button Event)가 발생하여 어떤 이벤트 인지 확인하는 것이 가능하게 되며 이를 인식하기 위한 버튼 이벤트 리스너(Button Event Listener)의 활성화로 자바 사용자는 이벤트 발생을 확인할 수 있게 되는 것이다.
따라서, 본 발명에서의 대상은 버튼 이벤트 리스너부(Button Event Listener)와 버튼 이벤트부(Button Event)와 버튼훅 라이브러리(Button Hook Library) 부분인 것이며, 이러한 구조의 특징은 먼저 하드웨어를 동작하기 위하여는 C 또는 C++과 같은 저레벨 언어를 이용하여 임베디드 시스템을 구축하여야 하나 이러한 저레벨 언어를 사용하기 위해서는 고도로 숙련된 기술, 노하우 또는 지식이 필요하므로 많은 노력이 필요했던 것인데, 본 발명에서는 하드웨어와 자바 사이의 중간 개체를 개발함으로써 자바를 이용하여 중간 개체를 컨트롤하고, 중간 개체가 하드웨어를 컨트롤함으로써 결과적으로 기존에는 어려웠던 자바를 이용한 하드웨어 컨트롤할 수 있게 된 것이다.
그러므로 본 발명의 가장 기본적인 구성은 하드웨어와 상기 하드웨어를 컨트롤하기 위한 저레벨 언어로 구현되는 중간 소프트웨어, 상기 중간 소프트웨어를 컨트롤하기 위하여 고레벨 언어로 구현되는 컨트롤 소프트웨어로 구현될 수 있으며, 임베디드 시스템 개발자는 상기 고레벨 언어를 프로그래밍하여 중간 소프트웨어를 컨트롤할 수 있도록 함으로써 더욱 효과적으로 임베디드 시스템을 달성할 수 있도록 구성되어 있는 것이다.
상기 고레벨 언어와 저레벨 언어의 구분을 살펴보면 프로그래밍 언어가 고 레벨일수록 습득하기가 간편한 언어인데, 상기 저레벨 언어는 기계어, 어셈블러, C, C++등이 포함될 수 있고, 상기 고레벨 언어는 BASIC, FORTRAN, COBOL, Pascal, ADA, JAVA 등이 포함될 수 있다.
여기에서 상기 버튼 훅 라이브러리는 정의부와 구현부로 구성되게 되는데, 구현부의 경우 다양한 방법을 통해 달성가능하다 할 수 있고, 정의부의 경우 직접적인 라이브러리의 역할을 수행하므로 별도의 정의 과정이 필요하다 하겠다.
정의부를 살펴보면 먼저 "받기"를 들 수 있는데 상기 받기와 같은 정의는 하드웨어와 데이터를 수신받는 역할을 수행하도록 하는 것이며, "보내기"와 같은 정의는 다른 하드웨어로부터 종단 하드웨어로 정보를 전송하는 부분에 대한 정의이다.
"모니터링"의 정의에 있어서 자신의 하드웨어를 검사하는 역할을 수행하도록 하는 정의인데 이러한 과정은 하드웨어와 소프트웨어 중간 사이의 메모리인 버퍼를 검사함으로써 달성하게 된다.
"버튼"의 정의에 있어서는 외부로부터 키(KEY)가 입력되는 것을 의미하는 것으로 기계 사용자가 기계를 사용하면서 기계에 부착된 버튼을 누르게 되면 정보가 생성되는 것을 의미하는 것으로 지피아오(GPIO: General Purpose Input Output)을 의미하게 된다.
또한, "상태변경"은 메모리 값 변경으로 디스플레이 상태를 의미하는 것으로 하드웨어 내의 메모리 값을 표현하는 것이며, 기 정의된 코드에 대하여 사용자가 정의할 선언으로 구분하여 설명할 수 있는데, 예를 들어 다섯 개의 엘이디중 하나가 발광하였을 때 발광되지 않은 값은 "0"이며 발광된 엘이디는 "1"로 표시하는 것과 같은 것을 의미한다 하겠다.
마지막으로 "상태호출"이 있는데 상기 상태 호출은 기 정의된 값을 호출하는 것을 의미하는 것이라 하겠다.
도 4는 본 발명에 의한 임베디드 시스템의 캐릭터 엘씨디(CharacterLCD) 디바이스와 자바 클라이언트(JAVA Client) 간의 상호작용 흐름도로서 임베디드 장비에 있어서 상당히 많은 처리를 하여야하는 디바이스중 하나인 디스플레이 디바이스 인데, 상기 도 4는 헬로(Hello)라는 문구 하나를 처리하기 위한 절차를 보여주는데 실제로는 더욱 많은 작업이 있어야하는 것인지를 간단하게 도시한 것이라 하겠다.
엡스트랙트 캐릭터 엘씨디(AbstractCharacterLCD)는 캐릭터 엘씨디(Charac- terLCD)에 관련된 일련의 작업들을 정의하여 디바이스 드라이버 개발자와 클라이언트 프로그램 개발자가 상대방의 기본 지식없이 프로그램이 가능하도록 하기 위한 추상 클래스이다.
이 역시 디바이스를 컨트롤하기위한 라이브러리와 자바 에이피아이(API)인 캐릭터 엘씨디(CharacterLCD) 그리고 실제 디스플레이에 관련된 커맨드등을 상위 레벨에서 프로그래밍하기 쉽도록 되어있는 추상 디스플레이 디바이스 엘씨디 투(LCD_II)로 나타나있다.
디스플레이에 문자를 쓰기 위한 단계는 처음 디스플레이를 켰을 경우 초기화, 대기, 쓰기 위한 커서의 이동, 대기, 문자의 삽입, 대기와 같은 순서를 같게 된다.
“대기”가 계속 나타나는 이유는 명령 후 디스플레이에서 다음 처리를 받아 들이기 위한 딜레이가 있기 때문이다.
이 에이피아이(API)를 사용할 경우 이런 절차를 다 자동으로 처리해주기 때문에 처음 실행 시 초기화 한번 한 후 다음부터는 커서 이동, 문자 삽입으로 단순화시킬 수 있게 된다.
도 5는 본 발명에 의한 임베디드 시스템의 지비(Zigbee:CC2420) 디바이스와 자바 클라이언트(JAVA Client) 간의 상호작용 흐름도를 도시하고 있는 것으로, 이벤트 기반 디바이스와 거의 비슷하지만 추가적으로 입력만이 아니라 출력이 있기 때문에 약간 다른 기능을 가진다.
그림은 데이터가 들어올 경우 어떻게 처리되어 지는지를 보여주고 있는데 하위 레벨의 통신 디바이스의 경우 들어오는 데이터가 무슨 형인지 전혀 관련하지 않는다.
이를 나타내주기 위해 아이 패킷(IPacket)이라는 클래스를 통해 단순화를 시키고 이를 상속하여 여러 방식의 패킷타입을 구성할 수 있도록 되어있고, 자바 프로그램에서는 단순히 데이터를 받거나 출력을 할 수 있도록 아이 커뮤니케이션 디바이스(ICommunicationDevice)의 인터페이스를 통하여 프로그래밍할 수 있도록 구성되어 있는 것이다.
추가로 여기에서 통일화 작업을 생각해 볼 수 있는데, 예를 들어 디스플레이 파일과 인풋 파일과 네트워크 파일을 생각해 볼 때 각각의 기능을 위한 소프트웨어를 개발하여야 하는 문제를 해결하기 위하여 일차적으로 통일화된 소프트웨어를 제공하되 하나의 소프트웨어에서 명령 값 등의 변화에 따라 각각의 역할을 수행할 수 있도록 하게 되면 유사한 구조가 포함되는 여러 종류의 소프트웨어를 개발하여야 하는 문제를 해소할 수 있게 될 것이다.
이러한 과정이 필요한 것은 일반적으로 고레벨 언어를 이용하여 임베디드 시스템을 구축하는 것이 어려운 게 사실인데 이러한 문제를 극복하기 위하여 저레벨 언어로 중간 프로그램을 구축하고 고레벨 언어로 중간 프로그램을 컨트롤 할 수 있도록 함으로써 결과적으로 고레벨 언어로 임베디드 시스템을 달성할 수 있도록 한 특징이 있다 하겠다.
본 발명의 목적을 달성하기 위하여 구비된 각 구성은 본 발명의 목적을 효과적으로 달성하는 효과가 있으므로 산업화하여 생산하게 될 경우 국 내외적으로 수입대체효과 및 수출효과에 있어서 큰 경제적 효과를 달성할 것으로 기대되는바 크다 하겠다.
도 1은 본 발명에 의한 임베디드 시스템의 자바 프로그램 개발을 위한 EDI와 JAVA API의 구성
도 2는 본 발명에 의한 임베디드 시스템의 이벤트 기반의 디바이스와 JAVA Client 간의 상호작용 흐름도
도 3은 본 발명에 의한 임베디드 시스템의 버튼 디바이스와 JAVA Client 간의 상호작용 흐름도
도 4는 본 발명에 의한 임베디드 시스템의 CharacterLCD 디바이스와 JAVA Client 간의 상호작용 흐름도
도 5는 본 발명에 의한 임베디드 시스템의 Zigbee(CC2420) 디바이스와 JAVA Client 간의 상호작용 흐름도

Claims (5)

  1. 사용자의 명령에 따라 제어되고, 상기 명령에 따른 역할을 수행할 수 있도록 구성되는 고레벨 언어로 구성되는 컨트롤 소프트웨어; 상기 컨트롤 소프트웨어와 통신을 수행하며, 상기 컨트롤 소프트웨어로부터 제공되는 명령을 수행하고, 상기 컨트롤 소프트웨어로 각종 정보를 제공하는 기능을 수행하는 저레벨 언어로 구성되는 중간 소프트웨어; 상기 중간 소프트웨어의 컨트롤을 받고 중간 소프트웨어의 명령에 따른 명령 수행 결과를 피드백하는 기능을 수행하는 하드웨어;를 포함하여 구성되는 고레벨 언어 기반 임베디드 시스템에 있어서,
    상기 중간 소프트웨어는 상기 하드웨어를 직접 실행시키는 이벤트 디바이스 드라이버(Event Device Driver)와; 상기 이벤트 디바이스 드라이버를 감시하면서 이벤트 디바이스 드라이버로부터 시그널을 감지할 경우 이벤트 객체를 생성하도록 저레벨 언어로 구성된 라이브러리(Library)와; 상기 라이브러리로부터 생성된 이벤트를 JNI 인터페이스를 통하여 전달받아 이벤트 정보를 인식하는 JNI 이벤트 디바이스 브릿지(JNI Event Device Bridge)를 포함하여 이루어지는 것을 특징으로 하는 고레벨 언어 기반 임베디드 시스템.
  2. 제1항에 있어서, 상기 저레벨 언어는 기계어, 어셈블러, C 또는 C++ 중의 하나인 것을 특징으로 하는 고레벨 언어 기반 임베디드 시스템.
  3. 제1항에 있어서, 상기 고레벨 언어는 BASIC, FORTRAN, COBOL, Pascal, ADA 또는 JAVA 중의 하나인 것을 특징으로 하는 고레벨 언어 기반 임베디드 시스템.
  4. 제1항에 있어서, 상기 중간 소프트웨어는 정의부와 구현부로 구성되고, 상기 정의부는 받기, 보내기, 모니터링, 버튼, 상태변경, 상태호출 중 하나 이상을 포함하여 구성되는 것을 특징으로 하는 고레벨 언어 기반 임베디드 시스템.
  5. 제1항에 있어서, 상기 중간 소프트웨어를 통합하기 위하여, 디스플레이, 인풋, 네트워크가 하나의 소프트웨어로 통일화되어 있는 것을 특징으로 하는 고레벨 언어 기반 임베디드 시스템.
KR1020080038074A 2008-04-24 2008-04-24 고레벨 언어 기반 임베디드 시스템 KR101019688B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080038074A KR101019688B1 (ko) 2008-04-24 2008-04-24 고레벨 언어 기반 임베디드 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080038074A KR101019688B1 (ko) 2008-04-24 2008-04-24 고레벨 언어 기반 임베디드 시스템

Publications (2)

Publication Number Publication Date
KR20090112279A KR20090112279A (ko) 2009-10-28
KR101019688B1 true KR101019688B1 (ko) 2011-03-07

Family

ID=41553481

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080038074A KR101019688B1 (ko) 2008-04-24 2008-04-24 고레벨 언어 기반 임베디드 시스템

Country Status (1)

Country Link
KR (1) KR101019688B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160089644A (ko) 2015-01-20 2016-07-28 (주)유미테크 형태소 분석, 구문 분석 서비스를 위한 오픈 에이피아이 웹 서비스 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06250833A (ja) * 1993-02-25 1994-09-09 Hitachi Ltd マルチ言語対応データ項目情報処理方法
KR20050001472A (ko) * 2003-06-26 2005-01-06 마이크로소프트 코포레이션 소프트웨어 개발 툴 생성 방법
KR20060108069A (ko) * 2005-04-12 2006-10-17 한국문화콘텐츠진흥원 임베디드 시스템의 씨 기반 그래픽 렌더러가 이용된 자바플랫폼용 모바일 3차원 그래픽 엔진 및 그를 이용한 3차원그래픽 구현방법
KR20070058951A (ko) * 2005-12-05 2007-06-11 한국전자통신연구원 임베디드 시스템용 자바 라이브러리의 재구조화 방법 및장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06250833A (ja) * 1993-02-25 1994-09-09 Hitachi Ltd マルチ言語対応データ項目情報処理方法
KR20050001472A (ko) * 2003-06-26 2005-01-06 마이크로소프트 코포레이션 소프트웨어 개발 툴 생성 방법
KR20060108069A (ko) * 2005-04-12 2006-10-17 한국문화콘텐츠진흥원 임베디드 시스템의 씨 기반 그래픽 렌더러가 이용된 자바플랫폼용 모바일 3차원 그래픽 엔진 및 그를 이용한 3차원그래픽 구현방법
KR20070058951A (ko) * 2005-12-05 2007-06-11 한국전자통신연구원 임베디드 시스템용 자바 라이브러리의 재구조화 방법 및장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160089644A (ko) 2015-01-20 2016-07-28 (주)유미테크 형태소 분석, 구문 분석 서비스를 위한 오픈 에이피아이 웹 서비스 시스템

Also Published As

Publication number Publication date
KR20090112279A (ko) 2009-10-28

Similar Documents

Publication Publication Date Title
CN110096338B (zh) 智能合约执行方法、装置、设备及介质
US8407717B2 (en) Parallel processing method for dual operating system
US9459988B2 (en) Dynamic code switching in debugging process
US20120323553A1 (en) Mobile Emulator Integration
CN110716715A (zh) 一种应用程序开发方法、装置、设备及介质
US10789192B2 (en) System and method for programming data transfer within a microcontroller
CN104050080A (zh) 用户态调试linux内核的方法及系统
EP3008604A1 (en) Unified extensible firmware interface (uefi) driver and protocol
US9817671B2 (en) Rule-based activation of behaviors in an extensible software application
KR100654428B1 (ko) 자바 프로그램의 처리 속도를 향상시키는 시스템 및 그 방법
TW202403541A (zh) 第三方行動應用程式中引入小程序的系統、方法、裝置及介質
US8694961B2 (en) Thread-agile execution of dynamic programming language programs
KR101019688B1 (ko) 고레벨 언어 기반 임베디드 시스템
KR20130020135A (ko) 통합 개발 환경에서의 코드 동시 개발자 리스트 제공 시스템 및 방법
US10599493B2 (en) Method and module in operating system for controlling hardware device
CN104714806A (zh) 基于人机界面系统的脚本处理方法及装置
KR20020032256A (ko) 통합 임베디드 시스템 및 이의 구현 방법
CN101382903A (zh) 智能密钥设备实现自动安装的方法和系统
KR100952762B1 (ko) 디지털 시그널 프로세서의 실시간 디버깅 방법
CN113279154B (zh) 缝纫设备的指令执行方法、装置、终端设备及介质
US11354433B1 (en) Dynamic taint tracking on mobile devices
TWI637277B (zh) 標準程式語言腳本架構結合虛擬機的控制方法及程式產品
US8490063B2 (en) Debugging extensible markup language
KR20160081200A (ko) 스크립트 기반 마이크로컨트롤러 펌웨어 개발 플랫폼
CN113228172A (zh) 直接内存访问控制方法、系统、计算机设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140129

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150216

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160222

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170210

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181219

Year of fee payment: 9