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: debug
  choices:
    debug:
      short: Debug
      long: Emit debug information
      buildType: debug
    release:
      short: Release
      long: Optimize generated code
      buildType: 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。

        

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值