• 검색 결과가 없습니다.

(Embedded System Programming) ESP30076 임베디드시스템프로그래밍

N/A
N/A
Protected

Academic year: 2022

Share "(Embedded System Programming) ESP30076 임베디드시스템프로그래밍"

Copied!
20
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

ESP30076 임베디드 시스템 프로그래밍 (Embedded System Programming)

조 윤 석 전산전자공학부

Module 1: Introduction to the Course &

Embedded System

(2)

 강좌 소개

 임베디드 시스템의 이해

– 임베디드 시스템에 대한 기본 개념 이해하기 – 임베디드 시스템의 구성요소 알아보기

– 임베디드 시스템의 활용 분야 알아보기

강의 목표

(3)

 리눅스 환경하에서 임베디드 시스템 개발에 필요한 환경 구축

 임베디드 시스템 구동에 필요한 기본 이미지 설치 하는 방법

 커널 프로그래밍에 대한 이해

 문자 디바이스 드라이버 작성법

 프레임버퍼 프로그래밍하는 방법

강의 목표

3

(4)

 교재

– 조윤석, 홍성현, “Achro-210T 보드를 활용한 임베디드 리눅스

시스템의 이해와 활용”, 홍릉과학출판사, 2014.8

 선수 학습 내용

– 선수과목: C 프로그래밍 (필수)

– 유닉스 또는 리눅스 기본 사용법 (권장) – C++ 또는 자바 프로그래밍 (권장)

 실습환경

– 임베디드 시스템 (하드웨어)

• HUINS Achro 210T

– 개발 운영체제

• 리눅스(Linux) 2.6.32 (Ubuntu 10.04LTS)

선수학습 내용 및 실습환경

(5)

 개발환경 구축

– Virtual PC 설치, Linux 설치, 네트워크 설정, 툴체인 설치 – Linux 파일 시스템 구성 및 리눅스 사용법

 임베디드 시스템 보드 구성하기

– 플래시 메모리 구성하기

• 부트로더, 커널, 리눅스파일시스템

– 부트로더 이해 및 기능 추가

 커널 프로그래밍

– 디바이스 드라이버의 개념 및 작성하는 방법 – 문자 디바이스드라이버 작성 및 커널 등록

 응용프로그래밍

– 프레임버퍼 프로그래밍

강좌 구성

5

(6)

 시스템이란 이미 계획된 순서 및 조건에 따라 일정 규칙으로 동작하는 것

– 소프트웨어적 요소만을 이야기할 수도 있으나 일반적으로 는 하드웨어까지 같이 포함

 시계 시스템(Watch System)

– 시간을 표시해주는 시스템

– 구성요소: 초침, 분침, 시침, 시계 줄, 건전지 등

 세탁기 시스템(Laundry Machine System)

– 자동 세탁 시스템

– 구성요소: 패널, 선택 스위치, 세탁 봉, 내부 수위 조절센서, 솔레노이드 밸브, 다양한 제어 장치 등

System

(7)

 컴퓨터 하드웨어와 소프트웨어가 시스템의 중요 요 소로 내장되어 특정 제품이나 여러 응응 분야에 특 화된 독립시스템으로 동작하거나 큰 시스템의 일부 로 동작함

– 임베디드 시스템은 하드웨어 구성이 고정되어 있고 소프 트웨어도 하드웨어 안에 내장된 상태로 출하됨

– 사용자로부터의 시스템 접근을 제한하여 안정성을 보장함 – 즉, 사용자가 PC처럼 운영체제를 자유자재로 바꾸거나 재

구성이 불가능하며 응용프로그램도 하드웨어에 내장된 상 태로만 사용이 가능

What is the Embedded System?

(8)

 임베디드 시스템 (또는 내장형 시스템)은

– 컴퓨터 하드웨어와 소프트웨어가 시스템의 중요요소로서 내장되어 (embedded), 특정 제품 또는 응용분야의

dedicated된 독립 시스템으로 동작하든지, 또는 큰 시스 템의 일부로 동작함

– 대부분의 임베디드 시스템은 하드웨어 구성이 고정되어 있고 소프트웨어도 하드웨어 안에 내장된 상태로 공장에 서 출하되어 사용자의 시스템 접근을 막음. 안정성 보장

• 사용자가 운영체제를 바꾸거나 재구성 불가하며 응용프로그램도 하드웨어에 내장된 상태로만 사용이 가능

What is the Embedded System?

(9)

 데스크톱 환경

– 시스템이 오동작하는 부분에 대해서는 임베디드 시스템보 다 덜 민감함

