Forum: Mikrocontroller und Digitale Elektronik Error bei *.elf Datei auf TI TIVA TM4C123GH6PM flashen und Einbeziehen der Memory Map


von Johannes (Gast)


Lesenswert?

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.