您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > NIOS II熟悉开发环境
谢谢你选择LYCEDA开发板—学习板熟悉NiosII开发环境注意:此文档是提供学习NiosII开发环境的过程。具体的器件要根据自己的学习板上的器件选择。NiosII的开发涉及到多个软件工具,由于文档需要面向最广泛的开发者,在这一篇中以一般的开发流程,图文并列的方式进行探讨,假设读者已经正确安装Altera公司的QuartusII6.0或更高版本、NiosIIDevelopmentKit6.0或更高版本的软件,对软件安装不再赘述。1软件工具介绍NiosII的开发包括了以32位NiosII软核处理器为核心的硬件配置、硬件设计、软件仿真、软件设计、软件调试等,基本的软件工具有:1.1QuartusII,用于完成NiosII系统的综合、硬件优化、适配、编程下载和硬件测试1.2SOPCBuilder是AlteraNiosII嵌入式处理器开发软件包,用于实现NiosII系统的配置、生成、NiosII系统相关的软件的生成1.3ModelSim用于对SOPCBuilder生成的NiosII的HDL描述进行系统功能仿真1.4Matlab/DSPBuilder,生成NiosII系统硬件加速器,并为定制新指令提供支持。1.5NiosIIIDE,软件开发调试环境。我们主要使用上述工具1、2、5,对3、4工具的开发使用可以根据大家的具体需求另行探讨。2NiosII应用系统开发设计流程介绍NiosII开发分硬件开发和软件开发两个流程,硬件开发过程主要由用户定制系统硬件,然后由SOPCBuilder等工具完成系统硬件和对应的开发软件生成;软件设计和传统方式类似,接近于unix/linux系统开发,软件开发又可以细分为HAL驱动程序开发和应用系统开发。在以后的实践中我们会体会到NiosII的开发是一个灵活的软硬件融合的开发过程。3NiosII系统硬件设计实例导航我们以一个简单的基于NiosII的系统开发过程来介绍NiosII系统的开发过程,该系统具有四个按钮,8个LED输出,SDRAM,FLASH硬件,实现简单的流水灯。项目名:Nios_Star。(这里介绍的是一个相对完整的系统定制,一个测试小系统只需要定制:CPU、On-Chipmemory、JTAG-UART、Led-pio就可以了)。3.1NiosII硬件系统开发流程3.1.1建立开发目录,D:\Nios_Star3.1.2启动QuartusII谢谢你选择LYCEDA开发板—学习板3.1.3新建设计项目File-NewProjectWizard谢谢你选择LYCEDA开发板—学习板Next。在上图的输入表单中输入项目目录,项目名称和顶层模块名。在上图中添加项目需要包含进来文件或非默认库,本例中使用默认设置。谢谢你选择LYCEDA开发板—学习板上图中选择FPGA器件,本例中选EP1C6Q240C8。上图中设定第三方综合、仿真、时间分析等EDA工具。本例选默认谢谢你选择LYCEDA开发板—学习板上图罗列项目相关信息。按Finish生成项目3.1.4建立顶层模块File-New选择BlockDiagram/SchematicFileFile-SaveAs谢谢你选择LYCEDA开发板—学习板保存文件名为顶层模块名。3.1.5建立系统模块选择QuartusII菜单Tools-SOPCBuilder…,打开与QuartusII集成的SOPC开发工具SOPCBuilder。弹出下图:输入系统名,本例中为:nios_star_cpu,HDL选择Verilog。确认后进入SOPCBuiler设计界面。在右上部分选择目标板和系统时钟,本例中目标板选FreeDev_board_cyclone_1c6(作者自制的开发板,如何定制开发板类型在其他讨论中给出,开发板不一致时可选一款FPGA器件一致外设相近的,这样谢谢你选择LYCEDA开发板—学习板选择会影响以后的FLASHprogram工具的使用),系统时钟默认50M。3.1.6加入NiosCPUCore(必需)首先加入的是CPU核,选择组件栏中的AvalonModules-NiosIIProcessor右键点击,选择AddNewNiosIIProcessorAlteraCorporation…,打开配置对话框如下图:NiosII提供三个选项,最小、标准、快速的CPU核,本例我们选最小核。谢谢你选择LYCEDA开发板—学习板其他选项表单中都默认,点击Finish完成。3.1.7加入on_chip_memory使用FPGA内部RAM资源,可以构成RAM或ROM,速度快,特别在调试时因为很少受外部连线等因素的限制很有用。组件栏中选择LegacyComponents-On-ChipMemory打开界面,如下图:本例中我们定义了4k字节的RAM。3.1.8加入JTAG_UARTJTAGUART在调试中非常有用,在调试中只要配置了CPU、On-ChipMemory和JTAGUART就可以完成一个最小系统了,这些硬件资源都在FPGA器件的上,涉及的电路较少,比较容易正常工作,在调试时特别是自制开发板调试时很有效。在组件栏中选择Communication-JTAGUART,弹出JTAGUART配置界面如下:谢谢你选择LYCEDA开发板—学习板3.1.9加入UARTUART就是通用异步收发器,NIOSII系统可以通过串口和其他设备通讯,也可用于仿真调试。波特率、数据位数、停止位数和校验方式按需要设置,本例选择默认配置,只用到RXD、TXD、GND三根线。在组件选择栏中选择Communication-UART(RS232seriesport)配置UART,界面如下:谢谢你选择LYCEDA开发板—学习板3.1.10加入Timer在嵌入式系统应用中,定时器是必不可少的,SOPCBuilder提供了一个定时器组件。在组件拦中双击选择Other-Intervaltimer进入配置界面,我们选用Fullfeature,1ms一次溢出事件。谢谢你选择LYCEDA开发板—学习板3.1.11加入Button_pio在组件拦中双击选择Other-PIO进入配置界面,选4位,对应4个按钮。对于PIO有4种模式:z输入(Inputportsonly)z输出(Outputportsonly)z三态(Tri-stateports)双向口z输入、输出(Bothinputandoutputports)在此选Inputportsonly。在InputOptions选项单我们配置了上升沿触发,生成中断请求的模式。配置完成后右键单击SOPCBuilder右半部分列表中的pio_0,Rename更名为button_pio.谢谢你选择LYCEDA开发板—学习板谢谢你选择LYCEDA开发板—学习板3.1.12加入Led_pio发光二极管LEDPIO设置和button_pio类似,只是模式是Outputportsonly,不再需要中断生成,本例中配置了8位的LED输出。在组件拦中双击选择Other-PIO进入配置界面。配置完成后右键单击SOPCBuilder右半部分列表中的pio_0,Rename更名为led_pio。谢谢你选择LYCEDA开发板—学习板3.1.13加入Avalon三态总线桥异步SRAM和Flash的数据总线是三态的,NiosIICPU和SRAM、Flash相接需要Avalon三态总线桥。在组件栏中双击Bridge-AvalonTri-StateBridge,加入Avalon三态总线桥。3.1.14加入SDRAMSOPCBuilder提供了对SDRAM支持,根据选用的芯片只需做少量的配置工作。在组件栏中双击Memory-SDRAMController进入配置画面,本例中因选用了SANSUNGK4S643232F,配置数据如下谢谢你选择LYCEDA开发板—学习板谢谢你选择LYCEDA开发板—学习板3.1.15加入FLASH在组件栏中双击Memory-FlashMemory(commonFlashInterface)进入配置。因根据实际器件的地址和数据线宽度配置,其他参数本例中选默认值。谢谢你选择LYCEDA开发板—学习板谢谢你选择LYCEDA开发板—学习板3.1.16锁定或调整存储器地址选择SOPCBuilder菜单System-Auto-AssignBaseAddresses自动分配存储器地址。选择SOPCBuilder菜单System-Auto-AssignIRQs自动分配中断向量。3.1.17设置系统地址单击SOPCBuilder的Next按钮,进行SOPC系统地址分配的配置。主要是配置启动程序以及中断矢量表的内存位置。本例中选默认值。3.1.18生成系统SOPCBuilder中单击Generate启动系统生成生成。谢谢你选择LYCEDA开发板—学习板生成完成以后单击EXIT退出SOPCBuilder。3.1.19在Nios_Star.bdf文件上绘制顶层图。3.1.19.1双击BDF文件窗口,出现Symbol对话框。3.1.19.2在对话框中点击Project目录。3.1.19.3在Project下选择Nios_Star,会出现代表前面建立的Nios系统的大图标。谢谢你选择LYCEDA开发板—学习板3.1.19.4点击OK,将其放入BDF文件中。3.1.19.5将Nios_Start与输入输出接口连接,完成系统硬件设计。下图中仅联接了系统CLK、RESET、BUTTOM、UART等。3.1.20引脚锁定选择assignments-pins弹出引脚配置表单,根据PCB硬件连线设定内部信号谢谢你选择LYCEDA开发板—学习板和外部引脚连线。在SCH和PCB设计时确定这些资源的连接。3.1.21编译系统选择菜单Tools-CompileTool启动编译谢谢你选择LYCEDA开发板—学习板3.1.22下载编程选择Tool-Programmer启动下载并配置FPGA。下载文件是Nios_Star.sof谢谢你选择LYCEDA开发板—学习板以上是NIOSII硬件系统配置过程,一般在开发板提供的时候会提供针对开发板硬件的已经完成配置的工程和相应文件。我们只要打开项目文件既可,3.1.23在QuartusIIFile菜单中选OpenProject….3.1.24选择工程项目文件(示例图中我们打开FreeDev2.1开发板的Nios_II_Base工程文件)谢谢你选择LYCEDA开发板—学习板4NiosII系统软件设计实例导航4.1启动NIOSIIIDE点击开始ÆAlteraÆNIOSII5.xÆNiosIIIDE可以选择已存在的软件工作空间,也可以指向一个新建工作空间的目录谢谢你选择LYCEDA开发板—学习板启动NIOSIIIDE后软件开发环境如下:谢谢你选择LYCEDA开发板—学习板4.2建立软件工程项目在NIOSIIIDE菜单中选FileÆNewÆProjice,然后选AlteraNiosIIÆC/C++Applocation。点击Next按钮谢谢你选择LYCEDA开发板—学习板对话框Names:输入软件项目名称,SOPCBuilderSystem:选择已经建立好的.ptf文件,CPU:下拉选择(NIOSII系统支持不对称多CPU系统的开发,如果你在SOPCBuilder中定义了多个CPU,那么这里可以选择对应的CPU)。AlteraNiosIIIDE开发环境中提供了很多程序模板,在对话框左下角选择不同的模板右下角框中会显示简要的模板说明,这些模板函盖了常用的系统开发类别,初学者选择合适的模板后,生成的软件框架就是一个很好的学习范例。在这里我们选默认的HelloWorld模板,生成一个最简项目。点击Next按钮,进入下库选择对话框。这个对话框中可以选择几个软件工程共用库,也可以按默认每个项目单独拥有库。再这里选默认,点击Finish。完成项目创建。谢谢你选择LYCEDA开发板—学习板4.3运行和调试程序NiosIIIDE环境的工具条上有调试和运行按钮,按钮右侧还有下拉按钮用于
本文标题:NIOS II熟悉开发环境
链接地址:https://www.777doc.com/doc-3399403 .html