|
我试着生成用于ARM的LabVIEW嵌入式模块2009的一个移植程序,我遇到如下的错误:
"Status: Error linking....
.\Obj\LabVIEW.axf: error: L6047U: The size of this image (16802097 bytes) exceeds the maximum allowed for this version of the linker
Target not created
Status: Build Failed"
我的软件在试用版,我如何修正这个错误。
MCB2400拥有外置RAM的大量bank(内存库)。为了利用这点,默认堆(Heap)内存的分配非常大。
但是在试用版中,用于ARM的LabVIEW嵌入式模块2009只允许你生成小于128KB的程序。由于默认的堆分配大于这个值,所有的程序都会生成失败,而无论你的VI的大小如何。
LabVIEW 2009无法自动的检测到是试用版并且修改堆大小。这里提供了手工修改的方法:
1. 打开startup文件,位于<LabVIEW folder>\Targets\Keil\Embedded\RealView\MCB2400\Template\System\ LPC2400.s (备份这个文件以防万一)
2. 找到写有"Heap_Size EQU 0x1000000" 的那一行,改变符合MCB2300的值,例如0x4000。你改变后的代码应该为:Heap_Size EQU 0x0004000
3. 在你的项目下创建一个新的生成规范并编译。当你激活了你的LabVIEW的ARM模块后,你可以将这个大小改回0x1000000。
这是用于ARM的LabVIEW嵌入式模块2009版的一个已知问题(CAR#190424),并于2010版修复。
|