Què és la programació de sistemes incrustats i els seus llenguatges

Proveu El Nostre Instrument Per Eliminar Problemes





Un sistema és una disposició de múltiples unitats, reunides per funcionar segons les instruccions donades. Un sistema incrustat és una combinació tant de maquinari com de programari, que realitza una tasca particular dins del període especificat (el que significa que només hauria de realitzar una tasca específica com una rentadora). El principal avantatge d'utilitzar un sistema incrustat en una aplicació és que pot minimitzar la mida i el cost i també millora la fiabilitat i l'eficiència de la tasca. Aquest article fa una descripció general sobre els llenguatges de programari incrustat, el sistema incrustat programació , i les seves funcions.

Components de sistemes incrustats

A continuació es detallen els components dels sistemes incrustats




  • Maquinari incrustat: El microcontrolador és el cor del sistema incrustat, on diversos perifèrics s’interfacen amb el maquinari incrustat amb finalitats de comunicació.
  • RTO incrustats: Un sistema operatiu incrustat en temps real s’utilitza per realitzar totes les operacions complexes (ar.
  • Controladors de dispositiu: Actua com a pont entre els sistemes operatius i els dispositius perifèrics.
  • Piles de comunicació: S'utilitza per comunicar-se amb dispositius externs.
  • Aplicacions incrustades: Realitza la funció predefinida del dispositiu incrustat.
Components del sistema incrustat

Components del sistema incrustat

Programari incrustat

Un programari incrustat o programació de sistemes incrustats és un programari informàtic que s’utilitza per controlar els dispositius proporcionant un conjunt d’instruccions. També es diu com firmware, es poden programar diversos dispositius amb diverses funcionalitats mitjançant programari incrustat, mantenint restriccions de disseny (com restriccions de temps de resposta, terminis estrictes i dades processades) i emmagatzemant les dades finals a memòria (Ram / Rom).



El programari està controlat o iniciat per una interfície de màquina. El programari incrustat està integrat en tots els aparells electrònics, com ara automòbils, telèfons, robots, sistemes de seguretat , etc, que és senzill d'executar en un dispositiu de 8 bits microcontrolador utilitzant memòria de fins a uns quants KB. Ajuda a processar operacions complexes i determina el marc de càlcul precís.

Llenguatges de programació del sistema incrustat

El programari incrustat utilitza un sistema operatiu, que és un sistema operatiu en temps real que realitza diverses tasques alhora. Els programes incrustats es programen mitjançant C / C ++ , Phyton i Java Scripts i es processen en sistemes operatius com Sistema operatiu Linux , VxWorks , Fusion RTOS, Nucleus RTOS, micro C / OS, OSE, etc. La selecció del llenguatge de programació juga un paper vital en el desenvolupament de programari incrustat, que es basa en certs factors com es mostra a continuació,

  • Mida : La quantitat de memòria necessària per a un programa té un paper important, ja que els processadors incrustats (microcontroladors) tenen una quantitat específica de ROM (memòria de només lectura) en funció de la seva aplicació.
  • Velocitat : La velocitat d'execució del programa ha de ser ràpida
  • Portabilitat: Es poden compilar diferents processadors mitjançant un programa.
  • La implementació és difícil
  • El manteniment és difícil.

Programació d’un sistema incrustat en llenguatge ensamblador

Programació d 'un sistema incrustat a llenguatge assemblador (entrada) i la conversió al fitxer llenguatge a nivell de màquina (sortida) mitjançant un assemblador es pot explicar amb l'exemple següent, en el qual realitzem l'addició de dos números mitjançant dos registres esperats i emmagatzemem el resultat en un registre de sortida.


Entrada

AQUÍ: MOV R0, # 01H

MOV # 1, # 02H

MOV A, R0

AFEGEIX A, R1

MOV P0, A

SIMP AQUÍ

Sortida

Operand Adreça Opcode

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

El codi de muntatge s’utilitza per desenvolupar un codi eficient en termes de mida i velocitat. El desenvolupament de codi més gran en llenguatge ensamblador es fa difícil, cosa que pot comportar un cost més elevat del desenvolupament de programari i la portabilitat del codi és absent. Per tant, per superar aquest desavantatge utilitzem un llenguatge d'alt nivell com ara incrustat C .

Quant a C, C ++, Java i Embedded C

Programació C

El llenguatge C és un llenguatge orientat a l'estructura, desenvolupat per Dennis Ritchie. Proporciona menys accés a la memòria mitjançant el compilador senzill i proporciona les dades de manera eficient segons les instruccions de la màquina. Són aplicables en amplis rangs, des de sistemes incrustats fins a superordinadors.

C incrustat

Embedded C és una extensió del llenguatge C que s’utilitza per desenvolupar un sistema incrustat. La sintaxi és similar al llenguatge C (com la funció principal, declaració de funcions, declaració de tipus de dades, bucles, etc.). La principal diferència entre el llenguatge C incrustat i el llenguatge C estàndard són l'adreça d'entrada-sortida de maquinari, operacions de punt fix i processament d'espais d'adreces.

L'ús de C al sistema incrustat a causa dels següents avantatges

  • És petit i fàcil d'aprendre, entendre i depurar el programa.
  • Tots els compiladors C són compatibles amb tots els dispositius incrustats
  • És un processador independent (és a dir, no és específic per a un microprocessador o microcontrolador concret).
  • El llenguatge C utilitza la combinació del llenguatge ensamblador i les característiques del llenguatge d’alt nivell
  • És bastant eficient, més fiable, més flexible, més portàtil entre diferents plataformes.
  • Els programes desenvolupats en C són més fàcils d’entendre, depurar i mantenir.

La comparació amb un llenguatge d’alt nivell C ofereix més flexibilitat perquè és un llenguatge orientat a l’estructura relativament petit i admet a nivell de bits a nivell de bits manipulacions de dades .

C ++

El llenguatge orientat a objectes com C ++ no és opcional per desenvolupar un programa eficient en entorns de restricció de recerca com els dispositius incrustats. Les funcions virtuals i el maneig d’excepcions de C ++ són algunes característiques específiques que no són eficients en termes d’espai i velocitat del sistema.

JAVA

Es pot programar un sistema incrustat en llenguatge JAVA mitjançant una màquina virtual JAVA (JVM) que accedeix a molts recursos. Principalment troba ús en aplicacions de gamma alta (com ara els telèfons mòbils) i ofereix portabilitat entre sistemes per processar les aplicacions. No és preferible per a dispositius incrustats més petits.

Arquitectura i exemple de programació incrustada C

L'arquitectura de programació C incrustada es pot entendre amb un exemple d'ús 8051 microcontroladors , on la seva funció és parpellejar la bombeta LED connectada a PORT1 del controlador i el compilador utilitzat és el compilador Keil C. El següent és el codi del fitxer LED parpellejar.

#include // directiva del pre-processador
Retard buit (int) // funció de declaració de retard
Void main (void) // Funció principal
{
P1 = 0x00 // el port1 està apagat, de manera que el LED està apagat i s’emmagatzema a reg51.h
while (1) // bucle d’infinit
{
P1 = OxFF //// port1 està encès, de manera que el LED està encès
delay (1000) // assignació de delay
P1 = 0X00 // port1 desactivat
retard (1000)
}
}
Void delay (int d) // assignació de la funció de delay
{
unsigned int i = 0 // variables assignades localment
per a (d> 0 d-)
{
per a (i = 250 i> 0i–)
per a (i = 248 i> 0i–)
}
}

Avantatges

A continuació es detallen els avantatges del programari incrustat

  • La càrrega de dades és més ràpida
  • El cost és baix
  • Utilitza menys recursos.

Desavantatges

Els següents són els desavantatges del programari incrustat

  • L’actualització és complexa
  • Cada vegada que cal reiniciar-lo si es produeix algun problema
  • L’escalabilitat per a valors petits és difícil.

Aplicacions

Les següents són les aplicacions del programari incrustat

  • Banca
  • Automòbils
  • Electrodomèstics
  • Cotxe
  • Míssils, etc.

Preguntes freqüents

1). Què és un programari incrustat?

Un programari incrustat o programació de sistemes incrustats és un programari informàtic que s’utilitza per controlar dispositius proporcionant instruccions.

2). Quins són els programes que s'utilitzen al programari del sistema incrustat?

Els programes de programari del sistema incrustat estan programats en scripts C o C ++, Phyton i Java.

3). Quina diferència hi ha entre els sistemes incrustats i el sistema normal?

Un sistema incrustat és una combinació de maquinari i programari on està dissenyat per a un propòsit específic. Els processos es processen seqüencialment. Tot i que un processador normal és un sistema operatiu en temps real d’un RTO, es requereix quan cal una execució paral·lela.

4). Quins són els diferents tipus de sistemes incrustats?

Els sistemes incrustats es classifiquen en dues categories

  • Segons els requisits funcionals i de rendiment, es classifiquen a més en temps real, autònoms, en xarxa i mòbils.
  • En funció del rendiment del microcontrolador, es classifiquen a més a petita, mitjana i sofisticada escala

5). Principals aplicacions del sistema incrustat

Les principals aplicacions d’un sistema incrustat són

  • Rentadora
  • Càmeres digitals
  • Reproductor de música, etc.

Un sistema incrustat és una combinació de maquinari i programari. Ón el programes de programari incrustats estan programats en scripts C o C ++, Phyton i Java. Funcionen amb sistemes operatius Linux, micro C / OS, QNX, etc. El llenguatge C constitueix el llenguatge bàsic per escriure codis de programari incrustats. Per tant, es tracta d'una visió general d'un programari incrustat i de la seva arquitectura explicada mitjançant un programa.