Ce este programarea sistemului încorporat și limbajele sale

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





Un sistem este un aranjament de mai multe unități, asamblate împreună pentru a funcționa conform instrucțiunilor date. Un sistem încorporat este o combinație atât de hardware, cât și de software, care efectuează o anumită sarcină în perioada specificată (ceea ce înseamnă că ar trebui să efectueze o singură sarcină specifică, cum ar fi o mașină de spălat). Principalul avantaj al utilizării unui sistem încorporat într-o aplicație este că poate minimiza dimensiunea și costul și, de asemenea, îmbunătățește fiabilitatea și eficiența sarcinii. Acest articol prezintă prezentări despre limbile software încorporate, sistemul încorporat programare , și funcțiile lor.

Componentele sistemelor încorporate

Următoarele sunt componentele sistemelor încorporate




  • Hardware încorporat: Microcontrolerul este inima sistemului încorporat, unde mai multe periferice sunt interfațate cu hardware încorporat în scopul comunicării.
  • RTO-uri încorporate: Un sistem de operare încorporat în timp real este utilizat pentru a efectua toate operațiunile complexe (ar.
  • Drivere de dispozitiv: Acționează ca o punte între sistemele de operare și dispozitivele periferice.
  • Stive de comunicare: Este utilizat pentru comunicarea cu dispozitive externe.
  • Aplicații încorporate: Acesta îndeplinește funcția predefinită a dispozitivului încorporat.
Componente de sistem încorporate

Componente de sistem încorporate

Software încorporat

Un software încorporat sau o programare încorporată a sistemului este un software de calculator, care este utilizat pentru a controla dispozitivele prin furnizarea unui set de instrucțiuni. Este, de asemenea, numit ca firmware, diverse dispozitive cu diverse funcționalități pot fi programate folosind software încorporat, prin menținerea constrângerilor de proiectare (cum ar fi constrângerile de timp de răspuns, termenele stricte și datele procesate) și stocarea datelor finale în memorie (Ram / Rom).



Software-ul este controlat sau inițiat de o interfață de mașină. Software-ul încorporat este integrat în toate componentele electronice, cum ar fi mașinile, telefoanele, roboții, sisteme de securitate , etc, care este simplu de rulat pe un 8-bit microcontroler folosind memorie de până la câțiva KB. Ajută la procesarea operațiunilor complexe și determină cadrul de calcul precis.

Limbaje de programare a sistemului încorporat

Software-ul încorporat folosește un sistem de operare, care este un sistem de operare în timp real care efectuează mai multe sarcini la un moment dat. Programele încorporate sunt programate folosind in C / C ++ , Limbile Phyton și Java Scripts și sunt procesate pe sisteme de operare precum Sistem de operare Linux , VxWorks , Fusion RTOS, Nucleus RTOS, micro C / OS, OSE etc. Selectarea limbajului de programare joacă un rol vital în dezvoltarea de software încorporat, care se bazează pe anumiți factori, așa cum se arată mai jos,

  • mărimea : Cantitatea de memorie necesară unui program joacă un rol important, întrucât procesoarele încorporate (microcontrolere) au o cantitate specifică de ROM (citire numai memorie) pe baza aplicației sale.
  • Viteză : Viteza de execuție a programului trebuie să fie rapidă
  • Portabilitate: Diferite procesoare pot fi compilate folosind un singur program.
  • Implementarea este dificilă
  • Întreținerea este dificilă.

Programarea unui sistem încorporat în limbaj de asamblare

Programarea unui sistem încorporat în limbaj de asamblare (intrare) și convertirea în limbaj la nivel de mașină (ieșirea) folosind un asamblator poate fi explicată folosind următorul exemplu, în care efectuăm adăugarea a două numere folosind două registre sperate și stocăm rezultatul într-un registru de ieșire.


Intrare

AICI: MOV R0, # 01H

MOV # 1, # 02H

MOV A, R0

ADĂUGAȚI A, R1

MOV P0, A

SIMP AICI

Ieșire

Operand Adresă Opcode

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

Codul de asamblare este utilizat pentru dezvoltarea unui cod eficient în ceea ce privește dimensiunea și viteza. Dezvoltarea unui cod mai mare în limbajul de asamblare devine dificil, ceea ce poate duce la costuri mai mari de dezvoltare software, iar portabilitatea codului este absentă. Prin urmare, pentru a depăși acest dezavantaj, folosim un limbaj la nivel înalt, cum ar fi încorporat C .

Despre C, C ++, Java și Embedded C

Programare C

Limbajul C este un limbaj orientat spre structură, dezvoltat de Dennis Ritchie. Oferă mai puțin acces la memorie utilizând compilatorul simplu și furnizează datele în mod eficient conform instrucțiunilor mașinii. Acestea sunt aplicabile în game largi de la sisteme încorporate la supercomputere.

Încorporat C

Embedded C este o extensie a limbajului C, care este utilizat pentru dezvoltarea unui sistem încorporat. Sintaxa este similară cu limbajul C (cum ar fi funcția principală, declarația de funcții, declarația tipurilor de date, bucle etc.). Principala diferență între limbajul C încorporat și limbajul C standard sunt adresarea de intrare-ieșire a hardware-ului, operațiile cu punct fix și spațiile de adrese de procesare.

Utilizarea C în sistemul încorporat datorită următoarelor avantaje

  • Este mic și ușor de învățat, înțeles și depanat programul.
  • Toate compilatoarele C sunt compatibile cu toate dispozitivele încorporate
  • Este un procesor independent (adică nu este specific unui anumit microprocesor sau microcontroler).
  • Limbajul C folosește combinația limbajului de asamblare și caracteristicile limbajului de nivel înalt
  • Este destul de eficient, mai fiabil, mai flexibil, mai portabil între diferite platforme.
  • Programele dezvoltate în C sunt mai ușor de înțeles, depanat și întreținut.

Compararea cu alte limbaje de nivel înalt C oferă mai multă flexibilitate, deoarece este un limbaj relativ mic orientat către structură și acceptă niveluri de biți la nivel scăzut manipulări de date .

C ++

Limbajul orientat obiect ca C ++ nu este opțional pentru dezvoltarea unui program eficient în medii de constrângere de cercetare, cum ar fi dispozitivele încorporate. Funcțiile virtuale și gestionarea excepțiilor C ++ sunt câteva caracteristici specifice care nu sunt eficiente în ceea ce privește spațiul și viteza sistemului.

JAVA

Un sistem încorporat poate fi programat în limbajul JAVA, folosind mașina virtuală JAVA (JVM) care accesează o mulțime de resurse. Găsește în primul rând utilizarea în aplicații de ultimă generație (cum ar fi telefoanele mobile) și oferă portabilitate între sisteme pentru procesarea aplicațiilor. Nu este preferat pentru dispozitivele încorporate mai mici.

Arhitectură și exemplu de programare încorporată C

Arhitectura de programare C încorporată poate fi înțeleasă cu un exemplu de utilizare 8051 microcontrolere , unde funcția sa este de a clipi becul LED care este conectat la PORT1 al controlerului și compilatorul utilizat este Keil C Compiler. Următorul este codul pentru LED clipi.

#include // directiva pre-procesorului
Întârziere nulă (int) // declarația funcției de întârziere
Void main (nul) // Funcția principală
{
P1 = 0x00 // portul este oprit, astfel încât LED-ul este oprit și stocat în reg51.h
while (1) // bucla infinitului
{
P1 = OxFF //// port1 este aprins, astfel încât LED-ul este aprins
întârziere (1000) // atribuire întârziere
P1 = 0X00 // port1 dezactivat
întârziere (1000)
}
}
Void delay (int d) // atribuirea funcției de întârziere
{
unsigned int i = 0 // variabile atribuite local
pentru (d> 0 d-)
{
pentru (i = 250 i> 0i–)
pentru (i = 248 i> 0i–)
}
}

Avantaje

Următoarele sunt avantajele software-ului încorporat

  • Încărcarea datelor este mai rapidă
  • Costul este mic
  • Utilizează mai puține resurse.

Dezavantaje

Următoarele sunt dezavantajele software-ului încorporat

  • Modernizarea este complexă
  • De fiecare dată când resetarea este necesară dacă apar probleme
  • Scalabilitatea pentru valori mici este dificilă.

Aplicații

Următoarele sunt aplicațiile software-ului încorporat

  • Bancar
  • Automobile
  • Electrocasnice
  • Mașină
  • Rachete etc.

Întrebări frecvente

1). Ce este un software încorporat?

