实验一. Nios-II编程入门

Nios实验入门实践——用Nios软件编程方式完成LED流水灯显示并使用串口输出“Hello Nios-II”字符到笔记本电脑 在DE2-115开发板上用Nios软件编程方式完成LED流水灯显示,用Nios软件编程通过DE2-115开发板串口输出“Hello Nios-II”字符到笔记本电脑串口助手 阅读详情

实验一. Nios-II编程入门

一. 实验目标:

学习 Quartus 、Platform Designer、Nios-II SBT 的基本操作;

初步了解 SOPC 的开发流程,基本掌握 Nios-II 软核的定制方法;

掌握 Nios-II 软件的开发流程,软件的基本调试方法。

实验原理:

本实验的目的是通过Nios II处理器控制连接到DE2-115开发板的LED灯,实现流水灯效果。实验原理主要包括以下几个步骤:

  1. 硬件连接:首先,需要将LED灯连接到DE2-115开发板上预先定义的GPIO(通用输入输出)引脚上。这些引脚可以由Nios II处理器直接控制。
  2. SOPC Builder设计:在Quartus II软件中使用SOPC Builder工具创建一个系统,该系统包含Nios II处理器和GPIO组件。GPIO组件用于将Nios II处理器的数字信号转换为物理引脚的电平信号,从而控制LED灯的亮灭。
  3. Nios II编程:在Nios II IDE(集成开发环境)中,使用C或C++编写程序,该程序通过操作GPIO组件来控制LED灯的亮灭顺序和时间间隔,从而实现流水灯效果。
  4. 编译和下载:将编写好的程序在Nios II IDE中编译成可执行的二进制文件,并通过下载工具将其下载到FPGA(现场可编程门阵列)中的Nios II处理器上运行。
  5. 运行和调试:启动DE2-115开发板,观察LED灯的流水灯效果。如果效果不符合预期,可以通过Nios II IDE的调试功能进行调试和优化。

新建Quartus项目,选择使用芯片EP4CE115F29C7

image-20240512233116698

点击 Tools 下拉菜单下的 Platform Designer 工具,出现对话框:

设置时钟主频为50M并添加Nios-II Processor

image-20240512233400236

流水灯控制程序:

#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "alt_types.h"
#include "stdio.h"
const alt_u8
led_data[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
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_LED_BASE, led);
 i = 0;
 printf("Hello Nios-II\n");
 while (i<500000)
 i++;
 }
 return 0;
}

编译工程:

点击保存,选择hello_wold_bsp,右键后,选择Nios II中的Generate BSP,编译应用文件,选择hello_world右键后,点击Build Project

image-20240512234256117

注意事项:

  • 时钟和复位:确保为Nios II处理器和所有外设组件提供了正确的时钟和复位信号。
  • GPIO配置:在SOPC Builder中正确配置GPIO引脚的方向(输入或输出)。
  • UART配置:确保在SOPC Builder和Nios II代码中正确配置了UART的参数。
  • 调试:使用Nios II IDE的调试功能来检查代码的执行情况,并验证GPIO和UART的操作是否正确。

总结与心得:

这次实验让我掌握了Nios II编程的基础知识。在编写控制LED流水灯和串口通信的程序时,我学习了如何使用Nios II IDE进行编程、调试和下载程序。掌握了如何操作GPIO和UART等外设。

参考文献:

https://blog.youkuaiyun.com/xwmrqqq/article/details/115937457

https://blog.youkuaiyun.com/qq_43279579/article/details/115953871

通过Quartus II实现Nios II编程 Nios II处理器能够满足各种应用对32位嵌入式微处理器的需求,用户可以根据自己的系统需求选择合适的处理器型号,以达到性能和成本的最佳平衡。,因为Lite版本不支持高性能的Nios II,编译的时候会报错,若想使用Quartus需要标准版及以上版本,如果是标准及以上版本就可以选择NIos II/f。然后再将其更名为cpu。配置片上存储器 On-Chip Memory,选择Basic目录下的On-Chip Memory,并将总存储大小改为40k,完成配置,然后改名为onchip_ram。 阅读详情

相关推荐

小插曲:我和Nios II的故事

想必学习Altera家FPGA的小码农们都会有一个共同的困扰吧,那就是Nios II该不该学的问题。这个问题说白了,就是学Nios II到底有没有用。观点1、无用论,常常会听FPGA群里的某位前辈说道,目前市场上用Nios II做产品的几乎没有,学了压根没用;观点2、Nios II属于嵌入式软核,使用C语言代码编程,简化了系统设计的复杂度。 关于Nios II的讨论虽然有以上两种观点,但是实际上,

善良の一休君的博客 5575

nios ii错误总结

1. NIOS在debug的时候 ,可能会出现如下错误:这种情况下,只要将debug整个工程删除,重新建立即可。同时,我们debug的时候可以通过,F5,F6,F7进行快速deb...

