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 hard/soft
    • uid/gid real/efectiv
    • planificator
    • proces/sarcină/fir de execuție
    • IPC simplu/avansat
      • conducte
      • semnal
      • cozi de mesaje
      • semafoare
      • memorie partajată
      • sockets
      • select/poll
    • Tehnici IPC de evitat
  • Configurarea 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 placa țintă
    • Configurare JTAG/BDI
    • u-boot (checkout, configurare, build)
    • kernel (checkout, configurare, build)
    • rootfs
    • flat device tree
  • construiește/execută ce este aplicabil de mai sus pe placa țintă
  • diverse rootfs
    • CRAMFS
    • ramdisk
    • MTD
    • JFFS2
    • roEXT2
    • ubi
  • construiește/execută ce este aplicabil de mai sus pe placa țintă
  • compararea sistemelor de fișiere root
  • depanare
    • unelte simple
    • local/remote
    • user/kernel
    • gdb
    • gdbserver
    • JTAG/BDI (opțional)
  • profilare
    • gprof
    • gcov
    • oprofile

TIMP REAL

  • cerințe preliminare
    • interrupturi
    • cod reentrant
  • Linux timp real
    • puncte de preemțiune explicite/implicite
    • patch de preemțiune timp real
    • kernel complet preemptiv
    • extensii pentru timp real dur
  • Adeos/Xenomai
    • adeos patch
    • xenomai
    • patch/config/build kernel
    • rulează pe placă

LANȚARE SOFTWARE

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

DIVERSE

  • getopt
  • endianess
  • cheat-sheets

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

Cerințe

  • Cunoștințe de bază în utilizarea unui sistem GNU/Linux (de exemplu, Ubuntu) ca utilizator final în spațiul utilizatorului
  • Cunoștințe de bază despre un shell de linie de comandă
  • Cunoștințe de bază despre dezvoltarea de aplicații în spațiul utilizatorului cu GNU/Linux
  • Cunoștințe de bază despre procesoarele embedded și plăcile 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