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博客

相关推荐
云水木石11 小时前
配置 UOS/deepin 系统远程桌面,实现多台电脑协同办公
电脑
不可思议迷宫13 小时前
Verilog编程实现一个分秒计数器
单片机·嵌入式硬件·fpga开发
Json____14 小时前
uni-app 框架 调用蓝牙,获取 iBeacon 定位信标的数据,实现室内定位场景
uni-app·电脑·蓝牙·蓝牙信标 beacon·定位信标·停车场定位
Terasic友晶科技17 小时前
第3篇:Linux程序访问控制FPGA端LEDR<一>
fpga开发·嵌入式系统·de1-soc开发板
双料毒狼_s17 小时前
【FPGA】状态机思想回顾流水灯
fpga开发
中金快讯18 小时前
戴尔台式电脑开不了机是什么原因?戴尔台式电脑怎么进入bios
电脑
IT里的交易员1 天前
【系统】换硬盘不换系统,使用WIN PE Ghost镜像给电脑无损扩容换硬盘
运维·电脑
双料毒狼_s1 天前
【FPGA实战】基于DE2-115实现数字秒表
fpga开发
Cynthia的梦1 天前
FPGA学习-基于 DE2-115 板的 Verilog 分秒计数器设计与按键功能实现
fpga开发
9527华安2 天前
Xilinx系列FPGA实现HDMI2.1视频收发,支持8K@60Hz分辨率,提供2套工程源码和技术支持
fpga开发·音视频·8k·hdmi2.1