解决WIN7下HELLOWORLD模板程序编译出错.doc

解决WIN7下HELLOWORLD模板程序编译出错.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
解决WIN7下HELLOWORLD模板程序编译出错

我的系统是WIN7,QuartusII和NIOS2的版本都是10.0,按照特权同学的《特权和你一起学NIOS2--第三章 流程实践案例——手把手第一个工程》操作,前面都很顺利,后来在Eclipse里建好了软件工程之后,编译(Build Project),出现如下错误提示:make:***[**.mk] Error 1 或者 make: *** [**.elf] Error 1。 看了很多论坛,很多网友都提了自己的解决思路,归纳起来,大概有几种解决办法: (1)、Regenerate the BSP to update the Makefile, and then build again. To regenerate from Eclipse: 1. Right-click the BSP project. 2. In the Nios II Menu, click Generate BSP. (2)、Here is the list of files that you can select to change their compatibility mode under the Quartus II-bin-cygwin-bin folder: 1. Make.exe 2. Sh.exe 3. Echo.exe 4. Cygstart.exe 5. MakeInfo.exe 6. Perl.exe 7. Collect2.exe (under nios2eds\bin\nios2-gnutools\ H-i686-pc-cygwin\libexec\gcc\nios2-elf\3.4.6) 8. Nios2-elf-g++.exe (under nios2eds\bin\nios2-gnutools\ H-i686-pc-cygwin\bin) 方法就是将上面8个.exe文件改成XP兼容模式。 (3)、两个问题,第一,clean project; 第二,由于我用的onchip memory,修改system library,需要去掉suppt c++。 (4)、Your on-chip memory is too small. It looks like youll need 64K. Make your on-chip memory bigger, or try to shrink the size of your code (use smallc library, etc.) 解决办法(1)和(2)我反复试验了,没有用。(3)和(4)只是提出了一个思路,没有指出具体的操作步骤,但是,仔细分析,你会发现他们其实说的是一个意思,就是FPGA的片上memory太小,存储空间不够。再反过头来看特权同学的pdf教程,有这么一段描述: 七、设置软件编译属性 由于正常的工程模板软件C代码量比较大,而我们所分配的可用片内存储器(onchip_mem)容量也不大(12KBytes),因此需要在软件编译属性里做一些简单的设置,以裁剪代码量,否则编译将无法通过。 代码裁剪不是无依据的随便设置,在官方的edh_ed_handbook.pdf.Section II.3.Debugging Nios II Designs.Reducing Code Size一节有所描述。因此,根据文档中推荐的消减代码需要做如下设置。 看完这个,不禁豁然开朗。设置步骤如下:设置Eclipse里面的菜单NiosII / BSP Editor ,选择当前BSP工程(如图1所示)后确定,出现如图2所示的对话框,按照上面的表格设置相关参数,保存并点击右下角的“Generate”,完成后退出即可。 图1 图2 上面的设置顺利完成之后,再Build Project,就OK啦。成功之后,Console栏会出现很多message,其中有两行是: Info: (first2_swprj.elf) 5152 Bytes program size (code + initialized data). Info: 6896 Bytes free for stack + heap. 这就是memory的使用情况。 verilog编程时出现错误:“Cant resolve multiple constant drivers??for net ....”说明同一信号不能在不同 的进程中赋值,这是代码可综合方面的要求。 在用verilog编写代码的时候出现错误提示:“mixed single- and double-edge expressions are not supported”:在敏感驱动信号中,不能既有单边沿的驱动又有双边沿的驱动,如always@(posed

您可能关注的文档

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档