环境:Ubuntu 18.04

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

步骤

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

    VSCode

    CubeMX

    STLink

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

    sudo add-apt-repository ppa:team-gcc-arm-embedded/ppasudo apt-get updatesudo 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
  • 烧录完后复位芯片就能看到灯闪起来了。
  • 祝开发顺利!