ESD 406T -  Advanced C for Embedded Programming  
 

Indicative contents

  • Introduction to C – programming, C Fundamentals, Operators and Expressions, Data Input and Output, Control Statements, Program Structure: Storage Classes, Functions, Arrays: One Dimensional Arrays, Two Dimensional Arrays, Multi-Dimension Arrays, Passing Arrays to function, Structure & Unions, Passing Structure to Function, String handling in C, Pointers: Fundamentals, Passing Pointers to functions, Dynamic Memory Allocation, Arrays of Pointers, Passing Functions to other Functions, Data Files, Low-Level Programming: Register Variables, Bitwise Operations, Bit Fields, Some Additional Features of C: Command Line Parameters, Variable Length Argument List(Functions), Macros, The C Preprocessor, linked list, stack, queue, trees, Sorting and Searching methods.

Module Resources

  • Essential reading
    1. Course notes
  • Recommended Reading
    1. Yashavant P. Kanetkar, Let Us C, BPB Publications, ISBN 81-7656-940-2
    2. Brian W. Kernigham & Dennis M Ritchie, The C Programming Language, Prentice Hall of India Pvt Ltd, ISBN 81-203-0596-5
    3. Yashavant P. Kanetkar, Pointers in C, BPB Publications, ISBN 81-7656-358-7
    4. Yashavant P. Kanetkar , Test Your C Skills, BPB Publications, ISBN 81-7029-801-6
    5. Byron Gottfried, Programming with C, Tata McGraw-Hill PCL, ISBN 0-07-463491- 7
    6. Michael Barr, Programming Embedded Systems with C and C++, O’RELLY, Publication, ISBN: 1-56592-354-5
    7. Ashok K Pathak, Advanced test in C and Embedded System Programming, BPB Publications, ISBN 81-7656-676-4
    8. Langsam, Augenstein Tanenbaum, Data Structures using C and C++, Pearson Education, 2nd Edition
    9. Schildt H, C: Complete Reference, Tata McGraw-Hill PCL, 4th Edition
       
  • Software Tools/Hardware :  GCC Compiler on Linux Platform