《嵌入式 - STM32开发指南》手把手教你搭建STM32开发环境 [Linux版 - 2]

Posted Bruceoxl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《嵌入式 - STM32开发指南》手把手教你搭建STM32开发环境 [Linux版 - 2]相关的知识,希望对你有一定的参考价值。

5 make编译源码

前面通过 STM32CubeMX 生成 Makefile 工程,那么就需要一个工具来识别Makefile文件,也就是make工具,在Linux中已经自带make了,这里就不需要安装了。

在编译之前,先来看看什么是makefileMakefile 可以简单的认为是一个工程文件的编译规则,描述了整个工程的编译和链接等规则。其中包含了那些文件需要编译,那些文件不需要编译,那些文件需要先编译,那些文件需要后编译,那些文件需要重建等等。编译整个工程需要涉及到的,在 Makefile 中都可以进行描述。换句话说,Makefile 可以使得我们的项目工程的编译变得自动化,不需要每次都手动输入一堆源文件和参数

在源码路径下执行make进行编译。

编译成功打印信息如下:

6 STM32CubeProgrammer烧写工具使用

STM32CubeProgrammer 简称 STM32CubeProg,是一个适用于 STM32 系列产品的跨平台、多合一的程序烧写工具。

  • 跨平台” 体现在支持 Windows、macOS 和 Linux 操作系统,因此软件运行时需要 Java 环境。
  • 多合一” 体现在支持通过 USB、ST-LINK、UART、OTA 多种方式来烧写固件。

6.1 ST-link驱动安装

1.安装依赖包

$sudo apt-get install libusb-1.0
$sudo apt-get install libusb-1.0-0-dev
$sudo apt-get install libgtk-3-dev

2.下载源码

$git clone https://github.com/texane/stlink.git

3.编译
在命令行终端中输入命令进行编译:

$cd stlink

编译:

$make
$cd build/Release 

安装编译库文件:

$sudo make install 

更新库文件:

$sudo ldconfig

【注】默认编译Release版本,当然也可指定debug版本。
现在可以使用st-link驱动了。如果使用STM32CubeProgrammer烧写就不用使用st-link自带的烧写软件。

【注】如果不使用STM32CubeProgrammer烧写,就需要将st-link中编译的软件复制到/usr/bin中。

其中st-flash用于烧写,st-info用于查看软件信息,st-util是GDB调回工具。

我们一般会用到st-flash和st-util,只需要将这两个文件复制到/usr/bin目录下即可,下面给个例子示范如何烧写固件到STM32中。

$sudo st-flash write STM32f1.bin 0x8000000

6.2 STM32CubeProgrammer安装

下载 en.stm32cubeprog.zip 并解压缩,里面有三个安装文件,分别对应三个操作系统平台。
├── SetupSTM32CubeProgrammer-2.5.0.app # MacOS 安装
├── SetupSTM32CubeProgrammer-2.5.0.exe # Windows 安装
└── SetupSTM32CubeProgrammer-2.5.0.linux # Linux 安装

在 Ubuntu 中,执行如下命令即可安装

$sudo ./SetupSTM32CubeProgrammer-2.5.0.linux


【注1】安装时需要将所有文件en.stm32cubeprog_v2-5-0.zip压缩的所有文件放在同一目录。

【注2】安装完成后运行不起来,出现 “错误:找不到或无法加载主类 com.st.app.Main” 的错误提示。原因是 ST 的 工具是使用 Oracle 的 JDK 进行开发的,而不是 Ubuntu 默认安装的 Open-JDK。

安装后默认在/usr/local/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin目录下,运行STM32CubeProgrammer即可:

$ ./STM32CubeProgrammer

创建快捷方式:

$sudo cp /usr/local/STMicroelectronics/STM32Cube/STM32CubeProgrammer.desktop /usr/share/applications

接下来,再浏览文件夹/usr/share/applications,有STM32CubeProgrammer.desktop文件,现在可以在快捷方式中打开软件。

6.3 STM32CubeProgrammer烧写程序

下面介绍由STM32CubeProgrammer烧录bin或者hex到开发板的过程。

1.连接板子STlink,并将STlink连接到电脑。

2.打开STM32CubeProgrammer,默认配置即可。

如果连接正常会识别设备号,点击“connect”即可进行连接。

连接成功如下:

打开一个bin或者hex文件,然后点击“download”。

等待下载完成即可。

【注1】如果是Ubuntu应先检查STLink按是否连接到到虚拟机中,执行lsusb命令如果出现STMicroelectronics STM32 STLink字样设备,代表st-link已经连接到ubuntu。

[ps]笔者使用的虚拟机。
【注2】如果STlink版本过低,是无法使用的,可使用ST-Link Upgrade进行固件升级。

最后按在板子的复位按钮,LED就不断闪烁。




代码获取方法

1.长按下面二维码,关注公众号[嵌入式实验楼]
2.在公众号回复关键词[Environment_for_STM32]获取资料




欢迎访问我的网站

BruceOu的哔哩哔哩
BruceOu的主页
BruceOu的博客
BruceOu的CSDN博客
BruceOu的简书
BruceOu的知乎

以上是关于《嵌入式 - STM32开发指南》手把手教你搭建STM32开发环境 [Linux版 - 2]的主要内容,如果未能解决你的问题,请参考以下文章

《嵌入式 - STM32开发指南》手把手教你搭建STM32开发环境 [Linux版 - 3]

《嵌入式 - STM32开发指南》手把手教你搭建STM32开发环境 [Linux版 - 3]

《嵌入式 - STM32开发指南》手把手教你搭建STM32开发环境 [Linux版 - 1]

《嵌入式 - STM32开发指南》手把手教你搭建STM32开发环境 [Linux版 - 1]

《嵌入式 - STM32开发指南》手把手教你搭建STM32开发环境 [Windows版 - 2]

《嵌入式 - STM32开发指南》手把手教你搭建STM32开发环境 [Windows版 - 2]