Please fill this form:

Illuminating the path for embedded core industry
100% placement guaranteed.

Embisyslabs is a leading Embedded C training institute in Bangalore. With specialized Courses on Embedded C ARM Cortex platforms, students gain hands-on experience that prepares them to work on real-time embedded projects and advance their careers. Embisyslabs's embedded C course syllabus well constructed, gives an substantial hands-on experience with Industry relevant projects and assignments, good enough to build an excellent career in core domain. We also conducts Weekend and Weekdays Workshops, in our institutes Jayanagar Bengaluru Bangalore near BTM India.

MODULE 1 : Adv.C and DATA STRUCTURE PROGRAMMING

CH1. GETTING STARTED

Why C Programming Language
History & Features of C
Compilation Model of C
Compiler,Assembler,Linker
How to Compile & Run a C program
Strategy of Desinging a Program

CH2. FUNDAMENTALS OF PROGRAMMING

Variables & Constants
Keywords & Data Types
Identifires & Rules
I/O Functions

CH3. OPERATORS AND CLASSIFICATIONS

Arithmetic Operators
Bitwise Left shift
Right shift Ternary
Logical AND OR NOT
Increment Decrement
Relational Conditional

CH4. CONTROL FLOW STATEMENTS

Sequential statements
Decision making statements
if,else,nested-if
break,switch

CH5. LOOPING STATEMENTS

For Looping
While Looping
Do—While Looping
Continue Looping

CH6. C PRE-PROCESSOR

File inclusion
Macro substitution
Conditional Compilation
#ifde, #ifndef

CH7. ARRAYS AND STRING

Definition and Description of Array
Declaration and details about String
Memory Layout &accessing Array Elements
String Library Functions
Two dimensional Arrays

CH8. POINTERS [PART 1]

Definition &Declaration of Pointer
Indirect Access using Pointers
Pass by Reference
Rela. b/w Arrays and Pointers
Type Casting
Pointer to an Array
Array of Pointers

CH9. FUNCTIONS AND ITS TYPE

Why Functions ?
Function Declarations
Function Prototypes
Returning a Value or Not
Arguments and Parameters
Function Pointers
Recursion and Recursive function

CH10. SCOPE and LIFETIME OF VARIABLES

Scope and Lifelime of a variable
Block Scope
Function Scope
File Scope
Program Scope
The auto Specifier
The static Specifier
The register Specifier
The extern Specifier
The Const Modifier
The Volatile Modifier

CH11. POINTERS AND POINTER ARRAY[PART 2]

Dynamic Storage Allocation
malloc(),calloc(),realloc(),free()
Functions Returning a Pointer
An Array of Character Pointers
Two Dim.Arrays vs. Array of Pointers
Command Line Arguments
Pointers to Pointers
Use of Function Pointers

CH12. SERCHING &SORTING

Linear Search&Binary Search
Bubble sort & Selection Sort

CH13. STRUCTURES PROGRAMMING

Fundamental Concepts
Describing a Structure
Creating Structures
Operations on Structures
Functions Returning Structures
Passing Structures to Functions
Pointers to Structures
Array of Structures
Functions Returning a Pointer to a Structure
Structure Padding
# pragma Definition

CH14: STRUCTURE RELATED (UNION)

Typedef - New Name for an Existing Type
Bit Fields - Memory saving concept
Union - emory saving concept
Enumerated User Defined Data Types

CH15.  FILE HANDLING AND INPUT/OUTPUT

I/O Library Functions
System Calls vs. Library Calls
High and Low level I/O Functions
I/O Library Functions
Standard Input/Output Descriptors
fopen(),fread(),fwrite(),fclose()
Copying a File
Character Input vs. Line Input
fscanf(),fprintf(),fclose()
fgtes(),fputs(),fgetc(),fputc()

MODULE 2: DATA STRUCTURE USING C PROGRAMMING

CH1: INTRODUCTION TO DATA STRUCTURE

Why data structure ?
Definition and Classification

CH2: STACK PROGRAMMING

What is Stack?
Push operatins insert an item from top end of Stack
Pop operatins delete an item from top end of Stack
Implementation of Stack using Array Pointer
Implementation of Stack using Pointer

CH3: QUEUE PROGRAMMING

What is Queue?
Insert an item from front end of Queue
Delete an item from rear end of Queue
Implementation of Queue using Array Pointer
Implementation of Queue using Pointer

CH4: LINK LIST PROGRAMMING

Singly link lists
Circular link lists
Double link list
Implement Below Assignment for All types of Link List
Insert an item from Front End of Link List
Insert an item from Rear End of Link List
Insert an item at Specific Postion of Link List
Delete an item from Front End of Link List
Delete an item from Rear End of Link List
Delete an item at Specific Postion of Link List
Reverse the link list
Find the middle node of link list

C and Data Structures Hands-on in Class Room

1. Hundred Subjective Questions in C and Data Structure Programming
2. Hundred Objective Questions in C and Data Structure Programming
3. Two Mini Projects on  C and Data Structure Programming Modules
4. Class Room Test based on C and Data Structure Programming Modules

MODULE 2: ARM7TDMI-S and EMBEDDED C PROGRAMMING

Chapter1.Introduction to ARM Processor

Why Embedded C Programming
Intro. to Cortex-A and Cortex-M Series Controller
Why Embedded C Programming
Why Assembly Programming
Difference betwwen C And Embedded C Programming

