Witam! W WinAVR 'make all' nie programuje proca. nie używam Programmers Notepad'a więc nie wiem jak tam to jest zrobione, ale od tego jest polecenie 'make program', ewentualnie w makefile w wierszu: # Default target. all: begin gccversion sizebefore build sizeafter end po end dopisz 'program'.
No coz myslalem ze troche kumasz o co chodzi w Makefile i bedziesz w stanie dopasowac sobie to co napisalem do wlasnych celow no ale mylilem sie ;-).Poprawilem ten Makefile ale nie mam mozliwosci go przetestowac wiec jakby jakies bledy byly to daj znac ale najpierw sprobuj pokombinowac w ten sam desen co ja.Dodalem wygodna zmienna OBJDIR tak aby tylko...
Hej , Znajdź fragment: # Default target. all: begin gccversion sizebefore build sizeafter end build: elf hex eep lss sym elf: $(TARGET).elf hex: $(TARGET).hex eep: $(TARGET).eep lss: $(TARGET).lss sym: $(TARGET).sym Linia build: elf hex eep lss sym powinna wyglądać mniej wiecej...
Tutaj jest maly kurs programowania AVR'ek, jest tez, jak zrobic makefile do ATMega8... Wystarczy zmienic kilka wpisow i bedzie na ATTiny12... http://www.patron.net.pl/konstruktorzy/A... >>> Strona tymczasowo niedostepna Pozatym, pakiet WinAVR ma gotowe narzedzie do tworzenia plikow makefile, zwie sie toto MFile...
Sciagnalem sobie soft wedle podanych zestawien, lecz zestaw ten ma wade tego typu, ze trzeba sie przebic przez troche dokumentacji, by stworzyc wlasciwy makefile, oraz pewnie jeszcze inne elementy sterujace srodowiskiem. Akurat WinAVR jest bardzo pro-userski bo jest dostarczany ze wszystkim a wiec nawet przykladowym makefilem ktorego modyfikacja dla...
1. Wklej jeszcze lib/avr_make 2. Czy biblioteka lcd w tym makefile to Twoja biblioteka lcd? Jeżeli nie, to gdzie umieściłeś swoją bibliotekę i wklej zmodyfikowane linie makefile.
A co zmieni zainstalowanie AVR Studio? :) O makefile zapomni ale ma tu z czym innym też problemy widać. Chce korzystać z WinAVR niech korzysta. Makefile nie jest aż tak trudno zrobić, otworzyłem projekt, wywaliłem makefile, paroma kliknięciami utworzyłem nowy i rusza. A to, że niedokładnie przepisany kod z książki to już inna sprawa. Poza tym książka...
Witam, Makefile to plik używany do deklaracji zależności pomiędzy plikami w projekcie i opisujący komendy używane podczas kompilacji. W WinAVR jest program MFile, który umożliwia w dość prosty sposób wygenerowanie standardowego pliku Makefile - poszukaj w: Menu Start > Programy > WinAVR > MFile Pozdrawiam, Dr.Vee
W załączniku poprawiony makefile :D
Chodziło mi o plik "makefile" :). Rozumiem z tego że dla bardziej złożonych programów, podczas kompilacji, niezbędny jest plik makefile. Jak chce ci sie wklepywac ręcznie po kolei 10-20 albo wiecej poleceń to możesz obyć sie bez pliku. Chyba że WinAVR jest jakis dzwiny i sie nie da naczej. Ja używm avr-gcc 1. W takim razie czy istnieją inne edytory...
Spróbuj zamienić Twój plik Makefile (we folderze z projektem) i skompiluj ponownie. EDIT: Jeśli pracujesz pod Windows, to pewnie wygodniej byłoby Ci używać AVR Studio. Tam plik 'Makefile' jest tworzony automatycznie, a pewne zmienne projektu (typ procesora, częstotliwość taktowania itp.) zmienia się za pomocą interfejsu graficznego.
Kolego, spójrz na wywołanie pierwsze, to błędne. avrdude -p -c stk500v2 -P com3 -V -U flash:w:main.hex a teraz to drugie avrdude -p atmega8 -P com3 -c stk500v2 -U flash:w:testowy.hex nie widzisz różnicy? Wynika to z błędy w Makefile'u, przyznaje, z mojej winy. Szkoda, że nie przeglądasz tego pliku i nie starasz się zrozumieć jak to działa....
W 21 linii pliku makefile usuń słowo "eeprom", czyli: zamiast: all: $(PRG).elf lst text eeprom ma być: all: $(PRG).elf lst text
A co z TARGET , w makefile :?: Czy przypisałeś tej opcji nazwę pliku głównego bez rozszerzenia :?: Z raportu kompilacji wynika , że pozostawiłeś TARGET = main , a w tym konkretnym przypadku , powinno być TARGET = 1 , bo Twój plik główny nazwałeś 1.c . Piotrek
Dobrze? Nie za mały ten hex? edit - teraz spojrzałem jeszcze raz i wychodzi 4.03KB hex, ten ze źródłami chyba podobnie więc pewnie dobrze. Nastepnie zmieniam w pliku makefile (projekt ze zmianami w osobnym katalogu) "DEVICE = atmega88p", Niech kolega zmieni p na P.
Muszę Cię zmartwić ;) , ale to nie jest kod wygenerowany dla ATMega 16. Jakiego środowiska używsz :?: AVRStudio+WinAVR,PN+WinAVR , czy jeszcze coś innego :?: Co z plikiem makefile :?: itp. Tak powinien wyglądać wektor przerwania dla Megi16 i nie tylko: 0:0c 94 2a 00 jmp0x54 <__ctors_end> Jeden wektor zajmuje 2 słowa(4 bajty) , a u Ciebie :?:...
Nie wiem jak w avrstudio, pewnie trzeba dołączyć do projektu. W WinAvr się w pliku makefile dopisywało że ma użyć pliku *.c
Skoro klasy, operatory new i delete są niedostępne Wydaje mi się że klasy są dostępne, tylko obiektów nie możemy tworzyć (i usuwać) dynamicznie. Jeśli używasz winavr to wystarczy zmienić w makefile CC = avr-gcc na CC=avr-g++ Przynajmniej tą klasę którą podałeś na wstępie udało mi sie zaimplementować, utworzyć obiekt tej klasy (statycznie) i wykonać...
Przecież, twój program nie nazywa się main.c tylko pierwszy2.c! Nic nie mieszaj z makefile przez mfile jak kompilujesz a AVR Studio. Wszystko się ustawia w tym oknie. http://obrazki.elektroda.net/10_12692809... Proszę. Program skompilowany bezbłędnie.
... i do tego oryginalne IDE: - AVR Studio 4.xx: http://mikrokontrolery.blogspot.com/2011... - lub Atmel Studio: http://mikrokontrolery.blogspot.com/2011... byś nie męczył się w WinAVR z plikami makefile i narażał się na frustracje i stratę czasu :)
na początku najprawdopodobniej definiujesz F_CPU trzy razy niepotrzebnie LED.c:1:1: warning: "F_CPU" redefined jak juz chcesz dla pewności definiować nie tylko w makefile to skorzystaj z #ifndef F_CPU #define F_CPU 16000000UL #endif co do sbi cbi w nowszych wersjach winavr odstąpiono do tego, i odpowiednio : #define LED_ON DDRB|=_BV(1) #define LED_OFF...
Kolego Prymulka , bądźże łaskawy jak już piszesz komunikat błędu, to go wypisywać w całości, oraz podać chociaż link do kodu, skąd go ściągnąłeś, nie ma nic bardziej wkurzającego, jak pytania do wróżek... ;) 1. Makefile (zbiór poleceń dla programu make ) jest ? 2. Na stronie Atmela większość kodu w C nie jest pod avr-gcc, i trzeba kod przerobić... 3....
Tak. Jest opisane w dokumentacji doi avr-libc. Szablon makefile posiada również taką funkcję, ale jest nieco kulawy jeżeli chodzi o make clean (dotyczy to nie tylko bibliotek) - nie usunie biblioteki, oraz plików .o i .lst wygenerowanych ze źródeł w asemblerze i C++. Każda funkcja musi być w osobnym pliku, żeby taka biblioteka miała sens. Potem dla...
Potrzebne mi to od zabawy AVR+ENC28j60. Chciałbym umieszczać niestringopodobne treści strony www bezpośrednio w kodzie c. Mając jej jako tablice w progmem łatwo mi korzystać z posiadanych funkcji. No właśnie o tym piszę. To jak traktujesz dane to kwestia zapisu w programie. Konwertowanie danych binarnych na kod c, po to, żeby potem je przekonwertować...
$katalog_WinAVR$/doc/avr-libc/avr-libc-u... Tworzysz osobny plik w asemblerze (.S, nie .s) zawierający procedurę obsługi przerwania, kompilujesz do pliku .o i linkujesz z pozostałymi plikami. W dołączanym wo WinAVR szablonie Makefile jest przewidziane miejsce na wypisanie źródeł w asemblerze (ASRC = $tu wpisz nazwy plików$). Przykład,...
Usuń #define F_CPU 1000000L z kodu. To już jest w makfile i na dodatek wynosi 8000000L . Ty tylko skompilowałeś program, a nie zaprogramowałeś procesora. Szukaj w internecie Burn-O-Mat - to jest nakładka graficzna na program do wczytywania pliku hex, który jest zawarty w pakiecie WinAVR i nazywa się avrdude. Ewentualnie otwórz plik makefile i znajdź...
W końcu mogę coś napisać. Ale będę musiał napisać szczerze jak ja to widzę z twojego opisu :( 1. Przede wszystkim totalna katastrofa jeśli chodzi o opis połączeń. Zero schematu a sam opis sugeruje, że co chwilę jak nie robiłeś błędy (jakieś spalenie karty przez dziwny rezystor 1K do CS itp) 2. Pokaż dokładny schemat tego co zrobiłeś - to nawet tobie...
(at)fabjan1994 Na moje oko to proces budowania nie działa popawnie (compilation termiated). Problem tkwi w powłoce sh . Tu masz rozwiązanie problemu: http://www.avrfreaks.net/forum/windows-8... A tutaj Twój makefile po lekkim formatowaniu. Działa bez problemów: [syntax=bash] # Hey Emacs, this is a -*- makefile -*- #---------------------------------------...
Ten kod jest napisany dla ATmega103 ( niedostępny już w handlu) a jego następca to ATmega128. Poniżej poprawki dla WinAVR ( ten kod był dla kompilatora IAR): 1. #include <iom103.h> #include <ina90.h> ma być #include <avr/io.h> #include <avr/signal.h> 2. type def struct{ ma być typedef struct{ 3. interrupt /**** A V R A P P L...
Witam Po długiej zabawie z Bascomen przyszedł czas na "C" i oczywiście od razu problem, otóż znalazłem w sieci kurs, krok po kroku zrobiłem tak jak tam piszą, ustawiłem wszystko w Makefile, zapisałem w odpowiednim katalogu, program też zapisany do tego samego katalogu i wyskakuje mi coś takiego : http://obrazki.elektroda.pl/6063083100_1...
Witam Serdecznie, Zaczynam z AVR i mam problem na poczatek Compiling C: main.c avr-gcc -c -mmcu=atmega8 -I. -gdwarf-2 -DF_CPU=2000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./main.lst -IC:/WinAVR-20080430/avr/include -std=gnu99 -Wundef -MMD -MP -MF .dep/main.o.d main.c -o main.o main.c:...
Jak skonfigurować plik makefile w WinAvr aby dało się obsługiwać pamięć zewnętrzną? Chce komunikować się z kartą compact flash podłączoną do AtMega162 według schematu do yamppa. Pozdrawiam
Witam Zaczynam sie uczyc programowac procesory avr w c. W tym celu zainstalowałem AvrStudio 4.13 +SP1+SP2 oraz WinAvr 20071221 napisałem prosty program do migania diodami i podczas kompilacji mam taki błąd i nie wiem co zrobic. Proszę o pomoc. Z góry wielkie dzięki. make: Makefile: No such file or directory make: *** No rule to make target `Makefile'....
Hej, Chcę skompilować w winavr projekt który składa sie z następujących plików: main.c a.h a.c. Plik main.c includuje plik a.h z deklaracjami, plik a.c zawiera definicje funkcji. W jaki sposób zmodyfikować standardowy makefile żeby udało się coś takiego skompilować? Pozdrawiam
Coś kolega przesadnie kombinuje z tym Makefile'm :) Wygenerowany kod musi być poprawny bo wielu ludzi korzysta z tego generatora :) Spróbuj przeinstalować na nowo WinAVRa może to naprawi problem :) Poniżej przykładowy działający makefile (oczywiście pliki tego typu nie nadają się do operacji CTRL+C -> CTRL+V) Pozdrawiam maly_elektronik Ten przydługi...
Witam! Tak naprawdę, gdy używasz lini A15 do strobowania pamięci zewnętrznej to nie tracisz pamięci wewnętrznej, ciągle możesz mieć do niej dostęp. EXTMEMOPTS = -Wl,-Tdata=0x801100,--defsym=__heap_end=... Jeśli chodzi o odpowiedz na pytanie - to pierwszej sekcji tego co masz powyżej nie zmieniasz czyli zostaje 0x801100, natomiast druga sekcja zmienia...
użyj standardowego Makefile z WinAVR i wstaw tylko w plik nazwy plików. Do tego utwórz plik nagłównkowe z definicjami funkcji i dołącz je w plikach gdzie wywołujesz funkcje z innego pliku. pozdr
Skopiowałem plik makefile do katalogu projektu z winavr\examples\demo i zmieniłem MCU type i nazwę pliku. Przy kompilacji tego prostego programu pochodzącego ze strony www.patron.net występuje błąd: #include <avr/io.h> #define LED_ON sbi(DDRB,PB1);sbi(PORTB,PB1) int main (void) { LED_ON; for (;;) { } return (0); } -------- begin -------- avr-gcc...
W katalogu "WinAvr\mfile" jest plik makefile_template
Witam, walczę z tym i nic. Teraz mam błąd związany usbTxLen, gdy w main,.c jest 'extern uchar usbTxLen' wywala taki błąd D:\Projects\proteus\USB_avr2\usb_lpt... all avr-gcc -Wall -Os -DF_CPU=12000000 -Iusbdrv -I. -DDEBUG_LEVEL=0 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wstrict-prototypes -nostartfiles -ffreestanding...
Mi sie na twoim makefile'u nie chce kompilować natomiast na moim idzie bez problemu. Spróbuj przeedytowac pod swoje potrzeby może makefile z katalogu WinAVR\mfile\makefile_template.old i wgraj do katalogu z projektem jako makefile.
... Spróbuj wgrać nowszy WINAVR a zwłaszcza AVR-GCC z tego co pamiętam to u mnie pomogło Oryginalne pliki WinAVR każdej wersji trzeba zamienić plikami ToolChain , to jest w opisie programowania testera inaczej wsad się nie mieści. Wyrzucać z makefile trzeba tylko w przypadku korzystania z cyrylicy.
W WinAVR długość kodu zależy od Makefile. Wygenerowałem kiedyś Makefile za pomocą Mfile i pusta funkcja main stanowiąca program osiągnęła ponad 2kB! Używam najmniejsze działające Makefile dostarczone z kompilatotem. Wtedy WinAVR daje kody mniejsze niż inne kompilatory.
Drugim na liści byłby darmowy pakiet WinAVR (ale czytałem że początkujący mają problemy przy tworzeniu w nim pliku Makefile) (?). Poprawcie mnie jeśli coś pokręciłem. To było 100 lat temu, teraz Makefile tworzy się automatycznie i w ogóle możesz o nim nic nie wiedzieć. AVR Studio + WinAVR lub Eclipse + WinAVR i tyle. 4\/3!!
Dzięki, znalazłem już i przetestowałem, choć trochę napsuł mi ten nowy atmelowski avrgcc nerwów głównie przez to, że makefile mi nie działał co używałem z winavr :/ (brakowało sh.exe (który przekopiowałem z winavr) i avr-size który nie działa wywoływany z makefile - a ręcznie tak :/ ). Co do optymalizacji kodu, po tym jak wyciąłem niepotrzebne funkcje...
ROZWIĄZANIE dla AVR Studio 4.19: Należy w opcjach projektu wyłączyć AVR toolchain i podać ścieżki tak jak to widać na TUTAJ U mnie jest Use WinAvr z takimi ścieżkami jak podałeś, a mimo wszystko nie działa. WinAVR-20100110 -> wersja Winavr. Podłożyłem do folderu default zewnętrznego makefile i zaczęło kompilować, ale zależy mi na tym aby avrstudio...
Moze zle sie wyrazilem - nie tyle skladnia pozostaje dla mnie niejasna, co nie umiem stwierdzic, dlaczego nie jest generowany plik ELF, pomimo tego, ze w pliku make istnieje regula (chyba) za to odpowiedzialna. # MCU name MCU = attiny45 # Processr frequency. # This will define a symbol, F_CPU, in all source code files equal to the # processor frequency....
heh.. ale żeście pomogli. Warningi mają być bo często są to głupoty typu: main.c:9081: warning: format '%4.4f' expects type 'double', but argument 3 has type 'float' main.c:8774: warning: array subscript has type 'char' Program ma 9k linii i jak do tej pory działa idealnie. Nie wierze że Wy piszac programy nie macie wogóle ostrzeżeń bo większość rzeczy...
Błędy w pliku Makefile raczej wykluczam bo już kompilowałem te programy z tymi plikami. Problem się zaczął po przeinstalowaniu programu. OK. Już sobie poradziłem. Utworzyłem nowe pliki, wkleiłem kod programu, dorzuciłem Makefile i kompilacja poszła.
u mnie w makefile nie ma takiego kodu %.eep: %.elf $(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 -O $(FORMAT) $< $(at) jest cos takiego ## Intel Hex file production flags HEX_FLASH_FLAGS = -R .eeprom HEX_EEPROM_FLAGS = -j .eeprom HEX_EEPROM_FLAGS += --set-section-flags=.eeprom="alloc,load" HEX_EEPROM_FLAGS...
makefile winavr winavr makefile avrstudio makefile
oprogramowanie kodeki analizator saleae ciągłe restarty
problemy diagbox problemy diagbox
Zetor Proxima - problem z włączeniem WOM Volvo XC60 D5 2011 – klekot przepustnicy podciśnienia, ustaje po odłączeniu zaworu