Other Parts Discussed in Thread: UNIFLASH,
Hello,
I'm compiling an application on Linux with a Makefile. The Compiler and Linker is from Imperas (OVP World). After compiling I get a *.elf file, that I want to flash on the Tiva C using Uniflash on Windows.
I always get this error when I press the buttom "Verify Image": [ERROR] CORTEX_M4_0: File Loader: Verification failed: Values at address 0x00008000 do not match Please verify target memory and memory map.
Is there a way that I can include the *.cmd file with the memory map to my Makefile?
My Makefile looks like this:
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
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.include
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)
# Compilation of standard benchmarch code
%.o: %.cpp
$(V) echo "# Compiling $<"
$(V) $(IMPERAS_CXX) -g -c -o $@ $< $(OPTIMIZATION) -lm
clean:
-rm -f *.elf *.o
realclean: clean
-rm -f *.log
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Does someone know a solution for my problem and can help me?
Please let me know if you need any further information.
Thank you!
Johannes