Poprzedni temat «» Następny temat
Integracja AVR-GCC i AVR Studio
Autor Wiadomość
Wojtek 



Dołączył: 04 Sie 2002
Posty: 2511
Skąd: --
Wysłany: 2003-12-08, 20:38   Integracja AVR-GCC i AVR Studio

Poniższa instrukcja jest zrobiona na podstawie książki "Mikrokontrolery AVR w praktyce" J. Dolińskiego którą można kupić w www.btc.pl . Sam to wszystko sprawdziłem, przećwiczyłem i działa :) Opis dotyczy AVR-GCC wersja 3.2 i AVR Studio wersja 3.56, które zainstalowane są na komputerze z systemem Win98. Jak przećwiczę dla nowszych wersji to też napiszę :)

Instrukcja:

W celu utworzenia nowego projektu należy wybrać z menu polecenie Project New. Na ekranie zostanie wyświetlone okno, w którym trzeba podać nazwę projektu np. cwicz1, wskazać lokalizację jego plików, a następnie podświetlić opcję Generic 3rd party Compiler. Wymagane jest, aby wszystkie pliki projektu znajdowały się w jednym katalogu. Niech to będzie np. c:\gcc_prog\cwicz1. Taką ścieżkę dostępu należy więc wpisać w polu Location okna pokazanego na rysunku 1.



Po zaakceptowaniu ustawień klawiszem OK wskazane jest zapisanie projektu na dysku, np. przez naciśnięcie trzeciej od lewej strony ikony na pasku narzędziowym. Dołączanie lub tworzenie plików źródłowych przebiega następująco: pliki programu *.c należy umieszczać w folderze Source files, pliki nagłówkowe *.h w folderze Header files, natomiast plik makefile w folderze Other files. Dołączanie plików do odpowiednich folderów można wykonać przez naciśnięcie prawym przyciskiem myszki na wybranym folderze (np. Source files ) wybranie opcji Add File... i wskazanie pliku który ma być dołączony (tak robimy gdy mamy już gotowy plik np. cwicz1.c). Wskazanie dowolnego pliku i dwukrotne kliknięcie spowoduje otwarcie okna edycyjnego, w którym można dokonywać zmian zawartości edytowanego pliku. Jeżeli nie mamy gotowego pliku to po kliknięciu prawym przyciskiem myszki na podświetlonym folderze Source Files wybieramy opcję Create New File. W oknie, które teraz zostanie wyświetlone należy wpisać nazwę z rozszerzeniem pliku źródłowego programu. W naszym przykładzie jest to cwicz1.c. Pole Location pozostaje bez zmian. W otwartym oknie edycyjnym można teraz wprowadzić tekst programu. Zamknięcie okna spowoduje automatyczne zachowanie efektów pracy na dysku. Zakończenie czynności edycyjnych nie spowoduje automatycznego dołączenia pliku do projektu, trzeba to zrobić ręcznie np. przez przeciągnięcie myszką pliku cwicz1.c do folderu Source Files. Do kompilacji programu niezbędny będzie jeszcze plik makefile, pełniący szczególną rolę w projektach AVR-GCC. Przykład takiego pliku jest umieszczany podczas instalacji kompilatora do katalogu c:\avrgcc\avrfreaks. Można go skopiować do naszego katalogu roboczego c:\gcc_prog\cwicz1 i odpowiednio do potrzeb modyfikować. Dwukrotne kliknięcie na nim spowoduje jak zwykle rozpoczęcie edycji. W omawianym przykładzie należy doprowadzić go do postaci:
makefile napisał/a:

# Simple Makefile by Volker Oth (c) 1999
# edited by AVRfreaks.net nov.2001
########### change this lines according to your project ##################
#put the name of the target mcu here (at90s8515, at90s8535, attiny22, atmega603 etc.)
MCU = at90s2313
#put the name of the target file here (without extension)
TRG = cwicz1
#put your C sourcefiles here
SRC = $(TRG).c
#put additional assembler source file here
ASRC =
#additional libraries and object files to link
LIB =
#additional includes to compile
INC =
#compiler flags
CPFLAGS = -g -Os -Wall -Wstrict-prototypes -Wa,-ahlms=$(<:.c=.lst)
#linker flags
LDFLAGS = -Wl,-Map=$(TRG).map,--cref
########### you should not need to change the following line #############
include $(AVR)/avrfreaks/avr_make
###### dependecies, add any dependencies you need here ###################
$(TRG).o : $(TRG).c

Linie rozpoczynające się znakiem „#" to komentarze i nie są istotne z punktu widzenia kompilatora. Nie jest to jeszcze koniec czynności niezbędnych do przeprowadzenia kompilacji programu. W kolejnym kroku należy ustawić parametry w zakładce Target Debug okna projektu. W tym celu należy kliknąć prawym klawiszem myszki na podświetlony folder Target Debug, w wyniku czego zostaje wyświetlone menu, z którego trzeba - tym razem lewym klawiszem - wybrać opcję Settings (rysunek 2).



