Embedded System Training

Posted by


This is combination of Programming skills in C , ARM architecture raw driver development , RTOS , Linux  with Job assistance. This product is specially created for professionals trying to enter in the Embedded domain. Please check the course content below.


Course Contents

Learn C

  • Importance of IDE
  • Programming Skills
  • Keywords and Identifiers
  • Operators
  • Preprocessor
  • Program Flow Control
  • Integer , Floating Point
  • Storage Class
  • String
  • User defined data types , Struct and File handling .
  • Array , Pointers
  • Linked list
    • implementation of linked list in C
    • adding a node to a linked list
    • deleting a node from a linked list
    • Reversing a linked list
  • Stacks
    • Implementation of stacks in C
    • checking a balanced parenthesis using stacks
    • prefix to infix conversion
    • evaluation of prefix infix notation
  • Doubly linked list
    • implementation of doubly linked list in C
  • Queue
    • Implementation of queue
    • linked list implementation of queues
  • Binary Trees
    • introduction to binary search trees
    • implementation of BST in C
    • Finding Min and Max elements in BST
    • find the height of the BST
    • Binary tree traversal ( inorder, preorder, Postorder, level order traversal)
    • deleting a node from the BST

Embedded C with ARM Architecture

Getting Started

  • Introduction : What is baremetal programming ? Why is it useful ?
  • Overview of the Boards used.
  • Hardware Requirements
  • Required Documentation
  • Setting up Keil uVision5 IDE (Hands-On)
  • Opening a new project on Keil (Hands-On)

Debugging with Keil

  • Writing first code (Hands-On)
  • Breakpoints (Hands-On)
  • Disassembly View  (Hands-On)
  • Registers Windows (Hands-On)
  • Watchpoint  (Hands-On)
  • Memory Window (Hands-On)
  • System View (Hands-On)
  • Serial Windows (Hands-On)
  • Quiz

Introduction to ARM Cortex-M 

  • What is ARM Cortex-M ?
  • Cortex M family of Processors
  • Microcontroller v/s Microprocessor

Understanding ARM Cortex-M based MCUs

  • Understanding the Block Diagram of MCU (Micro-controller)
  • Understanding MCU Bus Interfaces
  • I-Code/D-Code/S-Bus
  • Overview of ARM’s AMBA Bus Architecture
  • Understanding the Bus Matrix
  • Understanding Memory Map of MCU
  • Understanding MCU Clock Tree
  • Understanding MCU Vector Table
  • Understanding MCU Interrupt Design ( NVIC )
  • Understanding Cortex M Boot Process
  • Examining startup file of MCU

Embedded C Essentials

  • Bitwise Operators (Hands-On)
  • Pointers (Hands-On)
  • Importance of “Volatile” Keyword (Hands-On)
  • Significance of “const” keyword (Hands-On)
  • Structures (Hands-On)
  • Power of Typedef (Hands-On)
  • Accessing Structure members (Hands-On)
  • Bitwise mapping of structures (optional) (Hands-On)

Understanding CMSIS (Cortex Microcontroller Software Interface Standard)

  • Writing Blinky by using raw addresses and pointers (Hands-On)
  • Introduction to CMSIS
  • Overview of CMSIS Documentation
  • Writing CMSIS compliant blinky program
  • Examining Vendor Specific header files

Peripheral Driver Implementation : GPIO 

  • Understanding GPIO hardware block diagram
  • Understanding different I/O Modes (Digital / Analog)
  • Understanding different GPIO States ( High Impedance / Pull-up/down / Open Drain / Push Pull)
  • Understanding Alternate Functionality MUXing
  • Examining GPIO registers from documentations
  • Implementing generic GPIO Driver APIs
  • GPIO Clock Control (Hand-On)
  • GPIO Alternate Mode Configuration (Hand-On)
  • Implementing GPIO Read / Write APIs
  • Output Driver APIs(Hands-On)
  • Input Driver APIs (Hand-On)
  • Implementing GPIO Interrupts (Hand-On)
  • Developing a library for GPIO Drivers for future use (Hands-On)

Peripheral Driver Implementation : SysTick Timer 

  • Understanding the SysTick Timer and it’s registers
  • Implementing SyTick Timer Delay API with Interrupts (Hands-On)

