quartus2 8.1和nios2 学习调试过程入门.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
quartus2 8.1和nios2 学习调试过程入门

一、Quartus II学习初步 1、新建工程 选怎file—New project Wizard… 如下图,输入文件夹名,工程名字,选择所用器件的名字,其他采用默认设置,建立一个名为paobiao的工程。 2、新建verilog文件 选择file—New—verilog HDL file,输入代码如下,并保存名字为paobiao.v,注意:文件的名字一定要和工程同名。 点击,上方分析综合按钮,检查有无语法错误,如果没有语法错误,点击pin planer,进行引脚分配。如下图,注意,引脚分配时,入CLK引脚,在location处点击并出入A16,将自动出现PIN_A16,选择变色即可。 3、编译,编译完成后,选择tools—progarma,连接上开发板,软件会自动搜索器件, 选择,paobiao.sof,并点击start,程序会下载到目标板上。下载完成后,就会看到数码管显示跑表了。 二、NIOS2入门 可以把NIOS2内核嵌入FPGA中,并且可以任意选择其他资源,如串口、SPI、I2c……这里只设计最小系统和串口。 建好一个工程,nios_ex2,新建一个方块/电路图文件,点击tools—SOPC Builder,输入nios的名字,这里取为nios2. 双击左侧栏中Nios2 processer,选择不同的NIOS2处理器。选择经济性(e) 然后选择JATG Debug MODES 选择Leave 1,这样选择可以进行调试。 然后选择onchip memory 如图示,大小设为40960字节 设置串口,名为uart_0,采取默认设置,115200,8位,1结束位,无奇偶校验。 设置GPIO,取名PIO_0,8位,输出。 然后在CPU处设置复位向量表和异常向量表位置为onchip memory 最后状态栏输出 Info: No errors or warnings.表示没有错误,然后点击“生成”,一段时间后,将IP核生成方块图。 在新建的BDF文件(方块图/电路图)处,点击查找器件 将生成的NIOS2添加到工程图中,并添加输入输出管脚 点击分析综合后,选择PIN Planer,按照电路分配管脚,然后编译,下载。 然后在SOPC Builder中点击NIOS 2 –nios2 IDE,启动nios2. 选择新建工程,选择NIos2 C/c++ 应用。 点击 NEXT,取工程名字,注意,页面中间选项PTF文件和CPU,一定是QUartus中生成的文件和CPU。 写代码如下 在hello_world_0处,右键,选择属性,C/C++ Builder,genral处选择优化级别Os。 在hello_world_0_syslib[]处,右键,选择属性,选择system libray,进行如下设置:stdin,stdout,stderr选择uart_0,即标准输入输出通过串口0.所有存储空间都选择为onchip memory。 目标板在下载到硬件配置文件sof文件后,编译,run即可在开发板上跑程序。 程序说明:system.h 中是对硬件资源的一些定义,如名字,基地址, alt_types.h 是定义typedef uchar之类的关键字 #include stdio.h #include string.h #include system.h #include altera_avalon_pio_regs.h #include alt_types.h int main (void) { alt_u8 led = 0x2; alt_u8 dir = 0; volatile int i; while (1) { printf(hello world.\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 (i1000000) i++; } return 0; }

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档