使用环境
<!-- 必须 告知插件运行的环境,帮助开发者定位问题 -->
- 操作系统版本:win10
- 操作系统平台(x86/x64):x64
- VsCode 版本:1.82
- EIDE 插件版本:最新
- C/C++ 插件版本:最新
- 何种编译器(keil_c51/sdcc/armcc5/armgcc/...):armgcc
- 编译器版本(非编译问题可忽略):
板子是F767的
描述问题
<!-- 使用简明清晰的语言描述您的问题 -->
想要把程序下载到RAM中进行执行和调试,而不是先烧录到FLASH。
已经切换了链接脚本为RAM的,并且也定义了相关宏
但是在烧录时报了如下的错:
ST-LINK SN : 002600393331511434333834
ST-LINK FW : V3J13M4B5S1
Board : STLINK-V3SET
Voltage : 3.25V
JTAG freq : 1777 KHz
Connect mode: Normal
Reset mode : Software reset
Device ID : 0x451
Revision ID : Rev Z
Device name : STM32F76x/STM32F77x
Flash size : 1 MBytes
Device type : MCU
Device CPU : Cortex-M7
BL Version : 0x__
Memory Programming ...
Opening and parsing file: F767IG_Test1.hex
File : F767IG_Test1.hex
Size : 85760 Bytes
Address : 0x20000000
Erasing memory corresponding to segment 0:
Download in Progress:
圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹 100%
File download complete
Time elapsed during download operation: 00:00:00.769
Verifying ...
Read progress:
圹圹圹圹圹圹圹圹北北北北北北北北北北北北北北北北北 100%
Download verified successfully
RUNNING Program ...
Address: : 0x8000000
Warning: failed to run application!
Warning: The core is kept under Reset!
Error: Start operation failed
我知道这是必然会出现的,因为如果单独使用stm32programmer也需要单独填写如下部分:
但是我不知道如何在vscode中添加它。
并且如果我想用Cortex-Debug来进行调试,我又应该如何添加json中的选项呢?
{
"cwd": "${workspaceFolder}",
"executable": "build\Debug\F767IG_Test1.elf",
"name": "Debug ST-Link",
"request": "launch",
"type": "cortex-debug",
"runToEntryPoint": "main",
"showDevDebugOutput": "none",
"servertype": "stlink",
"interface": "jtag",
"toolchainPrefix": "arm-none-eabi",
"svdFile": ".pack/STMicroelectronics/STM32F7xx_DFP.1.0.3/CMSIS/SVD/STM32F7x7_v1r2.svd"
}
也就是说,在此基础上,我应该添加什么东西才能让程序从ram中启动并且调试
添加“启动地址”一类?
屏幕截图
<!--使用一些截图能够更好地展现问题 -->
链接脚本:
宏:
期望现象
<!--您期望应该产生的,但实际上却没有发生的结果-->