Interrupt Handling

  • Introduction to Interrupts
  • Interrupts VS Exceptions
  • NVIC
  • Interrupt Process
  • MCU Interrupts
  • Boot Process
  • Interrupts – (Hands-On)

Peripheral Driver Implementation : ADC 

  • ADC Basic Concepts
  • Understanding ADC Hardware Block Diagram
  • Understanding ADC Functional Modes
  • Implementing ADC Driver APIs  (Hands-On)
  • ADC Interrupts (optional) (Hands-On)

Peripheral Driver Implementation : UART

  • Understanding UART Protocol in detail
  • Understanding UART Hardware Block Diagram
  • Understanding UART Clock Generation ( BAUD Rate Calculations)
  • Implementing UART Transmit Driver APIs (Hands-On)
  • Polling Mode Transmit
  • Interrupt Mode Transmit
  • Implementing UART Receive Driver APIs (Hands-On)
  • Polling Mode receive
  • Receive on Interrupts
  • Exercises (Hands-On)
  • Interfacing some Device (optional)

Peripheral Driver Implementation : SPI 

  • SPI Introduction
  • SPI Signals
  • SPI in Action
  • SPI Clock Polarity
  • SPI clock Phase
  • SPI Hardware Diagram
  • SPI Hardware Pins
  • SPI – Hands-ON programming  Master , Slave (8 Lessons)

Peripheral Driver Implementation : I2C

  • Understanding I2C Protocol in detail
  • Introduction & Features
  • I2C : Basics of Physical Layer
  • I2C Protocol : Overview
  • Start / Re-Start & Stop Conditions
  • Data Transfer Mechanisms
  • I2C NACK Conditions
  • Wired ANDing
  • Multi-Master Arbitration
  • I2C Clock Stretching
  • UART v/s SPI v/s I2C
  • Understanding I2C Hardware Block Diagram
  • Understanding I2C Clock Generation ( Clock Calculations)
  • Implementing I2C Master Transmitter Driver  (Hands-On)
  • Implementing I2C Master Receive Driver (Hands-On)
  • Implementing I2C Slave Transmitter Driver  (Hands-On)
  • Implementing I2C Slave Receiver Driver (Hands-On)
  • Exercises (Hands-On)
  • Working with RTOS

    Operating System – General

    Fundamentals of Operating System
    Computer System
    Operating System Definition
    Embedded System Resources
    Booting an Operating System
    Computer System V/S Embedded System

    RTOS Concepts

    Need of RTOS
    RTOS Features
    RTOS Types
    RTOS Performance

    Free RTOS

    FreeRTOS Introduction
    Getting started with FreeRTOS
    FreeRTOS Demo

    Working with Linux

    Linux – Basics

    Linux Basics – OS
    Linux Administration -OS
    Linux Filesystem Working -OS
    Linux File system working with FD
    Creating Filesystem in Linux

    Linux -Development

    Linux -Development Setup Yocto x86-OS
    Getting Started -Github
    Linux Development Process
    Linux Library working
    Linux Busybox
    Getting started with Yocto
    Yocto with QEMU
    Linux -Development Setup with Yocto
    Yocto Build

    Virtual Library

    This is a dynamic library where we keep posting interesting and important tutorials.


    Working of a Multimeter

    Multiplexer vs Demultiplexer

    Sink-Source current

    Introduction to Arduino

    Introduction to Sensors


    Product Design Assignment – Hardware Selection

    Product Design Assignment – Basic Protocol

    Important Concepts

    PCB Concepts and Terminology

    Networking Cables

    Signal Encoding and Ethernet Packet

    State Machine


    Linux Practical -Booting

    Job Assistance 

    Fast Track Interview Preparation with Mock-up Interviews . It will have both direct and indirect opportunities in various companies across India. 

    Live Sessions with Industry Experts

    We provide multiple opportunities to our students to interact with Industry experts in weekend live sessions. That is one important aspect of Embedkari online courses.

  • Special Sessions

    IoT Basics, Embedded Career, Resume Preparation,  Interview Preparation for Internship/Job

    Combo Offer

    One can purchase live sessions specific to particular module separately..


This course has almost 150 videos . Pre-recorded videos are kept between 10-25 min with focus on         particular concept.

  • Certificate 

    Participation certificate will be provided to all you apply for that.


    All online recorded material (except Special sessions) can be accessed 365 days from the date of enrollment.





Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.