λογισμικό

Γνώση Υπολογιστών >> λογισμικό >  >> Λογισμικό Utility

Τι χρειάζεται να συμπεριληφθεί στον κωδικό εφαρμογής για να εκτελέσετε το νέο υπολογιστή χωρίς λειτουργικό σύστημα;

Για να εκτελέσετε τον κωδικό εφαρμογής σε νέο υπολογιστή χωρίς λειτουργικό σύστημα (OS), χρειάζεστε ένα bare-metal προσέγγιση. Αυτό σημαίνει ότι ο κώδικας αλληλεπιδρά άμεσα με το υλικό, παρακάμπτοντας το λειτουργικό σύστημα εξ ολοκλήρου. Αυτό είναι σημαντικά πιο περίπλοκο από την απλή εγκατάσταση μιας εφαρμογής σε ένα τυπικό λειτουργικό σύστημα. Εδώ είναι αυτό που εμπλέκεται:

1. bootloader: Χρειάζεστε ένα bootloader - ένα μικρό πρόγραμμα που εκτελείται πριν από το λειτουργικό σύστημα. Η δουλειά του είναι να αρχικοποιήσει το υλικό (μνήμη, CPU κ.λπ.) και να φορτώσει τον κωδικό της εφαρμογής σας στη μνήμη. Οι δημοφιλείς bootloaders περιλαμβάνουν grub, αλλά για γυμνό-μετάλλιο, πιθανότατα θα χρησιμοποιήσετε ένα απλούστερο, προσαρμοσμένο bootloader γραμμένο στη γλώσσα συναρμολόγησης ή μια γλώσσα πολύ χαμηλού επιπέδου όπως το C.

2. στρώμα αφαίρεσης υλικού (HAL): Αυτό το στρώμα παρέχει μια συνεπής διεπαφή στο υλικό ανεξάρτητα από τα στοιχεία του συγκεκριμένου υπολογιστή. Δεδομένου ότι δεν χρησιμοποιείτε τους οδηγούς ενός λειτουργικού συστήματος, πρέπει να γράψετε τις δικές σας λειτουργίες για να αλληλεπιδράσετε με το υλικό (π.χ. ανάγνωση από δίσκο, πρόσβαση στην κάρτα δικτύου, εμφανίζοντας στην οθόνη). Αυτό είναι ιδιαίτερα ειδικό για το υλικό και συνήθως απαιτεί λεπτομερή γνώση της αρχιτεκτονικής του υπολογιστή και του chipset του.

3. Κωδικός εφαρμογής: Αυτό είναι το κύριο μέρος του προγράμματος σας. Θα καλέσει τις λειτουργίες στο HAL για να αλληλεπιδράσουν με το υλικό και να εκτελέσουν τα καθήκοντά του. Οι γλώσσες όπως το C και το C ++ χρησιμοποιούνται συχνά για προγραμματισμό γυμνού μετάλλου επειδή επιτρέπουν τον έλεγχο χαμηλού επιπέδου. Η Rust κερδίζει τη δημοτικότητα και για τα χαρακτηριστικά ασφαλείας της μνήμης.

4. Σύστημα κατασκευής: Θα χρειαστείτε ένα σύστημα κατασκευής (όπως το Make ή το CMake) για να συντάξετε τον κωδικό σας (bootloader και εφαρμογή) σε μια μορφή που μπορεί να καταλάβει το υλικό (συνήθως μια δυαδική εικόνα). Αυτό συχνά περιλαμβάνει τη χρήση ενός cross-compiler επειδή το μηχάνημα προορισμού (ο υπολογιστής χωρίς λειτουργικό σύστημα) δεν έχει μεταγλωττιστή.

5. firmware: Σε ορισμένες περιπτώσεις, ειδικά εάν αλληλεπιδράτε με χαρακτηριστικά υλικού χαμηλού επιπέδου (όπως ορισμένοι ελεγκτές), ίσως χρειαστεί να εργαστείτε ή ακόμα και να τροποποιήσετε το υλικολογισμικό. Αυτό είναι εξαιρετικά εξειδικευμένο έργο.

6. Εργαλεία εντοπισμού σφαλμάτων: Ο εντοπισμός του Bare-Metal κώδικα μπορεί να είναι εξαιρετικά προκλητικός. Θα χρειαστείτε εξειδικευμένα εργαλεία εντοπισμού σφαλμάτων, ενδεχομένως ένα πρόγραμμα εντοπισμού σφαλμάτων JTAG ή παρόμοιο υλικό, για να περάσετε από τον κώδικα και να εντοπίσετε ζητήματα.

Εν ολίγοις: Η εκτέλεση μιας εφαρμογής σε ένα γυμνό-μετάλλιο PC είναι μια σημαντική επιχείρηση που απαιτεί προηγμένες δεξιότητες προγραμματισμού, οικεία γνώση της αρχιτεκτονικής υπολογιστών και εξειδικευμένα εργαλεία. Είναι πολύ πιο περίπλοκο από το γράψιμο και τη λειτουργία μιας εφαρμογής μέσα σε ένα περιβάλλον λειτουργικού συστήματος. Συνήθως πραγματοποιείται μόνο για εξειδικευμένα ενσωματωμένα συστήματα ή προγραμματισμό συστήματος χαμηλού επιπέδου όπου ένα λειτουργικό σύστημα δεν είναι εφικτό ή επιθυμητό (π.χ. συστήματα σε πραγματικό χρόνο με πολύ αυστηρές απαιτήσεις απόδοσης).

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα