Скачать презентацию 제 1 장 임베디드 시스템 서론 Embedded Systems Скачать презентацию 제 1 장 임베디드 시스템 서론 Embedded Systems

220be6fe1e2e2196dddd5dddb881a24f.ppt

  • Количество слайдов: 61

제 1 장 임베디드 시스템 서론 (Embedded Systems Introduction) 이병권 제 1 장 임베디드 시스템 서론 (Embedded Systems Introduction) 이병권

Part I: 임베디드 시스템 개요 이병권 Part I: 임베디드 시스템 개요 이병권

목차 q 임베디드 시스템이란? q 임베디드 시스템 구성 요소 q System-on-chip 개요 q 프로세서 목차 q 임베디드 시스템이란? q 임베디드 시스템 구성 요소 q System-on-chip 개요 q 프로세서 q 버스와 인터페이스 q 입출력 q 저장장치 q 네트워킹 Embedded System Intro. -3

임베디드 시스템이란? 임베디드 시스템 특수 목적 하드웨어 구성 기술 운영체제 기술 Embedded System Intro. 임베디드 시스템이란? 임베디드 시스템 특수 목적 하드웨어 구성 기술 운영체제 기술 Embedded System Intro. 특수 목적 목적 지향의 재구성 네트워킹기술 응용 소프트웨어 기술 -4 일반 시스템 구성 기술

임베디드 시스템 종류 q 고전적 의미의 임베디드 시스템 v 제어용 시스템 Ø 제어 목적의 임베디드 시스템 종류 q 고전적 의미의 임베디드 시스템 v 제어용 시스템 Ø 제어 목적의 기능에 초점을 맞춘 간단한 하드웨어 Ø 펌웨어 수준의 소프트웨어나 간단한 실시간 운영체제 기반 소프트웨어 Ø 고정되어 있는 운용 소프트웨어 q 다양화된 임베디드 시스템 v 정보 가전 시스템 Ø 인터넷 및 가전 제어 기능이 부가된 댁내 시스템 v 이동 단말기 Ø 이동 통신 단말기 및 각종 이동형 컴퓨팅 환경 v 고수준의 제어 시스템의 일반화 Ø 기존의 일부 목적 전용의 시스템을 탈피하여 보다 일반화된 시스템을 채용하고 목적 에 맞게 소프트웨어를 교체하는 방향으로 정착 Embedded System Intro. -5

임베디드 시스템 구성 요소 q 임베디드 시스템 하드웨어 v 주 프로세서 v 제어 목적의 임베디드 시스템 구성 요소 q 임베디드 시스템 하드웨어 v 주 프로세서 v 제어 목적의 장치용 인터페이스 q 임베디드 시스템 소프트웨어 v 임베디드 운영체제 Ø 실시간 운영체제, 임베디드 시스템에 적용된 일반 운영체제 v 시스템 제어용 응용 소프트웨어 q 개발 환경 v 교차 개발 환경 v 개발 호스트 시스템 v 개발 타겟 시스템 Embedded System Intro. -6

임베디드 시스템 하드웨어 구성 요소 q 임베디드 시스템 프로세서 v 기본적으로 일반 시스템 프로세서 임베디드 시스템 하드웨어 구성 요소 q 임베디드 시스템 프로세서 v 기본적으로 일반 시스템 프로세서 기술에서 출발 v 임베디드 시스템 목적에 맞게 System-on-chip으로 구성 v 일반 시스템에 사용되는 대부분의 프로세서 코어가 실제적으로 임베디드 시스템에 서도 사용 q 버스와 인터페이스 v 프로세서와 메모리 시스템 등 시스템 내부의 데이터 흐름을 위한 통로 v 버스의 종류 Ø 일반 시스템 버스 Ø 발전된 시스템 버스 표준: PCI, PCMCIA, USB 등 q 외부 장치 v 입출력 장치 Embedded System Intro. -7

System-on-Chip q 하나의 칩에 프로세서, 메모리, 그리고 각종 입출력 제어기를 포함한 소형 기기 를 System-on-Chip q 하나의 칩에 프로세서, 메모리, 그리고 각종 입출력 제어기를 포함한 소형 기기 를 위한 프로세서 패키지 q 복잡, 다양한 기능을 가지는 임베디드 시스템 발전의 중요한 계기 q So. C의 예 v Intel XScale 기반 프로세서, TI OMAP, Freescale MX 1 등 Embedded System Intro. -8

System-on-Chip의 발전 q 기본 So. C 단계 v Processor core + basic I/O (UART) System-on-Chip의 발전 q 기본 So. C 단계 v Processor core + basic I/O (UART) + SRAM q 초기 이동 단말기용 So. C 단계 v Processor core + LCD controller + memory controller + various I/O interfaces q 확장된 기능을 위한 복합 So. C 단계 v Initial handheld So. C + multi-media accelerator + camera interface + other special functions q 다중 프로세서 코어 So. C v Generic purpose processor core + DSP core Embedded System Intro. -9

이동 단말기를 위한 So. C의 예 Dragonball MX 1 XScale-based PXA 26 x OMAP 이동 단말기를 위한 So. C의 예 Dragonball MX 1 XScale-based PXA 26 x OMAP Embedded System Intro. -10

주요 프로세서 코어 q x 86 q ARM q IBM/Motorola Power. PC q MIPS 주요 프로세서 코어 q x 86 q ARM q IBM/Motorola Power. PC q MIPS q Hitachi Super. H q Motorola 68000 q Intel XScale Embedded System Intro. -11

x 86 q 개요 v Intel사에 의해 배포되는 386, 486, Pentium 계열의 프로세서들 v x 86 q 개요 v Intel사에 의해 배포되는 386, 486, Pentium 계열의 프로세서들 v AMD사와 National Semiconductor사에서도 호환 프로세서들을 제공함 v 최근에 386 계열의 프로세서 코어와 PC의 기능 요소들을 System-on-Chip으로 통 합하는 경향이 나타남 Ø 예: National Semiconductor사의 Geode family, ZF Micro Devices사의 ZFx 86 v PC 시장과 달리 임베디드 시스템 시장에서는 ARM, MIPS, Power. PC 프로세서들에 비해서 점유율이 낮음 v 리눅스 커널이 원래 x 86 플랫폼에서 처음으로 개발되었기 때문에 x 86 프로세서 기 반 임베디드 시스템에 친화적임 (커널을 수정할 필요가 거의 없음) q 참고문헌 v “Intel Architecture Software Developer’s Manual” Volume 1, 2, 3 by Intel v “The PC Handbook” by J. Choisser & J. Foster Embedded System Intro. -12