weixin_30905981的博客 1294

Nios-II编程入门实验

verilog和nios-II比较下来,verilog编程的时候可以选择性的编程,比如我现在要串口传送,我可以只写一个串口传送就可以传出去,但是在细节方面比如时序很容易搞混,简洁但是要很细心,否则就是bug。Nios-II是添加ip核,使用已有的模块去建立程序逻辑,相当于模拟一个电脑,大致了解一下是能上手的。但是要深究还是有点难度的。相比较下来,nios-ii确实方便了一点点,并且它有点像拼图,把模块拼起来,然后软件编程实现。

wakeup_high的博客 1434

DE2-115开发板实战:基于NIOS II的流水灯与串口通信调试指南

本文详细介绍了在DE2-115开发板上使用NIOS II软核实现LED流水灯效果与串口通信的完整实战指南。内容涵盖从Qsys硬件系统配置、软件工程创建到具体的代码实现与调试技巧,重点解析了LED流水灯控制和串口数据输出两大核心功能,帮助FPGA开发者快速上手NIOS II嵌入式开发。

ik6789012的博客 186

SOPC_Builder与NIOS_II_的基础教程

SOPC_Builder与NIOS_II_的基础操作流程

NiosII之软件调试技巧.pdf

NiosII之软件调试技巧.pdf 是初学者较好的资源 值得下载

实验一Nios-II编程入门

文章使用的工具及板子类型工具:Quartus II 18.0开发板:Cyclone IV E EP4CE115F29C7。

m0_69726414的博客 1496

FPGA Nios II 的调试总结及程序代码

FPGA板子的NiosII的实现程序,手把手教你操作SDROM。

Nios-II编程入门

一. 实验目标:学习 Quartus 、Platform Designer、Nios-II SBT 的基本操作;初步了解 SOPC 的开发流程,基本掌握 Nios-II 软核的定制方法;掌握 Nios-II 软件的开发流程,软件的基本调试方法。二. 实验过程:1、完成以下实验:1) 在DE2-115开发板上分别用 Verilog和 Nios软件编程两种方式完成LED流水灯显示,理解两种方式的差异;

qq_64235654的博客 1170

FPGA Nios GPIO添加LED驱动

FPGA Nios GPIO添加LED驱动

3D Slicer:从入门到精通(二)——入门指南

本篇文章包含开始使用3D Slicer所需的信息,包括如何安装和快速开始使用基本功能,以及在哪里找到更多信息。

walt3433的博客 2万+

Nios实验入门——用Nios软件编程方式完成LED流水灯显示并使用串口输出“Hello Nios-II”字符到笔记本电脑

在DE2-115开发板上用Nios软件编程方式完成LED流水灯显示和串口输出“Hello Nios-II”字符到笔记本电脑串口助手

weixin_68811361的博客 1624

解决/usr/lib64/libstdc++.so.6和/lib64/libc.so.6版本过低问题

在CentOS7.0中编译好MySQL5.7.14之后,然后在CentOS6.5中初始化MySQL,执行:/usr/local/mysql/bin/mysqld --version出现如下问题:./bin/mysqld: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./bin/mysqld)

poxiaonie的博客 2万+

Nios实验入门——用Verilog编程方式完成LED流水灯显示并使用串口输出“Hello Nios-II”字符到笔记本电脑

Nios实验入门——用Verilog编程方式完成LED流水灯显示并使用串口输出“Hello Nios-II”字符到笔记本电脑

weixin_68811361的博客 1272

手把手教你用VSCode+MCUXpresso搭建i.MX RT1062开发环境(附RT-Thread Nano移植)

本文详细介绍了如何使用VSCode和MCUXpresso工具链搭建i.MX RT1062开发环境,包括工具链安装、工程配置、调试技巧以及RT-Thread Nano实时操作系统的移植方法。通过实战步骤和优化建议,帮助开发者快速掌握这款高性能Cortex-M7 MCU的开发流程,提升嵌入式开发效率。

weixin_27014595的博客 392

经典算法之——解决全排列问题以及详解

回溯”指的是“状态重置”,可以理解为“恢复现场”,是在编码的过程中,是为了节约空间而使用的,而在递归或者深度优先中根据需要的场合来配合回溯法可以进一步对自己的代码进行优化。, n-1, n},方向都为向左。邻位对换法是全排列生成算法中的其中一种,它的换位是双向的,通过保存数字的“方向性”来快速得到下一个排列。最后以 3 开头的全排列为[3, 1, 2], [3, 2, 1];以 1 开头的全排列为[1, 2, 3], [1, 3, 2];以 2 开头的全排列为[2, 1, 3], [2, 3, 1];

m0_68987535的博客 8794
上一篇: ROS机器人小车建模仿真与SLAM
下一篇: 第12周作业--HLS入门
whynotsolve
博客等级 码龄4年 202粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值