博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NIOS II 例程之Hello CS
阅读量:4621 次
发布时间:2019-06-09

本文共 2602 字,大约阅读时间需要 8 分钟。

1 新建工程

在quartus ii 中新建一个工程(hello.Prj)

2 Qsys硬件系统搭建

在quartus ii中开启Qsys:

    打开Qsys界面发现System Contents下已经有了一个clk_0,如下图所示。为搭建一个最小系统还必须添加一些必要组件,比如NIOS II 处理器、JTAG、onchip_ram、systemID等。

      添加JTAG:

    添加NIOS II 处理器

   添加onchip_ram

  添加pio

  添加system ID

在system contents 的connections进行连接,时钟clk和reset与所有组件的clk和reset连接,nios2_qsys的data_master和instruction_master 均与

代表onchip_memory2_0 的从机总线s1 连接上。而其他作为总线slave 的外设均连接到nios2_qsys_0的data_master上

将需要与外部连接的接口属性设置为export,这里将pio设置为输出如图所示:

这里NIOS II 处理器还要设置一下,将其Reset Vector和Exception Vector均设为onchip_mem:

让后进行create globle reset,自动分配地址和中断操作:

很多外设都有中断信号,在我们的Qsys中也需要将对应的IRQ一列中的外设和NIOS II处理器连接上。在没有连接是,对应外设上有一个空心的小点,如果点上去,则不是实心的

小圆,而是可以填写数字的一个空心大圆,对应可以写上它的中断优先级。

最后在generation中进行相关设置,13.0 simulation和testbench处都设置为none ,否则容易报错。

点击generation 进行系统生成。

3 例化Qsys

回到Quartus II,我们新建一个名为hello.v的verilog源代码文件。然后输入以下代码;

module hello(clk,rst_n,led);input   clk;input   rst_n;output  led;     myqsys u0 (        .clk_clk                        (clk),                        //  clk.clk        .reset_reset_n                  (rst_n),                  //  reset.reset_n        .pio_external_connection_export (led)  // pio_external_connection.export    );endmodule

然后将myqsys.Qsys和ex2.v文件添加到工程中

对工程进行综合编译。

进行引脚分配,然后再最终综合,布局布线。。。。。

4 EDS中建立软件工程

打开EDS软件。首先弹出如下的workspace路径设置对话框,采用默认设置并点击OK进入软件。

进入EDS软件界面

菜单栏点击FileNewNios II Application and BSP from Template新建一个模板工程。

如图加载系统硬件,即sopcinfo文件,

选择好SOPC文件后,默认选中CPU为nios2_qsys,给软件工程命名为ex3swprj,最后

再选择空白工程模板,然后点击Finish完成工程的创建。

在ex2工程中新建一个main.c文件

打开main.c文件进行软件编程

/* * main.c * *  Created on: 2015-3-30 *      Author: Administrator */#include "alt_types.h"#include "altera_avalon_pio_regs.h"#include "sys/alt_irq.h"#include "system.h"#include 
#include
void delay(void);int main(void){alt_u8 timer = 0;while(1){printf("Hello CS!I am NIOS II! %d\n",timer);delay();timer++;}return 0;}//延时函void delay(void){alt_u32 i=0;while(i < 4000000){i++;}}

 

先不要对工程进行编译,首先对BSP Editor进行一定的设置。

进入BSP Editor,需要按照后面一个表格做设置,完成后点击Generate按钮完成后Exit即可。

前面的BSP Editor中按照如下要求做设置。另外提醒大家注意的是,每次硬件工程(在Quartus II中)的任何更改,建议在编译软件工程前逗号重新在BSP Editor中Generate一次,

这是为了保证软硬件的一致性,否则编译将出错。

接着回到EDS中,分别选中ex2swprj_bsp和ex2swprj,然后右键点击选中Build Project。这就完成了软件平台的搭建

5 板级调试

首先下载sof文件到FPGA中

在EDS里,选中应用工程,右键点击并选择Rus asNiso II Hardware。第一次操作通常会弹出Run Configuration界面,首先在Project一栏中选择好当前工程和当前的软件下载文

件(在应用工程目录下的elf文件 )。

在Target Connection页面,需要检测下载硬件信息。可以多次点击右侧的Refresh Connections按钮,直到左侧的Connections下出现我们的下载线信息,此外,我们还需要让左下角的Run按钮有效(即变亮可以点击)。点击Run开始软件的在线运行。

观察Nios II Console窗口:

至此已完成了一个hello cs的NIOS II 例程。

                                                                                                                                                                   2015 3月30日

                                                                                                                                                                     CSLegened

转载于:https://www.cnblogs.com/CSLegend/p/4379155.html

你可能感兴趣的文章
Apache httpd 2.4.27开启GZIP压缩功能
查看>>
mysql 获取当前日期及格式化
查看>>
实验四
查看>>
app同包同签名不能安装问题
查看>>
『工具』对拍器
查看>>
最大闭合权图
查看>>
01背包__DP(POJ1745)
查看>>
django基础知识之视图:
查看>>
设计模式之命令模式
查看>>
2G内存刚刚好 浅谈4G内存对笔记本的影响
查看>>
洛谷P2401 不等数列 题解
查看>>
Ubuntu下Apache+SVN+submin实现WEB管理SVN
查看>>
Linux集群时间同步方法
查看>>
四张图带你了解Tomcat系统架构
查看>>
Spring 加载配置文件的方式
查看>>
oracle
查看>>
Java基础——Java集合(二)
查看>>
详解如何让Android UI设计性能更高效
查看>>
文本处理 - 字符串逐字符或逐单次反转
查看>>
Flink监控:Monitoring Apache Flink Applications
查看>>