임베디드시스템 RaspberryPi Sejin Oh.

Slides:



Advertisements
Similar presentations
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
Advertisements

Lee Hoon Copyright(c) 2008 LeeHoon All rights reserved. 제 10 강.
을지대학교 무선 네트워크 사용 방법 2010 년 06 월 01 일. 을지대학교 무선 네트워크 사용 방법 1. PC 무선랜 카드 활성화 및 체크 1 단계 : 시작 -> 설정 -> 네트워크 설정 2 단계 : 무선 네트워크 설정 선택 -> 마우스 버튼 오른쪽 클릭 -> 사용.
1장1장1장1장 한빛미디어 ( 주 ) 임베디드시스템의 개요 임베디드시스템 응용 분야 실시간 시스템 임베디드 소프트웨어 임베디드 하드웨어 임베디드시스템의 시장 현황 유비쿼터스 컴퓨팅 임베디드시스템의 개요 임베디드시스템 응용 분야 실시간 시스템 임베디드 소프트웨어 임베디드.
Big Data & Hadoop. 1. Data Type by Sectors Expected Value using Big Data.
7장7장7장7장 한빛미디어 ( 주 ) 파일시스템 개요 파일시스템 종류 파일시스템 구조 루트 파일시스템 커널 부팅 방식 램디스크 JFFS2 파일시스템 파일시스템 개요 파일시스템 종류 파일시스템 구조 루트 파일시스템 커널 부팅 방식 램디스크 JFFS2 파일시스템 파일시스템.
컴퓨터와 인터넷.
컴퓨터 운영체제의 역사 손용범.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
정보 보안 개론과 실습 네트워크 해킹과 보안 3부 해킹 전 정보 획득 Chapter 10. 목록화.
네트워크 기술을 통한 현재와 미래 소개.
Power Java 제3장 이클립스 사용하기.
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
Windows Server 장. Windows Server 2008 개요.
Cross Compiler를이용한 커널 컴파일 및 포팅
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
시스템집적반도체 설계 검증 환경과 기법 Ch 7.
임베디드 시스템.
UNIT 06 JTAG Debugger 로봇 SW 교육원 조용수.
임베디드 리눅스 설치 및 동작 Lecture #5.
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
11 장 LAN 기본 개념과 Ethernet LAN
강 명 수 LINUX 설치 강 명 수
07. 디바이스 드라이버의 초기화와 종료 김진홍
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
Root Filesystem Porting
2장. CentOS 리눅스 소개.
FTP 프로그램 채계화 박재은 박수민.
Root Filesystem Porting
리눅스 운영체제 운영체제 리눅스 소개 임베디드 리눅스 리눅스 명령어 한빛미디어(주).
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
부트로더와 Self Programming
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
Cross Compiler 설치.
뇌를 자극하는 Windows Server 장. Windows Server 2008 개요.
마이크로컨트롤러, 마이크로컨트롤러 보드 마이크로컨트롤러 보드 = 마이크로컨트롤러 +  마이크로컨트롤러 마이크로컨트롤러 보드.
임베디드 SW 시스템 소개 - 임베디드 운영체제 - 임베디드 리눅스 - 임베디드 인터넷
제 1장. 멀티미디어 시스템 개요.
Cross Compiler를이용한 커널 컴파일 및 포팅
AVR – ATmega103(ATMEL) Compilers & ISP
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
2장. JSP 프로그래밍을 위한 환경구성 제2장.
리눅스 시스템 & 커널 기초 P.46 – P.53 이름: nsh009 학번: 112 1/20.
Device Driver 임베디드 시스템 I.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
임베디드 시스템 개론 임베디드 타겟 보드 포팅 및 H/W 제어 3일차 강의 자료 Embedded System Lab.
Xscale Educational Kit
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
제1장 Unix란 무엇인가?.
자율주행 차량용 드라이빙 컴퓨팅 하드웨어 플랫폼 05
OS 역사 손병규.
Tiny OS와 NesC Tiny OS Part1. Won Mi Sun – 17 지능제어 연구실.
LabVIEW WiznTec 주임 박명대 1.
ATmega128의 특징 아이티즌 기술연구소
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
Home Network.
Kernel, Ramdisk, JFFS2 Porting
뇌를 자극하는 Solaris bible.
DK-128 개발환경 설정 아이티즌 기술연구소
AT MEGA 128 기초와 응용 I 기본적인 구조.
UNIT 25 SPI 로봇 SW 교육원 조용수.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
임베디드 시스템 개론 3주차.
프로그래밍 언어 학습을 위한 가상실습환경 창원대학교 이수현.
Installation Guide.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
Windows XP Professional 장점
Presentation transcript:

