Kurs podstawowy
Integracja Atmel Studio 7.0 z programatorem USBasp

Integracja programatora USBasp ze środowiskiem Atmel Studio 7.0 jest prostym zadaniem i sprowadza się do kilku czynności, które spowodują, że będzie można programować mikrokontroler za pomocą programatora USBasp bezpośrednio z Atmel Studio 7.0. Najważniejszym mankamentem takiego rozwiązania jest brak wsparcia dla USBasp ze strony Atmel Studio 7.0.

Atmel Studio 7.0

 

Aby możliwe było programowanie mikrokontrolerów za pomocą programatora USBasp bezpośrednio z Atmel Studio 7.0 należy posiadać zewnętrzny program kontrolujący pracę programatora, gdyż USBasp nie jest wspierany przez to środowisko. Właśnie z uwagi na brak wsparcia ze strony Atmel Studio 7.0 należy bardzo ostrożnie podchodzić do programowania mikrokontrolerów za pośrednictwem programatora USBasp ze środowiska Atmel Studio. Stanowczo odradzam ustawiania fusebitów, gdyż bardzo łatwo zablokować sobie mikrokontroler. Do tego celu należy używać natywnego dla Atmel Studio programatora. Można użyć programatora AVRISP mkII lub kompatybilnego z nim klona. Jeśli mamy do dyspozycji tylko USBasp lepiej wyposażyć się w dedykowaną nakładkę na program AVRDUDE lub ustawiać fusebity bezpośrednio z konsoli. GUI do avrdude.exe są wygodniejsze w użyciu i jest dość duży wybór darmowych nakładek takich jak BitBurner, AvrDude GUI, AVR-OSP i wiele innych. Ale przechodzimy do rzeczy.

Po uruchomieniu Atmel Studo 7.0 klikamy na menu Tools i wybieramy opcję External tools...

 

Atmel Studio 7.0 Tools

 

Wyświetli się okno dialogowe, w którym musimy uzupełnić kilka pól.

 

Atmel Studio 7.0 Extended tools

 

W polu Title wpisujemy nazwę identyfikującą narzędzie. W tym przypadku najlepszym rozwiązaniem będzie wpisanie nazwy programatora, np. USBasp. W polu Command podajemy lokalizację programu avrdude.exe. W polu Arguments wpisujemy argumenty z jakimi avrdude będzie wywoływany. Tutaj musimy wpisać argumenty uwzględniające mikrokontroler, pamięć, do której będziemy zapisywać dane oraz programator. W tym konkretnym przypadku będzie mikrokontroler ATmega32, którego pamięć flash będzie zapisywana za pomocą programatora USBasp. Biorąc te założenia pod uwagę pole Arguments należy wypełnić następującym zapisem:

-p m32 -c usbasp -P usb -U flash:w:"$(ProjectDir)Debug\$(TargetName).hex":a

 

Gdzie:

-p m32

oznacza, że podłączony do programatora będzie mikrokontroler ATmega32,

-c usbasp

oznacza, że używać będziemy programatora USBasp,

-P usb

oznacza, że programator podłączony będzie do portu USB,

-U flash:w:"$(ProjectDir)Debug\$(TargetName).hex":a

oznacza, że:

flash

operację wykonywać będziemy na pamięci flash mikrokontrolera,

:w

operacją będzie zapis danych,

:"$(ProjectDir)Debug\$(TargetName).hex"

$(ProjectDir)

zmienna środowiskowa Atmel Studio 7.0, w której przechowywana jest ścieżka do katalogu, gdzie zapisane są pliki utworzonego projektu,

Debug\

podkatalog, w którym zapisywane będą pliki wynikowe po kompilacji,

$(TargetName).hex

nazwa pliku wynikowego znajdującego się w katalogu z utworzonym projektem.

:a

oznacza, że format danych będzie automatycznie rozpoznawany.

 

Zaznaczamy pole Use output window. Można zaznaczyć jeszcze pole Prompt for arguments, wtedy wyświetlone zostanie okno dialogowe gdzie będzie można zmienić argumenty wywołania avrdude.exe. Ma to znaczenie, gdy chcemy np. zaprogramować inny rodzaj mikrokontrolera. W przeciwnym przypadku konieczne jest za każdym razem zmieniać argumenty w polu Arguments.

Na koniec klikamy przycisk Apply, a następnie OK.

Pozostaje nam jeszcze konfiguracja menu, by mieć łatwiejszy dostęp do narzędzia.

Klikamy menu Tools i wybieramy opcję Customize.

 

Atmel Studio 7.0 integracja

Wyświetli nam się okienko ustawień menu. Aby dodać nową pozycję klikamy przycisk New...

 

Atmel studio 7.0 integracja

 

Po tym pojawi się okienko, w którym wpisujemy nazwę nowej pozycji. Użyjemy nazwy USBasp aby łatwo móc zidentyfikować nasze narzędzie i klikamy OK.

 

Atmel Studio 7.0 integracja

 

Widzimy, że pojawiła się nasza pozycja. Przechodzimy na zakładkę Commands i zaznaczamy opcję Toolbar.

 

Atmel Studio 7.0 integracja

 

Z pola wyboru wybieramy nazwę USBasp.

 

Atmel Studio 7.0 integracja

 

Klikamy następnie przycisk Add Command...

 

Atmel Studio 7.0 integracja

 

W kolejnym oknie wybieramy po stronie Categories pozycję Tools a po stronie Commands pozycję External Command 1 i klikamy OK.

 

Atmel Studio 7.0 integracja

 

Pod pozycją External Command 1 kryje się nasz programator USBasp który dodawaliśmy wraz wywołaniem programu avrdude.exe. W efekcie powinniśmy mieć wyświetlone okienko w taki sposób. Teraz klikamy Close.

 

Atmel Studio 7.0 integracja

 

Mamy teraz łatwy dostęp do wywołania naszego programatora USBasp z poziomu paska narzędzi.

 

Atmel Studio 7.0 integracja

 

To na tyle, jeśli chodzi o integrację USBasp ze środowiskiem Atmel Studio 7.0. Warto byłoby to przetestować, ale proszę jeszcze o chwilę cierpliwości. W następnym artykule omówię instalację oprogramowania klona AVRISP mkII, który jest bezpośrednio wspierany przez Atmel Studio 7.0.

Autor: Orici
Wyświetleń: 2393|Komentarzy: 0|Ocena: 0|Głosów: 0