Embedded Systems

Overview

  • In this training participants would be able to design, describe, validate and optimise embedded electronic systems in different industrial application areas.
  • Participants will also have the capability to solve theoretical and practical problems with particular emphasis on electronic circuits, control programs and the software-hardware interface

    Duration
    5 Days

    Pre-Requisites
    Programming Language basics

Course Outline

  • Why C in Embedded
  • ANSI Standard
  • Fundamentals of C
  • Datatypes and Constants
  • Simple & Formatted I/O
  • Memory Usage
  • Operators & Expressions
  • Flow Control
  • Loops
  • Role of Functions
  • Pass by value / reference
  • Returning values from Functions
  • Recursive Functions
  • Call Back Functions
  • Implications on Stack
  • Library Vs User defined function
  • Passing variable number of arguments Arrays
  • Defining, initializing and using arrays
  • Multi-dimensional
  • Arrays of Characters and Strings
  • Arrays and Pointers
  • Passing arrays to functions
  • String handling with and without library functions
  • Scope and Life
  • Automatic, Static, External, Register
  • Memory (CPU/RAM)
  • What structures are for
  • Declaration, initialization
  • Accessing like objects
  • Nested Structures
  • Array of Structures
  • Passing structures through functions
  • Allocation of memory and holes
  • Structure Comparison
  • Structure bit operation
  • Typedef for portability
  • Unions
  • Overlapping members
  • Enum
  • Indexing
  • enum Vs #define
  • AND(&), OR( | ), XOR(^)
  • Compliment (~)
  • Left-Shift(<<), Right Shift(>>)
  • Masking, setting, clearing and testing of Bit/Bits
  • The purpose of pointers
  • Defining pointers
  • The & and * operators
  • Pointer Assignment
  • Pointer Arithmetic
  • Multiple indirections
  • Advanced pointer types
  • Generic and Null Pointer
  • Function Pointers
  • Pointers to Arrays and Strings
  • Array of Pointers
  • Pointers to Structure and Union
  • Pointers to Dynamic memory
  • Far, Near and Huge Pointers
  • Pointer Type Casting
  • Argc, argv
  • Variable Inputs to the main
  • Pre-processor Directives
  • Compiler, Assembler, Linker
  • Conditional Compilation
  • Multiple File Compilation
  • Code Optimization techniques
  • Volatile, #pragma
  • Stacks and Queues(Important topic to give more focus Mini Project 1)
  • Ardiuno Intro
  • Programming in the Arduino Environment
  • Program Design
  • Microcontroller Architecture
  • Intro to Assembly
  • AVR Architecture
  • VMLAB
  • Address Modes
  • Memory
  • Conditionals and Branches
  • Function Calls
  • Logic Operations
  • Timers/Interrupts
  • ADC and Other Features