Jste zde

Překladače jazyka C pro mikroprocesory řady x51

K vývoji aplikací pro jednočipové mikropočítače lze použít celou řadu programovacích jazyků (jazyk

symbolických instrukcí, C, Pascal, java, Basic, atd.). Dominantní postavení si stále udržuje jazyk symbolických

instrukcí s více než 50 %. Současný trend však stále více směřuje, k použití vyšších programovacích jazyků,

jmenovitě jazyka C.

Pro mnohé vývojáře se však jedná o zásadní problém, který lze nazvat strachem z něčeho nového, složitého a neznámého. Proč přecházet od zavedeného programování v jazyku symbolických instrukcí k něčemu méně efektivnímu? Na tuto otázku a další by měl odpovědět následující text.
 

Pohled na vývoj z hlediska aplikace

Komplexnost současných jednočipových aplikací z oblasti automobilového průmyslu, GSM a dalších oblastí, spolu s narůstajícím tlakem na zpracování aplikací jasně směřují k použití vyšších programovacích jazyků.

Výhody použití vyšších programovacích jazyků při zpracování aplikací :

  • snížení doby vývoje a tím spojených nákladů, 
  • zpřehlednění zdrojových kódů, 
  • dlouhodobou správa a údržbu projektu po garantovanou dobu podpory pro dané zařízení, 
  • důraz na multiplatformnost (jeden zdrojový kód pro různé typy mikroprocesorů), 

Výrobci mikroprocesorů tento trend podporují a stále častěji integrují větší množství paměti RAM a FLASH přímo na čipu. V základním popisu těchto mikroprocesorů je přímo vyzdvihováno použití ve spojitosti s vyššími programovacími jazyky
 

Proč použít jazyk C?

Jazyk C byl od prvopočátku navrhován k systémovému (nízkoúrovňovému) programování. Díky tomu se prosadil všude tam, kde je třeba přímo ovládat libovolný hardware. V jazyku C je napsaná celá řada operačních systému, uživatelských a jednočipových aplikací. Překladače jazyka C existují pro většinu dostupných typů procesorů.

 
Výhody jazyka C
  • jednoduchá přenositelnost zdrojových kódů programu (multiplatformnost), 
  • přehlednost zdrojových kódů programu a celkové zjednodušení při správě složitých projektů, 
  • rychlejší vývoj aplikací (použití standardních knihoven), 
  • nástroje na optimalizaci a validaci výsledného kódu programu, 
  • zavedený programovací jazyk, podporovaný výrobci hardwaru (mikroprocesorů) a softwaru (kompilátorů). 
  • Nevýhody jazyka C
     
  • vyšší cena kvalitního vývojového prostředí, 
  • relativně větší nároky na paměť dat a programu výsledné aplikace, 
  • složitější na osvojení. 

  • Implementace jazyka C u mikroprocesorů řady x51

    Díky neutuchající oblibě mikroprocesorů řady x51 je k dispozici dostatečné množství kompilátorů jazyka C. Základní vlastností jazyka C je, že využívá intenzivně práce se zásobníkem (předávání parametrů, lokální proměnné, návratové adresy funkcí, reetrantní funkce, atd.). To je kamenem úrazu u mikroprocesorů řady x51, která není obdařena vhodným zásobníkovým systémem. Úspěšnost implementace jazyka C u mikroprocesorů řady x51 závisí na tom, jak se daný výrobce kompilátoru vypořádal s tímto nelehkým problémem. V další fázi se pak řeší specifické problémy s implementací jazyka C na 8bitový mikroprocesor řady x51

    • přístup k interním a externím periferiím,
    • správa přerušení,
    • optimální využití omezené instrukční sady,
    • specifické vlastnosti rozdílných paměťových prostorů,
    • podpora různé konfigurace pamětí ROM a RAM,
    • vysoká úroveň optimalizace pro maximální využití kódového prostoru,
    • přepínání registrových bank,
    • podpora různých klonů standardní 8051.


    Počet kompilátorů jazyka C pro mikroprocesory řady x51, které můžeme nalézt na Internetu se hravě vyšplhá k číslu dvacet. Jak se v takovém počtu kompilátorů jednoduše zorientovat a podle čeho vybírat ten správný?

    První věc co by měl každý zájemce udělat, je navštívit internetové stránky daného výrobce. U většiny výrobců lze volně získat ukázkovou verzi jejich produktu k vyzkoušení. 
     

    Tyto volné verze jsou různě limitovány například :

    • velikostí výsledného kódu aplikace,
    • počáteční adresou, na které je aplikace sestavena,
    • časovým omezením doby používání,
    • absencí některých knihoven (např. práce s plovoucí čárkou),
    • dostupnými paměťovými modely,
    • počtem podporovaných klonů mikroprocesorů x51,
    • atd.

    Takto volně získaná verze programu, často plně uspokojí potřeby začátečníka, studenta či amatéra. S dostupnými ač limitovanými nástroji, lze vytvořit spoustu funkčních a zajímavých aplikací. Speciálně vhodných pro základní řadu mikroprocesorů firmy Atmel, velice oblíbených u této skupiny vývojářů.

    V oblasti GNU kompilátorů pro mikroprocesory řady x51 je k dispozici pouze jeden zástupce s názvem SDCC (Small Device C Compiller). Svými vlastnostmi výsledného kódu programu se řadí do střední třídy kompilátorů. Při realizaci složitějších projektů, je však třeba počítat, se zvýšeným úsilím, ze strany vývojáře k dosažení patřičného výsledku. Pokud se hodláte zabývat vývojem aplikací na profesionální úrovni nezbude vám nic než se poohlédnout po komerčním řešením. 


    Autor článku :  Jan Řehák
    Hodnocení článku: