Ano ang Embedded System Programming at Mga Wika Nito

Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema





Ang isang sistema ay isang pag-aayos ng maraming mga yunit, pinagsama upang gumana alinsunod sa mga ibinigay na tagubilin. Ang isang naka-embed na system ay isang kumbinasyon ng parehong hardware at software, na nagsasagawa ng isang partikular na gawain sa loob ng tinukoy na tagal ng panahon (na nangangahulugang dapat itong magsagawa lamang ng isang tukoy na gawain tulad ng isang washing machine). Ang pangunahing bentahe ng paggamit ng isang naka-embed na system sa isang application ay maaari itong i-minimize ang laki at ang gastos at nagpapabuti din ng pagiging maaasahan at kahusayan ng gawain. Ang pangkalahatang-ideya ng artikulong ito tungkol sa mga naka-embed na wika ng software, naka-embed na system programa , at ang kanilang mga pagpapaandar.

Mga Bahagi ng Mga naka-embed na Sistema

Ang mga sumusunod ay ang mga bahagi ng mga naka-embed na system




  • Naka-embed na Hardware: Ang Micro-controller ay ang puso ng naka-embed na system, kung saan maraming mga peripheral ang nakakonekta sa naka-embed na hardware para sa layunin ng komunikasyon.
  • Naka-embed na RTO's: Ang isang naka-embed na real-time na operating system ay ginagamit upang maisagawa ang lahat ng mga kumplikadong (mga pagpapatakbo ng ar.
  • Mga Driver ng Device: Gumagawa ito bilang isang tulay sa pagitan ng mga operating system at mga aparatong paligid.
  • Mga stack ng komunikasyon: Ginagamit ito para sa pakikipag-usap sa mga panlabas na aparato.
  • Mga naka-embed na application: Ginagawa nito ang paunang natukoy na pagpapaandar ng naka-embed na aparato.
Mga Component ng naka-embed na System

Mga Component ng naka-embed na System

Naka-embed na Software

Ang isang naka-embed na software o naka-embed na programa ng system ay computer software, na ginagamit upang makontrol ang mga aparato sa pamamagitan ng pagbibigay ng isang hanay ng mga tagubilin. Pinangalanan din ito bilang firmware, iba't ibang mga aparato na may iba't ibang mga pag-andar ay maaaring mai-program gamit ang naka-embed na software, sa pamamagitan ng pagpapanatili ng mga hadlang sa disenyo (tulad ng mga hadlang sa oras ng pagtugon, mahigpit na deadline, at naprosesong data) at pag-iimbak ng huling data sa alaala (Ram / Rom).



Ang software ay kinokontrol o pinasimulan ng isang interface ng makina. Ang naka-embed na software ay naka-built sa lahat ng mga electronics tulad ng mga kotse, telepono, robot, mga sistema ng seguridad , atbp na kung saan ay simpleng upang tumakbo sa isang 8-bit microcontroller gamit ang memorya hanggang sa ilang KB. Nakakatulong ito sa pagproseso ng mga kumplikadong pagpapatakbo at tumutukoy sa tumpak na balangkas ng pagkalkula.

Mga Wika ng Programming na naka-embed

Ang naka-embed na software ay gumagamit ng isang operating system, na isang real-time na operating system na gumaganap ng maraming mga gawain nang paisa-isa. Ang naka-embed na mga programa ay na-program na ginagamit sa C / C ++ , Mga wika ng Phyton, at Java Script at pinoproseso sa mga operating system tulad ng Linux OS , VxWorks , Fusion RTOS, Nucleus RTOS, micro C / OS, OSE, atbp. Ang pagpili ng wika ng programa ay may mahalagang papel sa pagbuo ng naka-embed na software, na batay sa ilang mga kadahilanan tulad ng ipinakita sa ibaba,

  • Sukat : Ang dami ng memorya na kinakailangan ng isang programa ay may mahalagang papel, tulad ng mga naka-embed na processor (microcontrollers) ay may isang tukoy na halaga ng ROM (Basahin ang Memory Lang) batay sa aplikasyon nito.
  • Bilis : Ang bilis ng pagpapatupad ng programa ay dapat na mabilis
  • Kakayahang dalhin: Ang magkakaibang mga processor ay maaaring maiipon gamit ang isang programa.
  • Mahirap ang pagpapatupad
  • Mahirap ang pagpapanatili.

