乐趣区

关于visual-studio-code:LinuxSTM32Linux下用CubeMXVSCode点亮LEDSTM32

环境:Ubuntu 18.04

  加上调试局部当前文章有些长了,去掉当前写了一篇只讲配环境建工程和下载的。

步骤

  • 装置 VSCode、STM32CubeMX、STLink 驱动(如果用 STLink),参考链接如下:

    VSCode

    CubeMX

    STLink

  • 而后,装置 arm-none-eabi-gcc,这里笔者采纳新增 PPA 的形式进行装置。

    sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
    sudo apt-get update
    sudo apt-get install gcc-arm-embedded

装置信息中显示所装置的版本为 7 -2018q2-1~bionic1。

  • 而后,依照个别的办法应用 Cube 新建个点灯的工程(假如咱们点 PC13 上的灯),设置 HSE、设置 Debug、设置 GPIO、配置时钟树 …… 最初在 Project Manager 页面抉择 ToolChain 为”Makefile“而后生成代码。首次应用某种器件时须要装置对应的库,确认后期待片刻即可。
  • 键入 code 关上 VSCode,装置插件 ”C/C++”,而后,用 VSCode 关上 Cube 生成的工程目录(比方你的工程要是叫”F4_blink“的话 Open Folder 的时候就选这个)。
  • VSCode 界面下按 F1,输出 Edit configurations 并抉择 Edit configurations(JSON),而后会关上一个 c_cpp_properties.json 的文件,默认的内容大略是上面这样的:

    {
        "configurations": [
            {
                "name": "Linux",
                "includePath": ["${workspaceFolder}/**"
                ],
                "defines": [],
                "compilerPath": "/usr/bin/gcc",
                "cStandard": "gnu11",
                "cppStandard": "gnu++14",
                "intelliSenseMode": "linux-gcc-x64"
            }
        ],
        "version": 4
    }

局部条目须要做点改变。关上工程目录下的 Makefile 文件,把 C_INCLUDES 的内容搬到 inlcudePath 下,把 C_DEFS 的内容搬到 defines 下。留神,可能须要做些批改,比方原来的内容可能是 -ICore/Inc 这样格局的,去掉”-I“后参考上面内容的格局写。

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": ["${workspaceFolder}/**",
                "Core/Inc",
                "Drivers/STM32F4xx_HAL_Driver/Inc",
                "Drivers/STM32F4xx_HAL_Driver/Inc/Legacy",
                "Drivers/CMSIS/Device/ST/STM32F4xx/Include",
                "Drivers/CMSIS/Include"
            ],
            "defines": [
                "USE_HAL_DRIVER",
                "STM32F401xC"
            ],
            "compilerPath": "/usr/bin/arm-none-eabi-gcc",
            "cStandard": "gnu11",
            "cppStandard": "gnu++14",
            "intelliSenseMode": "linux-gcc-x64"
        }
    ],
    "version": 4
}
  • 而后,关上 Core/Src/main.c,熟练地敲出如下的点灯代码:(并保留)

    HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13);
    HAL_Delay(500);
  • VSCode 中关上终端(TERMINAL,关上默认终端的快捷键为 Ctrl + \`),键入 make 进行编译,完结后会多一个 build 文件夹,外面有生成的.bin .elf 等文件。
  • 插上 STLink 并接好线,键入 st-info --probe 看是否检测到调试器和连贯到的芯片,能够的话就持续键入如下指令:

    st-flash write ./build/ 你的指标文件.bin 0x08000000
  • 烧录完后复位芯片就能看到灯闪起来了。
  • 祝开发顺利!
退出移动版