[ IDE ] SEGGER Embedded Studio for RISC-V

一、FILE

二、Edit

三、View

四、Search

五、Navigate

六、Project

七、Build

7.1 编译

         先选择一个目标类型,再选择编译。

八、Debug

九、Target

十、Tools

10.1 自定义快捷键

         点击菜单项,通过Tools –> Options –> Keyboard,实现自定义快捷键。

  •  DebugDownloadActive:下载当前工程。
  • EditGoToDeclaration:跳转到函数声明。

 

十一、Windows

十二、Help

十三、调试工具 OpenOCD 

13.1 介绍

        OpenOCD(Open On-Chip Debugger)是一款专为嵌入式系统设计的开源调试工具,广泛应用于微控制器和SoC(System on Chip)的调试、编程及测试。它的核心能力在于通过标准的硬件接口,如JTAG(Joint Test Action Group)和SWD(Serial Wire Debug),实现与目标设备的高效通信。OpenOCD支持多种硬件调试适配器,例如J-Link、ST-Link和DAP-Link等,这些适配器作为小型硬件单元,负责在调试主机和目标设备之间传递必要的电信号,弥补了普通计算机缺乏此类信号直接支持的问题。

        OpenOCD的设计理念强调灵活性和可扩展性,这体现在它支持广泛的处理器架构,包括但不限于ARM、MIPS、RISC-V等。通过高度可配置的脚本语言,用户可以根据特定项目的需求定制调试环境,从而简化复杂的调试流程。例如,在RISC-V架构的支持方面,OpenOCD特别开发了一个分支,旨在为这一新兴架构提供更完善的调试解决方案。此外,OpenOCD还提供了一个强大的命令行界面,允许开发者通过简单的命令完成复杂的操作,如设置断点、观察变量、控制程序流等,极大地提高了调试效率。

        在实际应用中,OpenOCD通常与GDB(GNU Debugger)配合使用,形成了一套完整的嵌入式开发调试解决方案。GDB通过OpenOCD提供的接口与目标设备进行通信,使开发者能够在熟悉的IDE环境中进行调试,而无需关心底层通信细节。这种组合不仅适用于专业开发人员,也成为了许多大学和培训机构教授嵌入式系统课程的重要工具。例如,ESP32开发板的JTAG调试就是通过OpenOCD和GDB实现的,开发者可以轻松地进行断点设置、单步执行、变量查看等操作,大大提升了开发体验。

        除了基本的调试功能外,OpenOCD还支持边界扫描测试(Boundary Scan Testing, BST),这是一种用于检测印刷电路板(PCB)制造缺陷的技术。BST利用JTAG接口,在不需物理接触的情况下,对PCB上的元件进行电气测试,这对于确保产品在生产过程中的质量和可靠性至关重要。因此,OpenOCD不仅在软件开发阶段发挥作用,也在硬件验证和测试环节扮演着重要角色。

13.2  Windows 环境下安装

 在Windows上安装OpenOCD相对简单,主要是下载预编译的二进制文件并设置环境变量。

  1. 访问OpenOCD的GitHub发布页面,下载适合系统的预编译版本:        
    Releases · xpack-dev-tools/openocd-xpack (github.com)
  2. 解压下载的文件到指定位置。
  3. 将bin目录添加到系统环境变量PATH中,这样可以在任何地方运行OpenOCD。
  4. 重启计算机或重新打开命令提示符窗口,然后验证安装:
    openocd --version

13.3 Linux 环境下安装

        在Linux上,你可以选择通过包管理器安装预编译的OpenOCD,或者从源代码编译安装。使用包管理器安装更为简便,但如果需要最新版本或特定功能,建议从源代码编译安装。

13.3.1  通过包管理器安装(Ubuntu为例)

 更新软件包列表:

sudo apt-get update

安装OpenOCD:

sudo apt-get install openocd

 检查安装是否成功:这将显示OpenOCD的版本信息,确认安装成功。

