Intrati in legatura

Schița de curs

Introducere

  • Istoria Unix/Linux
  • Software Liber
  • Filozofia Unix

ARENA GAZDEI

  • Joacă-te cu GNU/Linux
    • arhitectura
    • shell
    • permisiuni
    • FHS (standardul ierarhiei fișierelor)
    • legături dure/moi
    • uid/gid real/efectiv
    • planificator
    • proces/sarcină/fir de execuție
    • IPC simplu/avansat
      • conducte
      • semnalizări
      • cozi de mesaje
      • semafoare
      • memorie partajată
      • socket-uri
      • select/poll
    • tehnici IPC de evitat
  • Configurare Linux pe gazdă
    • Yocto/ELDK (unelte, biblioteci, pachete pentru țintă/cross)
    • Emulare Terminal
    • Servere (DHCP, tftp, NFS)

ARENA ȚINTEI

  • fișiere necesare pentru a rula ceva pe placă
    • Configurare JTAG/BDI
    • u-boot (checkout, configurare, construire)
    • kernel (checkout, configurare, construire)
    • rootfs
    • flat device tree
  • construiește/execută ceea ce este aplicabil de mai sus pe placa țintă
  • diverse rootfs
    • CRAMFS
    • ramdisk
    • MTD
    • JFFS2
    • roEXT2
    • ubi
  • construiește/execută ceea ce este aplicabil de mai sus pe placa țintă
  • compararea sistemelor de fișiere root
  • depanare
    • unelte simple
    • local/remote
    • utilizator/kernel
    • gdb
    • gdbserver
    • JTAG/BDI (opțional)
  • profilare
    • gprof
    • gcov
    • oprofile

TIMP REAL

  • condiții preliminare
    • întreruperi
    • cod reentrant
  • Linux timp real
    • puncte de preemție explicite/implicite
    • patch de preemție timp real
    • kernel complet preemptiv
    • extensii pentru timp real dur
  • Adeos/Xenomai
    • patch adeos
    • xenomai
    • patch/config/build kernel
    • rulează pe placă

LANȘARE SOFTWARE

  • administrare
  • dezvoltare
  • cum să reproduci o lansare software?

DIVERSE

  • getopt
  • endianess
  • fișe de ajutor

În afara cazurilor în care se specifică altfel, conținutul acestui plan de curs este licențiat sub Atribuire-Necomercial-Partajare în Condiții Identice 4.0 Internațional (CC BY-NC-SA 4.0).

Cerințe

  • Cunoștințe de bază despre utilizarea unui sistem GNU/Linux (de exemplu, Ubuntu) ca utilizator final în spațiul utilizator
  • Cunoștințe de bază despre utilizarea unei linii de comandă
  • Cunoștințe de bază despre dezvoltarea aplicațiilor în spațiul utilizator cu GNU/Linux
  • Cunoștințe de bază despre procesoarele embedded și plățile de dezvoltare
  • Cunoștințe de bază de programare în C
  • …și/sau dorința de a învăța cele de mai sus…
 35 Ore

Numărul de participanți


Pret per participant

Mărturii (3)

Cursuri viitoare

Categorii înrudite