Svet elektronike

ponedeljek
25 september 2017
Text size
  • Increase font size
  • Default font size
  • Decrease font size
Domov Revija Programiranje Kako se pogovarjata C in zbirnik za mikrokontrolerje ARM?

Kako se pogovarjata C in zbirnik za mikrokontrolerje ARM?

E-pošta Natisni

Programsko kodo za mikrokontrolerje lahko pišemo v različnih programskih jezikih. Med njimi je danes še zmeraj dominanten jezik C, vendar se včasih pojavi potreba po programiranju nekaterih delov programske kode v nizkonivojskem zbirniškem jeziku, ki je jezik procesorja oziroma jedra mikrokontrolerja.

Slike niTi deli zbirniške kode ponavadi opravljajo časovno kritične naloge in jih kličemo iz jezika C. V nadaljevanju bomo predstavili komunikacijo med deli programa, napisanimi v jeziku C, in deli v zbirniku za mikrokontrolerje z jedrom ARM Cortex-M. Za prikaz delovanja bomo uporabili razvojno okolje KEIL µVision in prevajalnik istega proizvajalca.

Čeprav je večina programske kode za projekte, ki temeljijo na mikrokontrolerjih, napisana samo v enem od višjih programskih jezikov (npr. v jeziku C), se v praksi večkrat pokaže potreba po vključitvi kode v zbirniku (angl. Assembly Language). Obstaja vrsta orodij za učinkovito zaznavanje programskih odsekov (funkcij), ki za svoje izvajanje potrošijo največ časa. Težava pa je v tem, da prevajalniki nimajo znanja, kako te odseke optimizirati. Da ne bi bili odvisni od iznajdljivosti prevajalnikov, lahko v tem primeru poskušamo te dele programske opreme kar ročno optimalno zapisati v zbirniku. Standardni prevajalniki jezika C tudi ne uporabljajo določenih ukazov, ki jih podpira procesor Cortex-M (npr. ROR – ROtate Right in RRX – Rotate Right eXtended). Pri pisanju gonilnikov in zagonske kode za mikrokontrolerje ima zbirnik še posebno pomembno vlogo, saj omogoča neposredni dostop do strojne opreme. Velja pa tudi, da programerji, vešči pisanja programske kode v zbirniku, pišejo optimalnejšo kodo v jeziku C [3].

Slike niZa razvoj programov smo uporabili programsko razvojno okolje Keil µVision z nameščenima prevajalnikoma za C in zbirnik istega proizvajalca. Toku izvajanja programa smo sledili z vgrajenim razhroščevalnikom. Za testiranje delovanja smo uporabili razvojno ploščo STM32L4 Discovery proizvajalca ST Microelectronics, na kateri je nameščen mikrokontroler STM32L476VG z jedrom ARM-Cortex-M4. Lahko bi uporabili tudi mikrokontroler kateregakoli drugega proizvajalca z vgrajenim jedrom ARM-Cortex-M.

 Celotni članek

Program

Kako se pogovarjata C in zbirnik za mikrokontrolerje ARM?

2017_SE252_47

Zadnjič posodobljeno ( Sreda, 26 April 2017 12:05 )  
JoomlaWatch 1.2.12 - Joomla Monitor and Live Stats by Matej Koval

PayPal naročnina

Svet elektronike zdaj z več vsebine (Arduino, ARM, Raspberry PI, PSoC, PIC, lestvično programiranje, radioamaterstvo...)

 

Če želite kupiti celoletno Naročnino na tiskano revijo Svet elektronike z vključenim 10% popustom po ceni samo 44,95 Evrov kliknite spodnji gumb (velja za pravne osebe!)

 

Če želite kupiti celoletno Naročnino na tiskano revijo Svet elektronike z vključenim 20% popustom po ceni samo 39,95 Evrov kliknite spodnji gumb (velja za fizične osebe!)

 

Če želite kupiti celoletno Spletno naročnino na revijo Svet elektronike po ceni samo 20,33 Evrov kliknite spodnji gumb.

 

Če ste obstoječi naročnik tiskane revije ali avtor članka v reviji Svet elektronike in želite kupiti Spletno naročnino na revijo Svet elektronike s 50% pustom po ceni samo 10,16 Evrov kliknite spodnji gumb.

 

V primerih spletne naročnine boste na Vaš email naslov v enem delovnem dnevu prejeli Uporabniško ime in Geslo za celoletno Spletno naročnino na revijo Svet elektronike


Naša spletna stran uporablja piškotke. Če želite izvedeti več o uporabi piškotkov si preberite našo Politiko o piškotkih.

Sprejmem piškotke s te strani

EU Cookie Directive Plugin Information