• 제목/요약/키워드: Embedded Programming

검색결과 196건 처리시간 0.018초

임베디드 자바 가상머신에서의 가비지 컬렉션 (Garbage Collection on the Embedded Java Virtual Machine)

  • 이상윤;김상욱;최병욱
    • 전자공학회논문지CI
    • /
    • 제43권3호
    • /
    • pp.20-29
    • /
    • 2006
  • 자바 언어는 그 객체지향성, 안전성, 유연성으로 인하여 현재 가장 널리 쓰이는 프로그래밍 언어의 하나가 되었으며, 자바 가상머신이 제공해주는 가비지 컬렉터로 인하여 프로그래머는 메모리 관리에 관한 많은 고민이 줄어들었다. 임베디드 환경에서 역시 자바는 강세를 나타내고 있으며 임베디드 환경의 특성을 반영한 가상 머신과 가비지 컬렉션 기법이 요구되고 있다. 본 논문에서는 힙이라고 불리는 메모리 영역을 크게 젊은 세대와 늙은 세대의 두 부분으로 나누어서 관리하며 각 세대는 그 특성과 요구사항에 적합하도록 각기 다른 기법을 적용한 가비지 컬렉터를 제안한다. 더불어 효과적인 가비지의 식별을 위한 쓰기 장벽과 2중 필터링 기법을 제안하고 있으며, 일반적인 방법으로 회수가 불가능한 순환적 구조의 가비지를 검출하여 회수하기 위한 이중 검사 기법을 제안한다. 제안하는 기법은 임베디드 환경의 요구사항인 객체의 빠른 할당, 동작의 실시간성, 모든 가비지의 회수, 단편화 제거, 높은 지역성 등을 모두 만족한다.

기기 제어를 위한 저가의 초소형 임베디드 웹 서버 (A Lower-cost μ-Embedded Web Server for Controlling the Equipments)

  • 오민정;임성락
    • 정보처리학회논문지A
    • /
    • 제9A권1호
    • /
    • pp.1-8
    • /
    • 2002
  • 대부분의 기존 임베디드 웹 서버 시스템은 어떤 특정 기기를 감시하고 제어하기 위하여 고안되고 있다. 따라서 이들은 범용성 및 유연성이 없을 뿐만 아니라 비교적 가격이 저렴한 가정용 기기를 위해서는 너무 비싸다. 이러한 어려움을 극복하기 위하여 본 논문에서는 인터넷을 이용하여 가정용 혹은 산업용 기기를 감시 및 제어하기에 적합한 저가의 초소형 임베디드 웹 서버의 모델을 제시한다. 제시한 모델은 H/W 및 S/W의 비용을 최소화하기 위하여 ISP 기능과 플래시 롬을 내장한 원 칩 마이크로프로세서를 기본으로 한다. 또한 범용성 및 유연성을 제공하기 위하여 새로운 기능을 동적으로 추가할 수 있도록 한다. 마지막으로 제시한 모델의 활용 가능성을 평가하기 위하여 ATMega103원 칩 마이크로프로세서를 기본으로 한 시험용 보드를 제작하고 제어 프로그램을 작성하여 MS 익스플로러 5.0 환경에서 실험하였다.

모바일 임베디드 소프트웨어 프로세스 개선 프레임워크 (Framework for Improving Mobile Embedded Software Process)

  • 이성욱;김행곤;김성원
    • 인터넷정보학회논문지
    • /
    • 제10권5호
    • /
    • pp.195-209
    • /
    • 2009
  • 유비쿼터스 시대에 핵심인 모바일 임베디드 시스템은 제품의 신뢰성 및 상품성을 위해서 과거에는 하드웨어에 초점을 두었지만 오늘날 소프트웨어에 더 초점을 둔다. CMMI와 SPICE와 같은 프로세스 개선모델은 일반 소프트웨어의 품질향상에서뿐만 아니라, 모바일 임베디드 소프트웨어 품질향상에서 또한 필요하다. 하지만 높은 비용과 무거운 프로세스로 인하여 모바일 임베디드 소프트웨어 프로세스 개선하기는 쉽지 않다. 반면 고객과 소통, 반복 개발의 특징을 가진 XP는 고객의 빈번한 요구 사항과 특정 목적에 따라 하드웨어를 제작하는 모바일 임베디드 소프트웨어 개발에 적합하다. 따라서 본 논문에서는 모바일 임베디드 소프트웨어 개발 조직에서 XP의 실천사항에 기반하여 CMMI 수준 2 또는 3을 달성할 수 있는 소프트웨어 프로세스 개선 프레임워크를 제안한다. 더불어 개선 프레임워크를 지원하는 MESPIS를 설계하고 구현한다. 향후 연구로는 제안한 프레임워크를 실제 프로젝트에 적용하여 결과 분석에 따라 개선하고, 이를 바탕으로 MESPIS의 기능 보강이 필요하다.

  • PDF

