主题中讨论的其他器件:UNIFLASH
您好!
我将使用 Makefile 将应用程序编译为*。elf 文件。 然后、我想使用 Uniflash 在微控制器上刷写此*。elf 文件。
我始终会收到此错误:"[ERROR] Cortex_M4_0:文件加载器:验证失败:0x00008000处的值不匹配请验证目标存储器和存储器映射。"
我的编译器来自 Impilas、并且都在 Linux 上运行。 但我要在 Windows 上刷写微控制器。
我的 makefile 文件如下所示:
IMPERAS_HOME =$(shell getpath.exe“$(IMPERAS_HOME)”)
优化=-O2
cross = MICROBLAZE
SRC = main.cpp Timer/Timer.cpp 传感器/ADC.cpp 传感器/ADCSensor.cpp 传感器/GPIOSensor.cpp Segway/Segway.cpp 配置/Configuration.cpp Antrieb/Motor.cpp Antrieb/PWM.cpp
SRCINC = microblaze_io.c microblaze/microblaze_enable_interrupts.s microblaze/microblaze_interrupts.c microblaze/microblaze_interrupts_gb 微 blaze_0/libsrc/Con_v1_00_a/src/xbasic_types.c
INCOBJ =$(patsubst %.c、%.o、$(SRCINC))
obj =$(patsubst %.cpp、%.o、$(SRC))
exe = Segway_microblaze.elf
-include $(IMPERAS_HOME)/lib/$(IMPERAS_ARCH)/CrossCompiler/$(cross).makefile.include
ifeq ($($(cross)_CC)、)
IMPERAS_ERROR:=$(错误:$(cross)_CC 未设置。 请检查$(cross)"的工具链安装
字节序
IMPERAS_CC =/opt/Imperas.20131018/lib/Linux32/CrossCompiler/microblaze-elf/bin/mb-g +-fstack-check -i -I/OVP//ImpPublic/include/common -I/OVP//ImpPublic/include/target/common -I/OVP//ImpPublic/include/target/application -I/OVP//lib/Linux32/TargetLibraries/include/microblaze
IMPERAS_LINK =/opt/Imperas.20131018/lib/Linux32/CrossCompiler/microblaze-elf/bin/mb-g +-fstack-check -i -I/OVP//ImpPublic/include/common -I/OVP//ImpPublic/include/target/common -I/OVP//ImpPublic/include/target/application -I/OVP//lib/Linux32/TargetLibraries/include/microblaze -L/OVP//lib/Linux32/TargetLibraries/microblaze-elf
IMPERAS_LDFLAGS =-L -lm -fstack-check -i. -wl、-defsym、_stack_size=0x10000 -wl、-defsym、_heap_size=0x4000000 -limperas
#-limperas flag mus raus wenn die 包括 nicht eingebunden werden
全部:$(EXE)
%.elf:$(obj)$(inCOBJ)
@ echo "#linking $(cross)$@"
$(IMPERAS_LINK)-o $@$^$(IMPERAS_LDFLAGS)
%.o:%.cpp
@ echo "#Compiling $(cross)$<"
$(IMPERAS_CC)-c -o $@$<-D$(交叉)$(优化)
%.o:%.c
@ echo "#Compiling $(cross)$<"
$($(cross)_CC)-c -o $@$<-D$(cross)$(优化)
清理:
rm -rf *。elf *。o
我是否必须告诉编译器*。elf 文件必须与描述的 DIE *。cmd 文件中的文件类似?
是否有人知道我的问题的答案、并能为我提供帮助。
如果您需要任何其他信息或更多信息、请告诉我。
此致、
Johannes