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

下载本文档

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

文档简介

1,Nios 设计实例教程,一、Nios 集成开发环境(IDE)介绍 二、Nios 嵌入式处理器系统设计过程 三、设计实例NIOS驱动字符液晶,内容概要,2,Nios集成开发环境(IDE)介绍,Nios IDE是Nios系列嵌入式处理器的基本软件开发工具,包括程序的编辑、编译、调试和下载运行。 Nios IDE使用方法和Visual C+类似。 Nios IDE为软件开发提供了4个功能: 工程管理器; 编辑器和编译器; 调试器; 闪存编程器。,3,Nios集成开发环境(IDE)介绍,(1)新工程向导 自动建立C/C+应用程序工程和系统库工程。 (2)软件工程模板 提供软件代码实例,帮助用户尽快推出可运行的系统 (3)软件组件(系统软件) Nios 运行库(或称为硬件抽象层HAL); 轻量级IP TCP/IP库; C/OS 实时操作系统(RTOS); Altera压缩文件系统。,1. 工程管理器,4,Nios集成开发环境(IDE)介绍,(1)文本编辑器 全功能源文件编辑器: 语法高亮显示C/C+程序代码; 全面的搜索工具; 文件管理; 快速定位及自动纠错; 内置调试功能等 (2) C/C+编译器 提供图形化用户界面; 提供按钮式流程; 自动生成一个基于特定用户配置的makefile。,2. 编辑器和编译器,5,Nios集成开发环境(IDE)介绍,(1)基本调试功能 运行控制; 调用堆栈查看; 软件断点; 反汇编代码查看; 调试信息查看; 指令集仿真器。 (2) 高级调试功能 硬件断点调试ROM或闪存中的代码; 数据触发; 指令跟踪。,3. 调试器,(3)调试信息查看 使用户可以访问本地变量、寄存器、存储器、断点以及表达式赋值函数。 (4) 连接多种目标 FPGA开发板(通过JTAG); 指令集仿真器; 硬件逻辑仿真器。,6,Nios集成开发环境(IDE)介绍,4. 闪存编程器 闪存可用来存储FPGA配置数据和/或Nios 编程数据。 NiosIDE闪存编程器可对连接到FPGA的兼容通用闪存接口(CFI)的闪存器件、或Altera串行配置器件进行编程。,表7-3 编程到闪存中的通用内容类型,7,Nios 嵌入式处理器系统设计过程,1. 硬件设计过程 (1)创建一个Quqrtus 工程 (2)创建Nios 系统模块 启动SOPC Builder 添加CPU和外围器件 指定基地址 系统设置 生成系统模块 (3)将Nios 系统模块符号添加到BDF文件中 (4)编译Quqrtus 工程 (5)配置FPGA,8,Nios 嵌入式处理器系统设计过程,(1)启动Nios IDE; (2)建立新的软件工程,编写源程序; (3)编译工程; (4)运行程序; (5)调试程序; (6)将程序下载到开发板上的Flash中。,2. 软件设计过程,9,设计实例NIOS驱动字符液晶,一、设计要求与软硬件规划 二、硬件部分设计 三、软件部分设计,内容概要,10,设计实例NIOS驱动字符液晶,一、设计要求与软硬件规划,本节介绍NIOS驱动字符液晶的软、硬件方案设计以及具体的软件实现。 1. 系统功能 在NIOS系统上控制LCD显示任意字符; 2. 硬件系统组成规划 本系统需使用的外围器件包括: 1)LCD:电子钟显示屏幕; 2)SRAM存储器:程序运行时将其导入SRAM; 3)EPCS Serial Flash Controller 。,11,设计实例NIOS驱动字符液晶,2. 硬件系统组成规划(续) 在SOPC Builder中建立系统要添加的模块包括: 1) Nios 32bits CPU 2)按键PIO; 3)LCD Display ; 4)外部RAM接口; 5)重新配置请求PIO; 6)JTAG UART Interface; 7)EPCS Serial Flash Controller。,12,端口定义表,设计实例NIOS驱动字符液晶,13,设计实例NIOS驱动字符液晶,端口定义表(续),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驱动字符液晶,16,重点掌握!,2)创建Nios 系统模块 (1)启动SOPC Builder, 在Quartus 中执行“ToolsSOPC Builder”命令,则出现Create New System设置向导; 在“System Name”栏中输入系统名称first_nios2_system; 点击OK按钮,弹出Altera SOPC Builder主窗口; 在Clock-clk中输入50。,设计实例NIOS驱动字符液晶,17,需从SOPC Builder的元件池中选择以下元件加入到当前系统中: Nios 32bit CPU、 JTAG UART 接口、LCD Display、外部RAM接口。 添加Nios 32bit CPU 在模块池的Avalon Module下选择 Nios Processor-Altera Corporation; 点击Add,出现设置向导(默认名为cpu_0); 在Nios Core页中选择Nios /S,在Caches & Tightly coupled Memoris页中选择Instuctions Caches为4 Kbytes,在JTAG Debug Module页中选择Level 1; 点击Finish返回主窗口,将cpu_0重命名为cpu。,(2)添加CPU和外围器件,设计实例NIOS驱动字符液晶,18,1 添加Nios 32bit CPU,设计实例NIOS驱动字符液晶,19,在模块池中选择Communication-JTAG UART,点击Add,会出现JTAG UART-jtag uart_0的设置向导;,保持系统默认的选项,点击Finish,返回主窗口; 将jtag uart_0重命名为jtag_uart。,2 添加JTAG UART Interface,设计实例NIOS驱动字符液晶,20,根据开发板类型在元件池中选择EPCS Serial Flash,点击Add,会出现下面页面;,3 epcs_flash_controller接口,保持系统默认的选项,点击Finish,返回主窗口;,设计实例NIOS驱动字符液晶,21,根据开发板类型在元件池中选择相应的SRAM,在本例中选择UNVERSITY-MEMORRY-SRAM/SSRAMController,点击Add,会出现SRAM设置向导;,4 添加外部RAM接口,在Configuration栏中,确定存储器为DE1; 其余保持系统默认的选项,点击Finish,返回主窗口;,设计实例NIOS驱动字符液晶,22,设计实例NIOS驱动字符液晶,根据开发板类型在元件池中选择相应的LCD,在本例中选择Character,点击Add,会出现下面页面;,5 LCD接口,其余保持系统默认的选项,点击Finish,返回主窗口;,23,设计实例NIOS驱动字符液晶,最终的Nios 系统模块配置,24,设计实例NIOS驱动字符液晶,(3)指定基地址,25,设计实例NIOS驱动字符液晶,(5)生成Nios 系统模块, 选择System Gerneration标签页;, 在System Gerneration中选中HDL选项;如果安装了ModelSim软件并需要仿真此设计,可以选择Simulation选项;, 点击Generate,则生成系统模块,成功则显示“SUCCESS:SYSTEM generation was successful”; 点击Exit退出SOPC Builder。,26,设计实例NIOS驱动字符液晶,3)将Nios 系统模块的符号添加到BDF文件中 在生成过程中,SOPC Builder会生成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文件。,28,设计实例NIOS驱动字符液晶,4)编译Quartus 的工程设计文件 在Quartus 中执行“Processing-Start Compilation”命令,进行全编译。,5)配置FPGA 在Quartus 中执行“Tools-Programmer”命令,将quartus_nios2_project.sof下载到目标板上。,29,设计实例NIOS驱动字符液晶,三、软件部分设计,1. 创建一个Nios IDE 工程 (1)启动Nios IDE 5.0 既可以在“开始所有程序Altera”中启动,也可以直接在SOPC Builder 的System Generation标签页中单击“Run Nios IDE”按钮来启动。 则弹出如下对话框,提示用户选择一个工作空间来存储所有的工程,选择系统默认的目录即可 。,30,设计实例NIOS驱动字符液晶,(2)建立新的软件工程lcdcontroller, 执行File-New-C/C+ application命令; 在弹出的New Project对话框中,Name栏填入新建软件工程名lcdcontroller ,SOPC Builder System栏选择刚才修改的Nios 系统模块cpu_0 ,CPU项选择cpu,左侧的Select Project Templete域中,选择Blank Project,点击next; 在弹出的对话框中选择creat a new system named 单选钮,点击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”菜单命令,或点击鼠标右建,选择newhead file,在弹出的对话框中,键入basic_io.h。 (2)创建源文件 在C/C+工程浏览器中,选择lcdcontroller ,点击鼠标右建,选择newfile,在弹出的对话框中,键入test.c。,然后设计源程序,保存。,34,设计实例NIOS驱动字符液晶,在左侧的C/C+工程浏览器中,选择elec_timer_std,点击鼠标右键,在弹出菜单中选择Build Project;或执行“Project Build All”菜单命令。 编译完成后会在Task浏览器中显示警告和错误信息。,3. 编译工程,如果编译出现错误,则根据提示信息改正程序错误或工程设置,重新编译,直到无任何错误为止。,35,设计实例NIOS驱动字符液晶,Nios IDE提供三种运行平台,分别为Nios Hardware、 Nios Instruction Set Simulator和Nios ModelSim;这里选择Nios Hardware作为平台。 步骤: 执行Run-Run命令,弹出Run对话框; 在左边的Configration栏双击Nios Hardware ,出现运行设置对话框,在Main标签页中选择工程名为elec_timer_std,在Target Connection标签页中

温馨提示

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

评论

0/150

提交评论