【ArduinoQuartus】在小脚丫STEP CYC10上安装PulseRain Reindeer并在软核上运行基础功能
【Arduino&Quartus】在小脚丫STEP CYC10上安装PulseRain Reindeer并在软核上运行基础功能
- 一、将Reindeer软核下载到STEP CYC10
- (一)下载PulseRain Reindeer软核
- (二)配置Reindeer软核到开发板
- 1.将sof文件转换为jic文件
- 2.将jic文件下载到FPGA中
- 二、Arduino编写流水灯并下载到开发板中运行
- (一)Arduino中安装板卡支持包
- (二)编写流水灯
- (三)上传程序
- 三、总结
- 四、引用
一、将Reindeer软核下载到STEP CYC10
(一)下载PulseRain Reindeer软核
git clone https://github.com/PulseRain/Reindeer_Step.git
可通过TurtoiseGit使用此命令下载软核到电脑,或直接在Github中下载压缩包都可。
(二)配置Reindeer软核到开发板
在你的文件存放位置,使用Quartus打开~\Reindeer_Step\build\par\step_cyc10中的step_cyc10.qpf文件,千万不要编译就只是打开就行。
1.将sof文件转换为jic文件
因为sof文件是下载到FPGA的SRAM,掉电会丢失,在CYC10上板载了一块SPI Flash,我们可以将sof文件转换为jic文件,通过JTAG下载到Flash中,每次上电时FPGA会将配置数据读取到SRAM中运行。
①打开File中的Convert ……

②随后按如下配置
其中点击Flash Loader添加10CL016Y时需要点击Add Device,而SOF Data则需要点击Add File,其中的File则是在~\Reindeer_Step-master\build\par\step_cyc10\output_files目录下的step_cyc10.sof文件,添加进去即可。

最后点击生成即可,不过可能下载下来的output里面就有jic文件。
2.将jic文件下载到FPGA中
打开后可能不是jic文件,则需要删除sof,再将jic文件添加进来,添加后界面如图所示,需要勾选上在Start

- 注意需要将Mirco USB查到FPGA的上面那个口,Quartus才能识别到USB,上面那个是供电+编程,下面那个是供电+串口
具体可看下图:

如果下载完后,如我上面那个图一样,报success,则下载成功。
二、Arduino编写流水灯并下载到开发板中运行
(一)Arduino中安装板卡支持包
打开Arduino IDE,打开 文件——首选项——附加开发板管理器网址,添加如下链接: https://github.com/PulseRain/Arduino_RISCV_IDE/raw/master/package_pulserain.com_index.json

点击确定,确定后如果报错,下载失败,则需要配置代理网络
此处需要个人发挥自己的能力,恕不详述。

下载成功之后,打开 工具——开发板——开发板管理器,在搜索框中输入REINDEER,安装PACKAGE。

- 现在Arduino2.3.2版本应该已经可以安装上了,之前此版本以及最新Beta版下载时均会报错,如若你使用的版本也安装不了,可以下载Arduino1.8.19版本,这个是没有问题的。
- 并且如果遇到其他问题,建议直接到https://forum.arduino.cc/latest此处发帖询问,解决问题还是比较快的,我之前遇到2.3.2版本安装不了Reindeer,反馈上去一天时间就搞定了。
下载安装完成后在板卡管理器中有STEP CYC10 Board这个选项

(二)编写流水灯
在Arduino中编写好程序,以下是流水灯
volatile uint8_t* const R_GPIO = (uint8_t*)0x20000018;#define P0 (R_GPIO[0])
#define P1 (R_GPIO[1])
#define P2 (R_GPIO[2])
#define P3 (R_GPIO[3])int kkk[1*1024]={999, 1000, 10001, 1898, 8888};void setup() {// put your setup code here, to run once:Serial.print(" ===================="); P3 = 0xAA;delay (1000);}int t = 0;uint32_t i = 0;
uint8_t led_position = 0;void loop() {Serial.print (i);i = (i + 1) %(1024);Serial.print(" ===================="); kkk [i] = kkk [i] + i;Serial.print (kkk[i]);Serial.println (" ");delay (600);led_position = (led_position + 1) % 8;P3 = ~(1 << led_position);
}
- 此处小脚丫STEP社区中的代码中:
R_GPIO应为REG_GPIO,不过可能因为Arduino更新后,REG_GPIO这个变量名被使用了,所以我改为了R_GPIO。
(三)上传程序
随后点击上传按钮→,软件会对程序编译后下载到板子

