100 likes | 419 Views
컴퓨터 시스템 설계 및 실험. Chapter 1. Embedded System. Contents. 강의 개요 및 목표 Embedded System Embedded OS Embedded Linux Embedded System 개발 구조. Introduction. 강의 개요 Embedded Linux Target Board: HBE-EMPOS-II CPU: Intel PXA 255 (Xscale) Development Environment: Tool Chains, JTAG 강의 목표
E N D
컴퓨터 시스템설계 및 실험 Chapter 1. Embedded System
Contents • 강의 개요 및 목표 • Embedded System • Embedded OS • Embedded Linux • Embedded System 개발 구조
Introduction • 강의 개요 • Embedded Linux • Target Board: HBE-EMPOS-II • CPU: Intel PXA 255 (Xscale) • Development Environment: Tool Chains, JTAG • 강의 목표 • Embedded Linux 시스템 설계, 구현 및 실습을 통한 이해 • PXA 255 프로세서 시스템에 OS를 포팅하는 절차와 전반적인 시스템 개발에 대한 체계적인 이해 • Embedded system programming 기술 습득 • C 언어를 사용하여 디바이스 드라이버를 비롯한 주요 외부 장치에 대한 응용 프로그램 개발 실습 • Project • 프로젝트 제안서 (2인 1조) 제출 • 프로젝트 중간 보고서 • 프로젝트 발표
Embedded System • Embedded System • 미리 정해진 특정 기능을 수행하기 위해 하드웨어와 소프트웨어가 내장된 전자 제어 시스템 • ASIC 형태가 아닌 마이크로프로세서 (microprocessor)와 프로그램이 포함된 시스템 • H/W: Microprocessor, Controller, Memory, Sensor… • S/W: Operating System, Device Driver, Application Program… • Embedded System 특징 • Application-specific functionality • 특정 기능에 최적화된 설계 • Small size & Light weight • Real-time Operation/Dependable • Extreme Cost Sensitivity • Limited memory, lower power for microprocessor
Embedded OS • Real Time OS • VxWorks: HONDA의 Asimo에 사용 • pSOS: 삼성전자 휴대폰에 사용, VxWorks와 통합 • VRTX, uC/OSII • 기타 Embedded OS • Windows CE • Intel x86 계열 지원, MS의 각종 환경 지원, Pocket PC • 3Com Palm • Motorola 드래곤볼 칩 기반의 운영체제, Sony Cleo • Symbian • 모바일 기기에 사용할 목적으로 개발된 운영체제 • Embedded Linux
Embedded Linux • 저 성능의 프로세서와 소용량의 메모리를 가진 임베디드 시스템용으로 개발 • 특징 • Embedded Linux Source의 공개성: OS, Applications • 경제성 • 안정적이고 검증된 커널로 지속적인 upgrade • 다양한 개발 환경을 제공 • Cross-compiler, Debugger, GUI등 • 다양한 CPU에 포팅가능 • 많은 장치의 드라이버를 제공: JTAG, PCMCIA, LCD, I/O, IDE
Embedded System 개발 구조 Development PC Host Target Debug Agent Embeded Application LAN GUI Development Tools (tool chains) Target Server Library Sub-system OS 개발 또는 포팅 Serial Core OS 디바이스 드라이버 개발 Simulation Environment Kernel JTAG communication 하드웨어 개발 임베디드 소프트웨어 개발 (application)
Host PC 기본 프로그램 • Cross Compiler Tool Chain • Host PC와 Target Board에서 사용하는 프로세서가 다를 경우 Target Board에서 실행될 수 있도록 프로그램을 컴파일 • JTAG • Host PC에서 Target Board의 Flash ROM에 프로그램 (Bootloader)를 다운로딩하는 프로그램 (fusing) • Terminal Emulation: Serial port • Target Board에서 일어나는 상황을 Host PC에서 볼 수 있도록 모니터링 할 수 있게 하는 통신 프로그램 • bootp, tftp, nfs service…
Target Board 기본 프로그램 • Bootloader • Target Board booting시 하드웨어를 초기화하고, 커널을 ARM에 올린 후 실행권한을 커널로 전달하는 프로그램 • Linux Kernel • Target Board의 System 구동에 필요한 환경을 만들고 Target Board 상에서 수행되는 자원을 관리하는 소프트웨어 • File System • 파일 시스템은 파일을 디스크나 기타 미디어에 저장하는 방식과 그에 연관된 operation 자료 구조를 포괄적으로 포함 • Device Driver • 주변 하드웨어를 제어하기 위한 프로그램 • Application • GPS,tcpdump, MediaPlayer등