LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Estimating size of executable in embedded application?

I am currently taking a LabVIEW course, so please excuse my poor depth of knowledge.

 

In responding to an RFP for a battery-powered device that requires a moderate amount of intelligence, my first idea was to use the ARM Cortex (capable and low-cost).  However, as I read the RFP, the sheer number of functions makes me concerned there isn't enough program memory in the particular processor I am considering.

 

I could code the required functions with little difficulty, but is there any way of determining the size of the resulting executable as a means of selecting suitable embedded processors, or knowing that an SBC is the way to go?

 

Thanks in advance,

 

Jeff

 

0 Kudos
Message 1 of 3
(2,566 Views)

Hi Jeffin906,

 

I assume that you're investigating the use of the LabVIEW Embedded Module for ARM Microcontrollers. 

 

I wish there were an easy formula that would depict how much memory a certain amount of code takes up on an embedded target.  As far as I know, the only way to know exactly beforehand is to code in assembly.  Otherwise, we're restricted more to the trying-it-out method.

 

I have experience with the Luminary Micro and MCB2300 boards, and even from what I've seen, it gets even more complex.  A large part of the issue comes down to the 3rd party compiler.  Just like a compiler for any embedded target, the Keil compiler for both of these targets has multiple options.  You can optimize for speed, size, or a combination of the two.  The developer also has an option of disabling "guard code" protection in addition to other features to reduce code size.

 

Here is an article that explains how to determine the size of the embedded code once it's been coded: How Do I Interpret My ARM Map File?

 

I hope this helps,

Kevin S.

Applications Engineer

National Instruments

0 Kudos
Message 2 of 3
(2,529 Views)

Kevin,

 

  Thanks for your response.  What this tells me is that I cannot make the final hardware design until I have finalized the software, but I need the hardware to validate the software, so put in lots of memory for the first prototype.

 

  Since I posted my question, I have learned that I need upwards of a megabyte (minimum) just for a data file (a waveform depicting a swept frequency I will output through a DAC).  I now realize I will not be putting everything in the processor's onboard memory, which means I have to select a model that supports a FlashROM/DRAM port.

 

Again, thanks for the help.

 

Jeff

 

0 Kudos
Message 3 of 3
(2,524 Views)