Systems Programming for ARM - ELE00062M
- Department: Electronic Engineering
- Credit value: 10 credits
- Credit level: M
- Academic year of delivery: 2022-23
Module summary
This module covers two things: the challenges of writing low-level software for embedded systems, and the detail working of the ARM Cortex-M4F processor core. It is designed to give you the skills you would need for a job in firmware programming, and also provides skills relevant to other programming careers or to CPU development.
Module will run
Occurrence | Teaching period |
---|---|
A | Autumn Term 2022-23 |
Module aims
Subject content aims:
- To define systems programming as distinct from applications programming
- To introduce low-level programming concepts such as processor modes, direct interaction with the stack, and writing interrupt and exception handlers
- To explore the programming of a variety of task scheduling and synchronisation algorithms suitable for embedded systems
- To study the causes of deadlock and identify a range of solutions
- To provide practical experience of the above in the context of an ARM-based embedded system
-
Graduate skills aims:
-
To develop skills in critically evaluating and synthesising new information based on researched information and writing concise technical reports appropriate for the target audience
Module learning outcomes
Subject content learning outcomes
After successful completion of this module, students will:
- Understand how scheduling algorithms (cooperative, fixed priority, variable priority, run-to completion, etc.) are written
- Understand mutual exclusion, deadlock, priority inversion, and priority inheritance and their relevance to operating system design and configuration
- Understand race conditions and the need for atomic operations, and the mechanisms available for their implementation on an ARM Cortex M device
- Be able to write substantial parts of a small operating system kernel for an ARM Cortex M device, in C and assembly language
Graduate skills learning outcomes
After successful completion of this module, students will:
-
Be able to construct concise technical reports that critically evaluate and synthesise new information based on research, appropriate for the target audience
Indicative assessment
Task | % of module mark |
---|---|
Essay/coursework | 100 |
Special assessment rules
None
Indicative reassessment
Task | % of module mark |
---|---|
Essay/coursework | 100 |
Module feedback
'Feedback’ at a university level can be understood as any part of the learning process which is designed to guide your progress through your degree programme. We aim to help you reflect on your own learning and help you feel more clear about your progress through clarifying what is expected of you in both formative and summative assessments.
A comprehensive guide to feedback and to forms of feedback is available in the Guide to Assessment Standards, Marking and Feedback. This can be found at https://www.york.ac.uk/students/studying/assessment-and-examination/guide-to-assessment/
The Department of Electronic Engineering aims to provide some form of feedback on all formative and summative assessments that are carried out during the degree programme. In general, feedback on any written work/assignments undertaken will be sufficient so as to indicate the nature of the changes needed in order to improve the work. Students are provided with their examination results within 20 working days of the end of any given examination period. The Department will also endeavour to return all coursework feedback within 20 working days of the submission deadline. The Department would normally expect to adhere to the times given, however, it is possible that exceptional circumstances may delay feedback. The Department will endeavour to keep such delays to a minimum. Please note that any marks released are subject to ratification by the Board of Examiners and Senate. Meetings at the start/end of each term provide you with an opportunity to discuss and reflect with your supervisor on your overall performance to date.
Indicative reading
Notes and readings will be provided in class.