Linux 环境下开发 STM32

Posted Raina

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 环境下开发 STM32相关的知识,希望对你有一定的参考价值。

1. 下载

1. GNU Toolchain

GNU 工具链里包含了汇编器, 编译器, 链接器, 调试工具等.
下载地址: https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads
下载与自己系统对应的安装包, 我是Linux x86_64的:

2. HAL固件库

下载地址: https://www.st.com/en/embedded-software/stm32cubef4.html

3. STLink驱动

下载地址: https://github.com/texane/stlink

4. STM32CubeMX

下载地址: https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html

2. 安装

1. GNU Toolchain

解压下载好的gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux.tar.bz2, 进入文件夹:

sudo cp -r * /usr/local/

之后输入arm-none-eabi-, 按两下Tab键出现下面这些命令, 说明安装成功:

2. HAL固件库

解压到随意一个路径就行了, 然后进入文件夹:

sudo chmod 755 -R *

3. STLink驱动

同样先解压, 然后进入目录, 然后安装依赖包:

sudo apt-get install libusb-1.0
sudo apt-get install cmake
sudo apt-get install libgtk-3-dev

开始安装, 按顺序输入下面命令:

make release
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
cd Release
sudo make install
sudo ldconfig
cd  ../..
sudo cp etc/udev/rules.d/* /etc/udev/rules.d/
sudo udevadm control --reload-rules
udevadm trigger

安装完成后, 在终端输入st-info --version, 出现版本号则安装成功:

输入stlink-gui可以打开GUI界面:

4. STM32CubeMX

解压, 然后进入解压后的目录:

sudo chmod 755 SetupSTM32CubeMX-5.5.0.exe SetupSTM32CubeMX-5.5.0.linux 
sudo ./SetupSTM32CubeMX-5.5.0.linux 

出现安装界面:






创建图标:

gedit ~/.local/share/applications/STM32CubeMX.desktop

输入下面内容, 保存即可:

[Desktop Entry]
Type=Application
Exec=/usr/local/STMicroelectronics/STM32Cube/STM32CubeMX/STM32CubeMX
Name=STM32CubeMX
GenericName=STM32CubeMX 5.5.0
Icon=/usr/local/STMicroelectronics/STM32Cube/STM32CubeMX/help/STM32CubeMX.ico
Terminal=false
Name[en]=STM32CubeMX.desktop

你可以自己修改Icon=图片路径来修改图标.
点击我们创建的图标就可以打开STM32CubeMX了:

右键->Add to Favorites, 可以固定到任务栏.

3. 使用

1. 创建工程

打开STM32CubeMX

点击File->New Project, 或者快捷键Ctrl+N新建工程:
选择对应的芯片型号, 开始创建工程:

Pinout和Clock的配置根据自己情况来, 然后进入Project Manager:

生成后打开工程所在目录:

在终端make即可:


编译后生成的文件在build目录中:

2. 烧写

sudo st-flash [--reset] write build/STM32_HAL_Proj.bin 0x08000000

若为hex文件:
sudo st-flash [--reset] --format ihex write TEST.hex

以上是关于Linux 环境下开发 STM32的主要内容,如果未能解决你的问题,请参考以下文章

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

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

怎么在ubuntu下开发stm32

STM32+eclipse+Linux下开发

Linux下开发stm32 | 使用gcc-arm-none-eabi工具链编译(转)

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