quartus2 81和nios2 学习调试过程入门.docx
《quartus2 81和nios2 学习调试过程入门.docx》由会员分享,可在线阅读,更多相关《quartus2 81和nios2 学习调试过程入门.docx(10页珍藏版)》请在冰豆网上搜索。
quartus281和nios2学习调试过程入门
一、QuartusII学习初步
1、新建工程
选怎file—NewprojectWizard…
如下图,输入文件夹名,工程名字,选择所用器件的名字,其他采用默认设置,建立一个名为paobiao的工程。
2、新建verilog文件
选择file—New—verilogHDLfile,输入代码如下,并保存名字为paobiao.v,注意:
文件的名字一定要和工程同名。
点击,上方分析综合按钮,检查有无语法错误,如果没有语法错误,点击pinplaner,进行引脚分配。
如下图,注意,引脚分配时,入CLK引脚,在location处点击并出入A16,将自动出现PIN_A16,选择变色即可。
3、编译,编译完成后,选择tools—progarma,连接上开发板,软件会自动搜索器件,
选择,paobiao.sof,并点击start,程序会下载到目标板上。
下载完成后,就会看到数码管显示跑表了。
二、NIOS2入门
可以把NIOS2内核嵌入FPGA中,并且可以任意选择其他资源,如串口、SPI、I2c……这里只设计最小系统和串口。
建好一个工程,nios_ex2,新建一个方块/电路图文件,点击tools—SOPCBuilder,输入nios的名字,这里取为nios2.
双击左侧栏中Nios2processer,选择不同的NIOS2处理器。
选择经济性(e)
然后选择JATGDebugMODES选择Leave1,这样选择可以进行调试。
然后选择onchipmemory如图示,大小设为40960字节
设置串口,名为uart_0,采取默认设置,115200,8位,1结束位,无奇偶校验。
设置GPIO,取名PIO_0,8位,输出。
然后在CPU处设置复位向量表和异常向量表位置为onchipmemory
最后状态栏输出
Info:
Noerrorsorwarnings.表示没有错误,然后点击“生成”,一段时间后,将IP核生成方块图。
在新建的BDF文件(方块图/电路图)处,点击查找器件
将生成的NIOS2添加到工程图中,并添加输入输出管脚
点击分析综合后,选择PINPlaner,按照电路分配管脚,然后编译,下载。
然后在SOPCBuilder中点击NIOS2–nios2IDE,启动nios2.
选择新建工程,选择NIos2C/c++应用。
点击NEXT,取工程名字,注意,页面中间选项PTF文件和CPU,一定是QUartus中生成的文件和CPU。
写代码如下
在hello_world_0处,右键,选择属性,C/C++Builder,genral处选择优化级别Os。
在hello_world_0_syslib[]处,右键,选择属性,选择systemlibray,进行如下设置:
stdin,stdout,stderr选择uart_0,即标准输入输出通过串口0.所有存储空间都选择为onchipmemory。
目标板在下载到硬件配置文件sof文件后,编译,run即可在开发板上跑程序。
程序说明:
system.h中是对硬件资源的一些定义,如名字,基地址,
alt_types.h是定义typedefuchar之类的关键字
#include
#include
#include"system.h"
#include"altera_avalon_pio_regs.h"
#include"alt_types.h"
intmain(void)
{
alt_u8led=0x2;
alt_u8dir=0;
volatileinti;
while
(1)
{
printf("helloworld.\n");
if(led&0x81)
{
dir=(dir^0x1);
}
if(dir)
{
led=led>>1;
}
else
{
led=led<<1;
}
IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE,led);
i=0;
while(i<1000000)
i++;
}
return0;
}