You are on page 1of 7

Advanced Real Time Embedded Systems

ei labz offers wide range technology courses, enabling to


unleash the power recent developments in high end Course Title: Advanced Real Time Embedded Systems
technologies. Our training and mentoring empower career Duration: Four Months with 25 days live Project
aspirants with knowledge and proficiency required on job and
interviews. For developers it offers skill required shorten the Format: Instructor-led lectures and hands-on lab
development timelines and reduce project risks. sessions; instructor-led Live Remote delivery available
Price: Contact our local sales representative
Course Description
It is job placement oriented training program. In this course
connected community brings a special privilege to the students
you'll learn complete life cycle of an embedded project and all
the building blocks of embedded systems. Advanced to gain hands-on experience by expert instructors.
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- The course completion will be given with Wind River certificate
process communication mechanisms and their uses. In addition and eilabz trainee certification.
the course overviews various advanced algorithms and
discusses research oriented approaches for learning more Related courses
about these algorithms and their implementation. The course
will also show you how to design modules with clean interfaces  Embedded C programming
to achieve disciplined and well-structured code.
The course emphasizes the implementation of disciplined and  Embedded linux with device driver
well-structured code and the design of modules with clean
interfaces. Lab exercises are used to consolidate key concepts.  VxWorks 6.x and workbench Fundamentals

The course uses ARM7, ARM9, and ARM11 processors as a Course Objectives
platform for hands-on work. However, the techniques taught
Students completing this course will considerably improve the
can be readily applied to other architectures. Similarly, the
discipline and rigor with which they design and write embedded
course uses VxWorks and Linux as operating systems, but Inter-
systems applications in C.
Process Communication techniques are covered in a generic
way so that they can be applied to other architectures and You'll be able to implement classical data structures such as
operating systems. circular buffers, linked lists, and trees -- and you'll know when
it's appropriate to use them.
Course is completely hands on implementation oriented in
state of art lab facility Participants will be able access VxWorks You'll be exposed to a variety of advanced programming idioms
licensed full featured lab and advanced hardware lab facility and algorithms with their associated data structures, for tasks
with wide array of Microcontroller based Single board such as indexing, data compression and error detection. You'll
computer. learn to write event driven programs, to implement Finite State
Machines, and to design hierarchical state machines using state
charts.
Course ends with implementation of Proof of concept projects,
You'll learn structured programming techniques for
adopting every single skill adopted by trainee. Most of the
implementing multi-tasking applications, and you'll be able to
Proof concept projects are developed based on new generation
work with embedded operating systems as well as the standard
microcontrollers like ARM platform. Ei labz being ARM
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: Outline:

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


bit microcontroller Session Module and Session details

 Debug build, and test real-time application in a target Module1 Embedded C And Microcontroller programming
host development environment with various
Session 1 Embedded C
platforms like Embedded Linux , VxWorks and Qt
Cross compilers
microvision complier
 Employable in various disciplines of embedded
Keywords
application development and participate ei labz Why use C?
placement programs
Session 2 The 8051 microcontroller
Course Format The “super loop” software architecture
Strengths and weaknesses of “super loops”
 This four months instructor-led course consists of Example: Central-heating controller
lectures and lab sessions. Reading from (and writing to) port pins

 Students gain hands-on experience and receive Session 3 SFRs and ports
personal guidance from expert ei labz instructors. SFRs and ports
Creating and using sbit variables
 Case studies and assignments allow hands-on Example: Reading and writing bytes
application of course concepts.
Session 4 Creating “software delays”
Using the performance analyzer to test software delays
 Specific questions are addressed.
Strengths and weaknesses of software-only delays
Q&A,
assessment test
Key Topics
Session 5 Oscillator Hardware
How to connect a crystal to a microcontroller
 Advanced use of dynamic data structures and algorithms Oscillator frequency and machine cycle period
for manipulating them Keep the clock frequency as low as possible
 MCS51, ARM 7, ARM9 and ARM11
 Implementation of simple schedulers and operating Session 6 Stability issues
systems Improving the stability of a crystal oscillator
Overall strengths and weaknesses
 Working with embedded operating systems
Reset Hardware
 Understanding standard techniques for VxWorks and More robust reset circuits
Embedded Linux
 Embedded communication Protocols like I2C, SPI, CAN, Session 7 Review: Basic techniques for reading from port pins
Flex ray etc. Example: Reading and writing bytes (review)
 Finite state machines, statecharts, and their uses Example: Reading and writing bits (simple version)
Example: Reading and writing bits (generic version)
 Advanced algorithms and research-oriented approaches
