Embedded C Programming Course And Training


About this course


Someone will learn C programming basic and advanced topics. The course is helpful for learning data structures and computer science algorithms. This course will also be helpful for writing C code on the microcontroller. The trainer has 13+ years of experience from industry. He will highlight industrial issues and important topics of computer science algorithms and embedded systems.

What you'll learn

Introduction - Differences between ANSI C & Embedded C - Reasons for difference


Functions - Inline functions - When to use global scope functions - When to use local scope functions - Returning values from functions - Passing values to functions - Implications on stack


Arrays - Different methods of accessing arrays (and their differences) - Multidimensional arrays - Implications on data memory & stack


Storage Classes & Keywords - Usage of auto, static, extern, register, volatile (when to use what?) - Implications on memory - ROM (Code, const variables), RAM (Data (Initialized, Uninitialized), Stack, Heap)


Structures & Unions - practical usage of unions- - Memory holes in structures - Bit fields in structures - Structure overlapping - Accessing like objects


Enumeration, Type Casting - Need for typecasting? - Mistakes made during type casting - Need for Enumeration


BitWise Operators - Practical usages - Mistakes to avoid


Pointers - Purpose in embedded systems - Null Pointer - Function pointers - Far, Near, Huge Pointers - Array of pointers, pointer to pointer - Mistakes made and how to avoid them


Memory Management - Need for dynamic memory creation in embedded - Memory Allocation - Memory


Deallocation - Mistakes made and how to avoid them- - Implications on heap

Compilation - Preprocessor directives - Difference between #define and enum - Compiler - Conditional Compilation, Multi-file compilation - Linker - Memory paging during linking - Object files and methods of linking multi-language environment - Compiler and linker optimization - Assembler - Make Utility system - Scatter files in ARM and their usage

Data Structures - Sorting, searching, linked lists, trees - Usage in embedded systems

Others - Adaptation of RTOS based systems - State Machine Theory - Finite State Machines - Hierarchal State Machines - Object Oriented Programming using C - Dealing with Little/Big endian

Embedded - Realizing Registers using C - Realizing GPIO using C - Peripheral Programming using C - Interrupt handling - Boot strap and control of jump from assembly to C

Course Details
  • Duration: 40​​​

  • hours effort: 8 hours per week

  • Price With GST: 7080/-​

  • Subject: Embedded SystemsLevel: beginner


Knowledge of C programming and microcontrollers is good enough to start this course