OpenOCD简介和下载安装(Ubuntu)

news2024/11/28 19:47:16

文章目录

      • OpenOCD简介
      • OpenOCD软件模块
      • OpenOCD源码下载
      • OpenOCD安装

OpenOCD简介

OpenOCD(Open On-Chip Debugger)开放式片上调试器
OpenOCD官网 https://openocd.org/,进入官网点击 About 可以看到OpenOCD最初的设计是由国外一个叫Dominic Rath的学生在毕设上提出来针对ARM7和ARM9芯片的片上调试
在这里插入图片描述
OpenOCD主要提供针对嵌入式设备的调试、系统编程和边界扫描功能。它需要与仿真器配合使用,仿真器是一种能够提供调试目标电信号的小型硬件单元,这是因为调试主机(即运行OpenOCD的主机)通常不具备这种电信号的直接输出能力
在实际应用中,例如在使用Clion进行嵌入式开发时,可以与OpenOCD进行集成,以方便在Clion中进行调试和烧录操作。此外,OpenOCD还支持一种称为Semihosting的功能,即利用OpenOCD(Debug-Module)可以直接访问CPU上的memory来达到数据吞吐的目的

OpenOCD软件模块

OpenOCD官网打开Dominic Rath的论文在其50也可以看到最初设计架构中的软件模块组成
在这里插入图片描述

OpenOCD源码下载

官网上面也提供源码下载,选择Git源码仓库链接进入Git仓库(此处有坑,先看完这一小节再操作)
在这里插入图片描述
直接拷贝git指令在ubuntu中进行源码拷贝
在这里插入图片描述git仓库源码拷贝,拷贝完成后在路径下将多出来一个 openocd-code 文件夹
在这里插入图片描述
源码下载后就是执行 ./configure 指令进行OpenOCD配置,但是 ls -l 后的文件中就是没有 configure 文件,这就很尴尬了
在这里插入图片描述
第二种源码下载方式,Windows下载OpenOCD源码压缩包,在OpenOCD远程仓库选择 Summary → Download 下载压缩包到Windows
在这里插入图片描述
再通过share文件夹放进Ubuntu,解压后打开 openocd-0.12.0 文件夹,目前最新版本的OpenOCD为0.12.0,可看到文件夹下有 configure 文件
在这里插入图片描述

OpenOCD安装

终端打开OpenOCD路径下,运行指令 ./configure ,后面加上调试器类型,这里用的调试器是J-Link,等待OpenOCD进行配置
在这里插入图片描述
配置完成后可以看到OpenOCD的当前配置表
在这里插入图片描述下一步,make编译,没装make的需要先 sudo apt-get install make -y 一下,编译可能会出现以下报错
在这里插入图片描述
报错原因是缺失pkg-config包,sudo apt-get install pkg-config -y 安装
在这里插入图片描述
完成后make,正常的话会蹦出来另一个报错,LIBTOOL未定义
在这里插入图片描述
安装libtool, sudo apt-get install libtool -y
在这里插入图片描述
安装完成过后继续make,发现还是一样的报错内容,安装报错提示打开文件 configure.ac,查找是否定义了 LT_INIT
在这里插入图片描述
如有对应定义,那就终端直接运行 aclocalautoconf,再make,正常会开启几分钟左右的编译
在这里插入图片描述
sudo make install 进行软件安装
在这里插入图片描述
安装完成后,运行 openocd -V 指令查询OpenOCD是否安装成功,成功安装会再终端输出OpenOCD版本信息,如图
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1348795.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt高质量的开源项目合集

文章目录 1.Qt官网下载/文档2.第三方开源 1.Qt官网下载/文档 Qt Downloads Qt 清华大学开源软件镜像站 Qt 官方博客 2.第三方开源 记录了平常项目开发中用到的第三方库,以及一些值得参考的项目! Qt AV 基于Qt和FFmpeg的跨平台高性能音视频播放框…

这本书没有一个公式,却讲透了数学的本质

这本书没有一个公式,却讲透了数学的本质! 《数学的雨伞下:理解世界的乐趣》。一本足以刷新观念的好书,从超市到对数再到相对论,娓娓道来。对于思维空间也给出一个更容易理解的角度。 作者:米卡埃尔•洛奈 …

汇川PLC(H5U):伺服电机点动控制

一、基本概念理解 伺服电机旋转一圈的脉冲数 伺服电机上都装有一个编码器,这个编码器用于产生脉冲,常见伺服电机转一圈一般是产生10000个脉冲。相当于电机转360,产生了10000个脉冲,那旋转1就产生10000/360 27.7个脉冲。同理&am…

SDG大数据平台简介

