【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。可设置按钮颜色 布防、撤防、报警、旁路、故障。可设置报警切换及对应报警切换的颜色。可设置显示的防区号。可设置是否…...
计算机服务器中了helper勒索病毒怎么办,helper勒索病毒解密流程步骤
随着网络技术在企业中的不断应用,越来越多的企业离不开网络,网络为企业提供了极大便利,大大提升了生产运营效率,由此而产生的网络数据安全问题也成为了企业关心的主要话题。近期,云天数据恢复中心接到多家企业的求助&a…...
qT 地图显示飞机轨迹
为了在Qt中显示飞机轨迹,你可以使用Qt的地图模块,例如Qt Location。以下是一个简单的示例,展示如何使用Qt地图模块显示飞机的轨迹。 首先,确保你的Qt项目文件(.pro)中包含了以下行来启用Qt Location模块: !include($…...
智慧展览馆:基于AI智能识别技术的视频智慧监管解决方案
一、建设背景 随着科技的不断进步和社会安全需求的日益增长,展览馆作为展示文化、艺术和科技成果的重要场所,其安全监控系统的智能化升级已成为当务之急。为此,旭帆科技(TSINGSEE青犀)基于视频智能分析技术推出了展览馆…...
Linux实用性脚本 [bash]
Linux实用性脚本 [bash] 1. 列出排名前 5 的CPU/内存占用进程2. iptables 自动屏蔽访问网站频繁的IP3. 自动发布 Java 项目(Tomcat)4. Nginx 访问日志分析脚本5. 查看网卡实时流量脚本6. 批量检测网站是否异常并邮件通知7. 目录入侵检测与告警8. 一键查看…...
Key exchange failed.No compatible key exchange method.
使用远程工具secureCRT (版本:Version 7.0.0 (x64 build 326) ) 连接Linux(Ubuntu-22.04)系统 若20之前的ubuntu系统版本参考:: 🔗使用远程工具连接Linux系统 1、检查ssh-server版本 sudo dpk…...
【FAQ】HarmonyOS SDK 闭源开放能力 —Asset Store Kit
1.问题描述 使用关键资产API需要配置SystemCapability.Security.Asset,但不知道syscap.json文件应该配置在哪里,文档也没找到。 解决方案 新增关键资产等API可以直接参考开发指南里的示例代码进行调用: https://developer.huawei.com/cons…...
arm架构离线部署docker
1.首先检查服务器glibc版本 rpm -q glibc 如果 glibc-2.35版本以上,则参考下面安装步骤,包下载地址 链接:https://pan.baidu.com/s/1X64XrzRva0O7ZSekLZdIcA?pwd8k4c 提取码:8k4c glibc-2.35以上Docker离线安装 如下 mkdir …...
SpringBoot(48)-使用 SkyWalking 进行分布式链路追踪
Spring Boot(48)- 使用 SkyWalking 进行分布式链路追踪 介绍 在分布式系统中,了解各个服务之间的调用关系和性能表现是非常重要的。SkyWalking 是一款开源的分布式系统监控与分析平台,能够帮助我们实现分布式系统的链路追踪、性…...
JS实现双向数据绑定的三种方式
1、第一种是通过Proxy数据代理来达到双向绑定的,这是Vue3更新的双向绑定方式。 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Proxy双向绑定</title> <<...
Bash相关
Bash shell是Linux内核与用户之间的解释器程序 变量 自定义变量,名称可以用数字、字母、下划线、不能以数字开头,不能使用特殊符号,等号两边不能有空格 格式:变量名称值 环境变量,由系统提前定义好,使用…...
国外电商网站如何建立/站长seo软件
我正在尝试使用python构建一个简单的加密。在这是加密:from Crypto.Cipher import AESfrom Crypto.Util.Padding import padfrom Crypto.Util.Padding import unpadBLOCK_SIZE 32def encrypt(message):obj AES.new(bThis is a key123, AES.MODE_CBC, bThis is an …...
做查询网站费用/行业关键词查询
ER图(实体关系图)是一种数据库建模方法,帮助表示实体和实体之间的关系。 MySQL本身不提供画ER图的功能,你可以使用第三方工具,如: LucidchartMicrosoft VisioGliffyDraw.io 这些工具都支持画ER图,且都有免费版本。可以…...
做网站总费用/搜索引擎优化学习
[Problem] USACO 1.1.2 - Greedy Gift Givers [URL] http://ace.delos.com/usacoprob2?aS95TFRgcK4B&Sgift1 [General Description] 有一群朋友要互送礼物。他们每个人都准备了钱用来送礼,并且这些钱将会被平均用于那些将要收到他的礼物的人。然而在这群人中&a…...
开发游戏的软件有哪些/seo免费培训
normal tangent bitangent 三者互相垂直。 组成一个tangent space 表示一个点 对于原本位置的偏移(扰动) 考虑到这是为了 normalmap做出虚假的normal来受光 我目前是这么理解的,下面做下去可以印证这个想法 保证同一个平面的顶点的切线向量是…...
怎么知道网站的域名/微信营销推广
一,Mllib的数据格式 1,本地向量 本地向量是存储在本地节点上的,其基本数据类型是Vector,其有两个子集,分别是密集的与稀疏的,我们一般使用Vectors工厂类来实现。如: Vectors.dese(1.0,2.0,3.…...
wordpress 时间轴插件/太原关键词排名优化
题目描述: 给定两个整型数组A和B。我们将A和B中的元素两两相加可以得到数组C。譬如A为[1,2],B为[3,4].那么由A和B中的元素两两相加得到的数组C为[4,5,5,6]。现在给你数组A和B,求由A和B两两相加得到的数组C中,第K小的数字。 思路 1…...