원격 제어 기능을 포함한 교육용 모바일 로봇 시스템의 설계 및 구현 (A Design and Implementation of Educational Mobile Robot System including Remote Control Function)

  • 정중수;정광욱
    • 한국컴퓨터정보학회논문지
    • /
    • 제20권4호
    • /
    • pp.33-40
    • /
    • 2015
  • 본 논문에서는 원격 제어 기능을 갖는 교육용 로봇 시스템을 임베디드 환경에서 설계 및 구현하였다. 로봇 시스템의 기반이 되는 센싱 정보 처리와 소프트웨어 설계, 및 프로그래밍 실습 교육을 위한 템프릿 설계 기법을 제시하였다. 시스템의 개발 환경으로 CPU는 Cortex-M3 코어를 사용한 LPC1769 프로세서, 디버깅 환경은 LPCXPRESSO, 펌웨어 개발 언어는 C언어를, OS는 FreeRTOS를 사용하였다. 시스템 동작 과정은 무선 RF 통신을 이용하여 서버의 제어 명령을 수신하여, 교육용 로봇의 다양한 센서를 구동시킨다. 교육 과정으로는 로봇의 기본 동작 프로그램을 제공하여 실습생으로 하여금 컴파일 및 로딩이후 데모 동작을 우선 실행하도록 하였다. 이후 이의 데모 기능의 프로그래밍 기술을 교육하기 위해 단계별로 교육하도록 하였다. 로봇 동작과정에 대한 실습과 그에 대한 프로그래밍 기법이다. 또한 서버와 로봇간 통신 기법은 RF 통신환경에서 독자적인 프로토콜이 설계되었고, 로봇 센싱 데이터 처리과정을 분석하여 만족할 만한 성능 처리 결과를 제시하였다.

C 프로그래밍 언어 학습에 공개 소스 소프트웨어 SDL 활용 사례 연구 (A Case Study on Utilizing Open-Source Software SDL in C Programming Language Learning)

  • 김성득
    • 실천공학교육논문지
    • /
    • 제14권1호
    • /
    • pp.1-10
    • /
    • 2022
  • 전자공학교육에서 C 프로그래밍 언어 학습은 컴퓨터 프로그래밍을 이해하고, 임베디드 시스템에서 마이크로프로세서 활용 능력을 습득하기 위한 중요한 기초 교육 과정이다. 기초적 문법과 알고리즘 이해에 중점을 두기 위해, 콘솔 창에서 C 표준 라이브러리 함수에 기반한 프로그램을 작성하며 이론과 실습을 병행해 학습하는 것이 일반적인 교육방법이다. 그렇지만, C 언어의 기본 지식을 어느 정도 습득한 후 프로젝트 활동을 하거나 더 심화된 단계로 나아가고자 한다면, 콘솔창에서 C 표준 라이브러리 함수만을 사용하는 것은 C 프로그램으로 표현하거나 제어할 수 있는 대상을 한정시키게 된다. 학습자가 그래픽 또는 멀티미디어 리소스를 쉽게 활용해 교육적 가치를 높이기 위한 목적으로, 본 논문에서는 공개 소스 소프트웨어인 Simple DirectMedia Layer (SDL)을 활용하는 방안을 C 프로그래밍 언어 학습 과정에 적용한 사례를 연구한다. 콘솔 창에서 수행하는 기초적 프로그래밍 교육과정을 마친 후에 적용된 SDL활용 프로그래밍 교육 과정을 소개하고, 설문 조사를 통해 교육적 가치를 평가한다. 그 결과, 응답자의 56% 이상이 응용능력개선, 흥미유발, 전반적 유용성 측면에서 긍정적 의견을 표명했으며, 부정적 의견은 4% 이하였다.

