提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
学习记录
提示:这里可以添加本文要记录的大概内容:
学习ubuntu下使用makefile交叉编译stm32程序,并烧录。
提示:以下是本篇文章正文内容,下面案例可供参考
一、学习流程
示例:了解编译流程
(1)下载并安装stm32f1x交叉编译工具链。
(2)下载安装st-link烧录包
(3)使用烧录工具将程序烧录进开发板
(4)编写makefile 或者 cmake文件
二、实际操作流程
1.下载并安装编译工具链
gcc-arm-none-eabi是一个开源的ARM开发工具链,适用于Arm Cortex-M和Coretex-A系列处理器,包括GNU编译器(GCC),以及GDB,可用于Windows,Linux,MacOS上的交叉编译。
1.1 下载地址与安装
GNU Arm Embedded Toolchain Downloads
选择了gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 版本
(1)解压:
tar -xvf gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2
移动文件
sudo mv gcc-arm-none-eabi-10.3-2021.10 /opt
(2)设置变量环境
为了在系统中使用这个编译器,你需要将其路径添加到系统的环境变量中。打开你的 ~/.bashrc 文件:
nano ~/.bashrc
然后在文件末尾添加如下行
export PATH=$PATH:/opt/gcc-arm-none-eabi-10.3-2021.10/bin
保存关闭并执行代码生效
source ~/.bashrc
验证安装
arm-none-eabi-gcc --version
如下:
1.2 STLINKv2安装
包管理器安装
**通过包管理器安装 stlink 工具,命令如下:
sudo apt install stlink-tools
sudo apt install stlink-gui
安装成功后,系统增加了如下几个工具:
工具 | 功能 |
---|---|
st-flash | 将二进制文件固化到 STM32 设备 |
st-info | 查询已连接 STLink 的 STM32 设备信息 |
st-util | 运行 GDB 服务与 STM32 设备进行交互 |
stlink-gui | STlink 图形化工具 |
方法二
Linux
git clone https://github.com/stlink-org/stlink.git
Common requirements
Install the following packages from your package repository:
git
gcc
orclang
ormingw32-gcc
ormingw64-gcc
(C-compiler; very likely gcc is already present)build-essential
(on Debian based distros (Debian, Ubuntu))cmake
rpm
(on Debian based distros (Debian, Ubuntu), needed for package build withmake package
)libusb-1.0
libusb-1.0-0-dev
(development headers for building)libgtk-3-dev
(optional, needed forstlink-gui
)pandoc
(optional, needed for generating manpages from markdown)
or execute (Debian-based systems only): apt-get install gcc build-essential cmake libusb-1.0 libusb-1.0-0-dev