[ IDE ] SEGGER Embedded Studio for RISC-V

news2024/11/13 12:06:31

一、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.coloradmin.cn/o/2149823.html

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

相关文章

初识Linux · 环境变量

目录 前言: 命令行参数 环境变量 直接看现象 更多的环境变量 尝试理解环境变量 前言: 今天介绍的是一个较为陌生的名词,环境变量,在学习环境变量之前,我们需要一定的预备知识,这个预备知识是命令行参…

HarmonyOS学习(十三)——数据管理(二) 关系型数据库

文章目录 1、基本概念2、运行机制3、默认配置与限制4、接口说明5、实战:开发“账本”5.1、创建RdbStore5.2、创建数据库5.3、增加数据5.4、删除数据5.5、修改数据5.6、查询数据5.7、备份数据库5.8、恢复数据库5.9、删除数据库 官方文档地址: 通过关系型…

堆的向下调整算法和TOPK问题

目录 1.什么是堆? 1.1 向下调整建堆的时间复杂度计算 1.2 堆的结构体设计 2.堆的功能实现: 2.1 堆的插入: 2.2 堆的删除: 2.3 堆排序: 2.4 向下调整建堆: 2.5 TOPK问题: 2.6 向上调整算…

对接金蝶云星空调用即时库存信息查询API(附JAVA实现)

文章目录 前言准备工作获取第三方授权权限与授权配置信息集成金蝶云SDK调用实现备注前言 对于有自己商品信息管理后台并且使用金蝶ERP系统管理物料的商家来说,将金蝶上物料的库存信息同步到管理后台就可以不用去金蝶上确认库存了,可以大大简化管理后台的库存变更工作,这篇文…

Call OpenAI API with Python requests is missing a model parameter

题意:使用 Python requests 调用 OpenAI API 时缺少 model 参数。 问题背景: Im trying to call OpenAI API from Python. I know they have their own openai package, but I want to use a generic solution. I chose the requests package for its f…

通义千问重磅开源Qwen2.5,性能超越Llama

Qwen2.5 新闻 9月19日云栖大会,阿里云CTO周靖人发布通义千问新一代开源模型Qwen2.5,旗舰模型Qwen2.5-72B性能超越Llama 405B,再登全球开源大模型王座。Qwen2.5全系列涵盖多个尺寸的大语言模型、多模态模型、数学模型和代码模型,每…

TransUNet: 通过Transformer的视角重新思考U-Net架构在医学图像分割中的设计|文献速递-Transformer架构在医学影像分析中的应用

Title 题目 TransUNet: Rethinking the U-Net architecture design for medical imagesegmentation through the lens of transformers TransUNet: 通过Transformer的视角重新思考U-Net架构在医学图像分割中的设计 01 文献速递介绍 卷积神经网络(CNNs&#xff…

计算机毕业设计之:教学平台微信小程序(

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

生信初学者教程(四):软件

文章目录 RRstudioLinux系统其他软件本书是使用R语言编写的教程,用户需要下载R和RStudio软件用于进行分析。 版权归生信学习者所有,禁止商业和盗版使用,侵权必究 R R语言是一种免费的统计计算和图形化编程语言,是一种用于数据分析和统计建模的强大工具。它具有丰富的统计…

CSP-CCF★201912-2回收站选址★

一、问题描述 二、解答 代码&#xff1a; #include<iostream> #include<map> using namespace std; struct rubbish{int x;int y; }rub[1000]; int n; void input(){cin>>n;for(int i0;i<n;i){cin>>rub[i].x>>rub[i].y;} } bool has(int p,…

【machine learning-八-可视化loss funciton】

可视化lossfunction loss funciton可视化损失函数等高图 loss funciton 上一节讲过损失函数&#xff0c;也就是代价函数&#xff0c;它是衡量模型训练好坏的指标&#xff0c;对于线性回归来说&#xff0c;模型、参数、损失函数以及目标如下&#xff1a;、 损失函数的目标当然…

什么品牌超声波清洗机质量好?四大绝佳超声波清洗机品牌推荐!

在快节奏的现代生活中&#xff0c;个人物品的清洁卫生显得至关重要。眼镜、珠宝饰品、手表乃至日常餐厨用具&#xff0c;这些频繁接触的物品极易累积污渍与细菌。拿眼镜为例&#xff0c;缺乏定期清洁会让油渍与尘埃积累&#xff0c;进而成为细菌的温床&#xff0c;靠近眼睛使用…

SCDN是服务器吗?SCDN防御服务器有什么特点?

SCDN确实具有一定的防DDoS攻击能力&#xff0c;SCDN防御服务器有什么特点&#xff1f;高防SCDN通过结合内容分发网络&#xff08;CDN&#xff09;和分布式拒绝服务&#xff08;DDoS&#xff09;防护技术&#xff0c;提供了更全面的网络保护措施。在充满网络攻击的互联网时代&am…

dev c++输出中文乱码解决 printf乱码解决

把编码换成utf8就行 打开eiditor options

左手研发,右手销量,比亚迪舍弃了什么?

早买早享受&#xff0c;晚买享折扣&#xff0c;是近一年来汽车消费市场的真实写照。 A级家轿价格下探至6、7万元&#xff1b;曾经20万起步的主流B级车&#xff0c;如今只要12万元就能入手&#xff1b;即使是BBA等豪华品牌&#xff0c;也开始降价促销换销量。买车更便宜了&…

乐观锁、悲观锁

一、悲观锁 悲观锁 (Pessimistic Locking)&#xff0c;具有强烈的独占和排他特性。它指的是对数据被外界修改持保守态度。因此&#xff0c;在整个执行过程中&#xff0c;将处于锁定状态。所以&#xff0c;悲观锁是一种悲观思想&#xff0c;它总认为最坏的情况可能会出现&#x…

【Elasticsearch系列十五】强大特性

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

没想到【C# ASP.NET + Vue】也能打造如此强大的健身房管理系统!告别传统管理,体验智能化的会员服务,课程安排竟然如此简单

&#x1f393; 作者&#xff1a;计算机毕设小月哥 | 软件开发专家 &#x1f5a5;️ 简介&#xff1a;8年计算机软件程序开发经验。精通Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等技术栈。 &#x1f6e0;️ 专业服务 &#x1f6e0;️ 需求定制化开发源码提…

多模态文档理解:一文读懂mPLUG-DocOwl系列模型

〔探索AI的无限可能&#xff0c;微信关注“AIGCmagic”公众号&#xff0c;让AIGC科技点亮生活〕 本文作者&#xff1a;AIGCmagic社区 刘一手 前言 随着人工智能技术的发展&#xff0c;多模态大型语言模型&#xff08;MLLMs&#xff09;在视觉-文本理解领域取得了显著进展。m…

yolov8多任务模型-目标检测+车道线检测+可行驶区域检测-yolo多检测头代码+教程

你只需看一次&#xff1a;实时且通用的多任务模型 A-YOLOM 插图 贡献 轻量化集成模型&#xff1a;我们开发了一种轻量级模型&#xff0c;能够将三个任务整合到一个统一的模型中。这对于需要实时处理的多任务场景尤其有利。自适应连接模块&#xff1a;特别为分割架构的颈部区域…