Embedded Systems Project
This page gives information on the project done in the course "Programming for embedded systems."
Here you can find the actual outcome of the 2014 projects.
Development hardware
The common hardware provided for this project is:
- STM3210C-Eval
development boards
- ST-Link
in-circuit debugger and programmer
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 Kai Lampka in case you are interested in this.
Documentation
- 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 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)