Linux/Windows配置stm32免费开发环境详细流程

简介: Linux/Windows配置stm32免费开发环境详细流程 系统:linux mint 18.3 xfce,windows10  stm32开发板:正点原子mini板(stm32f103rc)  烧写器:stlink v2  如果是JLINK的可以参考这篇  需要软件: 链接:https://pan.

Linux/Windows配置stm32免费开发环境详细流程

系统:linux mint 18.3 xfce,windows10 
stm32开发板:正点原子mini板(stm32f103rc) 
烧写器:stlink v2 
如果是JLINK的可以参考这篇 
需要软件:

链接:https://pan.baidu.com/s/1nxgh1VF 密码:rvzu


2018/4/1更新

系统:manjaro xfce 64bit 
stm32型号:f407vet6 
烧写器:stlink v2

基于arch Linux的manjaro安装软件更加简单方便,步骤和下列初版教程一样,为了运行stm32cubemx和sw4stm32,需要安装jdk或者jre环境,我自己把两个都安装上了,在manjaro的软件包管理器搜索安装,如下图 
这里写图片描述

下载安装stm32cubemx和sw4stm32下面有介绍,这里就介绍一下manjaro下安装stlink和openocd的教程,非常简单,终端执行

$ yaourt stlink

  
  
  • 1

$ yaourt openocd

  
  
  • 1

前提是已经安装了AUR软件包管理器yaourt ,其实在安装sw4stm32的时候就会提示安装stlink驱动的,应该那时就已经安装了stlink驱动了,为了确保顺利重新安装了一遍。


在win系统下下载安装上面两个软件很简单,但是记得要先安装java运行环境,可以前往java官网下载,相关教程自行百度。 
下面主要介绍Linux环境下的配置:

(1) STM32CubeMX(4.24.0) ,STM32CUbeF1

第一个是配置stm32并且生成代码的软件,下载来后里面有win,linux两平台的软件,双击linux文件安装。第二个stm32f1系列的软件包,使用STM32CubeMX需要用到。

(2) sw4stm32 (目前最新2.4版本,2018/01/16)

ac6和st联合开发,基于eclipse,这个下载比较困难建议用axel多线程下载,博主是之前在win使用IDM下载的 
注意:前面两个软件下载需要注册帐号,一个是ST帐号,一个是openstm32帐号,sw4stm32是run文件的,linux安装run文件教程请自行搜索。

使用另一台电脑安装前面两个软件的时候遇到了麻烦,新装的linux mint 18.3 xfce系统,没有java环境,经过测试,安装了Openjdk环境(直接下载的jdk失败了) 
终端执行下面命令 
apt install openjdk-8* 
安装和jdk8相关的软件(我自己没有安装最新的jdk9,有兴趣的伙伴可以试试)

安装sw4stm32的时候还好,run文件很好安装,网上教程一大堆(主要是要有java环境),安装STM32CUbeMX的时候,之前在自己电脑是直接双击SetupSTM32CubeMX-4.23.0.linux,但是出现了下列错误报告 
无法执行文件 “SetupSTM32CubeMX-4.23.0.linux”. 
执行子进程“/home/mint/App/en.stm32cubemx/SetupSTM32CubeMX-4.23.0.linux”失败(没有那个文件或目录).

查找一番后,通过下面的方法解决了问题 
终端执行 
java -jar SetupSTM32CubeMX-4.23.0.exe 
然后就可以安装了 
安装完以后要想打开,进入安装目录,例如我的在/home/mint/App/stm32cubemx/ ,目录下有个执行文件STM32CubeMX ,如果发现双击无法运行并且出现前面的错误提示,同样在终端执行

java -jar STM32CubeMX

  
  
  • 1

为了避免每次都那么麻烦,可以在桌面建立一个启动器,启动命令为java -jar /home/mint/App/stm32cubemx/STM32CubeMX

(3) gcc-arm-none-eabi

