Embedded ‘C’ & Protocols on Arm

Eligibility: BE, B.Tech, ME, M.Tech



Embedded C Programming Course


Cranes Varsity is here to help you do just that with our Embedded C Course. It’s time to take your C programming skills to the next level.

Why Embedded C Programming?

Embedded C programming is the language used to write software for embedded systems. Embedded systems are computer systems that have been designed to run on a hardware platform and control the hardware components of a real-world system.

This course will help you learn about embedded C programming, including:

– How to use the C programming language to develop software for an embedded system

– The process of compiling, linking, and loading code onto a target device.

Learn the fundamentals of C programming from the bottom up.

Learn about pointers, header files, null-terminated strings, buffers, and IO in C, as well as embedded systems, the ARM Architecture, and the LPC2129 Controller from NXP. It supports a variety of peripherals and communication protocols, such as timers, interrupts, and ADCs. The lectures are supplemented by laboratory exercises.

Course Content (Syllabus)

  • Historical Development  and features of C
  • Compilation Process (Source Code – Executable File)
  • Sample Program
  • Variables,  Keywords, Constants
  • Data types

  • Unary operators (++ / — )
  • Binary operators / Arithmetic operators
  • Assignment operators
  • Relational operators, Logical Operators
  • Shorthand Assignment operators, Bitwise operators
  • Order of Evaluation of expressions
  • Formatted / Unformatted Functions

  • Decision Constructs: if, if..else, ternary operator
  • Switch – case
  • Looping Constructs: while, do-while, for
  • break and continue
  • Nested Loops and infinite loops

  • Functions, Parts of Function
  • Passing arguments to the function

  • C Compilation Model
  • File Inclusion
  • Macro With and without arguments
  • Macros versus constant and Functions
  • Predefined Macros
  • Conditional compilation

  • Array and its memory layout
  • Initialization of array
  • Passing Array to Function
  • Searching Techniques – LS and BS
  • Sorting Techniques – BS and SS

  • Declaring and Initializing strings, string functions
  • Character Lib Functions: digit, space, alpha etc.
  • Table of String Library Functions: strlen, strcpy, strcmp, strcat etc

  • What Is a Pointer?
  • Pointer Declaration
  • Pointer Arithmetic Operation
  • Relation between Pointers and Arrays
  • Advanced Pointers: NULL pointer, Pointer to a constant, constant pointer
  • Pointer to Array  & Array of Pointers
  • Function pointer  & Void pointer
  • Converting String to an integer using atoi

  • Features of ARM architecture, STATES & MODES
  • ARM Programmers model 
  • ARM7 Block diagram

  • Introduction to the LPC2129 kit and schematics
  • Introduction to the µvision-4 Keil IDE
  • Demo: Flash Magic

  • The functionality of parallel ports
  • Programming of the LED
  • Programming of the LCD

  • Understanding the concepts of TIMER basics
  • Application of Timer
  • Usage of Timer Registers
  • Programming Timer block with respect to different applications
  • Timer’s Match register

  • Introduction to Interrupt concept
  • Vectored IRQ and Non-Vectored IRQ
  • Understanding of the Registers related to Interrupts
  • Programming interrupt block with the reference of the External Interrupts
  • Applications and the usage of PINSEL register

  • Introduction to ADC
  • ADC Related Registers  
  • Interfacing Temperature sensor and potentiometer

  • Introduction to PWM
  • PWM Related Registers  
  • Generating the PWM signal 

  • Introduction to communication protocols
  • Parallel vs Serial communication

  • Introduction to UART
  • Baud rate calculation
  • Registers description for UART configuration
  • Communication between PC and MC
  • Communication between MC to MC
  • Advantages and disadvantages of UART

  • Introduction to SPI Protocol 
  • Registers used in SPI 
  • Different modes of operation 
  • Designing clock speed of the SPI 
  • Exceptions in SPI 
  • Interfacing 7 segment display using the SPI interface. 
  • Advantages and Disadvantages of SPI protocol. 

  • Introduction to I2C Protocol 
  • Registers used in I2C Protocol 
  • Different modes of operation 
  • Handling of Multi-master using arbitration technique. 
  • Designing the clock speed 
  • Advance concepts in I2C like clock stretching, 10-bit addressing etc. 
  • Interfacing of EEPROM using I2C Protocol. 
  • Advantages and disadvantages of the I2C protocol.


Yes, Cranes Varsity training is available through online

Our Online training is Instructor-Led live online sessions

Yes, we will provide training course material for each module

Yes, we offer weekend classes as well evening classes.



Duration: 1.5 months
Enquire Now

Please Sign Up to Download

Enquire Now

Enquiry Form