FPGA的NIOS-II开发入门

本文介绍了FPGA中的NIOS-II软核处理器开发流程,从新建工程到硬件部分的设计,包括Qsys系统设计、CPU与PIO组件的添加与配置,以及中断和地址分配。接着详细阐述了软件部分的设计,包括编写Hello World程序,编译和调试步骤,最终实现流水灯的控制功能。
摘要由CSDN通过智能技术生成

流水灯显示
(一)硬件部分设计
1.新建工程
在这里插入图片描述

2.系统设计

Tools→Qsys
在这里插入图片描述

保存并输入文件名为 kernel,然后如图设置时钟
在这里插入图片描述

3.添加外围组件

添加 Nios II 32-bit CPU

在菜单中搜索添加add
在这里插入图片描述
在这里插入图片描述

然后会弹出元件配置窗口,我们不需要选择,默认配置即可
4.设置及操作
(1)连线 进行 clk、reset、avalon_jtag_slave 的连线,以及中断 irq 连线,中断号设为 0。 在这里插入图片描述
在这里插入图片描述

(2)On Chip 添加On Chip 核
在这里插入图片描述
(3)PIO 添加 PIO 接口 在这里插入图片描述

(4)System ID Peripheral 添加System ID Peripheral 核 !
5.连接
仔细检查连接
6.后续工作设计
(1)地址分配 进行基地址分配:点击 Qsys 主界面菜单栏中的 ”System” 下的 ”Assign Base Addresses” (2)Nios II 的复位和异常地址 指定 Nios II 的复位和异常地址 在这里插入图片描述
在这里插入图片描述

(3)原理图
在这里插入图片描述
(4)加载文件 点击Assignments→Settings,选择 kernel.qip 文件
(5)连接和生成管脚
在这里插入图片描述

(6)编译
(7)物理管脚分配 在这里插入图片描述
按下图分配在这里插入图片描述

至此完成复杂的硬件设计
(二)软件部分设计
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[8]={0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF};
int main (void) {
 int count=0;
 alt_u8 led;
 volatile int i;
 //串口打印
 printf("Hello world!\n");
 //流水灯循环
 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<5000000)
 		 i++;
   }
 return 0;
}

3.编译
结果如图为成功
在这里插入图片描述

4.运行
(1)调试
在这里插入图片描述

(2)连接
在这里插入图片描述

(3)run
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值