– 서버환경의 경우 하드웨어 이중화 및 고장방지능력 (fault tolerance) 기법 등을 도입하여 안정성을 추구

 임베디드 환경

– 임베디드 시스템에서는 안정성 부분이 매우 중요

– 임베디드 시스템이 안정적으로 동작하도록 시스템에 사용 되는 코드는 확실하게 검증된 코드(production code)를 사용

– 임베디드 시스템은 실시간(real-time) 처리가 가능해야 함

Desktop VS Embedded

9

(10)

 Embedded System 발전

– 1950~1960년대: 군사목적용 및 통신장비에 국한되어 사용 – 1970년대: 마이크로프로세서의 개발로 가전제품으로 확대

– 1990년 이후 : 이동통신 시스템 및 정보기기 모바일 시스템에 폭 넓게 활용

– 통신 및 방송기술 진보와 소비자 요구에 의해 H/W뿐만 아니라 S/W 의 도입이 계속적으로 증가

Embedded System의 발전

(11)

 산업별 Embedded System의 발전

Embedded System의 발전

11

(12)

 하드웨어(Hardware)

– 마이크로프로세서(또는 마이크로컨트롤러)

• 프로그램의 명령어 처리를 담당

– 메모리

• 프로그램 및 데이터를 저장하는 공간(램, 플래시 메모리 등)

– 주변 장치

• 키 버튼, 터치스크린, LCD, 사운드코덱, UART, 다양한 센서류 등

 소프트웨어(Software)

– 시스템 소프트웨어

• 운영체제(OS)

• 디바이스 드라이버(Device Driver)

Embedded System의 구성요소

(13)

 임베디드 시스템에서 사용하는 프로세서는 기능의 복잡도 및 시스템의 크기 면에서 매우 다양

 기능에 따른 분류

– 마이크로프로세서(Microprocessor)

• 컴퓨터의 중앙처리장치를 단일 IC(Integrated Circuit) 칩에 집적시 켜 만든 반도체 소자

– 마이크로컨트롤러(Microcontroller)

• 범용 목적의 마이크로프로세서의 일반 산술, 논리 요소뿐 아니라 데이터 저장을 위한 읽기 쓰기 메모리, 코드 저장을 위한 플래시 와 같은 전용 메모리나 EEPROM, 주변 기기, 입출력 인터페이스 등의 부가 요소로 구성

Processor of Embedded System

13

(14)

 명령어의 복잡도에 따른 분류

– CISC (Complex Instruction Set Computer)

• 명령어가 그 필요에 따라 다양한 크기를 가진다.

• 복잡한 기능을 하나의 명령어로 수행할 수 있다.

• 기본적인 기능은 같더라도 부가적인 요소에 의해 여러 개의 명령 어를 가진다.

– RISC (Reduced Instruction Set Computer)

• 단순한 명령어 세트를 지원

• 사용자 명령을 해독하고 실행하는 것을 전적으로 하드웨어 회로 에 의존

• 처리속도를 높이기 위해서 필수적으로 파이프라인 처리기법을 사 용

• 명령어 종류가 적고 간단하여 사용자 프로그램이 길어짐

Processor of Embedded System

(15)

 명령어의 복잡도에 따란 분류

Processor of Embedded System

15

CISC와 RISC 프로세서 비교

CISC 프로세서 RISC 프로세서

명령어 (instruction) 복잡 단순

명령어 효율 낮음 높음

Relative Program Size 130~140 160~180

임베디드 시스템 적용 적합성 적합하지 않음 매우 적합

(16)

 임베디드 시스템 소프트웨어의 특징

– 실시간 처리 지원

• 실시간 처리가 지원되지 않으면 큰 손실이나 위험을 초래할 수 있는 비행제어 시스템 및 항법 시스템 등에서 실시간 처리를 지원

– 고신뢰성

• S/W 오작동이나 불시의 작동 중지 등으로 심각한 결과를 초래할 수 있는 시 스템에서 고도의 신뢰성이 요구됨

– 최적화 기술 지원

• 제한된 H/W 자원 때문에 임베디드 S/W는 경량화, 저전력 지원, 자원의 효율 적 관리 등의 측면에서 H/W에 최적화되는 기술의 지원 필요

– 특정 시스템 전용

• 특정 시스템의 실행을 목적으로 개발되는 S/W

– 네트워크 및 멀티미디어 처리기능 지원

• 단독형 시스템뿐만 아니라 유무선 네트워크를 통한 연결이 가능해야 함

