首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么STM32CubeIDE在调试时不显示SFR寄存器?

为什么STM32CubeIDE在调试时不显示SFR寄存器?
EN

Stack Overflow用户
提问于 2022-08-13 22:25:06
回答 1查看 240关注 0票数 2

我在STM32CubeIDE中导入了一个带有选项“MakefileProjectwith现有代码”的项目。我在不使用任何IDE的情况下创建了这个项目,所以我不得不编写自己的makefile。

代码语言:javascript
复制
CC = arm-none-eabi-gcc -c
LD = arm-none-eabi-gcc

LIBNAME_OPENCM3 = opencm3_stm32f1

OPT = -Os
DEFS += -DSTM32F1
DIR_OPENCM3 = ./libopencm3
DIR_INC = ./inc
DIR_OBJ = ./obj
DEBUG = -ggdb3
LDSCRIPT = stm32f1.ld

DIR_FLAGS = -I$(DIR_INC)

ARCH_FLAGS = -mthumb -mcpu=cortex-m3

LDFLAGS += --static -nostartfiles
LDFLAGS += -T$(LDSCRIPT)
LDFLAGS += $(ARCH_FLAGS) $(DEBUG)
LDFLAGS += -Wl,-Map=$(*).map -Wl,--cref
LDFLAGS += -Wl,--gc-sections
ifeq ($(V),99)
LDFLAGS     += -Wl,--print-gc-sections
endif
LDFLAGS += -u _printf_float
LDFLAGS += -L$(DIR_OPENCM3)/lib

LDLIBS += -l$(LIBNAME_OPENCM3)
LDLIBS += -Wl,--start-group -lc -lgcc -lnosys -Wl,--end-group

CFLAGS += $(OPT) $(DEBUG) $(ARCH_FLAGS)
CFLAGS += -Wextra -Wshadow -Wimplicit-function-declaration
CFLAGS += -Wredundant-decls -Wmissing-prototypes -Wstrict-prototypes
CFLAGS += -fno-common -ffunction-sections -fdata-sections
CFLAGS += -std=c11

DEFS += -I$(DIR_OPENCM3)/include

PREPFLAGS = -MD -Wall -Wundef $(DEFS)

OBJS = $(DIR_OBJ)/main.o \
        $(DIR_OBJ)/bmp180.o

main.elf : $(OBJS) $(LDSCRIPT)
    $(LD) $(LDFLAGS) $(OBJS) $(LDLIBS) -o main.elf
$(DIR_OBJ)/%.o : %.c
    mkdir -p $(DIR_OBJ)
    $(CC) $(CFLAGS) $(DIR_FLAGS) $(PREPFLAGS) $< -o $@
clean :
    rm -rf $(DIR_OBJ) *.elf *.map *.d
all :
    make

该项目已成功编译并正在运行,但当我开始调试时,这个IDE没有显示SFR寄存器。窗户是空的。

我创建了一个不同的项目,这次使用IDE,它向我展示了寄存器。

我想这和我的makefile有关。是否有一个额外的标志,我需要添加,或为什么会发生这种情况?

EN

回答 1

Stack Overflow用户

发布于 2022-08-30 13:11:32

过了一段时间后,我又遇到了同样的问题(在Win10上使用Win10 1.9.0 )。

当我将一个现有的makefile项目导入IDE时,所有这些都是生成的.能够在IDE中进行调试(使用STLINK),但是SFR视图奇怪地是空的.

我通过玩"Project“设置解决了问题,尽管IDE本身发出了威胁消息(可惜:S )

导入后,该项目配置了三个性质: ccnature、ScannerConfigNature

  • I、managedBuildNature,添加了第四个性质: MCUProjectNature (从显示的对话框中的列表中选择STM32CubeIDE项目)

哒!

项目属性(最后!)开始显示CMSIS-SVD设置选项卡,该选项卡允许我指向描述所使用的MCU的.SVD设备文件。

我指定了这个字符串(复制自一个完全在IDE中生成的项目):

platform:/plugin/com.st.stm32cube.ide.mcu.productdb.debug/resources/cmsis/STMicroelectronics_CMSIS_SVD/STM32xxxx.svd

(用微控制器替换xxxx,在STM32CubeIDE安装插件文件夹中搜索*.svd)

我希望这能减轻人的头撞墙寻找解决办法的痛苦。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73347992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档