Wat is ingebedde systeemprogrammering en de talen

Probeer Ons Instrument Voor Het Oplossen Van Problemen





Een systeem is een opstelling van meerdere eenheden, die aan elkaar zijn gemonteerd om te functioneren volgens de gegeven instructies. Een embedded systeem is een combinatie van zowel hardware als software, die een bepaalde taak binnen de opgegeven periode uitvoert (wat betekent dat het slechts één specifieke taak, zoals een wasmachine, zou moeten uitvoeren). Het belangrijkste voordeel van het gebruik van een ingebed systeem in een applicatie is dat het de omvang en de kosten kan minimaliseren en ook de betrouwbaarheid en efficiëntie van de taak verbetert. Dit artikel geeft een overzicht van embedded software talen, embedded systeem programmeren , en hun functies.

Componenten van embedded systemen

De volgende zijn de componenten van embedded systemen




  • Ingebouwde hardware: Microcontroller is het hart van het embedded systeem, waar meerdere randapparatuur is gekoppeld aan embedded hardware voor communicatiedoeleinden.
  • Embedded RTO's: Een embedded real-time besturingssysteem wordt gebruikt om alle complexe (ar bewerkingen.
  • Apparaatstuurprogramma's: Het fungeert als een brug tussen de besturingssystemen en randapparatuur.
  • Communicatie stapels: Het wordt gebruikt voor communicatie met externe apparaten.
  • Embedded applicaties: Het voert de vooraf gedefinieerde functie van het ingebedde apparaat uit.
Ingebouwde systeemcomponenten

Ingebouwde systeemcomponenten

Ingebouwde software

Ingebouwde software of ingebedde systeemprogrammering is computersoftware die wordt gebruikt om apparaten te besturen door middel van een reeks instructies. Het wordt ook wel genoemd firmware, verschillende apparaten met verschillende functionaliteiten kunnen worden geprogrammeerd met behulp van embedded software, door ontwerpbeperkingen te handhaven (zoals reactietijdbeperkingen, strikte deadlines en verwerkte gegevens) en de uiteindelijke gegevens op te slaan in geheugen (Ram / Rom).



Software wordt bestuurd of geïnitieerd door een machine-interface. De embedded software is ingebouwd in alle elektronica zoals auto's, telefoons, robots, beveiligingssystemen , enz. die eenvoudig op een 8-bit kan worden uitgevoerd microcontroller gebruik van geheugen tot enkele KB. Het helpt bij het verwerken van complexe bewerkingen en bepaalt het nauwkeurige berekeningskader.

Embedded systeem programmeertalen

Embedded software maakt gebruik van een besturingssysteem, een real-time besturingssysteem dat meerdere taken tegelijk uitvoert. De embedded programma's worden geprogrammeerd met in C / C ++ , Phyton en Java Scripts-talen en worden verwerkt op besturingssystemen zoals Linux OSVxWorks , Fusion RTOS, Nucleus RTOS, micro C / OS, OSE, etc. Selectie van programmeertaal speelt een cruciale rol bij het ontwikkelen van embedded software, die is gebaseerd op bepaalde factoren, zoals hieronder getoond,

  • Grootte : De hoeveelheid geheugen die een programma nodig heeft, speelt een belangrijke rol, aangezien embedded processors (microcontrollers) een specifieke hoeveelheid ROM (Read Only Memory) hebben op basis van de toepassing ervan.
  • Snelheid : De snelheid waarmee het programma wordt uitgevoerd, moet hoog zijn
  • Draagbaarheid: Met één programma kunnen verschillende processors worden gecompileerd.
  • Implementatie is moeilijk
  • Onderhoud is moeilijk.

Programmering van een ingebed systeem in assembleertaal

Programmering van een embedded systeem in assembleertaal (input) en converteren naar de taal op machineniveau (output) met behulp van een assembler kan worden uitgelegd aan de hand van het volgende voorbeeld, waar we de optelling van twee numerieke waarden uitvoeren met behulp van twee afzonderlijke registers en het resultaat opslaan in een uitvoerregister.


Invoer

HIER: MOV R0, # 01H

MOV # 1, # 02H

MOV A, R0

VOEG A, R1 toe

MOV P0, A

SIMP HIER

Uitvoer

Adres Opcode Operand

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

Assembly-code wordt gebruikt voor het ontwikkelen van efficiënte code in termen van grootte en snelheid. Het ontwikkelen van grotere code in assembleertaal wordt moeilijk, wat kan leiden tot hogere softwareontwikkelingskosten en de overdraagbaarheid van de code ontbreekt. Om dit nadeel te overwinnen gebruiken we daarom taal op hoog niveau, zoals ingebed C

Over C, C ++, Java en Embedded C

C Programmeren

C-taal is een structuurgerichte taal, ontwikkeld door Dennis Ritchie. Het biedt minder geheugentoegang met behulp van de eenvoudige compiler en levert de gegevens efficiënt volgens machine-instructies. Ze zijn breed toepasbaar, van embedded systemen tot supercomputers.

Ingebed C

Embedded C is een uitbreiding van de C-taal, die wordt gebruikt voor het ontwikkelen van een embedded systeem. De syntaxis is vergelijkbaar met de C-taal (zoals de hoofdfunctie, functieverklaring, gegevenstypenverklaring, lussen, enz.). Het belangrijkste verschil tussen embedded C en standaard C-taal zijn invoer-uitvoeradressering van hardware, vaste-puntbewerkingen en verwerkingsadresruimten.

