- define embedded system, its elements and architecture
- classify embedded system components based on signal type, integration level, realization and functionality
- describe tools for funckional debugging and testing of embedded systems
- analyze embedded computer system
- apply peripherals which are built in microcontrollers
- develop hardware and software for embedded computer system with a microcontroller
- apply programmable logic and field programmable gate arrays (FPGA)
- design embedded computer system using FPGA
Forms of Teaching
|Type||Threshold||Percent of Grade||Threshold||Percent of Grade|
|Laboratory Exercises||50 %||24 %||50 %||24 %|
|Mid Term Exam: Written||0 %||33 %||0 %|
|Final Exam: Written||0 %||33 %|
|Final Exam: Oral||10 %|
|Exam: Written||50 %||66 %|
|Exam: Oral||10 %|
The student is allowed to approach the oral exam if minimum 50% is gained on the midterm and written part of the final exam. The student is allowed to approach the oral exam if minimum 50% is gained on the written part of the exam. Oral exam is not mandatory.
Week by Week Schedule
- Concept of embedded systems; Structure of basic computer system: CPU, memory, I/O, bus; Microprocessors and microcontrollers; Microcontroller families (4-bit, 8-bit, 16-bit, 32-bit); Processor core; Integrated peripherals; Interrupts, polling, interrupt structures: vectored, prioritied; Direct memory access; Memory architectures, hierarchies, caches.
- A/D and D/A interfacing; Mixed signal design.
- Mixed signal design.
- Power supply, decoupling; Clock and reset generation and distribution; Layout consideration.
- Layout consideration; High speed design; Keyboards and displays.
- Hardware initialization; Bare machine.
- Library tailoring; Programming environments, emulators, simulators.
- Midterm exam.
- Semihosting; Interrupt handling.
- Embedded program deployment (compilation, assembly, and linking); Embedded program representation (data flow and control flow).
- Compilation tasks in embedded programs (mapping variables, managing structures, and translating control structures); Assembly language / High level programming tradeoffs for embedded programming.
- Families; Architectures; Principles of embedded design based on programmable devices.
- Principles of embedded design based on programmable devices; FPGA platform elements: CPU, programmable logic, interconnects, interfaces; HDL programming for FPGAs.
- Electromechanical integration; Design tools, emulators, simulators, logic analyzer; Principles of debugging; Debugging in semihosting environment; Boundary scan (JTAG); In circuit emulation (ICE); Benchmarks; Formal verification of embedded systems.
- Final exam.