임베디드시스템 RaspberryPi Sejin Oh

임베디드 시스템의 개요 임베디드 시스템 정의 및 종류 임베디드 시스템(Embedded System) 정의 특정 기능을 반복적으로 수행하기 위해 컴퓨터의 하드웨어와 소프트웨어가 결합된 고기능의 전자 제어 시스템 마이크로프로세서 혹은 마이크로컨트롤러를 내장하여 제작자가 의도한 다양한 기능을 수행하는 소프트웨어를 포함하는 시스템 임베디드 시스템 종류 웹 서핑이 가능한 TV, 화상 통신이 가능한 냉장고, 원격 조정이 가능한 밥솥, 휴대폰, PDA, 사이버 아파트의 홈 관리 시스템, 교통 관리 시스템, 주차 관리 시스템, 네비게이션 등

임베디드 시스템의 개요 임베디드 시스템의 특징 임베디드 시스템의 특징 소형, 경량화 저전력소비 낮은 가격 고 신뢰성 유/무선 네트워크 실시간 시스템 PC에 버금가는 반응속도 특정한 기능에 부합하는 최적화

임베디드 시스템의 응용분야 가정 자동화(HA, Home Automation) 가스 누출, 화재, 도난 등에 대한 자동 감지 기능, 현관문이나 창문 등의 상황을 알려주는 통신 기능, 가전 제품과 조명 기기, 음향 기기 등을 켜고 끄는 원격 제어 기능 등 정보가전(Information Appliance): 인터넷 냉장고, 디지털 TV, 인터넷 세탁기 등 정보 단말기 휴대폰, PDA, 스마트폰, 영상 전화기 등의 디지털 기기 각종 정보 검색, 오락, 메시징, 개인정보관리 등의 복합 기능 수행

임베디드 시스템의 응용분야 공장 자동화(FA, Factory Automation) 산업 분야에서 생산 공정의 제어에 필요한 시스템 공정을 실시간으로 제어하거나 매우 정밀한 처리가 필요한 공정에서는 고성능 임베디드 시스템을 탑재한 산업용 로봇과 같은 장비 필요 사무 자동화(OA, Office Automation) 사무 활동의 효율화 및 내용의 질적 향상을 위해 전자 기기 등을 사용한 사무 처리의 자동화 프린터, 스캐너, 팩스 등의 기능을 하나로 통합한 복합기 등

임베디드 시스템의 응용분야 물류 분야 바코드를 위한 리더 및 발급기, 무선인식장치, POS 단말기, RFID 등 금융 분야 자동현금입출금기, 신용 카드의 인식기나 발급기, 훼손된 지폐 검출, 지문 인식, 음성 안내, 감시 카메라를 이용한 감시 기능 등

실시간 시스템 실시간 시스템 주어진 입력에 대하여 정해진 시간 내에 행동 혹은 반응할 수 없을 때 문제가 발생하는 시스템 (Schedule : Dead Line) 외부 자극에 대하여 어떠한 환경 아래에서도 마감시간 이내에 논리적으로 정확한 출력 혹은 결과를 내는 적시성을 가진 시스템 마감시간 내에 결과를 얻지 못할 경우 발생하는 문제의 심각성에 따라 크게 경성 실시간 시스템과 연성 실시간 시스템으로 분류

실시간 시스템 경성 실시간 시스템 마감시간을 못 지키면 응용 프로그램이 실패하며 시스템에 치명적인 손실을 줄 수 있음 원자력 발전소 제어, 화재 발생 검출 시스템, 항공기, 우주 왕복선, 자동차, 미사일 제어 등 연성 실시간 시스템 지연된 반응에 대해 치명적 영향을 미치지 않고 시스템에 미세한 영향 데스크탑 컴퓨터, 정보 단말기 등

