ELE00063M讲解、辅导Electronic Engineering、辅导Java/c++编程语言 调试Web开发|讲解R语言编程

- 首页 >> 其他
Department of Electronic Engineering
Assessments 2018/19
ELE00063M
Systems Programming for Embedded Devices
This component (Design Report) contributes 100% of the assessment for this module.
Clearly indicate your Examination Number on every separate piece of work submitted.
Unless the assessment specifies a group submission, you should assume all submissions are
individual and therefore should be your own work.
Submission is via the VLE and is due by 12 noon on Thursday 18 April 2019 (Sum Week 1).
Please try and submit early as any late submissions will be penalised.
Please remember that if this is your first year of study, you need to complete the mandatory
Academic Integrity Tutorial http://www.york.ac.uk/integrity/Systems Programming for Embedded Devices
Assessment Task
Task
You must design and implement a small embedded system, using FreeRTOS on the
Cortex-M4F development boards.
The details of the system are entirely up to you. You may choose to have it interact with
the serial port, with the buttons and LEDs, or even with the ADC (Analogue to Digital
Converter – the two blue controls on the board) or any of the other peripherals.
For example, you could choose to implement:
a stopwatch
a demonstration of a temperature controller (by pretending that the blue controls
are other types of sensors)
a simple game, perhaps by reading data from the accelerometers mounted on the
STM32F4DISCOVERY board – there's an example of how to do this in the ST
firmware package (links on the module web page, referred to in the final laboratory
script)
You can choose anything, it doesn't have to be on this list. There are a few minimum
requirements:
You must use at least one interrupt service routine
You must implement at least two separate tasks
You must use some kind of inter-task communication
Feel free to add as much additional functionality as you like. The FreeRTOS
documentation will tell you about all the functions and features that are available to you.
Try to ensure that there is a good reason for having multiple tasks in your system, for
example because you are reading from sensors using one task and writing to the screen
using another, rather than writing tasks that simply run one after another. If you have an
idea for the assessment, and wish to check if it is suitable,
Submission
You must submit your code and a short formal report on your work electronically by the
date given on the cover sheet. A link to the submission point will be made available from
the module web page.Your report should contain a brief executive summary, a contents page, an introduction
and a conclusion. Aim to make it no longer than 2500 words.
You must also submit your code, being careful to upload all source and header files that
you have created or modified. The easiest way to do this is to submit a zip file of the
project folder. Before you create the archive please delete the Flash and RAM folders
from the project (these contain large build artefacts and are not required) and anonymise
the filenames in your project by renaming any whose names reflect your identity.
Marking
This assessment carries 100% of the marks for this module.
Marks will be awarded for:
Report structure and readability
Design features implemented
Effective, readable, commented code
Efficient use of CPU time – for example, using interrupts instead of polling where
appropriate
Careful treatment of any potential deadlocks or race conditions
Appropriate choice of data structures
Indicative mark breakdown:
Item Mark
Report structure and presentation 20%
Detailed and effective design 30%
Effective and efficient code 30%
Clear, standardised code practices 20%
Please remember that the report and code will be anonymously marked. Do not include
(in filenames, folder names, comments etc.) anything that could be used to identify you
personally.
Academic Misconduct
A reminder that plagiarism and collusion constitute academic misconduct and will not be
tolerated. Do not work with anyone else on this assessment, and do not submit someone
else's work as your own.