Struttura del corso

Introduzione

  • Storia di Unix/Linux
  • Software Libero
  • Filosofia Unix

PARCO GIOCHI PER HOST

  • Gioca con GNU/Linux
    • architettura
    • Guscio
    • Autorizzazioni
    • FHS (standard di gerarchia dei file)
    • Collegamenti fisici/morbidi
    • UID/GID reale/effettivo
    • Pianificazione
    • processo/attività/thread
    • IPC semplice/avanzato
      • cornamusa
      • Segnali
      • Code di messaggi
      • Semafori
      • memoria condivisa
      • Sockets
      • Seleziona/Poll
    • Tecniche IPC da evitare
  • Configurazione dell'host Linux
    • Yocto/ELDK (strumenti cross/target, librerie, pacchetti)
    • Emulazione terminale
    • Server (DHCP, tftp, NFS)

PARCO GIOCHI DI DESTINAZIONE

  • File necessari per eseguire qualcosa a bordo
    • Configurazione JTAG/BDI
    • u-boot (checkout, configurazione, build)
    • kernel (checkout, configurazione, compilazione)
    • rootfs
    • albero dei dispositivi piatto
  • Costruisci/esegui ciò che è applicabile dall'alto sulla scheda di destinazione
  • Varie radici
    • CRAMFS
    • ramdisk
    • MTD
    • JFFS2
    • roEXT2
    • Ubi
  • Costruisci/esegui ciò che è applicabile dall'alto sulla scheda di destinazione
  • Confronto dei file system root
  • Debug
    • strumenti semplici
    • locale/remoto
    • utente/kernel
    • Gdb
    • gdbserver
    • JTAG/BDI (opzionale)
  • profilatura
    • GPROF
    • GCOV
    • oprofilo

IN TEMPO REALE

  • Prerequisiti
    • Interrompe
    • Codice rientrante
  • in tempo reale Linux
    • Punti di prelazione espliciti/impliciti
    • patch di prelazione in tempo reale
    • kernel completamente preemptive
    • Estensioni in tempo reale difficili
  • Adeos/Xenomai
    • Patch ADEOS
    • Xenomai
    • patch/config/build del kernel
    • Eseguilo a bordo

RILASCIO SW

  • amministrazione
  • sviluppo
  • come riprodurre una versione SW?

ALTRI

  • getopt
  • endianess
  • cheat-sheets

Salvo diversa indicazione, il contenuto di questo schema del corso è concesso in licenza sotto Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).

Requisiti

  • Familiarità di base con l'uso di un sistema GNU/Linux (ad esempio Ubuntu) come utente finale nello spazio utente
  • Familiarità di base con una shell a riga di comando
  • Conoscenza di base dello spazio utente/sviluppo di applicazioni con GNU/Linux 
  • Conoscenze di base relative ai processori embedded e alle schede di sviluppo
  • Conoscenza di base della programmazione C
  • ...e/o paura di imparare quanto sopra... 
 35 ore

Numero di Partecipanti


Prezzo per Partecipante

Recensioni (3)

Corsi in Arrivo

Categorie relative