ING-INF/05 (SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI)
DIPARTIMENTO DI INGEGNERIA INDUSTRIALE E DELL'INFORMAZIONE
Corso di studio
Secondo Semestre (07/03/2022 - 17/06/2022)
45 ore di attività frontale
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.
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.
Programma e contenuti
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
- Interrupts and locking
- Data structures
- ELF sections
- 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.
Testi di riferimento
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.
Modalità verifica apprendimento
Obiettivi Agenda 2030 per lo sviluppo sostenibile