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

undefined reference to `__eerd_byte_m16'
https://forum.atnel.pl/topic9459.html
Strona 1 z 1

Autor:  domelos [ 27 lis 2014, o 20:17 ]
Tytuł:  undefined reference to `__eerd_byte_m16'

Podczas kompilacji generuje się taki oto komunikat błędu:

avr-gcc -Wl,-Map,menu_przyklad.map -mmcu=atmega8 -o "menu_przyklad.elf" ./menu/menu.o ./lcd/lcd44780.o ./main.o
./lcd/lcd44780.o: In function `lcd_str_E':
lcd44780.c:(.text+0xba): undefined reference to `__eerd_byte_m16'
./lcd/lcd44780.o: In function `lcd_defchar_E':
lcd44780.c:(.text+0x1dc): undefined reference to `__eerd_byte_m16'
collect2.exe: error: ld returned 1 exit status
make: *** [menu_przyklad.elf] Błąd 1

Biblioteki do lcd z bluebooka.
Jako mocno początkujący proszę o wskazówki gdzie może tkwić błąd.

Autor:  Piotrek_P [ 27 lis 2014, o 20:32 ]
Tytuł:  Re: undefined reference to `__eerd_byte_m16'

Delete - powyższe. Trochę się pospieszyłem z odpowiedzią, przepraszam. To raczej problem z linkerem. Napisz jakiego kompilatora używasz. WinAVR czy ATMEL Toolchain?

Autor:  domelos [ 27 lis 2014, o 21:16 ]
Tytuł:  Re: undefined reference to `__eerd_byte_m16'

AVR Toolchain Atmel v. 3.4.2.1573
gcc version 4.7.2 (AVR_8_bit_GNU_Toolchain_3.4.2_939)

Autor:  mirekk36 [ 27 lis 2014, o 21:41 ]
Tytuł:  Re: undefined reference to `__eerd_byte_m16'

domelos napisał(a):
Podczas kompilacji generuje się taki oto komunikat błędu:

A ty chociaż napisałeś pod czym ty to kompilujesz ? coś mi się wydaje że nie pod Eclipse tak jak polecam wszędzie a nawet w książce tylko pod kocim Atmel Studio - zgadłem ?

Autor:  domelos [ 28 lis 2014, o 07:19 ]
Tytuł:  Re: undefined reference to `__eerd_byte_m16'