Het gebruik van C in het embedded systeem vanwege de volgende voordelen

  • Het is klein en gemakkelijk om het programma te leren, te begrijpen en te debuggen.
  • Alle C-compilers zijn compatibel met alle embedded apparaten
  • Het is een processor-onafhankelijk (dat wil zeggen, het is niet specifiek voor een bepaalde microprocessor of microcontroller).
  • C-taal maakt gebruik van de combinatie van assembleertaal en kenmerken van de taal op hoog niveau
  • Het is redelijk efficiënt, betrouwbaarder, flexibeler, draagbaarder tussen verschillende platforms.
  • De in C ontwikkelde programma's zijn gemakkelijker te begrijpen, te debuggen en te onderhouden.

Vergelijk met andere taal op hoog niveau C biedt meer flexibiliteit omdat het een relatief kleine structuurgeoriënteerde taal is en bitsgewijs op laag niveau ondersteunt gegevensmanipulaties

C ++

Objectgeoriënteerde taal zoals C ++ is niet optioneel voor het ontwikkelen van een efficiënt programma in omgevingen met onderzoeksbeperkingen, zoals embedded devices. Virtuele functies en het afhandelen van uitzonderingen van C ++ zijn enkele specifieke functies die niet efficiënt zijn in termen van ruimte en snelheid van het systeem.

JAVA

Een ingebed systeem kan in JAVA-taal worden geprogrammeerd, met behulp van JAVA virtual machine (JVM) die toegang heeft tot veel bronnen. Het wordt voornamelijk gebruikt in geavanceerde applicaties (zoals mobiele telefoons) en biedt portabiliteit tussen systemen om de applicaties te verwerken. Het heeft niet de voorkeur voor kleinere embedded apparaten.

Embedded C-programmeerarchitectuur en voorbeeld

Embedded C-programmeerarchitectuur kan worden begrepen met een voorbeeld van gebruik 8051 microcontrollers , waar het de functie heeft om de LED-lamp te laten knipperen die is aangesloten op PORT1 van de controller en de gebruikte compiler is Keil C Compiler. Het volgende is de code voor de LED knipperen.

#include // richtlijn van pre-processor
Ongeldige vertraging (int) // verklaring van vertragingsfunctie
Void main (void) // Hoofdfunctie

P1 = 0x00 // poort1 is uit, dus LED is uit en opgeslagen in reg51.h
while (1) // lus van oneindigheid

P1 = OxFF //// poort1 is aan, dus LED is aan
delay (1000) // vertraging toewijzen
P1 = 0X00 // poort1 uit
vertraging (1000)


Ongeldige vertraging (int d) // toewijzen van vertragingsfunctie

unsigned int i = 0 // variabelen lokaal toegewezen
voor (d> 0 d-)

voor (i = 250 i> 0i–)
voor (i = 248 i> 0i–)

Voordelen

Hieronder volgen de voordelen van Embedded Software

  • Het laden van gegevens gaat sneller
  • De kosten zijn laag
  • Gebruikt minder middelen.

Nadelen

Hieronder volgen de nadelen van Embedded Software

  • Upgraden is complex
  • Elke keer opnieuw instellen is nodig als er zich problemen voordoen
  • Schaalbaarheid voor kleine waarden is moeilijk.

Toepassingen

Hieronder volgen de toepassingen van Embedded Software

  • Bankieren
  • Auto's
  • Huishoudelijke apparaten
  • Auto
  • Raketten, enz.

Veelgestelde vragen

1). Wat is een embedded software?

Een embedded software of embedded systeemprogrammering is computersoftware die wordt gebruikt om apparaten te besturen door middel van instructies.

2). Welke programma's worden gebruikt in Embedded systeemsoftware?

De embedded systeemsoftwareprogramma's zijn geprogrammeerd in C of C ++, Phyton en Java Scripts.

3). Wat is het verschil tussen embedded systemen en het normale systeem?

Een embedded systeem is een combinatie van hardware en software waarbij het is ontworpen voor een specifiek doel. De processen worden opeenvolgend verwerkt. Terwijl een normale processor het realtime besturingssysteem van een RTO is, is deze vereist waar parallelle uitvoering nodig is.

4). Wat zijn de verschillende soorten embedded systemen?

De embedded systemen zijn onderverdeeld in twee categorieën

  • Op basis van prestatie- en functionele vereisten worden ze verder geclassificeerd als realtime, stand-alone, genetwerkt, mobiel.
  • Op basis van de prestaties van de microcontroller worden ze verder geclassificeerd als kleinschalig, middelgroot en verfijnd

5). Belangrijke toepassingen van embedded systeem

De belangrijkste toepassingen van een embedded systeem zijn

  • Wasmachine
  • Digitale fototoestellen
  • Muziekspeler, etc.

Een embedded systeem is een combinatie van hardware en software. Waar de ingebedde softwareprogramma's zijn geprogrammeerd in C of C ++, Phyton en Javascripts. Ze draaien op Linux OS, micro C / OS, QNX, enz. C-taal vormt de basistaal voor het schrijven van embedded softwarecodes. Dit is dus een overzicht van een Embedded Software en zijn architectuur uitgelegd met behulp van een programma.