1.46k likes | 1.8k Views
Windows CE .NET Development Environment. 경희대학교 컴퓨터공학과 조진성. 목차. Overview of Windows CE .NET Serial Number 받기 Platform builder .NET 4.2 설치 Microsoft Embedded C++ 4.0 설치 JFlashMM 설치 EBOOT download Handheld device 만들기 Application 개발. Overview of Windows CE .NET.
E N D
Windows CE .NET Development Environment 경희대학교 컴퓨터공학과 조진성
목차 • Overview of Windows CE .NET • Serial Number 받기 • Platform builder .NET 4.2 설치 • Microsoft Embedded C++ 4.0설치 • JFlashMM 설치 • EBOOT download • Handheld device만들기 • Application 개발
Overview of Windows CE .NET • Windows CE .NET: Design Goals • What is New in Windows CE .NET? • Basic Configurations • Target Hardware Support
Windows CE .NET: Design Goals • Modular and compact operating system • Highly modular • Customized to meet to the specific product requirements of a range of devices • Only the required modules can be included in the operating system image • Wireless and wired connectivity • Allows you to build scalable wireless platform • Flexibly connect mobile devices into existing infrastructures • Provide broad wireless support for PAN(Personal Area Network)s, LANs, and WANs • Including Bluetooth, Wireless LAN – Zero Configuration(802.11) Support • PAN : Bluetooh나 IrDA(적외선)이용한 근거리 개인 네트웍
Windows CE .NET: Design Goals • Robust real-time capabilities • Hard RTOS kernel support • Efficiently enabling the most demanding real-time embedded designs • Rich multimedia and multilingual support • Provide the latest multimedia experiences • Allow you to efficiently build localized embedded devices • Strong development tool support
What Is New in Windows CE .NET? • Internet Explorer 5.5 for CE • Wireless support • Multimedia • Customizable UI • Security Services • Real-time collaboration and communication • Better multi-language support • ClearType
Basic Configurations 이란? • There are 13 different starting points to develop your platform • Each one targets a particular class of device • To reduce product development • Once a basic configuration has been chosen, you may modify it to suit your specific needs
Basic Configurations • PDA or mobile handheld device • Variants with or without applications, such as WordPad • Cell phone/smart phone • 160x220 nominal display resolution • Web Pad • Touch-screen user interface and 640x480 or larger display • Internet appliance • Non-mobile, Browser-based device with a fixed (CRT or LCD) display and a keyboard. • Internet Appliance with Browser • Consumer Internet Appliance with mouse-based UI and 640x480 or larger display • Internet Appliance with Browser and Applications
Basic Configurations (continued) • Media appliance • Playback or store music, video, and other electronic media • Digital Audio Receiver/Jukebox • Networked device that stores, decodes, and plays Windows Media Audio and MP3 music files • Digital Audio Receiver • Without local storage • Portable Audio Player with Wireless Networking • Portable DVD Player • Electronic Picture Frame • Retrieve and display picture from the internet or a home network • Digital imaging device • Camera, projector, and printer
Basic Configurations (continued) • Set-top box • Connects to a TV for display of Internet / media content • Residential gateway • Connects to the Internet and shares that connection with a wired or wireless home network • Industrial automation device • Human Machine Interface (HMI) or Programmable Logic Controller (PLC) variants • Retail Point-of-Sale device • Self-service kiosks, electronic payment terminals, POS terminals • Windows thin client • Minimal remote access terminal with constrained shell and RDP
Basic Configurations (continued) • Tiny Kernel • Smallest functional Windows CE image • Starting point for the most compact, headless devices • Custom Device • The most fully customizable configuration • Allows you to choose from all operating system features • Also a variant for devices without displays
Core Operating System Architecture Applications Programming Interfaces (Win32, COM, MFC, ATL) Communications interfaces (Winsock, RAS, TAPI) Kernel GWES Device Manager Filesys Networking and Communications System Device Drivers OAL Hardware
The OEM Adaptation Layer • Layer between the Kernel and the hardware • Set of functions related to system startup, interrupt handling, power management, profiling, timer, and clock • Included in BSPs for supported SDBs • Coded by OEMs to adapt windows CE to their own custom platforms • Linked with code provided by Microsoft to build the Kernel
The Kernel Module • Portable across supported processors • Kernel is portable as most of the operating system is written in C • NK.EXE, COREDLL.DLL • NK.EXE contains Kernel code and Coredll.dll is the operating system core DLL module • Saving system resources • CE loader is designed to save system resources by loading application pages as and when needed and by keeping only one physical copy of a DLL • Demand paging • Loads virtual memory pages into physical memory when needed • Multiple execute in place regions • Allows applications to execute code directly from read-only memory
Device Driver System • Device driver • Links an operating system and a device • Built-in Drivers vs. Installable Drivers • Built-in drivers are installed by the platform manufacturer • Installable drivers are third-party peripheral devices that end users can connect to a Windows CE-based platform • Native Drivers vs. Stream Drivers • All of the device drivers managed by GWES are native device drivers • Device manager loads stream interface drivers when the system boots, if those drivers are listed in the registry • Monolithic Drivers vs. Layered Drivers • Monolithic drivers implement interface directly in terms of actions on the device they control • Layered drivers separate the implementation into two layers
The GWES Module • Graphics, Windowing, and Event Subsystem • Graphic output: display and printer • User input: keyboard, stylus, and mouse • Window management: message routing • Graphic Device Interface (GDI) • Is the drawing subsystem of GWES • Controls how text and graphics are displayed • Uses a device context to store drawing attributes for a specified device
The Filesys Module • The Filesys Module • Implements the object store • File systems • Registry • Property Database • Substitutes for a hard drive on an embedded drive • Resides in ROM, RAM, or both • Can have a maximum size of 256 MB
The Filesys Module (continued) • Storage manager • Is responsible for all external storage items, including all the file systems and block drivers • Installable file systems • Can provide access to a floppy diskette, a hard drive, a flash file system on a PC Card, or to other external storage devices • File-shadowing mechanism • Allows a file to be stored both in RAM and ROM. • Differences from other Windows file systems • No letters assigned to file systems • No concept of current directory • No support for overlapped I/O • All files stored in RAM are automatically compressed
The Filesys Module (continued) • Registry • Provides a common repository for system settings, application data, and user preferences • Resides in RAM, if not present in RAM, the registry can be reloaded from persistent storage or rebuilt from ROM • Registry functions specific to Windows CE • Property Database • Provides a lightweight database management system • Accessible using a new set of Win32 API functions specific to Windows CE • Data stored in a flat model • Accessible to ActiveX Data Objects for Windows CE (ADOCE) • Supports multiple volumes on installable file systems
Real Time Operating System • Bounded interrupt response latency • Timer precision configurable (1 millisecond default) • System timer tick independent of thread quantum • Nested interrupt support • Priority inheritance • Protected virtual memory • Synchronization objects
Power Management Features • Power management features respond to system calls for turning the system off or for idling • Device level power states, DO-D4 • D0 – Full on: Full power with full functionality • D1 – Low On: Slightly reduced functionality, lower power and/or performance • D2 – Standby: Partial power with automatic wake • D3 – Sleep: Partial power with device initiated wake • D4 – Off: Power off • The only device power state that all devices must support is D0, full on
Advanced Features of Windows CE .NET • Networking and Communications • Real-Time Communication • Multimedia • Security • Internationalization
Serial Number 받기 • [https://www.interactservices.com/WinEmRegistration/ProdRegister.asp] • Product : Windows CE .NET 4.2 • Platform builder와 embedded C++에서 사용할 Serial Number를 구한다. • Platform builder는 120일의 evaluation version. • Embedded C++은 freeware. • E-mail을 통해 serial number가 발송된다.
Platform builder .NET 4.2 • MS Windows CE .Net 플랫폼을 개발하는 프로그램이다. • Visual studio같은 통합 개발환경을 제공한다. • Windows CE .NET플랫폼을 디자인, 작성, 빌드, 테스트 및 디버깅하는데 필요한 모든 개발 도구가 포함되어 있다. • 상용 프로그램이고 120일 Evaluation version은 MS사에서 무료로 받을 수 있다.
Configure Platform Customize Platform Develop device drivers Create or add custom components Debug Platform Build OS image Modify source code configuration files Yes Custom target device? No Configure Platform Platform complete? Develop OAL board support package and bootloader No Yes Export SDK Platform Builder • 임베디드 시스템의 custom Windows CE의 OS개발툴 • 개발과정 • Basic platform building • Customize Platform • Download to target device
Platform builder 설치 • CD를 넣으면 위와 같은 창이 뜬다. • Install을 선택한다.
[I accept the terms in the license agreement]를 선택. • [Next]를 선택.
Product key를 입력하고 [Next]를 선택한다. • Product key는 evaluation version이고, MS 홈페이지에서 얻을 수 있다.
[ARMV4], [ARMV4I], [XSCALE]은 반드시 설치하여야 한다. • [Shared Source for windows CE .NET 4.2]는 커널 소스이다. • 굳이 포함 시킬 필요는 없다.
설치가 완료되었다. • [Finish]버튼을 선택하여 설치를 종료한다.
BSP • Board support package의 약자이다. • 제공된 CD를 통해 설치한다. • [BSP설치방법.txt] 파일을 참조해서 설치 할 수 있다. • 1. CD의 BSP디렉토리의 PXA255PRO3디렉토리를 COPY하여, C:\WINCE420\PLATFORM 디렉토리에 PASTE한다. • 이때, CD의 내용 대신, 강의 홈페이지의 PXA255PRO3_BSP.zip의 내용을 /Platform/PXA255Pro3 folder로 복사한다. • 2. 제공된 .msi 파일을 더블클릭 하여 실행한다. • 3. (주)휴인스에서 제공한 BSP설치된것을 확인한다. (Catalog window의 Third party의 BSPs에서 확인)
BSP설치 • BSP설치 모습이다. • [Next]를 선택한다.
별다른 설정 없이 BSP설치가 완료되었다. • [Finish]를 선택하여 BSP설치를 종료한다.
Embedded Visual C++ 4.0 • MS에서 제공하는 Windows CE .NET용 소프트웨어를 개발하는 프로그램이다. • Visual studio와 같은 통합 개발 환경을 제공한다. • 이 프로그램 자체가 개발 프로그램이므로 Visual studio없이 개발할 수 있다. • 무료개발 프로그램이다.
Embedded C++ 설치 • Embedded C++ 설치 시작 모습이다. • [Next]를 선택하여 다음으로 진행한다.
License 동의에 관한 화면이다. • [I accept the agreement]를 선택하고 [Next]를 클릭한다.
설치할 항목을 선택하는 화면이다. • 이미 모두 선택되어 있으므로, [Next]를 선택한다.
설치할 폴더를 묻는 화면이다. • 적절한 폴더를 선택 후, [Next]를 클릭한다.