Home AMX User Forum NetLinx Studio

Reliable Compiled Code Size on NI700 32 MB model

I am not onsite and I do not have the same model NI700 to test with...
Any insight will be greatly appreciated.
Thank you in advance.

THE INFO
NI700:
FG2105-03 • 32 MB SDRAM (not upgradeable)
• 16 MB Flash chip (not upgradeable)
• 512 Kb of Non-volatile SRAM

I have generic code and it compiles to:

//#define SYS_HAS_32MB True;
When this is Commented out Compiled Code Size is:
998665 Bytes

#define SYS_HAS_32MB True;
When this is Un-Commented Compiled Code Size is:
534924 Bytes

THE QUESTION
What Compiled Size can I reliably run on a 32MB System with 2 Duet Modules?

Comments

  • ericmedleyericmedley Posts: 4,177
    There's no real good way to know until you try. Ram also gets used by the program for variable storage. So, for example, I could create a very small program hat uses huge amounts of memory depending upon how much room I declare in my variables.

    One way you could test is to put it on another master first taking note of its memory shown using an empty program and the doing the math to see how much is used by the running program. If it fits it'll work.
  • John NagyJohn Nagy Posts: 1,742
    The small memory 700 with DUET version firmware leaves very little room for code even with DUET MEM set to the 3 meg minimum. And many DUET modules won't work reliably with only 3 meg of DUET memory. So you are likely to be out of luck. But as Eric says, you won't know til you try, because not all code uses your memory the same.
  • Thank you gentlemen, I thought it was going to be a trial and error situation.
    I will set things up for a minimal runtimne memory usage and adjust when I get to site.

    What level Memory would Duet Modules reliably run in?

    Thank you again.
  • ericmedleyericmedley Posts: 4,177
    Thank you gentlemen, I thought it was going to be a trial and error situation.
    I will set things up for a minimal runtimne memory usage and adjust when I get to site.

    What level Memory would Duet Modules reliably run in?

    Thank you again.

    Not trying to be coy but the answer is basically the same: it depends...

    For example a duet module that controls a simple device will probably use less.

    Typically the lowest duet memory I set is 8. But I'm typically up around 12~24

    I have some install with way more but they're running quite a few duet modules.
  • Thanks for the insight, I will start with 8 and go from there.
  • DHawthorneDHawthorne Posts: 4,584
    Use the VOLATILE keyword on your variable declarations in any place they don't *need* to be non-volatile or persistent. There is far more volatile memory available than non.
Sign In or Register to comment.