Session 8 The need for pull-up resistors
Prerequisites Dealing with switch bounce
Example: Reading switch inputs (basic code)
Attendees should have BE, BTec, MSc, Diploma or BSc relevant Q&A
programming /electronics concepts covered in academics. 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 Session 23 Debugging Techniques.
Creating “hardware delays” programming multi processor target boards
The TCON SFR communication protocol stack developments
The TMOD SFR assessment test
Two further registers Q&A
Post Training Assessment
Session 11 Example: Generating a precise 50 ms delay
Example: Creating a portable hardware delay
The need for ‘timeout’ mechanisms - example Module 2 RTOS Concepts and VxWorks
Creating loop timeouts
Session 24 Introduction to OS
Session 12 Example: Testing loop timeouts Scheduling algorithm
Example: A more reliable switch interface
Creating hardware timeouts Session 25 Task, process, thread and differences among them
Conclusions Premptive kernels
Q&A
assessment test Session 26 Synchronization mechanism semaphore, binary, counting and m
signals and interrupt handlers in operating system
Session 13 Timer-based interrupts (the core of an embedded OS) Inter task communication mechanism Message Ques, Pipes, ma
The interrupt service routine (ISR) registers
Automatic timer reloads Q&A
Introducing AVX51 Daily assessment test

Session 14 Introducing AVX51 Session 27 API interfaces


Tasks, functions and scheduling Protocol stacks, Socket interfaces
Setting the tick interval
Session 28 I/O management, device driver
Session 15 Saving power Introduction to VxWorks 6.5
Using AVX51 in your own projects
Session 29 Tornado IDE/ work bench IDE
Session 16 Is this approach portable? Shell, windview, crosswind, VxSim
Sequential execution and schedulable execution Scheduling and task management in VxWorks
Q&A
assessment test Session 30 taskSpawn(), taskDelete(), taskSuspend(), taskInit(), taskDelay()
taskPrioritySet()
Session 17 Implementing a Multi-State (Timed) system Q&A
Example: Traffic light sequencing assessment test

Session 18 Rentrant functions Session 31 Semaphores


Intrinsic function semCCreate() semTake(), semGive(), semMCreate()
Priority Inheritance in VxWorks
Session 19 creating library functions
Case Study: Modbus Library implementation inter task Communication msgQcreate(),
Session 32
msgQSend() msgQRecieve()
Session 20 Case Study: Intruder Alarm critical section in VxWorks
Case Study: Traffic Light implementation
Q&A Session 33 implementation of thermostat using VxWorks (case study)
assessment test Q&A
assessment test
Session 21 using Volatile Keyword
writing program for memory mapped hardware Session 34 interrupt handling - intConnect()
Case study: Modbus continued Timers and watch dog timers -wdCreate() wdStart().

Session 22 techniques: Implementing Speed, Space constraint programs


Session 35 wdCancel() sysClkRateSet() sysClkRateGet()
techniques: writing Portable Codes. signal handlers
working with monitor programs
Session 36 signal(); kill()
Q&A
assessment test Hardware breakpoints vs S/w breakpoints

Session 37 I/O and file systems Session 52 LPC 2129 interrupt controller
Device drivers in VxWorks VIC
character device driver
Session 53 working with Watch dog timers
Session 38 Block device driver interfacing LCD display to microcontroller

Session 39 Case Study: UART device Driver Session 54 ARM 7 to ARM 9 migration
ARM 9 SOC S3C2440
Session 40 Case Study: RAM Disk Driver Q&A
Q&A assessment test
assessment test
Session 55 ARM 9 SOC S3C2440 GPIO programming
S3C2440 timer programming

Module3 ARM 7 and 9 Architecture and SOC implementing home automation with
Session 56
S3C2440 (case study
Session 41
Introduction to ARM architecture Session 57 S3C2440 OS porting
RISC vs CISC
ARM core v4, v5 Session 58 Case Study: uCOS
ARM 7 modes of operation user, IRQ, FIQ, Supervisor, Q&A
undef, abort, system assessment test

Session 42 ARM instruction set Module 4 Networking and communication


Thumb instruction set
ARM and Thumb interworking Session 59 introduction network communication
What is protocol, packets, datagram,
Session 43 using gnu assembler frames, messages
executing with arm-gdb
Session 60 Types of communication protocols
Session 44 using microvision keil for ARM programming I2C communication
Q&A
assessment test Strat of packet, Acknowledgement,
Session 61
End of communication, Bus arbitration
Session 45 ARM programming with C interfacing display with MCS51 controller
understanding header files with I2C communication

Session 46 ARM SOC (LPC 2129 controller) Session 62 SPI communication, 1 wire protocol
ARM SOC Programming Q&A
mixing assembly and C assessment test

Session 47 LPC 2129 timer Session 63 CAN protocol


ARM and Thumb interworking with C CAN programming with LPC 2129

Session 48 Timer modes and operations Session 64 MODbus protocol


Q&A implementation of Modbus with MCS51
assessment test
Implementation of simple automation
Session 49 LPC 2129 PWM programming Session 65 network for bottling plant (Case study)
ARM cortex cores
Session 66 Other Field buses
Session 50 UART programming CanOpen, Flexray, ProfiBus
using JTAG for programming ARM controller Q&A
Q&A assessment test
assessment test
Session 67 OSI/ISO model
Session 51 JTAG debugging TCP/IP stack
Session 68 Ethernet Session 82 signal invoking
SLIP, ARP, RARP, subnet mask, network ID, Host ID implementation of chess game clock using sigalarm (case study)
other miscellaneous system calls in linux
Session 69 IP layer
Session 83 Introduction to POSIX
Session 70 UDP layer, TCP layer System V calls vs POSIX
sliding window algorithm, TTL, Datagram vs Packets etc Q&A
overview of application protocols HTTP, FTP, SMTP, VoiP, RTP, SLIP etc
assessment test
Q&A
assessment test Session 84 Thread model vs Process model
Thread programming under linux
Session 71 Socket layer Thread libraries
Client, server model
Socket API Session 85 Thread creation, Thread joining, Thread deleting
implementation of Socket communication Thread Scheduling
between 2 systems
Session 86 Thread Synchronization
Simple POS ( point of selling System implementation) Session 87 Semaphores, mutexes, conditional variables
Session 72
withe socket communication Thermostat implementation with multithreads (case study)
Q&A Q&A
assessment test assessment test

Module 6 Embedded Linux and Device Drivers


Module 5 Linux System Programming Session 88 Linux Kernel Module programming
Session 73 Introduction to Linux system Programming simple Character device driver
Linux Architecture
Linux Shell commands summary Session 89 simple module make file
major number, minor number
Session 74 Linux file system interfaces xxread() xxwrite() xxopen() xxclose() xxcreate() xxrem
Shell scripting
Session 90 linux device file
Session 75 environment variables mknod
Shell programming with arithmetic and exploring /dev
logical operations a simple application program to demonstrate to access device d
Q&A
Session 76 Shell scripting with date and time assessment test
Shell script for Startup, rcs Script
Q&A Session 91 IOCTL
assessment test simple device driver with UART (case Study)
integrating with Thermostat case study (case study)
Perl Scripting
Session 77
Session 92 block device driver
Session 78 process synchronization implementation RAMDisk (case study)
semaphores, spinlocks
Session 93 Network device driver
Session 79 memory organization Q&A
mmap system call assessment test
shared memory
Session 94 linux kernel architectures, subsystem
Session 80 IPC mechanisms Creating linux Image using source code
FIFO, PIPE
shared files Session 95 analysing linux source code organization
Q&A Linux 2.4 vs linux 2.6
assessment test kbuild
cross compiling linux kernel for arm architecture
Session 81 Signals Hardware abstraction layer
signal handler
Signal registration Session 96 linux kernel APIs
extracting interfaces from device drivers
Session 114 Recap, Clarifications, Q/A and Practice sessions
Session 97 Case study ADC device driver S3C2440
Case study GPIO Device Driver Case Study 1 Implementation of Ignition control system
(using fuzzy logic)
Session 98 Case study UART
static drivers vs dynamic loadable drivers Case Study 2 Implementation of CAN open for
Factory automation
Session 99 building kernel for embedded processors
Q&A Final Project CDA (Car Digital Assistant) and Infotainment System
assessment test (using QT and embedded linux platform)

Session 100 Rootfs


romfs, ramfs, yaffs Everest Infocom Pvt Ltd,.
Busybox
customizing linux kernel 738/33, 12th Main, 3rd Blk,
Rajajinagar, Bangalore 560010 India
www.eilabz.com
Session 101 Customizing linux file system
creating linux filesystem image training@eilabz.com
porting images to ARM target board Phone: 90 80 23140344, 90 80 23146229
interacting with target with host/ terminal shell Mobile: 09449104615, 09035669088
Q&A
assessment test
© 2011 Everest Infocom Pvt ltd. The ei labz is a trademark of
Module 7 C++ and Embedded GUI Everest Infocom Pvt ltd, and Wind River and VxWorks are
registered trademarks of Wind River Systems, Inc. The
object oriented programming Everest Infocom Pvt ltd is Authorized Training center for
Wind River Systems, Inc.
Session 102 C++
migrating from c to C++

Session 103 classes objects

Session 104 Constructors and destructors,


overloading operators
Q&A
Daily assessment test

Session 105 Multiple inheritance

Session 107 runtime polymorphism

Session 108 generic programming

Session 109 embedded C++ GUI Programming


Q&A
Daily assessment test

Session 110 QT Introduction

Session 111 QT Designer

Session 112 libraries and APIs

Session 113 compiling QT application for Embedded applications


compiling QT application for Desktop applications
Q&A
Daily assessment test

You might also like