ATNEL tech-forum
https://forum.atnel.pl/

FAT FS z bluebooka
https://forum.atnel.pl/topic14846.html
Strona 1 z 1

Autor:  tonygryps [ 14 mar 2016, o 14:16 ]
Tytuł:  FAT FS z bluebooka

Witam mam taki problem podczas próby kompilacji lekcji 15 FAT FS z bluebooka w konsoli wyskakuje mi błąd.

10:06:42 **** Incremental Build of configuration Release for project 15_TEST_FAT_FS ****
make all
Building file: ../main.c
Invoking: AVR Compiler
avr-gcc -Wall -Os -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -Wstrict-aliasing=1 -funsigned-char -funsigned-bitfields -mmcu=atmega32 -DF_CPU=11059200UL -MMD -MP -MF"main.d" -MT"main.o" -c -o "main.o" "../main.c"
../main.c: In function 'main':
../main.c:640:1: internal compiler error: in push_reload, at reload.c:1360
}
^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://www.atmel.com> for instructions.
make: *** [main.o] Błąd 1

10:06:48 Build Finished (took 6s.41ms)


Dodam że mam najnowszego toolchajna i eclips Mars wszystko skonfigurowane zgodnie z poradnikami Mirka no i reszta lekcji działa poprawnie .

Autor:  mirekk36 [ 14 mar 2016, o 14:25 ]
Tytuł:  Re: FAT FS z bluebooka

Wygląda na to, że masz jakiś kardynalny błąd w kodzie w main.c i podaną masz nawet linię ...

pokaż zrzut ekranu, czy eclipse nie pokazuje ci tych miejsc gdzie masz te błędy ? jakieś szlaczki czerwone, pchełki z boku itp ?

poza tym ważna sprawa które wydanie bluebooka posiadasz bo jeśli stare i nie masz kodów przeportowanych pod Atmel Toolchain to będzie niestety masakra

Autor:  tonygryps [ 14 mar 2016, o 14:41 ]
Tytuł:  Re: FAT FS z bluebooka

Mam bluebooka w twardej okładce wydanie 2 w kodzie nic nie zmieniałem jest tylko jedna pchełka przy nawiasie klamrowym usunięcie nawiasu lub dołożenie nic nie daje sprawdzałem czy gdzieś nie został sirednik zjedzony ale wydaje się że są wszystkie na miejscu.

Obrazek

Autor:  Andrzej [ 14 mar 2016, o 14:58 ]
Tytuł:  Re: FAT FS z bluebooka

Więc jeśli oglądałeś dokładnie poradnik http://mirekk36.blogspot.com/2015/07/ec ... ogram.html
to powinieneś zaimportować biblioteki z płyty a nie kopiować do workspace.
Jest to ładnie omówione w 2 filmiku od 10 minuty - https://youtu.be/AroKPav3On4?t=612
Możesz jeszcze skasować 15_TEST_FAT_FS z dysku i ponownie zaimportować w workspace u mnie pomogło

Autor:  mirekk36 [ 14 mar 2016, o 14:58 ]
Tytuł:  Re: FAT FS z bluebooka

to jest zmieniany projekt z DVD ? czy na czysto z DVD ? .... jeśli nie jesteś pewien to weź jeszcze raz oryginalny kod z płyty i sprawdź ... bo odpalałem to i nie mogło być błędu

Autor:  Wojtek [ 14 mar 2016, o 15:06 ]
Tytuł:  Re: FAT FS z bluebooka

Z ciekawości zaimportowałem przed chwilą ten sam projekt prosto ze źródła czyli płyta z ksiażki II wydanie i wychodzi na to że otrzymuję dokładnie ten sam bład co autor tematu. Nie robiłem zadnych zmian po prostu import. Eclipse mars.2 toolchain aktualny atmela.
Cytuj:
15:08:10 **** Build of configuration Release for project 15_TEST_FAT_FS ****
make all
Building file: ../main.c
Invoking: AVR Compiler
avr-gcc -Wall -Os -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -Wstrict-aliasing=1 -funsigned-char -funsigned-bitfields -mmcu=atmega32 -DF_CPU=11059200UL -MMD -MP -MF"main.d" -MT"main.o" -c -o "main.o" "../main.c"
../main.c: In function 'main':
../main.c:641:1: internal compiler error: in push_reload, at reload.c:1360
}
^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://www.atmel.com> for instructions.
make: *** [main.o] Error 1

