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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Johannes (Gast)


Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.