Course Code: cembedd
Duration: 21 hours
Overview:

The C programming language is perhaps the most popular programming language for programming embedded systems.

Course Outline:

Introduction

  • ANSI Standard
  • Fundamentals of C
  • Datatypes and Constants
  • Simple & Formatted I/O
  • Memory Usage
  • Operators & Expressions
  • Flow Control
  • Loops

Functions

  • Role of Functions
  • Pass by value / reference
  • Returning values from Functions
  • Recursive Functions
  • Call Back Functions
  • Implications on Stack
  • Library Vs User defined function
  • Passing variable number of arguments

Arrays

  • Defining, initializing and using arrays
  • Multi Dimensional Arrays
  • Arrays of Characters and Strings
  • Arrays and Pointers
  • Passing arrays to functions
  • String handling with and without library functions

Storage Classes

  • Scope and Life
  • Automatic, Static, External, Register
  • Memory(CPU / RAM)

Structures & Unions

  • What structures are for
  • Declaration, initialization
  • Accessing like objects
  • Nested Structures
  • Array of Structures
  • Passing structures through functions
  • Allocation of memory and holes
  • Structure Comparison
  • Structure bit operation
  • Typedef for portability
  • Unions
  • Overlapping members

Enumerated data types

  • Enum, Indexing, enum Vs #define

Bit Operations

  • AND ( & ), OR ( | ), XOR ( ^ )
  • Compliment ( ~ )
  • Left-Shift ( << ), Right Shift ( >> )
  • Masking, Setting, Clearing and Testing of Bit / Bits

Pointers

  • The purpose of pointers
  • Defining pointers
  • The & and * operators
  • Pointer Assignment
  • Pointer Arithmetic
  • Multiple indirections
  • Advanced pointer types
  • Generic and Null Pointer
  • Function Pointers
  • Pointers to Arrays and Strings
  • Array of Pointers
  • Pointers to Structure and Union
  • Pointers to Dynamic memory
  • Far, Near and Huge Pointers
  • Pointer Type Casting

Dynamic Memory Allocation

  • Malloc(), Calloc(), Realloc(), Free()
  • Farmalloc(), Farcalloc()

File Handling Concepts

  • Concept of a FILE data type
  • Inode, FILE structure
  • File pointer
  • Character handling routines
  • Formatted Data Routines
  • Raw data Routines
  • Random Access to FILE

Command line Arguments

  • Argc, argv
  • Variable Inputs to the main

Compiler in Practical

  • Preprocessor Directives
  • Compiler, Assembler, Linker
  • Conditional Compilation
  • Multiple File Compilation
  • Code Optimization techniques
  • Volatile, #pragma

Data Structures

  • Linear & non-linear
  • Homogeneous & non-homogeneous
  • Static & Dynamic
  • Single, Double & Circular Linked Lists
  • Stacks & Queues
  • Binary Trees

Sorting and Searching Techniques

  • Insertion, Selection, Bubble, Merge, Quick, Heap

Concepts and Real-time Exposure

  • Development Tools and Environment
  • Make Utility
  • Industry Coding Standards
  • Object / Executable File Format
  • Debugger
Sites Published:

United Arab Emirates - C Programming for Embedded Systems

Qatar - C Programming for Embedded Systems

Egypt - C Programming for Embedded Systems

Saudi Arabia - C Programming for Embedded Systems

South Africa - C Programming for Embedded Systems

Brasil - C Programming for Embedded Systems

Canada - C Programming for Embedded Systems

中国 - C Programming for Embedded Systems

香港 - C Programming for Embedded Systems

澳門 - C Programming for Embedded Systems

台灣 - C Programming for Embedded Systems

USA - C Programming for Embedded Systems

Österreich - C Programming for Embedded Systems

Schweiz - C Programming for Embedded Systems

Deutschland - C Programming for Embedded Systems

Czech Republic - C Programming for Embedded Systems

Denmark - C Programming for Embedded Systems

Estonia - C Programming for Embedded Systems

Finland - C Programming for Embedded Systems

Greece - C Programming for Embedded Systems

Magyarország - C Programming for Embedded Systems

Ireland - C Programming for Embedded Systems

Luxembourg - C Programming for Embedded Systems

Latvia - C Programming for Embedded Systems

España - Programación en C para Sistemas Embebidos

Italia - C Programming for Embedded Systems

Lithuania - C Programming for Embedded Systems

Nederland - C Programming for Embedded Systems

Norway - C Programming for Embedded Systems

Portugal - C Programming for Embedded Systems

România - C Programming for Embedded Systems

Sverige - C Programming for Embedded Systems

Türkiye - C Programming for Embedded Systems

Malta - C Programming for Embedded Systems

Belgique - C Programming for Embedded Systems

France - C Programming for Embedded Systems

日本 - C Programming for Embedded Systems

Australia - C Programming for Embedded Systems

Malaysia - C Programming for Embedded Systems

New Zealand - C Programming for Embedded Systems

Philippines - C Programming for Embedded Systems

Singapore - C Programming for Embedded Systems

Thailand - C Programming for Embedded Systems

Vietnam - C Programming for Embedded Systems

India - C Programming for Embedded Systems

Argentina - Programación en C para Sistemas Embebidos

Chile - Programación en C para Sistemas Embebidos

Costa Rica - Programación en C para Sistemas Embebidos

Ecuador - Programación en C para Sistemas Embebidos

Guatemala - Programación en C para Sistemas Embebidos

Colombia - Programación en C para Sistemas Embebidos

México - Programación en C para Sistemas Embebidos

Panama - Programación en C para Sistemas Embebidos

Peru - Programación en C para Sistemas Embebidos

Uruguay - Programación en C para Sistemas Embebidos

Venezuela - Programación en C para Sistemas Embebidos

Polska - C Programming for Embedded Systems

United Kingdom - C Programming for Embedded Systems

South Korea - C Programming for Embedded Systems

Pakistan - C Programming for Embedded Systems

Sri Lanka - C Programming for Embedded Systems

Bulgaria - C Programming for Embedded Systems

Bolivia - Programación en C para Sistemas Embebidos

Indonesia - C Programming for Embedded Systems

Kazakhstan - C Programming for Embedded Systems

Moldova - C Programming for Embedded Systems

Morocco - C Programming for Embedded Systems

Tunisia - C Programming for Embedded Systems

Kuwait - C Programming for Embedded Systems

Oman - C Programming for Embedded Systems

Slovakia - C Programming for Embedded Systems

Kenya - C Programming for Embedded Systems

Nigeria - C Programming for Embedded Systems

Botswana - C Programming for Embedded Systems

Slovenia - C Programming for Embedded Systems

Croatia - C Programming for Embedded Systems

Serbia - C Programming for Embedded Systems

Bhutan - C Programming for Embedded Systems

Nepal - C Programming for Embedded Systems

Uzbekistan - C Programming for Embedded Systems