MyFPGA Forum

标题: 用onchip_memory发生错误 [打印本页]

作者: andylei    时间: 2010-1-26 14:48
标题: 用onchip_memory发生错误
做示例HELLO-NIOS,只用了CPU、Onchip-Memory(RAM)、jtag-uart,但是每次编译软件
时都会提示如下错误,网上查说是因为RAM的值太小了,或是偏移量不够,但是我用得的
DE0的EP3CF484C6的芯片,最大的RAM是40K,我全用上了还不够啊,我不想
用外挂的存储器,该怎么办啊?
ERROR:
make -s all includes
Linking hi_nios.elf...
/cygdrive/c/altera/90/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/gcc/nios2-elf/3.4.6/../../../../nios2-elf/bin/ld: region RAM is full (hi_nios.elf section .text). Region needs to be 4588 bytes larger.
/cygdrive/c/altera/90/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/gcc/nios2-elf/3.4.6/../../../../nios2-elf/bin/ld: section .rodata [00010080 -> 00010563] overlaps section .exceptions [00010080 -> 00010227]
/cygdrive/c/altera/90/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/gcc/nios2-elf/3.4.6/../../../../nios2-elf/bin/ld: section .rwdata [00010564 -> 00011f8f] overlaps section .text [00010228 -> 0001b1eb]
/cygdrive/c/altera/90/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/gcc/nios2-elf/3.4.6/../../../../nios2-elf/bin/ld: section .bss [00011f90 -> 000121a3] overlaps section .text [00010228 -> 0001b1e
作者: bigcat    时间: 2010-1-26 16:18
1、先确认你已经将mem设成你芯片能承受的最大值
2、如果还不行,考虑裁减你的应用策程序,可以考虑:
  a. 不要使用OS
  b. 使用轻量级库
  c. 用release 方式编译(bsp和app都要)
作者: andylei    时间: 2010-1-26 16:21
谢吧,我是菜鸟,你说的太深奥了,愿听祥解。
作者: bigcat    时间: 2010-1-26 17:08
我说得已经很简单了...。你先用releae方式编译试试。这个如果不知道我就一言难尽了。
作者: Steady_Chou    时间: 2010-1-26 20:00
用外部内存吧... 马上解决这个问题
作者: huguangheng    时间: 2010-1-26 21:33
虽然是DE0,但是通常情况下,代码放到片上存储器是放不下的。。。
所以请将NIOS IDE中,工程的属性设置那边
将编译的一些选项选择一下
选择较小的库,轻量的驱动等等,我相信你可以看得懂的 : )
这样选择将能在压缩代码体积上有非常显著的效果
作者: andylei    时间: 2010-1-27 11:46
好的,谢谢了。如果就是做个UART的通信了,只用自带的ON_CHIP_MEMORY,要多少memory啊?
作者: bigcat    时间: 2010-1-27 12:12
你最好在DE0已有的demo基础上做。可以适当改变DE0_NIOS_SDCARD来。不要再为内存使用浪费时间了。
作者: andylei    时间: 2010-1-27 17:16
谢谢,我已经按你说的减少了,可行




欢迎光临 MyFPGA Forum (http://www.myfpga.org/discuz/) Powered by Discuz! X3