Was ist Embedded System Programming & seine Sprachen?

Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen





Ein System ist eine Anordnung mehrerer Einheiten, die zusammengesetzt sind, um gemäß den gegebenen Anweisungen zu funktionieren. Ein eingebettetes System ist eine Kombination aus Hardware und Software, die eine bestimmte Aufgabe innerhalb des angegebenen Zeitraums ausführt (dh, sie sollte nur eine bestimmte Aufgabe wie eine Waschmaschine ausführen). Der Hauptvorteil der Verwendung eines eingebetteten Systems in einer Anwendung besteht darin, dass es die Größe und die Kosten minimieren und auch die Zuverlässigkeit und Effizienz der Aufgabe verbessern kann. Dieser Artikel gibt einen Überblick über eingebettete Softwaresprachen und eingebettete Systeme Programmierung und ihre Funktionen.

Komponenten eingebetteter Systeme

Das Folgende sind die Komponenten eingebetteter Systeme




  • Eingebettete Hardware: Der Mikrocontroller ist das Herzstück des eingebetteten Systems, bei dem mehrere Peripheriegeräte zu Kommunikationszwecken mit eingebetteter Hardware verbunden sind.
  • Eingebettete RTOs: Ein eingebettetes Echtzeitbetriebssystem wird verwendet, um alle komplexen (ar-Operationen) auszuführen.
  • Gerätetreiber: Es fungiert als Brücke zwischen Betriebssystemen und Peripheriegeräten.
  • Kommunikationsstapel: Es wird für die Kommunikation mit externen Geräten verwendet.
  • Eingebettete Anwendungen: Es führt die vordefinierte Funktion des eingebetteten Geräts aus.
Eingebettete Systemkomponenten

Eingebettete Systemkomponenten

Eingebettete Software

Eine eingebettete Software oder Programmierung eingebetteter Systeme ist eine Computersoftware, mit der Geräte durch Bereitstellen einer Reihe von Anweisungen gesteuert werden. Es wird auch als benannt Firmware, Verschiedene Geräte mit verschiedenen Funktionen können mithilfe eingebetteter Software programmiert werden, indem Entwurfsbeschränkungen (wie Reaktionszeitbeschränkungen, strenge Fristen und verarbeitete Daten) beibehalten und die endgültigen Daten in gespeichert werden Erinnerung (Ram / Rom).



Die Software wird von einer Maschinenschnittstelle gesteuert oder initiiert. Die eingebettete Software ist in alle elektronischen Geräte wie Autos, Telefone, Roboter, Sicherheitssysteme usw., was einfach auf einem 8-Bit auszuführen ist Mikrocontroller mit Speicher bis zu einigen KB. Es hilft bei der Verarbeitung komplexer Vorgänge und bestimmt den genauen Berechnungsrahmen.

Programmiersprachen für eingebettete Systeme

Eingebettete Software verwendet ein Betriebssystem, bei dem es sich um ein Echtzeitbetriebssystem handelt, das mehrere Aufgaben gleichzeitig ausführt. Die eingebetteten Programme werden mit in programmiert C / C ++ , Phyton und Java Scripts Sprachen und werden auf Betriebssystemen wie verarbeitet Linux-Betriebssystem , VxWorks , Fusion RTOS, Nucleus RTOS, Mikro-C / OS, OSE usw. Die Auswahl der Programmiersprache spielt eine wichtige Rolle bei der Entwicklung eingebetteter Software, die auf bestimmten Faktoren basiert, wie unten gezeigt.

  • Größe : Die von einem Programm benötigte Speichermenge spielt eine wichtige Rolle, da eingebettete Prozessoren (Mikrocontroller) je nach Anwendung über eine bestimmte Menge an ROM (Read Only Memory) verfügen.
  • Geschwindigkeit : Die Geschwindigkeit der Programmausführung muss schnell sein
  • Portabilität: Mit einem Programm können verschiedene Prozessoren kompiliert werden.
  • Die Implementierung ist schwierig
  • Wartung ist schwierig.