15:08:11 Build Finished (took 1s.43ms)


Autor:  tonygryps [ 14 mar 2016, o 15:35 ]
Tytuł:  Re: FAT FS z bluebooka

Andrzej napisał(a):
Więc jeśli oglądałeś dokładnie poradnik http://mirekk36.blogspot.com/2015/07/ec ... ogram.html
to powinieneś zaimportować biblioteki z płyty a nie kopiować do workspace.
Jest to ładnie omówione w 2 filmiku od 10 minuty - https://youtu.be/AroKPav3On4?t=612
Możesz jeszcze skasować 15_TEST_FAT_FS z dysku i ponownie zaimportować w workspace u mnie pomogło


właśnie w tym rzecz że jeszcze nie oglądałem poradnika dzięki za link bo Mirek robi naprawdę dobrą robotę z tymi poradnikami .

tak jak pisałeś mam to importowane z workspace.
dodam że no duch komputerach to samo.

------------------------ [ Dodano po: 10 minutach ]

tonygryps napisał(a):
Andrzej napisał(a):
Więc jeśli oglądałeś dokładnie poradnik http://mirekk36.blogspot.com/2015/07/ec ... ogram.html
to powinieneś zaimportować biblioteki z płyty a nie kopiować do workspace.
Jest to ładnie omówione w 2 filmiku od 10 minuty - https://youtu.be/AroKPav3On4?t=612
Możesz jeszcze skasować 15_TEST_FAT_FS z dysku i ponownie zaimportować w workspace u mnie pomogło


właśnie w tym rzecz że jeszcze nie oglądałem poradnika dzięki za link bo Mirek robi naprawdę dobrą robotę z tymi poradnikami .

tak jak pisałeś mam to importowane z workspace.
dodam że no duch komputerach to samo.


P.S a ten poradnik to oglądałem tak mam właściwie to importowane.

Autor:  Andrzej [ 14 mar 2016, o 15:48 ]
Tytuł:  Re: FAT FS z bluebooka

Tak że na pewno program działa, bo też ma BB wyd II i Eclipsa konfigurowanego wg linku który podałem :).
Miłego oglądania, chwilę trzeba poświęcić a będzie działało wszystko na 100% :D

Autor:  mirekk36 [ 14 mar 2016, o 15:50 ]
Tytuł:  Re: FAT FS z bluebooka

kurczę no aż zaimportowałem sam i ku mojemu zdziwieniu jest też ten błąd - jakaś masakra ;) .... no nie wypuściłbym wcześniej czegoś do książki na DVD co nie działa. Ale pewnie kompilowałem to na jakiejś dużo wcześniejszej wersji kompilatora i tam to się udało ... tutaj zaś wywala babola ... w obecnej wersji Atmel Toolchaina ....

Widać na wcześniejszej wersji to działało w kompilatorze Atmel Toolchain (gdy używałem jednej z pierwszych dawnych wersji w czasie gdy powstawało drugie wydanie GB) .... chodzi o to, (ale na razie tylko prawdopodobnie), że typedefy typów użyte w strukturze RTC coś nie chcą działać za dobrze teraz gdy zmienna RTC utworzona jest jako lokalna (a tak jest w oryginalnym kodzie na DVD w GB)

więc rozwiązaniem jest - proszę: (linia 247 w oryginalnym kodzie z DVD)

Obrazek

czyli jak widać albo dodanie specyfikatora static aby zmienna zachowywała się jak globalna albo w ogóle można jej definicję wykasować z main() i dać do zmiennych globalnych bez tego static (wtedy też warto usunąć lokalną definicję w funkcji DWORD get_fattime () na górze programu - miałaby być wtedy tylko jedna globalna zmienna RTC rtc; ALE WYSTARCZY tutaj ten specyfikator static - czyli drobna zmiana TYLKO w jednej linii i już będzie się poprawnie kompilowało wszystko.

ale jak mówię ten static wystarcza bo i tak czas traktowany jest w tym kodzie po macoszemu ... a więc proszę - oto rozwiązanie problemu na dzisiejsze czasy i dzisiejszy Atmel Toolchain ;)

