quartus2 81和nios2 学习调试过程入门.docx

上传人:b****3 文档编号:3516414 上传时间:2022-11-23 格式:DOCX 页数:10 大小:1.18MB
下载 相关 举报
quartus2 81和nios2 学习调试过程入门.docx_第1页
第1页 / 共10页
quartus2 81和nios2 学习调试过程入门.docx_第2页
第2页 / 共10页
quartus2 81和nios2 学习调试过程入门.docx_第3页
第3页 / 共10页
quartus2 81和nios2 学习调试过程入门.docx_第4页
第4页 / 共10页
quartus2 81和nios2 学习调试过程入门.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

quartus2 81和nios2 学习调试过程入门.docx

《quartus2 81和nios2 学习调试过程入门.docx》由会员分享,可在线阅读,更多相关《quartus2 81和nios2 学习调试过程入门.docx(10页珍藏版)》请在冰豆网上搜索。

quartus2 81和nios2 学习调试过程入门.docx

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;

}

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1