Programmierung eines eingebetteten Systems in Assemblersprache

Programmierung eines eingebetteten Systems in Assemblersprache (Eingabe) und Umwandlung in die Sprache auf Maschinenebene (Ausgabe) unter Verwendung eines Assemblers kann anhand des folgenden Beispiels erklärt werden, in dem wir die Addition von zwei Zahlen unter Verwendung von zwei Zwischenregistern durchführen und das Ergebnis in einem Ausgaberegister speichern.


Eingang

HIER: MOV R0, # 01H

MOV # 1, # 02H

MOV A, R0

ADD A, R1

MOV P0, A.

SIMP HIER

Ausgabe

Adresse Opcode Operand

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

Assembler-Code wird verwendet, um effizienten Code in Bezug auf Größe und Geschwindigkeit zu entwickeln. Das Entwickeln von größerem Code in Assemblersprache wird schwierig, was zu höheren Softwareentwicklungskosten führen kann und die Code-Portabilität fehlt. Um diesen Nachteil zu überwinden, verwenden wir daher eine Hochsprache wie z eingebettet C. .

Informationen zu C, C ++, Java und Embedded C.

C Programmierung

C-Sprache ist eine strukturorientierte Sprache, die von Dennis Ritchie entwickelt wurde. Es bietet mit dem einfachen Compiler weniger Speicherzugriff und liefert die Daten effizient gemäß den Maschinenanweisungen. Sie sind in weiten Bereichen von eingebetteten Systemen bis hin zu Supercomputern anwendbar.

Eingebettet C.

Embedded C ist eine Erweiterung der C-Sprache, die zur Entwicklung eines eingebetteten Systems verwendet wird. Die Syntax ähnelt der Sprache C (wie die Hauptfunktion, Funktionsdeklaration, Datentypdeklaration, Schleifen usw.). Der Hauptunterschied zwischen eingebetteter C- und Standard-C-Sprache besteht in der Eingabe-Ausgabe-Adressierung von Hardware, Festkommaoperationen und der Verarbeitung von Adressräumen.

Die Verwendung von C im eingebetteten System aufgrund der folgenden Vorteile

  • Es ist klein und einfach, das Programm zu lernen, zu verstehen und zu debuggen.
  • Alle C-Compiler sind mit allen eingebetteten Geräten kompatibel
  • Es ist ein prozessorunabhängiger (dh es ist nicht spezifisch für einen bestimmten Mikroprozessor oder Mikrocontroller).
  • Die Sprache C verwendet die Kombination aus Assemblersprache und Funktionen der Hochsprache
  • Es ist ziemlich effizient, zuverlässiger, flexibler und portabler zwischen verschiedenen Plattformen.
  • Die in C entwickelten Programme sind einfacher zu verstehen, zu debuggen und zu warten.

Im Vergleich zu anderen Hochsprachen bietet C mehr Flexibilität, da es eine relativ kleine strukturorientierte Sprache ist und bitweise Niedrigpegelsprache unterstützt Datenmanipulationen .

C ++

Eine objektorientierte Sprache wie C ++ ist nicht optional für die Entwicklung eines effizienten Programms in Umgebungen mit eingeschränkten Forschungsbedingungen wie eingebetteten Geräten. Virtuelle Funktionen und Ausnahmebehandlung von C ++ sind einige spezifische Funktionen, die hinsichtlich Speicherplatz und Geschwindigkeit des Systems nicht effizient sind.

JAVA

Ein eingebettetes System kann in JAVA-Sprache mithilfe einer virtuellen JAVA-Maschine (JVM) programmiert werden, die auf viele Ressourcen zugreift. Es wird hauptsächlich in High-End-Anwendungen (wie Mobiltelefonen) verwendet und bietet systemübergreifende Portabilität für die Verarbeitung der Anwendungen. Es ist nicht bevorzugt für kleinere eingebettete Geräte.