임베디드 SQL 기반 정보시스템의 개발 및 관리 방법에 대한 연구 (A Study on the Development and Maintenance of Embedded SQL based Information Systems)

  • 송용욱
    • 한국정보시스템학회지:정보시스템연구
    • /
    • 제19권4호
    • /
    • pp.25-49
    • /
    • 2010
  • As companies introduced ERP (Enterprise Resource Planning) systems since the middle of 1990s, the databases of the companies has become centralized and gigantic. The companies are now developing data-mining based applications on those centralized and gigantic databases for knowledge management. Almost of them are using $Pro^*C$/C++, a embedded SQL programming language, and it's because the $Pro^*C$/C++ is independent of platforms and also fast. However, they suffer from difficulties in development and maintenance due to the characteristics of corporate databases which have intrinsically large number of tables and fields. The purpose of this research is to design and implement a methodology which makes it easier to develop and maintain embedded SQL applications based on relational databases. Firstly, this article analyzes the syntax of $Pro^*C$/C++ and addresses the concept of repetition and duplication which causes the difficulties in development and maintenance of corporate information systems. Then, this article suggests a management architecture of source codes and databases in which a preprocessor generates $Pro^*C$/C++ source codes by referring a DB table specification, which would solve the problem of repetition and duplication. Moreover, this article also suggests another architecture of DB administration in which the preprocessor generates DB administration commands by referring the same table specification, which would solve the problem of repetition and duplication again. The preprocessor, named $PrePro^*C$, has been developed under the UNIX command-line prompt environment to preprocess $Pro^*C$/C++ source codes and SQL administration commands, and is under update to be used in another DB interface environment like ODBC and JDBC, too.

Building Light Weight CORBA Based Middleware for the CAN Bus Systems

  • Hong, Seongsoo
    • Transactions on Control, Automation and Systems Engineering
    • /
    • 제3권3호
    • /
    • pp.181-189
    • /
    • 2001
  • The software components of embedded control systems get extremely complex as they are designed into distributed systems get extremely complex as they are designed into distributed systems consisting of a large number of inexpensive microcontrollers interconnected by low-bandwidth real-time networks such as the controller area network (CAN). While recently emerging middleware technologies such as CORBA and DCOM address the complexity of distributed programming, they cannot be directly applied to distributed control system design due to their excessive resource demand and inadequate communication models. In this paper, we propose a CORBA-based middleware design for CAN-based distributed embedded control systems. Our design goal is to minimize its resource need and make it support group communication without losing the IDL (interface definition language) level compliance to the OMG standards. To achieve this, we develop a transport protocol on the CAN and a group communication scheme based on the well-known publisher/subscriber model. The protocol effectively realizes subject-based addressing and supports anonymous publisher/subscriber communication. We also customize the method invocation and message passing protocol, referred to as the general inter-ORB protocol (GIOP), of CORBA so that CORBA method invocations are efficiently serviced on a low-bandwidth network such as the CAN. This customization includes packed data encoding and variable-length integer encoding for compact representation of IDL data types. We have implemented our CORBA-based middleware on the mArx real-time operating system we have developed at Seoul National University. Our experiments clearly demonstrate that it is feasible to use CORBA in developing distributed embedded control systems possessing severe resource limitations. Our design clearly demonstrates that it is feasible to use a CORBA-based middleware in developing distributed embedded systems on real-time networks possessing severe resource limitations.

  • PDF

임베디드 코어 설계시 효율적인 설계 공간 탐색을 위한 컴파일드 코드 방식 시뮬레이터 생성 시스템 구축 (Construction of a Compiled-code Simulator Generation System for Efficient Design Exploration in Embedded Core Design)

  • 김상우;황선영
    • 한국통신학회논문지
    • /
    • 제36권1B호
    • /
    • pp.71-79
    • /
    • 2011
  • 본 논문은 어플리케이션에 최적화된 임베디드 시스템 설계에 있어 효율적인 설계 공간을 탐색할 수 있도록 머신 기술 언어를 기반으로 한 컴파일드 코드 방식 시뮬레이터 생성 시스템을 제안한다. 제안된 시스템 event-driven 시뮬레이션의 융통성을 유지하면서 많은 시뮬레이션 시간을 소요하는 인스트럭션 펫치와 디코딩 과정을 정적으로 결정하여 빠른 수행시간을 갖는 컴파일드 코드 방식 시뮬레이터를 생성한다. 생성된 시뮬레이터는 임베디드 코어의 성능 측정을 위한 사이클 수준과 인스트럭션 수준의 시뮬레이션을 가진다. 구축된 컴파일드 코드 방식 시뮬레이터 생성기의 효율성을 확인하기 위해 JPEG 인코더 어플리케이션에 대한 아키텍처 탐색을 수행하였다. 제안된 시스템은 MIPS R3000 프로세서의 초기 임베디드 코어로 시작하여 어플리케이션에 최적화된 임베디드 코어를 얻어내었다. 이 과정에서 많은 시뮬레이션 시간이 요구되었다. 사이클 수준 컴파일드 코드 빙식 시뮬레이터는 event-driven 시뮬레이션의 정확성을 가지며 평균 21.7%의 향상된 시뮬레이션의 수행 속도를 보인다.

