查看: 1345|回复: 0

MAX10评估--将ALTERA NIOS软核处理器应用于MAX10 FPGA

[复制链接]

该用户从未签到

发表于 2015-12-25 08:48:42 | 显示全部楼层 |阅读模式
分享到:
一、引言
MAX10   FPGA是ALTERA在2014年新推出的器件,通过内置FLASH使其具有CPLD的非易失特性,又具有一般FPGA的性能,而逻辑容量上却远大于一 般CPLD,这使ALTERA NIOS软核处理器也可以应用于MAX10  FPGA,这极大地增强了使用FPGA作为控制时的灵活性,本文拟一步一步的体验下NIOS的使用,软件环境为Quartus II 14.1 和STB  14.1。
二、实验操作
NIOS开发分为两部分,一是硬件开发,是基于Quartus II 和Qsys工具,二是软件开发,基于STB工具,下面为STEP BY STEP新建工程体验NIOS体验的使用.
1.新建工程,选择器件,如下面图示步骤:


主要的是选择好器件, 其它所有为缺省就可以。
2.如下图示在工具栏内点击打开Qsys工具:



3.按下图示在Qsys工具分别添加nios2_gen2、pio、jtag_uart、sysid_qsys、onchip_memory.








4. 进行系统互连,连接好的信号如下图示:



注意这里CLK我们直接设为50M,不在外加PLL,另外PIO用来控制LED需要EXPORT为外部引脚。

5.设置NIOS处理器的复位和例外向量位置,如下图示:




6.设置基地址,如下图示:






7.文件另外保存为test1.qsys, 注意这里我们是生成的文件为quartus II工程的顶层文件,所以需要命名和工程名一样,然后生成的HDL文件.



在弹出界面直接点Generate就OK了。

8.quartus II主界面把test1.qsys添加到quartus II工程,如下图示:





9.先编译一遍工程,然后定义好脚位重复编译一遍工程,最后下载到FPGA内。



至止硬件设计完成,下面我们开始软件设计:
10.打开STB工具,选择一个目录为工作区:




11.新建一个hello world 工程:




上图点红圈处选择生成的sopcinfo文件,红框出填软件工程名字,然后点Finish完成。

12.BSP设置如下图示:




然后保存BSP设置和点Generate产生BSP:





13. 添加下面代码到hello_world.c,然后分别编译BSP和工程软件:
#include "alt_types.h"
#include "altera_avalon_pio_regs.h"
#include "system.h"
#include <stdio.h>
void delay(void)
{
alt_u32 i =0;
for(i=0; i<1000000; i++);
}
int main()
{
   while(1)
   {
     printf("Hello from Nios II!\n");
     IOWR_ALTERA_AVALON_PIO_DATA(PIO_BASE,0x1);
     delay();
     IOWR_ALTERA_AVALON_PIO_DATA(PIO_BASE,0x0);
     delay();
   }
return 0;
}








14.下载软件到硬件上,可以看到LED再闪,同时一直串口打印Hello from Nios II!。






三、主要参考资料
1.m10_handbook.pdf
2.AN730 Nios II Processor Booting Methods in MAX 10 Devices.pdf
3.n2cpu_nii5v1.pdf
4.n2sw_nii5v2.pdf
5.n2cpu_nii51007.pdf
以上都是ALTERA原厂资料,各位童鞋可到ALTERA网站下载到,
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条

手机版|小黑屋|与非网

GMT+8, 2024-4-30 00:09 , Processed in 0.115551 second(s), 17 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.