赞
踩
1、PC:虚拟机下Ubuntu20.04系统
2、开发板:STM32F103ZET6
不同型号开发板所需开发工具基本一致,启动文件和链接文件存在差异
3、交叉编译工具链:gcc-arm-none-eabi
4、下载调试软件:OpenOCD
选择适合自己系统的进行下载,这里我选择x86_64-linux系统下10.3-2021.10的版本
进入下载目录:为了方便管理我这里在家目录下创建了一个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
进入下载目录,解压下载好的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依赖文件
下载相关依赖后 ,重新运行配置文件
- frank@frank-virtual-machine:~/stm32_tools/openocd-0.12.0$ sudo apt-get install libhidapi-dev libusb-1.0.0-dev
- frank@frank-virtual-machine:~/stm32_tools/openocd-0.12.0$ ./configure --enable-cmsis-dap
配置成功,接下来使用make指令编译安装
- frank@frank-virtual-machine:~/stm32_tools/openocd-0.12.0$ make
- frank@frank-virtual-machine:~/stm32_tools/openocd-0.12.0$ sudo make install
安装完成之后,在/usr/local/share/openocd/scripts/目录下存放着openocd的使用文件interface
文件夹下存放着下载器接口的文件,target
下存放着目标芯片的配置文件(在使用openocd连接开发板时需要用到这两个配置文件)
- frank@frank-virtual-machine:~$ cd /usr/local/share/openocd/scripts
- frank@frank-virtual-machine:/usr/local/share/openocd/scripts$ ls interface
- frank@frank-virtual-machine:/usr/local/share/openocd/scripts$ ls target
需要注意的是,启动openocd之前要确保,调试器连接至虚拟机,而非主机,不然会提示找不到调试设备,是否连接至虚拟机,可通过“虚拟机--可移动设备”进行查看
- # openocd启动时需要使用以下命令添加配置文件
- # openocd -f <调试接口配置文件> -f <目标板配置文件>
- # /usr/local/share/openocd/scripts/目录下存放着openocd的使用文件,interface文件夹下存放着下载器接口的文件,target下存放着目标芯片的配置文件
- frank@frank-virtual-machine:~$ sudo openocd -f interface/cmsis-dap.cfg -f targer/stm32f1x.cfg
出现以下信息说明启动成功
开启新的终端,使用指令telnet localhost 4444 进行连接,注意:启动openocd的终端切勿关闭
frank@frank-virtual-machine:~$ telnet localhost 4444
到此使用linux进行单片机开发所需的环境基本就搭建完成,至于如何使用gcc-arm-none-eabi编译链接、如何进行下载调试,以及最后如何使用makefile进行统一管理,博主还在疯狂更新中。
希望大家在日后的工作学习中能够越来越好。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。