Linux下使用Vs Code,gcc,openocd实现STM32调试烧录(问题及解决)

一、操作步骤

Linux下使用VSCode,GCC,OpenOCD实现STM32一键编译烧录调试(STM32CubeMX篇)_linux下使用gcc openocd开发单片机-CSDN博客

二、问题及解决方法

1.安装完后使用lsusb命令未看到ST-link

解决方法:本文使用Vllink Basic2,参照Linux下非root用户授权 — Vllogic 文档修改,仍然识别不到,卸载后按照步骤重新授权来一遍就解决了。

2.安装gcc-arm-none-eabi编译器出现的系列问题

把编译器添加到环境变量

方法一(进当前用户生效):

cd ~
vi .bashrc         // gedit .bashrc
#打开.bashrc后把下面这句添加到最后面
export PATH=$PATH:/opt/gcc-arm-none-eabi-10-2020-q4-major/bin
#保存退出后需要使环境变量生效:
source .bashrc

 方法二(所有用户生效):

sudo vi /etc/profile               //  sudo gedit /etc/profile
#打开/etc/profile后把下面这句添加到最后面
export PATH=$PATH:/opt/gcc-arm-none-eabi-10-2020-q4-major/bin
#保存退出后需要重启使环境变量生效:
reboot

问题一:使用vi命令打开时 打开文本的方式不会操作

解决方法:改用gedit命令,打开的文档为text方式,添加路径保存即可。

问题二:Vs code运行时出现:GDB executable"arm-none-eabi-gdb"was not found.Please configure  "cortex-debug.armToolchainPath" or "cortex-debug.gdbPath"correctly的问题。

解决方法:Step1:怀疑没有安装依赖环境。参照这个博主的方式安装gdb的依赖环境OpenOCD调试ARM芯片,Ubuntu 安装arm-none-eabi-gdb_ubuntu arm-none-eabi-gdb-CSDN博客

Step2:发现arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi文件解压后被锁住了。

①单个文件被锁住的情况:

sudo chmod 777 filename

②文件夹被锁住的情况:

sudo chown -R username filename

username就是你Ubuntu系统安装的时候取得名字,filename就是被锁文件夹名字。

查找username使用的命令为:

w

#或者

who

Step3:检查gdb是否能正常运行。去到arm-none-eabi-gdb所在目录,例如在~/Tools/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin目录下执行:

./arm-none-eabi-gdb

发现可以正常运行

Step4:打开Vs code运行了一遍出现Could not start GDB process,does the program exit in filesystem?Error:spawn/usr/bin/arm-none-eabi-gdb ENOENT问题。

打开Vs code,使用快捷键ctrl+,输入cortex-debug.gdbPath,出现在setting.json中编辑,将路径添加进去,截止到目前步骤都不能成功。

Step5:绕了一圈最终问题还是在绝对路径上,用户第一次登录到系统时,终端的默认路径是用户的主目录,用户可以使用命令`pwd`来查看当前工作目录的路径。

使用以下链接配置绝对路径。

arm-linux-gdb & gdbserver 远程调试工具的搭建与使用_arm gdb调试 不用gdbserver-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值