W oknie, które zostanie wyświetlone, należy zmienić trzy ustawienia:
- należy odznaczyć opcję Run 'compile' on eachfile in Source Files group,
- w polu Command line powinna być wpisana linia polecenia wywołującego kompilator. Ma ona postać: c:\avrgcc\avrfreaks\gcc_cmp.bat
- w polu Extension of object file to load wpis obj należy zastąpić wpisem cof

Powyższe zmiany przedstawione są na rysunku 3



Dopiero teraz staje się możliwe kompilowanie programów pisanych w języku AVR-GCC. Kompilator w pewnych sytuacjach wymaga jednak, aby przed rozpoczęciem pracy z katalogu roboczego były wykasowane pliki wygenerowane wcześniej. Czynności te wykonywane ręcznie są dość uciążliwe dla programisty, warto więc dokonać jeszcze jednego ustawienia programu AVR Studio uwalniającego nas od nich. Trzeba w tym celu utworzyć dodatkową zakładkę, której zachowując angielską terminologię, można nadać nazwę np. Clean. Postępujemy podobnie jak wcześniej, przy czym tym razem należy wybrać w menu opcje Target>Add (rysunek 4)



Następnie w polu Name wpisujemy przyjętą nazwę Clean, a z listy rozwijanej Copy settings from: wybieramy pozycję Debug. Pozostaje jeszcze ustawienie parametrów zakładki Target Clean. W oknie projektu, w górnej jego części, znajduje się lista, z której trzeba wybrać pozycję Target Clean. Dalej postępujemy podobnie, jak przy zakładce Target Debug. Tym razem linia poleceń powinna mieć postać: c:\avrgcc\avrfreaks\gcc_crnp.bat clean, a obydwa pola Run Stage Settings muszą być puste, tak jak na rysunku 5



Powodzenia :D - dołączam jeszcze plik makefile i cwicz1.c
  
 
     
21777
Gość
Wysłany: 2004-03-05, 10:19   

Witam
dzięki za odpowiedź. Niestety przy uruchomieniu posiłkowałem się nie tylko instrukcjami zawartymi w w/w książce, lecz także opisami zawartymi w EP 10/2002 i 12/2002. Są duże rozbieżności pomiędzy tymi opisami. Efekt zawsze ten sam. Nie chodzi w ogóle (komunikat brak miejsca na środowisko) lub też chodzi połowicznie (nie generuje plików *cof). Z moich obserwacji wynika, że chodzi głównie na komputerach na których oprogramowanie zostało ściągnięte bezpośrednio z internetu, myślałem że przy przenoszeniu wina leży po stronie nagrywarki (niektóre przenoszą do 6 znaków nazw plików) lub też ustawień komputera, lecz sprawdziłem wszystko i nadal nie działa. Doprawdy nie wiem co jest tego przyczyną.

pozdrowienia
Marek
 
     
Wojtek 



Dołączył: 04 Sie 2002
Posty: 2511
Skąd: --
Wysłany: 2004-03-05, 17:58   

Poczytaj jeszcze wątek http://www.edw.com.pl/forum/viewtopic.php?t=795 , czy projekty zaisujesz na dysku C czy innym? Jak zrobiłem sobie folder na pisane programy na dysku D to miałem podobne problemy dopóki nie zmieniłem to na C.
  
 
     
21777
Gość
Wysłany: 2004-03-09, 13:03   Współpraca AVR Studio 3,56 z AVRGCC

