Você está na página 1de 7
Advanced Real Time Embedded Systems ei labz offers wide range technology courses, enabling to unleash
Advanced Real Time Embedded Systems ei labz offers wide range technology courses, enabling to unleash
Advanced Real Time Embedded Systems ei labz offers wide range technology courses, enabling to unleash

Advanced Real Time Embedded Systems

ei labz offers wide range technology courses, enabling to unleash the power recent developments in high end technologies. Our training and mentoring empower career aspirants with knowledge and proficiency required on job and interviews. For developers it offers skill required shorten the development timelines and reduce project risks.

Course Description It is job placement oriented training program. In this course you'll learn complete life cycle of an embedded project and all the building blocks of embedded systems. Advanced programming techniques, using dynamic data structures and algorithms. Finite state machines and state charts and their uses are covered in depth. You'll also learn techniques specific to embedded systems, such as structured interrupt handling, implementation of simple schedulers, and how to work with embedded operating systems. You'll learn the standard inter- process communication mechanisms and their uses. In addition the course overviews various advanced algorithms and discusses research oriented approaches for learning more about these algorithms and their implementation. The course will also show you how to design modules with clean interfaces to achieve disciplined and well-structured code.The course emphasizes the implementation of disciplined and well-structured code and the design of modules with clean interfaces. Lab exercises are used to consolidate key concepts.

The course uses ARM7, ARM9, and ARM11 processors as a platform for hands-on work.However, the techniques taught can be readily applied to other architectures. Similarly, the course uses VxWorks and Linux as operating systems, but Inter-Process Communication techniques are covered in a generic way so that they can be applied to other architectures and operating systems.

Course is completely hands on implementation oriented in state of art lab facility Participants will be able access VxWorks licensed full featured lab and advanced hardware lab facility with wide array of Microcontroller based Single board computer.

Course ends with implementation of Proof of concept projects, adopting every single skill adopted by trainee. Most of the Proof concept projects are developed based on new generation microcontrollers like ARM platform. Ei labz being ARM connected community brings a special privilege to the students to gain hands-on experience by expert instructors.

The course completion will be given with Wind River certificate and eilabz trainee certification. Related courses

Embedded C programming

Embedded linux with device driver

VxWorks 6.x and workbench Fundamentals

Course Objectives

Students completing this course will considerably improve the discipline and rigor with which they design and write embedded systems applications in C.

You'll be able to implement classical data structures such as circular buffers, linked lists, and trees -- and you'll know when it's appropriate to use them. You'll be exposed to a variety of advanced programming idioms and algorithms with their associated data structures, for tasks such as indexing, data compression and error detection.

You'll learn to write event driven programs, to implement Finite State Machines, and to design hierarchical state machines using state charts.

You'll learn structured programming techniques for implementing multi-tasking applications, and you'll be able to work with embedded operating systems as well as the standard inter- process communication idioms such as producer-consumer, work crew and monitors.

After the end of this Course, participants will be able to do the following:

Design and Develop real-time applications in 8/16/32 bit microcontroller

Debug build, and test real-time application in a target host development environment with various platforms like VxWorks

Employable in various disciplines of embedded application development and participate ei labz placement programs

Course Format

This four months instructor-led course consists of lectures and lab sessions.

Students gain hands-on experience and receive personal guidance from expert ei labz instructors.

Case studies and assignments allow hands-on application of course concepts.

Specific questions are addressed.

Key Topics

Advanced use of dynamic data structures and algorithms for manipulating them

MCS51, ARM 7, ARM9 and ARM11

Implementation of simple schedulers and operating systems

Working with embedded operating systems

Understanding standard techniques for VxWorks

Embedded communication Protocols like I2C, SPI, etc.

Finite state machines, statecharts, and their uses

Advanced algorithms and research-oriented approaches

Prerequisites Attendees should have BE, BTec, MSc, Diploma or BSc relevant programming /electronics concepts covered in academics.



Module and Session details


Embedded C And Microcontroller programming

Session 1

Embedded C C r oss compilers microvision complier Keywords Why use C?

Session 2

The 8051 microcontroller The “super loop” software architecture Strengths and weaknesses of “super loops” Example: Central-heating controller Reading from (and writing to) port pins

Session 3

SFRs and ports SFRs and ports Creating and using sbit variables Example: Reading and writing bytes

Session 4

Creating “software delays” Using the performance analyzer to test software delays Strengths and weaknesses of software-only delays Q&A, assessment test

Session 5

Oscillator Hardware How to connect a crystal to a microcontroller Oscillator frequency and machine cycle period Keep the clock frequency as low as possible

Session 6

Stability issues Improving the stability of a crystal oscillator Overall strengths and weaknesses Reset Hardware More robust reset circuits

Session 7

Review: Basic techniques for reading from port pins Example: Reading and writing bytes (review) Example: Reading and writing bits (simple version) Example: Reading and writing bits (generic version)

Session 8

The need for pull-up resistors Dealing with switch bounce Example: Reading switch inputs (basic code) Q&A assessment test

Session 9

The Project Header (Main.H) The Port Header (Port.H) Re-structuring a “Hello World” example Example: Re-structuring the Goat-Counting Example

