|
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/[zasłonięte]/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
AT90S[zasłonięte]/2343
AT90S[zasłonięte]/4433
AT90S[zasłonięte]/8515
AT90S[zasłonięte]/8535
AT90CAN32/64/128
AT90PWM2/3 (B) /216/316
AT90USB1286/1287/646/647/162
ATmega603/103
ATmega64/128
ATmega1280/[zasłonięte]/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
|