임베디드 소프트웨어 임베디드 소프트웨어 하드웨어를 제어하기 위해 임베디드시스템에 내장되는 명령어집합 제한된 하드웨어 자원에서 동작해야 하므로 일반적으로 크기가 작고 하드웨어에 최적화해 사용 하드웨어가 다양하기 때문에 탑재되는 임베디드 소프트웨어 종류도 다양하고 복잡 대부분의 경우 센서 혹은 버튼 등을 통하여 입력된 외부 자극에 대해 사건 구동 방식으로 동작

임베디드 하드웨어 임베디드 하드웨어 프로세서 로직을 라이선스하여 SoC(System on a Chip) 형태로 프로세서 코어, 메모리, 디지털 신호 처리(DSP, Digital Signal Processing) 및 주변장치 등을 하나의 칩에 통합하여 제조 가능 SoC 특징 제품의 크기가 보드가 아니라 칩 크기로 소형화되기 때문에 저전력 소모, 제품 가격 하락, 안정성 증가뿐만 아니라 혁신적인 디자인도 가능. 모듈별로 재사용 가능한 IP(Intellectual Property) 개발이라는 새로운 사업 모델의 등장. 이전에는 일부 반도체 회사에서만 프로세서 칩을 설계, 제조 및 판매가 가능했지만, 이제는 영국의 ARM처럼 프로세서 코어 IP를 판매하는 회사도 등장. ASIC(Application Specific Integrated Circuit) 제조 기술만 있는 회사이면 IP를 라이선스하여 프로세서와 같은 칩 생산이 가능

유비쿼터스 컴퓨팅 유비쿼터스(Ubiquitous) 컴퓨팅의 의미 언제 어디서나 어떤 것이라도 온라인 네트워크와 연결되어 서비스를 받는 환경과 공간을 의미 Xerox 사의 PARC(Palo Alto Research Center) 연구소의 연구책임자인 마크와이저(Mark Weiser) 소장에 의해 1991년도에 사용 TRON 프로젝트 연구책임자인 사카무라 켄 교수가 제창한 “모든 물건에 컴퓨터”

유비쿼터스 컴퓨팅 차세대 컴퓨팅 기술 웨어러블 컴퓨팅(Wearable Computing) 퍼베이시브 컴퓨팅(Pervasive Computing) 조용한 컴퓨팅(Silent Computing) 노매딕 컴퓨팅(Nomadic Computing) 감지 컴퓨팅(Sentient Computing) 엑조틱 컴퓨팅(Exotic Computing) 임베디드 컴퓨팅(Embedded Computing) 일회용 컴퓨팅(Disposable Computing) 유비쿼터스 기반 기술 MEMS(Micro Electro Mechanical System) : 미세전자기계시스템 RFID IPv6 SoC LBS(Location Based Service) : 위치기반 서비스 센서, 칩

운영체제 운영체제 컴퓨터 시스템의 각종 자원을 효율적으로 관리하고 운영되도록 사용자에게 편리성 제공, 컴퓨터 하드웨어와 사용자간의 인터페이스 역할을 하는 시스템 프로그램 자원 관리자 역할과 응용 소프트웨어에게 컴퓨팅 자원에 대한 서비스 제공자 역할 커널 운영체제를 작동시키는 핵심 프로그램 커널이 관리하는 컴퓨팅 자원 물리적 자원: 프로세서, 메모리, 디스크, 터미널, 네트워크 등과 같은 시스템 구성 요소들과 주변 장치 추상적 자원: 태스크와 쓰레드, 페이지(page)와 세그먼트(segment), 파일 및 inode, 통신 프로토콜 및 패킷 등, 보안 혹은 사용자 계정에 따른 접근 제어 등

리눅스 소개 리눅스의 장점 유닉스와 완벽하게 호환 가능 공개 운영체제이며 무료 강력한 네트워크 기능을 제공하며 인터넷의 모든 기능을 지원 멀티태스킹을 지원 안정적이며 하드웨어 기능을 효과적을 사용 다양한 응용 소프트웨어를 제공 리눅스의 단점 공개 소프트웨어이기 때문에 오류로 인한 사고 발생시 보상 불가 커널 버전이 너무 빨리 변화

