Embedded C Essentials

BY
Skill Lync

Lavel

Beginner

Mode

Online

Duration

3 Months

Quick Facts

particular details
Medium of instructions English
Mode of learning Self study
Mode of Delivery Video and Text Based

Course and certificate fees

certificate availability

Yes

certificate providing authority

Skill Lync

The syllabus

Week 01 - C Language for Embedded Programming, C Input /Output Functions, C Data Types for Embedded Programming, C language Operators

  • What is an Embedded System?
  • Traits and Architecture of an Embedded System
  • Embedded Hardware and Software
  • Why C-language is Preferred for Embedded SW Development?
  • How to Install Tool Chain, STM32CubeIDE, and GCC Compiler
  • How to create a New Project
  • Basic Elements of a C-Program
  • C-Program Layout
  • Standard I/O - Library
  • getchar and putchar
  • printf and sprintf
  • scanf and sscanf
  • C Data Types
  • Signed Data Representation
  • Datatype - Overflow/Underflow Issues
  • C99 Data Types
  • Fixed Point and Floating-Point Representation
  • FPU Usage
  • ‘Enum’ and ‘Typedef’
  • Operators in C
  • Operators Precedence and Associativity

Week 02 - C Control Statements, Function Prototypes and Introduction to Pointers, C Storage Classes and Type Qualifiers

  • Control Statements in ‘C’ language
  • ‘if-else’
  • Loops for Iterations
  • Switch Case for Multiple Selections
  • Control Statements in ‘C’ language
  • ‘if-else’
  • Loops for Iterations
  • Switch Case for Multiple Selections
  • Functions ()
  • Function Prototypes
  • Recursive Function
  • Function Pitfalls
  • Introduction to Pointers
  • Call by Value Vs Call by Reference
  • Pointer Arithmetic
  • Functions as ‘Pointer’
  • C Storage Classes

Week 03 - C Compilation Process, C Preprocessor Directives, Arrays in C, Arrays to Functions and Array of Function Pointers

  • Stages of the Compilation Process
  • Pre-processing
  • Compilation
  • Assembling
  • Linking
  • GCC Commands for Each Stage
  • Preprocessor Directives in C
  • Macros and their Types
  • Conditional Compilation
  • #pragma
  • Introduction to Arrays
  • Array Initialization
  • Accessing Array Elements
  • 2D Arrays
  • 3D Arrays
  • Pointers and Arrays
  • Passing Array Elements to a Function
  • Array of Pointers
  • ‘Function’ as ‘Pointer’ - Function Pointers
  • Array of Function Pointers

Week 04 - Command Line Arguments and Variadic Functions, Strings and String Functions in C, Structures in C, Unions and Bitfields in C

  • Command Line Arguments in C
  • Variadic Functions in C
  • Strings in C language
  • String Functions from <string.h>
  • Structure Declaration in C
  • Array of Structures
  • Pointer Objects to Structure
  • Memory Allocation of Structure and Structure Padding
  • Structure Padding Comparison
  • Bit Fields
  • Unions

Week 05 - Advanced Function Arguments, Advanced pointers -Void Pointers, File Operations in C, Standard Libraries C

  • Function Pointers
  • Passing Function Pointers as Arguments to a Function
  • Inline Functions
  • Passing a String as a Function Argument
  • Returning a String from a Function
  • Passing Arrays to Function Arguments
  • Returning Multiple Values from a Function
  • Passing Structure Pointers as Function Arguments
  • Passing an Array of Structures to a Function
  • Double Pointers with Example
  • Void pointers with Example
  • Miscellaneous Features
  • Global ‘Static’ Variable
  • Generic Functions in C
  • Variable Length Arrays
  • Understanding Little Endianness Vs Big Endianness
  • Portable Code using ‘C’
  • File I/O Handling
  • Read and Write Operations
  • Error Handling Mechanisms
  • General Properties of the C Library and its Functions
  • Need for Libraries - Static vs. Dynamic Libraries
  • Utility Functions

Week 06 - C Memory Management and DMA, Modular C Programming, Modular C Programming, C Program Optimization

  • C Memory Model
  • Dynamic Memory Allocation on Heap
  • Miscellaneous Memory Functions
  • Variable Length Arrays
  • Creating a User Defined Library
  • Makefile Project in STMCubeMX IDE
  • Creating a Custom Makefile
  • Introduction to Debugging
  • Debugging using GDB Tool
  • Debugging using Preprocessor Directives
  • Optimization for Memory Usage and Execution Speed
  • Optimization Methods
  • Code Level Optimization

