Microsoft PowerPoint - Introduction.pptx

Similar documents
untitled

ESP1ºÎ-04

6주차.key

<4D F736F F F696E74202D20322DBDC7BDC3B0A320BFEEBFB5C3BCC1A6>

Microsoft PowerPoint - 03-Development-Environment-2.ppt

슬라이드 제목 없음

기술 이력서 2.0

PCServerMgmt7

PowerPoint 프레젠테이션

목차 운영체제운영체제종류실시간시스템임베디드운영체제임베디드운영체제의개념임베디드리눅스리눅스리눅스부팅과정리눅스디렉토리구조리눅스디렉토리설명리눅스파일시스템리눅스소프트웨어패키지리눅스컴파일러 1

임베디드시스템설계강의자료 2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

KEY 디바이스 드라이버

개발목표 프로젝트주제 상용게임기를이용한임베디드소프트웨어교육환경구성 프로젝트목표 닌텐도 DS와같은상용게임기하드웨어를이용하여마이크로프로세서또는임베디드소프트웨어교육실습을수행하기위한개발환경을구성 WIFI USB Serial Eclipse 상용게임기 ( 타겟시스템 ) PC (W

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

슬라이드 1

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

슬라이드 1

PowerPoint 프레젠테이션

APOGEE Insight_KR_Base_3P11

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft Word - 임베디드월드_WindowsEmbeddedCompact7_rev

Here is a "PLDWorld.com"... // EXCALIBUR... // Additional Resources // µc/os-ii... Page 1 of 23 Additional Resources: µc/os-ii Author: Source: HiTEL D

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

Microsoft PowerPoint - 03.OS.pptx

<4D F736F F F696E74202D C465F4B6F F6E662DB8AEB4AABDBABFA1BCADC0C7BDC7BDC3B0A3C1F6BFF8>

제11장 프로세스와 쓰레드

08 KRS R1.hwp

Microsoft Word _whitepaper_latency_throughput_v1.0.1_for_

PowerPoint 프레젠테이션

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

망고100 보드로 놀아보자-4

Microsoft PowerPoint - 발표_090513_IBM세미나_IPTV_디디오넷_완료.ppt

2013년 1회 정보처리산업기사 실기.hwp

1. 기술배경 NFV는 Consortium of Service Provider들에의해서만들어졌다. 현재 Network Operation은규모가큰전용 Hardware appliances가계속해서증가하고있다. 새로운 Network Service를 Launching할때마다에

리눅스 프로세스 관리

KDTÁ¾ÇÕ-2-07/03

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

PowerPoint 프레젠테이션

Chapter. 5 Embedded System I Bootloader, Kernel, Ramdisk Professor. Jaeheung, Lee

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

스마트폰 저렴하게 구매하는곳

<4D F736F F F696E74202D20BBE7BABB202D204F DC7C1B7CEBCBCBDBA20BDBAC4C9C1D9B8B528BAF1BCB1C1A12CBCB1C1A1292E707074>

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Figure 5.01

Æí¶÷4-¼Ö·ç¼Çc03ÖÁ¾š

서현수

PowerPoint 프레젠테이션

<목 차 > 제 1장 일반사항 4 I.사업의 개요 4 1.사업명 4 2.사업의 목적 4 3.입찰 방식 4 4.입찰 참가 자격 4 5.사업 및 계약 기간 5 6.추진 일정 6 7.사업 범위 및 내용 6 II.사업시행 주요 요건 8 1.사업시행 조건 8 2.계약보증 9 3

Microsoft PowerPoint - 02-Development-Environment-1.ppt

안전을 위한 주의사항 제품을 올바르게 사용하여 위험이나 재산상의 피해를 미리 막기 위한 내용이므로 반드시 지켜 주시기 바랍니다. 2 경고 설치 관련 지시사항을 위반했을 때 심각한 상해가 발생하거나 사망에 이를 가능성이 있는 경우 설치하기 전에 반드시 본 기기의 전원을

PowerPoint 프레젠테이션

PowerPoint Presentation

DE1-SoC Board

vm-웨어-앞부속

PowerPoint 프레젠테이션

歯J PDF

1. GigE Camera Interface를 위한 최소 PC 사양 CPU : Intel Core 2 Duo, 2.4GHz이상 RAM : 2GB 이상 LANcard : Intel PRO/1000xT 이상 VGA : PCI x 16, VRAM DDR2 RAM 256MB

Sun Java System Messaging Server 63 64

4S 1차년도 평가 발표자료

Chap06(Interprocess Communication).PDF

1217 WebTrafMon II

MDS 08.indd

슬라이드 1

ConnectCore i.mx53 / Wi-i.MX53 Freescale i.mx53 Cortex A8 system-on-module 네트워크가가능한 i.mx53 ConnectCore는새로운프리스케일 i.mx53 Application 프로세서기반인고성능 32-bit S

Windows Embedded Compact 2013 [그림 1]은 Windows CE 로 알려진 Microsoft의 Windows Embedded Compact OS의 history를 보여주고 있다. [표 1] 은 각 Windows CE 버전들의 주요 특징들을 담고

untitled

5" TFT- LCD 및감압터치지원 : 800x480 USB Host 2.0, USB OTG 2.0, GPS, Wireless LAN, Ethernet 10/100Mbps 통신지원 300 만화소 CMOS Image Sensor 고해상도카메라모듈내장 전원은베이스보드에서공

¿ÀǼҽº°¡À̵å1 -new

untitled

vm-웨어-01장

기초에서 활용까지 윈도우즈 임베디드 CE 프로그래밍

Mango220 Android How to compile and Transfer image to Target

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

Microsoft Word - MV210_CPUSpec.doc


SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

목차 1. 개요 USB 드라이버 설치 (FTDI DRIVER) FTDI DRIVER 실행파일 USB 드라이버 확인방법 DEVICE-PROGRAMMER 설치 DEVICE-PROGRAMMER

초보자를 위한 C++

Microsoft PowerPoint - o4.pptx

JVM 메모리구조

PowerPoint 프레젠테이션

(SW3704) Gingerbread Source Build & Working Guide

WinCE 실험실습 #1

다음 사항을 꼭 확인하세요! 도움말 안내 - 본 도움말에는 iodd2511 조작방법 및 활용법이 적혀 있습니다. - 본 제품 사용 전에 안전을 위한 주의사항 을 반드시 숙지하십시오. - 문제가 발생하면 문제해결 을 참조하십시오. 중요한 Data 는 항상 백업 하십시오.

모바일 안드로이드 아키텍처

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

<4D F736F F F696E74202D20C0BDBCBA484D4920C0FBBFEB20C5DAB7B9B8C5C6BDBDBA20B4DCB8BBB1E228B9DFC7A5C0DAB7E129>

강연자소개 대외활동 동호회설립및운영자 (2004 년 12 월설립 ) 운영진 고현철, 김재훈, 유형목, 와함께국내에몇개남지않은임베디드리눅스를전문으로하는 community. 현재가입자수약만 4 천여명

Microsoft PowerPoint - em8-리눅스설치.ppt

Code Generation in Rapid

Contributors: Myung Su Seok and SeokJae Yoo Last Update: 09/25/ Introduction 2015년 8월현재전자기학분야에서가장많이쓰이고있는 simulation software는다음과같은알고리즘을사용하고있다.

PowerPoint 프레젠테이션

경북자동차부품관련연구소의효율적 운영방안

Microsoft PowerPoint - e2.ppt [호환 모드]

Splentec V-WORM Quick Installation Guide Version: 1.0 Contact Information 올리브텍 주소 : 경기도성남시분당구구미로 11 ( 포인트타운 701호 ) URL: E-M

10주차.key

Transcription:

Introduction to Embedded Linux

임베디드시스템 정의 어떤특정한기능을위해 Microprocessor/Microcontroller 가내장된시스템 특징 제한된하드웨어자원 ( 최소한의필요한자원 ) Processor, RAM, Flash memory, interfaces 경량의 OS 및 Real-Time OS 사용 WinCE, Vxworks, Nucleus

임베디드시스템의 H/W Expansion Port UART MPU RAM Ethernet JTAG I/F Flash Memory Target Board Block diagram JTAG(Joint Test Action Group: IEEE1149.1b)

운영체제 운영체제란? 자원관리자 (Resource Manager) 응용에게자원에대한서비스제공 (Computing Environment) 자원의종류 물리적인자원 : 처리기, 메모리, 디스크, 터미널, 네트웍,... 추상적인자원 : 태스크, 세그먼트 / 페이지, 파일, 드라이버, 통신프로토콜, 패킷, 보안,... ls, who, X window system Network package vi, emacs, Kernel Device Driver Hardware Compiler RDBMS

운영체제종류 RTOS(Real-Time OS) VxWorks, psos, Nucleus UNIX SVR4, Solaris BSD, HP-UX Linux Windows System Windows XP, 7, 10 Windows CE.NET

임베디드시스템의 OS 범용 OS (windows, Unix) RealTime OS (Vxworks, Nucleus) 범용 OS 모든태스크 (Task) 를공평하게처리 Real-Time OS 우선권이높은태스크부터처리

임베디드시스템의 OS Windows CE, Windows Embedded MS사에서임베디드시스템을위하여제공하는운영체제 기존의데스크탑 PC와동일한윈도우환경제공 데스크탑윈도우및응용프로그램과의호환성우수 프로그램개발환경이아주우수. ( 특히, GUI 개발환경우수 ) 실행환경에서요구되는 H/W 사양이높고, 가격이비쌈 MS사에서제공되는라이브러리에종속적

임베디드시스템의 OS 임베디드자바 SUN사에서제공하는 JAVA를이용한운영체제 임베디드환경에맞는개발환경을제공하고있으며웹기반의환경에우수 스크린폰, 셋톱박스등을중심으로사용 휴대폰등이동서비스 : K자바기반의 KVM(Kilobyte Virtual Machine) 기술을적용

임베디드시스템의 OS 리눅스 일반리눅스 일반테스크탑환경인고성능프로세서와대용량메모리환경에서동작하는범용컴퓨터용리눅스 임베디드리눅스 저성능의마이크로프로세서와제한된메모리환경에서동작하는임베디드시스템용리눅스

임베디드시스템의 OS Real-Time System 정의 정해진시간내에시스템이결과를출력하는시스템 주어진작업을빨리처리하는것이아니고정해진시간을넘어서는안된다는뜻임 임베디드시스템은대부분실시간적인요소내포 임베디드시스템에실시간시스템이포함됨 Hard real-time system/soft real-time system Hard real-time system 정해진시간내에작업의결과가절대적으로출력되어야하는시스템 시간내에처리되지않으면치명적인결과를초래하는경우 전투기의비행제어시스템, 핵발전소의제어시스템, 인공위성의제어시스템 Soft real-time system 정해진범위를넘는시간지연이발생하더라도그것이시스템의에러가되지않는시스템

임베디드시스템의 OS 실시간시스템에서의 S/W 간단하고단순한순차적인작업에관련 순차적인프로그램으로충분하였음 8bit, 16bit 마이크로프로세서및마이크로콘트롤러사용 임베디드시스템에서의운영체제 시스템의규모가커짐에따른 Multi Tasking 기능요구 Network 이나 multimedia 가시스템의기본으로자리잡음 Networking, GUI, Audio, Video 임베디드시스템의특성상실시간이라는요소를만족해야함 지능성이부가되고기능이많아지고복잡해짐 순차적인프로그램작성이불가능하여운영체제가도입됨

임베디드시스템의 OS 상용 RTOS : Hard Real-Time/Multi-thread/ Preemptive psos, VxWorks, VRTX 등다수 일반운영체제와거의같은기능을수행 시간제약성, 신뢰성등을일반운영체제보다중요시함 일반적으로한가지목적에최적화되어있음 임베디드 OS : Soft Real-Time/Multi-process/ non preemptive Windows CE 임베디드리눅스 임베디드자바 최근동향 임베디드 OS 세계시장 : 최근 WinCE, 임베디드리눅스가기존의 RTOS 보다시장점유율이높아지는추세 OS 선정 시스템의특성파악그시스템에적합한 OS 선정이매우중요

임베디드 OS 솔루션고려사항 -1 제품개발내용및범위의정의 비용, 시간, 안정성 Open source vs. Proprietary Product 직접개발 vs. 외주 (Outsourcing)

임베디드 OS 솔루션고려사항 -2 Open source 모든필요한것을찾을수있다 Setup Time?: 솔루션확보및환경구축 문제해결방법? 필요한기술력확보를위한기간? Proprietary Product 더편리하고효율적인툴 빠른 Setup Time 믿을수있는기술지원 종속성? 직접개발 제품유지보수의안정성 문제해결방법및기술지원 충분한개발인력확보 Outsourcing 빠른제품개발 제품유지보수문제

임베디드 OS 의주요개념 태스크 수행중인프로그램 (an instance of a running program) 프로그램의수행환경 (an execution environment of a program) 스케줄링단위 (scheduling entity) 제어흐름과주소공간의집합 (a control flow and address space) 멀티태스킹 여러개의태스크를동시에실행시키는것 일반 OS 에서의태스크 각태스크들은대분분무관한프로그램임 임베디드시스템에서의태스크 하나의큰응용프로그램을논리적으로나눈것 기능상매우밀접한관계 태스크사이에이루어지는작업들이많다. 응용프로그램을실행을위해여러기능들이동시실행요구 순차적이아닌동시실행의필요성이있다.

임베디드 OS 의주요개념 스케쥴러 (Scheduler) OS 의핵심기능 다음번에어떤태스크를실행해야하는지를결정하는코드부분 태스크선택정책 : 우선순위기반의스케쥴링 FIFO(First In First Out), Round-robin 등 선점 (Preemptive) 어떤태스크가수행되고있을때커널이중간에그태스크의수행을중지시키고다른태스크의기능을수행시키는기능 선점형커널 / 비선점형커널 다른태스크로실행이넘어갈때문맥전환 (context switching) 발생 Context switching 일단현재수행중인태스크상황하에서의시스템상태 ( 문맥 ) 를 TCB(Task Control Block) 이라는특정한자료구조에저장하고, 다음에새로운태스크의문맥을가져와시스템상태를복원한후에실행하는것 Context switching 은 overhead 이기때문에짧을수록효율적임 thread 의개념을통해이를보완하는방법

임베디드 OS 의주요개념 Mutual exclusion 두개의태스크가동시에하나의공유자원에접근하려고할때한태스크에게자원사용에대한배타적권리를보장하는것 Critical section : 공유자원을 access하는일련의코드부분 다른태스크에의해서중단되어서는안되는일련의명령혹은코드블록 상호배제기법 인터럽트발생을방지 Critical section에들어가기전에인터럽트를 disable시키고 (CLI) 빠져나오면서인터럽트를다시 enable 시키는방법 (STI) 단일 CPU의경우단순하게사용가능 semaphore 이용 semaphore를얻지못하면공유자원을얻을수없으며일단 semaphore 를얻으면공유자원을마음놓고쓸수있다. 다른태스크를위해서공유자원을다쓰면 semaphore를풀어야한다. Semaphore가 0 이면 waiting한다.

임베디드 OS 의주요개념 Semaphore 공유변수사용 mutual exclusion을만들어공유자원을제어 태스크사이의동기화에사용가능 사용방법 종류 공유자원에해당하는 semaphore를만든다. 공유자원을사용하기직전에해당 semaphore 얻는다. 변수값이 0이아닌경우그변수값을1 감소시킨다. 0이면양수가될때까지기다린다. (SLEEP상태) 공유자원을다쓰면그값을 1 증가시킨다. Binary semaphore : 공유자원의변수가 0,1인경우 Counting semaphore : 1이상의값

임베디드 OS 의주요개념 Task communication 태스크간에통신하는방법 Global variable 을쓰는방법 / message passing 방법 Global variable exclusive access를해야하며, ISR이포함된인터럽트를 disable해야한다. Task 사이에서는인터럽트를 disable하는방법외에 semaphore를사용할수있다. message passing Mailbox, queue, pipe message 의크기에따라결정됨 Task synchronization 태스크간의동기화기능 Semaphore/event flag/signal 등을사용

임베디드 OS 의주요개념 Interrupt service Asynchronous event를 CPU에알리는방법 Interrupt는외부에서들어오는중요한신호로서시간에민감한경우가있기때문에 interrupt latency가짧은것이좋음. ISR자체도짧은것이좋은데그이유는 ISR 자체가길어지면 interrupt nesting이되기쉽기때문. ISR에서는보통그에상응하는태스크수준의 service routine을부르고 (HISR) 끝나도록구성. HISR에서는마치태스크처럼존재해서수행이된다.

임베디드 OS 의주요개념 Reentrancy code 인터럽트, 선점의개념과연관 하나의함수를여러태스크가동시에수행가능 Reentrant하다 태스크 1에서함수 1을수행하다가도중에태스크 2로제어권이넘어가고이함수를다시호출해도함수 1이제대로동작하는것 전역변수를사용하지말것 전역변수는 shared resource이기때문에 mutual exclusive 하도록만들어주지못하는문제가생긴다. Reentrant하지못한 code는공유하지않거나, 공유해야하는경우에는 semaphore를쓴다거나동일우선순위를갖는태스크사이에서 round-robin을하지않아야한다.

임베디드리눅스 임베디드리눅스 임베디드시스템을위해경량화된리눅스 임베디드시스템에포팅 (Porting) 된리눅스 포팅 (Porting) 어떤프로그램을특정플랫폼에서동작될수있도록프로그래밍하는기술 예 윈도우기반의 MSN Messenger Linux 기반의 MSN Messeger Intel processor PC 기반의 Linux ARM processor 보드기반의 Linux

임베디드리눅스특징 장점 Open Source 학습용이 PowerPC, ARM, MIPS 등다양한 CPU Platform 지원함 로열티가없으므로가격경쟁력이우수 사용자층이넓어오류수정이빠르고안정성이우수 단점 커널크기 상용 RTOS< Linux < 범용 OS 완전하지못한 Real Time 제한적 preemption 개발환경의부족 일반적으로 Text 기반 불투명한안정성 GUI 환경을개발하기어려움 제품화하기위한솔루션구성이어려움 많은업체들과개발자들이독자적으로개발하고있어표준화가어려움

임베디드리눅스특징 커널버전의선택 임베디드시스템의크기를고려 필요한기능을고려 확장성을고려 커널버전 버전숫자 : X.Y.ZZ X: 커널의버전 Y: 릴리즈번호, 홀수-> 개발중, 짝수-> 안정된버전 ZZ : Modifications, 사소한변화를의미 최신버전 새로운다양한기능이이미추가되어있음 크기가매우크다는단점이있음

임베디드리눅스구성 커널이미지 bzimage

시스템호출, 라이브러리예

파일시스템

파일시스템 (Mount)

개발과정 H/W 개발 부트로더개발 커널포팅 디바이스드라이버개발 응용프로그램개발 시스템통합 ( 패키징 )

개발환경 -1

개발환경 -2 호스트시스템 일반 PC 또는워크스테이션 크로스컴파일 (Cross Compile) 환경이설정됨 타겟의모든 S/W 개발 시리얼라인을통하여타겟시스템의콘솔역할 TFTP, NFS 서비스제공 타겟시스템 리눅스를올릴장비 호스트시스템에서작성된 S/W들이다운로드되어실행됨 크로스컴파일 S/W 가타겟시스템 (processor) 에서돌아갈수있도록하는컴파일 호스트와타겟시스템은일반적으로프로세서가다름