Embedded Software Developer Kit

Posted by

Course Contents

C from Scratch

Learn the Tools -Eclipse IDE
Programming Skills
Identifier Operators
Program Flow Control
C References for practice in Data structure

Advance C

Integer, Floating and Double Point Numbers
Storage class
File Operations
Linked List

Baremetal Programming with ARM

Introduction to  Baremetal programming ?
Overview of the Boards used.
Hardware Requirements
Setting up Keil uVision5 IDE (Hands-On)
Opening a new project on Keil (Hands-On)
Debugging with Keil Introduction to ARM Cortex-M
Understanding ARM Cortex-M based MCUs
Embedded C Essentials Peripheral
Driver Implementation                                                 
ARM Bare Metal detail is given here

Linux Fundamentals

Getting started with Linux
System Calls
File system
Kernel Module
Device Driver Concepts
Character Device Driver
Workshop – TT
Workshop – UART
Introduction to Yocto

Interview Preparation Tutorials

Resume Preparation Guidelines
Last Moment Tips for Interview
Embedded Job test

Do I need any hardware board for this training ?

Our lab based demo provide clarification of Baremetal programming with Embedded C. We will introduce  both Simulator and Hardware options but hardware board  will definitely help you to do experiments at your end.

How this training is going to help in my career ?

This is a complete package to start career in Embedded system. It is also foundation of latest technologies like IoT , Robotics and Industrial Automation.


Here are few comments on already launched Embedkari product Networking-Ethernet Controller.

In a world where resources for conceptual knowledge of embedded is missing, Embedkari provides a nice platform to help you in your career in the embedded domain”       By Manish Kaul

This course covers right from Hardware to the software, covering entire compute stack in a good detail. It helps you to understand a great deal about networking”  By Aditya

Job Assistance

Available for this product.

Course Duration

Three Months


  • Diploma
  • Engineering


How to buy this course ?

If you know Purchase Process , visit Product page directly .

Contact us in case of any issue


ARM Bare Metal Course Detail

Getting Started

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

Debugging with Keil

  1. Writing first code (Hands-On)
  2. Breakpoints (Hands-On)
  3. Disassembly View  (Hands-On)
  4. Registers Windows (Hands-On)
  5. Watchpoint  (Hands-On)
  6. Memory Window (Hands-On)
  7. System View (Hands-On)
  8. Serial Windows (Hands-On)
  9. Quiz

Introduction to ARM Cortex-M 

  1. What is ARM Cortex-M ?
  2. Cortex M family of Processors
  3. Microcontroller v/s Microprocessor

Understanding ARM Cortex-M based MCUs

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

Embedded C Essentials

  1. Bitwise Operators (Hands-On)
  2. Pointers (Hands-On)
  3. Importance of “Volatile” Keyword (Hands-On)
  4. Significance of “const” keyword (Hands-On)
  5. Structures (Hands-On)
  6. Power of Typedef (Hands-On)
  7. Accessing Structure members (Hands-On)
  8. Bitwise mapping of structures (optional) (Hands-On)

Understanding CMSIS (Cortex Microcontroller Software Interface Standard)

  1. Writing Blinky by using raw addresses and pointers (Hands-On)
  2. Introduction to CMSIS
  3. Overview of CMSIS Documentation
  4. Writing CMSIS compliant blinky program
  5. Examining Vendor Specific header files

Peripheral Driver Implementation : GPIO 

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

Peripheral Driver Implementation : SysTick Timer 

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

Peripheral Driver Implementation : ADC 

  1. Understanding ADC Hardware Block Diagram
  2. Understanding ADC Functional Modes
  3. Implementing ADC Driver APIs  (Hands-On)
  4. ADC Interrupts (optional) (Hands-On)

Peripheral Driver Implementation : UART

  1. Understanding UART Protocol in detail
  2. Understanding UART Hardware Block Diagram
  3. Understanding UART Clock Generation ( BAUD Rate Calculations)
  4. Implementing UART Transmit Driver APIs (Hands-On)
    1. Polling Mode Transmit
    2. Interrupt Mode Transmit
  5. Implementing UART Receive Driver APIs (Hands-On)
    1. Polling Mode receive
    2. Receive on Interrupts
  6. Exercises (Hands-On)
  7. Interfacing some Device (optional)

Peripheral Driver Implementation : SPI 

Peripheral Driver Implementation : I2C



Leave a Reply

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