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

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

Εισαγωγή στο Ενσωματωμένο Rust

  • Επισκόπηση του οικοσυστήματος no_std, core και ενσωματωμένου Rust
  • Επιλογή στοχευόμενου συστήματος και κατανόηση των τριπλών στόχων (target triples)
  • Ρύθμιση των rustup, cargo και των εργαλειακών αλυσίδων στόχου

Εργαλεία, Ροή Δομής και Αποσφαλμάτωσης

  • Χρήση των ροών εργασίας cargo, cargo-embed, probe-run και OpenOCD
  • Εγκατάσταση (flashing) και αποσφαλμάτωση με ανιχνευτές υλικού (ST-Link, JLink)
  • Σκέψεις για την αυτοματοποιημένη δομή (CI) στην κατασκευή ενσωματωμένου firmware Rust

Αποσπασματικοποίηση Υλικού και Πρόσβαση σε Περιφερειακές Συσκευές

  • Κατανόηση των χαρακτηριστικών (traits) του embedded-hal και των μοτίβων οδηγών
  • Βιβλιοθήκες πρόσβασης σε περιφερειακές συσκευές (PACs) και βιβλιοθήκες συσκευών (svd2rust)
  • Συγγραφή και χρήση οδηγών HAL και βιβλιοθηκών υποστήριξης πλακέτας (BSCs)

Ασφάλεια Μνήμης, Ταυτόχρονη Εκτέλεση και Πραγματικός Χρόνος

  • Ασφαλή μοτίβα για κοινή κατάσταση και αναφορές μεταβλητών σε διακοπές
  • Το RTIC και άλλα μοντέλα ταυτόχρονης εκτέλεσης για συστήματα πραγματικού χρόνου
  • Χρήση σωρού (heap) και στοίβας (stack), διανομείς μνήμης και αποφυγή δυναμικής κατανομής

Διαχείριση Σφαλμάτων, Δοκιμές και Αξιοπιστία

  • Μοτίβα διαχείρισης σφαλμάτων σε περιορισμένα περιβάλλοντα
  • Δοκιμές μονάδων σε υπολογιστή έναντι ολοκληρωμένων δοκιμών σε υλικό
  • Ανάλυση βλαβών, καταγραφή γεγονότων και στρατηγικές ανάλυσης μετά το περιστατικό

Απόδοση, Ενέργεια και Βελτιστοποίηση Πόρων

  • Αξιολόγηση απόδοσης, μέτρηση και βελτιστοποίηση κριτικών διαδρομών κώδικα
  • Τεχνικές μείωσης του μεγέθους του κώδικα και σενάρια σύνδεσης (linker scripts)
  • Στρατηγικές διαχείρισης ενέργειας και μοτίβα σχεδίασης χαμηλής κατανάλωσης

Ανάπτυξη, Ασφάλεια και Καλύτερες Πρακτικές του Οικοσυστήματος

  • Ασφαλής εκκίνηση (secure boot), υπογραφή firmware και στρατηγικές ενημέρωσης
  • Σκέψεις για την αλυσίδα εφοδιασμού και τη διαχείριση εξαρτήσεων
  • Χάρτης πορείας για τη μετανάστευση από firmware C σε Rust και πόροι της κοινότητας

Συμπεράσματα και Επόμενα Βήματα

Απαιτήσεις

  • Κατανόηση των βασικών εννοιών του Rust: ιδιοκτησία (ownership), δανεισμός (borrowing), χρόνοι ζωής (lifetimes)
  • Εμπειρία στη συγγραφή μη απλών προγραμμάτων Rust (Rust ενδιάμεσου επιπέδου)
  • Εξοικείωση με ενσωματωμένες έννοιες: I/O χαρτογραφημένο στη μνήμη, διακοπές, περιφερειακά συσκευές

Κοινό

  • Μηχανικοί ενσωματωμένου firmware που επιθυμούν να υιοθετήσουν το Rust
  • Μηχανικοί λογισμικού με εμπειρία στο Rust που μεταβαίνουν σε συστήματα χαμηλού επιπέδου
  • Τεχνικοί επικεφαλής που αξιολογούν τη χρήση του Rust για την ανάπτυξη ενσωματωμένων προϊόντων
 14 Ώρες

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


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

Σχόλια (2)

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

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