Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial Internet of Things >> Ingebed

Wat is embedded systeemprogrammering en de bijbehorende talen

Een systeem is een opstelling van meerdere eenheden, samengevoegd om te functioneren volgens de gegeven instructies. Een embedded systeem is een combinatie van zowel hardware als software, die een bepaalde taak binnen de gespecificeerde periode uitvoert (wat betekent dat het slechts één specifieke taak zoals een wasmachine mag uitvoeren). Het belangrijkste voordeel van het gebruik van een ingebed systeem in een toepassing 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 softwaretalen, embedded systeemprogrammering en hun functies.


Componenten van ingebedde systemen

Dit zijn de componenten van embedded systemen

  • Geïntegreerde hardware: De microcontroller is het hart van het embedded systeem, waar meerdere randapparatuur is gekoppeld aan embedded hardware voor communicatiedoeleinden.
  • Ingesloten RTO's: Een ingebed real-time besturingssysteem wordt gebruikt om alle complexe (ar-bewerkingen.
  • . uit te voeren).
  • Apparaatstuurprogramma's: Het fungeert als een brug tussen de besturingssystemen en randapparatuur.
  • Communicatiestapels: Het wordt gebruikt voor communicatie met externe apparaten.
  • Ingesloten applicaties: Het vervult de vooraf gedefinieerde functie van het ingebouwde apparaat.
Ingesloten systeem Componenten

Ingesloten software

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

Software wordt bestuurd of gestart door een machine-interface. De embedded software is ingebouwd in alle elektronica zoals auto's, telefoons, robots, beveiligingssystemen, enz. die eenvoudig te draaien is op een 8-bits microcontroller met een geheugen tot een paar KB. Het helpt bij het verwerken van complexe bewerkingen en bepaalt het nauwkeurige berekeningskader.

Geïntegreerde systeemprogrammeertalen

Geïntegreerde software gebruikt een besturingssysteem, een realtime besturingssysteem dat meerdere taken tegelijk uitvoert. De embedded programma's zijn geprogrammeerd in C/C++, Phyton en Java Scripts talen en worden verwerkt op besturingssystemen zoals Linux OS, VxWorks, Fusion RTOS, Nucleus RTOS, micro C/OS, OSE, etc. Selectie van programmeertaal speelt een cruciale rol bij de ontwikkeling van embedded software, die gebaseerd is op bepaalde factoren, zoals hieronder weergegeven,

  • 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.
  • Snelheid :De uitvoeringssnelheid van het programma moet snel zijn
  • Draagbaarheid: Met één programma kunnen verschillende processors worden gecompileerd.
  • Implementatie is moeilijk
  • Onderhoud is moeilijk.

Programmeren van een ingebed systeem in assembler

Het programmeren van een embedded systeem in assembler (input) en het converteren naar de taal op machineniveau (output) met behulp van een assembler kan worden uitgelegd aan de hand van het volgende voorbeeld, waar we uitvoeren de toevoeging van twee cijfers met behulp van twee afzonderlijke registers en sla het resultaat op in een uitvoerregister.

Invoer

HIER:MOV R0,#01H

MOV #1,#02H

MOV A,R0

ADD A,R1

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

Assemblagecode 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 is afwezig. Daarom gebruiken we om dit nadeel te overwinnen taal op hoog niveau, zoals embedded C.

Over C, C++, Java en Embedded C

C Programmeren

C-taal is een structuurgeoriënteerde 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 toepasbaar in een breed scala van embedded systemen tot supercomputers.

Ingesloten 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, functiedeclaratie, gegevenstypedeclaratie, lussen, enz.). Het belangrijkste verschil tussen embedded C en standaard C-taal zijn invoer-uitvoeradressering van hardware, vaste-puntbewerkingen en verwerking van adresruimten.

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 processoronafhankelijk (dat wil zeggen, het is niet specifiek voor een bepaalde microprocessor of microcontroller).
  • C-taal gebruikt de combinatie van assembleertaal en functies van de taal op hoog niveau
  • Het is redelijk efficiënt, betrouwbaarder, flexibeler en beter overdraagbaar tussen verschillende platforms.
  • De programma's die in C zijn ontwikkeld, zijn gemakkelijker te begrijpen, te debuggen en te onderhouden.

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

C++

Objectgeoriënteerde taal zoals C++ is niet optioneel voor het ontwikkelen van een efficiënt programma in omgevingen met onderzoeksbeperkingen, zoals embedded apparaten. 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 embedded systeem kan worden geprogrammeerd in JAVA-taal, 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 overdraagbaarheid tussen systemen om de applicaties te verwerken. Het heeft niet de voorkeur voor kleinere embedded apparaten.

Geïntegreerde C-programmeerarchitectuur en voorbeeld

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

#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)                       // oneindige lus
{
P1 =OxFF; //// poort1 is aan dus LED is aan
delay(1000); // vertraging toewijzen
P1 =0X00; // port1 off
delay(1000);
}
}
Ongeldige vertraging (int d)  // vertragingsfunctie toewijzen
{
unsigned int i =0; // variabelen lokaal toegewezen
for (; d>0; d-)
{
for (i=250; i>0;i–);
for (i=248; i>0;i–);
}
}

Voordelen

Dit zijn de voordelen van Embedded Software

  • Het laden van gegevens gaat sneller
  • Kosten zijn laag
  • Gebruikt minder bronnen.

Nadelen

Dit zijn de nadelen van Embedded Software

  • Upgraden is ingewikkeld
  • Elke keer dat resetten nodig is als er problemen optreden
  • Schaalbaarheid voor kleine waarden is moeilijk.

Toepassingen

Hier volgen de toepassingen van Embedded Software

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

FAQ's

1). Wat is embedded software?

Embedded software of embedded systeemprogrammering is computersoftware die wordt gebruikt om apparaten te besturen door instructies te geven.

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

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

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

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

4). Wat zijn de verschillende soorten Embedded-systemen?

De Embedded-systemen zijn ingedeeld 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 ingedeeld in kleinschalige, middelgrote en geavanceerde schaal

5). Belangrijkste toepassingen van embedded systeem

De belangrijkste toepassingen van een embedded systeem zijn

  • Wasmachine
  • Digitale camera's
  • Muziekspeler, enz.

Een embedded systeem is een combinatie van hardware en software. In embedded systemen worden verschillende programmeertalen gebruikt voor verschillende doeleinden, zoals het aansturen van de prestaties van machines of computers. Op dit moment heeft de programmeur van een computer verschillende opties om deze talen te selecteren, maar er zijn verschillende verschillen tussen programmeertalen. Waar de embedded softwareprogramma's zijn geprogrammeerd in C of C++, Phyton en Java Scripts. 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 Embedded Software en zijn architectuur uitgelegd met behulp van een programma.


Ingebed

  1. 10 coolste programmeertalen voor de cloud
  2. Wat is Control Unit:Components &Its Design
  3. Wat is codering:werken, talen en zijn uitdagingen
  4. Wat is foutopsporing:typen en technieken in ingebedde systemen
  5. Wat is een onderbreking:typen en zijn toepassingen
  6. Wat is een besturingssysteem en zijn componenten
  7. Wat is een virtuele machine – Typen en voordelen
  8. Ingebedde systemen en systeemintegratie
  9. Wat is Kevlar? Een korte handleiding
  10. Wat is een ventilatiesysteem?
  11. Wat is het Amerikaanse productiesysteem?