Επικοινωνήστε μαζί μας

Εξέλιξη Κομματιού

1. Εισαγωγή στον Πυρήνα Linux

  • Επισκόπηση του Ενσωματωμένου Linux
  • Αρχιτεκτονική πυρήνα Linux
  • Χώρος χρήστη έναντι χώρου πυρήνα
  • Αρμοδιότητες πυρήνα
  • Ροή εργασίας ανάπτυξης πυρήνα
  • Επισκόπηση υποστηριζόμενων ενσωματωμένων πλατφορμών

2. Ρύθμιση του Περιβάλλοντος Ανάπτυξης

  • Προετοιμασία του σταθμού εργασίας ανάπτυξης
  • Έννοιες διασταυρούμενης μεταγλώττισης
  • Εγκατάσταση απαραίτητων εργαλείων ανάπτυξης
  • Ρύθμιση της πλακέτας ανάπτυξης BeagleBone Black
  • Παραμετροποίηση σειριακής κονσόλας
  • Εκκίνηση της συσκευής-στόχου

3. Απόκτηση και Κατανόηση του Πηγαίου Κώδικα του Πυρήνα

  • Δέντρο πηγαίου κώδικα πυρήνα Linux
  • Σταθεροί πυρήνες έναντι πυρήνων μακροπρόθεσμης υποστήριξης
  • Λήψη πηγαίων κωδίκων πυρήνα
  • Εξερεύνηση της δομής του πηγαίου κώδικα
  • Τεκμηρίωση πυρήνα
  • Διαχείριση εκδόσεων πυρήνα

4. Παραμετροποίηση, Μεταγλώττιση και Εκκίνηση του Πυρήνα

  • Παραμετροποίηση πυρήνα με menuconfig
  • Επιλογή χαρακτηριστικών πυρήνα
  • Διασταυρούμενη μεταγλώττιση του πυρήνα
  • Δημιουργία εικόνων πυρήνα
  • Εγκατάσταση αρθρωμάτων πυρήνα
  • Επισκόπηση φορτωτή εκκίνησης
  • Εκκίνηση προσαρμοσμένου πυρήνα

5. Βασικές Αρχές Δέντρου Συσκευών

  • Σκοπός του Δέντρου Συσκευών
  • Αρχεία Πηγής Δέντρου Συσκευών (DTS)
  • Δυαδικό Δέντρο Συσκευών (DTB)
  • Έννοιες περιγραφής υλικού
  • Τροποποίηση αρχείων Δέντρου Συσκευών
  • Δημιουργία και ανάπτυξη Δέντρων Συσκευών

6. Αρθρώματα Πυρήνα Linux

  • Αρχιτεκτονική αρθρωμάτων πυρήνα
  • Δημιουργία φορτώσιμων αρθρωμάτων πυρήνα
  • Φόρτωση και αφαίρεση αρθρωμάτων
  • Παράμετροι αρθρωμάτων
  • Εξαρτήσεις αρθρωμάτων
  • Αλληλεπίδραση με αρθρώματα πυρήνα
  • Τεχνικές αποσφαλμάτωσης αρθρωμάτων

7. Αποσφαλμάτωση Πυρήνα Linux

  • Καταγραφή πυρήνα με printk()
  • Χρήση dmesg
  • Δυναμική αποσφαλμάτωση
  • Ανάλυση πανικού πυρήνα
  • Μηνύματα Oops
  • Αποσφαλμάτωση με GDB
  • Βασικά εργαλεία ανίχνευσης απόδοσης

8. Οδηγοί Συσκευών Χαρακτήρων

  • Μοντέλο οδηγών συσκευών Linux
  • Συσκευές χαρακτήρων
  • Καταχώριση οδηγών
  • Λειτουργίες αρχείων
  • Λειτουργίες ανάγνωσης και εγγραφής
  • Διεπαφή IOCTL
  • Διαχείριση μνήμης
  • Εκκαθάριση οδηγού

9. Ενσωμάτωση Οδηγών και Πρόσβαση στο Υλικό

  • Συσκευές και οδηγοί πλατφόρμας
  • Προγραμματισμός GPIO
  • Διαχείριση διακοπών
  • Χρονοδιακόπτες και αναβαλλόμενες εργασίες
  • Πρόσβαση σε καταχωρητές υλικού
  • Εργασία με I/O αντιστοιχισμένο στη μνήμη

10. Έλεγχος Εκδόσεων με Git

  • Βασικές αρχές Git
  • Διαχείριση πηγαίου κώδικα πυρήνα
  • Διακλάδωση και συγχώνευση
  • Δημιουργία διορθώσεων (patches)
  • Επισκόπηση αλλαγών
  • Συνεργασία στην ανάπτυξη πυρήνα

11. Πρακτικά Εργαστήρια Ανάπτυξης Πυρήνα

  • Παραμετροποίηση προσαρμοσμένου πυρήνα
  • Δημιουργία και ανάπτυξη του πυρήνα
  • Δημιουργία απλού αρθρώματος πυρήνα
  • Ανάπτυξη βασικού οδηγού συσκευής χαρακτήρων
  • Τροποποίηση αρχείων Δέντρου Συσκευών
  • Αποσφαλμάτωση προβλημάτων πυρήνα σε BeagleBone Black

12. Βέλτιστες Πρακτικές και Σύνοψη

  • Στυλ κώδικα πυρήνα
  • Συγγραφή συντηρήσιμων οδηγών
  • Συχνές παγίδες ανάπτυξης
  • Πόροι τεκμηρίωσης πυρήνα
  • Ροή εργασίας συνεισφοράς ανοιχτού κώδικα
  • Ανασκόπηση βασικών εννοιών
  • Ερωτήσεις και απαντήσεις
  • Επόμενα βήματα για ανάπτυξη πυρήνα Linux

Απαιτήσεις

Βασική εξοικείωση με τη χρήση ενός συστήματος GNU/Linux

 14 Ώρες

Αριθμός συμμετέχοντων


Τιμή ανά συμμετέχοντα

Σχόλια (2)

Εφεξής Μαθήματα

Σχετικές Κατηγορίες