当前位置:   article > 正文

STM32学习指南之Linux开发环境搭建_stm32 linux

stm32 linux

一、搭建准备:

1、PC:虚拟机下Ubuntu20.04系统

2、开发板:STM32F103ZET6

      不同型号开发板所需开发工具基本一致,启动文件和链接文件存在差异

3、交叉编译工具链:gcc-arm-none-eabi

4、下载调试软件:OpenOCD

二、开发工具及配置:

1、交叉编译工具链:gcc-arm-none-eabi

1)下载Downloads | GNU Arm Embedded Toolchain Downloads – Arm Developer

           选择适合自己系统的进行下载,这里我选择x86_64-linux系统下10.3-2021.10的版本

2)安装:

进入下载目录:为了方便管理我这里在家目录下创建了一个stm32_tools文件夹,编译工具及调试软件均放在该目录下

frank@frank-virtual-machine:~$ cd stm32_tools/

解压文件 

frank@frank-virtual-machine:~/stm32_tools$ tar -xjvf gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2    

配置环境变量:以便在任何目录下都可以运行编译工具

frank@frank-virtual-machine:~/stm32_tools$ sudo nano ~/.bashrc

在文件最后一行加入以下代码,保存并退出:家目录根据自己实际情况进行修改

export PATH=$PATH:/home/frank/stm32_tools/gcc-arm-none-eabi-10.3-2021.10/bin

刷新环境变量使之生效

frank@frank-virtual-machine:~/stm32_tools$ source ~/.bashrc

 运行测试,如出现以下信息说明环境变量配置正确

frank@frank-virtual-machine:~/stm32_tools$ arm-none-eabi-gcc -v

2、调试软件:OpenOCD

1)下载:Download openocd-0.12.0.tar.gz (OpenOCD - Open On-Chip Debugger)

2)安装:

进入下载目录,解压下载好的OpenOCD文件,注意这里和gcc-arm-none-eabi压缩包格式不同解压指令略有差别

frank@frank-virtual-machine:~/stm32_tools$ tar -zxvf openocd-0.12.0.tar.gz

进入解压后的文件目录

frank@frank-virtual-machine:~/stm32_tools$ cd openocd-0.12.0/

运行配置文件查看相关配置: 会发现相关调试器基本都没有打开

frank@frank-virtual-machine:~/stm32_tools/openocd-0.12.0$ ./configure

重新运行配置文件,并在后面添加配置参数:根据自己的使用的下载器进行添加,因为我使用的是CMSIS-DAP下载器,所以以此为例

frank@frank-virtual-machine:~/stm32_tools/openocd-0.12.0$ ./configure --enable-cmsis-dap

一个警告一个报错,一个提示说安装libusb-1.x文件,一个提示说需要hidapi依赖文件

下载相关依赖后 ,重新运行配置文件

  1. frank@frank-virtual-machine:~/stm32_tools/openocd-0.12.0$ sudo apt-get install libhidapi-dev libusb-1.0.0-dev
  2. frank@frank-virtual-machine:~/stm32_tools/openocd-0.12.0$ ./configure --enable-cmsis-dap

配置成功,接下来使用make指令编译安装 

  1. frank@frank-virtual-machine:~/stm32_tools/openocd-0.12.0$ make
  2. frank@frank-virtual-machine:~/stm32_tools/openocd-0.12.0$ sudo make install

 安装完成之后,在/usr/local/share/openocd/scripts/目录下存放着openocd的使用文件interface文件夹下存放着下载器接口的文件,target下存放着目标芯片的配置文件(在使用openocd连接开发板时需要用到这两个配置文件

  1. frank@frank-virtual-machine:~$ cd /usr/local/share/openocd/scripts
  2. frank@frank-virtual-machine:/usr/local/share/openocd/scripts$ ls interface
  3. frank@frank-virtual-machine:/usr/local/share/openocd/scripts$ ls target

三、连接STM32开发板,测试OpenOCD

1、使用openOCD

需要注意的是,启动openocd之前要确保,调试器连接至虚拟机,而非主机,不然会提示找不到调试设备,是否连接至虚拟机,可通过“虚拟机--可移动设备”进行查看

  1. # openocd启动时需要使用以下命令添加配置文件
  2. # openocd -f <调试接口配置文件> -f <目标板配置文件>
  3. # /usr/local/share/openocd/scripts/目录下存放着openocd的使用文件,interface文件夹下存放着下载器接口的文件,target下存放着目标芯片的配置文件
  4. frank@frank-virtual-machine:~$ sudo openocd -f interface/cmsis-dap.cfg -f targer/stm32f1x.cfg

出现以下信息说明启动成功 

2、连接目标板 

开启新的终端,使用指令telnet localhost 4444 进行连接,注意:启动openocd的终端切勿关闭

frank@frank-virtual-machine:~$ telnet localhost 4444

到此使用linux进行单片机开发所需的环境基本就搭建完成,至于如何使用gcc-arm-none-eabi编译链接、如何进行下载调试,以及最后如何使用makefile进行统一管理,博主还在疯狂更新中。

希望大家在日后的工作学习中能够越来越好。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/406266
推荐阅读
相关标签
  

闽ICP备14008679号