NIOS实例教程课件_第1页
NIOS实例教程课件_第2页
NIOS实例教程课件_第3页
NIOS实例教程课件_第4页
NIOS实例教程课件_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1NiosⅡ设计实例教程一、NiosⅡ集成开发环境(IDE)介绍二、NiosⅡ嵌入式处理器系统设计过程三、设计实例—NIOS驱动字符液晶内容概要2NiosⅡ集成开发环境(IDE)介绍NiosⅡIDE是NiosⅡ系列嵌入式处理器的基本软件开发工具,包括程序的编辑、编译、调试和下载运行。NiosⅡIDE使用方法和VisualC++类似。NiosⅡIDE为软件开发提供了4个功能:工程管理器;编辑器和编译器;调试器;闪存编程器。3NiosⅡ集成开发环境(IDE)介绍(1)新工程向导自动建立C/C++应用程序工程和系统库工程。(2)软件工程模板提供软件代码实例,帮助用户尽快推出可运行的系统(3)软件组件(系统软件)NiosⅡ运行库(或称为硬件抽象层HAL);轻量级IPTCP/IP库;μC/OSⅡ实时操作系统(RTOS);Altera压缩文件系统。1.工程管理器5NiosⅡ集成开发环境(IDE)介绍(1)基本调试功能运行控制;调用堆栈查看;软件断点;反汇编代码查看;调试信息查看;指令集仿真器。(2)高级调试功能硬件断点调试ROM或闪存中的代码;数据触发;指令跟踪。3.调试器(3)调试信息查看使用户可以访问本地变量、寄存器、存储器、断点以及表达式赋值函数。(4)连接多种目标FPGA开发板(通过JTAG);指令集仿真器;硬件逻辑仿真器。6NiosⅡ集成开发环境(IDE)介绍4.闪存编程器闪存可用来存储FPGA配置数据和/或NiosⅡ编程数据。NiosⅡIDE闪存编程器可对连接到FPGA的兼容通用闪存接口(CFI)的闪存器件、或Altera串行配置器件进行编程。内容类型说明系统固定软件用于NiosⅡ处理器复位时从闪存中导入启动程序FPGA配置数据使用配置控制器,FPGA能够在上电复位时从闪存获取配置数据任意二进制数据开发人员可以将任何二进制数据存储到闪存内,如图形、音频等表7-3编程到闪存中的通用内容类型7NiosⅡ嵌入式处理器系统设计过程1.硬件设计过程(1)创建一个QuqrtusⅡ工程(2)创建NiosⅡ系统模块启动SOPCBuilder添加CPU和外围器件指定基地址系统设置生成系统模块(3)将NiosⅡ系统模块符号添加到BDF文件中(4)编译QuqrtusⅡ工程(5)配置FPGA9设计实例—NIOS驱动字符液晶一、设计要求与软硬件规划二、硬件部分设计三、软件部分设计内容概要10设计实例—NIOS驱动字符液晶一、设计要求与软硬件规划本节介绍NIOS驱动字符液晶的软、硬件方案设计以及具体的软件实现。

1.系统功能在NIOS系统上控制LCD显示任意字符;

2.硬件系统组成规划本系统需使用的外围器件包括:

1)LCD:电子钟显示屏幕;2)SRAM存储器:程序运行时将其导入SRAM;

3)EPCSSerialFlashController。11设计实例—NIOS驱动字符液晶2.硬件系统组成规划(续)在SOPCBuilder中建立系统要添加的模块包括:

1)NiosⅡ32bitsCPU

2)按键PIO;3)LCDDisplay;

4)外部RAM接口;5)重新配置请求PIO;

6)JTAGUARTInterface;

7)EPCSSerialFlashController。13设计实例—NIOS驱动字符液晶端口定义表(续)序号名称输入/输出描述10LCD_E_from_the_lcd_displayOutLCD使能信号11LCD_RW_from_the_lcd_displayOutLCD读写信号12LCD_RS_from_the_lcd_displayOutLCD端口寻址信号13LCD_data_to_and_from_the_lcd_display[7..0]InoutLCD数据14设计实例—NIOS驱动字符液晶二、硬件部分设计1)创建一个QuartusⅡ工程(1)启动QuartusⅡ(2)创建工程quartus_nios2_project ①建立一个工程,取名为quartus_nios2_project.qpf,选择元件为Cyclone库的EP2C8Q208; ②新建设计文件quartus_nios2_project.bdf

最简单的方法是沿用NiosⅡIDE已给示例的硬件设计!15打开已有的设计sram_11.bdf设计实例—NIOS驱动字符液晶17需从SOPCBuilder的元件池中选择以下元件加入到当前系统中:NiosⅡ32bitCPU、JTAGUART接口、、LCDDisplay、外部RAM接口。

①添加NiosⅡ32bitCPU在模块池的AvalonModule下选择NiosⅡProcessor-AlteraCorporation;点击Add,出现设置向导(默认名为cpu_0); 在NiosⅡCore页中选择NiosⅡ/S,在Caches&TightlycoupledMemoris页中选择InstuctionsCaches为4Kbytes,在JTAGDebugModule页中选择Level1;点击Finish返回主窗口,将cpu_0重命名为cpu。(2)添加CPU和外围器件设计实例—NIOS驱动字符液晶181添加NiosⅡ32bitCPU设计实例—NIOS驱动字符液晶19

