Jste zde

CodeVisionAVR - ANSI C kompilátor

Firma ATMEL vyrábí osmibitové RISC mikrořadiče AVR, jejichž jádro je optimalizováno pro použití překladačů C. Nicméně firma ATMEL sama žádný překladač C neposkytuje, zato poskytuje zdarma AVR studio včetně assembleru.

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

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

 

Oldřich Mrázek
Mrazek@ HW.cz

DOWNLOAD & Odkazy

Hodnocení článku: