首页 > 系统相关 >ubuntu18.04安装openocd服务器独立进行gdb调试--Apple的学习笔记

ubuntu18.04安装openocd服务器独立进行gdb调试--Apple的学习笔记

时间:2023-10-29 12:00:59浏览次数:34  
标签:openocd 1.0 Apple -- make dev libusb install

一,前言

之前win10的openocd由于没添加load elf导致无法调试,所以我就在ubuntu中也装了openocd环境,这样就不用依靠win10了。ubntu14.04无法编译openocd,所以换成ubuntu18.04安装openocd。

二,ubuntu18.04安装openocd及gdb调试

1,下载

git clone git://git.code.sf.net/p/openocd/code openocd

2,安装

sudo apt-get install build-essential pkg-config autoconf automake libtool libusb-dev libusb-1.0-0-dev libhidapi-dev libtool libsysfs-dev texinfo

编译安装

cd openocd    #进入目录
./bootstrap     #生成引导环境
./configure     #生成配置如下图所示

make  
make install

openocd -v

3,libusb新版本安装,因为ubuntu18.04中libusb比1.0.22低。 前提

sudo apt-get install autoconf automake libtool
sudo apt install -y libudev-dev

进入安装目录,执行

sh autogen.sh
make
sudo make install

先删除原来的老版本sudo apt-get --purge remove libusb-1.0-0-dev

然后把自己编译的1.0.26版本copy到64bit的lib库路径/usr/lib/x86_64-linux-gnu/下面

cp libusb* /usr/lib/x86_64-linux-gnu/

头文件按原来删除前的样子再创建下 mkdir /usr/include/libusb-1.0/ 然后copy源码中的libusb.h到此文件夹即可

4,安装stlink驱动

# 前提
apt install git make cmake libusb-1.0-0-dev gcc build-essential -y
git clone https://github.com/stlink-org/stlink

cd stlink-develop
cmake . 
make 
make install
ldconfig

将 ST-Link 设备插入 USB 端口,但不要连接目标板,然后键入

lsusb

看到如下信息

Bus 002 Device 004: ID 0483:3748 STMicroelectronics ST-LINK/V2

也可以继续看信息

st-info --probe

三,openocd调试方法

先打开一个控制台作为gdbserver,输入命令

openocd -f /usr/local/share/openocd/scripts/interface/stlink.cfg -f /usr/local/share/openocd/scripts/target/stm32f4x.cfg

再打开一个控制台,作为客户端

arm-none-eabi-gdb -ex "target remote localhost:3333" LED.elf
连接成功后
load LED.elf
然后就可以输入gdb常用命令调试了

和我上一篇文章win10中连接openocd调试效果一样。

四,小结

ubuntu安装openocd服务器其实没什么用,而且还很麻烦,但是既然我尝试了,且过程中自己解决了libusb编译报错,版本升级的问题,这种库升级的方法论是通用的。也算学习到了一招,所以有必要记录。另外将来万一PC环境仅有ubuntu,那么这些步骤记录就起到作用了,毕竟花费了大半天时间,说不定有人要参考,但是我自己其实用不上的,因为openocd安装在win10即可连接ubuntu客户端了,哈哈~

标签:openocd,1.0,Apple,--,make,dev,libusb,install
From: https://blog.51cto.com/AppleCai/8079191

相关文章

  • Modbus协议详解5:Modbus数据模型、寄存器、功能码 (非常重要)
    Modbus是应用层上的协议,还是一种主从的通信协议,通信过程按照一定的协议规则进行,数据的交互也是有固定的格式的。总的来说,Modbus是有着明确且固定的数据模型的,并且通信过程中的数据交互识别是要按照功能码进行的。接下来会介绍Modbus的数据模型、寄存器和功能码。1. Modbus的数据模......
  • 软件工程读后感3-软件需求过程3
    最近,我阅读了掌握需求过程的下一部分。功能性需求描述了产品的动作。它们应该做到能形成一份完整的、尽量避免二义性的产品功能描述。过去,我对于功能性需求的认识不够,将来,我会尽量了解更多有关功能性需求的知识。非功能性需求描述了产品的质量方面的表现——它是否需要快捷、安全......
  • STM32F3系列 ADC采样单端采样模式(基于LL库)
    STM32F3系列ADC单端采样(基于LL库)芯片型号:STM32f303RBT6开发软件:MDK5&CubeMX&VSCode目录目录STM32F3系列ADC单端采样(基于LL库)目录引言1基础知识1.1ADC转换基本流程1.2时钟树1.3关键参数1.3.1位数1.3.2触发信号1.3.3采样时间1.3.4转换时间2CubeMx配置步骤......
  • C语言笔记1
    标识符命名规则:1>标识名只能由字母、数字、下划线组成;2>不能以数字开头(只能以字母或下划线开头);3>不能与系统关键字冲突;C语言语法规定:变量要定义在当前代码的最前面extern声明外部符号局部变量的作用域是变量所在的局部范围全局变量的作用域是整个工程    ......
  • 2023 CSP-S 游记+赛后总结
    Day???去二中高新校区打了初赛,题目不是很难,但是很坑。忘了多少分了,反正过了。Day-1请了一天假,一大早就去二东集合,还和好朋友面基了,八点左右出发。教练在车上说了米哈游的创业故事,让我们士气大涨,在车上看了一会书,觉得头晕,大家都在上学,没人在线,于是就睡了一觉。到了服务区,发......
  • Python:基础&爬虫
    Python:基础&爬虫Python爬虫学习(网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。)一、基础知识准备Python在各个编程语言中比较......
  • szfpga 详细:高云1N1开发板高云gowin软件使用教程
     1.概述  国产FPGA是最近几年起来的产品,具有性价比高特点。高云FPGA,大多用在LED,电机控制,PLC设备上。 高云1N1开发板采用GW1N-LV1QN48C6/I5FPGA器件。具有低功耗,瞬时启动,高安全性,低成本,方便扩展等特点。价格便宜,易扩张,帮助用户快速进入国产FPGA学习。开发板集成多......
  • ensp 简单配置路由添加ip操作小实例
    ensp简单配置路由添加ip操作displaycu#查看路由器配置displayiprouting-table[x.x.x.x]#查看路由表【和x.x.x.x相关的条】案例一、2个路由器配置ip地址给2个路由器配合ip地址,方法一样ipaddressx.x.x.x.x掩码24(255.225.255.0)1.启动2个路由器,有......
  • WPF 控件模板
    控件模板WPF的ControlTemplate是一种用于定义和自定义控件的外观和结构的模板,它可以完全替换控件的默认模板,实现个性化和复杂的效果。WPF的ControlTemplate有以下几个特点:ControlTemplate是一个XAML元素,它可以包含任何类型的UI元素,如布局、形状、图像、文本等,这些元素......
  • VisionPro如何在ToolBlock的输入输出中新增特定类型的集合
    现在系统类型下方定位到泛型集合(下图的HashSet)然后在代码中进行赋值即可改变泛型的具体类型  ......