C vs. vložené C
Vývoj vestavěných programů je dnes rychle rostoucí oblastí. Existuje neustálá potřeba psát vestavěné aplikace pomocí vysokoúrovňových programovacích jazyků (jako je C) hlavně ze dvou důvodů. Za prvé, složitost vestavěných aplikací se zvyšuje a je velmi obtížné spravovat aplikace pomocí jazyků nízké úrovně, jako je jazyk assembler. Za druhé, protože nové modely procesorů jsou vydávány velmi často, je potřeba neustále aktualizovat/přizpůsobovat vaše vestavěné programy na novější instrukční sady. Funkce opětovného použití přítomná v jazycích jako C by mohla poskytnout řešení obou těchto problémů.
Embedded C je krokem k přizpůsobení programovacího jazyka C pro psaní efektivních vestavěných aplikací. Embedded C je rozšíření programovacího jazyka C, které umožňuje programátorům využívat všechny užitečné funkce programovacího jazyka na vysoké úrovni a zároveň mít možnost přímo komunikovat s cílovými vestavěnými procesory pro zvýšení výkonu. V průběhu let mnoho nezávislých programátorů C přidalo rozšíření pro podporu přístupu k základnímu I/O hardwaru. Embedded C je snaha spojit tyto postupy a poskytnout jedinou jednotnou syntaxi.
Co je C?
C je univerzální programovací jazyk na vysoké úrovni vyvinutý Dennisem Ritchiem v 70. letech 20. století. Je určen především pro vývoj systémového softwaru. Velmi často se však používá také pro vývoj aplikačního softwaru. Programovací jazyk C je tak populární mezi všemi programátory, že kompilátory C existují pro téměř všechny počítačové architektury. C ovlivnil mnoho dalších počítačových programovacích jazyků, jako je C++ a Java. Ve skutečnosti byl C++ spuštěn jako rozšíření jazyka C a spolu s Javou obsahuje syntaxi velmi podobnou C.
Co je Embedded C?
Embedded C je rozšíření programovacího jazyka C, které poskytuje podporu pro vývoj efektivních programů pro vestavěná zařízení. Není součástí jazyka C. Vyvinula jej pracovní skupina ISO nazvaná „Rozšíření pro programovací jazyk C pro podporu vestavěných procesorů“a je popsána v Technické zprávě o vestavěném C (TR 18037), která byla zveřejněna v únoru 2004. Cílem vývoje vestavěného C je poskytnout zvýšení výkonu pro funkce používané pro DSP (Digital Signal Processing) a vestavěné zpracování. Snaží se umožnit přenosný a efektivní vývoj aplikací v oblasti vestavěných systémů tím, že poskytuje přímý přístup k funkcím v cílovém procesoru.
Jaký je rozdíl mezi C a Embedded C?
C je široce používaný obecný programovací jazyk na vysoké úrovni určený především pro systémové programování. Embedded C je rozšíření programovacího jazyka C, které poskytuje podporu pro vývoj efektivních programů pro vestavěná zařízení. Embedded C není součástí jazyka C. C je obvykle pro programování na ploše, zatímco Embedded C je vhodnější pro embedded programování. Na rozdíl od C umožňuje Embedded C programátorům přímo hovořit s cílovým procesorem, a proto poskytuje lepší výkon ve srovnání s C. C vytváří spustitelné soubory závislé na operačním systému, zatímco Embedded C cerizuje soubory, které se obvykle stahují přímo do mikrokontrolérů. Na rozdíl od C má Embedded C pevné typy bodů, více oblastí paměti a mapování I/O registrů.