欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > HPM5301系列--VSCODE开发环境问题修复(一)

HPM5301系列--VSCODE开发环境问题修复(一)

2025/10/9 17:47:09 来源:https://blog.csdn.net/tianizimark/article/details/141613579  浏览:    关键词:HPM5301系列--VSCODE开发环境问题修复(一)

一、目的

        问题描述:在配置工程和编译工程时出现以下提示,并且无法进入调试。

        [cpptools] The build configurations generated do not contain the active build configuration. Using "release" for CMAKE_BUILD_TYPE instead of "Release" to ensure that IntelliSense configurations can be found

        最近更新了hpm-sdk版本到v1.6.0时,在使用以前的工程进行编译时出现以下问题,具体表现为CMAKE_BUILD_TYPE必须使用小写的release/debug,因为cpp-tools要求用小写的。

        

 

 

        cmake-tool默认支持的是DebugReleaseRelWithDebInfo, MinSizeRel这些值,这些默认值是从默认配置中继承过来的。

        

 

        然后从hpm-sdk的更新日志上来看从v1.4.0版本更新CMAKE_BUILD_TYPE的定义

 

        我们从最新的v1.6.0的hpm-sdk/CMakeLists.txt文件中看到

 

        CMAKE_BUILD_TYPE用来决定编译选项CFLAG是"-O3"还是"-g"。

        如果不进行修改,会出现什么具体问题呢?

        能正常构建和编译,但是无法进入调试。

二、解决版本 

        使用CMake Variants解决问题。

        在.vscode目录下新增文件cmake-variants.yaml,具体内容如下:

buildType:default: debugchoices:debug:short: Debuglong: Emit debug informationbuildType: debugrelease:short: Releaselong: Optimize generated codebuildType: release

        原有的文件.vscode/settings.json如下:

{"cmake.buildBeforeRun": true,"C_Cpp.default.configurationProvider": "ms-vscode.cmake-tools","cortex-debug.openocdPath": "${env:HPM_OPENOCD_PATH}/src/openocd","cortex-debug.variableUseNaturalFormat": false,"cmake.configureSettings": {"BOARD":"hpm5301evklite"}
}

        .vscode/launch.json内容如下 :

{"version": "0.2.0","configurations": [{"name": "HPM Debug Jlink","cwd": "${workspaceRoot}","executable": "${command:cmake.launchTargetPath}","request": "launch","type": "cortex-debug","servertype": "jlink","gdbPath" : "${env:GNURISCV_TOOLCHAIN_PATH}/bin/riscv32-unknown-elf-gdb","device": "HPM5301xEGx","interface": "jtag","svdFile":"${env:HPM_SDK_BASE}/soc/HPM5301/HPM5301_svd.xml","runToEntryPoint": "main",// Work around for stopping at main on restart"postRestartCommands": ["break main","continue"]}]
}

        经过添加cmake-variants.yaml文件对CMAKE_BUILD_TYPE值进行复写为debug,而不是Debug。

        

        通过以上的操作,问题就可解决。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词