C FOR REAL-TIME DEVELOPERS/EMBEDDED C
Programming in C
|Introduction to C Programming - Evolution of language, Structure of a C program, The C compilation process, difference between compiler and cross-compiler.|
|Data types and Operators - C built in data types and Modifiers, Precedence & Associativity – Arithmetic, logical, relational, bitwise, and ternary operator, Promotion & Typecasting, Qualifiers – const and volatile, Storage classes – auto, register, static, extern.|
|Control Flow - Logical expressions and operations, Decision Making, nesting, branching statements, iterators.|
|Functions and pointers - declaration, definition, call by value and call by reference, static, extern, inline, recursive functions. Command line arguments. Pointers – Null, wild, dangling, generic.
Library functions - malloc, calloc, realloc, free, issues.
|Array(integer) - declaration, initialization(sized and unsized), passing array to function using call by reference, 1D, 2D, 3D pointer to 1D, 2D, 3D array, array of pointers.
Array(char) - declaration, initialization, passing array to function using call by reference, 1D, 2D array of pointers to 2D chars. Stings – standard library functions – strlen, strcpy, strcmp, strrev etc.
|Preprocessor - preprocessor directives – file inclusion, macros, conditional compilation, and miscellaneous directives. Compilation steps – preprocessor, compiler, assembler, linker and loader.|
|Structure, union, enum – structure variable, pointers to structures, nesting of structures using structure variable and structure pointers, self- referential structure, applications. Unions - memory map, uses. Enum - uses. Typedef – for data type, arrays, structs, union, enum, function pointers.|
|Input and Output - console i\o - formatted and unformatted. File i\o - txt files and binary files.|
|Miscellaneous topics - function pointes, difference between #define and Typedef, function returning pointers.|
Embedded C is a set of language extensions for the C Programming language by the C Standards committee to address commonality issues that exist between C extensions for different embedded systems. Historically, embedded C programming requires nonstandard extensions to the C language in order to support exotic features such as fixed-point arithmetic, multiple distinct memory banks, and basic I/O operations.