openocd --version
 13.3.2 从源代码编译安装

 安装编译所需工具和库:

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

 克隆OpenOCD仓库:

git clone https://github.com/openocd-org/openocd.git

进入OpenOCD目录:

cd openocd

配置编译选项(根据需要调整参数):

./bootstrap
./configure --prefix=/usr/local --enable-ft2232_libftdi --enable-stlink --enable-jlink

 编译并安装:

make
sudo make install

 验证安装:

openocd --version

十四、下载 SEGGER Embedded Studio for RISC-V

官方地址: SEGGER - The Embedded Experts - Downloads - Embedded Studio

 

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

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

相关文章

2024年《Python基础语法大全及知识点总结》小白入门必备!(高清PDF下载)

一、引言 在 2024 年,Python 依然是编程领域的闪耀之星。无论是数据分析、人工智能、Web 开发还是自动化任务,Python 都以其简洁高效的语法和强大的功能发挥着重要作用。本文将为你呈现超级完整的 Python 基础语法和知识点总结,助你轻松掌握…

JVM面试知识点手册

第一部分:JVM 概述 1.1 JVM 简介 Java Virtual Machine(JVM) 是 Java 语言的核心组件,负责将 Java 程序编译后的字节码(bytecode)转换为机器指令,并在目标机器上执行。JVM 提供了硬件和操作系…

Java 集合详解

目录 一. 概述 二. Collection接口实现类 三. Map接口实现类 四. 线程安全集合 五. List接口下集合实现原理 1. ArrayList实现原理 1.1. 基于动态数组 1.2. 随机访问 1.3. 添加元素 1.4. 删除元素 1.5. 迭代器 1.6. 克隆和序列化 1.7. ArrayList简单使用 2. Link…

重磅发布:OpenAI o1全新推理模型系列

2024年9月12日,OpenAI正式推出全新的推理模型系列——OpenAI o1。这款全新AI模型系列专为解决复杂问题而设计,能够在响应前花费更多时间进行思考,并通过深入推理应对比以往模型更具挑战性的科学、编程和数学问题。 1. 开发背景与首发版本 今…

安装Kali Linux后8件需要马上安排的事

目录 一、更新升级 二、 编辑器 三、用户与权限 四、 下载TOR 五、下载终端 一、更新升级 sudo apt update -y && sudo apt upgrade -y && sudo apt autoremove 二、 编辑器 VScode或者vim;点击.deb就会下载了 一般都会下载到Downloads文件夹中…

读论文-使用潜在扩散模型进行高分辨率图像合成

