一、CubeIDE下载与安装

CubeIDE下载地址:CubeIDE
windows用户选择如下图所示:
cubeide_download
下载玩软件后就可以直接安装了,安装过程中会提示安装两个驱动一个是JLink、一个是STLink
新手玩家建议都装了,大佬就当我没说。
之后双击打开软件即可看到如下界面:
cubeide_launcher
之后就可以新建工程了
cubeide_startup
在下图中选择使用的芯片
cubeidechip

二、固件包路径更换

在之后就会发现一个坑,他会要求你安装一个固件包,但考虑到我的C盘快满了,因此想要将固件包放到别的盘,但发现他不像CubeMX一样有update setting可以设置固件包的路径,在我寻找了半天后,终于被我找到了!!
你可以通过Window—>Preferences—>STM32Cube—>Firmware Updater中进行修改
如下图所示
cubeide_firmware
但是有一点要注意:
CubeIDE貌似不会保存用户的配置,因此建议在新建工程之前就进行路径的配置
在新的工程中,他的路径貌似会自动恢复默认值,暂时未发现有效措施,有办法的话再过来修改。
不过有一点让我仍然很不舒服的是:如果我将固件库装在别的硬盘,当我重新建工程,他仍然会将固件库指向C盘,这让我很头疼,如果有大佬知道如何一劳永逸,请务必在评论区告诉我。。。。
因此目前而言,如果重新建工程,请在一开始的时候(在新建STM32工程前)通过WIndows—>Preferences中把地址改成之前固件库的地址。
另外如果,是重新新建工程,他可能会提示你更新,如下图所示
cubeide_download_selected_files
这绝对是伴随着CubeMX一起过来的,如果不想出现这个界面,在更换器件库地址的时候,可以在下方直接选择Off Line Mode。
cubeide_preference

三、硬件配置及代码编写

OK,现在来初步上手CubeIDE吧。
首先我们新建工程,选择器件,在这里我选择的STM32H750BVB系列,并整好了固件库后,我们就会进入一个十分类似CubeMX的界面,在这个界面中,所有操作基本跟CubeMX一样。
这里我们首先是进行RCC时钟的配置

cubeide_rcc

之后选择LED的引脚进行配置

cubeide_gpio

这里的配置根据自己的需求和硬件原理图来进行设置。
之后我们进行时钟树的配置

2021/6/7更新

之前我这里都没有注意,在配置时钟树的时候,一定要注意芯片晶振的频率,像下图中,我实际上晶振频率只有8M,但这边配置成25M,导致我在run的时候出现了各种奇妙的bug,包括printf输出乱码的问题。

cubeide_clock

这里我们时钟树的配置是按照正点原子的来进行的,具体对时钟树的配置可以去了解一下正点原子STM32H750的hal库开发手册。
之后只需直接ctrl+s保存就可以生成代码了。
之后在main.c中加入如下代码
cubeide_main
ctrl+B即可进行编译

四、烧录代码并进行运行调试

cubeide_run

第一次运行,会蹦出这个界面

cubeide_run_config
直接run即可

cubeide_debug直接运行,到现在为止,LED跑马灯就成功实现了。

五、代码自动补全

CubeIDE具有代码补全功能,但这个功能需要 alt+/ 才能实现,但寻求便捷也可以尝试安装插件,具体流程可以参考这个链接
给你的cubeIDE加上翅膀–添加类似keil的代码补全功能!
虽然网上可能有别人做好的,但可能因为版本差异,不一定好用,所以自己尝试吧。
如果下载过慢,建议先开启全局魔法,在进行下载。
下面这个是我整理好的
org.eclipse.cdt.ui_6.7.1.202005220422.jar-嵌入式文档类资源-CSDN下载

六、Cube IDE中文显示问题

因为MDK一般都是用GBK编码,而CubeIDE默认是utf-8编码,所以在一些注释上常常引起乱码,但这个还好,关键是在显示oled或者lcd显示中文时,由于代码编码的问题容易引起错误。

具体解决方案:右键项目->Properties->Resource

cubeide_properties

或许你会发现下拉没有GBK的选项,但你可以选择手动输入,这个貌似是隐藏选项。。。。

七、加入已有驱动

已有的代码可以直接复制到工程目录下,然后再CubeIDE里面F5刷新就会出现了

cubeide_refresh

至于头文件的加入可以从Project->Properties->C/C++ General -> Paths and Symbols -> Add

cubeide_c_c++_general

cubeide_add_direction

加入即可

八、CubeIDE下使用printf

在CubeIDE下使用printf,需要在配置好串口后,在串口的usart.c文件的一开头加入以下代码

1
2
3
4
5
6
7
8
9
10
11
12
#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;
}

如果需要使用printf进行浮点型的输出,则需要在下面的界面中,将两个勾打上。

cubeide_c_build

另外 printf输出的时候,在CubeIDE的环境下最好在后面加入\r\n否则,数据会缓存在串口,直到达到一定的数量才会显示出来。