ARM的编译链(参考链接:http://blog.csdn.net/zhengyangliu123/article/details/54783443) 
关于这一点,我自己和网上的不太同,我在windows下面使用的是网站https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads 下载的工具链,也有linux64版本的,但是我自己电脑在安装完sw4stm32后能正常编译,所以不知道是本机就带有还是sw4stm32安装的时候带有,没有做深入探讨,希望大神告知,在后面要烧写的时候看到错误提示没有gdb,就使用apt安装了,在终端执行下面命令:

sudo apt install gdb-arm-none-eabi

看到apt推荐安装gcc-arm-none-eabi,所以又安装上了

sudo apt install gcc-arm-none-eabi

我的操作应该是手动安装了ARM需要的编译工具链,而直接在上述网站下载的是已经提供好的整体的工具链,只要把安装目录写到环境变量让系统能找到软件目录即可。

这是linux的stlink驱动,安装考链接: 
ubuntu安装stlink 红联 
Ubuntu安装STLINK CSDN博客 
安装stlink的时候一定要先安装依赖,不然make的时候就会出错。

(5) openocd

下载后解压,解压后有INSTALL安装指导教程,就是linux一般软件的安装步骤,先./configure,然后make,然后sudo make install。 
要先安装stlink驱动,不然在./configure 检查环境的时候会提升找不到相关驱动

执行完以上步骤,stm32在linux环境下的开发环境就已经完成了,如果过程中出现任何其他问题请自行百度。

下面介绍简单的基于STM32CubeMX的流水灯。 
先介绍怎么打开STM32CubeMX,很简单,进去安装目录,例如我的安装目录如下图: 
这里写图片描述 
直接双击运行即可,或者命令行运行,如果觉的不方便的话可以在桌面建立启动器,在linux mint下非常简单,自定义图标也方便,在安装目录下的help子目录有个图标文件STM32CubeMX.ico,使用gimp将其转化为png格式就可以作图标使用了,ubuntu系统下好像比较麻烦。顺便吐槽一下,以前用ubuntu总是有莫名其妙的bug,后来知道mint是排名第一的linux系统,也是基于utuntu开发的,但是稳定性非常好,这样mint就相当于即有ubuntu的流行性,又有自身的稳定性,这一点也是我从win环境全面移植到linux的主要原因(不是双系统喔,其实并没有那么糟糕)。

sw4stm32安装后会自动在桌面上生成快捷方式。

(1)打开STM32CubeMX,点击左上角工具栏Help–>Install New Libraries,点击左下角From Local…,选择之前下载的STM32CUbeF1 
这里写图片描述

(2) 在stm32cubemx下选择 New Project,选择芯片型号,正点原子Mini板是STM32F103RCT6,选择PA8和PD2,点击选择GPIO——Output,如下图: 
这里写图片描述

(3)选择工具栏Project–>settings,设置按下图: 
这里写图片描述 
这里写图片描述

(4)点击Configuration,选择GPIO,更改PA8和PD2的Output level和最大输出速率 
这里写图片描述

(5) 点击Project–>Generate Code,就会在之前设置的目录下生成如下目录: 
这里写图片描述

(6) 生成工程后有这么些文件,然后用sw4stm32打开: 
详细过程参考https://community.arm.com/cn/b/blog/posts/linux-stm32—nucleo-f429zi 
选择 File->Import->General->Exist Project into Workspace 
这里写图片描述

或者直接在刚刚生成的目录下,进去子目录SW4STM32/led2,双击.cproject ,会自动使用sw4stm32打开的

(7)先点击Build(锤子的标志),一般不会有问题,然后修改main.c代码如下图,实现跑马灯效果 
这里写图片描述

(8) 点击run(绿色箭头的标志),烧写到stm32里面,实现预定效果

原文地址https://blog.csdn.net/ouening/article/details/79114354

相关文章
|
6天前
|
存储 监控 数据处理
【STM32】详细讲述 USART_IRQHandler() 的工作流程和原理
- UART5_IRQHandler的主要任务是响应各种UART中断事件并执行相应的处理。 - 典型的处理中断步骤包括检查中断类型、读取或写入数据寄存器、处理数据或错误、清除中断标志等。 - 实际的中断处理逻辑会根据具体应用的需求进行调整。
31 1
|
1月前
|
存储 负载均衡 Java
如何配置Windows主机MPIO多路径访问存储系统
Windows主机多路径(MPIO)是一种技术,用于在客户端计算机上配置多个路径到存储设备,以提高数据访问的可靠性和性能。本文以Windows2012 R2版本为例介绍如何在客户端主机和存储系统配置多路径访问。
83 13
如何配置Windows主机MPIO多路径访问存储系统
|
15天前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
27天前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
59 9
|
23天前
|
Dart 搜索推荐 IDE
Windows下Zed编辑器配置Dart环境
本文介绍了Dart编程语言及其主要框架Flutter的优势,并推荐使用轻量级编辑器Zed进行Dart开发。详细步骤包括Dart环境的安装与配置,Zed编辑器的安装与个性化设置,以及如何在Zed中编写并运行Dart的HelloWorld程序。通过自定义任务实现Dart文件的快速运行,提高了开发效率。
|
25天前
|
监控 安全 网络安全
Windows Server管理:配置与管理技巧
Windows Server管理:配置与管理技巧
65 3
|
29天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
40 5
|
2月前
|
Java Linux 网络安全
NIFI在Linux服务区上的部署配置过程是什么?
【10月更文挑战第21天】NIFI在Linux服务区上的部署配置过程是什么?
59 2
|
4月前
|
Ubuntu Linux 虚拟化
安装Windows Linux 子系统的方法:适用于windows 11 版本
本文提供了在Windows 11系统上安装Linux子系统(WSL)的详细步骤,包括启用子系统和虚拟化功能、从Microsoft Store安装Linux发行版、设置WSL默认版本、安装WSL2补丁,以及完成Ubuntu的首次安装设置。
1160 2
|
7月前
|
Linux Windows Ubuntu
Windows 使用 Linux 子系统,轻轻松松安装多个linux
Windows 使用 Linux 子系统,轻轻松松安装多个linux
659 0
Windows 使用 Linux 子系统,轻轻松松安装多个linux