Schița de curs

Introducere

  • Istoria Unix/Linux
  • Software liber
  • Filosofia Unix

GAZDĂ LOC DE JOACĂ

  • Joacă-te cu GNU/Linux
    • arhitectură
    • shell
    • permisiuni
    • FHS (standardul ierarhiei fișierelor)
    • legături hard/soft
    • uid/gid real/efectiv
    • planificator
    • proces/task/thread
    • IPC simplu/avansat
      • conducte
      • semnale
      • cozi de mesaje
      • semafoare
      • memorie partajată
      • socluri
      • selectare/poll
    • Tehnici IPC de evitat
  • Configurarea gazdei Linux
    • Yocto/ELDK (instrumente, biblioteci, pachete încrucișate/țintă)
    • Emularea terminalului
    • Servere (DHCP, tftp, NFS)

LOCUL DE JOACĂ ȚINTĂ

  • fișierele necesare pentru a rula ceva la bord
    • configurare JTAG/BDI
    • u-boot (checkout, config, build)
    • kernel (checkout, config, build)
    • rootfs
    • arbore plat de dispozitive
  • construiește/execută ceea ce este aplicabil de mai sus pe placa țintă
  • diverse rootfs
    • CRAMFS
    • ramdisk
    • MTD
    • JFFS2
    • roEXT2
    • ubi
  • construiți/executați ceea ce este aplicabil de mai sus pe placa țintă
  • compararea sistemelor de fișiere rădăcină
  • depanare
    • instrumente simple
    • local/la distanță
    • utilizator/kernel
    • gdb
    • gdbserver
    • JTAG/BDI (opțional)
  • profilare
    • gprof
    • gcov
    • oprofile

TIMP REAL

  • condiții prealabile
    • întreruperi
    • cod reentrant
  • timp real Linux
    • puncte de preempțiune explicite/implicite
    • patch de preempțiune în timp real
    • kernel complet preemptiv
    • extensii hard real-time
  • Adeos/Xenomai
    • patch adeos
    • xenomai
    • patch/config/build kernel
    • rulați-l pe bord

RELEASE SW

  • administrare
  • dezvoltare
  • cum să reproduceți o versiune SW?

MISC

  • getopt
  • endianess
  • cheat-sheets

Cu excepția cazului în care se menționează altfel, conținutul acestei scheme de curs este licențiat sub Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).

Cerințe

  • Familiaritate de bază cu utilizarea unui sistem GNU/Linux (de exemplu Ubuntu) ca utilizator final în spațiul de utilizator 
  • .
  • Familiaritate de bază cu un shell de linie de comandă 
  • Cunoștințe de bază privind dezvoltarea spațiului utilizatorului/aplicațiilor cu GNU/Linux 
  • .
  • Cunoștințe de bază privind procesoarele încorporate și plăcile de dezvoltare 
  • Cunoștințe de bază de programare C 
  • .
  • …și/sau sau teama de a învăța cele de mai sus… 
 35 ore

Numărul de participanți


Pret per participant

Mărturii (3)

Upcoming Courses

Categorii înrudite