NIOS II实现LED流水灯以及串口输出(DE2-115开发板)

NIOS II实现LED流水灯以及串口输出(DE2-115开发板)

  • 前言
  • 什么是Qsys?
  • 什么是NIOSII?
  • 注意事项
    • 1、管脚配置
    • 2、配置NIOSII时的连接
    • 3、注意中断配置好后是这样的
    • 4、注意名称的配置
    • 5、设置双功能引脚
  • NIOS II的报错
  • 代码以及效果演示
    • 流水灯
    • 输出到电脑串口助手

前言

具体的软件和硬件配置流程看下方的博客很详细,我主要讲一下这些博客没说到的部分和我做的过程中遇到的一些错误,看了下面的博客做不出来可以看我的补充
https://blog.csdn.net/qq_43279579/article/details/115953871
https://blog.csdn.net/qq_57160761/article/details/129989171
https://blog.csdn.net/weixin_54435584/article/details/130025896
https://www.bilibili.com/video/BV1Lc411y7o6/

什么是Qsys?

Qsys(前身为 SOPC Builder)是一种用于硬件系统设计的集成开发环境(IDE),由英特尔(Intel)提供。它是一种可视化工具,用于在FPGA(可编程逻辑器件)中构建和配置嵌入式系统的硬件组件。

通过 Qsys,开发人员可以通过图形界面进行硬件组件的选择、连接和配置,而无需手动编写HDL(硬件描述语言)代码。Qsys 提供了丰富的硬件组件库,其中包括处理器核、存储器控制器、外设接口等,开发人员可以根据项目需求选择合适的组件。

Qsys中的硬件组件库中包含了NIOS II处理器核,因此可以在Qsys中选择和配置NIOS II作为嵌入式系统的处理器。通过Qsys,开发人员可以将NIOS II与其他硬件组件进行连接和集成,构建一个完整的嵌入式系统。Qsys会自动生成与NIOS II相关的硬件描述语言代码,并与软件开发工具链进行集成,使得软硬件开发可以无缝配合。

什么是NIOSII?

NIOS II(New Integrated Open System Architecture II)是一种基于软件可编程的嵌入式处理器架构,由英特尔(Intel)提供。它是一种可在可编程逻辑器件(如FPGA)中实现的32位RISC(精简指令集计算机)处理器。

NIOS II 具有以下特点和优势:

  1. 可编程性:NIOS II 处理器可以通过软件进行配置和编程,使其适应不同的应用需求。开发人员可以使用高级语言(如C/C++)编写应用程序,并通过软件开发工具链进行编译、调试和部署。

  2. 灵活性:NIOS II 处理器的各种参数(如指令集、存储器大小和外设接口等)可以根据特定应用的需求进行配置和定制。这使得 NIOS II 可以满足广泛的应用要求,从简单的控制任务到复杂的嵌入式系统设计。

  3. 可扩展性:NIOS II 处理器可以与其他外设和IP核集成,以实现更复杂的系统功能。它可以与各种外设接口(如UART、SPI、I2C等)和存储器接口(如SDRAM、Flash等)进行集成,并支持多个中断源和异常处理。

  4. 性能优化:NIOS II 处理器具有优化的指令集和流水线架构,可提供高性能的处理能力。它支持多级缓存和乱序执行等技术,以提高指令执行效率。

  5. 生态系统支持:NIOS II 处理器拥有丰富的生态系统支持,包括软件开发工具、开发板、外设驱动库和参考设计等。这些资源使得开发人员能够更快速、高效地进行嵌入式系统开发。

NIOS II 处理器广泛应用于各种嵌入式系统领域,例如工业自动化、网络通信、医疗设备、汽车电子、消费类电子产品等。它提供了一种灵活可靠的解决方案,帮助开发人员构建高性能、低功耗的嵌入式系统。

注意事项

1、管脚配置

开发板上有个RS232的接口,我想用电脑串口输出,因为手头没有RS232所以需要引出RX和TX用TTL-USB,这里我查阅原理图引到IO_D0和IO_D1
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2、配置NIOSII时的连接

注意这里是需要export的用于配置RX和TX引脚,export之后会有一个小标签,
在这里插入图片描述

在这里插入图片描述

3、注意中断配置好后是这样的

在这里插入图片描述

4、注意名称的配置

如果你的PIO名字没有设置好,这个位置可能会报错
在这里插入图片描述
到头文件里找到宏定义后替换即可
在这里插入图片描述
在这里插入图片描述

5、设置双功能引脚

在这里插入图片描述

NIOS II的报错

build project之后要注意看这两个位置有没有爆红,这个不会在console控制台提示报错,一般build得很快就有问题
在这里插入图片描述

代码以及效果演示

流水灯

nios2_flow_led

#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "alt_types.h"
const alt_u8
led_data[8]={0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF};
int main (void)
{int count=0;alt_u8 led;volatile int i;while (1){ if (count==7){count=0;}else{count++;}led=led_data[count];IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, led);i = 0;while (i<500000)i++;}return 0;
}

输出到电脑串口助手

在这里插入图片描述


