在Keil中打开.map文件的方法

首先,要在VSCode安装STM32CubeMX插件。在VSCode的“Extensions”菜单搜索安装即可。安装完成后,按下F1键,打开命令面板,输入“STM32”,选择“Initialize STM32 project”,输入项目的名称、路径、芯片型号等信息,插件会自动生成项目文件结构和代码模板。 然后,我们需要安装C/C++插件和ARM GCC插件。在VSCode的“Extensions”菜单搜索安装即可。安装完成后,在项目文件夹内新建一个名为“.vscode”的文件夹,在该文件夹内新建一个名为“c_cpp_properties.json”的文件,并输入以下内容: ```{ "configurations": [ { "name": "STM32", "includePath": [ "${workspaceFolder}/**", "${env:ARM_GCC}/arm-none-eabi/include", "${env:ARM_GCC}/lib/gcc/arm-none-eabi/9.2.1/include" ], "defines": [ "USE_HAL_DRIVER", "STM32F407xx" ], "compilerPath": "${env:ARM_GCC}/bin/arm-none-eabi-gcc.exe", "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "gcc-arm" } ], "version": 4 }``` 其,${env:ARM_GCC}是你安装的ARM GCC工具链的路径。如果你没有安装ARM GCC工具链,可以在ST官网下载并安装。在这里,我选择了ARM GCC 9.2.1版本。修改defines的芯片型号为你自己使用的芯片型号。 最后,在VSCode的“File”菜单选择“Open Folder”,打开项目文件夹,选择“New File”创建一个名为“Makefile”的文件,并输入以下内容: ``` TARGET = main MCU_FAMILY = STM32F4xx MCU_MODEL = STM32F407VGTx BUILD_DIR = build SRC_DIR = src INC_DIR = inc CC=arm-none-eabi-gcc LD=arm-none-eabi-gcc OBJCOPY=arm-none-eabi-objcopy CFLAGS = -g -Wall -Werror -std=c11 -D$(MCU_MODEL) -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -ffreestanding -nostdlib -nostartfiles -nodefaultlibs -fno-builtin -I $(INC_DIR) LDSCRIPT = $(MCU_MODEL).ld LDFLAGS = --specs=nano.specs -T $(LDSCRIPT) -Wl,-Map=$(BUILD_DIR)/$(TARGET).map -Wl,--gc-sections -Wl,--print-memory-usage CSOURCES = $(wildcard $(SRC_DIR)/*.c) OBJS = $(addprefix $(BUILD_DIR)/,$(notdir $(CSOURCES:.c=.o))) all : $(BUILD_DIR)/$(TARGET).bin $(BUILD_DIR)/%.o: $(SRC_DIR)/%.c $(CC) $(CFLAGS) -c -o $@ $< $(BUILD_DIR)/$(TARGET).elf: $(OBJS) $(LD) $(LDFLAGS) $^ -o $@ $(BUILD_DIR)/$(TARGET).bin: $(BUILD_DIR)/$(TARGET).elf $(OBJCOPY) -O binary $< $@ clean: rm -rf $(BUILD_DIR)/* .PHONY: clean ``` 其,TARGET为生成的二进制文件名;MCU_FAMILY为芯片家族类型;MCU_MODEL为芯片型号;BUILD_DIR为生成的二进制文件路径;SRC_DIR为源代码路径;INC_DIR为头文件路径。修改以上的变量为你的实际应用。 到这里,我们的环境就设置好了。之后,我们就可以在src文件夹下进行源代码编写,命令行使用“make”编译生成二进制文件,并用ST-Link工具下载到芯片运行了!
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值