vscode +STM32 VS CODE EXTENSION

stm32 vs code extersion 1.0.0版本可以直接导入cubeide的工程,之后版本不可以,所以为了省事,使用stm32 vs code extersion 1.0.0插件。

安装完stm32 vs code extersion插件,会默认把相关插件一起安装。但是需要手动安装Ninja,下载地址Releases · ninja-build/ninja · GitHub 下载适合自己的版本并解压本地,然后在环境变量中添加对应路径。为了避免莫名奇妙的问题,将相关插件又手动安装并添加到全局变量中。

使用STM32 VS CODE EXTENSION 1.0.0导入cubeide工程使用cmake编译报错

复制代码
target_link_options(
    ${TARGET_NAME} PRIVATE
    "$<$<CONFIG:Debug>:-mcpu=cortex-m4>"
    "$<$<CONFIG:Debug>:-mfpu=fpv4-sp-d16>"
    "$<$<CONFIG:Debug>:-mfloat-abi=hard>"
    "$<$<NOT:$<CONFIG:Debug>>:-mcpu=cortex-m4>"
    "$<$<NOT:$<CONFIG:Debug>>:-mfpu=fpv4-sp-d16>"
    "$<$<NOT:$<CONFIG:Debug>>:-mfloat-abi=hard>"
    -T
    "$<$<CONFIG:Debug>:${PROJECT_SOURCE_DIR}/STM32F407VETX_FLASH.ld>"
    "$<$<NOT:$<CONFIG:Debug>>:${PROJECT_SOURCE_DIR}/STM32F407VETX_FLASH.ld>"
    "$<$<CONFIG:Debug>:SHELL:\"${workspace_loc:/${ProjName}/Drivers/DSP/libarm_cortexM4lf_math.a}\">"
)

最后一行错误

其中 ${workspace_loc:/${ProjName}/Drivers/DSP/libarm_cortexM4lf_math.a} 是从IDSTM32CubeIDE中的一个变量引用,但在CMake中,冒号 :$ 具有特殊意义,因此直接使用这种格式会导致语法错误。

修改建议

你可以将路径直接写死,或者根据CMake的语法,将其调整为一个合法的路径引用格式。例如,如果你知道这个路径的确切值,可以将其替换为绝对路径或相对路径:

复制代码
"$<$<CONFIG:Debug>:${CMAKE_SOURCE_DIR}/Drivers/DSP/libarm_cortexM4lf_math.a>"

或者,如果路径是相对的,你可以使用以下的CMake变量:

"$<$<CONFIG:Debug>:${PROJECT_SOURCE_DIR}/Drivers/DSP/libarm_cortexM4lf_math.a>"

另外,SHELL: 是用来在 shell 环境中执行命令的,通常用于在构建命令中包含一些复杂的 shell 脚本命令。如果这个路径引用不需要通过 shell 解析,那么你可以去掉 SHELL:,直接使用路径即可。

相关推荐
普中科技4 小时前
【普中STM32F1xx开发攻略--标准库版】-- 第 45 章 FSMC-外扩 SRAM 实验
stm32·单片机·嵌入式硬件·fsmc·普中科技·外扩sram·is62wv51216
sinat_255487816 小时前
第七部分。介绍MVC(模型-视图-控制器)模式
java·ide·http·tomcat·intellij-idea
初一初十7 小时前
vue3茶叶商城网站vue网页vuejs前端
前端·javascript·vue.js·vscode·前端框架
嵌入式ZYXC7 小时前
第3篇:《面试题:I2C为什么要加上拉电阻?阻值怎么选?》
stm32·单片机·嵌入式硬件·面试·职场和发展
你疯了抱抱我8 小时前
【STM32】使用 STM32CubeMX 生成项目,LED测试;上位机:STM32F411CEU6
stm32·单片机·嵌入式硬件
Algorithm_Engineer_9 小时前
如何利用Pycharm进行分布式的Debug训练
ide·分布式·pycharm
Jumbo星10 小时前
新版vscode侧边资源管理器的文件搜索
ide·vscode·编辑器
今天的你比昨天进步了?10 小时前
单片机程序,keil可以正常编译,VScode编译报错处理
vscode·单片机·嵌入式硬件
ABAP-張旺11 小时前
ABAP:Visual Studio Code開發ABAP教程
ide·vscode·编辑器
嵌入式小站11 小时前
STM32 零基础可移植教程 24:SPI Flash 读数据,先从指定地址读几个字节
chrome·stm32·嵌入式硬件