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.hqwc.cn/news/314122.html

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

相关文章

Embedding模型在大语言模型中的重要性

引言 随着大型语言模型的发展,以ChatGPT为首,涌现了诸如ChatPDF、BingGPT、NotionAI等多种多样的应用。公众大量地将目光聚焦于生成模型的进展之快,却少有关注支撑许多大型语言模型应用落地的必不可少的Embedding模型。本文将主要介绍为什么…

Spark魔力:招聘网站数据深度分析系统

Spark魔力:招聘网站数据深度分析系统 简介数据集技术栈功能特点创新点 简介 在本文中,我们将介绍一款基于Spark的招聘网站数据分析系统,该系统使用爬取的前程无忧招聘数据。通过结合Flask、Pandas、PySpark、以及MySQL等技术,实现…

探索 Vue 异步组件的世界:解锁高效开发的秘密(下)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

啊哈c语言——逻辑挑战6:奔跑的小人

首先我们来设计这个小人: 将这个小人身体的三部分分为3行来分别表示: 第1行用一个大写字母O表示小人的脑袋。 第2行用左尖括号表示小人的右手,用大写字母H表示小人的身 体,用右尖括号>表示小人的右手。 第3行用两个大写字母…

C++多态性——(1)初识多态

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 苦难和幸福一样,都是生命盛…

电子邮件地址填写指南:格式与常见问题解答

一个专业的电子邮件地址是一个你只用于工作目的的通信帐户。当你给收件人发送电子邮件时,这是他们最先看到的细节之一。无论你的职位或行业如何,拥有一个专业的电子邮件地址都可以提高你和所在公司的可信度。 在本文中我们解释了专业的电子邮件地址是什么…

计算机网络课程设计-企业网三层架构

(单人版) 摘 要 本篇报告主要解决了为一家名为西宫的公司网络搭建问题,该网络采用企业网三层架构对完了过进行设计。首先使用以太网中继,主要使用VLAN划分的技术来划定不同部门。使用MSTP对每个组配置生成树,防止交换机…

echarts 折线图根据x轴时间渲染不同颜色的折线

footIm 如上图所示一条折线多种颜色 后端数据返回"data": [ { “dateTime”: “2023-10-11 00:02:10”, “pos”: 6, “curr”: 104.6 }, { “dateTime”: “2023-10-11 00:02:39”, “pos”: 7, “curr”: 104.6 }, …] 我们拿到后端返回的res.data传递给…

采用环形首尾互联互控的雪崩效应极好的Hash算法/杂凑函数RING-512设计原理详解

RING-512密码杂凑算法 黄金龙(QQ1435271638) 什么是Hash算法? Hash算法,又称为哈希算法、杂凑函数、散列函数、消息摘要算法。它可以将相当长(一般不大于2^64Bit)的输入数据经过计算生成固定长度的Hash值…

Node.js+Express 路由配置,实现接口分类管理

首先创建一个路由目录及文件 routes/user.js代码 const express require(express); const router express.Router(); // 使用express提供的router对象 const db require(../dbserver/mysql);router.get(/api/user, (req, res) > {const sqlStr SELECT * FROM sys_user;…

mysql基础-表操作

环境: 管理工具:Navicat 数据库版本:5.7.37 mysql的版本,我们可以通过函数,version()进行查看,本次使用的版本如下: 目录 1.管理工具 1.1创建表 1.2.修改表名 1.3.复制表 1.4.删除表 2…

电子电器架构(E/E)演化 —— 车载以太网

电子电器架构(E/E)演化 —— 车载以太网 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 本文13000字。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一…