NIOS实例教程
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
NIOS设计实例
22
设计实例—NIOS驱动字符液晶
NIOS设计实例
最终的Nios Ⅱ系统模块配置
23
设计实例—NIOS驱动字符液晶
(3)指定基地址
NIOS设计实例
24
设计实例—NIOS驱动字符液晶
(5)生成Nios Ⅱ系统模块
① 选择System Gerneration标签页; ② 在System Gerneration 中选中HDL选项;如果 安装了ModelSim软件 并需要仿真此设计, 可以选择Simulation 选项; ③ 点击Generate,则生成系统模块,成功则显示“SUCCESS:SYSTEM generation was successful”; ④ 点击Exit退出SOPC Builder。
NIOS设计实例
17
设计实例—NIOS驱动字符液晶
1 添加Nios Ⅱ 32bit CPU
NIOS设计实例
18
设计实例—NIOS驱动字符液晶
2 添加JTAG UART Interface
在模块池中选择Communication>JTAG UART,点击Add,会出 现JTAG UART-jtag uart_0的设 置向导;
输入/ 输出
Out
描 述
LCD使能信号
11
12 13
LCD_RW_from_the_lcd_display
LCD_RS_from_the_lcd_display
Out
Out
LCD读写信号
LCD端口寻址信号 LCD数据
LCD_data_to_and_from_the_lcd_disp Inout lay[7..0]
6
任意二进制数据
NIOS设计实例
Nios Ⅱ嵌入式处理器系统设计过程
1. 硬件设计过程
(1)创建一个Quqrtus Ⅱ工程 (2)创建Nios Ⅱ系统模块 启动SOPC Builder 添加CPU和外围器件 指定基地址 系统设置 生成系统模块 (3)将Nios Ⅱ系统模块符号添加到BDF文件中 (4)编译Quqrtus Ⅱ工程 (5)配置FPGA NIOS设计实例
描述
时钟输入,50MHz 复位输入 SRAM地址 SRAM数据 SRAM输出使能 SRAM低位有效信号 SRAM高位有效信号 SRAM读使能信号
9
SRAM_WE_N
Out
SRAM写使能信号
NIOS设计实例
12
设计实例—NIOS驱动字符液晶
端口定义表(续) 序号
10
名 称
LCD_E_from_the_lcd_display
3
NiosⅡ集成开发环境(IDE)介绍
2. 编辑器和编译器
(1)文本编辑器 全功能源文件编辑器: • 语法高亮显示C/C++程序代码; • 全面的搜索工具; • 文件管理; • 快速定位及自动纠错; • 内置调试功能等 (2) C/C++编译器 提供图形化用户界面; 提供按钮式流程; 自动生成一个基于特定用户配置的makefile。 NIOS设计实例
NIOS设计实例
10
设计实例—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。
1. 创建一个Nios Ⅱ IDE 工程
(1)启动NiosⅡ IDE 5.0
既可以在“开始>所有程序>Altera”中启动,也可以直接在SOPC Builder 的System Generation标签页中单击“Run NiosⅡ IDE”按钮来启动。 则弹出如下对话框,提示用户选择一个工作空间来存储所有的工程, 选择系统默认的目录即可 。
NIOS设计实例
9
设计实例—NIOS驱动字符液晶
一、设计要求与软硬件规划 本节介绍NIOS驱动字符液晶的软、硬件方案设 计以及具体的软件实现。
1. 系统功能
在NIOS系统上控制LCD显示任意字符;
2. 硬件系统组成规划
本系统需使用的外围器件包括:
1)LCD:电子钟显示屏幕; 2)SRAM存储器:程序运行时将其导入SRAM; 3)EPCS Serial Flash Controller 。
保持系统默认的选项,点击Finish,返回主窗口; 将jtag uart_0重命名为jtag_uart。
19
NIOS设计实例
设计实例—NIOS驱动字符液晶
3 epcs_flash_controller接口
根据开发板类型在元件池中选择EPCS Serial Flash,点击Add,会出现下 面页面;
5
NiosⅡ集成开发环境(IDE)介绍
4. 闪存编程器
闪存可用来存储FPGA配置数据和/或Nios Ⅱ编程数据。 NiosⅡIDE闪存编程器可对连接到FPGA的兼容通用闪存接口(CFI) 的闪存器件、或Altera串行配置器件进行编程。
表7-3 编程到闪存中的通用内容类型 内容类型 系统固定软件 FPGA配置数据 说 明 用于NiosⅡ处理器复位时从闪存中导入启 动程序 使用配置控制器,FPGA能够在上电复位时 从闪存获取配置数据 开发人员可以将任何二进制数据存储到闪存 内,如图形、音频等
NIOS设计实例
16
设计实例—NIOS驱动字符液晶
(2)添加CPU和外围器件
需从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。
保持系统默认的选项,点击Finish,返回主窗口;
NIOS动字符液晶
4 添加外部RAM接口
根据开发板类型在元件池中选择相应的SRAM,在本例中选择 UNVERSITY-MEMORRY-SRAM/SSRAMController,点击Add,会出现 SRAM设置向导;
NIOS设计实例
11
设计实例—NIOS驱动字符液晶
端口定义表 序号
1 2 3 4 5 6 7 8 clk reset_n SRAM_ADDR[17..0] SRAM_DQ[15..0] SRAM_CE_N SRAM_LB_N SRAM_UB_N SRAM_OE_N
名称
输入/输出
In In Out Inout Out Out Out Out
在Quartus Ⅱ中执行“Processing->Start Compilation”命令,进行全编译。
5)配置FPGA 在Quartus Ⅱ中执行“Tools->Programmer”命令,将 quartus_nios2_project.sof下载到目标板上。
NIOS设计实例
28
设计实例—NIOS驱动字符液晶 三、软件部分设计
在Configuration栏中,确定存储器为DE1; 其余保持系统默认的选项,点击Finish,返回主窗口;
NIOS设计实例
21
设计实例—NIOS驱动字符液晶
5 LCD接口
根据开发板类型在元件池中选择相应的LCD,在本例中选择Character,点 击Add,会出现下面页面;
其余保持系统默认的选项,点击Finish,返回主窗口;
7
Nios Ⅱ嵌入式处理器系统设计过程
2. 软件设计过程
(1)启动Nios Ⅱ IDE; (2)建立新的软件工程,编写源程序; (3)编译工程; (4)运行程序; (5)调试程序; (6)将程序下载到开发板上的Flash中。
NIOS设计实例
8
设计实例—NIOS驱动字符液晶
内容概要
一、设计要求与软硬件规划 二、硬件部分设计 三、软件部分设计
最简单的方法是沿 用Nios ⅡIDE已给 示例的硬件设计!
NIOS设计实例
14
设计实例—NIOS驱动字符液晶
NIOS设计实例
打开已有的设计sram_11.bdf
15
设计实例—NIOS驱动字符液晶
2)创建Nios Ⅱ系统模块
(1)启动SOPC Builder
① 在Quartus Ⅱ中执行“Tools>SOPC Builder”命令,则出现Create New System设置向导; ② 在“System Name”栏中输入系统名称first_nios2_system; ③ 点击OK按钮,弹出Altera SOPC Builder主窗口; ④在Clock-clk中输入50。
NIOS设计实例
29
设计实例—NIOS驱动字符液晶
(2)建立新的软件工程lcdcontroller
NIOS设计实例
26
设计实例—NIOS驱动字符液晶
(2)点击OK按钮,将其添加到BDF文件中; (3)将first_nio2_system模块与输入输出引脚相连,指定 目标器件,并进行引脚锁定,完成系统的硬件设计; (4)保存BDF文件。
NIOS设计实例
27
设计实例—NIOS驱动字符液晶
4)编译Quartus Ⅱ的工程设计文件
NIOS设计实例
25
设计实例—NIOS驱动字符液晶
3)将Nios Ⅱ系统模块的符号添加到BDF文件中
在生成过程中,SOPC Builder会生成Nios Ⅱ系统模块的符 号(Symbol),可以将该符号像添加其它QuartusⅡ符号一样 添加到当前项目的BDF文件quartus_nios2_project.bdf中。 (1)双击BDF文件空白处,出现Symbol对话框,选择Project->first_nios2_system;
NIOS设计实例
13
设计实例—NIOS驱动字符液晶 二、硬件部分设计
1)创建一个QuartusⅡ工程
(1)启动Quartus Ⅱ (2)创建工程quartus_nios2_project ① 建立一个工程,取名为 quartus_nios2_project.qpf,选择元件为 Cyclone库的EP2C8Q208; ② 新建设计文件quartus_nios2_project.bdf
Nios Ⅱ设计实例教程
内容概要
一、Nios Ⅱ集成开发环境(IDE)介绍 二、Nios Ⅱ嵌入式处理器系统设计过程 三、设计实例—NIOS驱动字符液晶
NIOS设计实例
1
NiosⅡ集成开发环境(IDE)介绍
Nios Ⅱ IDE是NiosⅡ系列嵌入式处理器的基本软件开 发工具,包括程序的编辑、编译、调试和下载运行。 Nios Ⅱ IDE使用方法和Visual C++类似。 Nios Ⅱ IDE为软件开发提供了4个功能: 工程管理器; 编辑器和编译器; 调试器; 闪存编程器。
4
NiosⅡ集成开发环境(IDE)介绍
3. 调试器
(1)基本调试功能 运行控制; 调用堆栈查看; 软件断点; 反汇编代码查看; 调试信息查看; 指令集仿真器。
(2) 高级调试功能 硬件断点调试ROM或闪存中的代码; 数据触发; 指令跟踪。
NIOS设计实例
(3)调试信息查看 使用户可以访问本地变量、 寄存器、存储器、断点以及 表达式赋值函数。 (4) 连接多种目标 FPGA开发板(通过JTAG); 指令集仿真器; 硬件逻辑仿真器。
NIOS设计实例
2
NiosⅡ集成开发环境(IDE)介绍
1. 工程管理器
(1)新工程向导 自动建立C/C++应用程序工程和系统库工程。 (2)软件工程模板 提供软件代码实例,帮助用户尽快推出可运行的 系统 (3)软件组件(系统软件) Nios Ⅱ运行库(或称为硬件抽象层HAL); 轻量级IP TCP/IP库; μC/OS Ⅱ实时操作系统(RTOS); Altera压缩文件系统。 NIOS设计实例