AvrSide jest uproszczonym środowiskiem ułatwiającym wykorzystanie windowsowej wersji bezpłatnego kompilatora avr-gcc dla tworzenia własnych oprogramowań mikrokontrolerów AVR. Samo AvrSide jest również bezpłatne, dostępne na warunkach GPL ( patrz rozdział 'Licencja' ) razem ze źródłami. Należy jednak pamiętać, że legalne stosowanie AvrSide bez ograniczeń wymaga skompilowania projektu przy pomocy komercyjnej wersji Delphi ( taki plik wynikowy jest instalowany przez setup ). Kompilacja z użyciem bezpłatnych wersji PE jest również możliwa ale w licencji PE Borland zastrzega jednoznacznie tylko i wyłącznie niekomercyjne wykorzystanie wyjściowego produktu.

  Gdy zaczynałem zapoznawać się z rodziną AVR i avr-gcc najbardziej popularnym rozwiązaniem była dystrybucja AvrFreaks zintegrowana z AVR Studio 3.5.Gdy jednak wypróbowałem ten zestaw stwierdziłem,że jest on mało przyjazny dla - zwłaszcza początkującego - użytkownika. Wtedy zapadła decyzja o dopisaniu własnej nakładki ułatwiającej uczenie się avr-gcc. Z założenia nie miała to być bardzo rozbudowana ( czyli pracochłonna ) aplikacja graficzna wzorowana na uVision ale stosunkowo proste narzędzie ukierunkowane przede wszystkim na łatwość i szybkość kompilacji kolejnych wersji testowych projektów z ustawionymi rozmaitymi opcjami, wygodną lokalizację błędów, porównanie generowanego kodu assemblerowego itp. ( opis podstawowej struktury programu został zamieszczony w EP 1/2003 ). Kolejne rozszerzenia i opcje są dopisywane w miarę potrzeb ( i oczywiście możliwości ).

  Obecnie sytuacja znacznie się zmieniła. Avr Studio we współczesnej wersji 4.09/4.10 nie umożliwia uruchamiania zewnętrznych kompilatorów C. Jednocześnie jednak pojawiło się wiele innych możliwości ( komercyjny VMLab, shareware'owy AtmanAVR, czeskie MicroIDE, AvrEdit, polecany przez Erica Weddingtona Programmers Notepad 2, być może da się także skonfigurować bezpłatny Dev-C++). AvrSide jest więc tylko jedną z wielu możliwych alternatyw. Jednak pracuje mi się z nim na tyle wygodnie, że jest wciąż rozwijane i używane.

Główne właściwości środowiska :

  AvrSide posługuje się jednym podstawowym i kilkoma pomocniczymi okienkami:   Najnowsza wersja została znacznie zmodernizowana. Użyłem Delphi 7 oraz nowszego pakietu SynEdit. Wprowadziłem też wykorzystanie stylów XP. Wiąże się to niestety z koniecznością pracy z komercyjną wersją Delphi ( minimum Pro ). Nowe wersje nie zostały więc włączone do dotychczasowego setupu - plik wykonywalny exe oraz źródła można pobrać oddzielnie.

  AvrSide jest z założenia nastawione na pracę przede wszystkim z klawiaturą. Nie wyposażyłem go w żadne typowe narzędziowe paski z przyciskami. W zamian mamy do dyspozycji szeroką gamę skrótów klawiaturowych, które pozwalają szybko i bez odrywania ręki wykonać większość typowych operacji :

Nawigacja w projekcie

 F5 / ALT + <-   Przejście do poprzedniej strony edytora 
 F6 / ALT + ->   Przejście do następnej strony edytora 
 CTRL + G   Przełączenie przynależności do grupy 
 CTRL + F5 / ALT + SHIFT + <-   Przejście do poprzedniej strony w grupie 
 CTRL + F6 / ALT + SHIFT + ->   Przejście do następnej strony w grupie 
 SHIFT + F6   Przełączenie pomiędzy plikiem źródłowym a nagłówkowym 
 CTRL + . / CTRL + PRAWY KLIK   Otworzenie menu kontekstowego projektu 
 F3   Otworzenie / zmiana pliku na stronie 
 CTRL + S   Zapisanie pliku 
 CTRL + F2   Zapisanie pliku pod nową nazwą 
 CTRL + F4   Zamknięcie pliku na stronie 
 CTRL + TAB   Wyświetlenie okna managera plików 
 CTRL + SHIFT + P  Przełączenie pomiędzy parą projektów

Edycja

 CTRL + SHIFT + N   Wybranie normalnego trybu zaznaczania 
 CTRL + SHIFT + L   Wybranie trybu zaznaczania wierszami 
 CTRL + SHIFT + C   Wybranie trybu zaznaczania kolumnami 
 CTRL + Y   Usunięcie bieżącego wiersza 
 CTRL + SHIFT + Y   Usunięcie do końca bieżącego wiersza 
 CTRL + SHIFT + B   Wyszukanie odpowiadającego nawiasu 
 CTRL + SHIFT + I   Wcięcie zaznaczonego bloku 
 CTRL + SHIFT + U   Cofnięcie wcięcia zaznaczonego bloku 
 CTRL + Z / ALT + BACKSPACE   Cofnij zmiany 
 CTRL + SHIFT + Z  Przywróć cofnięte zmiany
 CTRL + F   Wyszukanie na aktywnej stronie edytora 
 CTRL + R   Wyszukanie i zamiana na aktywnej stronie 
 CTRL + ALT + F   Wyszukanie w obrębie projektu 
 CTRL + ALT + R   Wyszukanie i zamiana w obrębie projektu 
 CTRL + ALT + H   Lista poprzednich wyszukiwań 
 SHIFT + F1   Wyszukanie w projekcie słowa pod kursorem tekstowym 
 CTRL + INSERT   Skopiowanie zaznaczonego fragmentu do schowka 
 SHIFT + DEL   Wycięcie zaznaczonego fragmentu do schowka 
 SHIFT + INSERT   Wstawienie fragmentu ze schowka 
 CTRL + SHIFT + INSERT   Skopiowanie bieżącego wiersza do dodatkowego bufora 
 CTRL + ALT + INSERT   Wstawienie wiersza z dodatkowego bufora 
 PODWÓJNY LEWY KLIK   Zaznaczenie pojedyńczego słowa 
 CTRL + , / PRAWY KLIK   Otworzenie menu kontekstowego edytora 
 CTRL + UP/DOWN ARROW   Przewijanie tekstu na bieżącej stronie 
 CTRL + <-/->   Przemieszczanie się pomiędzy całymi słowami 

Wspomaganie kodowania

 F4   Wyświetlenie okna listy błędów 
 F7   Wyświetlenie podglądu assemblera dla pliku relokowalnego 
 CTRL + F7   Wyświetlenie podglądu assemblera dla całego projektu 
 LEWY KLIK   Przeskok do odpowiedniej linii w podglądzie assemblera
 F8   Wyświetlenie okna listy symboli projektu 
 CTRL + K   Dołączenie zaznaczonego słowa do listy słów kluczowych 
 F1   Wyświetlenie deklaracji symbolu 
 CTRL + SHIFT + 0-9   Ustawienie / skasowanie zakładki w tekście 
 CTRL + 0-9   Skok do wskazanej zakładki na bieżącej stronie 
 CTRL + ALT + B   Wyświetlenie wszystkich zakładek w projekcie 
 CTRL + T   Wstawienie do tekstu znacznika TODO 
 CTRL + ALT + T   Wyszukanie w projekcie wszystkich znaczników TODO 
 CTRL + \   Oznaczenie bloku kodu jako komentarz 
 CTRL + SHIFT + \   Usunięcie komentarza z zaznaczonego bloku 
 CTRL + J   Wyświetlenie okienka szablonów kodu 
 CTRL + L   Wyświetlenie okienka funkcji avr-libc 

Kompilacja

 CTRL + F9   Kompilacja pliku z bieżącej strony 
 F9   Make dla całego projektu
 CTRL + SHIFT + F9   Build dla całego projektu 
 F12   Wysłanie kodu do programatora 
 F11  Przełączenie na AvrStudio 4

Make i build są w tym przypadku nazwami umownymi - zgodnymi funkcjonalnie z tradycyjnym znaczeniem ale nie związanymi w żaden sposób z narzędziem "make".