Skocz do zawartości

Część 1-Kurs programowania uC AVR w C (WinAVR, Kurs AVR-GCC)


Treker

Pomocna odpowiedź

Tym razem wyskakuje coś takiego:

rm -rf cos.o cos.elf dep/* cos.hex cos.eep

Build succeeded with 0 Warnings...

avr-gcc.exe -mmcu=atmega8 -Wall -gdwarf-2 -O0 -MD -MP -MT cos.o -MF dep/cos.o.d -c ../cos.c

avr-gcc.exe: installation problem, cannot exec `cc1': No such file or directory

make: *** [cos.o] Error 1

Build failed with 1 errors and 0 warnings...

I to w programie AVRstudio

Link do komentarza
Share on other sites

Chodzi o to, że gdzieś _musiało_ zostać wpisane przez Ciebie lub kogoś innego "cc1", bo nei może odnaleźć takiego pliku bądź katalogu. Stąd pytanie: w jaki sposób dodałeś pliki do projektu? Czy przeniosłeś je z WinAVR (łącznie z plikami ustawień itp.) czy też dodałeś je normalnie?

Spróbuj utworzyć pusty projekt, wpisz tam tylko:

//tutaj daj include do io.h

main()

{

while(1)

{

}

}

I sprawdź czy sie kompiluje.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dzieje się tak samo identyczny błąd. Program pisałem w winavr, plik makefile tworzyłem sam. Przeinstalowywałem już winavra kilkukrotnie i nic.

> "make.exe" all

-------- begin --------

avr-gcc (WinAVR 20090313) 4.3.2

Copyright © 2008 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

make.exe: *** No rule to make target `main.elf', needed by `elf'. Stop.

> Process Exit Code: 2

> Time Taken: 00:00

To jest komunikat jaki wyskakuje po skompilowaniu programu który podałeś.

Link do komentarza
Share on other sites

mariusz7844, jeszcze raz: robiłeś to w WinAVR czy w AVRStudio (którym?)? Bo z opisu wynika, że coś grzebałeś w pliku makefile.

Zrób wg tej instrukcji:

https://www.forbot.pl/forum/topics20/programowanie-przygotowanie-srodowiska-do-programowania-avr-vt3702.htm

Jeśli będziesz postępował wg tej instrukcji to musi działać. Oczywiście w "Project options" musisz wybrać odpowiedni procesor i inne ustawienia, bo na podstawie tych ustawięń AVRStudio tworzy makefile.

Nie neguję tego, że modyfikowanie samemu pliku makefile się przydaje, ale trzeba najpierw wiedzieć jak to zrobić, chociaż raz mieć to zrobione dobrze, a tutaj niestety widzę, że się błąkasz, zamiast skorzystać z odpowiednich narzędzi. To trochę tak, jakbyś próbował coś wywiercić mając tylko wiertło i szmatę do trzymania, zamiast użyć wiertarki.

Link do komentarza
Share on other sites

Testowałem już każdą możliwą opcję w programach winAVR, oraz AVRStudio. Jednak tak łatwo się nie poddam. Tworzę właśnie wirtualny system windowsXP na dysku. Zobaczę czy uda mi się coś zdziałać. Zależy mi na możliwości programowania.

[ Dodano: 01-02-2013, 21:04 ]

Mam pytanie, jak w programie AVRstudio przypisać plik make do programu?? Bo wydaje mi się że nie jest on widziany.

Link do komentarza
Share on other sites

mariusz7844, na jakim systemie pracujesz? Bo jeśli na Linux to AVRStudio4 ma poważne problemy a 5 w górę w ogóle nie ruszy.

I czy kompilujesz wywołując "make" z wiersza poleceń czy "Build" w programie? To pierwsze nie zadziała, bo plik makefile jest tworzony przez AVRS dopiero w momencie wywołania kompilacji.

Link do komentarza
Share on other sites

Coś jest nie w porządku z plikiem makefile. Uprzednio zmieniałem jego nazwę przy tworzeniu, a gdy dziś zmieniłem nazwę na "makefile" wyskoczył inny komunikat:

"make.exe" all

-------- begin --------

avr-gcc (WinAVR 20100110) 4.3.3

Copyright © 2008 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiling C: dioda.c

avr-gcc -c -mmcu=atmega8 -I. -gdwarf-2 -DF_CPU=8000000UL -O3 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./dioda.lst -std=gnu99 -MMD -MP -MF .dep/dioda.o.d dioda.c -o dioda.o

avr-gcc: CreateProcess: No such file or directory

make.exe: *** [dioda.o] Error 1

> Process Exit Code: 2

> Time Taken: 00:03

Przy własnej nazwie wyskakuje komunikat:

> "make.exe" all

make.exe: *** No rule to make target `all'. Stop.

> Process Exit Code: 2

> Time Taken: 00:01

.

Projekt robię w programie winavr

[ Dodano: 05-02-2013, 15:58 ]

Dobrze, to że plik makefile, nie nazywał się "Makefile" to mój błąd:D:D. Teraz coś się dzieje. Tylko co z tym komunikatem??

> "make.exe" all

-------- begin --------

avr-gcc (WinAVR 20100110) 4.3.3

Copyright © 2008 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiling C: dioda.c

avr-gcc -c -mmcu=atmega8 -I. -gdwarf-2 -DF_CPU=8000000UL -O3 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./dioda.lst -std=gnu99 -MMD -MP -MF .dep/dioda.o.d dioda.c -o dioda.o

avr-gcc: CreateProcess: No such file or directory

make.exe: *** [dioda.o] Error 1

> Process Exit Code: 2

> Time Taken: 00:02

Link do komentarza
Share on other sites

Hmm, spróbuj nie komplikować sobie życia:

- utwórz nowy projekt w AVRS, skonfiguruj np. dla ATmegi8 (wystarczy wybrać symulator do debuggowania i on sam wstępnie skonfiguruje), nazwij go np. test

- w pliku test.c wpisz:

#include

int main(void)

{

while(1)

{

}

}

- spróbuj skompilować.

Powyższe zrób w katalogu ze ścieżką bez spacji - kiedyś mogło powodować problemy dla avr-gcc.

Mi to dało wynik:

Build started 6.2.2013 at 09:38:23

avr-gcc -mmcu=atmega8 -Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT test.o -MF dep/test.o.d -c ../test.c

avr-gcc -mmcu=atmega8 -Wl,-Map=test.map test.o -o test.elf

avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature test.elf test.hex

avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O ihex test.elf test.eep || exit 0

avr-objdump -h -S test.elf > test.lss

AVR Memory Usage

----------------

Device: atmega8

Program: 100 bytes (1.2% Full)

(.text + .data + .bootloader)

Data: 0 bytes (0.0% Full)

(.data + .bss + .noinit)

Build succeeded with 0 Warnings...

Link do komentarza
Share on other sites

mariusz7844, to nie AVRS nie moze znaleźć, tylko kompilator, którym jest avr-gcc. WinAVR będzie miało dokładnie ten sam problem. Nie wiem jak Eclipse, ale pewnie też. Najnowszy AVRS nie powinien mieć problemów i tym samym sądzę, że byłby naprawdę dobrym pomysłem.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.