Base Knowledge
Students must have basic knowledge of Digital Systems and Microprocessors, as well as to know how to develop simple programs in C language.
Teaching Methodologies
The curricular unit will be taught through theoretical classes and laboratory classes.
Theoretical classes are essentially expository of the syllabus, using audiovisual means,
with an interactive approach whenever possible.
Laboratory classes will be taught in a laboratory with equipment for developing embedded systems such as power supplies,
signal generators, oscilloscopes, computers, and other electronic components, in order to allow, after theoretical exposition,
to exemplify the subjects by carrying out practical application work.
Learning Results
The objective of this UC is to provide students with knowledge in programming electronic microsystems, commonly referred to as Embedded Systems.
It is intended that students recognize the concept of embedded microsystems in electronic equipment and familiarize themselves with the methodologies and techniques of their programming.
Students must:
– Use programming, compilation and debugging tools to develop electronic microsystem applications;
– Know and understand the operating principles and technologies used in electronic microsystems;
– Know and understand the communication and interface protocols of electronic microsystems;
– Understand the access mechanisms to sensors and actuators in electronic microsystems;
– Recognize, understand and use data from sensors, using analog/digital converters;
– Recognize communication protocols between microsystems and their interconnection with internet of things devices.
Program
Introduction to embedded systems programming:
– definition of the concept, opportunities and challenges;
Study of a microcontroller architecture:
– internal architecture of the processor, notion of registers, internal peripherals of the integrated circuit and notion of interrupts;
Development of applications for electronic microsystems without an operating system (bare metal):
– interaction with peripheral devices by state polling and interruption;
Software development for electronic microsystems:
– development tools and validation and testing methodologies;
Synchronous and asynchronous serial protocols: SPI, I2C, RS232;
Software implementation for electronic microsystems:
– layer model, state machine model, use of static libraries;
Introduction to software engineering tools.
Curricular Unit Teachers
Marco José da SilvaInternship(s)
NAO
Bibliography
The teaching resources used in the UC will be available on ISEC’s Moodle:
– Slides of theoretical classes;
– Laboratory work statements;
– Links to online technical documentation relating to software development and of electronic components manufacturers in the embedded systems area.
Barr, M. (2018). Embedded C Coding Standard. Createspace Independent Publishing Platform, available online.