Embedded System
Development Real Project with WinCE
 
Course Introduction:
 
- Customizing WinCE 4.2/5.0/6.0 OS design and deploying run-time image
- WinCE system application programming
- Hand-on experience in debugging and testing the System
- Board Support Package (BSP) development
- WinCE device driver experience (I2C, Serial port, USB)
- ARM9 microcontroller experience
- WDM device driver design experience under windows embedded (PCI, etc)
- Real project with IP communication product
 
Prerequisite:
 
- Electronic, computer, automation, control related Bachelor degree or higher
- Knowledge of micro controller/processor
- Knowledge of the C programming language
- Working knowledge of Windows
- Experience with Win32/MFC/.NET CF programming interface will be plus
- Good English for read and writing
 
Job Targets:
 
- Quality Technician or specialist
- Quality Assurance Engineer
- PV&V (verification and validation)
- Testing Engineer
- Windows CE application developer
- Windows CE device driver developer
- Windows CE BSP developer
- Windows CE software Engineer
- Windows device driver developer
- Windows software Engineer
- Embedded Software Engineer
 
 
 
 
 
 
 
 
 
Open Course:     (2 hours)
 
Introduction of Embedded system development with WinCE
 
I Introduction of WinCE (Windows Embedded CE)
a what is WINCE?
b WinCE history
c What WinCE can do?
d Difference between Windows CE and Embedded Linux or others?
e Windows CE features
 
II WinCE job categories in embedded system development filed
a device driver and kernel development
b board support package (BSP)
c WinCE/Windows mobile application development
 
III WinCE system development job market analysis
a WinCE market shares in whole embedded OS market
b WinCE development job positions and required skills
- WinCE Testing Engineer
- Windows CE application developer
- Windows CE device driver developer
- Windows CE BSP developer
- Windows CE software Engineer
- Windows device driver developer
- Windows software Engineer
- Embedded software Engineer
 
IV WinCE learning tree
a Prerequisite for this course
- Electronic, computer, automation, control related Bachelor degree or higher
- Knowledge of micro controller/processor
- Knowledge of the C programming language
- Working knowledge of Windows
- Experience with Win32/MFC/.NET CF programming interface will be plus
- Good English for read and writing
b Course content (theory, lab, goals)
c Development environment (hardware and software)
d Real project introduction
 
 
Course outline:    (total 40 hours)
 
Part I: Windows CE Development        7-course (28 hours)
 
1 Customizing the Operating System Design
Creating and customizing OS designs
Configuring Windows Embedded CE subprojects
Cloning components
Managing catalog items
Generating a Software Development Kit (SDK)
Lab 1: Creating, Configuring, and Building an OS Design
 
2 Building and Deploying the Run-Time Image
Building run-time images
Analyzing build results and build files
Deploying a run-time image on a target device
Lab 2: Building and Deploying a Run-Time Image
 
3 Performing System Programming
■ Monitoring and optimizing system performance
■ Implementing system applications
■ Programming with threads and thread synchronization objects
■ Implementing exception handling in drivers and applications
■ Supporting power management at the system level
Lab 3: Kiosk Mode, Threads, and Power Management
 
4 Debugging and Testing the System
Identifying requirements for debugging a run-time image
Using debugger features to analyze code execution
Understanding debug zones to manage the output of debug messages
Utilizing the CETK tool to run default and user-defined tests
Debugging the boot loader and operating system (OS)
Lab 4: System Debugging and Testing based on KITL, Debug Zones, and CETK Tools
 
5 Customizing a Board Support Package
Understanding the BSP architecture of Windows Embedded CE
Modifying and adapting BSPs and boot loaders for specific target devices
Understanding memory management and layout
Enabling power management in a BSP
Lab 5: Adapting a Board Support Package (BSP)
 
6 Developing Device Drivers
Understanding Device Driver
Implementing a Stream Interface Driver
Configuring and Loading a Driver
Implementing an Interrupt Mechanism in a Device Driver
Implementing Power Management for a Device Driver
Marshaling Data across Boundaries
Enhancing Driver Portability
Lab 6: Developing Stream Device Drivers
 
7 Complex Device Driver Development
USB Driver Stack
USB Protocol
USB Device driver Development
Lab 7: Developing WinCE USB driver
 
Part II: Windows XP Embedded Device Driver          3-course (12 hours)
 
8 Windows Driver Model (WDM) Basic
■ Overview of NT-based Operating Systems
■ Windows Driver Model and driver stack and type of device driver
■ Building and installing a driver
■ Debugging Kernel Mode Drivers Using SoftICE
■ Debugging Kernel Mode Drivers Using WinDBG
Lab 8: Debug WDM device driver
 
9 Simple WDM Driver Design
Driver Routines(DriverEntry, AddDevice, Dispatch Plug And Play, File I/O and Device I/O)
Data Structures(Driver Object, Device Object)
Driver Calling context -- Arbitrary vs. Non-Arbitrary
Enumerating device and building the driver stack
Removing device and tearing down the driver stack
PCI bus introduction and PCI interface driver design
Lab 9: Implement a PCI Scope Device Driver
 
10 Complex WDM Driver Design
Exceptions Software interrupts and hardware interrupt
Interrupt Request Level (IRQL)
Dispatching and Deferred Procedure Call (DPC)
Synchronization in KMDs
Servicing Interrupts
Synchronize with ISR in driver routines
Lab 10: Implement a simulation device driver
 
Project: WINCE-based IP communicator design in home automation
 
Instructor Name: Mr. Lu
Embedded Engineer Instructor’s Profile
 
- Over 15 years embedded system/software engineering development experience in different industry (Nuclear power plant, submarine/underwater robot, humanoid walking robot, digital TV, SDH/SONET telecommunication, security system/home automation)
- Senior embedded software engineer for 5 different companies (ZTE, Dr Robot, Tyco, etc)
- Strong experience in Embedded OS (Embedded Linux, WinCE, and VxWorks) and device driver development
- Master and Phd in automation control theory and engineering

More info button
(Let someone contact you) 

 

Last update:. Visits -- | Web site design and hosting by WECAN.ca CMS