如何在M2芯片上配置Clion并编译下载stm32程序

前言

本文以我在M2 pro芯片的Mac os系统上配置Clion来完成我学习和开发stm32工程的经历,分享在配置过程中的问题和解决。本文当然不限于M2芯片,而是对于整个Apple Sillicon ARM芯片的mac电脑适用。

开始安装和配置

首先中,无论是windows还是macOS,使用Clion配置stm32环境都需要你安装stm32CubeMX,当然安装Clion(学习版:你懂的)也是必不少的,这里我不介绍安装这两个软件。另外,在macOS上使用和编译C你需要安装Xcode工具,可以减少不必要的麻烦,在Apple Store上即可安装,然后在Xcode里安装macOS环境包即可。

在macOS上交叉编译stm32你需要一下三个工具:

1.Arm-toolchain工具链和arm-none-eabi-gcc用于编译debug

brew install --cask gcc-arm-embedded

        亲测brew install arm-none-eabi-gcc会有问题没法用

        使用arm-none-eabi-gcc -v判断是否正确安装

2.openocd工具用于下载程序       

 brew install open-ocd

        使用openocd -v判断是否正确安装

3.stlink如果你用的是stlink下载器就需要这个

brew install stlink

注:安装这些工具需要macOS在已经安装好brew install工具的基础上完成,请先自行安装好brew包工具。

配置Clion

1.打开clion安装Embeded Development Support插件

2.然后在设置中配置工具链

3.在配置中配置嵌入式

4.创建一个工程

创建过程中我碰到一个提示,但是不会影响我的项目创建,点OK就行,有大佬可以帮我解决么?好像是跟Java环境有关

如果你已经正确配置CubeMX,就可以看到“用Stm32CubeMX打开”,正常用CubeMX打开即可,一般默认是进入了stm32f030f4的配置界面,点击前面的配置芯片即可:我这里用f103c8t6

除了正常的配置外,你需要在SYS内配置你需要的Debug模式,我这里是stlink的JTAG

在Project Manger页面需要配置好你的项目名和项目位置,这里的你项目要放在没有中文的路径中,不然编译会报错!选择STM32CubeIDE并勾选后后面的选项即可Generate Code,因为Clion已经创建了一个.ioc文件,cubeMX会弹出overwrite的提示,OK即可。

这里选择你需要的开发板“复制到项目并使用”,不然你得自己配置CMake

如果你的配置没问题,看一看到这里的编译配置

使用stlink编译和下载

如果你使用的stlink下载器,在项目根目录下新建文件夹stlink.cfg,编辑如下(需要根据使用的芯片做一定的更改)

source [find interface/stlink.cfg]

transport select hla_swd

source [find target/stm32f1x.cfg]

reset_config srst_only

然后在编译器中更改配置文件

看见下面的编译信息,你就编译和下载成功了

重定向printf:除了在CubeMX中配置usart和中断,在main.c文件中添加#include <stdio.h>

#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif

PUTCHAR_PROTOTYPE
 {
    HAL_UART_Transmit(&huart1, (uint8_t *) &ch, 1, 0xFFFF);
    return ch;
 }

物联沃分享整理
物联沃-IOTWORD物联网 » 如何在M2芯片上配置Clion并编译下载stm32程序

发表评论