Programming ng isang Embedded System sa Wika ng Assembly

Programming ng isang naka-embed na system sa wika ng pagpupulong (input) at nagko-convert sa wika sa antas ng makina Ang (output) na gumagamit ng isang assembler ay maaaring ipaliwanag gamit ang sumusunod na halimbawa, kung saan isinasagawa namin ang pagdaragdag ng dalawang mga numerong gumagamit ng dalawang sperate registro at iimbak ang resulta sa isang output register.


Input

DITO: MOV R0, # 01H

MOV # 1, # 02H

MOV A, R0

ADD A, R1

MOV P0, A

SIMP DITO

Paglabas

Address Opcode Operand

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

Ang Assembly code ay ginagamit para sa pagbuo ng mahusay na code sa mga tuntunin ng laki at bilis. Ang pagbuo ng mas malaking code sa wika ng pagpupulong ay nagiging mahirap na maaaring humantong sa mas mataas na gastos sa pagbuo ng software at wala ang pagdadala ng code. Samakatuwid upang mapagtagumpayan ang kawalan na ito ay gumagamit kami ng mataas na antas na wika tulad ng naka-embed na C .

Tungkol sa C, C ++, Java at Naka-embed na C

C Programming

Ang wikang C ay isang wikang nakatuon sa istraktura, na binuo ni Dennis Ritchie. Nagbibigay ito ng mas kaunting pag-access sa memorya gamit ang simpleng tagatala at maihahatid ang data nang mahusay ayon sa mga tagubilin sa makina. Nalalapat ang mga ito sa malawak na saklaw mula sa mga naka-embed na system hanggang sa mga supercomputer.

Naka-embed na C

Ang naka-embed na C ay isang extension ng wikang C, na ginagamit para sa pagbuo ng isang naka-embed na system. Ang syntax ay katulad ng C wika (tulad ng pangunahing pagpapaandar, deklarasyon ng mga pagpapaandar, deklarasyon ng mga uri ng data, mga loop, atbp.). Ang pangunahing pagkakaiba sa pagitan ng naka-embed na wika ng C at pamantayan ng C ay ang pag-address sa input-output ng hardware, mga operasyon na nakapirming point, at pagproseso ng mga puwang ng address.

Ang paggamit ng C sa naka-embed na system dahil sa mga sumusunod na kalamangan

  • Maliit at madaling malaman, maunawaan at ma-debug ang programa.
  • Ang lahat ng mga C compiler ay tugma sa lahat ng mga naka-embed na aparato
  • Ito ay isang independiyenteng processor (iyon ay, hindi ito tukoy sa isang partikular na microprocessor o microcontroller).
  • Ang wika ng C ay gumagamit ng kombinasyon ng wika ng pagpupulong at mga tampok ng mataas na antas na wika
  • Ito ay medyo mahusay, mas maaasahan, mas may kakayahang umangkop, mas portable sa pagitan ng iba't ibang mga platform.
  • Ang mga programang binuo sa C ay mas madaling maunawaan, mai-debug at mapanatili.

Paghambingin sa iba pang mataas na antas na wika C ay nag-aalok ng higit na kakayahang umangkop sapagkat ito ay medyo maliit na wika na nakatuon sa istraktura at sumusuporta sa mababang antas na bahagya pagmamanipula ng data .

C ++

Ang wika na nakatuon sa object tulad ng C ++ ay hindi opsyonal para sa pagbuo ng isang mahusay na programa sa mga kapaligiran sa pagpigil sa pananaliksik tulad ng mga naka-embed na aparato. Ang mga virtual function at pagbubukod na paghawak ng C ++ ay ilang mga tukoy na tampok na hindi mahusay sa mga tuntunin ng puwang at bilis ng system.

JAVA

Ang isang naka-embed na system ay maaaring mai-program sa wika ng JAVA, gamit ang JAVA virtual machine (JVM) na ina-access ang maraming mga mapagkukunan. Pangunahin nitong nahahanap ang paggamit sa mga application na high-end (tulad ng mga mobile phone) at nag-aalok ng kakayahang dalhin sa mga system upang maproseso ang mga application. Hindi ito ginustong para sa mas maliit na mga naka-embed na aparato.

