+ All Categories
Home > Documents > Embedded Software Engineer -LTr201

Embedded Software Engineer -LTr201

Date post: 02-Mar-2018
Category:
Upload: neo-green-labs
View: 219 times
Download: 0 times
Share this document with a friend

of 20

Transcript
  • 7/26/2019 Embedded Software Engineer -LTr201

    1/20

    Embedded Software Engineer

    (Course Code: LTr201)

    An Embedded System is an integration of software and hardware, either

    programmable or fixed in capability, specifically designed for a particular function or

    particular kind of application device.

    The most possible hosts of an Embedded System are

    Industrial machines

    Automobiles

    Medical Equipment

    Cameras

    Household Appliances

    Airplanes

    Vending Machines and Toys (as well as the more obvious cellular phone and

    Smart Phones)

    Embedded Systems programming is a specialized occupation. Programmable

    Embedded Systems are provided with programming interfaces.

    Current Trends in India

    Embedded system development in India started around early 2000. The market

    reached approximately $15 billion by 20015 and now has the potential to triple in size by2025.

    According to recently released NASSCOM report, the total addressable

    embedded system R&D global opportunity is expected to reach approx. $89 billion by

    2016 where India alone could contribute approx. $15 billion in size.

    Opportunities

    Two core parts of any embedded systems are its hardware and firmware or

    software inside the core processing unit. This means software or firmware is now a key

    differentiator; since any new feature or specification can be easily tackled or added

    using software changes. Clearly, now the software has to play critical role of

  • 7/26/2019 Embedded Software Engineer -LTr201

    2/20

    differentiation, innovation and future enhancements in embedded systems. The ratio of

    contribution by firmware and hardware, which was 30-70 (30% firmware & 70%

    hardware) earlier has now become almost 50-50 and is expected to grow further as

    hardware reaches its saturation in due course.

    What Should You Do?

    While there are so many alluring opportunities in this field, question ishow can

    we benefit from this?

    If you are an individual from engineering background there is clear cut

    opportunity for becoming an embedded systems engineer; whether it is in the field of

    firmware, system integration, hardware designs or anything such. However, it must be

    understood that on this fast track field; industry is expecting work-ready candidates. Thismeans, candidates should have prior knowledge of this field or should have a very steep

    learning curve to cope up with current trends.

    With this fact in mind, we, the Neo Green Labs has designed the Embedded

    Software Engineer course with a systematic syllabus and right contents in order to

    groom our aspiring trainees to grab an excellent opportunity in Embedded System.

  • 7/26/2019 Embedded Software Engineer -LTr201

    3/20

    Course Rationale

    Our Training methodology allows the Trainees to dive in to embedded system

    with basic knowledge and become a productive Industry ready candidate by the end of

    the training. More than 80% of the course is hands on and hence the practical exposures

    for the candidates are high enough to develop the key skills required for the industry.

    Throughout the course, the Trainees has to complete many assignments, and do projects.

    Moreover, at the end of the training, the trainees would get an opportunity to work with

    our Embedded Product development team who are actually developing products and

    solutions for other companies. Besides the Technical training, we provide regular soft

    skill development training for our trainees. Weekly assessments and one on one

    counselling would be understand strength and weakness of the trainees.

    Technical Training Flow

    Every Embedded software engineers must have basic knowledge in circuits and

    hardware designs. Hence at the beginning of the course, we provide training in circuits,

    simulations ad PCB Designing.

    Embedded C is essential for anyone to begin a career in embedded firmware. So,

    we train with the fundamentals of embedded C with hands-on assignments. Later, the

    training in 8-bit microcontroller begins. We teach all the features of Microchip

    PIC16f886/7 including sleep modes in order to get strong basics in microcontrollers and

    programming. There would be hands on assignments after each topics and mini project

    at the end of PIC training. Later, the trainees can learn interfacing of various Sensors and

    Wireless Technologies. There would be a project after this and the candidate has to do

    this project under the guidance of the trainers.

    Later, the trainees would learn ARM7, 32- bit processor. And do various

    assignments and Projects.

    Real Tim Operating System (RTOS) is an essential knowledge required for the

    Embedded Software Engineer. So, the trainees would learn the basic concepts of RTOS in

    deep and after that, they would learn a very famous RTOS called FreeRTOS. We teach

    those freeRTOS and developing applications using FreeRTOS with various

    microcontrollers / processors. We use PIC24J series of microcontrollers for the testing

    purpose. Moreover, the trainees would get the understanding of Porting RTOS in to

    various micro controllers.

    Linux has great importance in todays Embedded System. With this in mind, we

    train the students to work with Linux, understanding the internals of Linux and

    developing applications with it. The Trainees has to work with ARM11 based System on

  • 7/26/2019 Embedded Software Engineer -LTr201

    4/20

    Board, Raspberry Pi to learn the Embedded Linux. During this period the trainees learn

    the Python programming Language as well.

    During the Last two months, the trainees would get and On Job Training.

    Duration: 6 Months/ 600 Hrs

    Pre-Requisites

    Basic Understanding in C

    Basic Knowledge in Electronics

    Eagerness to learn new Technologies.

    Who can attend?

    Person with B.E/B.Tech/M.Tech/Diploma can join this training

    Anyone who have interest in this field and have pre-requisite knowledge

    Recommendations

    It is strongly recommended to bring your own LAPTOP during the training so that

    you can easily practice the exercises at home.

    Certification

    Those who successfully complete 4 month training will get Training Certificate.

    Those who successfully complete 4 month training and 2 month on-job Training

    will get six monthexperience certificate.

    Placement Assistance

    We provide 100% Placement assistance to the trainees. We have good relations

    with a number of embedded companies.

    Course Fee: INR 40,000/-

  • 7/26/2019 Embedded Software Engineer -LTr201

    5/20

    Detailed Training Plan

    Week Details

    MONTH-1

    Week 1

    Concepts of Embedded System

    Embedded System Basics

    Need for Embedded System

    Applications

    Current Industrial Scenario

    Circuit Simulation & Analysis

    EDA Tools

    Circuit Simulation Tools

    Schematics

    Windows

    Tools Bar

    Component Placement

    Component Wiring

    Power &Ground

    Short cuts

    Annotation

    Saving

    Virtual System Modelling

    Graph Based Simulation

    Interactive simulation

    PCB Designing

    Basic Concepts

    Schematic Drawing

    Capture CIS

    Basics-Libraries-Component placing-

    Connecting with wires

    Power & Ground

    Annotation

    Design Rule Check

    Bill of materials

    Net Alias

    Net list Creation

  • 7/26/2019 Embedded Software Engineer -LTr201

    6/20

    Layout Design

    Layout Basics

    Foot print Selection

    Layer Selection

    System Settings

    Global Spacing

    Net settings

    Component Placement & Considerations

    Auto Route& Unroute

    Manual Routing

    Obstacle Tool

    Dimension Tool

    Drill Chart

    Completion of PCB

    Jumpers

    Layer Adjustment

    Routing jumpers

    Editing Vias & Pads

    Assignments

    Soft Skill Development Session 1

    Resume Building

    One on One Performance Analysis & Test

  • 7/26/2019 Embedded Software Engineer -LTr201

    7/20

    Week 2

    PCB Fabrication

    PCB Fabrication Process

    Materials Required

    Post Processor Settings

    Printing the Design to Copper Clad

    Printing the design into paper

    Copying design to copper clad

    Permanent Marker Method

    Etching

    Ferric Chloride Solution

    Cleaning

    Polishing

    Drill Holes

    Drilling Process-Using Hand Drill

    Soldering & Testing

    Component familiarisation

    Good Soldering Practices

    Final Touch

    De-soldering

    Mini Project

    Embedded C

    Basic

    Header files

    Macros

    Constants

    Main Function

    Data Types

    Char

    IntLong

    Double

    Memory Considerations of Processor / Controller

    Loops

    Importance of loops in embedded System

    For loop

    While loop

    Do While loop

    Break & Continue statements

  • 7/26/2019 Embedded Software Engineer -LTr201

    8/20

    Conditional Constructs

    Simple if

    if else

    Nested if

    Switch case

    Functions

    Declaration

    Arguments / Parameters

    Definition

    Function call

    Return type functions

    Call by value

    Call by reference

    Arrays

    Basics

    One Dimensional Array

    Array Manipulations

    Two Dimensional Array

    Pointers

    Basics

    Manipulations using Pointers

    Function with pointer

    Array with pointer

    Structure

    Basics

    Structure using array

    Pointers

    Classes

    Basics

    Member Variables and FunctionsAccess modifiers

    Linked list

    Single linked list

    Type Casting

    Assignments

    Soft Skill Development Session 2

    Group Discussion Session 1

    One on One Performance Analysis & Test

  • 7/26/2019 Embedded Software Engineer -LTr201

    9/20

    Week 3

    8 Bit Microcontrollers (Microchip PIC 16F886)

    Basics

    Microprocessor & Controller

    Need of Microcontroller / Processor

    Types

    Vendors

    Microchip PIC16 Series

    PIC Family

    Architecture Mid-Range

    Pin-out

    Memory Organization

    Special features

    Familiarizing MPLAB & Hitech CWindows

    Creating a new project

    Save Close and Open projects

    Concepts of Assembler & Compiler

    I/O Port Programming

    Understanding I/O PORT

    Registers and configurations

    Initialization

    Writing Code and Building it

    Simulations

    Burning Program hex file to Microcontroller (Programmer

    Pickit3 Programmer

    Testing in Kit

    Interrupt Programming

    Concept of Interrupts

    Registers and configurations

    External Interrupts

    External Interrupt Pin

    Interrupt Service Routine

    LCD Interfacing

    Basics

    LCD Pin out

    Function Set & Modes

    LCD Command set familiarisation

    LCD header files familiarization

    Keypad Interfacing

  • 7/26/2019 Embedded Software Engineer -LTr201

    10/20

    Keypad concept familiarisation

    Keypad scanning

    Interfacing DC Motors

    DC Motor Working& familiarisation

    Motor Drivers

    DC Motor Speed Control

    Universal Synchronous Asynchronous Receiver Transmitter

    Serial Communication Basics

    Pins & Register configurations

    Familiarizing UART header files

    Assignments

    Soft Skill Development Session

    Group Discussion Session 2

    One on One Performance Analysis & Test

    Week 4

    Microcontrollers (PIC 16F886cont...)

    Analog to Digital Converter

    ADC Basics

    Overview of ADC channels

    ADC Register configurations

    Familiarizing ADC header file

    Timer/Counter programming in PIC microcontroller

    Timer Basics

    Timer Register configurations

    Timer 0

    Timer 1

    Timer 2

    CCP module in PIC microcontroller

    CCP BasicsOverview of different modules in CCP

    CCP Register configurations

    Capture Mode

    Compare Mode

    PWM

    Watch dog timer in PIC

    Watch dog Timer Basics

    Overview of Registers

    Configuration of Registers

  • 7/26/2019 Embedded Software Engineer -LTr201

    11/20

    Assignments

    Soft Skill Development Session

    Group Discussion Session 3

    One on One Performance Analysis & Test

    MONTH-2

    Week 1

    Microcontrollers (PIC 16F886)(cont...)

    Interrupts

    Peripheral Interrupts

    Timer0 Interrupt

    PORTB Change Interrupt

    Sleep Mode

    Power Down Mode

    Wake Up

    Watch Dog Timer Wake Up

    Master Synchronous Serial Port

    Basics

    Registers

    SPI

    SPI Basics-Overview of SPI communication

    SPI Register configurations

    Familiarizing SPI header files

    Micro controller to Microcontroller Communication

    Interfacing EEPROM & RTC

    I2C

    I2C

    Basics

    Overview of I2C communication

    I2C Register configurations

    Familiarizing I2C header files

    Micro controller to Microcontroller Communication

    Interfacing EEPROM

    Assignments

    Soft Skill Development Session

    Personal Interview Session 1

    One on One Performance Analysis & Test

    Mini Project

  • 7/26/2019 Embedded Software Engineer -LTr201

    12/20

    Week 2

    Interfacing Sensors

    Interfacing Digital Sensors

    Interfacing Analog Sensors

    Wireless Interfacing

    GSM

    GPS

    ZIGBEE

    RFID

    WiFi

    Project

    Week 3

    32 Bit Microcontrollers (ARM7 TDMI LPC2138)

    Basics

    A brief history of ARM

    ARM Family

    Introduction to ARM microcontrollers

    ARM7 TDMI

    Architectural Features

    Pin-out

    Memory Organization

    Pipelining

    Operating modes

    Special features

    Introduction to Kiel uVision 4

    Windows

    Creating a new project

    Save Close and Open projects

    Concepts of Assembler & Compiler

    I/O Port Programming

    Understanding I/O PORT

    Registers and configurations

    Initialization

    Writing Code and Building it

    Simulations

    Interrupt Programming

    Concept of interrupts

    Registers and configurations

    External interrupts

  • 7/26/2019 Embedded Software Engineer -LTr201

    13/20

    Interrupt Pins

    Interrupt Service Routine-

    External interrupt

    Vectored and Non-Vectored IRQ Interrupts

    FIQ Interrupt

    LCD Interfacing

    Basics

    LCD Pin out

    Function Set & Modes

    LCD Command set familiarisation

    LCD header files familiarization

    Keypad Interfacing

    Keypad concept familiarisation

    Keypad scanning

    Interfacing DC Motors

    DC Motor Working& familiarisation

    Motor Drivers

    DC Motor Speed Control

    Universal Synchronous Asynchronous Receiver Transmitter(UART 0,UART 1)

    Serial Communication Basics

    Pins & Register configurations

    Familiarizing UART header files

    Assignments

    Soft Skill Development Session

    Mock Interviews

    One on One Performance Analysis & Test

    Microcontrollers (LPC2138cont...)

    Analog to Digital Converter (ADC0 & ADC1 Channels)

    ADC Basics

    Overview of ADC channels

    ADC Register configurations

    Familiarizing ADC header file

    Digital to Analog Converter

    DAC Basics

    Overview of DAC Operation

    DAC Register configurations Timer/Counter programming in ARM microcontroller

  • 7/26/2019 Embedded Software Engineer -LTr201

    14/20

    Week 4

    Timer Basics

    Timer Register configurations

    Timer 0

    Timer 1

    Capture Module in ARM Microcontroller

    Timer CaptureBasics

    Timer Capture Register configurations

    Timer 0 Capture

    Timer 1 Capture

    Timer Match Module in ARM Microcontroller

    Timer Match Basics

    Timer Match Register configurations

    Timer 0 Match

    Timer 1 Match

    PWM Module

    PWM Basics

    Overview of two types of PWM in ARM controller

    Single Edge PWM

    Double Edge PWM

    PWM -Pins

    Register configurations

    Watch dog timer in ARM

    Watch dog Timer Basics

    Overview of Registers

    Configuration of Registers

    Assignments

    Soft Skill Development Session

    Mock Interviews Session 2

    One on One Performance Analysis & Test

    MONTH-3

    Microcontrollers (LPC2138 cont...)

    Master Synchronous Serial Port

    Basics

    Registers

    SPI (SPI0 & SSP)

    SPI Basics-Overview of SPI communication

  • 7/26/2019 Embedded Software Engineer -LTr201

    15/20

    Week 1

    SPI Register configurations

    Familiarizing SPI header files

    Micro controller to Microcontroller Communication

    Interfacing EEPROM & RTC

    I2C (I2C0 &I2C1)

    I2C

    Basics

    Overview of I2C communication

    I2C Register configurations

    Familiarizing I2C header files

    Micro controller to Microcontroller Communication

    Interfacing EEPROM

    Assignments

    Soft Skill Development Session

    Public Speaking Session 1

    One on One Performance Analysis & Test

    Project

    Week 2

    Real Time Operating System (RTOS)

    Introduction to RTOS

    Evolution of RTOSMemory Management

    Processor Management

    Device Management

    Types of Operating System

    Operating System services

    Program Execution

    I/O Operation

    File System Manipulation

    Communication

    Error Detection

    Resource Allocation

    Features and Advantages of RTOS

    Process scheduling and Algorithm

    Multitasking

    Multi Programming

    Spoofing

    Context Switch

    Scheduler

  • 7/26/2019 Embedded Software Engineer -LTr201

    16/20

    Kernel

    Non-primitive Kernel and Primitive Kernel

    Task Synchronization

    Priority Inversion

    Mutual exclusion

    Interrupt latency

    Semaphores

    Dead locks

    Assignments

    Soft Skill Development Session

    Public Speaking Session 2

    One on One Performance Analysis & Test

    Week 3

    Real Time Operating System (RTOS) (cont...)

    RTOS Concepts

    Assignments

    Soft Skill Development Session

    Public Speaking Session 3

    One on One Performance Analysis & Test

    Week 4

    Real Time Operating System (RTOS) (cont...)

    FreeRTOS Overview

    Task Management

    Queue Management

    Interrupt Management

    Resource Management

    Memory Management

    Troubleshooting FreeRTOS

    Familiarising basic programming in PIC24FJ128GA010

    GPIO operation in controller

    Basics-familiarising concept-register configuration

    UART operation in controller

    Basics-familiarising concept of UART- UART register configuration

    ADC operation in controller

    Basics-familiarising concept of ADC-ADC register configuration

    Timer operation in controller

  • 7/26/2019 Embedded Software Engineer -LTr201

    17/20

    Basics-familiarising concept of Timer- Timer register configuration

    FreeRTOS programming using Microcontroller (PIC24FJ128GA010)

    Assignments

    Soft Skill Development Session

    Motivation

    One on One Performance Analysis & Test

    MONTH-4

    Week 1

    Real Time Operating System (RTOS) (cont...)

    FreeRTOS programming using Microcontroller (PIC24FJ128GA010)

    Project

    Soft Skill Development Session

    Mock Interviews

    One on One Performance Analysis & Test

    Embedded Linux

    Introduction

    Linux FoundationLinux History

    Linux Philosophy

    Linux Community

    Linux Terminology

    Linux Distributions

    Linux Structure and Installation

    Linux file system basics

    The boot process

    Linux Distribution Installation

    Command-line Operations

    Command Line Mode Options

    Basic Operations

    Searching for Files

    Working with Files

    Installing Software & Packages

    Finding Linux Documentation

    Documentation SourcesThe man pages

  • 7/26/2019 Embedded Software Engineer -LTr201

    18/20

    Week 2

    GNU info

    Help Command

    Other Documentation Sources

    File Operations

    File systems

    File system Architecture

    Comparing Files and File Types

    Backing Up and Compressing Data

    User Environment

    Accounts

    Environmental Variables

    Recalling Commands

    Command Aliases

    File Permissions

    Text Editors

    Basic Editor: nano

    Creating text files with nano

    Local Security Principles

    Understanding Linux Security

    Understand the Uses of root

    Using the sudo Command

    Working with Passwords

    Bypassing User Authentication

    Network Operations

    Introduction to Networking

    Browsers

    Transferring Files

    Manipulating Text

    Modifying Files

    sed and awk CommandsFile Manipulation Utilities

    grep Command

    Misc Text utilities

    Dealing with Large Files and Text-related Commands

    Bash Shell Scripting

    Features and Capabilities

    Syntax

    Constructs

    Assignments

  • 7/26/2019 Embedded Software Engineer -LTr201

    19/20

    Soft Skill Development Session

    GD Evaluation

    One on One Performance Analysis & Test

    Week 3

    Advanced Bash Shell Scripting

    String Manipulation

    Boolean Expressions

    File Tests

    Case Structure

    Debugging

    Tips and Tricks

    Processes

    Introduction to Processes and Process Attributes

    Listing Processes

    Process Metrics and Process Control

    Starting Processes in the Future

    Common Applications

    Internet Applications

    Multimedia Applications

    Graphics Editors

    Using Secure ShellRaspberry pi (ARM11 Based SoB)

    Overview for Raspberry pi

    Development environment and tools

    Concepts of python

    Application Development using Python & Linux

    Assignments

    Soft Skill Development Session

    Mock Sessions

    One on One Performance Analysis & Test

    Week 4

    Project

    Soft Skill Development Session

    Analysis and Evaluvation

    One on One Performance Analysis & Test

    MONTH 5 & 6

  • 7/26/2019 Embedded Software Engineer -LTr201

    20/20

    On-Job Training

    R&D wing of Neo Green Labs has engaged in the Product Development activities for the past three

    years. After the four month rigorous training, the trainees can involve in commercial product

    development (on Job training). The trainees have to work in a team of Engineers to develop products

    as per the client requirement. This is the best part of our training because trainees can utilize the

    knowledge they gained through the training for implementing products. Moreover, no other training

    centres have such a facility.


Recommended