[ IDE ] SEGGER Embedded Studio for RISC-V

一、FILE

二、Edit

三、View

四、Search

五、Navigate

六、Project

七、Build

7.1 编译

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

八、Debug​​​​​​​

九、Target

9.1 烧录代码

十、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.rhkb.cn/news/433233.html

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

相关文章

软考中级网络工程师选择题

部分参考 软考中级网络工程师全面学习笔记第2版(5万字)配套视频及课件_软考中级网络工程师资料-CSDN博客 1.计算机网络概述 OSI七层模型:物联网淑慧试用 TCP/IP:网网(网际层)传应 高频考点: 中央处理器CPU 固态硬盘…

【rabbitmq-server】安装使用介绍

在 1050a 系统下安装 rabbitmq-server 服务以及基本配置;【注】:改方案用于A版统信服务器操作系统 文章目录 功能概述功能介绍一、安装软件包二、启动服务三、验证四、基本配置功能概述 RabbitMQ 是AMQP的实现,高性能的企业消息的新标准。RabbitMQ服务器是一个强大和可扩展…

【Oauth2整合gateway网关实现微服务单点登录】

文章目录 一.什么是单点登录?二.Oauth2整合网关实现微服务单点登录三.时序图四.代码实现思路1.基于OAuth2独立一个认证中心服务出来2.网关微服务3产品微服务4.订单微服务5.开始测试单点登录 一.什么是单点登录? 单点登录(Single Sign On&…

鸿蒙界面开发(九):列表布局 (List)

列表布局 当列表项达到一定数量,内容超过屏幕大小时,可以自动提供滚动功能。它适合用于呈现同类数据类型或数据类型集,例如图片和文本。在列表中显示数据集合是许多应用程序中的常见要求(如通讯录、音乐列表、购物清单等&#xf…

ArcGIS Desktop使用入门(三)常用工具条——拓扑(下篇:地理数据库拓扑)

系列文章目录 ArcGIS Desktop使用入门(一)软件初认识 ArcGIS Desktop使用入门(二)常用工具条——标准工具 ArcGIS Desktop使用入门(二)常用工具条——编辑器 ArcGIS Desktop使用入门(二&#x…

Labview helper

IMAQ Advanced Setup Learn Geometric Pattern 2 VI 参数说明Curve Extraction Mode (0)指定VI如何识别图像中的曲线。如果您希望VI不对图像中对象的均匀性或图像背景做出任何假设,请将此选项设置为正常。如果您希望VI假定图像中的对象或图像背景由均匀的像素值组成…

【JVM】一篇文章彻底理解JVM的组成,各组件的底层实现逻辑

文章目录 JVM 的主要组成部分类加载器(Class Loader)1. 加载(Loading)2. 链接(Linking)3. 初始化(Initialization) Execution Engine(执行引擎)1. 解释器&…

QT开发:详解 Qt 多线程编程核心类 QThread:基本概念与使用方法

1. 引言 在现代应用程序开发中,多线程编程是一个关键技术,能够显著提高程序的效率和响应速度。Qt 是一个跨平台的 C 框架,其中 QThread 类是实现多线程编程的核心类。本文将深入详解 QThread 的基本概念、使用方法及其在实际应用中的重要性。…

对于 Vue CLI 项目如何引入Echarts以及动态获取数据

🚀个人主页:一颗小谷粒 🚀所属专栏:Web前端开发 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 1、数据画卷—Echarts介绍 1.1 什么是Echarts? 1.2 Echarts官网地址 2、Vue CLI 项目…

第十三周:机器学习笔记

第十三周周报 摘要Abstract一、机器学习——Transformer(上)1. Sequence to Sequence(Seq 2 Seq,序列到序列模型) 的应用2. Transformer的结构2.1 Transformer encoder(Transformer 编码器) 二、Pytorch学习1. 网络模型…

将图片资源保存到服务器的盘符中

服务类 系统盘符:file-path.disk(可能会变,配置配置文件dev中)文件根路径:file-path.root-path(可能会变,配置配置文件dev中)http协议的Nginx的映射前缀:PrefixConstant.…

go解决引入私有包报错“Repository owner does not exist“的两种方式

当你写好引入的私有包,执行go mod tidy报错: Gogs: Repository owner does not exist fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 目前我的两种解决方案: 一、拉群整个…

freeRDP OPenssl

libusb需要下载 我使用的是VS2019编译 所以需要include 与vs2019 在cmake里面修改路径 C:/Users/JPM/source/repos/freeRDP/FreeRDP-stable-2.0/libusb-1.0.24/include/libusb-1.0 C:/Users/JPM/source/repos/freeRDP/FreeRDP-stable-2.0/libusb-1.0.24/VS2019/MS64/static/l…

模形式与态、势、感、知

模形式是数学中一个重要的研究领域,主要出现在数论、代数几何和表示论等多个学科中。模形式可以视为在某种意义上具有“对称性”的函数,这些函数在特定的条件下满足一定的变换性质。具体来说,模形式是定义在上半平面上的复值函数,…

第九节 Opencv自带颜色表操作

知识点:Look Up lTable(LUT)查找表 了解LUT查找表的作用与用法,代码实现与API介绍 -applyColorMap(src,dst,COLORMAP) -src表示输入图像 -dst表示输出图像 匹配到的颜色LUT,Opencv支持13种…

TDOA方法求二维坐标的MATLAB代码演示与讲解

引言 时间差定位(Time Difference of Arrival, TDOA)是一种用于确定信号源位置的技术,广泛应用于无线通信、声学定位等领域。通过测量信号到达多个接收器的时间差,可以计算出信号源的二维坐标。本文将通过MATLAB代码演示如何使用TDOA方法来求解二维坐标。 TDOA原理 TDOA…

第50篇 汇编语言实现中断<六>

Q:怎样设计汇编语言程序使用定时器中断实现实时时钟? A:此前我们曾使用轮询定时器I/O的方式实现实时时钟,而在本实验中将采用定时器中断的方式。新增的interval_timer.s间隔定时器的中断服务程序中增加了TIME变量,还更…

JavaScript的条件语句

if条件语句 if结构先判断一个表达式的布尔值,然后根据布尔值的真伪,执行不同的语句。所谓布尔值,指的是JavaScript 的两个特殊值,true表示真,false表示伪。 if语句语法规范 if(布尔值){语句;}var m3if(m3){console.l…

STM32嵌入式编程学习到提高:【4】UART串口打印

------------------------------------------------------------------------------------------------------------------------- 工程文件:放在百度云盘里,需要的自行下载!!! 链接: https://pan.baidu.com/s/14gRne…

Flowable7.0.1框架严重bug,流程跳转到指定节点导致流程中断

一、Bug描述 使用7.0.1版本的 moveActivityIdsToSingleActivityId 或 moveExecutionsToSingleActivityId实现节点跳转,程序不会报错,但是act_ru_task 没有生成新的任务,导致流程中断,这是相当严重的bug。 经过多次测试&#xff…