Go Down

Topic: "applet" directory for build targets... (Read 8 times) previous topic - next topic

mem

#20
Apr 18, 2010, 04:10 pm Last Edit: Apr 18, 2010, 04:17 pm by mem Reason: 1
The Arduino build process will compile all the core files, but the linker will only include functions that are called (directly or indirectly) from your sketch. So you should ignore the object files  and just look at disassembly listing of the .elf file.

A good way to do that is to use avr-objdump.exe in the tools directory:    ?\arduino-0018\hardware\tools\avr\bin.  The -S option dumps  source intermixed with  with  disassembly of all modules pulled in by the linker.  

Try it with the blink.pde sketch - You should get a code size of  just under 900 bytes with none of the unreferenced functions you mentioned.  

BTW, push and pop are in the millis timer interrupt handler. Because the handler is initialized in the Arduino core startup code, this handler is included even if you don't use millis or delay.

Syntetik

Yeah, okay, you right. I tested with my example, where I included math library and difference between compiled with 0017 and with 0018 was some tenths bytes. But about Tone, yes, I forget about linker :) Can I get somewhere Makefile for .pde? It would be nice.

Now I'm testing all things, because I want do all with assembler, but I don't know, how to get result as it gets from log() function in Wiring or IDE. I disassemble IDE's version of program and it is very big function. Mem, can you help a little? With log() function I get temperature from analog readings. I have a NTC 10K thermistor on analog input. And I want it working from assembler. Would it be stupid to include disassembled part of function, which calculates temperature? Maybe no. Maybe simplier is to use DS18* digital thermometer.

gutzeit

Please, return the possibility to create applet folder like in version 0017. May be in preferences. I see  at least two reasons for it:

1. Sure, that  more than 1% of users are with brains and want to keep .hex and .elf files with sketch for future investigations or just using without necessity of every time compiling /uploading to get files again.

2. In Windows - temp folder  like build1755132727304913499.tmp are usually in directory C:\Documents and Settings\...\Local Settings\Temp, which is usually hidden. So it is necessary to keep Hidden files opened, which is not very smart idea.

Syntetik

Now it is wonted for me - after compiling I'm going to tmp folder (D:\AVR\tmp\ which specified in my preferences.txt) and copy .hex file to place I want. Anyway hope to see back 0017 applet folder.

thseiler

Hi all,

Here is a Suggestion on how to solve the applet-folder issue:

* The Applet Folder needs to be outside arduino base folder because of read-only environment under **nix and macosx.
* The Applet Folder needs to be easily accessible for the people who need access to the intermediary .hex and .elf files
* All the functionality to open a Folder are already in place => "Sketch->Show Sketch Folder"

This small patch adds another menu item just under "Show Sketch Folder", "Show Build Folder" which will open the temporary build folder (what used to be the applet folder).

That way, it can stay in the temp location, while the access to hex and elf files is just one click away.

Please consider this patch for next release.

Best Regards,
Thomas Seiler


Code: [Select]


--- Editor.java.orig    2010-06-28 08:19:35.000000000 +0200
+++ Editor.java 2010-06-28 08:40:00.000000000 +0200
@@ -643,6 +643,15 @@
    sketchMenu.add(item);
    item.setEnabled(Base.openFolderAvailable());

+    item = new JMenuItem("Show Build Folder");
+    item.addActionListener(new ActionListener() {
+        public void actionPerformed(ActionEvent e) {
+          Base.openFolder(Base.getBuildFolder());
+        }
+      });
+    sketchMenu.add(item);
+    item.setEnabled(Base.openFolderAvailable());
+
    item = new JMenuItem("Add File...");
    item.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {




Go Up