Embedded C Programming Using ARM Microcontroller

(50 Hours)

  • nasscom and Ministry of Electronics and Information Technology initiative
  • Official partner with Cranes Varsity
  • Certification from IT-ITeS SSC Council
  • Government of India Incentive

Certificates

Objectives
  • Master C programming concepts from the ground up
  • Understand the special features of C: pointers, header files, null-terminated strings, buffers, IO and comprehensive study of embedded systems and ARM Architecture and NXP’s LPC2129 Controller for developing Embedded Systems.
  • It covers different peripherals like Timer, Interrupt, ADC, and communication protocols.
  • The lectures are supplemented with lab exercises
Tools and Resources
  • Linux OS
  • Gcc 4.8 and above
  • KeilMicroVision
  • LPC2129 Development Board
Platform:
  • Ubuntu (Linux OS, with gcc compiler)
  • Lpc2129 development board
  • Keil Micro vision , Flash Magic
Project stream:
  • Application development based on Data Structure(Eg: Flood fund releasing data, cyber management systems, Bank management system, contact management system)
  • Concurrent server to replicate a chat application using socket programming.
  • Embedded Project development using wired/wireless technology such as GPS, GSM, BLE, Wi-Fi, and sensors
  • Historical Development and features of C
  • Compilation Process (Source Code – Executable File)
  • Sample Program
  • Variables, Keywords, Constants
  • Data types
  • Working with VIM
  • Unary operators (++ / — )
  • Binary operators / Arithmetic operators
  • Assignment operators
  • Relational operators, Logical Operators
  • Short hand Assignment operators, Bitwise operators
  • Order of Evaluation of expressions
  • Formatted / Unformatted Functions
  • Decision Constructs: if, if..else, ternary operator
  • Switch – case
  • Functions, Parts of Function
  • Passing arguments to function
  • Looping Constructs: while, do-while, for
  • break and continue
  • Working with multiple files
  • Storage classes
  • Storage classes specifiers: auto, register, static, extern
  • Internal Linkage & External Linkage
  • 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, stringfunctions
  • Character Lib Functions: isdigit, isspace, isalpha etc.,
  • Table of String Library Functions: strlen, strcpy, strcmp, strcatetc
  • Debugging using GDB
  • isalpha etc.,
  • Table of String Library Functions: strlen, strcpy, strcmp, strcatetc
  • Debugging using GDB
  • Pointer Arithematic 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 integer using atoi
  • Declaration of Structure and Structure
  • Variable
  • Memory allocation Concept and accessing Structure Members
  • Passing Structure to Function by value / Address
  • Array of Structure
  • Nested Structure
  • Self-referential Structure
  • Bitfield
  • Union
  • Enum
  • Type def
  • CPU Architectures: RISC vs. CISC, Little endian vs. Big endian vs. Bi-endian
  • Memory alignment
  • Memory classifications
  • Types of Main-memory
  • The memory Hierarchy
  • Input and Output – Overview
  • Input and Output – I/O Controllers
  • I/O Interfacing
  • Input and Output – I/O Mechanisms
  • Input and Output – I/O Device mapping
  • Memory mapped I/O
  • Introduction to ARM7
  • 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

GPIO
Functionality of parallel ports

  • Programming of the LED, BUZZER
  • 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 WDT
  • WDT Related Registers
  • Resetting the system using WDT

PWM

  • Introduction to PWM
  • PWM Related Registers
  • Generating the PWM signal
  • Introduction to communication protocols
  • Parallel vs Serial communication
  • UART

  • 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 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 I2C protocol.
  • Advantages and disadvantages of I2C protocol.
  • Embedded Project development using wired/wireless technology such as GPS, GSM, BLE, Wi-Fi and sensors

Enquire Now

Enquire Now

Enquire Now

Please Sign Up to Download

Please Sign Up to Download

Enquire Now

Please Sign Up to Download

Enquiry Form