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