ARM q 개요 v “Advanced RISC Machine”의 약어로서 ARM Holdings사에 의해서 유지, 추진되는 프로세서 ARM q 개요 v “Advanced RISC Machine”의 약어로서 ARM Holdings사에 의해서 유지, 추진되는 프로세서 패밀리 Ø ARM Holdings사는 직접 프로세서를 생산하지 않고 ARM 코어 설계만을 제공함. Intel, Toshiba, 삼성 등 프로세서 제조사는 ARM Holdings 사에 라이센스 비용을 지 불하고 ARM 코어 설계를 가져다가 System-on-Chip 형태로 패키징하여 판매. v 모든 ARM 프로세서들은 동일한 명령어 집합을 사용하므로 binary code 수준의 호 환성 존재 Ø 그러나 어떤 보드의 프로그램을 다른 보드에서 항상 실행할 수 있지는 않음 v 2003년 현재 10종의 ARM CPU들, 16종의 플랫폼들, 200종의 보드들에 리눅스가 이식되어 있음 Ø 대표적 예: Intel사의 SA 1110 Strong. ARM CPU와 Assabet 보드 Embedded System Intro. -13

ARM q 개요 (계속) v ARM 보드가 폭넓게 사용되고 있기 때문에 각종 프로젝트들이 ARM을 ARM q 개요 (계속) v ARM 보드가 폭넓게 사용되고 있기 때문에 각종 프로젝트들이 ARM을 지원함 Ø RTAI 프로젝트에서 ARM 리눅스 커널에 hard real-time 기능을 지원하며, Strong. ARM RTLinux 이식판도 http: //www. imec. be/rtlinux/ 에서 제공됨 Ø Blackdown 프로젝트에서 Java를 지원 v JTAG 디버거가 폭넓게 사용되고 있기 때문에 커널 디버거는 없음 q 참고문헌 v http: //www. arm. linux. org. uk/ v “ARM Architecture Reference Manual” by David Seal v “ARM System-on-Chip Architecture” by Steve Furber v 개별 ARM 프로세서 제조사의 매뉴얼을 참고할 것 Embedded System Intro. -14

IBM/Motorola Power. PC q 개요 v IBM사의 POWER (Performance Optimization With Enhanced RISC) 아키텍쳐를 IBM/Motorola Power. PC q 개요 v IBM사의 POWER (Performance Optimization With Enhanced RISC) 아키텍쳐를 기반으로 IBM, Motorola, Apple사가 공동 개발한 프로세서 Ø 예: Apple사의 Mac 컴퓨터에서 사용 v 관련 회사들은 초기에 “Power. PC Reference Platform (PRe. P)”에 합의하여 보드를 개발하였으나 이후에 표준 플랫폼을 “Common Hardware Reference Platform (CHRP)”으로 교체함 v i 386, ARM과 함께 리눅스가 가장 잘 지원하는 아키텍쳐 중의 하나 v PPC 리눅스 커널은 RTLinux, RTAI에 의해 지원되며, Java, Open. Office 와 같은 다 양한 소프트웨어가 이식되어 있음 q 참고문헌 v http: //penguinppc. org/ , http: //www. linuxppc. org/ v “Power PC Microprocessor Common Hardware Reference Platform: A System Architecture Guide”, Morgan Kaufmann Publishers v “Power. PC Microprocessor Family: Programming Environments for 32 -bit Microprocessors” Embedded System Intro. -15

