Kompilátory jazyka C pro AVR
Existuje sice řada různých C pro ATMEL AVR, nicméně firma ATMEL sama na svém webu či na CD zmiňuje v aplikačních listech jen GNU C (GCC) a dále tři firemní C :
- CodeVisionAVR
- IAR EW-AVR
- ImageCraft - Bližší popis zveřejněn na HW.cz
CodeVisionAVR
CodeVisionAVR je také známý jako CVAVR nebo jednoduše Codevision. Tento kompilátor pochází od Pavla Haiduca z HP Infotech S.R.L. Jedná se o plnohodnotný vývojový systém pro mikroprocesory AtmelAVR, dostupný ve dvou verzích - plná (Standard), která generuje kód pro všechny klasické AVR a ATMega série, a odlehčená (Light) verze, která vytváří kód pouze pro klasickou AVR řadu (čísla součástek začínající AT90S....). K dispozici bude též verze pro součástky bez statické paměti SRAM (TinyAVR a AT90S1200) nazývaná CodeVisionAVR Tiny. Tato verze je ke stažení bezplatně z webu Codevision a je omezená velikostí programu, který je možné kompilovat. Limit velikosti programu však stále ještě dovoluje velmi slušnou práci se systémem. Pro vyzkoušení programu je k dispozici zkušební verze s omezenou velikostí výsledného kódu.
Velká obliba vývojových prostředků CodeVisionAVR je bezesporu dána také jejich nízkou cenou, respektive skvělým poměrem cena/výkon.
Ceny produktů CodeVisionAVR
- CodeVisionAVR Standard - 5000 Kč bez DPH - Objednat v HW Shopu
- CodeVisionAVR Light - 3000 Kč bez DPH - Objednat v HW Shopu
- CodeVisionAVR Tiny - bezplatná, zatím nezveřejněná verze
Bezplatná zkušební verze CodeVisionAVR je stejná s komerční verzí, kromě toho že velikost kompilovaného kódu je omezená a knihovny pro PCF8563, PCF8583, DS1302 a DS1307 RTCS jsou odstraněny.
Základní vlastnosti
- 32bitová aplikace, spustitelná pod Windows 95/98/NT4.0/2000/XP;
- integrované vývojové prostředí a kompilátor jazyka C se snadným použitím;
- editor s automatickým odrážkováním a zvýrazněním syntaxe;
- podpora datových typů
- bit,
- char,
- int,
- short,
- long,
- float;
- podpora specifických rozšíření mikrokontrolérů AVR
- přístup k paměťovým polím EEPROM & FLASH
- přístup k registrům na bitové úrovni
- podpora přerušení;
- rozsáhlé možnosti optimalizace výsledného kódu kompilátoru včetně
- odstranění přebytečného kódu
- optimalizace pro paměťové modely Tiny (8 bit ukazatel pro obvody s pamětí RAM do 256 bytů) a Small (16 bit ukazatel pro obvody s více než 256 byty RAM)
- volby optimalizace výsledného kódu pro rychlost nebo velikost programu;
- možnost vkládání asembleru do zdrojového kódu C;
- ladění aplikace na úrovni zdrojového kódu C s výstupem do formátu COFF umožňující využití I/O terminálu z debugeru Atmel AVR Studia;
- plně slučitelný s emulátory In-Circuit ATMEL ICE200, JTAG-ICE a dalšími;
- vestavěný sériový komunikační terminál RS232, RS422, RS485 pro ladění aplikací;
- vestavěný programátor In-System pro AVR s automatickým programováním po úspěšné kompilaci, kompatibilní s
- ATMEL STK500/STK501/STK502/AVRISP
- Kanda Systems STK200+ a STK300
- Vogel Elektronic VTEC-ISP
- Dontronics DT006
- Tietomyrsky EXB2313
- 4Ahead AVR Board 1
- Futurlec JR-AVR AT90S2313 a AT90S8535
Grafické vývojové prostředí CodeVisionAVR je velmi přívětivé a snadno se používá. Je projektově založené a zahrnuje automatický generátor kódu nazvaný Codewizard AVR, který generuje všechnu nezbytnou inicializaci kódu pro integrované periférie AVR, stejně jako některé vnější periférie, které jsou obsaženy v dodávaných knihovnách.
Funkce vestavěného automatického generátoru kódu CodeWizardAVR
- Nastavení přístupu k vnější paměti
- Inicializace vstupně/výstupních portů (I/O)
- Inicializace externích přerušení
- Inicializace čítačů/časovačů
- Inicializace Watchdog Timeru
- Inicializace a nastavení UART s parametry 7N2, 7E1, 7O1, 8N1, 8N2, 8E1 a 8O1
- Inicializace analogového komparátoru
- Inicializace AD převodníku
- Inicializace SPI rozhraní
- Inicializace I2C Bus, LM75, DS1621, PCF8563, PCF8583, DS1302 a DS1307
- Inicializace 1 Wire Bus a DS1820/DS1822
- Inicializace LCD
Dodávané knihovny
Dodávané knihovny nabízejí podporu pro velký počet obvykle používaných vnitřních i vnějších zařízení, jako jsou LCD displeje, hodiny reálného času (RTC), teplotní snímače, UART, SPI, atd.
- Znakové LCD moduly až 4x40 znaků
- Philips I2C Bus
- Teplotní senzor National Semiconductor LM75
- Teploměry Dallas DS1621
- RTC Philips PCF8563 a PCF8583
- RTC Dallas DS1302 a DS1307
- 1 Wire protokol Dallas
- 1 Wire teplotní čidlo Dallas DS1820/DS1822
- 1 Wire EEPROM Dallas DS2430/DS2433
- SPI
- Power management
- Konverze BCD a Gray kódu
Obvody podporované vestavěným programátorem
Kompilovaný kód může být programován do procesoru s pomocí vestavěného ISP (In System Programming), který lze použít po úspěšném sestavení kódu. K dispozici je také terminálový program dodávaný jako část Codevision. Terminál může posílat a přijímat soubory a také má schopnost zobrazit příjem dat v kódu HEX nebo ASCII a odeslání jednotlivých hexadecimálních hodnot.
Codevision může produkovat objektový kód ve formátu COFF, díky kterému je možné při vývoji aplikace použít plnohodnotný debugger z AVR Studia od Intelu. Výstupem však může být i formát OBJ nebo Intel HEX pro užití s jiným programátorem FLASH a EEPROM.
Ne všechny obvody podporované kompilátorem je možné programovat přímo z ImageCraft. V současné době programátor podpotuje pouze následující obvody :
- AT90S1200
- ATtiny12/15L/22/26
- AT90S2313
- AT90S2323/2343
- AT90S2333/4433
- AT90S4414/8515
- AT90S4434/8535
- ATmega603/103
- ATmega64/128
- ATmega161
- ATmega162
- ATmega163
- ATmega169
- ATmega32
- ATmega323
- ATmega8/16
- ATmega8515
- ATmega8535
- AT86RF401
Technickou podporu zajišťuje sám autor prostřednictvím diskuzního fóra AVRFREAKS, případně i e-mailem.
Kompilátorem podporované obvody
- ATtiny13
- ATtiny22
- ATtiny26
- AT90S2313
- AT90S2323/2343
- AT90S2333/4433
- AT90S4414/8515
- AT90S4434/8535
- AT90S8534
- ATmega603/103
- ATmega64/128
- ATmega161
- ATmega162
- ATmega163
- ATmega169
- ATmega32
- ATmega323
- ATmega8/16
- ATmega8515
- ATmega8535
- FPSLIC AT94K05/10/20/40
- AT43USB355
- AT76C711
- AT86RF401
Závěr
CodeVisionAVR je ideálním vývojovým prostředkem zejména pro programátory, kteří mají rádi vysoký komfort práce a nechtějí přitom ztrácet čas přílišným studiem a nastavováním procesorů. To pochopitelně platí pouze v případě, že příslušný obvod je obsažen v knihovně kompilátoru. CodeVisionAVR si můžete objednat i prostřednictvím našeho HW Shopu.
Light verze má stejné vlastnosti jako verze Standard, pouze nepodporuje obvody ATmega, AT94K FPSLIC a AT43USB355 a obsahuje jen 6 měsíců technické podpory.
Objednat CodeVisionAVR Standard v HW Shopu => 5000 Kč bez DPH
Objednat CodeVisionAVR Light v HW Shopu => 3000 Kč bez DPH
Mrazek@ HW.cz
DOWNLOAD & Odkazy
- Domovská stránka výrobce - http://www.hpinfotech.ro
- Aplikační list AVR pro IAR – Getting Started with C for AVR
- Aplikační list AVR pro Image Craft - Getting Started with Image Craft C for AVR
- Aplikační list AVR pro CodeVision AVR - Getting Started with CodeVision AVR C Compiler
- CodeVisionAVR Evaluation - Bezplatná zkušební verze ke stažení (2,5MB)