리눅스 소개 커널 버전 번호 linux-x.y.z.tar.gz 배포판 비상업적이거나 상업적인 소프트웨어를 통합한 리눅스 패키지 리눅스 커널 외에 GNU 유틸리티, 개발 환경, X 윈도우 시스템 등을 포함 레드햇 리눅스 배포판 Redhat Linux, Redhat Enterprise Linux, Fedora Core

리눅스 소개 리눅스 부팅과정 리눅스 부팅 과정 ROM BIOS에 의하여 시스템의 이상 유무를 점검하고 하드웨어를 초기화 부트로더 프로그램을 메모리에 적재 부트로더는 커널을 메모리에 적재 루트파일 시스템 마운트 커널 실행 후 커널은 최초의 프로세스인 /sbin/init 코드 실행 init 프로세스에 의해 운영체제 초기화

임베디드 리눅스 임베디드 리눅스 운영체제 저성능의 프로세서와 소용량의 메모리를 가진 제한된 컴퓨팅 자원 하에서 특정 응용 프로그램의 수행에 필요한 요구 사항을 충족시킨 최적화된 리눅스 임베디드 시스템 분야에서 리눅스가 많이 선택되는 이유 안정된 운영체제이며 멀티태스킹의 제공 강력한 네트워크 기능 확장성의 다양함과 용이함의 제공 다양한 형태의 파일시스템과 실행 파일 포맷 지원 소스가 공개된 무료 소프트웨어

임베디드 시스템 개발환경 개요 임베디드시스템 개발 환경:호스트 시스템, 타겟 시스템백엔드로 구성 호스트 시스템에서 타겟 시스템을 위한 부트로더, 커널 이미지, 응용 소프트웨어 등을 개발하고, 이를 케이블 등을 통해 타겟 시스템으로 다운로드하여 사용

임베디드 시스템 개발환경 개요 크로스 개발 환경(Cross Development Environment)

임베디드 시스템 개발환경 개요 호스트 시스템 임베디드시스템을 개발하기 위한 자원 즉, 컴퓨팅 환경을 제공하는 시스템 보통 개인용 컴퓨터를 호스트 시스템으로 사용 리눅스 커널 2.6 버전을 포함하는 페도라 코어 4를 호스트 시스템의 운영체제로 사용 툴체인(toolchain): 타겟 시스템용 시스템 및 응용 소프트 개발에 필요한 모든 환경을 통칭

임베디드 시스템 개발환경 개요 타겟 시스템 개발된 임베디드시스템 프로그램을 테스트하고 구동할 수 있는 시스템

임베디드 시스템 개발환경 개요 백엔드 호스트 시스템과 타겟 시스템간에 통신하기 위한 매개체 Serial JTAG Serial 포트를 활용하여 모니터링(미니컴 S/W 활용) JTAG JTAG을 통해 플래시 메모리에 부트로더, 커널 퓨징 원용도: 디버깅 장비 – 레지스터 모니터링 Ethernet Cross 케이블을 활용하여 NFS(Network File System 구성) - 허브 부재시

툴체인 환경 구축 일반적으로 호스트 시스템과 타겟 시스템의 플랫폼이 다르기 때문에 툴체인이 필요 x86 계열에서 개발한 프로그램을 ARM 계열에서 실행하려면 교차 컴파일 필요 툴체인은 교차 컴파일러 및 관련된 각종 라이브러리를 의미 어셈블러, 링커, C 컴파일러, C 라이브러리 등으로 구성

Make 유틸리티 컴파일을 자동화해주는 명령어 생성 프로그램 최종 목표 파일(target file)의 빌드(Build) 과정을 정의해두면 필요한 작업만 수행하여 목표 파일을 생성 종속된 파일들의 상호 의존 관계를 명시한 목록 파일(description file)을 사용하여 목표 파일을 생성 원시 파일의 일부가 수정되면 목표 파일을 새롭게 생성하기 위해 다시 컴파일할 파일을 자동으로 판단, 필요한 명령어만 이용해 다시 컴파일하는 지능적인 유틸리티 다중 모듈 프로그램의 재사용성을 유지하고 프로그램 수정에 대한 재번역을 최소화

호스트/타겟 통신 임베디드시스템은 제한된 컴퓨팅 자원으로 구성되어 있어서 프로그램 개발을 위해서는 호스트 시스템의 도움이 필요 호스트 시스템은 타겟 시스템을 위한 교차 컴파일러, 콘솔 등 다양한 환경을 제공 호스트 시스템에서 개발된 소프트웨어는 타겟 시스템으로 전송 호스트 시스템과 타겟 시스템 사이에 통신 환경 필요 직렬 통신과 이더넷(Ethernet) 통신

호스트/타겟 통신 직렬 통신 저속의 데이터 통신으로 사용 직렬 포트를 제어하는 프로그램을 포함하는 마이크로 칩: UART(Universal Asynchronous Receiver and Transmitter) 인터페이스 칩: RS-232C 이더넷 대용량의 데이터를 호스트 시스템에서 임베디드시스템으로 전송하고자 할 경우 사용 BOOTP: 부트로더와 커널 이미지를 TFTP로 호스트에서 타겟으로 다운로드하여 부팅. NFS:네트워크로 연결된 파일을 로컬 디스크처럼 쉽게 접근할 수 있도록 허용하는 일종의 분산 파일시스템.

직렬 통신을 이용한 이미지 전송 ZMODEM을 사용해 호스트 시스템과 타겟 시스템 사이의 직렬 통신이 가능

NFS 환경 구축과 파일 공유 NFS(Network File System)를 이용하면 원격 컴퓨터의 파일이 마치 자신의 컴퓨터에 있는 것처럼 작동 타겟 시스템에서 필요한 프로그램을 호스트 시스템에서 개발하고 NFS를 사용하면 전송의 번거로움이 없이 타겟 시스템에서 사용 가능

NFS 환경 구축과 파일 공유 NFS의 장단점 장점 단점 클라이언트 시스템의 리눅스 파일 시스템 위에서 호스트 시스템의 파일을 접근 및 실행이 가능 램디스크 상에 올리기에 너무 큰 파일도 NFS 상에서는 호스트의 기억 용량에 의존하기 때문에 쉽게 처리 가능 단점 네트워크의 과부하로 속도 저하 혹은 보안 허점 우려 장치 파일과 같은 특수 파일은 NFS에 연결된 디렉토리에서 생성 불가 읽고 쓰는 속도가 빠른 파일로는 사용이 곤란

부트로더 개요 부트스트랩 로더(bootstrap loader)의 준말로 컴퓨터를 사용자가 사용할 수 있도록 디스크나 플래시에 저장된 운영체제를 읽어 주기억장치에 적재해주는 프로그램 부트로더의 종류 LILO(LInux LOader) GRUB(GRand Unified Boot loader) NTLDR(NT LoaDeR) BOOTX ARMBOOT BLOB(Boot Loader OBject) BOOTLDR PPCBOOT REDBOOT U-BOOT(Universal BOOTloader)

부트로더 개요 부트로더의 기능 타겟 시스템을 위한 스타트업, 로드, 링커 기능 기본적인 시스템 진단 기능 모니터 기능 직렬 통신을 사용한 프로그램 적재 기능 네트워크를 통해 이미지 전송 메모리 내용 표시 및 수정 명령어를 제공 간단한 플래시 파일시스템 부트로더 생성 및 플래시 메모리에 적재 생성시 툴체인 활용 부트로더 소스코드와 make를 이용하여 부트로더 이미지 생성 생성된 부트로더는 타겟 시스템의 플래시 메모리에 퓨징(적재)

커널 포팅 커널 포팅(kernel porting) 커널 소스를 타겟 시스템에 적합하게 프로그래밍 및 컴파일해 생성된 커널 이미지를 타겟 시스템에 적재하는 과정

파일시스템 개요 파일: 저장 매체에 보관된 데이터 집합의 추상적 개념 용도에 따라 다른 파일시스템을 사용하는 것이 효율적 FAT(File Allocation Table): MS-DOS와 윈도우즈 95 NTFS(NT File System): 윈도우즈 XP EXT2, EXT3: 리눅스 ISO 파일시스템: CD-ROM NFS: 네트워크 EXT3, JFFS2: 저널링 파일시스템 임베디드 시스템 제한된 자원을 사용: 효율성 추구 열악한 환경에서도 안정적으로 가동 문제가 발생하면 자동으로 복구 전원을 차단해도 데이터 손실 없이 재가동 불필요한 파일을 제거 플래시 등에서 부팅하기 때문에 파일시스템의 설치에도 주의

파일시스템 개요 파일 시스템 종류

파일시스템 종류 휘발성 파일시스템 전원 인가를 제거하면 사라지는 파일시스템 메모리 일부를 하드디스크처럼 사용 시스템 설치나 장애 복구에 유용하게 사용 gzip으로 압축 필요 시 메모리 할당, 크기 조정 하나 이상 사용 가능 디스크가 없는 시스템에 유용 램디스크 파일시스템(RAMFS, RAM File System 혹은 RAMDISK File System) 초기 램디스크(initrd)

파일시스템 종류 비휘발성 파일시스템 FAT(File Allocation Table) , FAT32 NTFS(New Technology File System) EXT2, EXT3, EXT4 ReiserFS CRAMFS(Compressed ROM File System) JFFS(Journaling Flash File System), JFFS2 ISO(International Organization for Standardization) 9660

파일시스템 종류 특수 파일시스템 NFS VFS

루트 파일시스템 / 디렉토리에 마운트되는 파일시스템 커널이 동작하기 위한 공간, 라이브러리, 유틸리티 등을 포함 램디스크, JFFS2, NFS 등을 주로 사용 직접 구축하기 위해 준비할 데이터 glibc 라이브러리 시스템 초기화 프로그램인 sysvinit termcap 혹은 ncurses 등과 같은 라이브러리 쉘 패키지 bash 로그인을 위한 tinylogin 각종 유틸리티를 위한 패키지 busybox 커널 모듈을 관리하기 위한 유틸리티 modutils

임베디드 시스템 부팅 과정 Power On ROM BIOS에서 지정된 부트 드라이브로 부팅시작 1단계 Power On 2단계 ROM BIOS에서 지정된 부트 드라이브로 부팅시작 3단계 부트 드라이브의 첫 번째 섹터인 부트섹터 읽어 들임 4단계 부트섹터의 부팅 프로그램인 부트로더(GRUB) 작동 5단계 커널 이미지 적재 6단계 루트 파일 시스템 마운트 7단계 시스템 초기화 프로그램(init) 작동 8단계 Login

디바이스 드라이버 개요 디바이스: 컴퓨터시스템의 주변 하드웨어 디바이스 드라이버는 디바이스 구동 프로그램 디바이스의 종류 문자 디바이스(character device) 터미널, 콘솔, 키보드, 사운드카드, 스캐너, 프린터, 직렬/병렬 포트, 마우스, 조이스틱 등 블록 디바이스(block device) 하드디스크, 플로피 디스크, 램디스크, 테이프, CD-ROM, DVD 등 네트워크 디바이스(network device) 이더넷, PPP, SLIP, ATM, 네트워크 인터페이스 카드 주번호(major number)와 부번호(minor number)로 구분 동일한 디바이스는 동일한 주번호를 가지며 서로 구분하기 위해 부번호를 사용

디바이스 드라이버 개요 디바이스 드라이버 디바이스와 시스템 사이에 데이터를 주고받기 위한 인터페이스 표준적으로 동일한 서비스 제공을 목적 커널의 일부분으로 내장 서브루틴과 데이터의 집합체 디바이스의 고유한 특성을 내포 디바이스 드라이버 제작 과정 디바이스 드라이버 소스코드 작성 응용 프로그램 소스코드 작성 디바이스 드라이버와 응용 프로그램의 컴파일 호스트 시스템에서 타켓 시스템으로 디바이스 드라이버와 응용 프로그램을 전송 디바이스 드라이버를 타겟 시스템 커널에 적재 타켓 시스템에서 응용 프로그램을 수행하여 테스트

GPIO GPIO(General Purpose Input Output)

Thank you