marlin 支持ide
下载 1.1.9到2.X
利用 vscode 加pio
方式打开stlink 调试器
打开marlin源码
打开platformio.ini 文件
找到有stm32 的marlin 的板子,
debug_tool = stlink
upload_protocol = stlink
上传和调试器都修成stlink 的方式
buuldroot 文件里边同进也修
ldsript.ld 这个是flash ram 的链接脚本
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1024K
stm32 flash 地址,在没有iap 等引导情况下面地址是
0x08000000 这个用的是stm32 f4 大小1024K
{
“build”: {
“core”: “stm32”,
“cpu”: “cortex-m4”,
“extra_flags”: “-DSTM32F407xx”,
“f_cpu”: “168000000L”,
“hwids”: [
[
“0x1EAF”,
“0x0003”
],
[
“0x0483”,
“0x3748”
]
],
“mcu”: “stm32f407zgt6”,
“variant”: “FLY_F407ZG”
},
“debug”: {
“jlink_device”: “STM32F407ZG”,
“openocd_target”: “stm32f4x”,
“svd_path”: “STM32F40x.svd”,
“tools”: {
“stlink”: {
“server”: {
“arguments”: [
“-f”,
“scripts/interface/stlink.cfg”,
“-c”,
“transport select hla_swd”,
“-f”,
“scripts/target/stm32f4x.cfg”,
“-c”,
“reset_config none”
],
“executable”: “bin/openocd”,
“package”: “tool-openocd”
}
}
}
},
“frameworks”: [
“arduino”,
“stm32cube”
],
“name”: “STM32F407ZGT6(192k RAM. 1024k Flash)”,
“upload”: {
“disable_flushing”: false,
“maximum_ram_size”: 196608,
“maximum_size”: 1048576,
“protocol”: “stlink”,
“protocols”: [
“stlink”,
“dfu”,
“jlink”
],
“require_upload_port”: true,
“use_1200bps_touch”: false,
“wait_for_upload_port”: false
},
“url”: “https://www.st.com/en/microcontrollers-microprocessors/stm32f407ZG.html”,
“vendor”: “Generic”
}
pio 的openocd和stlink 驱动在安装包目录,
tool-openocd是调试软件
tool-stm32duino是stlink 调试驱动软件
tool-jlink 是jlink 调试驱动软件
tool-dfuutil 是dfu
全部准备好之后,可以进入调试器调试了
运行里边有调试菜单项,
进入调试器
单步调试