NIOSII教程
- 格式:ppt
- 大小:2.87 MB
- 文档页数:117
20分钟建立一个NIOSII开发环境一、软件安装1.首先,安装NIOSII 开发包。
采用虚拟光驱软件,如DAEMON 等将NIOS II V1.0 BUILD 316E.ISO文件映射到虚拟光驱上;点击光驱图标,会自动运行安装程序选择第一个选项,Install;选择Next按钮;询问是否接收协议的时候,选择Yes,下一个也按Yes,继续;如果是初学者,最后一个选项可以不选, Examples可以选择自己熟悉的语言,其他选项建议都选上;选择QuartusII的安装目录,如果不是C:盘,那么从Browse选项中指定。
如e:\altera\kits\nios2;接下来是选择一个程序组,一般情况按Next就可以了;开始安装,大约需要几分钟时间拷贝文件;点击Finish,弹出一个IE格式的说明文档,建议大家仔细看看Example Designs选项,可以对NIOSII CPU的配置和例程有更多的了解,对于以后的调试会很有帮助;这样,开发软件就安装完毕了,赶快运行我们的第一个程序吧。
二、Hello LED程序调试1.首先,备份Example目录。
因为我们要对目录中的文件进行修改,所以还是保留一份更好一些,一旦改坏了,还可以回复。
进入目录 E:\altera\kits\nios2(我的QuartusII安装在E:盘了),备份example目录,命名为example_old。
2.进入E:\altera\kits\nios2\examples\verilog\niosII_cyclone_1c20,删除low_cost目录,同时将我们提供的low_cost.rar文件拷贝过来,同时加压缩,解出来一个同名的low_cost目录。
3.启动QuartusII 4.1;选择File-》Open Project,或者Cntl+J,打开low cost项目。
打开工程后,可以看到一个命名为low_cost_1c20的系统。
通过View菜单的最后一个选项可以选择是否显示管脚分配信息。
NIOS2完整教程NIOS II 是一款高度可配置的32位嵌入式软核处理器,由Intel旗下的Altera(现在归属于英特尔)推出。
它具有低功耗、高性能和可扩展性的特点,适用于各种嵌入式应用领域。
下面是一份简要的NIOSII完整教程,帮助您了解如何开始使用NIOSII。
1. Nios II 架构Nios II 架构包括处理器核、总线接口、存储器和外设设备。
处理器核包括CPU和一些协处理器,如乘法器、除法器等。
总线接口用于连接处理器核、存储器和外设设备。
存储器用于存储指令和数据。
外设设备包括UART、GPIO、SPI、I2C等。
2. Nios II 开发环境搭建首先,您需要安装Altera的Quartus软件来进行Nios II的开发。
Quartus提供了一个开发工具套件,包括编译器、仿真器和调试器。
您还需要安装Nios II EDS,这是一个集成开发环境,用于配置和生成Nios II处理器的软件。
安装完软件后,您可以创建一个新的Nios II项目。
3. Nios II 项目配置在Quartus中创建新的Nios II项目时,您需要指定处理器类型、时钟频率和存储器大小等参数。
您还可以选择添加外设设备和协处理器。
一旦项目创建完成,您可以使用Nios II EDS来配置处理器和外设设备,并生成相关的软件。
4. Nios II 软件开发Nios II 支持多种软件开发工具,包括C/C++编译器、汇编器和调试器。
您可以使用C/C++编译器来编写和调试应用程序。
您还可以使用汇编器来编写高性能的关键代码。
调试器可以帮助您检测和修复应用程序中的错误。
5. Nios II 系统调试在开发过程中,您可能需要进行系统调试,以解决应用程序的问题。
Nios II 支持硬件和软件调试。
硬件调试通过连接JTAG接口进行,可以在硬件级别上进行调试。
软件调试使用Nios II调试器进行,可以在软件级别上进行调试。
6. Nios II 系统验证在完成软件开发和调试后,您可以进行系统验证,确保系统的正确性和稳定性。
1、打开quaratusII软件2、打开low_cost_lcd工程打开的工程:3、打开sopcbuilder正在打开:Sopc builder中建立的niosII系统4、选择system generationSystem generation界面5、点击run niosII IDE 正在读取中间会提示选择workplace点browse选择在你电脑中的low_cost_lcd文件夹中的software---workspace作为工作空间这是在我电脑中的情况之后等待一会儿,根据电脑的配置不同时间也不同。
可以从上图看到workspace文件夹上面还有一些文件夹。
这些就是存放c/c++例程的地方:这就是存储c文件的地方这个文件夹中就是你所熟悉的c语言程序。
好了言归正传,现在niosII ide 应该已经启动好了,如下显示:6、打开一个你向下载到实验板上的c程序,我以flash_test为例:点击flash_test:7、因为这些文件都是编译过的,就可以不编译了,当然在编译一次也没关系:点project-build project8、先把qaratusII的工程下载到实验板上9、实验板不要断电,下载软件程序注意控制台中显示的内容显示到这一步你的程序就成功了最后讲一下如何建立新的软件工程:1、现在新建一个工程:2、点next选择空白工程3、为你的工程起个名字这时会在旁边出现一个新的工程---flash_test_26、新建一个c/c++文档:出现如下的对话框:7、上面是选择父目录,下面打入文件名8、完成:这时在左侧的工程池中出现了你刚建的文件:9、我先把flash_test.c中的程序复制了,flash_test.c文件的位置上文已经提过了在low_cost_lcd---software---flash_test中。
10、打开文件,然后把刚才复制过的内容粘贴进去,一个新的niosII软件工程就做好了。
编译下载。
n i o s-i i-入门手册一、建立quartus ii工程首先,双击quartus ii 9.1图标打开软件,界面如下图1.1所示图1.11.1新建工程(1)点击file –>New Project Wizard 出现图1.2所示的对话框。
图1.2(2)点击Next。
如图1.3所示:第一行是工程的路径,二、三行为实体名。
填好后点击Next。
图1.3(3)此处可选择加入已设计好的文件到工程,点击Next。
图1.4(4)选择设计器件如图1.5所示。
接着点击Next。
图1.5(5)接着点击Next。
无需改动,点击finish,显示如下图所示。
图1.6(6)此时,工程已经建立完成,接下来需要建立一个原理图输入文件,点击file –>New ->Block Diagram/Schematic File 后如图1.7所示。
图1.7二、构建一个nios ii 软核(1)首先点击Tools ->Sopc Builder图2.1在System Name中输入软核的名称,注意:软核的名称不能和quartus工程的实体名相同,否则编译会出现错误,接着点击ok。
图2.2图中clk_0为时钟名称,100.0为时钟值双击可修改其值。
即软核的时钟就是100MHZ。
(2)建立nios ii处理器点击Processors -> Nios ii Processor 如图2.3所示图2.3点击后,将出现下图,在下图中选择软核的类型。
这里提供了三种类型,Nios II/e占用资源最少600-800LEs,功能也最简单,速度最慢。
Nios II/s占资源比,前者多一些,功能也多了,速度也忚一些Nios II/f占资源最多,功能也最多,速度就最快,用户可根据实际的需要选择不同的类型。
此处选择Nios II/f型,速度和功能都能满足。
下方Reset Vector是复位后启动的Memory类型和偏移量。
待SDRAM设置号以后再来设置此处。
NIOS II手把手入门前言:NIOS II是什么?也许你第一次听到这个词。
通俗地讲,NIOS II其实是一个软核,那什么是软核?软核是一个基于哈佛结构的可配置处理器。
哈佛结构,联想到了吧,其实51单片机也是基于哈佛结构的处理器。
至于为什么是哈佛结构,我觉得可能是哈佛结构的处理速度较快,因为他可以在一个周期读取数据和指令。
(关于哈佛结构的详细信息请自己查阅!)因此NIOS II是把指令存储器和数据存储器分开的。
在此我想详细介绍下可配置处理器的概念。
我们都知道51单片机或者ARM里面的硬件资源都是固定的,是固化的,不能修改的。
但是软核可配置就不一样啦,它里面的CPU,外围器件都是可选择的。
因此我们可以根据实际的情况来选择需要的资源,这样可以提高利用率。
总之,大家把它当做单片机来学习就行了!讲了一大堆,相信大家还是有点模糊,下面就以流水灯介绍NIOS II吧,让我们进入NIOS II的神奇世界!(在此相信大家都已经掌握quartus的基本使用和安装了与quartus 同样版本的NIOS II软件!)Quartus环境操作:第一步:建立一个Quartus II工程和原理图文件第二步:打开配置NIOS II窗口第三步:配置NIOS II内核和外围器件(双击system contents窗口中component library下拉菜单的Nios II processor)接下来选择程序存储区和数据存储器还有通用8位IO 口。
然后配置通用IO口:(下面是选择器件区窗口,可以看到上面配置的器件!!)双击CPU,把复位矢量和异常矢量分配好:第四步:好了,到现在为止我们已经配置好一个简单的NIOS II内核,接下来就是漫长的等待吧!第五步:在原理图中添加内核symbol(其中内核复位信号是低电平复位!!)第六步:软件(C或C++)编程现在看一下NIOS II软件编写窗口吧,是不是跟单片机开发的有点类似!清空其他工程后,建立一个应用项目:file—new—Nios II C/C++ Application然后建立一个C程序文件:大家可以先把程序写下来,按下保存!等下会有相应的解释。
一、建立quartus ii工程首先,双击quartus ii 9.1图标打开软件,界面如下图1.1所示图1.11.1新建工程(1)点击file –>New Project Wizard 出现图1.2所示的对话框。
图1.2(2)点击Next。
如图1.3所示:第一行是工程的路径,二、三行为实体名。
填好后点击Next。
图1.3(3)此处可选择加入已设计好的文件到工程,点击Next。
图1.4(4)选择设计器件如图1.5所示。
接着点击Next。
图1.5(5)接着点击Next。
无需改动,点击finish,显示如下图所示。
图1.6(6)此时,工程已经建立完成,接下来需要建立一个原理图输入文件,点击file –>New ->Block Diagram/Schematic File 后如图1.7所示。
图1.7二、构建一个nios ii 软核(1)首先点击Tools ->Sopc Builder图2.1在System Name中输入软核的名称,注意:软核的名称不能和quartus工程的实体名相同,否则编译会出现错误,接着点击ok。
图2.2图中clk_0为时钟名称,100.0为时钟值双击可修改其值。
即软核的时钟就是100MHZ。
(2)建立nios ii处理器点击Processors -> Nios ii Processor 如图2.3所示图2.3点击后,将出现下图,在下图中选择软核的类型。
这里提供了三种类型,Nios II/e占用资源最少600-800LEs,功能也最简单,速度最慢。
Nios II/s占资源比,前者多一些,功能也多了,速度也忚一些Nios II/f 占资源最多,功能也最多,速度就最快,用户可根据实际的需要选择不同的类型。
此处选择Nios II/f型,速度和功能都能满足。
下方Reset Vector是复位后启动的Memory类型和偏移量。
待SDRAM设置号以后再来设置此处。
Nios II快速入门Nios II的开发涉及到多个软件工具,由于文档需要面向最广泛的开发者,在这一篇中以一般的开发流程,图文并列的方式进行探讨,假设读者已经正确安装Altera公司的Quartus II5.1或更高版本、Nios II Development Kit 5.1或更高版本的软件,对软件安装不再赘述。
1软件工具介绍Nios II的开发包括了以32位Nios II软核处理器为核心的硬件配置、硬件设计、软件仿真、软件设计、软件调试等,基本的软件工具有:1.1Quartus II,用于完成Nios II系统的综合、硬件优化、适配、编程下载和硬件测试1.2SOPC Builder是Altera Nios II嵌入式处理器开发软件包,用于实现Nios II系统的配置、生成、Nios II系统相关的软件的生成1.3ModelSim用于对SOPC Builder生成的Nios II的HDL描述进行系统功能仿真1.4Matlab/DSP Builder,生成Nios II系统硬件加速器,并为定制新指令提供支持。
1.5Nios II IDE,软件开发调试环境。
我们主要使用上述工具1、2、5,对3、4工具的开发使用可以根据大家的具体需求另行探讨。
2Nios II应用系统开发设计流程介绍II开发分硬件开发和软件开发两个流程,硬件开发过程主要由用户定制系统硬件, Nios然后由SOPC Builder等工具完成系统硬件和对应的开发软件生成;软件设计和传统方式类似,接近于unix/linux系统开发,软件开发又可以细分为HAL驱动程序开发和应用系统开发。
在以后的实践中我们会体会到Nios II的开发是一个灵活的软硬件融合的开发过程。
3Nios II系统硬件设计实例导航我们以一个简单的基于Nios II的系统开发过程来介绍Nios II系统的开发过程,该系统具有四个按钮,8个LED输出,SDRAM,FLASH硬件,实现简单的流水灯。
Nios II软核处理器快速入门(实践篇)重要提示:开始之前请确认已经安装了Altera Quartus II 5.0和Altera Nios II 5.01集成开发环境,以及有效的license文件。
详细阅读目标板原理图。
内容特点:本文以实例方式详细介绍了如何创建Nios II软核处理器及简单应用。
启动Quartus II,选择File -> New Project Wizards,开始项目向导,如下图:Next进入下一个向导,填入你的项目名称和文件夹位置,如下图:Next进入下一个向导,这是一个添加设计文件向导,如下图:由于现在我们没有任何的设计文件可以添加,直接Next进入下一个向导,这是一个选择目标板上器件型号向导,根据我们使用的目标板,请选择EP1C6T144C8,如下图:完成目标器件添加后,Next进入下一个向导,这是一个EDA toos向导,如下图:根据实际情况,如果没有EDA tool,请直接Next进入下一个向导,如下图:Finish完成新建工程。
通过File -> New建立一个新的SCH文件,如下图:将其另存为你需要的文件名称。
接着进行器件和管脚设置,通过Assigned -> Device菜单进入下面的对话框。
然后按“Device & Pin Options…”按钮设置相关选项。
由于我们的目标板将INIT_DONE管脚分配给了Button使用,如果这个选项被选中,我们需要去掉Enable INIT_DONE output前的钩,如下图:我们的目标板使用了EPCS1配置器件,因此在“Configuration”中的“Use configuration device”栏中需要选择EPCS1,如下图:由于我们的目标板上FPGA的管脚还接入了其它器件,在此工程中未使用到,因此需要在“Unused Pins”中选择“As inputs,tri-stated”(非常重要,否则有可能造成目标板上的器件烧毁!!!),如下图:然后按“确定”按钮,再“OK”按钮退出器件设置。
NIOS II EDS中flash programmer的使用本教程以实例方式介绍NIOS II EDS中flash programmer的使用方法1,建立一个工程。
在本教程中工程名为led2,打开SOPC Builder,建立如下系统。
因为本教程要使用flash programmer所以EPCS控制器是必须有的,下面分开说明各个组件的创建。
RamMemory type为ram,容量这里配置为65536点击右键, rename为ramCpu可以根据自己的需要进行配置。
本教程配置为full 型CPU,调试级别为2其它参数保持默认。
点击右键, rename为cpu 添加System ID点击右键, rename为sysid.●根据自己的需要添加其它接口。
本教程配置8个输出型PIO点击右键, rename为led1(注意:不要命名为led,否则编译时会循环引用导致出错)●添加EPCS控制器,位置:library->memories and memory controllers->epcs serial flashcontroller点击右键, rename为epcs。
组件添加完成之后,生成系统。
3,进行顶层例化,这是很关键的一步,cyclone iii stratix iii 和stratix iv比较特殊,需要手动分配epcs编程管脚。
本例程的例化代码如下:管脚分配如下:四个红色箭头标示的管脚为EPCS的编程管脚。
4,进行全编译,下载配置信息。
5,打开NIOS II EDS,按照”SOPC简明教程”创建工程。
本教程工程如下:6,进行程序下载●NIOS II ->flash programmer,如图:●弹出如下对话框File->new可以选择bsp文件或sopc文件创建setting files,建议使用bsp,如果这里用sopc文件,以后还需要手动添加bsp文件;如果使用bsp文件,因为bsp文件中已经包含了sopc信息,以后不需要再添加sopc文件。
NIOSII教程NIOS II 是一种基于软核的处理器,可用于 FPGA 设计中。
它是由Altera 公司所开发的。
NIOS II 可以在 FPGA 中进行快速原型设计,并且具有高度可配置性和可扩展性。
本文将介绍 NIOS II 的基本架构和使用方法。
NIOSII架构基于RISC架构,它是一个32位的处理器,并且具有可选的指令扩展。
它的流水线深度可以根据设计的需求进行配置,以实现不同的性能要求。
NIOSII支持多种功能,包括硬件中断、异常处理以及浮点运算等。
在开始使用NIOSII进行开发之前,首先要进行软核处理器的配置。
配置包括选择所需的指令集、流水线深度和其他性能参数。
配置完成后,可以将软核处理器添加到FPGA设计中。
一旦软核处理器被添加到FPGA设计中,就可以开始编写应用程序。
NIOSII支持标准的C/C++语法,并且还提供了一些特殊的函数和指令,用于访问FPGA的硬件资源。
例如,可以使用特殊函数来配置GPIO引脚、读取和写入存储器以及执行其他与硬件交互的操作。
使用NIOSII进行FPGA开发具有许多优点。
首先,它提供了一种快速原型设计的方法,可以大大加快开发进程。
其次,NIOSII的可扩展性和高度可配置性使得它适用于各种不同的FPGA设计需求。
最后,NIOSII的开发工具和调试接口使得开发和调试过程更加简单和高效。
总结起来,NIOS II 是一种基于软核的处理器,适用于 FPGA 设计中。
它具有灵活性和可配置性,可以使用 C/C++ 或 HDL 进行开发,并通过Altera 公司提供的工具链进行编译和调试。
NIOS II 提供了一种快速原型设计的方法,并且适用于各种不同的 FPGA 设计需求。