好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

nios ii 快速入门.pdf

27页
  • 卖家[上传人]:简****9
  • 文档编号:99365564
  • 上传时间:2019-09-18
  • 文档格式:PDF
  • 文档大小:1.53MB
  • / 27 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 广州强盛电子广州强盛电子 :247891066 Nios II 快速入门快速入门 Nios II 的开发涉及到多个软件工具,由于文档需要面向最广泛的开发者,在这一篇中 以一般的开发流程, 图文并列的方式进行探讨, 假设读者已经正确安装 Altera 公司的 Quartus II5.1 或更高版本、Nios II Development Kit 5.1 或更高版本的软件,对软件安装不再赘述 1 软件工具介绍软件工具介绍 Nios II 的开发包括了以 32 位 Nios II 软核处理器为核心的硬件配置、硬件设计、软件仿 真、软件设计、软件调试等,基本的软件工具有: 1.1 Quartus II,用于完成 Nios II 系统的综合、硬件优化、适配、编程下载和硬件测试 1.2 SOPC Builder 是 Altera Nios II 嵌入式处理器开发软件包,用于实现 Nios II 系统 的配置、生成、Nios II 系统相关的软件的生成 1.3 ModelSim 用于对 SOPC Builder 生成的 Nios II 的 HDL 描述进行系统功能仿真 1.4 Matlab/DSP Builder,生成 Nios II 系统硬件加速器,并为定制新指令提供支持。

      1.5 Nios II IDE,软件开发调试环境 我们主要使用上述工具 1、2、5,对 3、4 工具的开发使用可以根据大家的具体需求另 行探讨 2 Nios II 应用系统开发设计流程介绍应用系统开发设计流程介绍 Nios II 开发分硬件开发和软件开发两个流程,硬件开发过程主要由用户定制系统硬件, 然后由 SOPC Builder 等工具完成系统硬件和对应的开发软件生成;软件设计和传统方式类 似,接近于 unix/linux 系统开发,软件开发又可以细分为 HAL 驱动程序开发和应用系统开 发在以后的实践中我们会体会到 Nios II 的开发是一个灵活的软硬件融合的开发过程 3 Nios II 系统硬件设计实例导航系统硬件设计实例导航 我们以一个简单的基于 Nios II 的系统开发过程来介绍 Nios II 系统的开发过程,该系统 具有四个按钮, 8 个 LED 输出, SDRAM, FLASH 硬件, 实现简单的流水灯 项目名: Nios_Star (这里介绍的是一个相对完整的系统定制,一个测试小系统只需要定制:CPU、On-Chip memory、JTAG-UART、Led-pio 就可以了)。

      3.1 Nios II 硬件系统开发流程 3.1.1 建立开发目录,D:\Nios_Star 3.1.2 启动 Quartus II 广州强盛电子广州强盛电子 :247891066 3.1.3 新建设计项目 File-New Project Wizard Next 广州强盛电子广州强盛电子 :247891066 在上图的输入表单中输入项目目录,项目名称和顶层模块名 在上图中添加项目需要包含进来文件或非默认库,本例中使用默认设置 广州强盛电子广州强盛电子 :247891066 上图中选择 FPGA 器件,本例中选 EP1C6Q240C8 上图中设定第三方综合、仿真、时间分析等 EDA 工具本例选默认 广州强盛电子广州强盛电子 :247891066 上图罗列项目相关信息按 Finish 生成项目 3.1.4 建立顶层模块 File-New 选择 Block Diagram/Schematic File File-Save As 广州强盛电子广州强盛电子 :247891066 保存文件名为顶层模块名。

      3.1.5 建立系统模块 选择 Quartus II 菜单 Tools-SOPC Builder…,打开与 Quartus II 集成的 SOPC 开 发工具 SOPC Builder弹出下图: 输入系统名,本例中为:nios_star_cpu,HDL 选择 Verilog 确认后进入 SOPC Builer 设计界面在右上部分选择目标板和系统时钟,本例 中目标板选 FreeDev_board_cyclone_1c6(作者自制的开发板,如何定制开发板类 型在其他讨论中给出,开发板不一致时可选一款 FPGA 器件一致外设相近的,这样 选择会影响以后的 FLASH program 工具的使用) ,系统时钟默认 50M 广州强盛电子广州强盛电子 :247891066 3.1.6 加入 Nios CPU Core(必需) 首先加入的是 CPU 核,选择组件栏中的 Avalon Modules -Nios II Processor 右键点击,选择 Add New Nios II Processor Altera Corporation…,打开配置对话框如 下图: Nios II 提供三个选项,最小、标准、快速的 CPU 核,本例我们选最小核。

      其他选项表单中都默认,点击 Finish 完成 广州强盛电子广州强盛电子 :247891066 3.1.7 加入 on_chip_memory 使用 FPGA 内部 RAM 资源,可以构成 RAM 或 ROM,速度快,特别在调试 时 因 为 很 少 受 外 部 连 线 等 因 素 的 限 制 很 有 用 组 件 栏 中 选 择 Legacy Components-On-Chip Memory 打开界面,如下图: 本例中我们定义了 4k 字节的 RAM 3.1.8 加入 JTAG_UART JTAG UART 在调试中非常有用,在调试中只要配置了 CPU、On-Chip Memory 和 JTAG UART 就可以完成一个最小系统了,这些硬件资源都在 FPGA 器件的上, 涉及的电路较少,比较容易正常工作,在调试时特别是自制开发板调试时很有效 在组件栏中选择 Communication-JTAG UART,弹出 JTAG UART 配置界面如下: 广州强盛电子广州强盛电子 :247891066 3.1.9 加入 UART UART 就是通用异步收发器,NIOS II 系统可以通过串口和其他设备通讯,也 可用于仿真调试。

      波特率、数据位数、停止位数和校验方式按需要设置,本例选择 默认配置,只用到 RXD、TXD、GND 三根线 在组件选择栏中选择 Communication-UART(RS232 series port)配置 UART, 界面如下: 广州强盛电子广州强盛电子 :247891066 3.1.10 加入 Timer 在嵌入式系统应用中, 定时器是必不可少的, SOPC Builder 提供了一个定时器 组件在组件拦中双击选择 Other-Interval timer 进入配置界面,我们选用 Full feature,1ms 一次溢出事件 广州强盛电子广州强盛电子 :247891066 3.1.11 加入 Button_pio 在组件拦中双击选择 Other-PIO 进入配置界面,选 4 位,对应 4 个按钮对于 PIO 有 4 种模式: ? 输入(Input ports only) ? 输出(Output ports only) ? 三态(Tri-state ports)双向口 ? 输入、输出(Both input and output ports) 在此选 Input ports only。

      在 Input Options 选项单我们配置了上升沿触发,生成 中断请求的模式 配置完成后右键单击 SOPC Builder 右半部分列表中的 pio_0,Rename 更名为 button_pio. 广州强盛电子广州强盛电子 :247891066 广州强盛电子广州强盛电子 :247891066 3.1.12 加入 Led_pio 发光二极管 LED PIO 设置和 button_pio 类似,只是模式是 Output ports only, 不再需要中断生成,本例中配置了 8 位的 LED 输出在组件拦中双击选择 Other-PIO 进入配置界面 配置完成后右键单击 SOPC Builder 右半部分列表中的 pio_0,Rename 更名为 led_pio 广州强盛电子广州强盛电子 :247891066 3.1.13 加入 Avalon 三态总线桥 异步 SRAM 和 Flash 的数据总线是三态的,Nios II CPU 和 SRAM、Flash 相接 需要 Avalon 三态总线桥。

      在组件栏中双击 Bridge-Avalon Tri-State Bridge,加入 Avalon 三态总线桥 3.1.14 加入 SDRAM SOPC Builder 提供了对 SDRAM 支持,根据选用的芯片只需做少量的配置工 作在组件栏中双击 Memory-SDRAM Controller 进入配置画面,本例中因选用了 SANSUNG K4S643232F,配置数据如下 广州强盛电子广州强盛电子 :247891066 广州强盛电子广州强盛电子 :247891066 3.1.15 加入 FLASH 在组件栏中双击 Memory-Flash Memory(common Flash Interface)进入配置 因根据 实际器件的地址和数据线宽度配置,其他参数本例中选默认值 广州强盛电子广州强盛电子 :247891066 3.1.16 锁定或调整存储器地址 选择 SOPC Builder 菜单 System-Auto-Assign Base Addresses 自动分配存储器 地址。

      选择 SOPC Builder 菜单 System-Auto-Assign IRQs 自动分配中断向量 3.1.17 设置系统地址 单击 SOPC Builder 的 Next 按钮,进行 SOPC 系统地址分配的配置 广州强盛电子广州强盛电子 :247891066 主要是配置启动程序以及中断矢量表的内存位置本例中选默认值 3.1.18 生成系统 SOPC Builder 中单击 Generate 启动系统生成生成 生成完成以后单击 EXIT 退出 SOPC Builder 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 系统的大图 标 广州强盛电子广州强盛电子 :247891066 3.1.19.4 点击 OK,将其放入 BDF 文件中 3.1.19.5 将 Nios_Start 与输入输出接口连接,完成系统硬件设计。

      下图中仅联接了系统 CLK、RESET、BUTTOM、UART 等 3.1.20 引脚锁定 选择 assignments-pins 弹出引脚配置表单,根据 PCB 硬件连线设定内部信号 和外部引脚连线在 SCH 和 PCB 设计时确定这。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.