• 멀티미디어 정보를 처리하는 기술이 필요

– 다양한 솔루션과 개발 도구 필요

• 다양한 기종과 규격의 마이크로프로세서에 최적화된 별도의 솔루션이 동시에 제공되어야 함

Software of Embedded System

(17)

 임베디드 운영체제의 종류

– VxWorks

• 대표적인 경성 운영체제로 화성 착륙선 패스파인더의 운영체제로 사용되어 유명해진 운영체제

– VTRX

• 통신장비와 네트워크 장비뿐만 아니라 자동차 엔진 제어시스템과 발전소 모니터링 시스템 등에 사용되고 있는 경성 RTOS

– Nucleus

• 일반적인 휴대전화, 셋톱박스, PMP 등과 같은 임베디드 기기에서 사용이 가능한 실시간 운영체제

– pSOS

• 각종 통신장비와 네트워크 장비에서 사용된 경성 RTOS

• 1982년 ISI사에 만들어진 실시간 운영체제

Software of Embedded System

17

(18)

 임베디드 운영체제의 종류

– μC/OS-II

• 소스가 공개된 RTOS이며, 일부 상용 운영체제처럼 이식성이 좋음

– Window CE

• Win32 API를 지원하는 실시간 운영체제로 Microsoft에 의해 개발 된 운영체제

– 임베디드 리눅스 (Embedded Linux)

• PC기반의 리눅스를 임베디드 기반에서 사용할 수 있도록 만든 리 눅스

• 오픈 소스를 통해서 다양한 플랫폼에 이식할 수 있으며, 무료로 사용할 수 있음

Software of Embedded System

(19)

 소규모 임베디드 시스템

– 보통 한 개의 8비트 또는 16비트 마이크로컨트롤러 수준의 하드웨어 와 소프트웨어로 구성

– 소프트웨어 개발 시 어셈블러 또는 크로스 어셈블러를 사용하고 C언 어를 많이 사용

– 자판기, 마우스, 멀티태스킹 장난감, 무선리모콘, 혈압측정기 등

 중규모 임베디드 시스템

– 한 개 또는 여러 개의 16비트 또는 32비트의 마이크로컨트롤러 또는 DSP, RISC 수준에서 설계됨

– 소프트웨어는 주로 실시간 운영체제(RTOS)에 기반하여 개발함 – 하드웨어 설계 시 IP를 많이 사용

– 라우터, ATM, PDA, 게임기, 뮤직시스템, TCP/IP 프로토콜 스택 등

 고성능 임베디드 시스템

– 다수의 하드웨어와 복잡한 소프트웨어들로 구성

– 이러한 시스템을 설계하려면 하드웨어와 소프트웨어를 함께 설계할 수 있는 능력이 요구되며 최첨단 기술이 필요

– 고속네트워킹시스템, 기가 비트율의 암호화 시스템 등

Embedded System의 분류

19

(20)

 모바일 분야

– MP3, PDA, PMP, 휴대폰 등

 가전 분야

– 셋톱박스, 게임기, 세탁기, 전자레인지, TV 등

 홈오토메이션 분야

– 마이크로프로세서 또는 마이크로컨트롤러를 내장하여 사 람이 해야 할 일을 대신 수행하거나 네트워크를 통해 서 로 정보를 주고 받으며 모니터링 하거나 관리하는데 활용

Embedded System의 활용 분야

참조

관련 문서

Š 연직축의 내축에 직각으로 고정되어 있고 시준선을 정하 연직축의 내축에 직각으로 고정되어 있고 시준선을 정하 는 망원경은 수평축과 한 몸체로

MicroSD 메모리에 시스템 이미지 올리기 -리눅스

– 가상 머신 하드 드라이브 생성.. Virtual

– 파일시스템의 진단 및 오류수정은 리눅스 명령어 fsck (file system check) 수행 시 발생하는 모든 결과들은 lost+found 디렉토리에 저장되며,

Process data in registers using a number of data processing instructions which are not slowed down by memory access. Store results from registers

내용기반 추천 시스템은 특정한 웹 페이지에 대한 사용자의 평가를 기초로 하여 사용자의 관심을 학습하고 새로운 웹 페이지들을 수집하여 제공하는

따라서 본 프로그램에서는 스마트폰의 개념적 특성을 알고, 스마트폰의 하드웨어 및 소프트웨어적 특징을 탐구하여 우리 생활에 필요한 애플리케이션을

Program counter, index register, accumulators and condition code registers are stored in the stack Further interrupts are disabled. Processor jumps to memory location address