Hallo,
habe eine Frage zu WinAVR, bzw. Programmers Notepad und dessen Umgang mit Unterverzeichnissen beim kompilieren.
Habe mir eine LCD Library (von euch) heruntergeladen und möchte die mal testweise ausprobieren. Habe erst ein neues Projekt begonnen, LCD angeschlossen: haut hin => für gut befunden :=)
Nun habe ich einfach das Unterverzeichnis in mein "richtiges" Projekt kopiert und würde darin gerne das Unterverzeichnis (libs) mit den Dateien lcd_lib.c und lcd_lib.h einbinden. Dazu habe ich in meine main.c am Anfang ein
Code:
#include "libs/lcd_lib.h"
eingefügt und im Makefile ein
Code:
SRC = $(TARGET).c lcd_lib.c
Komischerweise greift er aber gar nicht auf die lcd_lib.c zu:
Code:
> "make.exe" all
-------- begin --------
avr-gcc (GCC) 3.4.6
Copyright (C) 2006 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: Testboard.c
avr-gcc -c -mmcu=atmega8 -I. -gdwarf-2 -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wundef -Wa,-adhlns=/Testboard.lst -std=gnu99 -Wundef -MD -MP -MF .dep/Testboard.o.d Testboard.c -o /Testboard.o
Linking: Testboard.elf
avr-gcc -mmcu=atmega8 -I. -gdwarf-2 -DF_CPU=7372800UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wundef -Wa,-adhlns=/Testboard.o -std=gnu99 -Wundef -MD -MP -MF .dep/Testboard.elf.d /Testboard.o /pflib_lcd.o --output Testboard.elf -Wl,-Map=Testboard.map,--cref -lm
Creating load file for Flash: Testboard.hex
avr-objcopy -O ihex -R .eeprom Testboard.elf Testboard.hex
Creating load file for EEPROM: Testboard.eep
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \
--change-section-lma .eeprom=0 -O ihex Testboard.elf Testboard.eep
Creating Extended Listing: Testboard.lss
avr-objdump -h -S Testboard.elf > Testboard.lss
Creating Symbol Table: Testboard.sym
avr-nm -n Testboard.elf > Testboard.sym
Size after:
Testboard.elf :
section size addr
.text 1030 0
.data 42 8388704
.bss 0 8388746
.noinit 0 8388746
.eeprom 0 8454144
.stab 876 0
.stabstr 132 0
.debug_aranges 40 0
.debug_pubnames 210 0
.debug_info 1480 0
.debug_abbrev 728 0
.debug_line 1332 0
.debug_str 454 0
.debug_ranges 12 1030
Total 6336
Flash SRAM EEPROM
----- ---- ------
17% 4% 0%
-------- end --------
> Process Exit Code: 0
> Time Taken: 00:02
Wie kann ich im Makefile/in der main.c also dem AVR-GCC klar machen, das er gewisse Dinge aus "meinen" Unterverzeichnis libs holen soll? Was für Änderungen sind notwendig und wo?
Gruß,
Hans
Lesezeichen