硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1905|回复: 13
收起左侧

[其它] Clion学习记录1:windows环境下,clion编译仿真stm32工程。

  [复制链接]

39

主题

199

回帖

326

积分

高级会员

积分
326
发表于 2022-6-29 19:41:49 | 显示全部楼层 |阅读模式
本帖最后由 会飞的猪_2020 于 2022-6-29 19:51 编辑

昨天看到硬汉哥帖子《为何像JetBrains公司做IDE就可以养活自己,而国内做大型对公软件都很难养活公司》,心血来潮买了一个月的CLion,所以今天在网络上找了一下相关资料,怎么编译仿真stm32工程。 clion购买记录.png
花了我60多块大洋好心痛。然后就去向技术支持发邮件,问有没有相关的教程文档,毕竟是花了钱的,要硬气。
CLion技术支持.png

然后根据下面这两篇文档,成功编译仿真了一个最小工程。
https://www.jetbrains.com/help/clion/embedded-development.html
https://zhuanlan.zhihu.com/p/145801160
这里对整个过程进行一个记录。
下面是最后实现的效果图:
image-20220629154942307.png

具体过程我也同步到我的个人博客里了 https://beeeeeelazy.github.io/2022/06/29/using-clion-develop-stm32/(还没完全写完)。
目前体验下来,感觉MDK是最好用的,主要有很多东西我不知道在这个Clion里如何配置,如果有大佬知道,可以告诉我。



1.Window Terminal的安装
Terminal安装参考链接: https://zhuanlan.zhihu.com/p/351281543

使用gcc -varm-none-eabi-gcc -v检测是否存在编译环境。
根据参考链接,安装好Terminal之后,在桌面右键open in terminal打开一个Window PowerShell ,键入

[C] 纯文本查看 复制代码
gcc -v

[C] 纯文本查看 复制代码
arm-none-eabi-gcc -v

如果当前环境已经存在gccarm-none-eabi-gcc的开发环境,则可以看到它们的安装路径,如果已经存在了,则直接跳到第3节。
image-20220629084916179.png




2.MinGW和arm-none-eabi-gcc的安装
https://osdn.net/projects/mingw/releases/
打开上面这个链接,点击图片里的按钮下载Mingw设置工具。
image-20220629090700948.png
安装方式为一路next,不需要更改配置,默认路径直接安装在C盘里,如果要个更改安装路径,注意安装进目录不要有空格。
Basic Setup界面,左键单击小方框,再勾选 Mark for installstion。把Basic Setup里的选项都勾上。
image-20220629091045335.png
然后点击installation - Update Catalogue,在弹出的界面中点击 Review Change,再点击 Apply。等待更新完成。

2.1编辑环境变量
在这里我们需要把MinGW的路径添加到系统环境变量里,如果知道如何添加直接看下一节。
这里简单赘述一下,win10系统下为如下方式,win11同理。

右键我的电脑-属性在设置界面里输入环境变量,选择编辑系统环境变量

image-20220629112141285.png
单击环境变量,双击Path
image-20220629112615399.png
点击新建,然后把gcc.exe的位置添加进去
image-20220629113109917.png

2.2安装arm-none-eabi-gcc
https://developer.arm.com/downloads/-/gnu-rm
打开上面的链接,把窗口往下拉,找到这个,我们下载.exe的安装包。
image-20220629091937435.png
下载完成后,安装它,一路next,安装完成之后勾选Add path to enviroment varibale
然后重启电脑



3.Clion相关配置
默认你已经安装好CLion

3.1生成CubeMX并添加
使用STM32CubeMX新建一个工程,注意工程名字路径中不要带 ()。如果找不到Cmke Moudle,可能是你工程名字中带了括号的原因。

在IDE选项里,选择 STM32CubeIDE。其他的配置就和平时大家玩CubeMX一样,没有什么特殊的地方。

image-20220629142847422.png

打开CLion,选择File-Open
image-20220629143125832.png

然后选择.ioc文件,它会弹出提示,选择open as Project,然后信任这个文件夹。

然后该工程就会被添加到工作区。

3.2 配置编译器并build工程
在界面的右上角点击小齿轮按钮然后选择设置
image-20220629143746938.png
Build Execution ...里选择Toolchains,点击+号,增加一个新的环境,命名为MinGW-STM32,然后在Toolset里面选择MinGW的路径C CompilerC++ Compiler选择你下载的arm-none-eabi-gcc.exe的路径。
Snipaste_2022-06-29_19-25-46.png


都选择好之后,点击下方的cmake ,再点击 Reload按钮(那个小圆圈按钮)。
image-20220629144503571.png
如果一切配置没有问题,那么会提示构建成功。
这时候右上方的 Build按钮已经可以使用了。
image-20220629144700140.png
点击这个小锤子。
image-20220629144720629.png
如果配置没问题会提示编译成功,生成了elf文件。

3.3配置OpenOCD并单步调试
https://gnutoolchains.com/arm-eabi/openocd/
打开上面的链接,下载Open OCD,解压到你喜欢的目录。

点击右上角齿轮图标进入Settings,点击Embedded..,把你的Open OCD的路径填入。
image-20220629150017491.png

点击TEST,如果没问题,会出现以下界面。‘
image-20220629150141697.png

点击Edit Configurations,新建一个OpenOCD配置文件.
Snipaste_2022-06-29_19-31-10.png
image-20220629145359282.png

在你的工程目录下,新建一个 .config文件夹,里面放入一个OpenOCD的配置文件,笔者这里用的是Dap-Link,所以这个.cfg文件命名为daplink.cfg。实际上这个叫什么都是无所谓的。
image-20220629150420812.png
Board config file 里,把这个配置文件的路径填入。
image-20220629150617623.png


