第6周-实验2-Nios-II入门实践

1. (简答题)

学习 Quartus 、Platform Designer、Nios-II SBT 的基本操作;初步了解 SOPC 的开发流程,基本掌握 Nios-II 软核的定制方法;掌握 Nios-II 软件的开发流程,软件的基本调试方法。

一、基于Nios II的hello world
1.关于Qsys的简介
Qsys是Quartus中的一个系统集成工具

1.名称
最先版本中名为SOPC Builder,最新版本名为Platform Designer
2.含义
可编程片上系统(采用编程方法将整个系统集成到一个芯片上)
3.作用
①通过集成IP核快速实现SOPC系统
②自动创建IP核之间的互联逻辑
③自定义IP核
2.NiosII实现hello world
2.1硬件设计
1.选择芯片

2.Tools->Qsys

3.设置系统时钟 

4.添加Nios II Processor
在搜索框中,输入nio,找到Nios II Processor,点击Add

 点击finish,保持默认设置

5.添加On_Chip Memory
在搜索框中,输入on_chip,找到On_Chip Memory,点击Add

 

然后保存文件,关闭Qsys。

6.创建顶层文件
回到Quarters,选择New->Verilog HDL File

顶层内容如下:

module hello_world(
	input clk,
	input reset_n
);
//此处的代码可以通过Qsys中的Generate->Generate Example,复制里面的内容,粘贴到此处,进行相应的修改
system_qsys u_qsys (
        .clk_clk       (clk),       //   clk.clk
        .reset_reset_n (reset_n)  // reset.reset_n
    );

endmodule

2.2软件设计

1.打开Nios II Software Build Tools for Eclipse

 

2.创建文件
File->New->Nios II Application and BSP from Template 

3.打开hello_world中的.c文件

#include <stdio.h>

int main()
{
  printf("Hello world!\n");

  return 0;
}

 点击保存,选择hello_wold_bsp,右键后,选择Nios II中的Generate BSP

2.3下载硬件和软件

1.硬件的下载

2.软件的下载

选择应用工程,右键后,选择Run As中的Nios II Hardware

 

2.4结果展示

完成以下实验:

1) 在DE2-115开发板上分别用Verilog和Nios软件编程两种方式完成LED流水灯显示,理解两种方式的差异;  2) 用Nios软件编程通过DE2-115开发板串口输出“Hello Nios-II”字符到笔记本电脑串口助手。

1.PIO的相关介绍
(1)定义
PIO IP核:Avalon-MM从端口和通用I/O端口提供了一个存储器映射(memory-mapped)接口。
(2)用途
用户逻辑或外围器件提供了简单的I/O控制
例如
①控制LED灯
②获取按键的电平变化信息
③控制显示设备
④与片外器件通信(SPI,I2C)
(3)寄存器

2.实现流水灯

2.1硬件设计

1.前面的基础硬件设计跟之前的helloworld差不多
2.添加其他IP核
添加PIO
在搜索框上输入pio,选择PIO(Parallel I/O),点击Add

点击finish,保持默认设置

3.连接时钟和复位

4.设置led的输出

 5.创建顶层文件
回到Quarters,选择New->Verilog HDL File
顶层文件内容

module hello_world(
	input clk,
	input reset_n,
	output  [3:0] led
);
//此处的代码可以通过Qsys中的Generate->Generate Example,复制里面的内容,粘贴到此处,进行相应的修改
system_qsys u0 (
        .clk_clk       (clk),       //   clk.clk
        .reset_reset_n (reset_n), // reset.reset_n
        .led_export    (led)     //   led.export
    );

endmodule

 

保存文件,并编译

2.2软件设计

1.部分软件设计与之前的相同
2.修改代码文件
打开hello_world中的.c文件

#include <stdio.h>
#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "alt_types.h"
const alt_u8
led_data[4]={0x01,0x03,0x07,0x0F};
int main (void) {
 int count=0;
 alt_u8 led;
 volatile int i;
 while (1)
  {
 	 if (count==4)
 	 {
 		 count=0;
 	 }
 	 else
 	 {
 		 count++;
 	 }
 	 led=led_data[count];
 	 IOWR_ALTERA_AVALON_PIO_DATA(LED_BASE, led);
 	 //延时的设置
 	 i = 0;
 	 while (i<5000000)
 		 i++;
   }	
 return 0;
}

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

2.3下载硬件和软件

1.硬件下载

2.软件的下载

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值