Introduction to embedded systems
- Binariary arithmetic: Two’s complementary numbers, addition / subtraction, overflow, multiplication, and shifts.
- Combinational logic design: logic gates, truth tables, Boolean algebra.
- Designing sequential logic: concept and structure of a state machine, D-flip, state transition diagram.
- Characteristics of digital circuits: unit delay.
- Computer components: registers, PC, SP, flags, ALU. Program fetch and execution. Machine language. Memory.
- C-language program.
- Subroutines and functions. Stack. Pass of parameters.
In theoretical part, we start with a FET-transistor and proceed through basic logic gates to combinational logic design. Then follows the basics of computer arithmetic covering addition, subtraction, multiplication and shifts and a little bit component design. Now we are ready to build up the datapath of ARM-processor and study how it runs a program including typical high level structures like deduction, loops, functions, activation record, etc.
In experimental part, we study the hardware-based programming with high-level technologies (C/C++) including program verification at low level. we also learn about modern embedded systems programming techniques such as RUST. Evaluation device: PYNQ – made by Xilinx – including ARM as a HPS.
- Student can design a combinational gate network from a description/specification.
- Knows simple arithmetic operations with binary numbers and can identify the corresponding digital components.
- Can explain the functionality and limitations of basic computer arithmetic.
- Can explain how the CPU and memory operate together to execute a program.
- Can implement and test simple (high level) hardware-based programs utilizing software development and debugger tools.
More information in Tampere University’s study guide.
You can get a digital badge after completing this course.
C-ohjelmointi ohjelmointi binääri tietokoneet sulautetut järjestelmät
Further information about the studies
Contact person for applications