#include <stdio.h>
#include "unistd.h"
#include "system.h"
#include "alt_types.h"
#include "altera_avalon_uart_regs.h"
#include "sys/alt_irq.h"alt_u8 txdata[] = "hello nios2\n";
int index = 0;// UART中断服务函数
void IRQ_UART_Interrupts(void* context)
{alt_u32 status = IORD_ALTERA_AVALON_UART_STATUS(UART_BASE);if (status & ALTERA_AVALON_UART_STATUS_RRDY_MSK){//rxdata = IORD_ALTERA_AVALON_UART_RXDATA(UART_BASE);//txdata = rxdata; // 串口自收发,将变量rxdata的值赋给txdatawhile (!(IORD_ALTERA_AVALON_UART_STATUS(UART_BASE) & ALTERA_AVALON_UART_STATUS_TRDY_MSK));// 查询发送准备接收信号,如果没有准备好,则等待IOWR_ALTERA_AVALON_UART_TXDATA(UART_BASE, txdata); // 发送准备好,发送txdata}
}// 中断初始化函数
void IRQ_init()
{// 清除状态寄存器IOWR_ALTERA_AVALON_UART_STATUS(UART_BASE, 0);// 使能接收准备中断,给控制寄存器相应位写1IOWR_ALTERA_AVALON_UART_CONTROL(UART_BASE, ALTERA_AVALON_UART_CONTROL_RRDY_MSK);alt_ic_isr_register(UART_IRQ_INTERRUPT_CONTROLLER_ID, // 注册ISRUART_IRQ, // 中断控制器标号,从system.h复制IRQ_UART_Interrupts, // UART中断服务函数NULL, // 指向与设备驱动实例相关的数据结构体NULL); // flags,保留未用
}int main()
{IRQ_init();while (1){IOWR_ALTERA_AVALON_UART_TXDATA(UART_BASE, txdata[index]);index++;if (txdata[index] == '\0')index = 0;usleep(100000); // 延时等待}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/13487.shtml

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

相关文章

笔记本电脑忘记开机密码怎么办?不需重装系统,重置开机密码

笔记本电脑忘记开机密码&#xff0c;重置开机密码方法 这里记录个方法&#xff0c;亲测有效。我的电脑版本是Windows11&#xff0c;21H2。 步骤1&#xff1a;打开疑难解答界面 方式1&#xff1a;按住Shift键&#xff0c;然后重启电脑。我电脑使用这个方法无效。 方式2&#…

盘点2024年自动猫砂盆品牌,哪个牌子自动猫砂盆比较好?

养猫之路漫漫&#xff0c;无论是新手还是老手&#xff0c;都需要细心照料猫咪的每一个需求。特别是在选择自动猫砂盆这个问题上&#xff0c;更是让人头疼不已。因为每只猫咪的喜好和习惯都不同&#xff0c;如果猫砂盆选得不对&#xff0c;猫咪可能会拒绝使用&#xff0c;导致家…

计算机视觉全系列实战教程:(一)概述

1.图像基本概念 &#xff08;1&#xff09;数字图像 在计算机视觉中&#xff0c;一般是以数字图像作为基础&#xff0c;所谓数字图像&#xff0c;就是一种以二维数组形式表示的图像&#xff0c;本质就是一个二维数组。 &#xff08;2&#xff09;图形 用数学规则产生的或具…

复制即用!纯htmlcss写的炫酷input输入框

一般我们写css样式都要用样式库&#xff0c;但是嫌麻烦&#xff0c;如果能找到现成的内容复制上去就很香了&#xff0c;下文是笔者觉得好看的纯html&css写的样式&#xff0c;可以直接复制到Vue等内&#xff0c;十分方便。 input组件 1&#xff09; 下面这个很推荐&#…

南京中科微Si24R2E:低功耗2.4GHz有源RFID SoC单发射芯片+7dBm可调输出功率,节省应用成本

Si24R2E是针对有源RFID市场设计的低功耗、高性能的2.4GHz标签系统的SoC单芯片&#xff0c;集成嵌入式2.4GHz无线射频发射器模块、128次可编程NVM存储器模块以及自动发射控制器模块等。 Si24R2E芯片主要特性&#xff1a; 工作在2.4GHz ISM频段 内置128次可编程NVM存储器 具有…

男士内裤有什么牌子比较好?公认男士内裤口碑最好的品牌

现在市面上关于男士内裤有着三角平角两种设计&#xff0c;而在材质方面还有莫代尔、纯棉、冰丝等等各种不同的材质分类&#xff0c;另外还有各种不同的男士内裤品牌。 所以大家在选男士内裤都觉得十分麻烦而且耗费时间&#xff0c;那么今天我就来给大家总结分析一下男士内裤应…

Python程序设计 内置模块 系统操作

系统操作 1. os 模块 Python 的 os 模块封装了常见的文件和目录操作&#xff0c;本文只列出部分常用的方法&#xff0c;更多的方法可以查看官方文档。 1.1 os.path常见用法 os.path 模块是跨平台的&#xff0c;即使不打算在平台之间移植自己的程序也应该用 os.path&#xf…

职责链模式

职责链模式 文章目录 职责链模式什么是职责链模式通过示例了解职责链模式 什么是职责链模式 职责链模式(Chain of Responsibility):使多个对象都有机会处理请求&#xff0c;从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链&#xff0c;并沿着这条链传递该请…

微软中国 AI 团队搬至美国?可解决家属签证

多位网友爆料称&#xff0c;微软中国数百名员工收到公司邮件&#xff0c;询问是否愿意迁移至美国、澳大利亚、爱尔兰等国家工作。公司将负责亲属签证问题&#xff0c;以Azure云平台的AI团队为主&#xff0c;员工需要在6月7日前给出答复。 有微软员工表示情况属实&#xff0c;这…

文本三剑客-awk

一、awk的介绍 1.1awk的简介 AWK 是一种处理文本文件的语言&#xff0c;是一个强大的文本分析工具 可以在无交互的模式下实现复杂的文本操作 相较于sed常作用于一整个行的处理&#xff0c;awk则比较倾向于一行当中分成数个字段来处理&#xff0c;因为awk相当适合小型的文本…

IT行业现状与未来趋势:洞察变革的浪潮

IT行业现状与未来趋势&#xff1a;洞察变革的浪潮 一、引言 随着科技的飞速发展&#xff0c;IT行业已经成为推动全球经济和社会进步的重要力量。从云计算、大数据到人工智能、区块链&#xff0c;每一项技术的革新都在重塑着我们的生活方式和工作模式。本文将探讨当前IT行业的…

Synerg FATAL

Synerg FATAL Synerg使用存在的问题 Synerg使用存在的问题 FATAL: failed to start server: cannot bind address: The specified address is not available from the local machine启动失败的原因&#xff0c;先排除是否有中文路径和电脑IP与软件IP是否一致&#xff0c;用Syn…

什么是TCP协议,TCP协议存在哪些安全挑战

TCP作为是互联网中最重要的协议之一&#xff0c;随着网络技术的不断发展&#xff0c;TCP使用范围越来越广&#xff0c;TCP协议也面临着越来越多的安全挑战。下面我们就来探讨下什么是TCP协议&#xff0c;TCP协议存在哪些安全挑战。 一、了解TCP协议 TCP&#xff08;Transmissi…

AI大模型没那么神秘,3个超简单秘诀让你轻松上手!| 塑造AI时代新思维

01、国内的大模型超优秀 是不是听说ChatGPT的强大功能后&#xff0c;早就手痒了&#xff0c;可是受限于环境&#xff0c;在为无法使用而遗憾呢&#xff1f; 别急&#xff0c;我们国内的大模型也棒棒的&#xff0c;在中文领域已经超越了ChatGPT3.5&#xff0c;还是免费的&…

Python代码:九、十六进制数字的大小

1、题目 计算的世界&#xff0c;除了二进制与十进制&#xff0c;使用最多的就是十六进制了&#xff0c;现在使用input读入一个十六进制的数字&#xff0c;输出它的十进制数字是多少&#xff1f; 2、代码 import sysnum16 input() num10 int(num16,16) print(num10) 3、结…

域信息收集

文章目录 一、基础信息收集1、查看系统详细信息2、查看系统中是否存在杀软3、查看系统开启的服务3、其他命令 二、凭据信息收集2.1 wifi信息2.2 相关工具 三、横向信息收集 一、基础信息收集 收集版本、补丁、服务、任务、防护等。 1、查看系统详细信息 systeminfo # 查看系…

AI绘画原理及工具介绍

市面上的AI绘画工具是运用人工智能技术来辅助或自动完成绘画创作的工具。这些工具依托于深度学习和图像处理技术&#xff0c;能够学习和模仿人类绘画的风格和技巧&#xff0c;从而生成具有艺术感的图像。以下是关于市面上AI绘画工具的详细介绍&#xff1a; 一、原理 数据收集…

快手截流多功能协议引流多线程多账号使用

在市场上&#xff0c;类似的软件售价都在几千元&#xff0c;但我发现这款全新版本的软件已经更新&#xff0c;而且我只需要配合使用谷歌浏览器&#xff0c;稍微调慢一点延时&#xff0c;我就可以像专业人士一样流畅地进行操作。 评论对于我而言是一种艺术&#xff0c;而不仅仅是…

Elasticsearch:向量相似度技术和评分

作者&#xff1a;来自 Elastic Valentin Crettaz 当需要搜索自由文本并且 CtrlF / CmdF 不再有效时&#xff0c;使用词法搜索引擎通常是你想到的下一个合理选择。 词汇搜索引擎擅长分析要搜索的文本并将其标记为可在搜索时匹配的术语&#xff0c;但在理解和理解被索引和搜索的…

[Cocos Creator 3.5赛车游戏]第3节 新建项目

环境已经配置好&#xff0c;现在您将真正的开始开发您的项目&#xff0c;开发项目的第一步是新建项目。所以现在请关闭上一个步骤打开的Cocos Creator窗口&#xff0c;回到CocosDashboard&#xff0c;点击“新建”按钮&#xff1a; 选择“模板”选项卡&#xff0c;因为您即将开…