Embedded āCā & Protocols on Arm
Intermediate
Overview
Embedded C Programming Course
Description
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)
Tools and Resources used
- Linux OS
- GCC 4.8 and above
- Keil MicroVision
- LPC2129 Development Board
C Programming Introduction to C
- Historical DevelopmentĀ and features of C
- Compilation Process (Source Code – Executable File)
- Sample Program
- Variables,Ā Keywords, Constants
- Data types
Operators
- 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
Control flow
- Decision Constructs: if, if..else, ternary operator
- Switch ā case
- Looping Constructs: while, do-while, for
- break and continue
- Nested Loops and infinite loops
Modular Programming
- Functions, Parts of Function
- Passing arguments to the function
Working with multiple files
Preprocessor
- C Compilation Model
- File Inclusion
- Macro With and without arguments
- Macros versus constant and Functions
- Predefined Macros
- Conditional compilation
Arrays
- Array and its memory layout
- Initialization of array
- Passing Array to Function
- Searching Techniques – LS and BS
- Sorting Techniques – BS and SS
Strings – Character Arrays
- Declaring and Initializing strings, string functions
- Character Lib Functions: digit, space, alpha etc.
- Table of String Library Functions: strlen, strcpy, strcmp, strcat etc
Introduction to Pointers
- 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
Introduction to ARM7
- Features of ARM architecture, STATES & MODES
- ARM Programmers modelĀ
- ARM7 Block diagram
Introduction to LPC2129
- Introduction to the LPC2129 kit and schematics
- Introduction to the µvision-4 Keil IDE
- Demo: Flash Magic
GPIO
- The functionality of parallel ports
- Programming of the LED
- Programming of the LCD
TIMER
- 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
Vector Interrupt Controller
- 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
ADCĀ
- Introduction to ADC
- ADC Related RegistersĀ Ā
- Interfacing Temperature sensor and potentiometer
PWM
- Introduction to PWM
- PWM Related RegistersĀ Ā
- Generating the PWM signalĀ
IntroductionĀ
- 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
Serial peripheral interface (SPI)Ā
- 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.Ā
Inter-Integrated Circuit (I2C)
- 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.
FAQs
Are you providing certification for this course?
Yes, we are providing Globally accepted certification for our courses with a grading system based on student performance
Is cranes Varsity training available online?
Yes, Cranes Varsity training is available through online
How does online training work?
Our Online training is Instructor-Led live online sessions
Do you provide training course material?
Yes, we will provide training course material for each module
Do you offer weekend classes?
Yes, we offer weekend classes as well evening classes.
Testimonials

Ankita Saigal
Placed in Robert Bosch
First of all, I would like to extend my thanks to each and every member of Cranes Varsity. We were taught from the very basics of Embedded Systems Design which made it easier for students from all levels. I would like to extend my vote of thanks to cranes varsity to provide me with numerous opportunities.

Santhosh SM
Placed in L&T Technology
Cranes are one of the top embedded training institutes in Bangalore. It has been a wonderful learning experience in Cranes Varsity. The training in every module of embedded systems at Cranes was effective. It provides a good platform for embedded systems. Cranes helped me get a job in the embedded industry.

Mayur MN
Placed in L&T Technology
It was a great experience in Cranes. My dream was to get into the embedded domain. As a fresher, it is difficult to get into the Embedded Design field, but Cranes made a huge difference in my career by giving the best training and placement assistance provided by Cranes. I would like to say Cranes is the best to choose for those who dream of embedded opportunity.

Chandru V
Placed in Avin Systems
I take this opportunity to thank “CRANES VARSITY”, one of the best-embedded training institutes which are helping students to get into the best company to build their career. I thank all the trainers who enhanced my knowledge in every subject and the placement team for giving me the best opportunities in the field of embedded. Thank you for all your support.

Hemanth Kumar
Placed in Caravel Info Systems
Cranes varsity is the best Embedded Training Institute to learn both practical and theoretical knowledge. It is the best place to gear up your career in a core embedded industry. Management and faculty member support till you get placed. They provided lots of opportunities to me. The embedded Course modules that we learnt here are systematic, and I immensely earned great knowledge.

Ankit Ahalawat
Placed in AK Aerotek Software
I am happy for Cranes for giving a platform and providing opportunities for attending the interview. Modules test, Mock test really helps to clear any company written test/ interview. Trainers were excellent at explaining and clarifying the doubts. I am very thankful to Cranes Varsity.

Nithin G
Placed in Moschip Semiconductor
Cranes varsity is the best platform to improve your technical skills in Embedded System Design. Their dedication towards teaching modules and interaction with the students is commendable, which made me achieve good skills for my career growth in the electronics/semiconductor industry.

Amitha Pankaj
Placed in Lekha Wireless
Happy to say that I am placed in Lekha Wireless. Cranes are one of the best Embedded Training Institutes. The way of teaching in Cranes is good. I thank the management and faculty for the guidance and opportunity.

Sidharth S
Placed in L&T Technology
If not Cranes, I would have been doing a job of not my interest and passion. Cranes provided me with the platform to start my career and knowledge about corporate life and requirements. “Thank you, Cranes” would be an understatement.