在FPGA编译的过程中出现"没有足够的空间预留给对象堆" 和"无法创建JAVA虚拟机"的错误



主要软件:
主要软件版本: 1.0
主要软件修正版本: N/A
次要软件: N/A
硬件: CompactRIO

问题: 在尝试编译FPGA程序时出现如下从无:

Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine


ERROR:coreutil:576/424 (# depends on software version) - An error occurred while running Java. Please examine the console or coregen log file for a specific IP related error.


For more information please search the Xilinx Answers Database for this error: http://xilinx.com/support

这个错误的意思以及如何解决?


解答:

根据Xilinx Troubleshooting Article #20708的定义,这个错误的出现是由于编译器需要提供给Java虚拟机的内存空间比电脑能够提供得要多。在RAM小于3Gb的电脑中,这个错误是比较常见的。

如果可以,在进行FPGA代码编译的过程中,尽量减少其他占用内存的程序。释放一定的电脑内存有助于解决这个问题。

如果还是会出现错误,请按照如下步骤进行排查:

使用 Xilinx ISE 10.1 以及更早版本:

  1. 打开CORE生成器并找到File » Preferences » Java
  2. 更改 "Memory Available for Java"的值。对于Windows操作系统,这个值应该比512Mb小,对于Unix系统,这个值比1024Mb小。

使用 Xilinx ISE 12.1

虽然存在相同的选项,但是通过CORE生成器更改Java虚拟机的大小在Xilinx ISE 12.1上没有作用,必须通过命令行来进行修改:

  1. 打开运行命令符提示,开始>>所有程序>>附件>>  命令提示符
  2. 输入如下命令符并按下enter键。 

coregen -J Xmx####m

其中 #### 代表需要的内存,单位为Mb

 

set JAVA_TOOLS_OPTIONS=-Xmx####m

其中 #### 代表需要的内存,单位为Mb

为Java虚拟器减少最大分配内存有助于避免Xilinx CORE生成器使用大于电脑能够提供的内存容量。



相关链接:

附件:





报告日期: 05/17/2011
最近更新: 06/26/2014
文档编号: 5LGE9P3W