Wszelki próby kompilacji wykonywałem pod Eclipse Luna i ATmel Toolchain 3.4 oraz AVR Plugin 2.41 (http://www.atnel.pl/download/AtmelPlusPugin.zip).

Autor:  mirekk36 [ 28 lis 2014, o 07:24 ]
Tytuł:  Re: undefined reference to `__eerd_byte_m16'

ok .... a w takim razie dopytam jeszcze czy zrobiłeś DOKŁADNIE krok po kroku to z tego poradnika ?

http://mirekk36.blogspot.com/2014/11/av ... -luna.html

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

aha .... i poza tym widzę, że nie odpalasz przykładu z książki tylko sam coś piszesz .... więc pokaż swój plik main.c bo czuję że tam siedzi babol przy definiowaniu znaków w EEPROM. Tak przy okazji po co chcesz tworzyć znaki w EEPROM ?

Autor:  gardziej [ 28 lis 2014, o 09:10 ]
Tytuł:  Re: undefined reference to `__eerd_byte_m16'

Sprawdź jeszcze kolego kolejność includowania bibliotek, czy jest tak jak w książce.

Autor:  domelos [ 28 lis 2014, o 20:21 ]
Tytuł:  Re: undefined reference to `__eerd_byte_m16'

Okazuje się iż błąd pojawia się po zmianie typy procesora do kompilacji z ATmega16 (OK) na ATmega8 (błędy).
Dziwnie wygląda również jeden z komunikatów przy kompilacji, który informuje o kompilacji na procesor ATmega16

20:08:37 **** Clean-only build of configuration Release for project menu_przyklad ****
make clean
rm -rf menu_przyklad.hex ./menu/menu.o ./lcd/lcd44780.o ./main.o menu_przyklad.eep sizedummy menu_przyklad.lss ./menu/menu.d ./lcd/lcd44780.d ./main.d menu_przyklad.elf
' '

20:08:37 Build Finished (took 485ms)

20:08:37 **** Incremental Build of configuration Release for project menu_przyklad ****
make all
'Building file: ../menu/menu.c'
'Invoking: AVR Compiler'
avr-gcc -Wall -Os -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega8 -DF_CPU=12000000UL -MMD -MP -MF"menu/menu.d" -MT"menu/menu.d" -c -o "menu/menu.o" "../menu/menu.c"
'Finished building: ../menu/menu.c'
' '
'Building file: ../lcd/lcd44780.c'
'Invoking: AVR Compiler'
avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega16 -DF_CPU=16000000UL -MMD -MP -MF"lcd/lcd44780.d" -MT"lcd/lcd44780.d" -c -o"lcd/lcd44780.o" "../lcd/lcd44780.c"
'Finished building: ../lcd/lcd44780.c'
' '
'Building file: ../main.c'
'Invoking: AVR Compiler'
avr-gcc -Wall -Os -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega8 -DF_CPU=12000000UL -MMD -MP -MF"main.d" -MT"main.d" -c -o "main.o" "../main.c"
'Finished building: ../main.c'
' '
'Building target: menu_przyklad.elf'
'Invoking: AVR C Linker'
avr-gcc -Wl,-Map,menu_przyklad.map -mmcu=atmega8 -o "menu_przyklad.elf" ./menu/menu.o ./lcd/lcd44780.o ./main.o
./lcd/lcd44780.o: In function `lcd_str_E':
lcd44780.c:(.text+0xba): undefined reference to `__eerd_byte_m16'
./lcd/lcd44780.o: In function `lcd_defchar_E':
lcd44780.c:(.text+0x1dc): undefined reference to `__eerd_byte_m16'
collect2.exe: error: ld returned 1 exit status
make: *** [menu_przyklad.elf] Błąd 1

20:08:39 Build Finished (took 1s.657ms)


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



Skorzystałem z plików dla tworzenia menu od kolegi Lukasz89

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


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


------------------------ [ Dodano po: 21 minutach ]

Założyłem nowy czysty projekt, skopiowałem pliki i ... pomogło.

Autor:  basti2001 [ 12 maja 2015, o 18:48 ]
Tytuł:  Re: undefined reference to `__eerd_byte_m16'

domelos napisał(a):
Okazuje się iż błąd pojawia się po zmianie typy procesora do kompilacji z ATmega16 (OK) na ATmega8 (błędy).
Dziwnie wygląda również jeden z komunikatów przy kompilacji, który informuje o kompilacji na procesor ATmega16

20:08:37 **** Clean-only build of configuration Release for project menu_przyklad ****
make clean
rm -rf menu_przyklad.hex ./menu/menu.o ./lcd/lcd44780.o ./main.o menu_przyklad.eep sizedummy menu_przyklad.lss ./menu/menu.d ./lcd/lcd44780.d ./main.d menu_przyklad.elf
' '

20:08:37 Build Finished (took 485ms)

20:08:37 **** Incremental Build of configuration Release for project menu_przyklad ****
make all
'Building file: ../menu/menu.c'
'Invoking: AVR Compiler'
avr-gcc -Wall -Os -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega8 -DF_CPU=12000000UL -MMD -MP -MF"menu/menu.d" -MT"menu/menu.d" -c -o "menu/menu.o" "../menu/menu.c"
'Finished building: ../menu/menu.c'
' '
'Building file: ../lcd/lcd44780.c'
'Invoking: AVR Compiler'
avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega16 -DF_CPU=16000000UL -MMD -MP -MF"lcd/lcd44780.d" -MT"lcd/lcd44780.d" -c -o"lcd/lcd44780.o" "../lcd/lcd44780.c"
'Finished building: ../lcd/lcd44780.c'
' '
'Building file: ../main.c'
'Invoking: AVR Compiler'
avr-gcc -Wall -Os -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega8 -DF_CPU=12000000UL -MMD -MP -MF"main.d" -MT"main.d" -c -o "main.o" "../main.c"
'Finished building: ../main.c'
' '
'Building target: menu_przyklad.elf'
'Invoking: AVR C Linker'
avr-gcc -Wl,-Map,menu_przyklad.map -mmcu=atmega8 -o "menu_przyklad.elf" ./menu/menu.o ./lcd/lcd44780.o ./main.o
./lcd/lcd44780.o: In function `lcd_str_E':
lcd44780.c:(.text+0xba): undefined reference to `__eerd_byte_m16'
./lcd/lcd44780.o: In function `lcd_defchar_E':
lcd44780.c:(.text+0x1dc): undefined reference to `__eerd_byte_m16'
collect2.exe: error: ld returned 1 exit status
make: *** [menu_przyklad.elf] Błąd 1

20:08:39 Build Finished (took 1s.657ms)


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



Skorzystałem z plików dla tworzenia menu od kolegi Lukasz89

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


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


------------------------ [ Dodano po: 21 minutach ]

Założyłem nowy czysty projekt, skopiowałem pliki i ... pomogło.

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