LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Application is too large for target memory

Hi,

 

I'm working with the Luminary ARM Evaluation Board and Labview Embedded for ARM. Right now I'm having a very critical problem : the code cannot fit into the cpu memory.

 

There are a few things I was wondering if you guys could help me with :

 

1. Is there a way to know the code size? Since the build fails the build report is incomplete and Keil is not giving me much more information either, so I don't know by how much bytes I'm busting the memory, and if it there is even hope to reduce the code size.

 

2. I've compiled a minimal project for the LM3S8962 (a while loop) and the code size is 24kB (!!!) This is ridiculous, I'm not even calling any special libraries. Am I missing a configuration tools that loads only the specific libraries used in the code?

 

3. I might never be able to reduce code size under the 256 kB limit (and I have additional code to implement to make things worse). Would it be feasible to run code from the flash micro-sd slot onboard the development platform and are there tools around that can do that (I'm not talking about a bootloader but more of a memory extension).

 

I'll be crossing my fingers!

 

Thanks 🙂

0 Kudos
Message 1 of 4
(4,105 Views)

Hello,

 

Have you attempted to follow the suggestions in article Developing Optimized LabVIEW for ARM Code?  Maybe you are violating one of these concepts.

 

Have a great day,

 

Justin Parker
National Instruments
Product Support Engineer
0 Kudos
Message 2 of 4
(4,066 Views)

There are certain optimizations I could do and I will look into it as the program features a lot of array and string manipulation (listed as the worse things to do of course, lol). One thing I have noted though is that the run-time compiles a lot of drivers which are never used (ex: SPI, CAN, I2C) and I suspect it links them into the program, adding to its bloating. Can I somehow specify which libraries I want included into the final build and exclude the rest?

 

Also, I've started a second program, much smaller this time. It compiles correctly with no error or warnings but when it comes to linking the linker fails without any errors. I only get a very generic error :

 

[10:30:36 AM] Status: Error
linking...
Program Size: Code=94136 RO-data=2936 RW-data=2664 ZI-data=14536 
".\Obj\LabVIEW.axf" - 0 Error(s), 0 Warning(s).

Status: Build failed.

 

The Keil linker gives me only

 

Build target 'LabVIEW'
linking...
Program Size: Code=94136 RO-data=2936 RW-data=2664 ZI-data=14536 
".\Obj\LabVIEW.axf" - 0 Error(s), 0 Warning(s).

 

I am at a lost to understand why it wouldn't link... everything seems fine up to there and the program and ram sized are appropriate for the LM3S8962

 

Thanks!

0 Kudos
Message 3 of 4
(4,051 Views)

Update :

 

The error seems to happen randomly now but restarting the machine helped.

 

Regarding code space, I've found it at the bottom of the pile of L5406W error in Keil as the L6407W error report.

 

 

0 Kudos
Message 4 of 4
(4,032 Views)