记录一下Nios II的学习过程
软件:Quartus II 13.1
开发板:Cyclone IV 系列 EP4CE6F17C8
一、Nios软核的建立
- 新建一个Quartus II 的工程文件,注意芯片选择
2.新建一个空的bdf文件,并将原理图设为顶层文件,注意其保存路径
3.启动Qsys(Tools–Qsys)
4.在 Qsys 界面中,选择菜单 File->Save as…把 Nios II 的文件保存为 kernel.qsys,注意保存在db下
5.View-Clocks:修改 Nios 系统的主时钟
(通过双击可修改名称及时钟频率,本次选择的芯片晶振为50MHz,故保留默认值)
6.添加 Nios II 软核
在Library栏进行快捷搜索,双击添加
参数值全部默认,点击Finish即可
进行时钟连接
7.添加SDRAM
注意SDRAM的参数需根据芯片手册进行设置
连接如上图
8.添加 System ID Peripheral 核(防止 Quartus 和 Nios 程序版本不一致的错误发生)
连接如上
9.添加 JTAG UART
参数默认
10.指定 Nios II 的复位和异常地址
11.System—Create Global Reset Network,进行复位线自动连接
12.System—Assign Base Address,进行基地址分配
13.进行中断号的分配
14.生成外部端口
15.生成 Qsys 系统 Generation— Generate
等待生成
二、嵌入到FPGA中
1.回到 Quartus II 主界面,在 top_level.bdf 原理图的空白处双击,将已经生成的 Project 目录下的 kernel 加入到原理图中来
2.添加kernel.qip文件
3.调用PLL IP核
(打算专门记录下Quratus中IP的调用过程)
4.PLL与软核相连
5.设置引脚
6.编译
7.引脚分配
8.编译
至此硬件部分全部完成
三、软件编程
Tool->Nios II Software Build Tools for Eclipse
1.建立工作空间
在该文件下建立一个software
2.File->New->Nios II Application and BSP from Template
选择一个“hello world"模板
注意SOPC那里选择之前生成的kernel.sopcinfo文件
3.编译一下工程,右键选择 hello_world 项目,选择 Build Project
4.下载: Nios II->Quartus II Programmer
下载完成后进行调试
5.调试:Run As->3 Nios II Hardware
发生错误, 转到"Target Connection"标签栏,点击Refresh Connections
点击下面的RUN重新编译
最后得到输出