Genau das habe ich nun vor.
Wie mache ich das? Habe bis her noch nie eine Bib. eingebunden.Zitat:
Zitat von schorsch_76
Danke für die schnellen Antworten.
Druckbare Version
Du musst halt das C File zu deinen Source Files dazufügen ... Zeig mal dein Makefile, dann kann man hier helfen ...
Auf der Suche nach dem Makefile bin ich selber drüber gestoßen, wie ich die C-Datei einbinden kann. Zumindes funktioniert jetzt das Compilieren ohne Fehlermeldung.Code:################################################################################
# Automatically-generated file. Do not edit!
################################################################################
SHELL := cmd.exe
RM := rm -rf
USER_OBJS :=
LIBS :=
PROJ :=
O_SRCS :=
C_SRCS :=
S_SRCS :=
S_UPPER_SRCS :=
OBJ_SRCS :=
ASM_SRCS :=
PREPROCESSING_SRCS :=
OBJS :=
OBJS_AS_ARGS :=
C_DEPS :=
C_DEPS_AS_ARGS :=
EXECUTABLES :=
OUTPUT_FILE_PATH :=
OUTPUT_FILE_PATH_AS_ARGS :=
AVR_APP_PATH :=$$$AVR_APP_PATH$$$
QUOTE := "
ADDITIONAL_DEPENDENCIES:=
OUTPUT_FILE_DEP:=
LIB_DEP:=
# Every subdirectory with source files must be described here
SUBDIRS := \
../Bib/
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../Bib/lcd.c \
../BMA020+LCD.c
PREPROCESSING_SRCS +=
ASM_SRCS +=
OBJS += \
Bib/lcd.o \
BMA020+LCD.o
OBJS_AS_ARGS += \
Bib/lcd.o \
BMA020+LCD.o
C_DEPS += \
Bib/lcd.d \
BMA020+LCD.d
C_DEPS_AS_ARGS += \
Bib/lcd.d \
BMA020+LCD.d
OUTPUT_FILE_PATH +=BMA020+LCD.elf
OUTPUT_FILE_PATH_AS_ARGS +=BMA020+LCD.elf
ADDITIONAL_DEPENDENCIES:=
OUTPUT_FILE_DEP:= ./makedep.mk
LIB_DEP+=
# AVR32/GNU C Compiler
Bib/%.o: ../Bib/%.c
@echo Building file: $<
@echo Invoking: AVR/GNU C Compiler : 3.4.2
$(QUOTE)C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.1002\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -funsigned-char -funsigned-bitfields -DDEBUG -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega8 -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
@echo Finished building: $<
./%.o: .././%.c
@echo Building file: $<
@echo Invoking: AVR/GNU C Compiler : 3.4.2
$(QUOTE)C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.1002\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -funsigned-char -funsigned-bitfields -DDEBUG -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atmega8 -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
@echo Finished building: $<
# AVR32/GNU Preprocessing Assembler
# AVR32/GNU Assembler
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(C_DEPS)),)
-include $(C_DEPS)
endif
endif
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES)
$(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP)
@echo Building target: $@
@echo Invoking: AVR/GNU Linker : 3.4.2
$(QUOTE)C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.1002\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="BMA020+LCD.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mmcu=atmega8
@echo Finished building target: $@
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.1002\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature "BMA020+LCD.elf" "BMA020+LCD.hex"
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.1002\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "BMA020+LCD.elf" "BMA020+LCD.eep" || exit 0
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.1002\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "BMA020+LCD.elf" > "BMA020+LCD.lss"
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.1002\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature "BMA020+LCD.elf" "BMA020+LCD.srec"
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.2.1002\avr8-gnu-toolchain\bin\avr-size.exe" "BMA020+LCD.elf"
# Other Targets
clean:
-$(RM) $(OBJS_AS_ARGS) $(EXECUTABLES)
-$(RM) $(C_DEPS_AS_ARGS)
rm -rf "BMA020+LCD.elf" "BMA020+LCD.a" "BMA020+LCD.hex" "BMA020+LCD.lss" "BMA020+LCD.eep" "BMA020+LCD.map" "BMA020+LCD.srec"
Werde die Tage das mal auf meine Hardware testen. Wenn es Funktioniert, werde ich mich wieder dem ursprünglichen Problem widmen. Nehmlich ohne Fremdbibliothek das LCD ans laufen kommen.
Sorry, doppel Post.
Die Bib. von Feury funktioniert, daher ist die Hardware in Ordnung.
Nun geht es darum raus zu finden, warum meine Code nicht funktionieren will.
Nachmal danke für die Hilfestellung mit dem Einbinden der Bib.
Ich habe den Fehler gefunden.
Ich habe bei der Initialisierung das Bit für den Decrement/Increment Mode falsch gesetzt.
Wenn er bei der ersten Position bereits abwärts zählt, kann nur mist raus kommen.
Danke für die Unterstützung.