易灵思的Riscv-Sapphire软核搭建及开发流程

2023-10-16 22:40

本文主要是介绍易灵思的Riscv-Sapphire软核搭建及开发流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、首先生成Sapphire软核ip

二、创建Eclipse工程

三、配置Eclipse的编译环境

四、合并逻辑的hex和软核的bin的文件


一、首先生成Sapphire软核ip

通过软件Efinity的IP-Catalog功能生成Sapphire-riscv的IP核,我这里保持默认参数,如下图:

找到相应的目录,目录里的IP文件夹下会有生成的sapphire的目录,里边有两个demo,一个是第一代Trion的T20F324开发板的demo,另一个是第二代的钛金系列Ti60F225的demo;我这里采用的是T120F324的demo;

二、创建Eclipse工程

为了防止出现错误,我将T120F324_devkit文件夹demo单独考出来;通过运行SDK目录下的run_eclipse.bat文件,运行后选择输入1,启动Sapphire相关的配置:

Eclipse指向工作目录保持与CPU0.YAML文件保持在同一个文件夹下,然后点击“Launch”:

新建工程,将工程指向embedded_sw\my_sapphiresoc\software\standalone文件夹下各种demo,如果用户需要可以根据自己的需求进行相关的修改和调整,本次打开的是AXI4Demo:

三、配置Eclipse的编译环境

 创建Debug的配置参数:

添加Eclipse环境快速配置文件,添加C/C++的配置参数:

添加Run/Debug的相关参数配置:

 

 修改Debug配置参数:

 

 搭建Debug调试的配置环境:

 

 

 注释:*.elf的文件需要编译工程后才会生成;另外OpenOCD下边:default(红色选框)为Trion的Jtag口进行调试所选择的选项;default_ti(蓝色选框)为钛金Ti的Jtag口进行调试所选择的选项;default_softTap(黄色选框)为其他用户定义的GPIO进行调试所选择的选项;

Debug调试环境搭建:

注释:红色选框为调用的 OpenOCD调试配置文件;以及将${workspace_loc}替换为cpu0.yaml所在目录的绝对路径并将但斜杠("\"改为"\\")

四、合并逻辑的hex和软核的bin的文件

 注释:1、打开合并文件按键;2、选择合并的模式;3、更改输出.hex文件名字;4、选择用户逻辑的hex文件;5、选择用户APP编译后的bin文件;6、更改用户逻辑的起始地址;7、更改用户APP软件的起始地址(此处所用的是默认地址为0x380000);

至此完成软件的开发环境的搭建,下边我们一起来点击“Debug”进行调试,下边大家一起来感受一下吧^_^!

这篇关于易灵思的Riscv-Sapphire软核搭建及开发流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/LiJia2999/article/details/124949043
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/221251

相关文章

Spring Security中用户名和密码的验证完整流程

《SpringSecurity中用户名和密码的验证完整流程》本文给大家介绍SpringSecurity中用户名和密码的验证完整流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 首先创建了一个UsernamePasswordAuthenticationTChina编程oken对象,这是S

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.