ID:
509037
Durata (ore):
45
CFU:
6
SSD:
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Anno:
2024
Dati Generali
Periodo di attività
Primo Semestre (30/09/2024 - 20/01/2025)
Syllabus
Obiettivi Formativi
Comprendere la serie di problematiche da affrontare nel passaggio dall'idea alla realizzazione completa di un sistema a microcontrollore, pensando all'hardware in funzione del software e al software in funzione dell'hardware.
Controllare tutta la catena di sviluppo software in ambiente di microcontrollore, utilizzando alcune caratteristiche poco note, ma ampiamente usate nel settore, di compilatore e linker.
Controllare tutta la catena di sviluppo software in ambiente di microcontrollore, utilizzando alcune caratteristiche poco note, ma ampiamente usate nel settore, di compilatore e linker.
Prerequisiti
Mi aspetto che gli studenti abbiano una conoscenza di base di informatica ed elettrotecnica: dovrebbero essere in gradi di scrivere un programma per elaboratore, sapere come e` fatto un calcolatore e avere fatto proprie la legge Ohm, le impedenze e questioni simili.
E` gradita una sana curiosita` per la materia, come pure l'ardire di contestare il docente e offire un punto di vista diverso quando le spara troppo grosse.
E` gradita una sana curiosita` per la materia, come pure l'ardire di contestare il docente e offire un punto di vista diverso quando le spara troppo grosse.
Metodi didattici
Le lezioni vengono svolte in aula con proiezione dello schermo. Alcune lezioni prevedono una parte teorica (proiezione di lucidi, poi resi disponibili in rete) e alcune sono prettamente pratiche e prevedono la scrittura e la discussione di codice e strutture dati.
Tutto quello che viene realizzato e` salvato sun un repository git pubblicamente accessibile, che cresce insieme al corso ed e` ogni anno leggermente diverso, in base agli argomenti trattati e alle difficolta` o meno degli studenti.
Lo sviluppo avviene in ambiente GNU/Linux. Per aiutare gli studenti che ne siano ancora sprovvisti all'inizio del corso rendo disponibile un account personale su un mio sistema VPS destinato al corso e ubicato in europa.
Tutto quello che viene realizzato e` salvato sun un repository git pubblicamente accessibile, che cresce insieme al corso ed e` ogni anno leggermente diverso, in base agli argomenti trattati e alle difficolta` o meno degli studenti.
Lo sviluppo avviene in ambiente GNU/Linux. Per aiutare gli studenti che ne siano ancora sprovvisti all'inizio del corso rendo disponibile un account personale su un mio sistema VPS destinato al corso e ubicato in europa.
Verifica Apprendimento
L'esame e` composto da 10 domande, e bisogna rispondere correttamente ad 8 di esse in 90 minuti. Le domande sono scelte tra quelle che vengono identificate durante lo svolgimento del corso.
L'esame si fa con carta e penna, di persona in un'aula, ed e` questo il motivo per cui si lasciano ben 10 minuti a domanda, e 10 minuti in piu` di lasco. E` possibile usare il portatile, per guardare i commit o altri dati che potrebbero essere utili, ma senza alcuna connessione in rete.
In ogni domanda viene chiesto di esprimere un concetto tecnico con parole proprie. Le risposte devono essere concise e puntuali, senza girare attorno alla questione o dilungarsi troppo.
Tenicamente e` possibile copiare, perche` non abbiamo guardie armate. Pero` copiare non e` consentito. Se un elaborato risultasse sospetto mi riservo il diritto di svolgere un breve orale, ma spero davvero non serva.
Nota: potrei decidere di aggiungere problemi da risolvere, riducendo il numero di domande "letterarie", come ho fatto nel 2020 e nel 2021. La forma attuale di esame e` vergognosa, ma sono stato costretto a questa semplificazione a causa della situazione della classe nel 2022.
L'esame si fa con carta e penna, di persona in un'aula, ed e` questo il motivo per cui si lasciano ben 10 minuti a domanda, e 10 minuti in piu` di lasco. E` possibile usare il portatile, per guardare i commit o altri dati che potrebbero essere utili, ma senza alcuna connessione in rete.
In ogni domanda viene chiesto di esprimere un concetto tecnico con parole proprie. Le risposte devono essere concise e puntuali, senza girare attorno alla questione o dilungarsi troppo.
Tenicamente e` possibile copiare, perche` non abbiamo guardie armate. Pero` copiare non e` consentito. Se un elaborato risultasse sospetto mi riservo il diritto di svolgere un breve orale, ma spero davvero non serva.
Nota: potrei decidere di aggiungere problemi da risolvere, riducendo il numero di domande "letterarie", come ho fatto nel 2020 e nel 2021. La forma attuale di esame e` vergognosa, ma sono stato costretto a questa semplificazione a causa della situazione della classe nel 2022.
Testi
Il materiale di riferimento (originale o di terze parti) viene reso disponibile in rete durante il corso senza oneri per lo studente.
Contenuti
Durante il corso viene realizzato da zero un sistema operativo, spiegando tutti i passaggi e motivando tutte le scelte tecniche, unitamente alle scelte tecniche sbagliate di cui la storia e` piena.
Dopo una veloce introduzione a Kicad, strumento libero per la progettazione di circuiti stampati, vengono descritte le scelte tecniche che hanno portato alla realizzazione della scheda che viene usata durante il corso per far girare le soluzioni introdotte.
La scheda, che viene lasciata agli studenti per tutta la durata del corso e` basata su processore Cortex-M e viene programmata in linguaggio C.
Gli argomenti specifici, in ordine quasi sparso, sono i seguenti:
Git (gestione vesioni)
Kicad (schema elettrico)
Kicad (pcb)
Compilatore, assembler, linker
Inizializzazione di un processore
Gestione della memoria
Gestione dei tempi
Schedulazione
Interruzioni e semafori
Strutture dati
Sezioni ELF
Debug
GPIO, I2C, SPI, UART
Interfacciamento con il PC
Dove mi riferisco a uno strumento, interessano piu` i concetti che le specificita` dello strumento; in ogni caso usiamo esclusivamente software libero, senza costi di licenza ne` "prima dose gratis" per gli studenti).
Dopo una veloce introduzione a Kicad, strumento libero per la progettazione di circuiti stampati, vengono descritte le scelte tecniche che hanno portato alla realizzazione della scheda che viene usata durante il corso per far girare le soluzioni introdotte.
La scheda, che viene lasciata agli studenti per tutta la durata del corso e` basata su processore Cortex-M e viene programmata in linguaggio C.
Gli argomenti specifici, in ordine quasi sparso, sono i seguenti:
Git (gestione vesioni)
Kicad (schema elettrico)
Kicad (pcb)
Compilatore, assembler, linker
Inizializzazione di un processore
Gestione della memoria
Gestione dei tempi
Schedulazione
Interruzioni e semafori
Strutture dati
Sezioni ELF
Debug
GPIO, I2C, SPI, UART
Interfacciamento con il PC
Dove mi riferisco a uno strumento, interessano piu` i concetti che le specificita` dello strumento; in ogni caso usiamo esclusivamente software libero, senza costi di licenza ne` "prima dose gratis" per gli studenti).
Lingua Insegnamento
INGLESE
Altre informazioni
http://hsw2024.gnudd.com/ contiene il materiale dell'anno accademico 2023-2024.
http://hsw2023.gnudd.come .... http://hsw2020.gnudd.com contengono il materiale degli anni precedenti.
hsw2020 copre molti piu` argomenti degli anni successivi e contiene filmati brevi su ciascuno di essi, ma i primi sono di qualita` pessima e li ho rifatti in hsw2021.gnudd.com .
http://hsw2023.gnudd.come .... http://hsw2020.gnudd.com contengono il materiale degli anni precedenti.
hsw2020 copre molti piu` argomenti degli anni successivi e contiene filmati brevi su ciascuno di essi, ma i primi sono di qualita` pessima e li ho rifatti in hsw2021.gnudd.com .
Corsi
Corsi
ELECTRONIC ENGINEERING
Laurea Magistrale
2 anni
No Results Found
Persone
Persone
Docente
No Results Found