Session 10

Preparation for the next seminar Creating “hardware delays” The TCON SFR The TMOD SFR Two further registers

Session 11

Example: Generating a precise 50 ms delay Example: Creating a portable hardware delay The need for ‘timeout’ mechanisms - example Creating loop timeouts

Session 12

Example: Testing loop timeouts Example: A more reliable switch interface Creating hardware timeouts Conclusions Q&A assessment test

Session 13

Timer-based interrupts (the core of an embedded OS) The interrupt service routine (ISR) Automatic timer reloads Introducing AVX51

Session 14

Introducing AVX51 Tasks, functions and scheduling Setting the tick interval

Session 15

Saving power Using AVX51 in your own projects

Session 16

Is this approach portable? Sequential execution and schedulable execution Q&A assessment test

Session 17

Implementing a Multi-State (Timed) system Example: Traffic light sequencing

Session 18



Intrinsic function

Session 19

creating library functions Case Study: Modbus Library implementation

Session 20


Study: Intruder Alarm

Case Study: Traffic Light implementation

Q&A assessment test

Session 21

using Volatile Keyword writing program for memory mapped hardware Case study: Modbus continued

Session 22

techniques: Implementing Speed, Space constraint programs techniques: writing Portable Codes. working with monitor programs

Session 23

Debugging Techniques. programming multi processor target boards communication protocol stack developments assessment test Q&A Post Training Assessment

Session 24

Introduction to OS Scheduling algorithm

Session 25

Task, process, thread and differences among them Premptive kernels

Session 26 Synchronization mechanism semaphore, binary, counting and mutex signals and interrupt handlers in operating system Inter task communication mechanism Message Ques, Pipes, mail box, event registers Q&A Daily assessment test

Session 27



Protocol stacks, Socket interfaces

Session 28

I/O management, device driver Introduction to VxWorks 6.5

Session 29 Tornado IDE/ work bench IDE Shell, windview, crosswind, VxSim Scheduling and task management in VxWorks

Session 30

taskSpawn(), taskDelete(), taskSuspend(), taskInit(), taskDelay() taskPrioritySet() Q&A assessment test

Session 31

Semaphores semCCreate() semTake(), semGive(), semMCreate() Priority Inheritance in VxWorks

Session 32


task Communication msgQcreate(),

msgQSend() msgQRecieve() critical section in VxWorks

Session 33

implementation of thermostat using VxWorks (case study) Q&A assessment test

Session 34

interrupt handling - intConnect() Timers and watch dog timers -wdCreate() wdStart().

Session 35

wdCancel() sysClkRateSet() sysClkRateGet() signal handlers

Session 36

signal(); kill() Q&A assessment test

Session 37 I/O and file systems Device drivers in VxWorks character device driver

Session 38

Block device driver

Session 39


Study: UART device Driver

Session 40


Study: RAM Disk Driver

Q&A assessment test


ARM 7 and 9 Architecture and SOC

Session 41 Introduction to ARM architecture RISC vs CISC ARM core v4, v5 ARM 7 modes of operation user, IRQ, FIQ, Supervisor, undef, abort, system

Session 42




Thumb instruction set ARM and Thumb interworking

Session 43

using gnu assembler executing with arm-gdb

Session 44

using microvision keil for ARM programming Q&A assessment test

Session 45


programming with C

understanding header files

Session 46


SOC (LPC 2129 controller)

ARM SOC Programming mixing assembly and C

Session 47


2129 timer

ARM and Thumb interworking with C

Session 48


modes and operations

Q&A assessment test


Session 49


2129 PWM programming

ARM cortex cores


Session 50



using JTAG for programming ARM controller

Q&A assessment test


Session 51

JTAG debugging Hardware breakpoints vs S/w breakpoints

Session 52


2129 interrupt controller


Session 53 working with Watch dog timers interfacing LCD display to microcontroller

Session 54


7 to ARM 9 migration

ARM 9 SOC S3C2440

Q&A assessment test

Session 55


9 SOC S3C2440 GPIO programming

S3C2440 timer programming

Session 56

implementing home automation with S3C2440 (case study

Session 57

S3C2440 OS porting

Session 58


Study: uCOS

Q&A assessment test

Module 4

Networking and communication

Session 59

introduction network communication What is protocol, packets, datagram, frames, messages

Session 60

Types of communication protocols I2C communication

Session 61 Strat of packet, Acknowledgement, End of communication, Bus arbitration interfacing display with MCS51 controller with I2C communication

Session 62

SPI communication, 1 wire protocol Q&A assessment test

Our India address:

Everest Infocom Pvt Ltd,.

738/33, 12th Main, 3rd Blk, Rajajinagar, Bangalore 560010 India www.eilabz.com

training@eilabz.com Phone: 90 80 23140344, 90 80 23146229 Mobile: 09449104615,


© 2011 Everest Infocom Pvt ltd. The ei labz is a trademark of Everest Infocom Pvt ltd, and Wind River and VxWorks are registered trademarks of Wind River Systems, Inc. The Everest Infocom Pvt ltd is Authorized Training center for Wind River Systems, Inc.