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 programming 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.
The Advantages of studying C Programming are:
- Code created in the C programming language is easy to develop and comprehend.
- It takes little time to implement and run the code.
- It’s quite simple to learn and utilize this language.
- Compared to other programming languages, the execution time is incredibly quick.
- The code may be set up properly for handling and further processing.
- It is a programming language for procedures.
- It is a language for structured programming.
- Programming user-defined functions for easier comprehension and quicker processing is simple.
- Because the C language is a middle-level language, it is simple to create applications that are either high- or low-level.
- 32 reserved keywords are pre-built for simple learning and use in the C programming language.
We additionally train students for interviews and Offer Placements in corporate companies.The certification course is Ideal for graduates with 0 ā 3 years of experience & degrees in B. Tech, B.E, and B.Sc. IT Or Any Computer Relevant.
Students will not only gain knowledge of Embedded Systems and advanced tools but also gain exposure to Industry best practices, Aptitude & SoftSkills.Resume & Interviews Preparation Support.
Embedded C Course (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.
Placement Statistics
Embedded C Programming Course FAQs
What is the Embedded C Course?
It is a superset of C programming language that helps us to design microcontroller programming applications.
Why is C used rather than C++ in Embedded Systems?
There is still no C++ compiler for the specific embedded system. That is why we use the C language in embedded systems.
What are the best online C++ courses for a professional Embedded C Developer?
- C++ Nano degree Certification for Programmers
- Beginning C++ Programming ā From Beginner to BeyondĀ
- Unreal Engine C++ Developer: Learn C++ and Make Video Games
- C++ Courses & Tutorials Online ā Learning Path
- Learn C++ Programming ā Beginner to Advance ā Deep Dive in C++
- C++ Essential Training ā LinkedIn Learning ā Lynda platform
- C++ for C Programmers by the University of California
- Learn Advanced C++ Programming Intermediate-AdvancedĀ
- Learn C++ Codecademy Beginner
- Solo Learn C++ Tutorial
What are the typical opportunities that use Embedded C?
- Embedded Software Engineer (firmware)
- System Software Engineer (kernal & RTOS)
- Application Software Engineer (device drivers)
- Software Test Engineer.
- Embedded Hardware Engineer.
- Embedded System Trainer.
- Marketing & Sales Executive