------------------------ [ Dodano po: 1 minucie ]

Jak widać był to problem kompletnie nie związany z FatFS'em ;) ....

Autor:  tonygryps [ 14 mar 2016, o 17:08 ]
Tytuł:  Re: FAT FS z bluebooka

Niestety dodanie specyfikatora static nie pomogło nadal występuje ten sam błąd
/main.c:641:1: internal compiler error: in push_reload, at reload.c:1360

dodam że próbowałem już ponownego importu plików z dvd

Autor:  mirekk36 [ 14 mar 2016, o 17:11 ]
Tytuł:  Re: FAT FS z bluebooka

No to albo nie zapisałeś projektu albo nie wiem co ;)

------------------------ [ Dodano po: kilkunastu sekundach ]

albo sprawdź też to z przeniesieniem do zmiennej globalnej jak opisywałem

Autor:  Wojtek [ 14 mar 2016, o 17:28 ]
Tytuł:  Re: FAT FS z bluebooka

tonygryps napisał(a):
Niestety dodanie specyfikatora static nie pomogło nadal występuje ten sam błąd

Po dodaniu "static" zapisz (możesz ewentualnie wcześniej zrobić clean) i dopiero zrób build project. U mnie działa.

Autor:  tonygryps [ 14 mar 2016, o 17:28 ]
Tytuł:  Re: FAT FS z bluebooka

Dziękuję panie Mirku to było to co pan pisał tylko że w linii 63 też trzeba było dopisać specyfikator static
swoją drogą jak pan do tego doszedł że to o to chodzi jestem pełen podziwu i to tak szybko.

Autor:  mirekk36 [ 14 mar 2016, o 21:01 ]
Tytuł:  Re: FAT FS z bluebooka

tonygryps napisał(a):
Dziękuję panie Mirku to było to co pan pisał tylko że w linii 63 też trzeba było dopisać specyfikator static

To widać różnią się pewnie nawet pomiędzy nami wersje toolchaina i zdecydowanie lepszym sposobem byłoby wyprowadzenie tej zmiennej do zmiennych globalnych (wywalić w ogóle ze zmiennych statycznych) sprawdź to i zobaczysz, że też będzie poprawnie działać ...

tonygryps napisał(a):
swoją drogą jak pan do tego doszedł że to o to chodzi jestem pełen podziwu i to tak szybko.


Spokojnie - nie ma co podziwiać - ot zawziąłem się i przysiadłem bo nie dawało mi to spokoju ... pewnie za niedługo też tak będziesz miał - uwierz mi to nic nadzwyczajnego .... A sądzę tak jak pisałem wcześniej, że ma to związek z tymi definicjami typów (WORD, BYTE) i w trakcie gdy zmienna strukturalna tworzona jest lokalnie to zaczynają się problemy - ale to tylko takie wyjaśnienie na szybko i być może błędne. Jak będę miał więcej czasu to postaram się i to zbadać i dam znać ok ?

Autor:  tonygryps [ 15 mar 2016, o 10:59 ]
Tytuł:  Re: FAT FS z bluebooka

Przerobienie zmiennej RTC na zmienną globalną też daje pozytywny skutek a nawet lepszy niż specyfikator static .

Autor:  fobos [ 16 maja 2017, o 13:00 ]
Tytuł:  Re: FAT FS z bluebooka

Podobnie jak tonygryps "zliczyłem" ten problem -> ../main.c:640:1: internal compiler error: in push_reload, at reload.c:1360
oczywiście mam o wiele łatwiej bo powyżej jest recepta, ale nie po to o tym piszę.
Zrobiłem tak: z Eclipse skasowałem projekt i na nowo zaimportowałem, po kompilacji all OK, dokładnie to co pisze Andrzej,
(Win7, Eclipse Mars).

Strona 1 z 1 Strefa czasowa: UTC + 1
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/