Embedded Systems Project
This page gives information on the project done in the course "Programming for embedded systems."
To be updated.
The common hardware provided for this project is:
For working with the boards and on the projects, the following lab slots have been reserved (room 1313):
|March 27||15:00 - 17:00||1313|
|March 29||13:00 - 15:00||1313|
|April 17||15:00 - 17:00||1313|
|April 20||13:00 - 15:00||1313|
|April 25||15:00 - 17:00||1313|
|April 27||13:00 - 15:00||1313|
|May 3||15:00 - 17:00||1313|
|May 4||13:00 - 15:00||1313|
|May 9||15:00 - 17:00||1313|
|May 11||13:00 - 15:00||1313|
|May 14||15:00 - 17:00||1313|
|May 15||15:00 - 17:00||1313|
|May 21||15:00 - 17:00||1313|
|May 22||15:00 - 17:00||1313|
Alternatively, we offer the individual groups to take one board + programmer kit home for the duration of the project, to be able to work with the hardware whenever you wish to; in this case, you will have to sign a form stating that you are responsible for the hardware and have to provide reasonable compensation in case of loss or damage. Send an email to Philipp Ruemmer in case you are interested in this.
- Reference manual for the STM micro-controller
- Programming manual for the STM micro-controller
- Description how to properly connect the analogue input ports of the boards to the headphone output of a music player or computer (provided by Amir Motevakel)
- Page with drivers (e.g., Ethernet), documentation, and code examples for the STM32F107 controller (used on the boards)
Development with uVision
We provide a demonstration project (project skeleton) to simplify starting with the software development. Compilation has been tested using uVision 4.20, but should (most likely) also work with uVision 4.14 (the version that is currently installed on the lab computers in 1313). The project contains
- required initialisation code
- drivers to use LCD/LEDs, as well as the touch screen and further peripherals present on the board
- the FreeRTOS operating system.
Altogether, the provided framework closely corresponds to the environment that you have used in the assignments and the lab.
To use additional functionality or peripherals of the MCU/board, you might have to add further firmware sources to the project (provided in the folder Firmware/src). It can be necessary to add the #include "assert.h" to some of those sources, in case the compiler complains that the functions "assert" or "assert_param" are not defined.
NB: Simulation of the STM3210C-Eval board currently does not seem to work with uVision; compilation and execution of software on the actual development board does.
Further code examples
- How to do PWM with the development board (the provided project mostly coincides with the skeleton above, but the ledTask now sets up PWM on one of the pins)