Nios实验使用串口输出“Hello Nios-II”字符到笔记本电脑

目录

实验过程

创建工程

修改程序

编译工程

运行项目

效果实现

总结

参考


实验过程

硬件设计见博主上篇博客

软件部分设计

下面使用 Nios II Software Build Tools for Eclipse 来完成当前项目的软件开发。

启动 Nios II SBT

按照下图所示点击 Nios II Software Build Tools for Eclipse 打开 Nios II SBT for Eclipse

(2)启动 Workspace 选择当前的项目目录,点 OK。

II SBT for Eclipse 主界面

创建工程

(1)建立新的软件应用,如下图所示:

(2)点击后出现下图,在"SOPC Information File name"窗口中选择 kernel.sopcinfo 文件,以便将生成硬件配置信息和软件应用关联,CPU 栏会自动选择"CPU"。在"Project name"输入"hello_world,"Project template"选择 Hello_World。点击 Finish。

修改程序

在 hell_word.c 里修改流水灯控制程序。

复制代码
#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_LED_BASE, led);
 i = 0;
 while (i<500000)
 i++;
 }
 return 0;
}

编译工程

右键单击项目名称,在弹出的菜单中选择 Build Project,如下图所示

编译无误即可

运行项目

1)配置 FPGA

(1) 连接 JTAG 到开发板,确定 A.已正确安装驱动。B. 防火墙不会影响到 JTAG

的正常工作。最后给开发板上电。

(2) 如下图所示,启动 Quartus Prime Programmer。

(3) 如下图所示,添加下载文件。然后点击 Start 开始下载,下载成过后关闭,回到 Eclipse 主机面。

2)运行/调式程序

(1) 用户将运行程序来观察编译代码的执行。用户可以在目标硬件上或 Nios II 指

令集仿真器(ISS)上运行程序。本节实验只讲述在目标硬件上调试和运行程序。在 C/C++ Projects 视图中右击 hello_led_0 工程文件夹,然后在弹出的快捷菜单中选择 Run As→Nios II Hardware 运行程序,也可以在菜单栏中选择 Run →Run Configurations,如下图所示。

注意,在目标板上运行程序前,要确保 USB Blaster 下载电缆已经连接好,要保证已经使用硬件系统对 FPGA 完成配置,即完成第(1)步。

配置 Run Configurations,转到"Target Connection"标签栏,点击右侧的 Refresh Connections 将 USB-Blaster 加入,如下图所示。

效果实现

Apply 后,Run。下载完成后,可以看见 Console 里打印信息"hello from Nios

II!",如下图所示:

总结

本次实验通过实践收获了以下几个要点:

了解掌握了nios基本原理及作用

了解掌握了nios的简单使用方法及流程

掌握了eclips进行nios的编程

解决了编译NIOS2出现错误:make:[.mk] Error 1 或者 make: *** [*.elf] Error 1 解决方法见参考

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

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

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

参考

Nios实验入门实践------用Nios软件编程方式完成LED流水灯显示并使用串口输出"Hello Nios-II"字符到笔记本电脑_de2-115开发板nios实现-CSDN博客

相关推荐
子琦啊12 小时前
WIN11电脑桌面“固定到开始”菜单失效解决办法
windows·电脑
海涛高软13 小时前
verlog中阻塞赋值和非阻塞赋值
fpga开发
tiantianuser15 小时前
RDMA设计29:RoCE v2 发送及接收模块设计2
服务器·fpga开发·rdma·fpga设计·高速传输
线束线缆组件品替网16 小时前
Conxall 防水线缆在户外工控中的布线实践
运维·人工智能·汽车·电脑·材料工程·智能电视
9527华安17 小时前
FPGA实现GTP光口视频转USB3.0 UVC,基于Aurora8B10B+FT602芯片架构,提供4套工程源码和技术支持
fpga开发·gtp·usb3.0·uvc·aurora8b10b·ft602
zy1353806757318 小时前
12V输入5V/2A输出升降压芯片AH4002
科技·单片机·物联网·fpga开发·硬件工程·智能电视
dadaobusi18 小时前
verilog的generate
fpga开发
从此不归路19 小时前
FPGA 结构与 CAD 设计(第2章)
ide·fpga开发
FPGA_小田老师19 小时前
FPGA例程(5):时钟(clock)分频倍频(PLL/MMCM)实验--vivado行为级仿真、综合后仿真和实现后仿真说明
fpga开发·pll·mmcm·run simulation·前仿真·后仿真
3有青年19 小时前
HPS cold reset pin和AVST configuration的功能和作用
fpga开发