现在的关键就是.cfg文件里面如何填写,如果是和笔者一样的dap-link如下方式填写,然后修改flash_size大小和下载速度即可。
[C] 纯文本查看 复制代码
[Python] 纯文本查看 复制代码
#选择下载器类型为DAPLINK
adapter driver cmsis-dap
transport select swd

#设置目标工程的FLASH大小
set FLASH_SIZE 0x20000

source [find target/stm32l0.cfg]

#下载速度10M
adapter speed 10000


实际上我们需要修改的是三点:1.下载器类型  2.目标FLASH大小  3.目标芯片型号

在 scripts文件夹下 board是一些开发板的cfg文件,interface是不同的编译器,target是目标芯片。
image-20220629153747263.png

下面这张图片是一些官方开发板的cfg配置
image-20220629153913760.png
下面这张图片是不同的下载器
image-20220629154054758.png
下面这张图片是不同的目标芯片
image-20220629154247143.png

因为笔者对这个语法并不是很熟悉,具体cfg的配置也是从网络上抄袭别人的。手头上没有别的型号的下载器只有一个DAP-LINK,DAP-LINK我尝试了是没问题的。

4.疑问
这里我发现了几个问题,但是还没鼓捣明白,如果有知道的大佬可以告诉我
1.第一个就是openOCD调试的时候貌似无法动态观察变量,就是每次查看变量的值必须是暂停的时候才可以?不知道这个怎么改动可以让他像MDK一样,能够动态观察。
2.第二个就是这么改分散加载文件,比如我有一个boot一个app,那我怎么让app的程序下载的地址产生偏移?
3.另外不知道为什么论坛里排版完毕后,在最后面会多一些我没添加的图片。。比如下面这些图片都是我不想添加的,但是不知道怎么删除..
image-20220629143104109.png
image-20220629150551966.png
image-20220629151724971.png
image-20220629154925237.png
image-20220629155306934.png
image-20220629160736289.png
Snipaste_2022-06-29_19-46-20.png

评分

参与人数 1金币 +100 收起 理由
eric2013 + 100

查看全部评分

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106937
QQ
发表于 2022-6-29 21:25:33 | 显示全部楼层
谢谢楼主分享,初步来看也是个套壳玩法,类似VSCODE + GCC + CMAKE + openocd,基本跟eclipse也一样了。

楼主的第1个问题,我可以回复,openocd跟其它的调试是一样的玩法,比如我这个就是Openocd。MDK,IAR等支持的玩法,他都支持。

H7-TOOL高速DAPLINK用于Embedded Studio操作说明,采用OpenOCD配GDB Server(2021-12-08)
https://www.armbbs.cn/forum.php?mod=viewthread&tid=109999
回复

使用道具 举报

1

主题

369

回帖

372

积分

高级会员

积分
372
发表于 2022-6-29 21:45:48 | 显示全部楼层
下手真快,看了硬汉哥的帖子我也试下clion
回复

使用道具 举报

0

主题

101

回帖

101

积分

初级会员

积分
101
发表于 2022-6-30 09:51:16 | 显示全部楼层
我刚安装完clion,试用版激活
就看到了帮助
回复

使用道具 举报

0

主题

101

回帖

101

积分

初级会员

积分
101
发表于 2022-6-30 10:00:21 | 显示全部楼层
还是继续用 MDK + SI
回复

使用道具 举报

210

主题

1044

回帖

1684

积分

至尊会员

More we do, more we can do.

积分
1684
发表于 2022-6-30 12:42:44 | 显示全部楼层
回复

使用道具 举报

13

主题

192

回帖

231

积分

高级会员

积分
231
发表于 2022-6-30 13:14:36 | 显示全部楼层
楼主干的漂亮,但是我还是选择vscode
回复

使用道具 举报

73

主题

1197

回帖

1416

积分

至尊会员

积分
1416
发表于 2022-6-30 15:13:17 | 显示全部楼层
直接eclipse了。而且还免费的
回复

使用道具 举报

3

主题

75

回帖

84

积分

初级会员

积分
84
发表于 2022-6-30 18:45:51 | 显示全部楼层
问下clion的价格是?
回复

使用道具 举报

6

主题

640

回帖

658

积分

金牌会员

积分
658
QQ
发表于 2022-6-30 22:42:22 | 显示全部楼层
感谢楼主分享
回复

使用道具 举报

39

主题

199

回帖

326

积分

高级会员

积分
326
 楼主| 发表于 2022-7-1 08:40:30 | 显示全部楼层
gjeoi 发表于 2022-6-30 18:45
问下clion的价格是?

订阅制。89美元一年,如果是老用户(连续订阅多年的)还有优惠,最低是59美元一年。https://www.jetbrains.com/zh-cn/store/#personal?billing=yearly

CLion价格.png
回复

使用道具 举报

0

主题

22

回帖

22

积分

新手上路

积分
22
发表于 2022-7-1 09:04:20 | 显示全部楼层
看起来跟vscode那一套蛮类似的
回复

使用道具 举报

3

主题

30

回帖

39

积分

新手上路

积分
39
发表于 2022-7-1 13:39:03 | 显示全部楼层
认识clion是因为稚晖君,编辑器比keil不知道强多少倍,可以用C++,但是调试好像并没有keil那么便捷。
回复

使用道具 举报

14

主题

57

回帖

99

积分

初级会员

积分
99
发表于 2022-7-25 14:25:30 | 显示全部楼层
这个直接看稚晖君的教程就可以啦    优雅开发stm32   主要是jetbrains 输入提示太舒服了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-11 01:44 , Processed in 0.211642 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表