Week 07 - Stack and Stack Operations, Queue and Queue Operations, Linked List, FSM

  • Fundamental Concepts of Data Structures
  • Operation on Data Structure
  • Arrays and Array Operations
  • Stack and Standard Stack Operations
  • Fundamental Concepts of Queue
  • Operations performed in Queue
  • Different Types of Queue
  • Fundamental concepts of Linked List
  • Types of Linked List
  • Singly Linked List
  • Doubly Linked List
  • Circular Linked List
  • Doubly Circular Linked List
  • Introduction to FSM (Finite State Machine)
  • State Diagram
  • Explanation of State Diagram
  • State Table
  • Implementation of State Machine
  • Mealy State Machine
  • Moore State Machine

Week 08 - Process Management in C, Embedded Design Patterns

  • Threads
  • Memory Model of Threads
  • <pthread.h> Library
  • Process Vs Threads
  • IPC Mechanism
  • Different Design Patterns of Embedded System
  • Hardware Adapter Pattern
  • Observer Pattern
  • Debounce Pattern
  • Interrupt Pattern
  • Polling Pattern

Week 09 - C and Embedded C Standards

  • C Standards
  • K&R C
  • K&R Standards
  • ANSI C
  • C90 Standards
  • C99 Standards
  • C11 Standards
  • Embedded C
  • C-General Coding Standards
  • Embedded C Standards

Week 10 - AUTOSAR C Rules and MISRA C Guidelines

  • Common Pitfalls in C Language
  • Overstepping of Array Boundaries
  • Example of Faulty Code
  • Buffer Overflow
  • Stack Overflow
  • Glimpse into AUTOSAR and MISRA
  • Prominent MISRA C Rules

Similar Courses

Engagement in a Time of Polarization

Davidson College, Davidson via Edx

2 Weeks Online
Beginner
Free

Electrical Engineering Sensing Powering and Contro...

University of Birmingham, Birmingham via Futurelearn

3 Weeks Online
Beginner
Free
Model Based Embedded Development with Arduino usin...

Model Based Embedded Development with Arduino usin...

Skill Lync

Online
Beginner
₹ 5,000

Advanced PCB Design Using Altium

Skill Lync

3 Months Online
Beginner
₹ 40,000

Introduction to Electrical and Electronic Engineer...

Institute of Science Tokyo, Tokyo via Edx

4 Weeks Online
Beginner
Free

Courses of your Interest

Strategy An Introduction To Game Theory

Strategy An Introduction To Game Theory

IIT Kanpur via Swayam , +1 more NPTEL

8 Weeks Online
Beginner
Rapid Manufacturing

Rapid Manufacturing

IIT Kanpur via Swayam

12 Weeks Online
Beginner
Free
Phase Equilibria In Materials

Phase Equilibria In Materials

IIT Kanpur via Swayam

8 Weeks Online
Beginner
Free
Conduction And Convection

Conduction And Convection

IIT Kanpur via Swayam

12 Weeks Online
Beginner

Introduction to Aero Thermal simulation using ANSY...

Skill Lync

12 Weeks Online
Beginner
₹ 40,000

Basics of CATIA V5

Skill Lync

4 Weeks Online
Beginner
₹ 40,000
Introduction to Urban Geo Informatics

Introduction to Urban Geo Informatics

The Hong Kong Polytechnic University,... via Edx

6 Weeks Online
Beginner
Free

More Courses by Skill Lync

Advanced CFD Meshing using ANSA

Skill Lync

4 Weeks Online
Beginner
₹ 40,000

Introduction to Automotive Electronics

Skill Lync

24 Weeks Online
Beginner

Reinforced Cement Concrete Design

Skill Lync

12 Weeks Online
Beginner

Post Graduate Program in Computational Fluid Dynam...

Skill Lync

2 Months Online
Beginner

Construction Planning using Primavera P6

Skill Lync

3 Months Online
Beginner
Business Analyst Fundamentals for Beginners

Business Analyst Fundamentals for Beginners

Skill Lync

3 Months Online
Beginner

Design of RCC and PSC Superstructures using LUSAS

Skill Lync

2 Months Online
Beginner

Network RAN Performance and Optimization

Skill Lync

12 Weeks Online
Beginner
₹ 40,000

Basics of Computer Vision using Python

Skill Lync

12 Weeks Online
Beginner
Everything about Databases using SQL and MongoDB

Everything about Databases using SQL and MongoDB

Skill Lync

12 Weeks Online
Beginner

Trending Courses

Popular Courses

Popular Platforms

Learn more about the Courses

Download the Careers360 App on your Android phone

Regular exam updates, QnA, Predictors, College Applications & E-books now on your Mobile

Careers360 App
150M+ Students
30,000+ Colleges
500+ Exams
1500+ E-books