联合国可持续发展目标(Sustainable Development Goals)缩写SDGs,是联合国制定的17个全球发展目标,在2000-2015年千年发展目标(MDGs)到期之后继续指导2015-2030年的全球发展工作。(摘自百度&…

ROS安装PR2

一、PR2介绍 PR2是Willow Garage公司设计的机器人平台,也是目前科研领域经常用到的机器人之一。PR2有两条手臂,每条手臂七个关节,手臂末端是一个可以张合的夹爪;PR2依靠底部的四个轮子移动,在头部、胸部、肘部、夹爪上…

第 378 场周赛 解题报告 | 珂学家 | 分类讨论场

前言 整体评价 感觉是分类讨论场,t3用二分,是因为二分不会错,直接分类讨论容易WA. t4一开始看错题了,T_T, 看成翻转,写了半天StringHash, 还用上双hash,共8个StringHash。 重排的话,其实统计…

搜索引擎推广的实践技巧提升你的品牌影响力-华媒舍

搜索引擎推广是一种有效提升品牌影响力的推广策略。通过关键词优化、广告创意设计、定向投放和数据分析与优化等实践技巧,可以提高品牌的知名度、点击率和转化率。在实施引擎霸屏推广之前,还需对实践效果进行评估,以确保推广策略的有效性和适…

CMake入门教程【基础篇】在Windows、Linux上安装CMake

文章目录 windows平台第1步:下载CMake第2步:安装CMake第3步:验证安装第4步:初次使用第5步:构建和运行 Linux平台 windows平台 第1步:下载CMake https://cmake.org/ 首先,访问CMake官方网站。…

Python数据科学应用从入门到精通--Python读取、合并SPSS数据文件

在很多情况下,我们需要调用SPSS软件产生的数据,下面通过示例来进行讲解。首先需要将本书提供的数据文件存储在安装spyder-py3的默认路径位置(C:/Users/Administrator/.spyder-py3/,注意具体的安装路径可能与此不同)&am…

rsync的介绍与使用

rsync的介绍与使用 一、简介 rsync(remote synchronize)是Liunx/Unix下的一个远程数据同步工具。它能够以非常高效的方式传输和同步文件,它可以将一个目录的文件快速地同步到另一个目录,还可以通过网络快速同步多台主机间的文件…

2024年总结的前端学习路线分享(学习导读)

勤学如春起之苗,不见其增,日有所长 。辍学如磨刀之石,不见其损,日有所亏。 在写上一篇 2023年前端学习路线 的时候,时间还在2023年初停留,而如今不知不觉时间已经悄然来到了2024年,回顾往昔岁月…

基于Window下的Node.js安装教程

基于Window下的Node.js安装教程 1.安装包下载安装2.安装字蚁2.1压缩字体 写这篇文章,主要是方便自己以后再安装,容易查看,相关内容有参考网上内容和自己想法。 1.安装包下载安装 Node官网 进入终端查看: echo %PATH%ec…

【信息安全原理】——期末复习(冲刺篇)

📖 前言:快考试了,做篇期末总结,都是重点与必考点。 题型:简答题(45分)、协议分析题(210分)(给一个报文或工作流程,分析存在的问题)、…

【Leetcode】第 378 场周赛

文章目录 100166. 检查按位或是否存在尾随零题目题意代码 100185. 找出出现至少三次的最长特殊子字符串 I题目思路代码 100184. 找出出现至少三次的最长特殊子字符串 II 100166. 检查按位或是否存在尾随零 题目 题意 这里题目要求的是或运算,所以原数组中只需要有…

基于ssm的房屋租赁管理系统

功能介绍 房源信息模块: 房源信息展示、房源信息更新、房源信息增加、房源信息删除 账户管理模块: 账户登录、账户绑定、账户管理 租金结算模块: 每月租金信息、租金交付功能、月租金收入总额统计 房屋租赁合同管理模块: 房屋租赁…

LabVIEW开发滚动轴承故障诊断系统

LabVIEW开发滚动轴承故障诊断系统 在工业自动化和机械维护领域,滚动轴承的故障诊断是至关重要的。开发了一个基于LabVIEW的振动信号分析系统。这一系统集成了先进的信号处理技术,如经验模式分解(EMD)、Morlet小波滤波器和隐Marko…

Python 为UnityAndroid端自动化接入Tradplus广告SDK

Python 为UnityAndroid端自动化接入Tradplus广告SDK Tradplus介绍常规接入进入Android开发文档选择渠道配置生成接入代码人工依赖下载官网同版本的 Unity插件 使用自动化工具接入首次 你需要打两个标记来定位运行工具 控制台会列出最新的十个Tradplus版本 任选其一然后拖入项目…

OpenCV-Python(21):OPenCV查找及绘制轮廓

1.认识轮廓 1.1 目标 理解什么是轮廓学习掌握找轮廓、绘制轮廓等学习使用cv2.findContours()、cv2.drawContours()函数的用法 1.2 什么是轮廓 在OpenCV中,轮廓是图像中连续的边界线的曲线,具有相同的颜色或者灰度,用于表示物体的形状。轮廓…

labuladong日常刷题-差分数组 | LeetCode 1109航班预定统计 | 花式遍历 151反转字符串里的单词

差分数组–前缀和数组的升级 LeetCode 1109 航班预定统计 2024.1.1 题目链接labuladong讲解[链接] class Solution { public:vector<int> corpFlightBookings(vector<vector<int>>& bookings, int n) {//构建航班人数数组&#xff0c;数组大小为n,初…

填充点云孔洞(较大的洞)halcon算法

前言 很多时候,一些小洞可以通过平滑算法,或者三角化算法的参数调整,即可对较小的孔洞进行填充,但是较大的洞却很难通过上面的算法进行填充。 下面介绍一种填充孔洞的思路: 步骤一:对点云进行滤波处理,找到孔洞所在平面 本文为了更直观的进行讲解,去掉了去除噪声和…