论文名称:High-Resolution Image Synthesis with Latent Diffusion Models 论文地址:arxiv.org/pdf/2112.10752v2 项目地址:GitHub - CompVis/stable-diffusion: A latent text-to-image diffusion model 潜在扩散模型(LDMs&…

Mac使用技巧-来自苹果专人在线辅导服务2

好记性不如烂笔头! 其实高效的学习途径还是尽量跟着苹果工作人员在线进行学习,这样一对一,有来有往,学习有反馈,并且很高效,很多东西演示一遍就学会了,自己看还是会花更长的时间。 苹果专人在线…

AI测试|利用OpenAI的文本生成模型,自动生成测试用例的几个场景示例

将人工智能 (AI) 融入软件测试将彻底改变游戏规则,可以显著提高效率和有效性。本文利用 OpenAI 的文本生成模型(text generation model),特别是 GPT-3.5-turbo 和 GPT-4-turbo-preview,在 Google Colab 中构建文本生成…

102.SAPUI5 sap.ndc.BarcodeScannerButton调用摄像头时,localhost访问正常,使用IP访问失败

目录 原因 解决办法 1.修改谷歌浏览器的setting 2.在tomcat中配置https访问 参考 使用SAPUI5的sap.ndc.BarcodeScannerButton调用摄像头时,localhost访问正常,使用IP访问时,一直打不开摄像头,提示getUserMedia()问题。 原因…

有关JS下隐藏的敏感信息

免责声明:本文仅做分享! 目录 JavaScript 介绍 核心组成 工具 FindSomething ** 浏览器检查 ** LinkFinder URLfinder ** SuperSearchPlus ** ffuf ParasCollector waymore Packer Fuzzer JS逆向 应用: 小结: Ja…

简明linux系统编程--互斥锁--TCP--UDP初识

目录 1.互斥锁 2.信号 2.1介绍 2.2信号的内核机制 3.linux网络编程概述 3.1一览七层协议 3.2一览数据传输过程 3.3四层网络模型 3.4服务端和客户端的数据交互 4.TCP服务端编程 5.TCP客户端编程 6.UDP服务端编程 7.UDP客户端编程 1.互斥锁 互斥锁也是和信号量一样&a…

【C++】——优先级队列和容器适配器

文章目录 优先级队列容器适配器 优先级队列 优先级队列是一种特殊的队列,他的元素出队列顺序并不按照先进先出原则,而是根据元素的优先级来。优先级高的先出,优先级低的后出。(类似于堆) 优先级队列常用成员函数: empty()&#x…

6.C++程序中的基本数据类型

数据类型是指在C中用于声明不同类型变量或函数的一个系统或抽象或者是一个分类,它决定了变量存储占用的内存空间以及解析存储的位模式。其实数据类型可以理解为固定内存大小的别名,是创建变量的模具,具体使用哪种模具(包括自定义&…

ai写作软件排行榜前十名,5个软件帮助你快速使用ai写作

ai写作软件排行榜前十名,5个软件帮助你快速使用ai写作 AI写作软件已经成为许多人工作和创作中的重要工具,尤其是在快速生成内容、提高写作效率以及优化文本方面。以下是五款优秀的AI写作软件,它们能够帮助你轻松完成各种写作任务&#xff0c…

芯片级配件产品研发的小众企业生存之路

在半导体行业中,芯片级配件产品的研发一直是一个充满挑战的领域,尤其是对于小众企业而言,如何在技术壁垒高、资金需求大的市场中生存并发展,成为了业界普遍关注的问题。芯片级配件产品涉及到晶圆制造、封装、测试等多个复杂工艺环…

计算机人工智能前沿进展-大语言模型方向-2024-09-20

计算机人工智能前沿进展-大语言模型方向-2024-09-20 1. Multimodal Fusion with LLMs for Engagement Prediction in Natural Conversation Authors: Cheng Charles Ma, Kevin Hyekang Joo, Alexandria K. Vail, Sunreeta Bhattacharya, Alvaro Fern’andez Garc’ia, Kailan…

码头童话,“丈量”行业数智化转型

作者 | 曾响铃 文 | 响铃说 一箱车厘子从地球正对的另一边远渡重洋来到中国,而一旦到达,5个小时内它就能变成北京、天津、河北、河南等区域老百姓果盘里的美味。 这一幕,来自央视联合华为制作发布的《新智中国说-谈智一会间》第一期“码头…

win10下使用docker、k8s部署java应用

在上一篇文章 Windows10上Docker和Kubernetes的安装 中,已经介绍了在 Windows10上安装Docker和Kubernetes ,有了这个环境基础之后,就可以用来部署服务了 在项目目录下新建Dockfile文件,内容如下(请根据实际情况调整&am…

鸿蒙开发之ArkUI 界面篇 十五 交叉轴对其方式

鸿蒙界面有两个容器一个是Colum、一个是Row,Colum主轴是垂直方向,交叉轴是水平方向,Row的主轴是水平方向,交叉轴是垂直方向,对应方向调整子控件的话,justifyContent调整的是主轴方向的子控件距离&#xff0…

Java发送Outlook邮件:从设置到发送攻略!

Java发送Outlook邮件详细步骤!如何使用Java发邮件? Java作为一种广泛使用的编程语言,提供了强大的功能来实现自动化邮件发送。AokSend将详细介绍如何使用Java发送Outlook邮件,从基本的设置到最终的发送过程。 Java发送Outlook邮…