STM32入门HAL库-基本配置

目录

1. STM32CubeMX

2. CLion

3. Open OCD (On-Chip Debugger)

4 Arm GNU ToolChain

5 CLion配置

6 项目创建

7 进阶配置


采用STM32CubeMX + CLion进行开发。

1. STM32CubeMX

1.1 下载地址:意法半导体官网 (下载需注册ST账号)

1.2 作用:用于配置引脚和外设

1.3 过程:

正常下载安装即可

2. CLion

2.1 下载地址:JetBrains官网 (试用可使用学生认证)

2.2 作用:敲代码。(在代码格式化,代码提示等方面优于Keil)

2.3 过程:

正常下载安装即可

3. Open OCD (On-Chip Debugger)

3.1 下载地址:Open OCD官网

3.2 作用:下载代码

3.3 过程:

下载后解压即可,不需要进行安装

4 Arm GNU ToolChain

4.1 下载地址:Arm官网(官网布局挺乱的)

4.2 作用:交叉编译代码

4.3 过程:

正常下载安装即可,安装后需将bin文件夹添加至环境变量

就是这个:10 2021.10\bin

重启电脑,然后在命令行中输入arm-none-eabi-gcc以检查是否成功

说明安装成功

5 CLion配置

首先来到设置,把路径填写了

假如没有这个选项,转到->设置 插件

把嵌入式关闭再打开就可以了

关于工具链那一坨,CLion版本在2022.3.3及以上应该是不用关心的

6 项目创建

打开STM32CubeMX,根据情况选择合适的选项创建

选择项目存放路径,填写项目名称,更改IDE类型

转到Code Generator,把这个勾上,然后就可以GENERATE CODE了

打开CLion新建项目,嵌入式(没有这个选项就去插件那里关掉再打开)

从现有的源创建,并选择符合实际的配置文件

编写代码后,运行即可将代码下载到单片机

通过CubeMX生成的项目,所有代码均应写在 USER CODE BEGIN - USER CODE END之间

否则代码会在下一次生成时被替换

7 进阶配置

7.1 重定向printf()

在usart.c中可以将其重定向至串口输出,函数内添加需要的操作

注意printf输出东西的时候,最后需要跟\n当然\r\n也行

当然同样也有__io_getchar()用于重定向输入,应该是这样的?没有试过

/* USER CODE BEGIN 1 */
int __io_putchar (uint8_t ch) {
    return 1;
}
/* USER CODE END 1 */

7.2 Debug

debug正常使用即可

如果不行,在CMakeLists里面将编译优化改掉,比如O0

改动将会在下一次生成代码后消失,如需要可在CMakeLists_template中修改

debug可能还会查看寄存器,这个功能需要.svd文件,只有安装了Keil的包以后才能得到

7.3 C++支持

C++提供了许多令人心动的特性,这里提供一种主程序为C并链接C++文件的方法

首先在对应目录下,新建对应文件

然后重新生成代码,不然会显示文件不处于项目中

代码参考如下,函数whoo不包含C++内容,类yep为C++内容

注意,在hpp文件中需要把对应语言声明放在对应位置

hey.cpp

#include "hey.hpp"
#include <vector>

class yep {
    public:
        yep ();
};
yep::yep () {
    auto a= std::vector<int>();
}

int whoo () {
    int a = 1;
    return a;
}

hey.hpp

#ifndef HEY_HPP
#define HEY_HPP

#ifdef __cplusplus
extern "C" {
#endif

int whoo();

#ifdef __cplusplus
}
#endif

#ifdef __cplusplus

class yep;

#endif

#endif // HEY_HPP

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值