witam
dzieki za uwagi, coś drgnęło, lecz nadal nie generuje plików *cof - komunikat błędu:
cp coff/gcctest1.cof
cp coff/*
/AVRGCC/BIN/cp:’coff/gcctest1.c; and ‘./gcctest1.c’ are the same file
C:\AVRGCC\BIN\MAKE.EXE:***[gcctest1.cof] Error 256
co jest tego przeczyną i jak to usunąć ?
pozdrowienia
Marek
 
     
21777
Gość
Wysłany: 2004-03-09, 13:29   Współpraca AVR Studio 3,56 z AVRGCC

witam jeszcze raz
w geście rozpaczy zrobiłem krok po kroku zgodnie z wytycznymi zawartymi na twojej stronie (importowałem nawet pliki makefile i cwicz1). Rezultat jaki otrzymałem jest następujący:
C:\gcc_prog\cwicz1>make
C:\AVRGCC\BIN\MAKE.EXE: *** No targets specified and no makefile found. Stop
Co jest tego przyczyną ?
pozdrowienia
Marek
 
     
Wojtek 



Dołączył: 04 Sie 2002
Posty: 2511
Skąd: --
Wysłany: 2004-03-09, 22:40   

Nie wiem, nie jestem aż takim specem w tej branży :) robiłem tak kilka razy na różnych kompach i zawsze z powodzeniem. Czy plik makefile umieściłeś w katalogu gdzie masz programik który piszesz?
 
     
21777
Gość
Wysłany: 2004-03-11, 08:12   Współpraca AVR Studio 3,56 z AVRGCC

witam
zrobiłem DOKŁADNIE tak jak wyżej opisałeś na swoich stronach (nota bene robiłem tak wcześniej posiłkując się książką) niestety mimo kilkunastu różnych prób na różnych komputerach to albo nie chodziło wcale albo nie generowało plików *cof. Podejrzewam, że muszę to zobaczyć u kogoś na komputerze, bo inaczej nie rozgryzę tego ?

pozdrowienia
Marek
 
     
Wojtek 



Dołączył: 04 Sie 2002
Posty: 2511
Skąd: --
Wysłany: 2004-03-11, 17:57   

Witaj, co mogę jeszcze poradzić to odinstaluj jeszcze raz wszystko (studio i komplilator) skasuj zapisane przy wcześniejszych próbach pliki . Zrób ponownie zgodnie z opisem. Zainstaluj najpierw kompilator potem studio (tak robiłem chociaż nie wiem czy to ma znaczernie) Wersje 3,56 dla studio i 3,2 dla AVRGCC, system win98 (nie wiem jak chodzi pod innym systemami). Instalacje domyślne, czyli na dysku C. Może ktoś inny ma jakiś pomysł :roll:
 
     
21777
Gość
Wysłany: 2004-03-15, 08:41   

witam
mam jeszcze jedną prośbę. Uruchom plik gcc_cmp.bat bez uruchomiania AVR Studio i zobacz jaki wyświetlił Ci komunikat (podaj mi go).

pozdrowienia
Marek
 
     
Wojtek 



Dołączył: 04 Sie 2002
Posty: 2511
Skąd: --
Wysłany: 2004-03-15, 19:36   

Teraz tego nie zrobię gdyż mam zainstalowaną nową wersję GCC bez Studio - pod potrzeby VisualMicroLab gdyż to środowisko zakupiłem i na nim zaczynam zabawę.
Jak zainstaluję na innym komputerze to Ci to sprawdzę.
 
     
Wojtek 



Dołączył: 04 Sie 2002
Posty: 2511
Skąd: --
Wysłany: 2004-03-18, 12:14   

Zainstalowałem i zrobiłem integrację na 2 różnych komputerach wszystko przebiegło ok, wszystko działa symulacja również

Załączam obrazek z uruchomionego gcc_cmp.bat tak jak chciałeś.

 
     
torx 
Nowy na forum


Dołączył: 14 Lut 2006
Posty: 1
Wysłany: 2006-02-14, 12:49   

Witam,
czy skopiowałeś plik makefile do katalogu z programem źródłowym? Czy masz jeszcze jakiś kompilator ,który ma ustawioną ścieżkę do innego make.exe ???
Pododawałeś make.bat i clean.bat do programers notepada ???
 
     
Koppel 



Wiek: 34
Dołączył: 24 Lip 2005
Posty: 482
Skąd: Gliwice
Wysłany: 2006-02-14, 13:33   

torx napisał/a:
Witam,
czy skopiowałeś plik makefile do katalogu z programem źródłowym? Czy masz jeszcze jakiś kompilator ,który ma ustawioną ścieżkę do innego make.exe ???
Pododawałeś make.bat i clean.bat do programers notepada ???

Spójrz na datę ostatniego postu :)
Sprawa prawdopodobnie w ogóle nie jest już aktualna choćby ze względu na nową wersją AVRStudio gdzie integracja z WinAVR przebiega w odmienny sposób.
 
     
pasta20 
Nowy na forum


Wiek: 34
Dołączył: 06 Wrz 2005
Posty: 30
Wysłany: 2009-09-08, 11:18   

Jak odbywa się ingerencja avrstudio z win avr.
Mowa o nowych wersjach.
2009 03 13
4.17

Ja w opcjach dodałem ścieżki:
C:\WinAVR-20090313\bin\avr-gcc.exe
C:\WinAVR-20090313\utils\bin\make.exe

Czy to wystarczy.

Pozdrawiam.
 
 
     
snow 
AVR, AVR-GCC


Wiek: 34
Dołączył: 16 Sty 2007
Posty: 735
Skąd: lubelskie
Wysłany: 2009-09-08, 18:41   

Najpierw instalujesz WinAVR a później AVRStudio.
 
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  


Powered by phpBB modified by Przemo © 2003 phpBB Group
Strona wygenerowana w 0,04 sekundy. Zapytań do SQL: 10