HARDWARE SOFTWARE CODESIGN
Stampa
Enrollment year
2019/2020
Academic year
2019/2020
Regulations
DM270
Academic discipline
ING-INF/05 (DATA PROCESSING SYSTEMS)
Department
DEPARTMENT OF ELECTRICAL,COMPUTER AND BIOMEDICAL ENGINEERING
Course
COMPUTER ENGINEERING
Curriculum
Embedded and Control Systems
Year of study
Period
2nd semester (02/03/2020 - 12/06/2020)
ECTS
6
Lesson hours
45 lesson hours
Language
English
Activity type
WRITTEN TEST
Teacher
RUBINI ALESSANDRO (titolare) - 6 ECTS
Prerequisites
Students are expected to have some basic knowledge of computer science and electrical stuff. They should be able to write a software program, understand the internals of a computer and know by heard Ohm's law, impedance and similar ideas.
I appreciate if attendees are interested (or better passionate) in the subject matter. You are expected to be brave enough to raise your hand and express a different opinion whenever my point of view seems questionable.
Learning outcomes
The class aims at understanding the various issues that lead from the idea to the complete microcontroller system. We need to design hardware thinking about the software, and vice versa.
We'll understand the whole software toolchain in the freestanding environment (i.e., non-hosted), uncluding some special features of the compiler and linker that are routinely used in the best practices of this field.
Course contents
After an almost-democratic choice of the PCB we'll realize, the course will cover the design of the PCB and the writing of the software image that together will build up to the complete system.
The system is based on Cortex-M and code is written in C language.
At the end of the class, each attendee will keep a specimen of the device we designed and programmed.
Specific topics, almost unsorted, may be the following ones:
- Git (version management)
- Kicad (schematics)
- Kicad (PCB design)
- Compiler, assembler, linker
- Initialization of a CPU
- Memory management
- Time management
- Scheduling
- Interrupts and locking
- Data structures
- ELF sections
- Debug
- GPIO, I2C, SPI, UART
- Interfacing with the PC
Whenver I refer to a specific product, I'm interested more in theideas than specific features of the tool. We'll always use free software, without any licencing cost nor "free student licence" to create addiction.
Teaching methods
Reccomended or required readings
None. Reference material (original or already available) will be available at no cost. According to the project we'll choose to build and to the number of items, I may ask to contribute components, for a cost lower than any tecnical book.
Assessment methods
Further information
....
Sustainable development goals - Agenda 2030