Jste zde

Jak by měl vypadat nástroj pro vývoj aplikací v C

Pokud hodláme investovat nemalé peníze do nákupu vývojového prostředí měli-by jsem si uvědomit co

od daného produktu chceme a k čemu ho budeme používat.. Článek porovnává jednotlivé existující C kompilátory na x51

a upozorňuje na přehlížené ale důležité vlastnosti jednotlivých kompilátorů..

Při výběru se je třeba zaměřit na následující body

  • integrované vývojové prostředí (IDE),
  • správa projektu a překlad (inteligentní make),
  • podporované klony x51 (jsou využívány nové instrukce),
  • softwarový debugger (simulace nových periferií u klonů x51),
  • návaznost na další externí programy (CVS, PC-Lint, programovací SW, …),
  • výstupní formát kompilátoru (BIN, Intel-HEX, OMF-51, …),
  • optimalizace kódu aplikace (je možné vytvořit aplikaci > 64 kB),
  • paměťové modely (interní/externí CODE a XRAM),
  • náchylnost k chybám při překladu,
  • podpora standardu ANSI C (do jaké míry, je kompilátor schopen přeložit zdrojový kód v C),
  • rozsah implementovaných standardních funkcí jazyka C,
  • pokračuje výrobce v dalším vývoji kompilátoru, updaty, uživatelská podpora,
  • dostupná dokumentace k danému kompilátoru.


Seznam kompilátorů jazyka C


Podstatné rozdíly mezi kompilátory

Objektivně zhodnotit vlastnosti všech kompilátorů je pomalu nadlidský a časově náročný úkol. Proto bych se pokusil podělit o pár osobních zkušeností, které jsem nabil u kompilátorů co jsem měl možnost vyzkoušet (Keil, SDCC, Franklin, Hi-Tech, Reads51, µC51).

  1. Vždy se podívejte na datum poslední aktualizace daného kompilátoru. Používejte pokud možno poslední verzi programu (SDCC). Je z podivem, že někdo je schopen prodávat kompilátor, který už několik let nevyvíjí (Franklin Software). 
  2. Jaké klony x51 jsou opravdu podporované, nejedná se pouze o základní 8051/52 (SDCC). Je možné zvolit překlad aplikace pro daný typ procesoru, rozšířenou instrukční sadu, … (Keil). 
  3. Napište si triviální aplikaci a tu zkuste přeložit pod vícero překladači. Podívejte se jestli je pro váš procesor k dispozici hlavičkový soubor. V jakém formátu jsou zapisovány hlavičkové soubory, lze použit moje stávající hlavičkové soubory i jinde? 
  4. Jedná se o zavedený kompilátor (Keil, Hi-Tech, …) nebo se někdo snaží vytvořit svoji vlastní variantu C (µC51)? 
  5. Je to plnohodnotné C nebo kompilátor z řady small C (Reads51), který je spíš vhodný na hraní než na praktické aplikace. 
  6. Jak pracuje daný kompilátor se zásobníkem? Nemá kompilátor tendenci obsazovat paměť a neuvolňovat ji (SDCC). 
  7. Je vývojové prostředí opravdu Win32 aplikací, nespouští se náhodou pouze v DOSovém okně (Hi-Tech)? 
  8. Má výrobce zkušenosti i s kompilátory pro jiné typy procesorů než x51? 
  9. Jaký formát ukládání dat používá daný kompilátor big/little endian (Keil/SDCC)? 

Obecně lze říct, že většina kompilátorů nemá problémy, pokud programovaná aplikace vystačí s prostředky dostupnými přímo na čipu (model small). Skutečným testem, kde lze vidět co kompilátor dokáže natropit, je přibližně aplikace kolem 1000 a více řádků zdrojového kódu. Nejlépe kompilovaná v modelu large s externí pamětí XRAM a základními periferiemi.

Bohužel takto složitou aplikaci, jako celek není vůbec jednoduché převést z jednoho kompilátoru do druhého. Obzvláště pokud tak činíme poprvé, kdy je vyžadována nutná dávka entuziasmu. Důvod je prostý. Řada věcí se dá zapsat v jazyku C různými způsoby, ale každý kompilátor si zdrojový kód interpretuje trochu jinak. Pokud tyto zkušenosti vývojář jednou nabude, pak mu nečiní obtíže vyvíjet aplikace pro více typů kompilátorů.

SDCC ač vyvíjené skupinou nadšenců si v porovnání s některými komerčními produkty vede docela obstojně. Chybí spousta vymožeností, které je dána absencí IDE a s tím spojený komfort při vývoji. Rozšířená syntaxe jazyka C používaná u mikroprocesorů řady x51 je u SDCC a Keil C51 shodná. To umožňuje psát programy, které lze jednoduše přeložit v obou kompilátorech.

Keil C51 je odbornou veřejností považován za jeden z nejlepších kompilátorů pro x51. Je to pravda a na celém produktu je vidět několik let intenzivního vývoje, který má za sebou. Pokud vážně uvažujete o nákupu komerčního kompilátoru, tak by jste při výběru neměli opomenout Keil C51.
 
 

Závěr

Vzhledem k popsanému, jsme do našeho RD2 kitu zvolili jako příklady kompilerů právě Keil a SDCC. Pro oba kompilátory najdete na CD ke kitu více než 40 příkladů…
 
 

Download & Odkazy

 

  • SHOP.HW.cz  Kupte si RD2 Kit v našem internetovém obchodu...
 


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