Naka-embed na C Programming Architecture at Halimbawa

Ang naka-embed na C programming architecture ay maaaring maunawaan sa isang halimbawa ng paggamit 8051 micro-Controller , kung saan ang pagpapaandar nito ay upang blink ang LED bombilya na konektado sa PORT1 ng controller at ang ginamit na tagatala ay Keil C Compiler. Ang sumusunod ay ang code para sa LED kumurap

#include // direktiba ng pre-processor
Walang bisa ang pagkaantala (int) // pagdeklara ng pagpapaandar na pagkaantala
Void main (void) // Pangunahing pagpapaandar
{
Ang P1 = 0x00 // port1 ay naka-off kaya ang LED ay naka-off at nakaimbak sa reg51.h
habang (1) // loop of infinity
{
Ang P1 = OxFF // // port1 ay nakabukas kaya naka-on ang LED
pagkaantala (1000) // pagtatalaga ng pagkaantala
P1 = 0X00 // naka-off ang port1
antala (1000)
}
}
Walang bisa ang pagkaantala (int d) // pagtatalaga ng pagka-antala
{
unsigned int i = 0 // variable na itinalagang lokal
para sa (d> 0 d-)
{
para sa (i = 250 i> 0i–)
para sa (i = 248 i> 0i–)
}
}

Mga kalamangan

Ang mga sumusunod ay ang mga kalamangan ng Embedded Software

  • Ang paglo-load ng data ay mas mabilis
  • Mababa ang gastos
  • Gumagamit ng mas kaunting mapagkukunan.

Mga Dehado

Ang mga sumusunod ay ang mga kawalan ng naka-embed na Software

  • Ang pag-upgrade ay kumplikado
  • Sa bawat oras na pag-reset ay kinakailangan kung may anumang mga problema na nangyari
  • Ang kakayahang sumukat para sa maliliit na halaga ay mahirap.

Mga Aplikasyon

Ang mga sumusunod ay ang mga aplikasyon ng Embedded Software

  • Pagbabangko
  • Mga sasakyan
  • Mga gamit sa bahay
  • Kotse
  • Mga misil, atbp.

FAQ's

1). Ano ang isang Embedded Software?

Ang isang naka-embed na software o naka-embed na programa ng system ay computer software, na ginagamit upang makontrol ang mga aparato sa pamamagitan ng pagbibigay ng mga tagubilin.

2). Ano ang mga program na ginamit sa Embedded system software?

Ang naka-embed na mga programa ng software ng system ay nai-program sa C o C ++, Phyton, at Java Scripts.

3). Ano ang pagkakaiba sa pagitan ng mga naka-embed na system at ng normal na sistema?

Ang isang naka-embed na system ay isang kumbinasyon ng hardware at software kung saan ito ay dinisenyo para sa isang tiyak na layunin. Ang mga proseso ay naproseso nang sunud-sunod. Samantalang ang isang normal na processor ay isang real-time OS ng RTO, kinakailangan kung saan kailangan ng parallel na pagpapatupad.

4). Ano ang iba't ibang mga uri ng mga naka-embed na system?

Ang mga naka-embed na system ay naiuri sa dalawang kategorya

  • Batay sa mga kinakailangan sa pagganap at pagganap, ang mga ito ay karagdagang naiuri bilang Real-time, stand-alone, networked, mobile.
  • Batay sa pagganap ng microcontroller, ang mga ito ay karagdagang naiuri bilang maliit na sukat, katamtamang sukat, at sopistikadong sukat

5). Pangunahing mga application ng naka-embed na system

Ang mga pangunahing application ng isang naka-embed na system ay

  • Washing machine
  • Mga digital camera
  • Music player, atbp.

Ang isang naka-embed na system ay isang kumbinasyon ng hardware at software. Kung saan ang naka-embed na mga programa ng software ay nai-program sa C o C ++, Phyton, at Java Script. Tumatakbo ang mga ito sa Linux OS, micro C / OS, QNX, atbp. Ang wikang C ay bumubuo ng pangunahing wika para sa pagsusulat ng naka-embed na mga code ng software. Sa gayon ito ay isang pangkalahatang ideya ng isang naka-embed na Software at ipinaliwanag ang arkitektura nito gamit ang isang programa.