Course: Programming embedded systems in “C“
Code: 3ФЕИТ05014
ECTS points: 6 ECTS
Number of classes per week: 3+0+0+3
Lecturer: Prof. Dr. Zoran Ivanovski
Course Goals (acquired competencies): Upon successful completion of the course the student will acquire knowledge and understanding of programming concepts and techniques necessary for optimal and efficient programming of embedded systems. The acquired knowledge will enable following of the rest of the courses in the domain of embedded systems software.
Course Syllabus: Embedded systems development environments. Basic programming techniques: program flow control, arrays, functions. Memory management: pointers, arrays of pointers, function pointers, advanced pointer techniques, structures and unions. Data structures: temporal analysis and memory utilization; linked lists, stacks and ques. Conditional compilation, preprocessing directives, operations with files. Functions with variable arguments, command-line arguments. Introduction to processes. Introduction to system calls. Advanced compiler and linker features.
Literature:
Required Literature |
||||
No. |
Author |
Title |
Publisher |
Year |
1 |
A.N.Sloss, D.Symes and C. Wright | ARM System Developer’s Guide: Designing and Optimizing System Software | Elsevier Inc. | 2004 |
Additional Literature |
||||
No. |
Author |
Title |
Publisher |
Year |
1 |
Jonathan W. Valvano | Developing Embedded Software in C Using ICC11/ICC12/Metrowerks | University of Texas | 2006 |