当前位置: 首页 > article >正文

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。

        

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


http://www.kler.cn/news/284564.html

相关文章:

  • 深度学习100问18:什么是负采样
  • chat2DB体验
  • 安卓蓝牙技术的使用和场景
  • 零基础学习Redis(9) -- set类型命令使用
  • CF C. Candy Store
  • 探索Python的Excel力量:openpyxl库的奥秘
  • Git学习尚硅谷(002 git常用命令)
  • SpringMVC-基本详解
  • Java经典框架之MyBatis
  • 机器人外呼的具体操作步骤是怎样的?
  • 避雷!避雷top!杭州拱墅金地·威新科技大厦
  • 斯坦福公开课:CS224W-Machine Learning with Graphs | 2021 课程笔记
  • 【读点论文】Scene Text Detection and Recognition: The Deep Learning Era
  • 【人工智能】项目案例分析:使用TensorFlow进行大规模对象检测
  • 如何打开终端?
  • Linux主要目录速查表:
  • TQRFSOC开发板47DR ADC输入采集测试(二)
  • 贪心算法---根据身高重建队列
  • 什么是 One-Hot 编码?
  • 音视频——RTSP流媒体传输技术介绍及抓包解析
  • 【C++从练气到飞升】17---set和map
  • Vue知识大全【查漏补缺】
  • 【书生3.6】MindSearch 快速部署
  • 深入解析多商户商城系统源码:如何开发直播商城小程序?
  • 知识产权案件中的消费者问卷调查证据
  • windows下载安装Node.js 并切换镜像地址
  • 数据结构与算法 第5天(树和二叉树)
  • 使用 OpenCV 组合和缩放多张图像
  • 【C++】避开 C 语言的格式化输出陷阱:掌握 printf、sprintf、snprintf、fprintf、vsprintf
  • 使用 pnpm workspace 和 standalone 模式构建 Next.js 的 Docker 镜像