您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页niosII_笔记

niosII_笔记

来源:爱go旅游网
bbs.5ifpga.com

这几天开始研究niosII,把学习的过程记下来吧,给论坛的各位同胞们。

本例过程跟网上其它的基本差不多,只不过软件是用的6.1的。另外有些问题也归纳一下,给论坛的同志们。 一、EDA软件的安装

1.安装QuartusII 2.安装niosII

说明:本示例采用6.1版本软件,其它版本界面稍有不同。(安装过程非本文说明重点)板子是用烟鱼那款EP1C3T14。

二、建立niosII系统

1. 建立项目。

建立一个目录,比如F:\est

启动QuartusII6.1软件 选择File->New Project Wizard

做nios系统的时候最好先选好器件,以免引起不必要的麻烦。

bbs.5ifpga.com

2. 如何生成一个可调试的nios 最小系统:

选择 Tools -> SopcBuilder,启动Altera SOPC Builder

启动Altera SOPC Builder后,SOPC Builder会立刻弹出对话框

填入System Name,比如niosII_e;HDL Language ,比如选择verilog,如下图:

点OK。Board Target ,比如,我选择Unspecified Board; Target Device Family,我选择Cyclone(用的是EP1C3T144)Clock我用的是50M Hz. 如下图:

添加niosII处理器到系统中。

注意:论坛里有些人提到在装完niosii后看不到NiosII Processor。我今天也遇到过这样的问题,莫名其妙(以前没有遇到过)。解决的办法就是打开SOPC Builder系统界面后,在File->SOPC Builder Setup中的Component/Kit Library Search Path中添加相应的路

bbs.5ifpga.com

径(比如我的如下图(装在C盘下)),然后退出QuartusII(包括SOPC Builder) ,重启即OK。

双击 Nios II Processor -Altera Corporation,会弹出Altera niosII 对话框,

在NiosII core配置选项中,点击Nios II/e区域,选择Nios II/e,如下图。然后Next,进入下一步。 ( e代表经济型吧,s好象是标准型,需要的资源不一样,当然区别大大的有,开始选e就OK了)

bbs.5ifpga.com

在JTAG Debug Module配置选项中,选择Level 1,如下图。然后Next,进入下一步。(之前有俩步next,但由于开始选用的是e型,故没有选项目可选,跳过。)

在Custom Instructions配置选项中,我由于无需增加任何定制指令,所以为空,如下图:

最后选择Finish,你的项目中会增加一个niosII 处理器,名字为cpu_0,为了简便起见,我没有将它改名。你可以依照你自己的喜好,为该处理器取个名字。如下图:

bbs.5ifpga.com

然后双击On-Chip Memory(RAM or ROM),(在Avalon Modules -> Memory -> 下),为系统添加RAM. Memory Type选择RAM;Data Width选择32bits,Total Memory Size 可以选择2K bytes,然后选择Finish确认。

Finish,如下图,系统中会添加name 为onchip_memory_0的ram,为了简便起见,我没有将它改名。你可以依照你自己的喜好,为其取个名字。

之后,双击PIO(在Parallel I/O)(在Avalon Modules -> Other 下),为系统添加输出接口。 Width 选择8 bits,然后点击 Finish 如下图

bbs.5ifpga.com

如下图,系统中会添加name 为pio_0的PIO,为了简便起见,我没有将它改名。你可以依照你自己的喜好,为其取个名字。

然后,选择System ->Auto-Assign Base Addresses,让系统自动分配基地址。如下图:

然后,选择Sysetm->Auto-Assign IRQs,让系统自动分配中断。如下图:

bbs.5ifpga.com

点击Nios II More \"cpu_0\" settings选项卡,进行处理器设定。

在该例中,无需做任何更改;Reset Address、Exceptiong Address、Break Location默认值如下图所示。

然后点 Generate,进行最后生成系统。选中HDL.Generate system module logic in Verilog, 如果需要仿真,也请选中Simulation.Create ModelSim(tm) project files 然后点击Generate,进行系统生成的任务。如下图:

然后,就是漫长(其实几分钟吧)的等待,期间可以上上厕所(比如我就出去小解了一下),出去活动活动。

bbs.5ifpga.com

(据说坐电脑前一个小时要出去活动一次,扭扭屁股动动腰哦)。看到系统提示SUCCESS:SYSTEM GENERATION COMPLETED,那么恭喜你,你的系统正确生成了。如果失败,返回检查,修改,直至成功。

3. 在Quartus6.1中使用上述最小NiosII系统。

在 SOPC Builder正确运行完毕后,可以在QuartusII中,打开SOPC Builder生成的niosII_e.bsf,检查一下引脚,看看跟你的设想是否有误,如下图,niosII_e有两个input:clk,reset_n,一组output:out_port_from_the_piop[7:0]

然后用图形输入的方法bdf文件中添加该系统并加入输入输出引脚。如下图所示。

bbs.5ifpga.com

三、 编写程序

在Alter SOPC Builder中,点击Run Nios II IDE,启动Nios II IDE,如下图:

在Nios II IDE中,选择File -> New -> Project,开启New Project 对话框 选择 Nios II C/C++ Application,如下图。然后选择Next,进入下一步。

bbs.5ifpga.com

点next,进如下图。

填写你自己的Project Name,比如我填写hello_led_0在Select Project Template中,我选择Hello LED(因为存放程序的sram只有2kbytes,所以许多Template不可用),如下图。然后选择Next,进入下一步。

next,如下图,选择Create a new…..

bbs.5ifpga.com

然后点Finish,进入项目,如下图。

打开项目中的文件:hello_led.c,进行适当的修改。

(注意:按道理是应该可以修改,比如,我将PIO的基地址修改为PIO_0_BASE(因为加PIO的时候系统默认的是pio_0),但保存的时候却保存不了,出现这个错误,暂时还不知道怎么回事),错误如下:

没办法,把添加的pio_0改成程序里LED_PIO了。还没研究到那一步,改天知道了再写出来。谁知道了也告诉我啊:)然后选择Project->Build All(Ctrl+B),编译整个项目。

如果无误,可以看到以下信息:Build completed.如果看到了该条提示,恭喜恭喜,距离成功只有一步之遥了!

bbs.5ifpga.com

四、 编译,下载 这个偶就不说了。下载后就看到流水灯一闪一闪亮晶晶啦~

今天就做到这,收工了,调试和把自己的模块挂到总线上等内容先学习一下再做吧。2:45的欧冠决赛,我赌利物浦,嘿嘿:) chuizi 2007-5-23

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务