• stm32cubemx+clion环境搭建



    title: stm32cubemx+clion环境搭建
    date: 2021-01-23 13:32:05
    tags: 环境搭建
    cover: https://s3.ax1x.com/2021/01/23/s7unQx.png


    为什么搭建

    需要找到一个keil的替代品用来编译STM32代码。

    环境和所需工具

    软件环境

    1. Windows 10

    2. stm32cubemx

    3. clion-2019

    4. MinGW

    5. arm-none-eabi-gcc

    6. openOCD

    硬件环境

    1. 单片机:小熊派STM32L431RCT6

    2. 下载器:小熊派板载 stlinkV2_1

    工具安装

    工具安装部分正常安装就好了,注意安装目录的选择,尽量不要出现中文。

    STM32CubeMX

    直接去官网下在就可以,安装之前需要安装Java运行环境

    sT5zi6.md.png

    clion

    官网下载2019以后的版本

    CLion 2019.1 EAP: CLion for Embedded Development, Part III

    MinGW

    Clion是基于CMake来管理项目的,所以首选需要配置好预设的MinGW和CMake环境。

    检查是否配置好环境

    sTIbff.png

    arm-none-eabi-gcc

    需要编译arm架构的程序,所以编译工具使用这个。

    检查是否配置好环境

    sTIHtP.png

    openOCD

    OpenOCD是用于对STM32进行下载仿真的工具,是一个开源软件包,Windows版本下从这里下载,下载好解压到一个目录就行。

    sTol9K.md.png

    CLion配置

    【重点】

    Clion是基于CMake来管理项目的,所以首选我们需要配置好预设的MinGW和CMake环境。

    打开File-Settings-Build,Execution,Deployment选项卡,在Toolchains下面添加一个MinGW环境:

    sTbJRP.png

    打开CMake选项栏查看工具链是否正确

    s7ekod.png

    至此Clion环境配置完成,可以创建STM32项目了。

    CLion使用

    STM32CubeMX创建工程模板

    这里创建一个UART1串口打印工程。

    6ntfIg.png

    把IED选择位SW4STM32

    Clion导入工程

    直接打开文件即可。

    File -> Open... ->选择文件夹

    6nNBwT.png

    这个目录和CubeMX创建的目录一样。

    第一次打开工程会弹出板卡配置文件,这里是OpenOCD相关的,里面的配置很可能没有我自己用的芯片型号。选择一个和自己开发板相近的型号,点击Copy to Project & Use。这个文件就会复制到我们的工程根目录下,稍后我们需要修改这个文件。

    6nUFcn.png

    6nUtAO.png

    到这里工程就导入到clion了。

    添加用户文件

    在工程文件右键 -> New -> Directory 。这里创建文件夹test 。软后在test文件夹下依次添加.c/.h文件。注意这add to targets把沟去掉

    6navFS.png
    6naXo8.png
    6naOdf.png

    配置CmakeLists.txt文件

    添加用户文件目录

    6ndAoT.png

    编译下载调试

    (备注:这里使用了另一个工程文件)

    sTqVoj.png

    编译

    点击编译按键,完成提示:

    6nwZHP.png

    下载配置

    选择Edit Configurations,打开配置窗口

    6nwVBt.png

    这边选择工程根目录下的.cfg配置文件,也可以自己创建.cfg文件。

    有关配置文件的编辑可以参考OpenOCD目录下的配置文件。

    sTzZut.md.png

    工程根目录:st_nucleo_l4.cfg,对原来的文件做了改动,注意这里一定要把reset_config srst_only srst_nogate注释。

    # Should work with all STM32L4 Nucleo Dev Boards.
    # http://www.st.com/en/evaluation-tools/stm32-mcu-nucleo.html
    
    source [find interface/stlink.cfg]
    
    transport select hla_swd
    
    # 0x40000 = 256K Flash Size
    set FLASH_SIZE 0x40000
    
    source [find target/stm32l4x.cfg]
    
    # download speed = 2MHz
    adapter speed 2000
    
    # use hardware reset
    #reset_config srst_only srst_nogate
    

    芯片相关特性可以在CubeMX查看,如flash大小。

    6nd57V.png

    接下来回到下载配置,Edit Configurations,选择自己创建配置文件。

    点击下载,软件下方如果打印出** Programming Finished **表示程序已经烧入到单片机了。

    6nwmAf.png

    断点调试

    6nwBv9.png

    参考网站

    Clion:https://www.jetbrains.com/clion/download/other.html

    STM32CubeMX:https://www.st.com/en/development-tools/stm32cubemx.html

    GNU Arm Embedded Toolchain Downloads:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads

    OpenOCD:http://gnutoolchains.com/arm-eabi/openocd/

    OpenOCD用户指南:http://openocd.org/doc/html/

    增加用户文件:https://blog.csdn.net/qq1031150349/article/details/107493969

  • 相关阅读:
    Nginx 之 Nginx配置实例——负载均衡
    Nginx 之 Nginx配置实例——反向代理
    OverFeat:Integrated Recognition, Localization and Detection using Convolutional Networks
    Fourier Transform
    Pytest中使用pytest.exit中断用例执行
    Pytest自定义测试报告
    idea spring源码踩坑日记
    数据结构笔记八:排序
    数据结构笔记七:查找
    数据结构笔记六:图
  • 原文地址:https://www.cnblogs.com/juzhango/p/14490258.html
Copyright © 2020-2023  润新知