在模块池中选择Communication->JTAGUART,点击Add,会出现JTAGUART-jtaguart_0的设置向导;

保持系统默认的选项,点击Finish,返回主窗口;将jtaguart_0重命名为jtag_uart。

2添加JTAGUARTInterface设计实例—NIOS驱动字符液晶21

根据开发板类型在元件池中选择相应的SRAM,在本例中选择UNVERSITY-MEMORRY-SRAM/SSRAMController,点击Add,会出现SRAM设置向导;4添加外部RAM接口在Configuration栏中,确定存储器为DE1;其余保持系统默认的选项,点击Finish,返回主窗口; 设计实例—NIOS驱动字符液晶22设计实例—NIOS驱动字符液晶

根据开发板类型在元件池中选择相应的LCD,在本例中选择Character,点击Add,会出现下面页面;5LCD接口其余保持系统默认的选项,点击Finish,返回主窗口; 23设计实例—NIOS驱动字符液晶最终的NiosⅡ系统模块配置25设计实例—NIOS驱动字符液晶(5)生成NiosⅡ系统模块①选择SystemGerneration标签页;②在SystemGerneration中选中HDL选项;如果安装了ModelSim软件并需要仿真此设计,可以选择Simulation选项;③点击Generate,则生成系统模块,成功则显示“SUCCESS:SYSTEMgenerationwassuccessful”;④

点击Exit退出SOPCBuilder。26设计实例—NIOS驱动字符液晶3)将NiosⅡ系统模块的符号添加到BDF文件中

在生成过程中,SOPCBuilder会生成NiosⅡ系统模块的符号(Symbol),可以将该符号像添加其它QuartusⅡ符号一样添加到当前项目的BDF文件quartus_nios2_project.bdf中。(1)双击BDF文件空白处,出现Symbol对话框,选择Project->first_nios2_system;27设计实例—NIOS驱动字符液晶(2)点击OK按钮,将其添加到BDF文件中;(3)将first_nio2_system模块与输入输出引脚相连,指定目标器件,并进行引脚锁定,完成系统的硬件设计;(4)保存BDF文件。29设计实例—NIOS驱动字符液晶三、软件部分设计1.创建一个NiosⅡIDE工程(1)启动NiosⅡIDE

5.0既可以在“开始>所有程序>Altera”中启动,也可以直接在SOPCBuilder

的SystemGeneration标签页中单击“RunNiosⅡIDE”按钮来启动。则弹出如下对话框,提示用户选择一个工作空间来存储所有的工程,选择系统默认的目录即可。30设计实例—NIOS驱动字符液晶(2)建立新的软件工程lcdcontroller

①执行File->New->C/C++application命令;

②在弹出的NewProject对话框中,Name栏填入新建软件工程名lcdcontroller,SOPCBuilderSystem栏选择刚才修改的NiosⅡ系统模块cpu_0,CPU项选择cpu,左侧的SelectProjectTemplete域中,选择BlankProject,点击next;

③在弹出的对话框中选择creat

anewsystemnamed…单选钮,点击Finish,则在QuartusⅡ的工作目录elec_timer_std下自动生成software文件夹,新创建的工程elec_timer_std会出现在C/C++工程浏览器中,同时会自动创建一个系统库工程<软件工程名>_syslib。31设计实例—NIOS驱动字符液晶新建C/C++工程软件工程名用户定制的NiosⅡ系统模块32设计实例—NIOS驱动字符液晶创建软件工程后的NiosⅡIDE工作界面软件工程系统库工程33设计实例—NIOS驱动字符液晶(1)创建头文件在NiosⅡIDE左侧的C/C++工程浏览器中,选择lcdcontroller,执行“File>new>file”菜单命令,或点击鼠标右建,选择new>headfile,在弹出的对话框中,键入basic_io.h。(2)创建源文件在C/C++工程浏览器中,选择lcdcontroller

,点击鼠标右建,选择new>file,在弹出的对话框中,键入test.c。

然后设计源程序……,保存。2.建立源文件time.c和头文件time.h34设计实例—NIOS驱动字符液晶在左侧的C/C++工程浏览器中,选择elec_timer_std,点击鼠标右键,在弹出菜单中选择BuildProject;或执行“Project>BuildAll”菜单命令。编译完成后会在Task浏览器中显示警告和错误信息。3.编译工程

如果编译出现错误,则根据提示信息改正程序错误或工程设置,重新编译,直到无任何错误为止。35设计实例—NIOS驱动字符液晶NiosⅡIDE提供三种运行平台,分别为NiosⅡHardware、NiosⅡInstructionSetSimulator和NiosⅡModelSim;这里选择NiosⅡHardware作为平台。步骤:执行Run->Run命令,弹出Run对话框;在左边的Configration栏双击NiosⅡHardware

,出现运行设置对话框,在Main标签页中选择工程名为elec_timer_std,在TargetConnection标签页中确认JTAGc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论