임베디드 IoT 과목 설계 및 만족도 분석 (Design and Satisfaction Analysis of Embedded IoT Course)

  • 홍준기;백종호;강민구;홍성찬
    • 인터넷정보학회논문지
    • /
    • 제20권5호
    • /
    • pp.19-26
    • /
    • 2019
  • 최근 IoT와 관련 임베디드 기술 연구가 활발히 진행됨에 따른 IoT와 임베디드 교육의 중요성이 부각되고 있다. 따라서 대학에선 효율적인 임베디드 IoT교육과정이 요구된다. 본 논문에선 아두이노와 스마트폰을 사용하본 논문에선 학부 학생들에게 블루투스를 통해 스마트폰과 아두이노 키트를 연결하여 IoT와 임베디드를 학습하는 수업을 제안한다. 제안한 과정의 프로젝트 수행을 통해 학생들의 평균 기말고사 점수는 중간고사 점수보다 증가한 것을 확인하였다. 또한, 학생들의 수업 만족도 결과를 통해 제안한 임베디드 시스템 수업이 학생들에게 IoT와 임베디드 시스템을 이해하는데 매우 효과적이었으며 75%의 학생이 제안한 과목에 만족하는 것을 확인하였다.

임베디드 기기 바이너리 취약점 분석 효율성 제고를 위한 중간어 변환 기술 (Intermediate-Representation Translation Techniques to Improve Vulnerability Analysis Efficiency for Binary Files in Embedded Devices)

  • 정병호;김용혁;배성일;임을규
    • 스마트미디어저널
    • /
    • 제7권1호
    • /
    • pp.37-44
    • /
    • 2018
  • 임베디드 기기는 시퀀스 제어 기능과 수치연산 기능을 활용하여 제어 프로그램에 따라 산업현장의 기기 등 다양한 자동화 시스템에 활용된다. 현재 임베디드 기기는 기업의 산업현장, 원전, 대중교통 같은 국가기반시설에서 제어 시스템으로 활용되고 있다. 따라서 임베디드 기기를 대상으로 하는 공격은 큰 경제적 손실과 사회적 손실을 야기할 수 있다. 임베디드 기기를 대상으로 하는 공격은 대부분 데이터, 코드 변조로서 제어 프로그램을 대상으로 이루어진다. 산업 자동화 임베디드 기기의 제어 프로그램은 일반적인 프로그래밍 언어와 달리 회로 구조를 표현하기 위하여 설계되었고, 대부분의 산업 자동화 제어 프로그램은 그래픽 기반 언어인 LAD로 설계되어있어 정적분석이 용이하지 않다. 이러한 특징으로 인하여 산업 자동화 제어 프로그램에 대한 취약점 분석 및 보안 관련 연구는 정형 검증, 실시간 모니터링 수준에 그친다. 또한 사전에 취약점을 탐지하고 공격에 대한 대비가 가능한 산업 자동화 제어 프로그램 정적분석 연구는 매우 저조한 실정이다. 따라서 본 연구에서는 산업 자동화 임베디드 프로그램에 대한 정적분석 효율성 증대를 위하여 회로 구조를 표현하기 위해 설계된 산업 자동화 제어 프로그램을 논리식으로 표현하기 위한 방법을 제시한다. 또한 다양한 제조사의 산업 자동화 제어 프로그램을 통합적으로 분석하기 위하여 LLVM IR을 활용한 중간어 변환 기술을 제안한다. LLVM IR을 활용함으로서 동적 분석에 대한 통합분석이 가능하다. 본 연구에서는 해당 방법에 대한 검증을 위하여 S 사(社)의 제어 프로그램을 대상으로 하여 논리식 형태의 중간어로 변환하는 프로그램의 시제품을 개발하였다.