The C programming language is perhaps the most popular programming language for programming embedded systems.
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
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