All for Joomla All for Webmasters
Contact Us

Embedded C Training in Pondicherry | Bangalore

  • Learn Embedded C from 8+ years Experience Trainer
  • Learn How to Create Responsive website
  • LAB Facility
  • Projects to Practice
Enroll Now

Embedded Systems Programming on ARM Cortex-M3/M4 Processor

Course description

Have you ever tried to learn about ARM Cortex M3/M4 Processor by reading a book or technical manuals and found stuck ? . Have you ended up seeing bits and pieces all over the map but could not able tie it all together to have a big picture ?

This course is for Embedded Engineers/Students like you who want to learn and Program ARM Cortex M3/M4  based controllers by digging deep into its internals and programming aspects.

Don’t worry if you are new to ARM based controller. In this course, you’ll see everything you needed to quickly get started with Programming Cortex M3/M4 based controller. The lab session covers various programming assignments which helps you to remember the concepts better.

 You will get a full coverage of ARM Cortex M3/M4 processor with full hands on lab sessions. Once you complete the course, I assure you that you will be confident to handle any microcontroller in terms of writing firmware, Memory maps, handling interrupts,Nested Vector interrupt controller(NVIC) , Writing IRQ handlers, handling system exceptions and many more. I even walk you through reference manuals and datasheets to understand things better. 

What Will I Learn?

  • Programming Micro-controllers using ‘C'
  • Learn about debugging using USB logic Aanalysers
  • Demystifying Memory, Bus interfaces, NVIC, Exception handling with lots of animation
  • Learn writing IRQ handlers , IRQ numbers, NVIC and many more
  • Learn about embedded software development and debugging using Keil-MDK-5
  • Learn about Mixed ‘C’ and Assembly Coding
  • Low level register Programming for interrupts, System Exceptions, Setting Priorities,Preemption,etc.
  • Learn about OS related features like SVC,SysTick,PendSv and many more

Curriculum For This Course


  1. Motivation to learn Cortex Family of Processors

Inside The Cortex M3/M4 Processor: Architecture Details

  1. Programmer’s Model :Operational Modes and Access Levels
  2. Switching between Privileged and Un-privileged Access Level
  3. Programmer’s Model:Register Model
  4. Programmer’s Model:Special Purpose Registers
  5. CMSIS

Talk is Cheap, Show me the Code: LAB SESSION-I

  1. Installing KEIL-MDK-5
  2. Installing Software Packs
  3. Creating Your First KEIL Project
  4. Debugging Project using KEIL µVison-4 IDE
  5. Discovering The Discovery Board
  6. Understanding different Types of Clocks
  7. Quick Board Test With Blinky Application
  8. Lab Assignment 1:Demonstrating Usage of CMSIS Core APIs
  9. Lab Assignment 2 : Switch between privileged and non-privileged access level

Memory System Architecture

  1. Memory System features and Memory Map
  2. Bus Protocols and Bus interfaces
  3. Aligned and Un-aligned data transfer
  4. Bit-Banding

Talk is Cheap, Show Me the Code : LAB SESSION-II

  1. Lab Assignments 3: Bit-Band Operations using C

Talk is Cheap, Show Me the Code : LAB SESSION-III

  1. Lab assignment 4: Stack Operations Using Different Stack Pointers(MSP/PSP)

System Exceptions and Interrupts-I

  1. Write init function to configure LED
    Intro to System Exceptions and Interrupts
  2. NVIC(Nested Vectored Interrupt Controller )
  3. Interrupt priority
  4. Exception Activation and De-Activation
  5. NVIC Registers

Talk is Cheap, Show Me the Code : LAB SESSION-IV

  1. Lab assignment 5 : Exception Masking/Un-masking
  2. Lab Assignment 6 : Getting Started with USB-Logic Analyzer
  3. Lab Assignment 7 : Interrupt Priority and Pre-emption

System Exceptions and Interrupts-II

  1. Pending Interrupt behavior
  2. Exception Vector Table
  3. Exception Entry and Exit Sequence

Talk is Cheap, Show Me the Code : LAB SESSION-V

  1. Lab assignment 8: Programming and Configuring LED using Registers
  2. Exception Vector Table Lab assignment 9 : Programming and Configuring External Interrupt (Buttons)-I
  3. Lab assignment 9 : Programming and Configuring External Interrupt (Buttons)-II

Cortex M3/M4 OS Features

  1. Use of shadowed stack pointer
  2. SVC System Exception
  3. PendSV System Exception-I
  4. PendSV System Exception-II (Understanding with animation)

Talk is Cheap, Show Me the Code : LAB SESSION-VI

  1. Lab assignment 10 :SVC Exception and Handler implementation
  2. Lab assignment 11 : PendSV in offloading interrupt processing


  • Basic knowledge of C
  • Micro controller could be added advantage but not mandatory

Still Hunting for a Job? (or) Want to Make a Career Switch into
Embedded Systme developer?

Recruiters are looking for you!

All you need is Learn A-Z of Embedded System with SoftwareLogic Innovation Hub, 

Become Certified Professional And Get Placed with our Free JOB Assistance Program