OpenOCD简介和下载安装(Ubuntu)

文章目录

      • 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.mzph.cn/news/590259.shtml

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

相关文章

红队打靶练习:SAR: 1

目录 信息收集 1、arp 2、netdiscover 3、nmap 4、nikto 5、whatweb 小结 目录探测 1、gobuster 2、dirsearch WEB CMS 1、cms漏洞探索 2、RCE漏洞利用 提权 get user.txt 本地提权 信息收集 1、arp ┌──(root㉿ru)-[~/kali] └─# arp-scan -l Interface:…

写在2024年初,软件测试面试笔记总结与分享

大家好,最近有不少小伙伴在后台留言,得准备年后面试了,又不知道从何下手!为了帮大家节约时间,特意准备了一份面试相关的资料,内容非常的全面,真的可以好好补一补,希望大家在都能拿到…

LanceDB:在对抗数据复杂性战役中,您可信赖的坐骑

LanceDB 建立在 Lance(一种开源列式数据格式)之上,具有一些有趣的功能,使其对 AI/ML 具有吸引力。例如,LanceDB 支持显式和隐式矢量化,能够处理各种数据类型。LanceDB 与 PyTorch 和 TensorFlow 等领先的 M…

算法训练营Day30

#Java #回溯 开源学习资料 Feeling and experiences: 加油站:力扣题目链接 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i1 个加油站需要消耗汽油 …

24届春招实习必备技能(一)之MyBatis Plus入门实践详解

MyBatis Plus入门实践详解 一、什么是MyBatis Plus? MyBatis Plus简称MP,是mybatis的增强工具,旨在增强,不做改变。MyBatis Plus内置了内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作&#xff0…

【LMM 003】生物医学领域的垂直类大型多模态模型 LLaVA-Med

论文标题:LLaVA-Med: Training a Large Language-and-Vision Assistant for Biomedicine in One Day 论文作者:Chunyuan Li∗, Cliff Wong∗, Sheng Zhang∗, Naoto Usuyama, Haotian Liu, Jianwei Yang Tristan Naumann, Hoifung Poon, Jianfeng Gao 作…

LeetCode二叉树路径和专题:最大路径和与路径总和计数的策略

目录 437. 路径总和 III 深度优先遍历 前缀和优化 124. 二叉树中的最大路径和 437. 路径总和 III 给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。 路径 不需要从根节点开始&#xf…

简单FTP客户端软件开发——VMware安装Linux虚拟机(命令行版)

VMware安装包和Linux系统镜像: 链接:https://pan.baidu.com/s/1UwF4DT8hNXp_cV0NpSfTww?pwdxnoh 提取码:xnoh 这个学期做计网课程设计【简单FTP客户端软件开发】需要在Linux上配置 ftp服务器,故此用VMware安装了Linux虚拟机&…

<软考高项备考>《论文专题 - 39采购管理(3) 》

3 过程2-实施采购 3.1 问题 4W1H过程做什么获取卖方应答、选择卖方并授予合同的过程作用:选定合格卖方并签署关于货物或服务交付的法律协议。本过程的最后成果是签订的协议,包括正式合同。为什么做实际进行采购谁来做组织中的职能部门或项目经理什么时…

遭遇.360、.halo勒索病毒:应对.360、.halo勒索病毒的最佳方法

尊敬的读者: 在数字时代的今天,科技的飞速发展为我们的工作和生活带来了便捷,然而,与此同时,网络空间中的威胁也日益猖獗。其中之一的勒索病毒,如.360、.halo病毒,以其高度隐蔽和破坏性成为网络…

burpsuite模块介绍之compare

导语 Burp Comparer是Burp Suite中的一个工具,主要提供一个可视化的差异比对功能,可以用于分析比较两次数据之间的区别。它的应用场景包括但不限于: 枚举用户名过程中,对比分析登陆成功和失败时,服务器端反馈结果的区…

编程式导航传参

(通过js代码实现跳转) 按照path进行跳转 第一步&#xff1a; 在app.vue中(前提是规则已经配置好) <template><div id"app">App组件<button clicklogin>跳转</button><!--路由出口-将来匹配的组件渲染地方--><router-view>&l…

【嵌入式学习笔记-01】什么是UC,操作系统历史介绍,计算机系统分层,环境变量(PATH),错误

【嵌入式学习笔记】什么是UC&#xff0c;操作系统历史介绍&#xff0c;计算机系统分层&#xff0c;环境变量&#xff08;PATH&#xff09;&#xff0c;错误 文章目录 什么是UC?计算机系统分层什么是操作系统&#xff1f; 环境变量什么是环境变量&#xff1f;环境变量的添加&am…

一次降低进程IO延迟的性能优化实践——基于block层bfq调度器(下篇)

在上一篇《一次降低进程IO延迟的性能优化实践——基于block层bfq调度器》基础上&#xff0c;本文主要总结实现该IO性能优化过程遇到的 IO卡死、IO重复派发、内核crash等问题。 1&#xff1a;IO重复派发触发了crash 在初版代码编写完成后&#xff0c;启动fio测试cat读取文件&a…

简写英语单词

题目&#xff1a; 思路&#xff1a; 这段代码的主要思路是读取一个字符串&#xff0c;然后将其中每个单词的首字母大写输出。具体来说&#xff0c;程序首先使用 fgets 函数读取一个字符串&#xff0c;然后遍历该字符串中的每个字符。当程序遇到一个字母时&#xff0c;如果此时…

在Linux中进行ZooKeeper集群搭建

在公网IP为x.x.x.x、y.y.y.y和z.z.z.z并装有Alibaba Cloud Linux 3.2104 LTS 64位的服务器上进行zookeeper集群搭建&#xff0c;都安装server-jre-8u202-linux-x64和apache-zookeeper-3.9.1-bin。 环境准备&#xff08;三台服务器都一样&#xff09; 第一步&#xff0c;下载s…

基于图论的图像分割 python + PyQt5

数据结构大作业&#xff0c;基于图论中的最小生成树的图像分割。一个很古老的算法&#xff0c;精度远远不如深度学习算法&#xff0c;但是对于代码能力是一个很好的锻炼。 课设要求&#xff1a; &#xff08; 1 &#xff09;输入&#xff1a;图像&#xff08;例如教室场景图&a…

四、Spring IoC实践和应用(三种配置方式总结)

本章概要 三种配置方式总结 XML方式配置总结XML注解方式配置总结完全注解方式配置总结 整合Spring5-Test5搭建测试环境 4.5 三种配置方式总结 4.5.1 XML方式配置总结 所有内容写到xml格式配置文件中声明bean通过<bean标签<bean标签包含基本信息&#xff08;id,class&…

字符串拼接 (90%用例)C卷 (JavaPythonNode.jsC++)

给定M(0<M<=30)个字符 (a-z),从中取出任意字符 (每个字符只能用一次)拼接成长度为N(0<N<=5)的字符串,要求相同的字符不能相邻,计算出给定的字符列表能拼接出多少种满足条件的字符串,输入非法或者无法拼接出满足条件的字符串则返回0。 输入描述 给定的字符列表…

47、激活函数 - sigmoid

今天在看一个比较常见的激活函数,叫作 sigmoid 激活函数,它的数学表达式为: 其中,x 为输入,画出图来看更直观一些。 Sigmoid 函数的图像看起来像一个 S 形曲线,我们先分析一下这个函数的特点。 Sigmoid 函数的输出范围在 (0, 1) 之间,并且不等于0或1。 Sigmoid 很明显是…