随后可见FPGA板子,LED灯流水亮灭。
三、总结
老资料坑都有点多,需要一个一个解决问题,其次遇到实在没办法的问题,可以直接去软件论坛发帖求助,这样比较简单,或者直接退版本。
四、引用
在小脚丫FPGA板上玩转开源农场(FARM)FPGA+Arduino+RISC-V+Make
相关文章:
【ArduinoQuartus】在小脚丫STEP CYC10上安装PulseRain Reindeer并在软核上运行基础功能
【Arduino&Quartus】在小脚丫STEP CYC10上安装PulseRain Reindeer并在软核上运行基础功能 一、将Reindeer软核下载到STEP CYC10(一)下载PulseRain Reindeer软核(二)配置Reindeer软核到开发板1.将sof文件转换为jic文件2.将jic文…...
【电路笔记】-逻辑与门
逻辑与门 文章目录 逻辑与门1、概述2、2 输入晶体管与门3、数字与门类型4、7408 四路 2 输入与门逻辑与门是一种数字逻辑电路,仅当其所有输入均为高电平时,其输出才会变为高电平至逻辑电平 1。 1、概述 数字逻辑与门的输出状态仅在其任何输入处于逻辑电平“0”时再次返回“低…...
蓝桥杯练习——拼出一个未来
选中 index.html 右键启动 Web Server 服务(Open with Live Server),让项目运行起来。接着,打开环境右侧的【Web 服务】,就可以在浏览器中看到如下效果: 目标 完善 js/index.js 的 TODO 部分,实…...
stm32f103c8t6学习笔记(学习B站up江科大自化协)-SPI
SPI通信 SPI,(serial peripheral interface),字面翻译是串行外设接口,是一种通用的数据总线,适用于主控和外挂芯片之间的通信,与IIC应用领域非常相似。 IIC无论是在硬件电路还是在软件时序设计…...
云计算的安全需求
目录 一、概述 二、云安全服务基本能力要求 三、信息安全服务(云计算安全类)资质要求 3.1 概述 3.2 资质要求内容 3.2.1 组织与管理要求 3.2.2 技术能力要求 四、云安全主要合规要求 4.1 安全管理机构部门的建立 4.2 安全管理规范计划的编制 4…...
【C++】编程规范之表达式原则
表达式中变量的位置 在编写表达式时,将变量放置在右边,可以提高代码的可读性和可理解性。这种做法符合自然语言的阅读习惯,使得代码更易于理解。 // Good if (5 x) {// do something }// Avoid if (x 5) {// do something }不变量和资源申…...
Python人工智能基础知识:理解神经网络与机器学习的基本概念
人工智能(Artificial Intelligence,AI)是当今科技领域的热门话题之一,而神经网络和机器学习作为AI的两个重要分支,在解决各种问题中发挥着重要作用。本文将详细介绍神经网络和机器学习的基本概念,帮助读者更…...
10_MVC
文章目录 JSON常用的JSON解析Jackson的常规使用指定日期格式 MVC设计模式MVC介绍前后端分离案例(开发与Json相关接口) 三层架构三层架构介绍 JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,是存…...
【Java多线程(4)】案例:设计模式
目录 一、什么是设计模式? 二、单例模式 1. 饿汉模式 2. 懒汉模式 懒汉模式-第一次改进 懒汉模式-第二次改进 懒汉模式-第三次改进 一、什么是设计模式? 设计模式是针对软件设计中常见问题的通用解决方案。它们提供了一种被广泛接受的方法来解决…...
时序预测 | Matlab实现CPO-BiLSTM【24年新算法】冠豪猪优化双向长短期记忆神经网络时间序列预测
时序预测 | Matlab实现CPO-BiLSTM【24年新算法】冠豪猪优化双向长短期记忆神经网络时间序列预测 目录 时序预测 | Matlab实现CPO-BiLSTM【24年新算法】冠豪猪优化双向长短期记忆神经网络时间序列预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现CPO-BiLST…...
java面试题(4)|Spring和Spring Boot之间有什么关联和区别
文章目录 Spring和Spring Boot的有什么关联?Spring和Spring Boot有什么区别?如何快速区分某个项目采用的是 Spring 还是 Spring Boot? Spring和Spring Boot的有什么关联? Spring Boot是建立在Spring框架之上的,因此它…...
Spring Boot中前端通过请求接口下载后端存放的Excel模板
导出工具类 package com.yutu.garden.utils;import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import org.apache.commons.io.IOUtils; import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.slf4j.Logger;…...
构建企业级微服务平台:实现可扩展性、弹性和高效性
在软件开发的快速发展领域中,企业不断努力构建健壮、可扩展和高效的系统。随着微服务架构的出现,再加上云原生技术的应用,创建敏捷且具有弹性的平台的可能性是无限的。在本指南中,我们将深入探讨使用强大的工具和技术组合…...
存内计算技术在边缘计算、物联网设备中的应用及前景
存内计算技术简介 存内计算技术是一种新兴的计算范式,其核心理念是将存储和计算功能集成在同一硬件单元中。这种技术的优势在于能够在存储单元内部直接进行计算操作,从而减少数据在存储器和处理器之间的传输,提高计算效率。 以下是存内计算技…...
C#使用Selenium驱动Chrome浏览器
1.Selenium库依赖安装 Selenium WebDriver是Selenium项目的一部分,用于模拟用户在Web应用程序中的交互操作。它支持多种浏览器,如Chrome、Firefox、IE等,且与各种编程语言(如Java、Python、C#等)兼容,具有…...
【软件工程】详细设计(二)
这里是详细设计文档的第二部分。前一部分点这里 4. 学生端模块详细设计 学生端模块主要由几个组件构成:学生登录界面,成绩查询界面等界面。因为学生端的功能相对来说比较单一,因此这里只给出两个最重要的功能。 图4.1 学生端模块流程图 4.…...
数据质量决定大模型能力,景联文科技提供高质量大模型数据
随着大模型的深入发展,各类资源要素的配置状态已悄然变化。其中,数据的价值已被提升到一个新高度。 大模型往往拥有庞大的参数和复杂的网络结构,需要大量的数据来学习和优化。数据的质量和数量直接决定了模型的训练效果。若数据不足或质量不佳…...
大话设计模式之状态模式
状态模式是一种行为设计模式,它允许对象在其内部状态发生变化时改变其行为。在状态模式中,对象将其行为委托给当前状态对象,从而在不同的状态下执行不同的行为,而不必在对象自身的代码中包含大量的条件语句。 通常,状…...
【机器学习】“强化机器学习模型:Bagging与Boosting详解“
1. 引言 在当今数据驱动的世界里,机器学习技术已成为解决复杂问题和提升决策制定效率的关键工具。随着数据的增长和计算能力的提升,传统的单一模型方法已逐渐无法满足高精度和泛化能力的双重要求。集成学习,作为一种结合多个学习算法以获得比…...
《QT实用小工具·九》设备按钮控件
1、概述 源码放在文章末尾 该项目实现了设备按钮控件,主要包含如下功能: 可设置按钮样式 圆形、警察、气泡、气泡2、消息、消息2。可设置按钮颜色 布防、撤防、报警、旁路、故障。可设置报警切换及对应报警切换的颜色。可设置显示的防区号。可设置是否…...
LightOnOCR-2-1B小白友好教程:Web界面+API调用双模式教学
LightOnOCR-2-1B小白友好教程:Web界面API调用双模式教学 1. 引言:认识LightOnOCR-2-1B LightOnOCR-2-1B是一个强大的多语言OCR(光学字符识别)模型,它能从图片中准确提取文字内容。这个模型特别适合需要处理多语言文档…...
别再只用命令行!Pycharm内置Database工具连接SQLite3的5个高效技巧(含文件路径避坑)
别再只用命令行!Pycharm内置Database工具连接SQLite3的5个高效技巧(含文件路径避坑) 作为一名长期与SQLite3打交道的Python开发者,你是否还在反复切换终端和代码编辑器,用命令行执行sqlite3 test.db?或是为…...
Oracle Product Hub Portal Cloud(简称 OPH Cloud)是 Oracle 提供的基于云的主数据管理(MDM)解决方案
Oracle Product Hub Portal Cloud(简称 OPH Cloud)是 Oracle 提供的基于云的主数据管理(MDM)解决方案,专为统一、治理和分发产品主数据而设计。它是 Oracle Cloud Enterprise Resource Planning (ERP)、Supply Chain M…...
Cherry Studio集成火山方舟模型实战:从接入到性能调优全解析
最近在项目中尝试将火山方舟的模型集成到 Cherry Studio 里,整个过程踩了不少坑,也总结了一些经验。今天就来和大家分享一下从接入到性能调优的完整实战过程,希望能帮到有同样需求的开发者。 1. 背景与痛点:为什么集成过程让人头疼…...
【Python多解释器通信终极指南】:20年专家亲授GIL绕过术、共享内存实战与跨解释器RPC设计模式
第一章:Python多解释器通信的演进与核心挑战Python长期以来以全局解释器锁(GIL)为标志性设计,保障单解释器内线程安全,却也天然限制了多线程在CPU密集型场景下的并行能力。为突破GIL束缚,Python 3.12正式引…...
Vivado GUI隐藏技巧:如何手动修改OOC模式IP的时钟频率(附200MHz实战案例)
Vivado GUI隐藏技巧:如何手动修改OOC模式IP的时钟频率(附200MHz实战案例) 在FPGA开发中,Vivado的IP核(IP Catalog)功能极大提升了设计效率,但OOC(Out-of-Context)模式下IP核的时钟频率设置却常常让初学者困惑。当你在G…...
(复现)基于观测器的事件触发跟踪一致性控制(非理想一般线性多 智能体系统) 复现参考文献
(复现)基于观测器的事件触发跟踪一致性控制(非理想一般线性多 智能体系统) 复现参考文献:《Observer-based Event-triggered Tracking Consensus of Non-ideal General Linear Multi-agent Systems 》①控制:设计了一个分布式观测…...
OpenClaw+nanobot自动化处理客服常见问题
OpenClawnanobot自动化处理客服常见问题 1. 为什么选择OpenClawnanobot做客服自动化 去年夏天,我的个人项目突然迎来一波用户增长,随之而来的是每天上百条的客服咨询。当我连续三天凌晨两点还在回复"如何重置密码"这类问题时,终于…...
AI画家助手:OpenClaw+GLM-4.7-Flash自动生成Midjourney提示词并管理作品
AI画家助手:OpenClawGLM-4.7-Flash自动生成Midjourney提示词并管理作品 1. 为什么需要AI画家助手? 去年我开始尝试用Midjourney进行艺术创作时,遇到了两个头疼的问题:一是提示词(prompt)优化需要反复调试…...
智慧交通护栏识别 道路标识识别车道线识别 道路设施目标检测模型训练 交通设施巡检算法 yolo图像分割数据集第10607期
计算机视觉数据集数据集概览 类别:7类,涵盖道路设施相关目标图像数量:500格式:YOLO格式核心任务:目标检测数据集核心信息维度详情数据类别冷塑震荡标线漆、热塑性涂料、凸起式路面标线、橡胶减速带、单W型梁防撞护栏、…...