MIPS q 개요 v “Computer Architecture: A Quantitative Approach” 책으로 널리 알려진 John Hennessy MIPS q 개요 v “Computer Architecture: A Quantitative Approach” 책으로 널리 알려진 John Hennessy 교수가 직접 개발한 프로세서로서 “Microprocessor without Interlocked Pipeline Stages” 프로젝트의 약어를 의미함 v SGI사에서 판매한 워크스테이션 및 서버들, Nintendo의 64 -bit 시스템, Sony사의 Playstation 1 & 2 등을 통해서 명성을 얻었음 v MIPS Technology사는 ARM Holdings사처럼 CPU 코어를 라이센스 형태로 제 3자 에게 판매함 v ARM과 달리 다양한 명령어 집합 구현들이 존재함 Ø 32 -bit MIPS 구현: IDT, Toshiba, Alchemy, LSI사 Ø 64 -bit MIPS 구현: IDT, Toshiba, LSI, NEC, QED, Sand. Craft사 v MIPS에 대한 리눅스의 지원은 i 386과 Power. PC와 비교할 때 제한적임 Ø 리눅스 배포사 중에서는 Debian과 Red Hat 7. 1만이 MIPS 이식판를 지원 Ø PDA 및 개발 보드 제조사들은 MIPS 보드를 많이 지원함 Ø Java 지원이 잘 안 되고, RTAI 프로젝트만 hard real-time 기능 지원 v 최근에 NEC의 VR 칩을 기반으로 만들어진 프로세서에 많은 개발자들이 리눅스를 이식하고 있음 (http: //linux-vr. org/ ) Embedded System Intro. -16

MIPS q 참고문헌 v http: //www. linux-mips. org/ v “See MIPS run” by Dominic MIPS q 참고문헌 v http: //www. linux-mips. org/ v “See MIPS run” by Dominic Sweetman v “MIPS Architecture for Programmers” Volume 1, 2, 3 by MIPS Technology Inc. Embedded System Intro. -17

Hitachi Super. H q 개요 v Hitachi사에서 8 -, 16 -bit H 8 마이크로콘트롤러를 Hitachi Super. H q 개요 v Hitachi사에서 8 -, 16 -bit H 8 마이크로콘트롤러를 향상시키면서 개발한 프로세서 로서 내부적으로 32 -bit 데이터를 조작하지만 외부로는 다양한 버스 폭을 제공함 v 이후에 Hitachi사와 STMicroelectronics사(SGS-Thomson Microelectronics)에 의 해서 공동 설립된 Super. H사는 ARM Holdings사, MIPS Technologies사처럼 프로 세서 라이센싱을 추구 v Hitachi사의 제품들, Sega Saturn, Dreamcast 게임 콘솔과 같이 소비자 지향 임베 디드 시스템에서 널리 사용됨 v 리눅스는 MMU가 없는 SH-1, SH-2 계열의 프로세서들을 지원하지 않고, MMU가 있는 SH-3 계열부터 일부 지원함 Ø 7707, 7708, 7709 SH-3 프로세서 Ø 7750, 7751, ST 40 SH-4 프로세서 Ø SH-5 프로세서에는 현재 리눅스 이식이 진행중 (http: //www. superh- software. com/linux/ 참고) Embedded System Intro. -18

Hitachi Super. H q 개요 (계속) v 커널 이외에 SH 프로세서에 대한 지원은 현재로서는 Hitachi Super. H q 개요 (계속) v 커널 이외에 SH 프로세서에 대한 지원은 현재로서는 제한적 Ø 커널 디버거는 있지만, Java 지원은 없음 Ø SH-4 프로세서에 RTLinux가 이식되었으나 FSMLabs에 의해 배포되는 공식 Open RTLinux에는 아직 포함되지 않음 (ftp: //ftp. aandd. co. jp/pub/linuxsh/rtlinux/current/ ) q 참고문헌 v http: //linuxsh. sourceforge. net/ , http: //www. m 17 n. org/linux-sh/ v Super. H RISC engine SH-3/SH-3 E/SH 3 -DSP Programming Manual v Super. H RISC engine SH-4 Programming Manual Embedded System Intro. -19

Motorola 68000 q 개요 v 리눅스에서는 m 68 k로 지칭하며, 리눅스 커널은 다수의 MMU Motorola 68000 q 개요 v 리눅스에서는 m 68 k로 지칭하며, 리눅스 커널은 다수의 MMU 내장 프로세서들, 커 널 2. 5에서는 MMU 없는 프로세서들도 지원함 v Atari, Apple, Amiga사 제품들과 HP, Sun, Apollo사의 워크스테이션들에서 폭넓게 사용되었으며, 임베디드 시스템 시장에서도 관심이 높았으나 현재에는 ARM, MIPS, SH, Power. PC에 밀려 관심 저하 v 리눅스 커널은 위에서 언급한 시스템들을 모두 지원하며 Motorola와 BVM의 VME 시스템(뒷장의 “VME 버스” 참고)도 지원함 v 최근에 MMU 내장 m 68 k 프로세서들이 거의 사용되지 않기 때문에, 리눅스 소프트 웨어 지원은 상당히 부족함 Ø Java, hard real-time, Open. Office 모두 지원되지 않음 v Debian 배포판만이 가장 많은 지원을 하고 있음 q 참고문헌 v http: //www. linux-m 68 k. org/ v 68000 Family Programmer’s Reference Manual v M 68000 8 -/16 -/32 -Bit Microprocessors User’s Manual Embedded System Intro. -20

Intel XScale Microrchitecture Efficiency Enhancement ARMv 4 T ARMv 5 TE DSP Enhancement Enhanced Intel XScale Microrchitecture Efficiency Enhancement ARMv 4 T ARMv 5 TE DSP Enhancement Enhanced MAC ARMv 5 TE Power Management Performance Monitor Debug & More Embedded System Intro. -21 XScale

버스와 인터페이스 q 세부목차 v ISA v PCI v PCMCIA v PC/104 v VME 버스와 인터페이스 q 세부목차 v ISA v PCI v PCMCIA v PC/104 v VME v Compact. PCI v SCSI v USB v IEEE 1394 (Fire. Wire) v GPIB v I 2 C Embedded System Intro. -22

ISA q 개요 v “Industry Standard Architecture”의 약어로서 PC-AT 아키텍쳐를 위해서 설계된 버스 v ISA q 개요 v “Industry Standard Architecture”의 약어로서 PC-AT 아키텍쳐를 위해서 설계된 버스 v 물리 주소 공간으로의 매핑과 같은 기능이 부족함에도 불구하고 PC 환경에서 큰 성 공을 거둠 v ISA 디바이스들은 x 86 명령어 집합이 이미 제공하는 I/O 포트 프로그래밍에 의해서 조작 가능함 Ø 커널은 디바이스 드라이버들이 해당 디바이스를 사용할 수 있도록 (버스 활성화와 같 은) 별도의 작업을 해 줄 필요가 없음 Ø 디바이스 드라이버들은 지정된 포트에 in/out 어셈블리 함수를 사용하여 해당 디바이 스를 곧장 접근함 v 임베디드 시스템에서 Plug and Play (PNP) 기능을 필요로 할 경우에는 ISA 대신 Compact. PCI, PCMCIA, USB 등을 사용함 v Extended ISA (EISA)는 대중화에 실패하고 PCI 버스에 의해서 추월되었음 q 참고문헌 v “ISA System Architecture” by Anderson and Shanley Embedded System Intro. -23

PCI q 개요 v “Peripheral Component Interconnect”의 약어로서 현재 가장 크게 성공한 버스이 며 PCI q 개요 v “Peripheral Component Interconnect”의 약어로서 현재 가장 크게 성공한 버스이 며 PCI Special Interest Group (PCI-SIG)이 spec을 관리함 v i 386에서 ISA의 대체 버스로서 개발되었지만, PPC와 MIPS 아키텍쳐에서도 사용 v ISA와 달리 커널은 디바이스 드라이버들이 해당 디바이스를 사용할 수 있도록 PCI 버스를 활성화하는 작업을 미리 수행해야 함 Ø PC에서는 BIOS가 PCI 활성화를 수행해주기 때문에, 커널은 BIOS의 PCI 관련 테이 블을 검색하기만 하면 됨 Ø 커널은 디바이스 드라이버들이 해당 디바이스를 접근할 수 있도록 API와 접근 정보 를 제공함 v 리눅스의 PCI 버스 지원은 비교적 완전하다고 할 수 있음 q 참고문헌 v “PCI System Architecture” by Shanely and Anderson Embedded System Intro. -24

PCMCIA q 개요 v “Personal Computer Memory Card International Association”의 약어로서 PCMCIA 표준을 제정하는 PCMCIA q 개요 v “Personal Computer Memory Card International Association”의 약어로서 PCMCIA 표준을 제정하는 기구와 버스 이름을 동시에 지칭함 v 초기에 제시된 16 -bit 카드 표준 이후에 32 -bit Card. Bus 표준과 USB Card. Bay 명 세 표준을 제시함 v PCMCIA를 통해서 Compaq사의 i. PAQ에서 무선 랜 카드를 사용할 수 있으며, 다른 시스템에서는 Compact. Flash 카드와 같은 영구 저장 장치를 사용할 수 있음 v 리눅스 커널의 PCMCIA 지원은 두 갈래로 진행중임 Ø David Hinds가 관리하는 Linux PCMCIA 프로젝트 ü http: //pcmcia-cs. sourceforge. net/ ü i 386 아키텍쳐는 완벽하게, PPC는 부분적으로 지원하며, 다른 종류의 아키텍쳐 에 대한 지원은 미미함 Ø 공식 커널 버전에 제공하는 PCMCIA 지원 ü 위 프로젝트에서 이미 지원하는 PCMCIA 카드 중 일부만을 지원함 ü 현재로서는 David Hinds의 패키지를 사용하는 것이 좋음 q 참고문헌 v “Linux PCMCIA Programmer’s Guide” by David Hinds Embedded System Intro. -25

PC/104 q 개요 v 거친(rugged) 실행 환경을 가진 임베디드 시스템에서 ISA의 대체 버스로서 사용할 PC/104 q 개요 v 거친(rugged) 실행 환경을 가진 임베디드 시스템에서 ISA의 대체 버스로서 사용할 수 있도록 PC/104 Consortium에서 제안한 표준 v ISA와 동일한 전기적 신호를 가지며, ISA의 기계적 명세의 단점을 보완하여 확장성 과 견고성을 향상시킴 Ø 카드 삽입을 위해 ISA가 “slot”을 사용하는 것과 달리, PC/104는 “pin connector”를 사용함 v PCI가 대중화되자, PCI 신호와 호환성 있는 PC/104++ 버스가 제안됨 v 신호 차원에서 PC/104가 ISA와 동일하고, PCI/104++가 ISA 및 PCI와 동일하므로, 이론적으로 소프트웨어 차원에서 이들 버스를 지원하기 위해 추가의 작업이 요구되 지는 않음 v 그러나, 리눅스가 모든 PC/104, PC/104++ 디바이스를 지원하지는 않음 Embedded System Intro. -26

VME q 개요 v Motorola사의 VERSA backplane 버스를 기반으로, Motorola, Mostek, Signetics사 가 개발한 VME q 개요 v Motorola사의 VERSA backplane 버스를 기반으로, Motorola, Mostek, Signetics사 가 개발한 버스로서 VERSA의 전기적 신호와 Eurocard mechanical form factor를 결합함 (“VERSA Module Eurocard”의 약어) v 강력하고 견고한(rugged) 시스템을 구성할 때 많이 사용되며 어떤 표준화 기구에 의해서 좌우되지 않는 개방 표준(open standard)이라는 점 때문에 널리 사용됨 v VME 버스를 통해 각각 자신만의 CPU와 OS를 가진 다수의 VME 보드들을 backplane에 수직으로 삽입함 (pin connector로 연결) v 각 보드가 버스 마스터가 되기 위해서는 중재(arbitration)가 필요하며, VME 보드에 서 실행하는 리눅스는 이를 위해 VME 하드웨어와 상호작용함 v 현재 두 갈래의 Linux VME 프로젝트가 있음 Ø Motorola 68 K 기반 보드들에 리눅스 이식 (http: //www. sleepie. demon. co. uk/linuxvme/) Ø CPU와 무관하게 모든 VME 보드들에 리눅스를 이식하는 VMELinux 프로젝트 (http: //www. vmelinux. org ) Ø 이 밖에도 DENX Software Engineering에서는 PPC기반 보드들에 리눅스 이식 Embedded System Intro. -27

VME q 참고문헌 v “VMEbus International Trade Association (VITA)” web site v “The System VME q 참고문헌 v “VMEbus International Trade Association (VITA)” web site v “The System Engineer’s Handbook: A guide to building VMEbus and VXIbus systems” by John Black Embedded System Intro. -28

Compact. PCI q 개요 v Ziatech사와 Compact. PCI의 표준을 관리하는 PCI Industrial Computer Manufacture’s Compact. PCI q 개요 v Ziatech사와 Compact. PCI의 표준을 관리하는 PCI Industrial Computer Manufacture’s Group (PICMG)에 의해서 개발됨 v high performance & high availability 응용 시스템을 위한 플랫폼용으로 사용 v 설계상 장점은 VME 버스를 통해 유명해진 Eurocard form factor를 사용하고 전기 적 신호 차원에서 PCI와 동일하게 만들어 저가의 PCI 칩들을 그대로 사용할 수 있 다는 것 v Compact. PCI는 VME 버스와 유사하게 Compact. PCI backplane에 Compact. PCI 보 드를 수직으로 삽입함 (pin connector로 연결) v 그러나, VME 버스처럼 다수의 버스 마스터를 허용하지 않고 단 하나의 버스 마스터 를 요구함 v 시스템 실행중 Compact. PCI 보드의 삽입과 삭제가 가능하도록 “Hot Swap” 모드를 제공함 Embedded System Intro. -29

Compact. PCI q 개요 (계속) v 리눅스는 기본적인 Compact. PCI 명세를 지원하고 있으며, hot Compact. PCI q 개요 (계속) v 리눅스는 기본적인 Compact. PCI 명세를 지원하고 있으며, hot swap 기능은 2. 4 버 전에서 제공함 Ø Linux Hotplugging 프로젝트 (http: //linux-hotplug. sourceforge. net/ ) v 그러나, 리눅스에는 Compact. PCI 보드들을 위한 드라이버가 현재로서 거의 없기 때 문에 고가용성을 추구하는 다양한 상업용 solution들이 등장 Ø Availix사의 HA Cluster, Monta. Vista사의 High Availability Framework Ø High-Availability Linux 프로젝트(http: //linux-ha. org/)가 진행중이며 Compact. PCI 에만 제한되지는 않음 q 참고문헌 v http: //linux-hotplug. sourceforge. net/ Embedded System Intro. -30

SCSI q 개요 v “Small Computer Systems Interface”의 약어로서 Shugard Associates에 의해서 처음으로 소개된 SCSI q 개요 v “Small Computer Systems Interface”의 약어로서 Shugard Associates에 의해서 처음으로 소개된 이후 ANSI, ITIC, NCITS, T 10 등의 표준화 기구에 의해서 표준으 로 정착함 v high-end 워크스테이션 및 서버의 하드 드라이브를 위한 고처리량 인터페이스로 임베디드 시스템에서 많이 사용되지는 않음 Ø Compact. PCI 기반 고가용성 시스템에서는 사용: Compact. PCI backplane에 Compact. PCI SCSI controller를 꽂아서 SCSI 디바이스들을 연결함 v 리눅스 커널 개발자들은 SCSI 관련 코드를 대대적으로 재작성할 계획이 있으므로 SCSI 장착 시스템을 개발할 때 소프트웨어 개발자는 주의가 요구됨 q 참고문헌 v http: //www. torque. net/sg/ , http: //www. andante. org/scsi. html v “The Book of SCSI: I/O for The Millennium” by Gary Field and Peter Ridge Embedded System Intro. -31

USB q 개요 v “Universal Serial Bus”의 약어로서 USB Implementers Forum (USB-IF)에서 spec 관리 USB q 개요 v “Universal Serial Bus”의 약어로서 USB Implementers Forum (USB-IF)에서 spec 관리 v PC의 직렬/병렬 포트 등 저속 인터페이스를 교체할 목적으로 개발된, 사용하기 편 한 고속 인터페이스 v USB 디바이스들은 나무 구조를 형성하여 연결됨 Ø 주보드는 root hub라고 불리며 모든 USB 디바이스들과 non-root hub들이 연결됨 Ø direct USB cabling을 통해서 시스템들을 네트워킹할 수 없다는 단점이 있음 Ø 그러나 일부 제조사는 USB 표준과 달리 USB를 통해서 host-to-host link를 만들어 주는 solution을 제공함. 그리고 USB Ethernet adapter도 있으므로 USB을 이용한 네트워킹이 가능함. Embedded System Intro. -32

USB(Cont. ) q 개요 (계속) v 현재 리눅스는 USB root hub로서의 충분한 기능을 지원하고 USB(Cont. ) q 개요 (계속) v 현재 리눅스는 USB root hub로서의 충분한 기능을 지원하고 있음 Ø USB Stack과 다수의 드라이버들이 제공됨 (http: //www. linux-usb. org/ ) Ø USB 디바이스 제조사들은 리눅스 드라이버 작성에 매우 비협조적임 v 그러나 리눅스 커널이 USB 디바이스로서 동작하게 하는 데에는 지원이 아직 부족 함 Ø Compaq사의 i. PAQ에서는 이미 이 기능을 구현하였으나, 현재 합의된 표준 구현이 없음 q 참고문헌 v USB Specification by USB-IF v “Programming Guide for Linux Device Drivers” by Detlef Fliegl Embedded System Intro. -33

IEEE 1394 (Fire. Wire) q 개요 v Fire. Wire는 Apple사의 트레이드마크로서 나중에 IEEE 1394 IEEE 1394 (Fire. Wire) q 개요 v Fire. Wire는 Apple사의 트레이드마크로서 나중에 IEEE 1394 표준 형성에 크게 기여 함 v IEEE 1394는 USB와 유사하며 단순한 저가 하드웨어 인터페이스를 통해 고속 전송 을 할 목적으로 개발되었으며, USB보다 훨씬 빠름 Ø 디지털 카메라, 외장 하드 드라이브와 같은 고속 처리 장치들에 적합 Ø 최근 개선된 USB 표준은 처리 속도를 개선하였지만 아직 IEEE 1394에 미치지 못함 v USB와 달리 디바이스들 간의 연결은 daisy-chain 스타일 또는 IEEE 1394 hub를 사 용하여 만들며, SCSI에서 필요했던 termination도 필요없음 Ø USB에서 불가능했던 두 개 이상의 컴퓨터들의 직접 연결도 가능 Ø 고속 네트워킹을 위한 IP over IEEE 1394 구현을 위한 RFC도 있음 v 리눅스의 IEEE 1394 지원은 충분히 성숙하여 다양한 IEEE 1394 디바이스들을 지원 할 수 있음 Ø IEEE 1394 for Linux 프로젝트 (http: //www. linux 1394. org/ ) q 참고문헌 v “Fire. Wire System Architecture” by Don Anderson Embedded System Intro. -34

GPIB q 개요 v “General-Purpose Interface Bus”의 약어로서 HP사의 HP-IB 버스에서 기원하였 으며 IEEE GPIB q 개요 v “General-Purpose Interface Bus”의 약어로서 HP사의 HP-IB 버스에서 기원하였 으며 IEEE 488 표준임 v 데이터 수집과 분석에 사용되는 많은 디바이스들이 사용하는 인터페이스 v stackable connector를 사용 Ø 컴퓨터와 디바이스 A를 케이블로 연결하고, A의 케이블 connector에 디바이스 B를 연결하기 위한 새 케이블의 connector를 부착할 수 있음 v 리눅스 커널은 GPIB 어댑터를 위한 드라이버를 전혀 제공하지 않지만, Linux GPIB 프로젝트가 진행중임 Ø http: //linux-gpib. sourceforge. net/ 에서 커널 드라이버, 사용자 수준 라이브러리 등 을 제공하며 HP, Keithley, National Instruments사의 하드웨어들을 지원함 q 참고문헌 v “Linux-GPIB User’s Guide” 매뉴얼 Embedded System Intro. -35

I 2 C q 개요 v “Inter-Integrated Circuit”의 약어로서 TV set 내부의 컴포넌트 간 I 2 C q 개요 v “Inter-Integrated Circuit”의 약어로서 TV set 내부의 컴포넌트 간 통신을 위해 Philips사에 의해 개발되었으며 현재 다양한 임베디드 디바이스들에서 사용됨 v small-scale 버스로서 임베디드 시스템의 IC 컴포넌트 간에 제한된 양의 데이터 교 환을 목적으로 하는 단순한 직렬 버스 (I 2 C 디바이스들: LCD driver, EEPROM, DSP) v 모든 디바이스들은 두 개의 wire로 연결되는데, 하나는 클럭 시그널 (Serial Clock: SCL)을 위한 것이고, 다른 하나는 데이터 (Serial Data: SDA)를 위한 것임 v wire 상에 있는 모든 디바이스들은 버스 마스터가 될 수 있지만, 통상적인 구현은 단 하나의 버스 마스터만 두는 것임 v 리눅스는 다수의 I 2 C 디바이스들을 지원하며 이것과 관련하여 “System Management Bus (SMBus)”를 지원함 v 하드웨어 모니터용 센서 디바이스들이 I 2 C를 많이 사용하기 때문에 Linux hardware monitoring 프로젝트(http: //www 2. lm-sensors. nu/~lm 78/)에서 I 2 C 관련 지원을 하고 있음 q 참고문헌 v http: //www. semiconductors. philips. com/busses/i 2 c/ Embedded System Intro. -36

입출력 q 세부목차 v Serial Port v Parallel Port v Modem v Data Acquisition 입출력 q 세부목차 v Serial Port v Parallel Port v Modem v Data Acquisition v Process Control v Home Automation v Keyboard v Mouse v Display v Sound Embedded System Intro. -37

Serial Port q 개요 v 호스트와 타겟 사이의 통신을 위해 RS 232 직렬 연결이 Serial Port q 개요 v 호스트와 타겟 사이의 통신을 위해 RS 232 직렬 연결이 폭 넓게 사용됨 v RS 232는 단지 하드웨어 인터페이스이며 리눅스 커널은 RS 232 통신을 실제 수행하 는 UART (Universal Asynchronous Receiver-Transmitter) 라는 칩에 대한 드라이 버를 제공함 Ø drivers/char/serial. c : main serial driver v 리눅스에서 직렬 인터페이스에 대한 접근은 터미널 디바이스를 통해서만 가능함 /dev/tty. S 0 ~ /dev/tty. S 191 q 참고문헌 v “Serial Programming HOWTO” v “Advanced Programming in the UNIX Environment” by Richard Stevens Embedded System Intro. -38

Parallel Port q 개요 v 프린터 외에도 하드 드라이브, 스캐너, 네트워크 어댑터 등도 연결 Parallel Port q 개요 v 프린터 외에도 하드 드라이브, 스캐너, 네트워크 어댑터 등도 연결 가능 v IEEE 1284는 병렬 포트를 통한 외부 디바이스와의 통신을 정의하는 표준 v PC 스타일의 SBC(Single Board Computer)가 아니라면 임베디드 시스템에서는 병렬 포트는 거의 사용되지 않으며, USB 및 IEEE 1394 발명 후에는 필요성이 더 감소함 v 임베디드 시스템에서는 multibit 입출력용으로 사용할 수 있음 Ø 디버깅 목적으로 LED를 병렬 포트 핀들에 연결하여 시스템 코드의 진행 상태를 LED에 표시할 수 있음 v 리눅스 병렬 포트 드라이버는 3 계층으로 구성됨 Ø low-level driver: 하드웨어 인터페이스 관리 Ø middle-level driver: 아키텍쳐 독립적인 드라이버 Ø high-level driver: line printer 드라이버가 대표적인 예임 (/dev/lp 0 ~ /dev/lp 1) v 병렬 포트 자체는 /dev/partport. X 로 접근할 수 있으며 사용자 공간 병렬 포트 드라이버가 있으 면 사용 가능 (drivers/char/ppdev. c 참고) q 참고문헌 v Linux Parallel Port Homepage (http: //www. torque. net/linux-pp. html) v “The Linux 2. 4 Parallel Port Subsystem” (http: //people. redhat. com/twaugh/parport/) Embedded System Intro. -39

Modem q 개요 v 임베디드 시스템은 POTS (plain old telephone system)와 인터페이스를 하기 위해 Modem q 개요 v 임베디드 시스템은 POTS (plain old telephone system)와 인터페이스를 하기 위해 모뎀을 사용함 v 이를 통해서 알람 시스템, 현금 지급기, 원격 모니터링 하드웨어 등은 중앙 시스템 에 접속 가능 v 리눅스에서 모뎀은 직렬 포트로 보이기 때문에 일반적으로 UART 드라이버를 통해 서 제어함 v 그러나 리눅스는 최근에 PC 시장에 등장한 Win. Modem을 아직 지원하지 못함 Ø Win. Modem은 주로 Windows 계열 운영체계에서 사용할 목적으로 개발된 모뎀으로 서 최소한의 하드웨어 기능 외에는 모두 소프트웨어 드라이버가 전체 기능을 수행함. 리눅스의 경우 이런 종류의 모뎀을 serial driver를 통해서 동작시킬 수 없음. q 참고문헌 v Win. Modem 지원 프로젝트 (http: //www. linmodems. org/) Embedded System Intro. -40

Data Acquisition q 개요 v 데이터 수집 하드웨어(DAQ)는 transducer라는 하드웨어가 물리적인 현상을 전기적 신호로 Data Acquisition q 개요 v 데이터 수집 하드웨어(DAQ)는 transducer라는 하드웨어가 물리적인 현상을 전기적 신호로 바꾼 이후에 이를 sampling하는 하드웨어임 v DAQ는 다양한 형태를 가지고 있어서, 아직 통일된 표준적인 인터페이스가 없음 v 리눅스에서는 Comedi (COntrol and MEasurement Device Interface)라는 프로젝 트를 통해 표준적인 인터페이스를 제공하려고 노력 중 Ø 다양한 DAQ 보드에 대한 디바이스 드라이버와 통일된 API를 제공하는 사용자 라이 브러리 (Comedilib) 및 커널 모듈 (Kcomedilib)을 제공 Embedded System Intro. -41

Process Control q 개요 v DAQ와 함께 프로세스 자동화 시스템(process automation system)의 중요한 요소 Process Control q 개요 v DAQ와 함께 프로세스 자동화 시스템(process automation system)의 중요한 요소 이며, 일반적으로 PLC를 사용함으로써 프로세스 제어 수행 v 리눅스에서는 프로세스 제어를 크게 나누어 3가지 방법으로 할 수 있음 Ø 직렬 또는 병렬 포트에 step motor와 같은 외부 하드웨어를 연결하고 직렬/병렬 포트 프로그래밍을 통해서 제어 프로그램 구현 Ø 외부 버스에 프로세스를 제어하는 특수 보드를 연결하고 이 보드의 리눅스 드라이버 를 구현 (Comedi 패키지에서 많은 제어 보드를 지원) Ø 전통적인 PLC를 대체할 수 있는 리눅스 시스템이 현재 개발중임 ü Machine Automation Tools Linux. PLC (http: //mat. sourceforge. net/) 프로젝트 는 PLC 언어 인터프리터, 하드웨어 드라이버, PLC 모듈 동기화 라이브러리, GUI 인터페이스 등을 제공함 Embedded System Intro. -42

Home Automation q 개요 v 주거 자동화(home automation)에 관한 폭넓은 정보는 Dan Hoehnen’s Home Home Automation q 개요 v 주거 자동화(home automation)에 관한 폭넓은 정보는 Dan Hoehnen’s Home Automation Index를 참고할 것(http: //www. homeautomationindex. com) v 주거 자동화에서 자주 사용되는 기술 중 하나인 X 10 Power Line Carrier 기술은 최 근에 특허 유효 기간이 만료되어 많은 업체들이 경쟁적으로 X 10 호환 장비들을 개 발 판매하고 있음 Ø X 10 Power Line Carrier 기술은 가정에 들어오는 전력선(power line)에 짧은 RF bursts를 실어서 통신하는 기술임 Embedded System Intro. -43

Keyboard & Mouse q 키보드 v 일반적으로 임베디드 시스템은 키보드를 장착하지 않지만, 최근에 웹을 Keyboard & Mouse q 키보드 v 일반적으로 임베디드 시스템은 키보드를 장착하지 않지만, 최근에 웹을 사용하는 소비자 위주의 응용에서는 키보드의 유사 형태가 사용됨 v 리눅스에서는 터미널 입출력 시스템을 통해서 키보드 입력을 처리하며, PDA의 경 우 필기체 인식 소프트웨어도 터미널 시스템에 연관됨. v 리눅스의 터미널 입출력 시스템은 다음과 같이 여러 단계의 드라이버들 로 구성됨 Ø 일반 키보드: char/pc_keyb. c, char/keyboard. c, char/tty_io. c Ø USB 키보드: usb/usbkbd. c, input/keybdev. c, char/keyboard. c, char/tty_io. c q 마우스 v 임베디드 시스템에서는 마우스보다는 터치스크린이 널리 사용되며, 이것은 마우스 입력과 동일하게 처리됨 v 마우스 타입마다 마우스 프로토콜이 다르지만, 잘 정의된 API가 이미 제공되고 있음 Embedded System Intro. -44

Display & Sound q 디스플레이 v 임베디드 시스템의 디스플레이는 LED, alpha-numeric LCD로부터 최근에 고해상 Display & Sound q 디스플레이 v 임베디드 시스템의 디스플레이는 LED, alpha-numeric LCD로부터 최근에 고해상 도 LCD로 급격히 발전하고 있음 v 리눅스에서는 디스플레이를 일차적으로 터미널 콘솔(console)로 취급하여 문자 출 력에 이용하지만, 보다 정교한 그래픽 인터페이스를 제공하기 위해 X 윈도우 이외 의 윈도우 시스템을 도입 Ø Qt, GTK, Microwindows 등 q 사운드 v 소비자 지향 시스템에서는 사운드가 중요한 요소로 부각 v 리눅스의 사운드 시스템은 아직 많은 개발이 요구되는 부분임 Ø 리눅스의 Open Sound System (http: //www. opensound. com/pguide) 구조는 커널 2. 5 이전 버전의 모든 사운드 카드 드라이버가 사용해 왔지만, 현대적인 오디오 하드 웨어에 부적합하다고 알려짐 Ø Advanced Linux Sound Architecture (http: //www. alsa-project. org/)가 곧 OSS 시 스템을 대체할 것으로 기대됨 Embedded System Intro. -45

저장장치 q 세부목차 v Memory Technology Devices Ø ROM and RAM Ø Disk. On. 저장장치 q 세부목차 v Memory Technology Devices Ø ROM and RAM Ø Disk. On. Chip Ø CFI-compliant flash Ø JEDEC-compliant flash Ø Non-DOC NAND flash Ø Old non-CFI flash v Compact. Flash Embedded System Intro. -46

Memory Technology Devices q 개요 v ROM, RAM, flash, M-Systems사의 Disk. On. Chip (DOC) Memory Technology Devices q 개요 v ROM, RAM, flash, M-Systems사의 Disk. On. Chip (DOC) 등과 같은 모든 메모리 디 바이스들을 포괄적으로 지칭함 v 각 메모리 디바이스들은 고유의 특성과 한계를 가지고 있으며, 이를 임베디드 시스 템에서 사용하기 위해서는 일반적으로 별도의 tool이 요구됨 Ø ROM (Read-Only Memory): power-off 상태에서도 contents 유지, 일반적으로 reprogramming 불가 Ø RAM (Random Access Memory): power-on 상태에서만 contents 유지 Ø flash memory: power-off 상태에서도 contents가 유지되며, reprogramming 가능 v 리눅스 커널은 메모리 디바이스들 사용에 있어 개별적인 tool을 사용하는 것을 피하 고 표준적인 인터페이스를 제공하기 위해 MTD 시스템을 제공 Ø http: //www. linux-mtd. infradead. org/ Embedded System Intro. -47

Memory Technology Devices q ROM and RAM q Disk. On. Chip v M-Systems사에서 제공하는 Memory Technology Devices q ROM and RAM q Disk. On. Chip v M-Systems사에서 제공하는 패키징된 NAND flash product q CFI-compliant flash q JEDEC-compliant flash q Non-DOC NAND flash v NAND flash product로서 가장 인기있는 것은 M-Systems사의 DOC이지만, DOC 와 다른 종류의 NAND flash product들도 사용되고 있음 Ø include/linux/mtd/nand-ids. h 파일 참조 q Old non-CFI flash Embedded System Intro. -48

Compact. Flash q 개요 v ATA-compliant flash device로서 앞에서 설명한 Memory Technology Device와 달리 Compact. Flash q 개요 v ATA-compliant flash device로서 앞에서 설명한 Memory Technology Device와 달리 오직 ATA (IDE) 인터페이스를 통해서만 사용 가능 Ø AT Attachment (ATA): 1986년 Imprimis, Western Digital, Compaq사에 의해서 개 발된 인터페이스 표준. 종종 IDE (Integrated Drive Electronics)라고 불리지만, ATA 가 공식 명칭임. Embedded System Intro. -49

네트워킹 q 세부목차 v Ethernet v IEEE 802. 11 (Wireless) v Ir. DA v 네트워킹 q 세부목차 v Ethernet v IEEE 802. 11 (Wireless) v Ir. DA v Bluetooth Embedded System Intro. -50

Ethernet q 개요 v Xerox PARC research center에 의해 개발된 이후로 현재 가장 광범위하게 Ethernet q 개요 v Xerox PARC research center에 의해 개발된 이후로 현재 가장 광범위하게 사용되 는 네트워크 인터페이스 v 10 Mbps, 100 Mbps, Gigabit Ethernet까지도 존재 v 임베디드 시스템에서 개발 단계에서 많이 사용 Embedded System Intro. -51

IEEE 802. 11 (Wireless) q 개요 v 무선 랜 환경에서 광범위하게 사용되고 있는 무선 IEEE 802. 11 (Wireless) q 개요 v 무선 랜 환경에서 광범위하게 사용되고 있는 무선 통신 표준 v 2. 4 GHz (802. 11 b)와 5 GHz (802. 11 a) 주파수를 사용 v PDA와 같은 사용자 지향적인 임베디드 시스템에서 많이 사용됨 v 리눅스는 802. 11 b를 따르는 하드웨어를 폭넓게 지원하고 있음 Ø kernel build option에서 다수의 onboard 또는 non-PCMCIA bus-attached device 들을 지원 Ø PCMCIA 802. 11 card들은 David Hinds’ PCMCIA 패키지 안에서 지원 v 리눅스에서 ethernet을 위해 사용하던 대부분의 tool을 모두 사용할 수 있음 v 단, identification, encryption keys, signal strength and link quality monitoring 등 을 위해서 추가의 tool의 요구됨 (Jean Tourrilhes’ web site 참조) Embedded System Intro. -52

Ir. DA q 개요 v 1993년 50여개 회사가 연합해 설립한 Infrared Data Association (Ir. Ir. DA q 개요 v 1993년 50여개 회사가 연합해 설립한 Infrared Data Association (Ir. DA)에 의해서 개발된 적외선 데이터 통신 인터페이스 v 다른 통신 인터페이스에 비해 훨씬 저렴하다는 것이 큰 장점 v 1 미터 범위 안에서 최대 4 Mbps 까지 전송률 제공 v Ir. DA 통신 내내 두 시스템의 적외선 송출 포트가 마주 보아야 한다(directional pointing)는 제약점이 있음 Ø 그러나, 이 특징은 무선 네트워크에서 흔히 제기되는 보안 문제에 대한 해결책으로 간주되기도 함. 즉, 사용자가 포인팅하는 시스템에만 데이터를 보내줄 수 있다는 특 징은 큰 장점 Embedded System Intro. -53

Linux Ir. DA Subsystem Architecture Applications TCP/IP PPP TTY Ir. LAN Ir. COMM Ir. Linux Ir. DA Subsystem Architecture Applications TCP/IP PPP TTY Ir. LAN Ir. COMM Ir. NET Open. OBEX IAP Tiny. TP Ir. LMP Ir. LAP SIR Ir. TTY Serial Dongles Ir. Port On-board device Ir. PHY Embedded System Intro. -54 Bus-attached device USB Dongle FIR

Linux Ir. DA 구현 q Ir. PHY v 적외선 통신을 수행하는 물리적인 장치. 속도에 Linux Ir. DA 구현 q Ir. PHY v 적외선 통신을 수행하는 물리적인 장치. 속도에 따라 다음 3가지로 분류 Ø serial infrared (SIR): up to 115. 2 Kbps, medium infrared (MIR): up to 1. 152 Mbps, fast infrared (FIR): up to 4. 0 Mbps Ø very fast infrared (VFIR): up to 16 Mbps. 향후 개발될 예정 q Ir. TTY v 16550 -UART-compatible Ir. DA ports를 지원함 v 이 드라이버는 리눅스 커널의 serial driver를 이용하며 115200 bps 까지의 속도를 제공 q Ir. PORT v 종국에 Ir. TTY를 대체할 half-duplex serial port driver q Serial Dongles, USB Dongles v Ir. DA port가 없는 시스템의 경우 serial port나 USB에 연결되어 Ir. DA 사용을 가능하 게 하는 장치 q On-board and bus-attached devices v 리눅스는 보드나 버스에 직접 연결된 Ir. DA 장치들도 지원함 Embedded System Intro. -55

Linux Ir. DA 구현 q Ir. LAP v link access protocol layer로서 신뢰성 있는 Linux Ir. DA 구현 q Ir. LAP v link access protocol layer로서 신뢰성 있는 링크 서비스 제공 v connection-oriented, connectionless 서비스 모두 제공 q Ir. LMP v link management protocol layer로서 Ir. LAP위에서 복수개의 connection들을 제공 v 본래 service discovery capability를 제공하는 Information Access Service (IAS) 기능 포함되나 리눅스에서는 IAP에서 별도로 구현 q Tiny. TP v tiny transfer protocol로서 Ir. LMP connection 위에서 흐름 제어 구현 q IAP v information access protocol로서 IAS (Information Access Service)와 동일 q Ir. COMM v 직렬 또는 병렬 포트로 통신하던 응용들에게 Ir. DA를 사용할 수 있도록 제공된 emulation layer Embedded System Intro. -56

Linux Ir. DA 구현 q Ir. LAN v Ir. DA 위에서 LAN-like connection을 구현 Linux Ir. DA 구현 q Ir. LAN v Ir. DA 위에서 LAN-like connection을 구현 q Ir. NET v Ir. LAN처럼 LAN-like connection을 구현하지만, full network service를 제공하지 않 고 PPP 정도만 올릴 수 있는 thin layer임. v Microsoft’s Windows 2000 Ir. DA 스택에서 처음 소개되었고 리눅스도 이를 따라서 구현하였음. 하지만 Ir. DA 표준이 아님. q Open. OBEX v Ir. OBEX라는 HTTP-like service를 구현 v http: //soruceforge. net/projects/openobex/ 참고 Embedded System Intro. -57

Bluetooth q 개요 v Ericsson이 Intel의 도움을 받아 개발한 근거리 무선망 통신 기술 v Bluetooth q 개요 v Ericsson이 Intel의 도움을 받아 개발한 근거리 무선망 통신 기술 v 현재 Bluetooth SIG는 Ericsson, IBM, Intel, Nokia, Toshiba를 포함하여 1900여개 의 회원사들로 구성됨 v 일부 PDA나 핸드폰에서는 이미 Bluetooth를 지원 v 2. 4 GHz 주파수 대역과 spread spectrum frequency hopping 기술을 사용 v piconet이라고 불리는 Bluetooth 디바이스의 통신망 안에서 디바이스들 간에 통신 수행 v 컴퓨터와 주변 장치 간의 케이블을 대체하는데 널리 사용될 수 있고(cable replacement 역할), 시스템에 주변 장치를 아주 쉽게 연결할 수 있다(wireless USB 역할)는 점에서 크게 각광받음 Embedded System Intro. -58

Linux Blue. Z Bluetooth Subsystem Architecture Applications TCP/IP PPP RFCOMMd SDPd L 2 CAP Linux Blue. Z Bluetooth Subsystem Architecture Applications TCP/IP PPP RFCOMMd SDPd L 2 CAP HCI core HCI-USB HCI-UART Bluetooth hardware Embedded System Intro. -59 HCI-VHCI

Linux Blue. Z 구현 q HCI-USB v USB-attached Bluetooth device를 말함 q HCI-UART v Linux Blue. Z 구현 q HCI-USB v USB-attached Bluetooth device를 말함 q HCI-UART v serial interface에 연결된 Bluetooth device를 말함 q HCI-VHCI v 테스팅을 위한 가상 Bluetooth device를 말함 (Virtual HCI). q HCI core v HCI hardware device driver 위에서 상위 수준 프로토콜과의 동작을 가능하게 함 q L 2 CAP v Logical Link Control and Adaptation Protocol로서 link multiplexing, packet segmentation and reassembly, quality of service를 책임짐 q RFCOMMd v Bluetooth device간에 serial 통신을 구현. Blue. Z에서는 pseudo-TTY를 이용하여 daemon process 형태로 구현하였고, 그 위에 PPP 탑재가 가능함. q SDPd v Service Discovery Protocol로서 daemon process 형태로 구현. Bluetooth device 간에 서비스를 서로 advertise하고 발견하기 위해 사용됨 Embedded System Intro. -60

휴식시간입니다. 감사합니다. 수고하셨습니다. Embedded System Intro. -61 휴식시간입니다. 감사합니다. 수고하셨습니다. Embedded System Intro. -61