10 Ubuntu下配置STMCubeMX与CLion IDE联合环境搭建(不包含下载CLion的教程)

news/2024/11/29 14:54:11/

序言

果然作为一名测控系的学生,纯搞视觉多少还是有点与专业脱节,决定入坑嵌入式。选择STM32进行入门,并且使用CubeMX加CLion作为我的第一个真正意义上的嵌入式开发环境(大一的时候玩过一段时间,但是没什么技术)。

STMCubeMX下载与安装

官网下载压缩包。(如果之前没有在ST上逛,那么需要注册一下,很快,几分钟就好了)
关于版本,我就建议用最新版就行。
在这里插入图片描述
收到邮件后,选择立刻下载即可。
下载完成后,是一个zip压缩包,解压,并对Setup文件赋予777执行权限。

chmod 777 SetupSTM32CubeMX-<your-version>

然后双击文件图标或者命令行中启动这个文件,即可开始安装。
一般来说会安装到用户目录下。安装完成后,其实双击安装完成后的目录中那个可执行文件就已经可以打开CubeMX了。

编译安装OpenOCD

预编译软件包

可以使用下面命令直接安装,但是Ubuntu预编译版本你懂的,或许不会那么新。建议编译安装。

sudo apt-get install openocd

源码编译安装

在GIthub上找到这个项目
openocd
发现在这个项目中有一个子模块,于是在clone的时候要加上参数。

git clone git@github.com:openocd-org/openocd.git --recursive

安装编译工具与包依赖。

sudo aptitude install libtool libsysfs-dev 
sudo apt install build-essential pkg-config autoconf automake libtool libusb-dev libusb-1.0-0-dev libhidapi-dev

开始编译

cd openocd
sudo ./bootstrap
sudo ./configure
sudo make -j8
sudo make install

使用openocd --version命令,如果能正常输出版本等信息的话,则说明安装成功。

gcc-arm-none-eabi安装

这个也可以进行源码安装,不过使用预编译的包也没什么。
安装命令很正常:

sudo apt install gcc-arm-none-eabi

安装STLINK的驱动

从github上下载:
我这里的链接是目前最新的1.7.0版本,如果你看到文章的时候有更新的版本可以考虑选择更新的

下载deb包后,使用命令

sudo dpkg -i stlink_1.7.0-1_amd64.deb 

进行安装。

结束

进行了这些安装之后,从道理上来说,就可以在CLion中创建CubeMX项目了。
但是还需要一些配置。
在这里插入图片描述
在设置中配置好openocd和cubemx。可以点击右边的测试来看自己找的文件是否正确。然后发现,自动初始化了CubeMX的新项目。

然后cubemx说需要安装一些开发版的信息,并且要登陆后安装,这就是后话了。


http://www.ppmy.cn/news/1112922.html

相关文章

day-53 代码随想录算法训练营(19)动态规划 part 14

1143.最长公共子序列&#xff08;坐牢&#xff09; class Solution { public:int longestCommonSubsequence(string text1, string text2) {int ntext1.size(),mtext2.size();vector<vector<int>>dp(n1,vector<int>(m1,0));for(int i1;i<n;i){for(int j1…

【UE虚幻引擎】UE源码版编译、Andorid配置、打包

首先是要下载源码版的UE&#xff0c;我这里下载的是5.2.1 首先要安装Git 在你准备放代码的文件夹下右键点击Git Bash Here 然后可以直接git clone https://github.com/EpicGames/UnrealEngine 不行的话可以直接去官方的Github上下载Zip压缩包后解压 运行里面的Setup.bat&a…

饲料添加剂 微生物 屎肠球菌

声明 本文是学习GB 7300.503-2023 饲料添加剂 第5部分&#xff1a;微生物 屎肠球菌. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本文件规定了饲料添加剂屎肠球菌的技术要求、采样、检验规则、标签、包装、运输、贮存和保质 期&#xff0…

【RUST】HashMap、vector和String

HashMap 新建一个哈希hash use std::colection::HashMap;let mut scores HashMap::new();scores.insert(String::from("Blue"), 10); score.Vector 访问vec中的元素 # 报错&#xff1a;不能在相同作用域中同时存在可变和不可变引用&#xff1b; fn main() { le…

git 推送出现fatal: The remote end hung up unexpectedly解决方案

在使用git更新或提交项目时候出现 "fatal: The remote end hung up unexpectedly " 的报错&#xff1b; 报错的原因原因是推送的文件太大。 下面给出解决方法 方法一&#xff1a; 修改提交缓存大小为500M&#xff0c;或者更大的数字 git config --global http.po…

用Jmeter进行压测详解

简介&#xff1a; 1.概述 一款工具&#xff0c;功能往往是很多的&#xff0c;细枝末节的地方也很多&#xff0c;实际的测试工作中&#xff0c;绝大多数场景会用到的也就是一些核心功能&#xff0c;根本不需要我们事无巨细的去掌握工具的所有功能。所以本文将用带价最小的方式讲…

社区团购商城小程序v18.1开源独立版+前端

新增后台清理缓存功能 修复定位权限 修复无法删除手机端管理员 11月新登录接口修复&#xff01; 修复商家付款到零钱&#xff0c; 修复会员登陆不显示头像&#xff0c; 修复无法修改会员开添加绑定

【C语言】用冒泡排序实现my_qsort

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家了解如何用冒泡排序实现my_qsort&#xff0c;如果你觉得我写的还不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 目录 一. 前言二. 冒泡排序三. 4个参数3.1 第一个参数void* base3.2 第二个参数…