Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 29 mar 2024, o 01:12


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 18 lut 2018, o 21:15 
Offline
Nowy

Dołączył(a): 29 lis 2016
Posty: 23
Pomógł: 0

Witam. Chciałem złożyć sobie programator USBasp. Atmega8a którą mam nie działa, więc próbuję skompilować program na mikrokontroler Atmega328p. Po rozpakowaniu paczki pobranej ze strony projektu USBasp http://www.fischl.de/usbasp/ edytowałem plik Makefile w folderze /usbasp.2011-05-28/firmware. Mam pobrany toolchain avr8-gnu-toolchain-linux_x86_64, więc w Makefile podoklejałem odnośniki przed avr-gcc, avr-objdump i avr-objcopy, mam nadzieję że nic nie przeoczyłem. Tak wygląda cały Makefile:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Niestety po uruchomieniu make main.hex w konsoli mam taki komunikat:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Z czego ten błąd wynika i jak to naprawić?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2018, o 21:59 
Offline
Użytkownik

Dołączył(a): 01 lis 2013
Posty: 302
Pomógł: 32

Witaj,

Jakiej dystrybucji używasz ?
Sam kompilator nie wystarczy. Brakuje Ci jeszcze prawdopodobnie pakietów binutils-avr oraz avr-libc.

Najlepiej jak zainstalujesz sobie wszystko z repozytorium. Dla dystrybucji opartych o debiana będą to binutils-avr, avr-libc oraz gcc-avr.

Ponadto należy zmodyfikować pliki usbdrv.c oraz usbdrv.h w katalogu usbdrv. Przy wszystkich makrach PROGMEM brakuje specyfikatora const.

W załączniku poprawione w/w pliki oraz wynik kompilacji
Obrazek
Załącznik:
usbdrv_c_h.tar.gz


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.

_________________
Pozdrawiam,
sq8mvy, Paweł



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lut 2018, o 01:17 
Offline
Nowy

Dołączył(a): 29 lis 2016
Posty: 23
Pomógł: 0

Debian testing. Wydaje mi się, że wszystko co jest potrzebne powinno być, bo wcześniej już kompilowałem, tylko że używałem innego makefile, w którym było zdefiniowanych więcej narzędzi
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
. Kiedyś instalowałem wszystko z repozytorium razem z kompilatorem, ale gdzieś przeczytałem, że w repozytorium są starsze wersje, może chodziło nawet o wyeliminowanie jakiegoś błędu.
Co trzeba było zmienić w tych plikach usbdrv.c oraz usbdrv.h? Niestety dalej nie działa.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lut 2018, o 08:45 
Offline
Użytkownik

Dołączył(a): 01 lis 2013
Posty: 302
Pomógł: 32

tokirium napisał(a):
Co trzeba było zmienić w tych plikach usbdrv.c oraz usbdrv.h? Niestety dalej nie działa.


Przecież wyraźnie napisałem, że brakuje specyfikatora const przy makrach PROGMEM. A żebyś nie musiał szukać w jakich liniach,
to w załączniku masz poprawione pliki. Wystarczy je rozpakować i zastąpić nimi, te, które masz.

Co to znaczy "...dalej nie działa..." ?? To nic mi nie mówi. Logi z kompilacji jakieś byś pokazał....

Cytuj:
Wydaje mi się, że wszystko co jest potrzebne powinno być,

Ja natomiast wiem, że za bardzo kombinujesz.....

Cytuj:
... ale gdzieś przeczytałem, że w repozytorium są starsze wersje,...

Właśnie, gdzieś, coś ale nie wiesz gdzie i co. I takie są efekty. Sprawdziłeś w ogóle jaką wersję narzędzi dla AVR masz w repozytorium ? Jestem niemal pewien, że nie.

Komunikat
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

mówi, że kompilator / make się "wysypał" - masz coś skopane. Jak widziałeś w załączonym logu, u mnie się kompiluje beż zająknięcia.

Z jakiego miejsca pobierałeś ten kompilator ?


Kolego, rób tak, jak się powinno. Czyli:
- Zainstaluj z repozytorium pakiety dla AVR ( binutils-avr, avr-libc oraz gcc-avr )
- pobierz archiwum które zamieściłem z poprawionymi plikami usbdrv.c oraz usbdrv.h
- Rozpakuj źródła Usbasp z archiwum do jakiegoś katalogu
- Zastąp oryginalne pliki usbdrv.h i usbdrv.c tymi z pobranego archiwum
- Ustaw w pliku Makefile procek, pod jaki będziesz chciał skompilować Usbasp
- uruchom kompilację.

Tyle i tylko tyle trzeba do pełni szczęścia, bez zbędnego kombinowania....

_________________
Pozdrawiam,
sq8mvy, Paweł



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO