Home
Support
在FPGA编译的过程中出现'没有足够的空间预留给对象堆' 和'无法创建JAVA虚拟机'的错误
在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 以及更早版本:
- 打开CORE生成器并找到File » Preferences » Java
- 更改 "Memory Available for Java"的值。对于Windows操作系统,这个值应该比512Mb小,对于Unix系统,这个值比1024Mb小。
使用 Xilinx ISE 12.1
虽然存在相同的选项,但是通过CORE生成器更改Java虚拟机的大小在Xilinx ISE 12.1上没有作用,必须通过命令行来进行修改:
- 打开运行命令符提示,开始>>所有程序>>附件>> 命令提示符
- 输入如下命令符并按下enter键。
coregen -J Xmx####m
其中 #### 代表需要的内存,单位为Mb

set JAVA_TOOLS_OPTIONS=-Xmx####m
其中 #### 代表需要的内存,单位为Mb
为Java虚拟器减少最大分配内存有助于避免Xilinx CORE生成器使用大于电脑能够提供的内存容量。
相关链接:
附件:
报告日期: 05/17/2011
最近更新: 06/26/2014
文档编号: 5LGE9P3W
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.