Τι είναι ο προγραμματισμός ενσωματωμένου συστήματος και οι γλώσσες του

Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων





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

Συστατικά ενσωματωμένων συστημάτων

Τα παρακάτω είναι τα συστατικά των ενσωματωμένων συστημάτων




  • Ενσωματωμένο υλικό: Ο μικροελεγκτής είναι η καρδιά του ενσωματωμένου συστήματος, όπου πολλαπλά περιφερειακά συνδέονται με ενσωματωμένο υλικό για επικοινωνιακούς σκοπούς.
  • Ενσωματωμένα RTO: Ένα ενσωματωμένο λειτουργικό σύστημα σε πραγματικό χρόνο χρησιμοποιείται για την εκτέλεση όλων των πολύπλοκων λειτουργιών.
  • Προγράμματα οδήγησης συσκευών: Λειτουργεί ως γέφυρα μεταξύ των λειτουργικών συστημάτων και των περιφερειακών συσκευών.
  • Στοίβες επικοινωνίας: Χρησιμοποιείται για επικοινωνία με εξωτερικές συσκευές.
  • Ενσωματωμένες εφαρμογές: Εκτελεί την προκαθορισμένη λειτουργία της ενσωματωμένης συσκευής.
Στοιχεία ενσωματωμένου συστήματος

Στοιχεία ενσωματωμένου συστήματος

Ενσωματωμένο λογισμικό

Ένα ενσωματωμένο λογισμικό ή προγραμματισμός ενσωματωμένου συστήματος είναι λογισμικό υπολογιστή, το οποίο χρησιμοποιείται για τον έλεγχο συσκευών παρέχοντας ένα σύνολο οδηγιών. Ονομάζεται επίσης ως υλικολογισμικό, διάφορες συσκευές με διάφορες λειτουργίες μπορούν να προγραμματιστούν χρησιμοποιώντας ενσωματωμένο λογισμικό, διατηρώντας περιορισμούς σχεδιασμού (όπως περιορισμοί χρόνου απόκρισης, αυστηρές προθεσμίες και επεξεργασμένα δεδομένα) και αποθηκεύοντας τα τελικά δεδομένα στο μνήμη (Ραμ / Ρομ).



Το λογισμικό ελέγχεται ή ξεκινά από μια διεπαφή μηχανής. Το ενσωματωμένο λογισμικό είναι ενσωματωμένο σε όλα τα ηλεκτρονικά είδη όπως αυτοκίνητα, τηλέφωνα, ρομπότ, συστήματα ασφαλείας , κλπ που είναι απλό να τρέχει σε 8-bit μικροελεγκτής χρησιμοποιώντας μνήμη έως και μερικά KB. Βοηθά στην επεξεργασία σύνθετων λειτουργιών και καθορίζει το ακριβές πλαίσιο υπολογισμού.

Γλώσσες προγραμματισμού ενσωματωμένου συστήματος

Το ενσωματωμένο λογισμικό χρησιμοποιεί ένα λειτουργικό σύστημα, το οποίο είναι λειτουργικό σύστημα σε πραγματικό χρόνο που εκτελεί πολλές εργασίες ταυτόχρονα. Τα ενσωματωμένα προγράμματα προγραμματίζονται χρησιμοποιώντας το C / C ++ , Phyton και Java Scripts γλώσσες και υποβάλλονται σε επεξεργασία σε λειτουργικά συστήματα όπως Λειτουργικό σύστημα Linux , VxWorks , Fusion RTOS, Nucleus RTOS, micro C / OS, OSE κ.λπ. Η επιλογή της γλώσσας προγραμματισμού παίζει ζωτικό ρόλο στην ανάπτυξη ενσωματωμένου λογισμικού, το οποίο βασίζεται σε ορισμένους παράγοντες όπως φαίνεται παρακάτω,

  • Μέγεθος : Η ποσότητα μνήμης που απαιτείται από ένα πρόγραμμα παίζει σημαντικό ρόλο, καθώς οι ενσωματωμένοι επεξεργαστές (μικροελεγκτές) έχουν συγκεκριμένη ποσότητα ROM (μόνο για ανάγνωση) βάσει της εφαρμογής του.
  • Ταχύτητα : Η ταχύτητα εκτέλεσης του προγράμματος πρέπει να είναι γρήγορη
  • Φορητότητα: Διαφορετικοί επεξεργαστές μπορούν να μεταγλωττιστούν χρησιμοποιώντας ένα πρόγραμμα.
  • Η εφαρμογή είναι δύσκολη
  • Η συντήρηση είναι δύσκολη.

Προγραμματισμός ενός ενσωματωμένου συστήματος σε γλώσσα συναρμολόγησης

Προγραμματισμός ενσωματωμένου συστήματος στο συμβολική γλώσσα (είσοδος) και μετατροπή σε γλώσσα σε επίπεδο μηχανής (έξοδος) χρησιμοποιώντας ένα assembler μπορεί να εξηγηθεί χρησιμοποιώντας το ακόλουθο παράδειγμα, όπου πραγματοποιούμε την προσθήκη δύο αριθμών χρησιμοποιώντας δύο καταχωρητές σπερματοζωαρίων και αποθηκεύουμε το αποτέλεσμα σε έναν καταχωρητή εξόδου.


Εισαγωγή

ΕΔΩ: MOV R0, # 01H

MOV # 1, # 02H

MOV A, R0

ΠΡΟΣΘΗΚΗ Α, R1

MOV P0, Α

SIMP ΕΔΩ

Παραγωγή

Διεύθυνση Opcode Operand

0000 78 01
0002 79 02
0004 Ε8 -
0005 29 -
0006 F5 80
0008 80 00

Ο κωδικός συναρμολόγησης χρησιμοποιείται για την ανάπτυξη αποτελεσματικού κώδικα όσον αφορά το μέγεθος και την ταχύτητα. Η ανάπτυξη μεγαλύτερου κώδικα σε γλώσσα συναρμολόγησης καθίσταται δύσκολη η οποία μπορεί να οδηγήσει σε υψηλότερο κόστος ανάπτυξης λογισμικού και η φορητότητα κώδικα απουσιάζει. Ως εκ τούτου, για να ξεπεράσουμε αυτό το μειονέκτημα χρησιμοποιούμε γλώσσα υψηλού επιπέδου όπως ενσωματωμένο Γ .

Σχετικά με τα C, C ++, Java και Embedded C

Προγραμματισμός Γ

Η γλώσσα C είναι μια γλώσσα με γνώμονα τη δομή, που αναπτύχθηκε από τον Dennis Ritchie. Παρέχει λιγότερη πρόσβαση στη μνήμη χρησιμοποιώντας τον απλό μεταγλωττιστή και παρέχει τα δεδομένα αποτελεσματικά σύμφωνα με τις οδηγίες του μηχανήματος. Εφαρμόζονται σε ευρεία κλίμακα από ενσωματωμένα συστήματα έως υπερυπολογιστές.

Ενσωματωμένο Γ

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

Η χρήση του C στο ενσωματωμένο σύστημα οφείλεται στα ακόλουθα πλεονεκτήματα

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

Συγκρίνετε με άλλες γλώσσες υψηλού επιπέδου Το C προσφέρει περισσότερη ευελιξία επειδή είναι σχετικά μικρή δομή προσανατολισμένη στη γλώσσα και υποστηρίζει χαμηλού επιπέδου bitwise χειρισμοί δεδομένων .

C ++

Η αντικειμενοστρεφής γλώσσα όπως το C ++ δεν είναι προαιρετική για την ανάπτυξη ενός αποτελεσματικού προγράμματος σε περιβάλλοντα ερευνητικών περιορισμών όπως ενσωματωμένες συσκευές. Οι εικονικές λειτουργίες και ο χειρισμός εξαιρέσεων του C ++ είναι ορισμένα ειδικά χαρακτηριστικά που δεν είναι αποδοτικά ως προς το χώρο και την ταχύτητα του συστήματος.

ΙΑΒΑ

Ένα ενσωματωμένο σύστημα μπορεί να προγραμματιστεί σε γλώσσα JAVA, χρησιμοποιώντας την εικονική μηχανή JAVA (JVM) η οποία έχει πρόσβαση σε πολλούς πόρους. Βρίσκει κυρίως χρήση σε εφαρμογές προηγμένης τεχνολογίας (όπως κινητά τηλέφωνα) και προσφέρει φορητότητα σε όλα τα συστήματα για την επεξεργασία των εφαρμογών. Δεν προτιμάται για μικρότερες ενσωματωμένες συσκευές.

Ενσωματωμένη Αρχιτεκτονική και Παράδειγμα Προγραμματισμού Γ

Η ενσωματωμένη αρχιτεκτονική προγραμματισμού C μπορεί να γίνει κατανοητή με ένα παράδειγμα χρήσης 8051 μικροελεγκτές , όπου η λειτουργία του είναι να αναβοσβήνει ο λαμπτήρας LED που είναι συνδεδεμένος στο PORT1 του ελεγκτή και ο μεταγλωττιστής που χρησιμοποιείται είναι ο Keil C Compiler. Το παρακάτω είναι ο κωδικός για το LED αναβοσβήνω.

