一、新建项目
选择芯片
二、Qsys设计
1.进入Tools -> Platform Designer
进入后,首先点击File -> Save ,保存为Kernel.qsys.
2.设置时钟主频
这里设置为50MHz,与所选芯片的时钟保持一致
3.添加Nios-II Processor并设置
左边的IP Catalog中,选择Nios-II Processor,并点击Add添加
暂时不修改它的其他配置信息,直接点finish
右键重命名为"cpu",并按图操作进行时钟线连接
连接之后变成这样
4.添加JTAG并配置
左边选择JTAG_UART_Intel_FPGA_IP,点击Add。
右键重命名为uart,并按图进行时钟线,复位线,数据线的连接
5.添加RAM
选择On-Chip Memory (RAM or ROM) Intel FPGA,点击Add加入
连接时钟线,数据线与复位线,右键将其改名为onchip_ram,双击它,按图配置其大小:
6.添加PIO
左边选择PIO,将其加入进来
连接clk,reset,s1并导出输出端口
将输出命名为out_led
7.添加System ID Peripheral
8.其他设置
点击System -> Assign Base Address
点击System -> Create Global Reset NetWork
生成HDL
三、Quartus设计
1.添加原理图文件
返回到Quartus页面,新建原理图文件
双击空白处,加入生成的bsf文件
右键生成IO端口,并修改led端口为out_led
2.添加qip文件
3.设备引脚设置
物理引脚
进行全编译,生成sof文件
四、Nios-II Eclipse设计
1.进入Nios-II Eclipse
点击Tools -> Nios II SoftWare Build Tools for Eclipse
2.新建项目
按图点击:
写项目名称,选择helloworld模板。
图中勾选的文件是与qsys文件同级的sopcinfo文件
创建好后,替换成以下代码
#include "system.h" #include "altera_avalon_pio_regs.h" #include "alt_types.h" const alt_u8 led_data[8]={0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF}; int main (void) { int count=0; alt_u8 led; volatile int i; while (1) { if (count==7) {count=0;} else {count++;} led=led_data[count]; IOWR_ALTERA_AVALON_PIO_DATA(PIO_LED_BASE, led); i = 0; while (i<500000) i++; printf("Hello Nios-II\n"); } return 0; }
3.编译与运行
右键项目文件夹,点击Build Project
编译无误后
4.运行/调式程序
(1) 用户将运行程序来观察编译代码的执行。用户可以在目标硬件上或 Nios II 指 令集仿真器(ISS)上运行程序。本节实验只讲述在目标硬件上调试和运行程序。在 C/C++ Projects 视图中右击 hello_led_0 工程文件夹,然后在弹出的快捷菜单中选择 Run As→Nios II Hardware 运行程序,也可以在菜单栏中选择 Run →Run Configurations,如下图所示。
配置 Run Configurations,转到”Target Connection”标签栏,点击右侧的 Refresh Connections 将 USB-Blaster 加入,如下图所示.
(2) Apply 后,Run。下载完成后,可以看见 Console 里打印信息