Gast
#5014426
Hallo,
ich kompilieren einen C++ Code mit einem Makefile über die Kommandozeile
und erhalte dann eine *.elf Datei. Diese möchte ich mit der Software
Uniflash von Texas Instruments auf den Mikrocontroller TIVA TM4C123GH6PM
flashen.
Ich erhalte aber immer diesen Fehler wenn ich auf "Verify Image" klicke:
[ERROR] CORTEX_M4_0: File Loader: Verification failed: Values at address
0x00008000 do not match Please verify target memory and memory map.
Der Compiler und Linker ist von Imperas (ovp world).
Mein Makefile sieht so aus:
////////////////////////////////////////////////////////////////////////
IMPERAS_HOME := $(shell getpath.exe "$(IMPERAS_HOME)")
include $(IMPERAS_HOME)/bin/Makefile.include
ifndef IMPERAS_HOME
IMPERAS_ERROR := $(error "IMPERAS_HOME not defined")
endif
CROSS=ARM_CORTEX_M4F
-include
$(IMPERAS_HOME)/lib/$(IMPERAS_ARCH)/CrossCompiler/$(CROSS).makefile.incl
ude
ifeq ($($(CROSS)_CXX),)
IMPERAS_ERROR := $(error "Please install the toolchain to support
$(CROSS) ")
endif
OPTIMIZATION=-Os
SRC = $(sort $(wildcard main.cpp)) $(sort $(wildcard
Configuration/Configuration.cpp)) $(sort $(wildcard
Segway/Simulation.cpp)) $(sort $(wildcard Segway/Segway.cpp)) $(sort
$(wildcard Sensor/ADC.cpp)) $(sort $(wildcard Sensor/ADCSensor.cpp))
$(sort $(wildcard Antrieb/Motor.cpp)) $(sort $(wildcard
Sensor/GPIOSensor.cpp)) $(sort $(wildcard Timer/Timer.cpp)) $(sort
$(wildcard Antrieb/PWM.cpp))
EXE = application.ARM_CORTEX_M4F.elf
all: $(EXE)
%.elf: main.o Segway/Segway.o Timer/Timer.o Sensor/ADC.o
Sensor/ADCSensor.o Sensor/GPIOSensor.o Configuration/Configuration.o
Antrieb/Motor.o Antrieb/PWM.o
$(V) echo "# Linking $@"
$(V) $(IMPERAS_LINKXX) -o $@ $^ $(IMPERAS_LDFLAGS)
%.o: %.cpp
$(V) echo "# Compiling $<"
$(V) $(IMPERAS_CXX) -g -c -o $@ $< $(OPTIMIZATION) -lm
clean:
-rm -f *.elf *.o
realclean: clean
-rm -f *.log
////////////////////////////////////////////////////////////////////////
Gibt es eine Möglichkeit die Memory Map für den Mikrocontroller mit in
das Linken einzubinden?
Die Memory Map ist in einer *.cmd Datei definiert. Hier ist der Link zu
der Datei:
https://github.com/LuisAfonso95/TM4C123-Launchpad-Examples/blob/master/srf04/tm4c123gh6pm.cmd
Hat jemand eine Idee an was das liegen kann, bzw. wie man die Memory Map
mit einbezieht?
Bitte sagt Bescheid, wenn ihr noch mehr Informationen braucht.
Johannes