Embedded C-Programmierarchitektur und Beispiel

Die Embedded C-Programmierarchitektur kann anhand eines Anwendungsbeispiels verstanden werden 8051 Mikrocontroller , wo seine Funktion darin besteht, die LED-Lampe zu blinken, die an PORT1 der Steuerung angeschlossen ist, und der verwendete Compiler ist Keil C Compiler. Das Folgende ist der Code für die LED blinken.

#include // Direktive des Vorprozessors
Void delay (int) // Deklaration der Verzögerungsfunktion
Void main (void) // Hauptfunktion
{
P1 = 0x00 // Port1 ist aus, daher ist die LED aus und wird in reg51.h gespeichert
while (1) // Schleife der Unendlichkeit
{
P1 = OxFF //// Port1 leuchtet, also leuchtet die LED
delay (1000) // Verzögerung zuweisen
P1 = 0X00 // Port1 aus
Verzögerung (1000)
}}
}}
Leere Verzögerung (int d) // Zuweisen der Verzögerungsfunktion
{
unsigned int i = 0 // lokal zugewiesene Variablen
für (d> 0 d-)
{
für (i = 250 i> 0i–)
für (i = 248 i> 0i–)
}}
}}

Vorteile

Im Folgenden sind die Vorteile von Embedded Software aufgeführt

  • Das Laden von Daten ist schneller
  • Die Kosten sind niedrig
  • Verbraucht weniger Ressourcen.

Nachteile

Das Folgende sind die Nachteile von eingebetteter Software

  • Ein Upgrade ist komplex
  • Jedes Mal, wenn Probleme auftreten, ist ein Zurücksetzen erforderlich
  • Die Skalierbarkeit für kleine Werte ist schwierig.

Anwendungen

Im Folgenden sind die Anwendungen von Embedded Software aufgeführt

  • Bankwesen
  • Automobile
  • Haushaltsgeräte
  • Wagen
  • Raketen usw.

FAQs

1). Was ist eine eingebettete Software?

Eine eingebettete Software oder eine eingebettete Systemprogrammierung ist eine Computersoftware, die zur Steuerung von Geräten durch Bereitstellung von Anweisungen verwendet wird.

2). Welche Programme werden in der Embedded-Systemsoftware verwendet?

Die eingebetteten Systemsoftwareprogramme sind in C- oder C ++ -, Phyton- und Java-Skripten programmiert.

3). Was ist der Unterschied zwischen eingebetteten Systemen und dem normalen System?

Ein eingebettetes System ist eine Kombination aus Hardware und Software, die für einen bestimmten Zweck entwickelt wurde. Die Prozesse werden nacheinander verarbeitet. Während ein normaler Prozessor das Echtzeitbetriebssystem eines RTO ist, ist er erforderlich, wenn eine parallele Ausführung erforderlich ist.

4). Was sind die verschiedenen Arten von eingebetteten Systemen?

Die eingebetteten Systeme werden in zwei Kategorien eingeteilt

  • Basierend auf den Leistungs- und Funktionsanforderungen werden sie weiter als eigenständig, vernetzt und mobil in Echtzeit klassifiziert.
  • Basierend auf der Leistung des Mikrocontrollers werden sie weiter in kleine, mittlere und hoch entwickelte Maßstäbe unterteilt

5). Hauptanwendungen des eingebetteten Systems

Die Hauptanwendungen eines eingebetteten Systems sind

  • Waschmaschine
  • Digitalkameras
  • Musik-Player usw.

Ein eingebettetes System ist eine Kombination aus Hardware und Software. Bei dem die eingebettete Softwareprogramme sind in C- oder C ++ -, Phyton- und Java-Skripten programmiert. Sie laufen unter Linux OS, Micro C / OS, QNX usw. Die Sprache C bildet die Grundsprache für das Schreiben eingebetteter Software-Codes. Dies ist also eine Übersicht über eine eingebettete Software und ihre Architektur, die mit einem Programm erklärt wird.