Ei Labz Advanced Diploma in Real Time Embedded Systems

Embed Size (px)

Citation preview

  • 8/6/2019 Ei Labz Advanced Diploma in Real Time Embedded Systems

    1/7

    Advanced Real Time Embedded Systemsei 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.

    Course Title: Advanced Real Time Embedded Systems

    Duration: Four Months with 25 days live Project

    Format: Instructor-led lectures and hands-on lab

    sessions; instructor-led Live Remote delivery available

    Price: Contact our local sales representative

  • 8/6/2019 Ei Labz Advanced Diploma in Real Time Embedded Systems

    2/7

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

    following:

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

    Debug build, and test real-time application in a targethost development environment with various

    platforms like Embedded Linux , VxWorks and Qt

    Employable in various disciplines of embeddedapplication development and participate ei labz

    placement programs

    Course Format

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

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

    Case studies and assignments allow hands-onapplication of course concepts.

    Specific questions are addressed.

    Key Topics

    Advanced use of dynamic data structures and algorithmsfor 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 and

    Embedded Linux

    Embedded communication Protocols like I2C, SPI, CAN,Flex ray etc.

    Finite state machines, statecharts, and their uses Advanced algorithms and research-oriented approachesPrerequisites

    Attendees should have BE, BTec, MSc, Diploma or BSc relevant

    programming /electronics concepts covered in academics.

    Outline:

    Session Module and Session details

    Module1 Embedded C And Microcontroller programming

    Session 1 Embedded C

    Cross 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 dela

    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

  • 8/6/2019 Ei Labz Advanced Diploma in Real Time Embedded Systems

    3/7

    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 Rentrant functions

    Intrinsic function

    Session 19 creating library functions

    Case Study: Modbus Library implementation

    Session 20 Case Study: Intruder AlarmCase 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&APost Training Assessment

    Module 2 RTOS Concepts and VxWorks

    Session 24 Introduction to OS

    Scheduling algorithm

    Session 25 Task, process, thread and differences among them

    Premptive kernels

    Session 26 Synchronization mechanism semaphore, binary, coun

    signals and interrupt handlers in operating system

    Inter task communication mechanism Message Ques,

    registers

    Q&A

    Daily assessment test

    Session 27 API interfaces

    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(), t

    taskPrioritySet()

    Q&A

    assessment test

    Session 31 Semaphores

    semCCreate() semTake(), semGive(), semMCreate()

    Priority Inheritance in VxWorks

    Session 32inter task Communication msgQcreate(),

    msgQSend() msgQRecieve()

    critical section in VxWorks

    Session 33 implementation of thermostat using VxWorks (case s

    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

  • 8/6/2019 Ei Labz Advanced Diploma in Real Time Embedded Systems

    4/7

    assessment test

    Session 37 I/O and file systems

    Device drivers in VxWorks

    character device driver

    Session 38 Block device driver

    Session 39 Case Study: UART device Driver

    Session 40 Case Study: RAM Disk Driver

    Q&A

    assessment test

    Module3

    Session 41

    ARM 7 and 9 Architecture and SOC

    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 ARM instruction set

    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 ARM programming with C

    understanding header files

    Session 46 ARM SOC (LPC 2129 controller)

    ARM SOC Programming

    mixing assembly and C

    Session 47 LPC 2129 timer

    ARM and Thumb interworking with C

    Session 48 Timer modes and operations

    Q&A

    assessment test

    Session 49 LPC 2129 PWM programming

    ARM cortex cores

    Session 50 UART programming

    using JTAG for programming ARM controller

    Q&A

    assessment test

    Session 51 JTAG debugging

    Hardware breakpoints vs S/w breakpoints

    Session 52 LPC 2129 interrupt controller

    VIC

    Session 53 working with Watch dog timersinterfacing LCD display to microcontroller

    Session 54 ARM 7 to ARM 9 migration

    ARM 9 SOC S3C2440

    Q&A

    assessment test

    Session 55 ARM 9 SOC S3C2440 GPIO programming

    S3C2440 timer programming

    Session 56implementing home automation with

    S3C2440 (case study

    Session 57 S3C2440 OS porting

    Session 58 Case 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 61Strat 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

    Session 63 CAN protocol

    CAN programming with LPC 2129

    Session 64 MODbus protocol

    implementation of Modbus with MCS51

    Session 65

    Implementation of simple automation

    network for bottling plant (Case study)

    Session 66 Other Field buses

    CanOpen, Flexray, ProfiBus

    Q&A

    assessment test

    Session 67 OSI/ISO model

    TCP/IP stack

  • 8/6/2019 Ei Labz Advanced Diploma in Real Time Embedded Systems

    5/7

    Session 68 Ethernet

    SLIP, ARP, RARP, subnet mask, network ID, Host ID

    Session 69 IP layer

    Session 70 UDP layer, TCP layer

    sliding window algorithm, TTL, Datagram vs Packets etc

    overview of application protocols HTTP, FTP, SMTP, VoiP, RTP, SLIP etc

    Q&A

    assessment test

    Session 71 Socket layer

    Client, server model

    Socket API

    implementation of Socket communication

    between 2 systems

    Session 72Simple POS ( point of selling System implementation)

    withe socket communication

    Q&A

    assessment test

    Module 5 Linux System Programming

    Session 73 Introduction to Linux system Programming

    Linux Architecture

    Linux Shell commands summary

    Session 74 Linux file system

    Shell scripting

    Session 75 environment variables

    Shell programming with arithmetic and

    logical operations

    Session 76 Shell scripting with date and time

    Shell script for Startup, rcs Script

    Q&A

    assessment test

    Session 77Perl Scripting

    Session 78 process synchronization

    semaphores, spinlocks

    Session 79 memory organization

    mmap system call

    shared memory

    Session 80 IPC mechanisms

    FIFO, PIPE

    shared files

    Q&A

    assessment test

    Session 81 Signals

    signal handler

    Signal registration

    Session 82 signal invoking

    implementation of chess game clock using sigalarm (c

    other miscellaneous system calls in linux

    Session 83 Introduction to POSIXSystem V calls vs POSIX

    Q&A

    assessment test

    Session 84 Thread model vs Process model

    Thread programming under linux

    Thread libraries

    Session 85 Thread creation, Thread joining, Thread deleting

    Thread Scheduling

    Session 86 Thread Synchronization

    Session 87 Semaphores, mutexes, conditional variables

    Thermostat implementation with multithreads (case

    Q&A

    assessment test

    Module 6 Embedded Linux and Device Drivers

    Session 88 Linux Kernel Module programming

    simple Character device driver

    Session 89 simple module make file

    major number, minor number

    interfaces xxread() xxwrite() xxopen() xxclose() xxcrea

    Session 90 linux device file

    mknod

    exploring /dev

    a simple application program to demonstrate to acce

    Q&A

    assessment test

    Session 91 IOCTL

    simple device driver with UART (case Study)

    integrating with Thermostat case study (case study)

    Session 92 block device driver

    implementation RAMDisk (case study)

    Session 93 Network device driverQ&A

    assessment test

    Session 94 linux kernel architectures, subsystem

    Creating linux Image using source code

    Session 95 analysing linux source code organization

    Linux 2.4 vs linux 2.6

    kbuild

    cross compiling linux kernel for arm architecture

    Hardware abstraction layer

    Session 96 linux kernel APIs

  • 8/6/2019 Ei Labz Advanced Diploma in Real Time Embedded Systems

    6/7

    extracting interfaces from device drivers

    Session 97 Case study ADC device driver S3C2440

    Case study GPIO Device Driver

    Session 98 Case study UARTstatic drivers vs dynamic loadable drivers

    Session 99 building kernel for embedded processors

    Q&A

    assessment test

    Session 100 Rootfs

    romfs, ramfs, yaffs

    Busybox

    customizing linux kernel

    Session 101 Customizing linux file system

    creating linux filesystem image

    porting images to ARM target board

    interacting with target with host/ terminal shell

    Q&A

    assessment test

    Module 7 C++ and Embedded GUI

    object oriented programming

    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 ProgrammingQ&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

    Session 114 Recap, Clarifications, Q/A and Practice sessions

    Case Study 1 Implementation of Ignition control system

    (using fuzzy logic)

    Case Study 2

    Final Project

    Implementation of CAN open for

    Factory automation

    CDA (Car Digital Assistant) and Infotainment System

    (using QT and embedded linux platform)

    Everest Infocom Pvt Ltd,.

    738/33, 12th

    Main, 3rd

    Blk,

    Rajajinagar, Bangalore 560010 India

    www.eilabz.com

    [email protected]

    Phone: 90 80 23140344, 90 80 23146229

    Mobile: 09449104615, 09035669088

    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.

    http://www.eilabz.com/http://www.eilabz.com/mailto:[email protected]:[email protected]:[email protected]://www.eilabz.com/
  • 8/6/2019 Ei Labz Advanced Diploma in Real Time Embedded Systems

    7/7