Before logging an issue, please update to the latest release of Visual Micro from the Downloads Page.

When Logging a Support Issue in the Forum, please ensure you have also:-

  • Enabled vMicro > Compiler > Show Build Properties
  • Re-Compile your program with these settings enabled
 
Save the new Output to a Text File and....
  • Click the Reply button and attach as .txt file OR
  • Click here to Email us with the file attached, and a link to your post
Support requests without the output above may be impossible to answer, so please help us to help you
 
Page Index Toggle Pages: 1 Send TopicPrint
Hot Topic (More than 8 Replies) build output size different when built through different machine (Read 6665 times)
gofishing
Junior Member
**
Offline


Posts: 27
Joined: May 3rd, 2016
build output size different when built through different machine
Jun 18th, 2016 at 1:53am
Print Post  

I got significant different build footprint when I build my project under two different machines.
the program size is 29524 vs 60448, that's huge difference. any idea why?

built under my HP 420 workstation.

Compiling debug version of 'XXXX_my' for 'Teensy LC'
Program size: 29,524 bytes (used 47% of a 63,488 byte maximum) (8.40 secs)
Minimum Memory Usage: 3792 bytes (46% of a 8192 byte maximum)

built under my Lenovo idealpad laptop.

Program size: 60,448 bytes (used 95% of a 63,488 byte maximum) (100.63 secs)
Minimum Memory Usage: 5928 bytes (72% of a 8192 byte maximum)
  
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12191
Location: United Kingdom
Joined: Apr 10th, 2010
Re: build output size different when built through different machine
Reply #1 - Jun 18th, 2016 at 12:15pm
Print Post  
Hi,

If  you take a look at the vMicro>Compiler menu you will see the Verbose switch and also "Show build properties"

Switch them on then click "Build>Clean Solution" which clears the temp build folder.

Then Build and you will see a full compile with all source code. The paths and versions will be clearly readable.

If the issue is not obvious then please email the two build outputs (one from each machine) to info [at] visualmicro.com

« Last Edit: Jun 18th, 2016 at 12:16pm by Tim@Visual Micro »  
Back to top
IP Logged
 
gofishing
Junior Member
**
Offline


Posts: 27
Joined: May 3rd, 2016
Re: build output size different when built through different machine
Reply #2 - Jun 27th, 2016 at 9:14pm
Print Post  
I did a compare on the build output, I believe I found the reason;
on the machine that I have much smaller compiled size. it has the below compiler settings

Code
Select All
build.flags.optimize=-Os
build.flags.ldspecs=--specs=nano.specs 



my question who/where set this build flag, when I checked my VS 2015 project build setting I can't see them been set in VS 2015.

how can I control those setting through visual micro?




« Last Edit: Jun 27th, 2016 at 9:29pm by Tim@Visual Micro »  
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12191
Location: United Kingdom
Joined: Apr 10th, 2010
Re: build output size different when built through different machine
Reply #3 - Jun 27th, 2016 at 9:29pm
Print Post  
Hi,

This means that you are using a different arduino core on the two machines.

If you switch on "vMicro>Compiler>show build properties" you will see where the cores are read from.

If you are using the same arduino ide version on both machines then I expect that one is using the default avr core from arduinoid/ide/hardware/arduino folder and one is using a core downloaded via boards manager which will be stored in users\[name]\appdata\local\arduino15\packages if using arduino 1.6.6+ or users\[name]\appdata\roaming\arduino15\packages if using an older version than Arduino 1.6.6 (they changed it).

In all cases visual micro finds the compiler specification by using the boards.txt and platform.txt text files found in the locations described above.None are provided by Visual Micro all are a result of installing Arduino or using the Board Manager.

I suggest you delete any downloaded arduino15 packages and update the arduino ide when you want new avr source codes. It's slightly crazy that they provide an avr core with each Ide and also allow new to be downloaded via board manager. Everyone get confused about versions Smiley
  
Back to top
IP Logged
 
gofishing
Junior Member
**
Offline


Posts: 27
Joined: May 3rd, 2016
Re: build output size different when built through different machine
Reply #4 - Jun 27th, 2016 at 9:39pm
Print Post  
Thanks, I will sync up with the version.

worst case is to update board.txt manually.

  
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12191
Location: United Kingdom
Joined: Apr 10th, 2010
Re: build output size different when built through different machine
Reply #5 - Jun 27th, 2016 at 9:42pm
Print Post  
Not required will probably be confusing but nothing stopping you Smiley 

It's easy to delete the arduino avr package from the arduino15 folder described previously and easy to ensure you are running the same version of arduino.

  
Back to top
IP Logged
 
gofishing
Junior Member
**
Offline


Posts: 27
Joined: May 3rd, 2016
Re: build output size different when built through different machine
Reply #6 - Jul 3rd, 2016 at 5:15pm
Print Post  

I was avoiding making any changes since I am on critical path. but I am hiting 100% program size on my laptop, so I have to follow ur instruction. but it still no chnages, I do not know why. below is what I did

remove the arduino15 folder,
reinstall arduino 1.6.8
reinstall teensyduino 1.2.8

the board.txt in teensy\avr does contain right build flag, but so some reasons, when I build in mu laptop, it is ignored.

attached is my build output from my workstation(HZ440) and my laptop (Lenvo).

you will see almost idientical except the build flag.

thanks
  

Please Register or Login to the Forum to see File Attachments
Back to top
 
IP Logged
 
gofishing
Junior Member
**
Offline


Posts: 27
Joined: May 3rd, 2016
Re: build output size different when built through different machine
Reply #7 - Jul 3rd, 2016 at 5:15pm
Print Post  
attach 2nd build ouput file
  

Please Register or Login to the Forum to see File Attachments
Back to top
 
IP Logged
 
Tim@Visual Micro
Administrator
*****
Offline


Posts: 12191
Location: United Kingdom
Joined: Apr 10th, 2010
Re: build output size different when built through different machine
Reply #8 - Jul 3rd, 2016 at 5:45pm
Print Post  
You mean that one has "--specs=nano.specs" flags and other does not. It would have been easier to say that and see where/why it is used Smiley

It looks like one machine has Teensy LC with a speed of "48 Mhz" and the other is Teensy LC with a speed setting of "48 Mhz Optimized"

You can change the speed on the vMicro menu
« Last Edit: Jul 3rd, 2016 at 5:55pm by Tim@Visual Micro »  
Back to top
IP Logged
 
gofishing
Junior Member
**
Offline


Posts: 27
Joined: May 3rd, 2016
Re: build output size different when built through different machine
Reply #9 - Jul 3rd, 2016 at 8:29pm
Print Post  
bingo! that's it. THANKS!
I did not realize it was picked differently.

how can you tell from the build output files? I did a windiff, not finding something I can tell that I had different settings?
  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint