슬라이드 1

Similar documents
PowerPoint 프레젠테이션

untitled

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

untitled

Embeddedsystem(8).PDF

Adding a New Dev file

KEY 디바이스 드라이버

Chapter #01 Subject

(Microsoft PowerPoint - Device Driver [\310\243\310\257 \270\360\265\345])

Mango220 Android How to compile and Transfer image to Target

(Microsoft PowerPoint - Device Driver [\310\243\310\257 \270\360\265\345])

디바이스드라이버 (Device Driver) Driver is literally a subject which drive a object. 응용프로그램에서하드웨어장치를이용해서데이터를직접읽고쓰거나제어해야하는경우에디바이스드라이버를이용 하드웨어를제어하는프로그램과애플리케이션에서

Microsoft Word doc

교육지원 IT시스템 선진화

슬라이드 1

1217 WebTrafMon II

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

PowerPoint 프레젠테이션

Mango-AM335x LCD Type 커널 Module Parameter에서 변경하기

ECE30076 Embedded System Programming - LED Device Driver


PowerPoint 프레젠테이션

Solaris Express Developer Edition

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

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

<4D F736F F F696E74202D205BBAB0C3B75D20B8AEB4AABDBA20B5F0B9D9C0CCBDBA20B5E5B6F3C0CCB9F620B8F0B5A82E >

PowerPoint Presentation

PowerPoint 프레젠테이션

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

04디바이스드라이버

PowerPoint 프레젠테이션

Microsoft PowerPoint - ARM 개발 환경.ppt

Microsoft Word - MPC850 SPI Driver.doc

10.

교육지원 IT시스템 선진화

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

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

PowerPoint 프레젠테이션

슬라이드 제목 없음

PCServerMgmt7

06Àå

6주차.key

Microsoft PowerPoint - lab14.pptx


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

GNU/Linux 1, GNU/Linux MS-DOS LOADLIN DOS-MBR LILO DOS-MBR LILO... 6

DE1-SoC Board

untitled

K&R2 Reference Manual 번역본

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

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

Chap06(Interprocess Communication).PDF

chap7.key

Chap 6 모듈프로그래밍및 디바이스드라이버구현

¨ìÃÊÁ¡2

PowerPoint 프레젠테이션

강의10

T100MD+

Sena Technologies, Inc. HelloDevice Super 1.1.0

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

Solaris System Administration

Microsoft PowerPoint APUE(Intro).ppt

특허청구의 범위 청구항 1 디바이스가 어플리케이션을 실행하는 방법에 있어서, 상기 디바이스에 연결된 제1 외부 디바이스와 함께 상기 어플리케이션을 실행하는 단계; 상기 어플리케이션의 실행 중에 제2 외부 디바이스를 통신 연결하는 단계; 및 상기 제1 외부 디바이스 및

교육지원 IT시스템 선진화

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,,,,,,,,,,,,,.,..., U.S. GOVERNMENT END USERS. Oracle programs, including any operat

PowerPoint 프레젠테이션

Microsoft PowerPoint - IOControl [호환 모드]

Microsoft Word doc

SMB_ICMP_UDP(huichang).PDF

목차 1. 제품 소개 특징 개요 Function table 기능 소개 Copy Compare Copy & Compare Erase

13주-14주proc.PDF

PowerPoint 프레젠테이션

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR

MySQL-Ch10

Microsoft PowerPoint - lab15.pptx

LXR 설치 및 사용법.doc

CD-RW_Advanced.PDF

BMP 파일 처리

Remote UI Guide

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

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

FreeBSD Handbook

MB525_M_1104_L.pdf

untitled

휠세미나3 ver0.4

DocsPin_Korean.pages

s SINUMERIK 840C Service and User Manual DATA SAVING & LOADING & & /

SRC PLUS 제어기 MANUAL

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint Driver-Char-3-2.ppt

hd1300_k_v1r2_Final_.PDF

Microsoft Word - KPMC-400,401 SW 사용 설명서

< B3E2C1A632C8B8BFF6B5E531B1DE42C7FC2E687770>

wp1_ hwp

Adobe Flash 취약점 분석 (CVE )

PRO1_04E [읽기 전용]

PowerPoint 프레젠테이션

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

Transcription:

/ 임베디드시스템개요 / 임베디드운영체제 / 디바이스드라이버

01 Linux System Architecture Application Area Application System Call Interface BSD Socket Virtual File System INET(AF_INET) Kernel Area Buffer Cache Network Subsystem Transport(TCP, UDP) Network(IP) Character Device Driver Block Device Driver Network Device Driver Device Interface Hardware Hardware

02 디바이스드라이버의개념 Device 란? 하드디스크, 플로피디스크, 프린터, 단말기, 스캐너와같이컴퓨터시스템이외의다른주변장치 Device on Linux Linux 에서 Device 는파일을통해서접근가능 사용자는 File operation 을적용할수있음 Major number 와 Minor number 를가짐

02 디바이스드라이버의개념 Device Driver 서브루틴과데이터의집합체 Device와시스템사이에데이터를주고받기위한 Interface 표준적으로동일한서비스제공을목적디바이스의고유한특성을감춤커널의일부분으로내장

02 디바이스드라이버의개념 Device Driver Overview Linux Kernel Device Interface Table Boot code blkdevs[] chrdevs[] int code X_open() X_release() X_read() X_write() X_ioctl() X_int() X_init() Interrupt Y_open() Y_release() Y_read() Y_write() Y_ioctl() Y_int() Y_init() X_controller Z_open() Z_release() Z_readl() Z_write() Z_ioctl() Z_int() Z_init() Set of Registers dev1 dev2 dev3

02 디바이스드라이버의개념 1. Char Device Char device 의특징 1 2 3 4 자료의순차성을지닌장치버퍼캐쉬를사용하지않음장치의 raw data를사용자에게제공 Console, Tape, Keyboard, Sound Card, Scanner, Printer Char device on Linux null : black hole tty* : virtual console pt* : pseudo-terminal crw--w--w- 0 root root 5, 1 Oct 1 1998 console crw-rw-rw- 1 root root 1, 3 May 6 1998 null crw------- 1 root root 4, 0 May 6 1998 tty crw-rw---- 1 root disk 96, 0 Dec 10 1998 pt0 crw------- 1 root root 5, 64 May 6 1998 cua0

02 디바이스드라이버의개념 2. Block device Block device 특징 1 2 3 4 5 random access 가능버퍼캐쉬에의한내부장치표현파일시스템에의해 mount 되어관리되는장치블록단위의입출력이가능한장치디스크, CD-ROM, Floppy Char device on Linux fd* : Floppy disk sd* : Hard disk brw------- 1 root floppy 2, 0 May 6 1998 fd0 brw-rw---- 1 root disk 8, 0 May 6 1998 sda brw-rw---- 1 root disk 8, 1 May 6 1998 sda1

02 디바이스드라이버의개념 Major & Minor Number Major number Link to the Device 같은 Device 의종류를지칭, 1Byte ( 주번호 ) Minor number 각 Device 의부가적인정보를나타냄, 1Byte ( 부번호 ) brw-rw---- 1 root disk 1, 0 May 6 1998 sda brw-rw---- 1 root disk 1, 1 May 6 1998 sda1 brw-rw---- 1 root disk 1, 2 May 6 1998 sda2 brw-rw---- 1 root disk 1, 3 May 6 1998 sda3

03 디바이스드라이버의개발과정 1 Make new device driver functions struct file_operations 정의 init_module, cleanup_module 정의 2 Register device driver to the kernel Select unused major and minor number register_chrdev() register_blkdev() register_netdev() 3 Make special file mknod

03 디바이스드라이버의개발과정 1. File Operation <linux/fs.h> loff_t (*llseek)(struct file *, loff_t, int); 현재의 read/write 위치를옮긴다. ssize_t (*read)(struct file *, char *, size_t, loff_t *); 디바이스에서데이터를가져오기위해서사용 ssize_t (*write)(struct file*, const char*, size_t, loff_t*); 디바이스에데이터를쓰기위해서사용 int (*readdir)(struct file *, void *, filldir_t); 디렉토리를다룰때사용 unsigned int (*poll)(struct file*, struct poll_table_struct*); 현재프로세스를대기큐에넣기위해서사용

03 디바이스드라이버의개발과정 1. File Operation int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long); 디비아스에종속적인명령을만들기위해사용 Int (*mmap) (struct file *, struct vm_area_struct *); 디바이스메모리를프로세스메모리에매핑 int (*open) (struct inode *, struct file *); 디바이스노드에의해수행되는첫번째동작 int (*flush) (struct file *); 디바이스를닫기전에모든데이터를쓴다. int (*release) (struct inode *, struct file *); 디바이스를닫을때수행

03 디바이스드라이버의개발과정 2. Making Special File mknod (Linux Command) make block or character special files device node라고부름 mknod [OPTION]... NAME TYPE [MAJOR MINOR] $ mknod fd0 b 5 3 Minor number Major number b(block) or c(char) Device Name

03 디바이스드라이버의개발과정 3. etc. Device 의정보를가지는 File 들 /proc/devices 현재 System 에장착되어있는 Device 들의정보 /usr/src/linux/documentation/devices.txt 현재 Linux System 에서정의되어있는 Device 들의 Major, Minor Number 들에대한정보 /usr/src/linux/include/linux/major.h Major Number 를 define 한 header

03 디바이스드라이버의개발과정 4. Skeleton Device Driver 개발환경과 DD 및 App 실행과정 Host 용터미널 (Edit, compile) Minicom ( 타겟용터미널 ) JTAG cable Target HOST HDD test.c test 1.Edit sk.c sk.ko make 2Cross compile Backend Serial cable Ethernet cross cable RAMDISK test 6../test 3. 전송 (Zmodem) /dev/sk sk.ko 4.insmod Memory wmlinux test 5.mknod sk.o