|
The aim of this module is to introduce C language programming in an embedded system environment (its key application area) assuming basic programming skills in another language. Note that it is C language programming rather than embedded systems which is the focus of this module.
Indicative Syllabus: * Introduction to C language and embedded system development environment * Review of programming basics incl. conditional and loop blocks * Literals versus constants; bitwise operations and bit masks; Scope and extent: global, static, local * Basic functions in C using primitive non-pointer types * Arrays * More advanced data types: typedef, enum, structures, unions, and bit fields * Pointers and the typical mapping of code and data to memory * Advanced pointers: functions with composite types; pass by value, out, and in-out parameters; *functions returning non-primitive types; arrays and pointer arithmetic * Strings: literals, character arrays, and string arrays * Other concepts: using multiple .c/.h files; recursion (and limits in embedded environment) A full module descriptor is available at https://www.maynoothuniversity.ie/electronic-engineering/current-students/module-descriptors
|