Un software încorporat sau o programare a sistemului încorporat este un software de calculator, care este utilizat pentru a controla dispozitivele prin furnizarea de instrucțiuni.

2). Care sunt programele utilizate în software-ul de sistem încorporat?

Programele software ale sistemului încorporat sunt programate în C sau C ++, Phyton și Java Scripts.

3). Care este diferența dintre sistemele încorporate și sistemul normal?

Un sistem încorporat este o combinație de hardware și software în care este proiectat pentru un scop specific. Procesele sunt procesate secvențial. În timp ce un procesor normal este un sistem de operare în timp real al unui RTO, este necesar acolo unde este nevoie de execuție paralelă.

4). Care sunt diferitele tipuri de sisteme încorporate?

Sistemele încorporate sunt clasificate în două categorii

  • Pe baza cerințelor funcționale și de performanță, acestea sunt clasificate în continuare ca fiind în timp real, autonome, în rețea, mobile.
  • Pe baza performanțelor microcontrolerului, acestea sunt clasificate în continuare la scară mică, la scară medie și la scară sofisticată

5). Aplicații majore ale sistemului încorporat

Aplicațiile majore ale unui sistem încorporat sunt

  • Mașină de spălat
  • Camere digitale
  • Player muzical etc.

Un sistem încorporat este o combinație de hardware și software. Unde programe software încorporate sunt programate în C sau C ++, Phyton și Java Scripts. Acestea rulează pe sistem de operare Linux, micro C / OS, QNX etc. Limbajul C formează limbajul de bază pentru scrierea codurilor software încorporate. Astfel, aceasta este o imagine de ansamblu asupra unui software încorporat și a arhitecturii sale explicate folosind un program.