在试用版下生成用于MCB2400目标的应用程序时遇到错误L60474U



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

问题:

我试着生成用于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版修复。



相关链接: KnowledgeBase 4V1FBDDO: How do I access all Elemental I/O on my ARM Evaluation Board?

附件:





报告日期: 05/19/2010
最近更新: 06/28/2013
文档编号: 59IF5DH1