#include // οδηγία προ-επεξεργαστή
Άκυρη καθυστέρηση (int) // δήλωση λειτουργίας καθυστέρησης
Κενή κενή (κενή) // Κύρια λειτουργία
{
P1 = 0x00 // το port1 είναι απενεργοποιημένο, οπότε το LED σβήνει και αποθηκεύεται στο reg51.h
ενώ (1) // βρόχος απείρου
{
P1 = OxFF //// port1 είναι αναμμένη, οπότε το LED είναι αναμμένο
καθυστέρηση (1000) // εκχώρηση καθυστέρησης
P1 = 0X00 // απενεργοποίηση port1
καθυστέρηση (1000)
}
}
Άκυρη καθυστέρηση (int d) // εκχώρηση λειτουργίας καθυστέρησης
{
unsigned int i = 0 // μεταβλητές που έχουν εκχωρηθεί τοπικά
για (d> 0 d-)
{
για (i = 250 i> 0i–)
για (i = 248 i> 0i–)
}
}

Πλεονεκτήματα

Τα παρακάτω είναι τα πλεονεκτήματα του ενσωματωμένου λογισμικού

  • Η φόρτωση δεδομένων είναι ταχύτερη
  • Το κόστος είναι χαμηλό
  • Χρησιμοποιεί λιγότερους πόρους.

Μειονεκτήματα

Τα παρακάτω είναι τα μειονεκτήματα του ενσωματωμένου λογισμικού

  • Η αναβάθμιση είναι περίπλοκη
  • Κάθε φορά η επαναφορά είναι απαραίτητη εάν προκύψουν προβλήματα
  • Η δυνατότητα κλιμάκωσης για μικρές τιμές είναι δύσκολη.

Εφαρμογές

Ακολουθούν οι εφαρμογές του Ενσωματωμένου Λογισμικού

  • ΤΡΑΠΕΖΙΚΕΣ ΕΡΓΑΣΙΕΣ
  • Αυτοκίνητα
  • Οικιακές συσκευές
  • Αυτοκίνητο
  • Πυραύλους κ.λπ.

Συχνές ερωτήσεις

1). Τι είναι ένα ενσωματωμένο λογισμικό;

Ένα ενσωματωμένο λογισμικό ή προγραμματισμός ενσωματωμένου συστήματος είναι λογισμικό υπολογιστή, το οποίο χρησιμοποιείται για τον έλεγχο συσκευών παρέχοντας οδηγίες.

2). Ποια είναι τα προγράμματα που χρησιμοποιούνται στο λογισμικό ενσωματωμένου συστήματος;

Τα ενσωματωμένα προγράμματα λογισμικού συστήματος προγραμματίζονται σε C ή C ++, Phyton και Java Scripts.

3). Ποια είναι η διαφορά μεταξύ των ενσωματωμένων συστημάτων και του κανονικού συστήματος;

Ένα ενσωματωμένο σύστημα είναι ένας συνδυασμός υλικού και λογισμικού όπου έχει σχεδιαστεί για συγκεκριμένο σκοπό. Οι διαδικασίες επεξεργάζονται διαδοχικά. Ενώ ένας κανονικός επεξεργαστής είναι λειτουργικό σύστημα RTO σε πραγματικό χρόνο, απαιτείται όταν υπάρχει ανάγκη για παράλληλη εκτέλεση.

4). Ποιοι είναι οι διαφορετικοί τύποι ενσωματωμένων συστημάτων;

Τα ενσωματωμένα συστήματα ταξινομούνται σε δύο κατηγορίες

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

5). Σημαντικές εφαρμογές ενσωματωμένου συστήματος

Οι κύριες εφαρμογές ενός ενσωματωμένου συστήματος είναι

  • Πλυντήριο
  • Ψηφιακές κάμερες
  • Συσκευή αναπαραγωγής μουσικής κ.λπ.

Ένα ενσωματωμένο σύστημα είναι ένας συνδυασμός υλικού και λογισμικού. Όπου το ενσωματωμένα προγράμματα λογισμικού προγραμματίζονται σε C ή C ++, Phyton και Java Scripts. Τρέχουν σε Linux OS, micro C / OS, QNX, κ.λπ. Η γλώσσα C αποτελεί τη βασική γλώσσα για τη σύνταξη ενσωματωμένων κωδικών λογισμικού. Έτσι, αυτή είναι μια επισκόπηση ενός Ενσωματωμένου Λογισμικού και η αρχιτεκτονική του εξηγείται χρησιμοποιώντας ένα πρόγραμμα.