Chapter2.Programming Environment Setup and Its Use

IDE installation (Keil uVision / ARM GCC)
Downloading and installation of IDE, Flash Magic
Setting up hardware (development board)

Chapter3.Introduction to ARM Architecture[LPC2148 ]

Overview of ARM7 architecture
Features of LPC2148 microcontrollers
Pin configuration and pin descriptione
Memory map of LPC2148
Flash memory and RAM details
Internal block diagram and functional overview

Chapter4. LPC2148 GPIO Programming

Understanding ports and pins
Configuring pins as input/output
Pin Function Select Registers
Fast and Slow GPIO Registers
IOxPIN (GPIO Port Pin value register)
IOxSET (GPIO Port Output Set register)
IOxDIR (GPIO Port Direction control register)
IOxCLR (GPIO Port Output Clear register)

Chapter5.LPC2148 Interrupts and Interrupt Handling

Interrupt controller in LPC2148
Configuring and enabling interrupts
Writing ISR (Interrupt Service Routine)
Fast IRQ (highest priority)
Vectored IRQ (medium priority)
Non-Vectored IRQ (low priority)

Chapter6.LPC2148 Timer/Counter

Timer features in LPC2148
Timer Counter(TC) and Prescale Register(PR)
What is a Match Register
What are Capture Registers
Prescale (TxPR) Related Calculations
Setting up & configuring Timers

Chapter7.LPC2148 UART[Universal Asynchronous Receiver/Transmitter]

Difference between UART/USART
UART module overview
UART Frame structure
UART Baudrate Calculation
Sending and receiving data using UART
U0RBR (UART0 Receive Buffer Register)
U0THR (UART0 Transmit Holding Register)
U0DLL and U0DLM (UART0 Divisor Latch Registers)
U0LCR (UART0 Line Control Register)

Chapter8. LPC2148 ADC[Analog to Digital Converter]

ADC features in LPC2148
ADC0 has 6 channels &ADC1 has 8 channels
Steps for Analog to Digital Conversion
ADxGDR (ADCx Global Data Register)
AD0STAT (ADC0 Status Register)
ADxCR (ADC Control Register)

Chapter9. LPC2148 PWM[Pulse Width Modulation programming]

PWM functionality and applications
LPC2148 supports 2 types of PWM
7 match registers inside the PWM block 
Configuring and Initializing PWM
PWM Prescale (PWMPR) Calculations
DC Motor Speed Control Using PWM
LED Dimming Using PWM

Chapter10.LPC2148 I2C[Inter Integrated Curcuit]

I2C overview
I2C-Bus Configuration
I2C Operating modes
I2C Master Transmitter mode
I2C Master Transmitter mode
I2C Implementation and operation
I2C Register description
I2C Programming

Chapter11. LPC2148 SPI[Serial Peripheral Interface]

SPI overview
SPI data transfer format
SPI data to clock phase relationship
SPI Master operation
SPI Slave operation
SPI Register description
SPI Programming

Chapter12. Practical Applications and Projects

GPIO interfacing programming
Interrupt programming
Timers and Counter programming
Motor control using PWM
PWM Programming
Temperature Sensors Interfacing programming
Piezo Sensors Interfacing programming
Accelerometer Sensors Interfacingprogramming
LCD interfacing programming

Weekend And Weekdays Course On Embedded C And ARM Design Programming
  • The embedded c course has been specially designed for those who aspire to become ARM / Embedded C Programmimg and design engineer by the industrial experienced professionals
  • Each module will be taught in detail, which will help the participents to start working as Embedded engineer after the course completion
  • Much effort has been put into creating the syllabus, to cover the 'basics' for each module and then cover advanced Communication Protocols Peripherals topics UART, I2C, SPI,Interrupt along with the issues and resolving techniques practically
  • Embedded C course module will be taught in details, which will help the candidates to take up interviews and successive job and start working after the course completion

Why C Programming Language:

C is a general-purpose programming language, which is widely used to design any type of desktop-based applications. It was developed by Dennis Ritchie as a system programming language to develop the operating system. The main features of C language include low-level access to memory, a simple set of keywords, and clean style, these features make C language suitable for system programmings like OS or compiler development. In nature it uses a native platform development scheme, ie the development of the application by it is platform-dependent and can only be used on a single platform.

Why Embedded C Programming :

Embedded C is an extension of C language and it is used to develop micro-controller based applications. The extensions in the Embedded C language from normal C Programming Language is the I/O Hardware Addressing, fixed-point arithmetic operations, accessing address spaces, etc. Embedded C Program has five layers of Basic Structures.

They are:

  • Comment: These are simple readable text, written in code to make it more understandable to the user. Usually comments are written in double or single slash line
  • Pre-processor directives: The Pre-Processor directives tell the compiler which files to look in to find the symbols that are not present in the program
  • Global Declaration: The part of the code where global variables are defined
  • Local Declaration: The part of the code where local variables are defined
  • Main function: Every C program has a main function which drives the whole code. It basically has two parts the declaration part and the execution part. Where, the declaration part is where all the variables are declared, and the execution part defines the whole structure of execution in the program
  • In nature it uses a cross-platform development scheme, i.e., the development of the application by it is platform-independent and can be used on multiple platforms
Copyright @2023 Designed by Verzat Tech