Obsługiwane systemy
|
Windows 98SE, Me, NT 4.0, 2000, XP, Vista 32bit i Vista 64bit, Windows 7 32bit i 64bit
|
Język programowania
|
Zgodny z ANSI C
|
Możliwości edytora
|
Podkreślanie składni dla C oraz assemblera, funkcje paramtryczne, uzupełnianie stuktur/unii
|
Obsługiwane typy danych
|
bit, bool, char, int, short, long, float
|
Operacje zmiennoprzecinkowe
|
Szybka bibloteka współpracująca z rozszerzeniami sprzętowymi procesorów ATmega
|
Rozszerzenia AVR
|
-
- dostęp do obszarów EEPROM & FLASH
-
- dostęp bitowy do rejestrów I/O
-
- obsługa przerwań
-
- możliwość używania zmiennych typu bit w obszarze GPIOR dostępny w nowych procesorach (ATtiny2313, ATmega48/88/168, ATmega165/169/325/3250/329/3290/645/6450/649/6490, ATmega1280/1281/2560/2561/640, ATmega406)
|
Optymalizacja kodu
|
-
- kolokacyjny optymalizator
-
- zaawansowany alokator typu zmienna -> rejestr, pozwalający na efektywne wykorzystanie architektury AVR
-
- kompresor kodu - algorytm polegający na optymalizacji (usuwaniu) powtarzającego się kodu poprzez tworzenie podprogramów
-
- eliminacja podprogramów
-
- optymalizacja pętli
-
- optymalizacja odgałęzień
-
- optymalizacja skoków do podprogramów
-
- optymalizacja pod względem "cross jumping"
-
- optymalizacja obliczeń wartości zmiennych
-
- optymalizacja zmiennych znakowych
-
- optymalizacja zapisywania i kopiowania
-
- usuwanie martwego kodu
-
- 4 modele pamięci: TINY, SMALL, MEDIUM, LARGE - by adresowania układów odbywało się z użyciem jak najmniejszej liczy zasobów i niezauważalnie dla programisty
-
- wybór typu optymalizacji pod względem wielkości kodu lub prędkości działania programu
|
Generator kodu dla
|
-
- dostępu do pamięci zewnętrznej
-
- wykrywania źródeł resetu
-
- inicjalizacji portów I/O
-
- inicjalizacji przerwań
-
- inicjalizacji liczników, timerów
-
- inicjalizacji watchdog
-
- transmisji szeregowej UART: 7N2, 7E1, 7O1, 8N1, 8N2, 8E1, 8O1
-
- inicjalizacji komparatorów
-
- inicjalizacji przetwornika ADC
-
- inicjalizacji SPI
-
- inicjalizacji CAN
-
- inicjalizacji 2wire
-
- inicjalizacji po I2C: LM75, DS1621, PCF8563, PCF8583, DS1302, DS1307
-
- inicjalizacji po1wire: DS1820, DS1822
-
- inicjalizacji modułów LCD
-
- kontrolera USB: AT90USB646, AT90USB647, AT90USB1286 i AT90USB1287
|
Inne zalety
|
-
- możliwość umieszczania kodu .asm
-
- bardzo efektywne wykorzystanie RAM - stałe zmienne znakowe zapisywane są w pamięci FLASH i nie są kopiowane do pamięci RAM jak w innych kompilatorach
-
- debugowania pozwalajace na śledzenie zmiennych, struktur, unii, portów I/O
-
- pełna kompatybilność z układowymi emulatorami: AVR JTAG-ICE, AVR DRAGON itp.
-
- wbudowany monitor portu szeregowego dla transmisji RS232, RS422, RS485
|
Obsługiwane układy |
- ATtiny10 (reduced core)
ATtiny13, ATtiny13A ATtiny22 ATtiny2313 ATtiny24, ATtiny44, ATtiny84 ATtiny25, ATtiny45, ATtiny85 ATtiny26, ATtiny46, ATtiny86, ATtiny166 ATtiny261, ATtiny461, ATtiny861 ATtiny48, ATtiny88 AT90S2313 AT90S2323, AT90S2343 AT90S2333, AT90S4433 AT90S4414, AT90S8515 AT90S4434, AT90S8535 AT90S8534 AT90CAN32, AT90CAN64, AT90CAN128 AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B, AT90PWM216, AT90PWM316 AT90USB1286, AT90USB1287, AT90USB646, AT90USB647, AT90USB162, AT90USB82 ATmega103 ATmega128, ATmega1280, ATmega1281, ATmega1284P ATmega1284P ATmega161 ATmega162 ATmega163 ATmega164, ATmega164P ATmega165 ATmega169 ATmega16U4, ATmega32U4 ATmega2560, ATmega2561 ATmega32 ATmega323 ATmega324, ATmega324P ATmega325, ATmega325P, ATmega3250, ATmega3250P ATmega329, ATmega329P, ATmega3290, ATmega3290P ATmega406 ATmega48, ATmega48P, ATmega88, ATmega88P, ATmega168, ATmega168P, ATmega328P ATmega603 ATmega64 ATmega640 ATmega644, ATmega644P ATmega645, ATmega6450 ATmega649, ATmega6490 ATmega8, ATmega16 ATmega8515 ATmega8535 ATxmega128A1, ATxmega192A1, ATxmega256A1, ATxmega64A1 ATxmega128A3, ATxmega192A3, ATxmega256A3, ATxmega64A3 ATxmega16A4, ATxmega32A4, ATxmega64A4, ATxmega128A4 FPSLIC AT94K05, AT94K10, AT94K20, AT94K40 AT43USB355 AT76C711 AT86RF401 ATA6285, ATA6286, ATA6289
|
Wbudowana biblioteki |
-
- wyświetlaczy LCD do 4x40 znaków
-
- Philips I2C
-
- czujników temperatury Nationa Semicondutor LM75
-
- termostatów/ termometrów Maxim/Dallas Semiconductor DS1621
-
- zegarów czasu rzeczywistego Philips PCF8563, PCF8583
-
- zegarów czasu rzeczywistego Maxim/Dallas Semiconductor DS1302, DS1307
-
- protokołu 1 Wire Maxim/Dallas Semiconductor
-
- sensorów temperatury 1 Wire Maxim/Dallas Semiconductor DS1820, DS18B20, DS1822
-
- pamięcu 1 Wire EEPROM Maxim/Dallas Semiconductor DS2430, DS2433
-
- SPI
-
- zarządzania zasilaniem
-
- opóźnień
-
- konwersji kodów BCD, Gray
|
Obsługiwane programatory oraz układy przez wbudowane oprogramowanie |
-
- Atmel STK500, STK501, STK502, STK600, AVRISP (serial), AVRISP MkII (USB), AVR Dragon, JTAGICE MkII, Atmel AVR910 , Kanda Systems STK200+ i STK300 , Vogel Elektronic VTEC-ISP, Dontronics DT006, Tietomyrsky EXB2313, 4Ahead AVR Board 1 i Futurlec JR-AVR AT90S2313 i AT90S8535
-
- Obsługiwane układy w trybie automatycznym: ATtiny10 ATtiny13, ATtiny13A ATtiny22 ATtiny2313 ATtiny24/44/84 ATtiny25/45/85 ATtiny26/46/86/166 ATtiny261/461/861 ATtiny48/88 AT90S2313 AT90S2323/2343 AT90S2333/4433 AT90S4414/8515 AT90S4434/8535 AT90CAN32/64/128 AT90PWM2/3 (B) /216/316 AT90USB1286/1287/646/647/162 ATmega603/103 ATmega64/128 ATmega1280/1281/1284P ATmega161 ATmega162 ATmega163 ATmega164, ATmega164P ATmega165 ATmega169 ATmega16U4, ATmega32U4 ATmega2560/2561 ATmega32 ATmega323 ATmega324, ATmega324P ATmega325/325P/3250/3250P ATmega329/329P/3290/3290P ATmega48/88/168, ATmega48P/88P/168P/328P ATmega640 ATmega644, ATmega644P ATmega645/6450 ATmega8/16 ATmega8515 ATmega8535 ATxmega128A1, ATxmega192A1, ATxmega256A1, ATxmega64A1 ATxmega128A3, ATxmega192A3, ATxmega256A3, ATxmega64A3 ATxmega16A4, ATxmega32A4, ATxmega64A4, ATxmega128A4 AT86RF401 ATA6286, ATA6285, ATA6289
|