Configure STM32 Development Environment On Linux Server

在linux上搭建stm32的开发环境 Modified: 2024-10-03 21:15:32 Created: 2024-09-11 12:36:49 Tags: #stm32 #cross compile #linux #arm

STM32 是一系列由 STMicroelectronics 生产的 32 位微控制器,广泛应用于嵌入式系统开发。网上大多数教程都是在 windows 在用 keil 开发,这里介绍在 Linux 服务器上搭建 STM32 的开发环境。

本文介绍 stm32 开发工具的安装。需要安装介个工具:

  1. 编辑器,写代码总需要一个编辑器吧。这里选择 vscode。
  2. stm32cubemx,st 公司开发出的用于生成代码的工具。显然比起从零开始写代码,我觉得改代码可能要轻松点。
  3. gcc 交叉编译器,咱写的代码需要经过编译才能在单片机上运行。
  4. 驱动。确切地说是让电脑能够识别单片机,把写好的代码传送到单片机上。这个和硬件高度相关,这里用 ch343 驱动。
  5. 调试工具,写代码总是离不开调试吧。openocd,open on chip debugger。

当然这些工具的安装并没有先后顺序,咱就一一开始吧。最后会以 hello world 的例子来介绍。

1. 编辑器安装

使用 vscode,当然也可以用 cursor。 去官网下载即可。

2. stm32cubemx 安装

STM32CubeIDE 是由 STMicroelectronics 提供的官方集成开发环境,它集成了代码编辑器、编译器、调试器等工具。 下载之前,需要在 st 官网上注册一个账户。

然后选择

  1. 访问 STM32CubeIDE 的官方网站下载最新版本的安装包:STM32CubeIDE
  2. 运行安装脚本。例如,如果下载的文件名为STM32CubeIDE_1.9.0_linux.tar.gz,则解压后运行:
cd STM32CubeIDE_1.9.0_linux
./install.sh

3. 交叉编译工具

2.1. 安装 GCC ARM Embedded Toolchain

STM32CubeIDE 默认使用 GCC ARM Embedded Toolchain 进行编译。访问 GCC ARM Embedded Toolchain 的官方网站:GCC ARM Embedded。下载适合 Linux 的版本。

tar -xzf gcc-arm-none-eabi-10.3-2021.07-x86_64-linux.tar.bz2
sudo mv gcc-arm-none-eabi-10.3-2021.07 /usr/local
echo 'export PATH=/usr/local/gcc-arm-none-eabi-10.3-2021.07/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

4. 安装 st-link 工具

当代码编译好之后,需要通过串口的方式把代码下载到单片机上。

5. 安装 OpenOCD

OpenOCD 全称是 open on chip debugger,是一个开源的调试器,用于与 STM32 微控制器进行通信。通过包管理器安装 OpenOCD。

sudo apt install openocd # ubuntu
sudo dnf install openocd # redhat

6. 点亮流水灯

到此为止,所有的工具都已经安装完成。这里用一个点亮流水灯的程序来验证前面的配置是正确的。 点亮流水灯就是 stm32 的 hello world。

6.1. 实现原理

流水灯就是一串led等连续发光。单片机有一堆引脚,有些引脚可以作为输出引脚。 当然,在引脚上能看到的就是电平的高低。led是单向导通的,需要在正极处输入高电平,在负级处输入低电平。这个时候有两种思路。

  1. 将led的负极连接到低电平,正极连接到单片机。当单片机输出高电平时候就

6.2. 代码生成

用stm32cubemx进行。此时有四个

通电实际运行。

总结

在 Linux 服务器上搭建 STM32 开发环境,可以充分利用 Linux 的稳定性和性能,为 STM32 开发提供强大的支持。通过上述步骤,你可以轻松地在 Linux 服务器上搭建起一个完整的 STM32 开发环境,开始你的嵌入式开发之旅。