Go Down

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

Roger Fleig

As a work around you can also set the following flag in preferences.txt:

build.verbose=true

This will give you the location of the intermediate build files like core.a and any libs you need for building standalone.  For instance, on my mac I was able to get this line (among very, very many:)

/var/folders/+M/+M4oTL7NFPKSM+wMKMXig++++TI/-Tmp-/build6286307593943555774.tmp/core.a

mem

on version 0018 you can get the verbose output displayed in the IDE by holding down the shift key when compiling

Syntetik

#17
Apr 17, 2010, 02:42 pm Last Edit: Apr 17, 2010, 02:45 pm by Syntetik Reason: 1
I specify build.path and all is working fine.... BUT! When I close IDE, files deleted immediately :( WHY? In preferences I uncheck [X] Delete files...., but it don't understand me :)

I suppose, that preferences.txt file must allow wildcards and runtime parameters. It would be nice, if I can specify something like:
build.path=%PROJECT_PATH%\applet\

Okay, that for newbies. But "an old assembly language programmer" jrraines (and me too) can find Makefile in the same path, where bootloader lives:
[ Arduino-0018\hardware\arduino\bootloaders\atmega ]
It is simplier than run IDE and then searching, why problems are growing :)
How to change makefile and execute, I hope you know. Then you can write your application in every text editor (WinAvr have Programmer's Notepad) and compile in command line or somehow else.

I use FAR manager with built-in text editor. I used it always, almost 15 years. So, I specified in FAR what I want to execute, when I press Enter on some file types, like .hex (avrdude sends it to arduino), .asm (compile using make), .pde (compile using make) - for all projects in assembler, or C, or modified C like Arduino IDE uses you can create Makefile and then copy to simila projects and change only filenames...

When I purchase Arduino Duemilanova, my friend said - IDE is for newbies. I didn't agree with him, but now I agree.

And there is another reason. Big REASON, why not to use IDE. I saw it today, when trying to use applet directory. My code compiled in 0017 and stored in the projects's applet directory and then without changes compiled in 0018 - second one is bigger. Why? It adds Tone library and you cannot include nor exclude it in project. I think it is nonsense. Arduino is not PC with at least 1 MB memory. So better is to write in C or ASM. I find on Internet some mathematical functions for asm and it is great to program in pure processor's language.

Including Tone library was not so necessary. IMHO. It is good - you can output more than 1 line at the same time. But for small projects it is better to write ~5 rows of code, what gives you ability to output specified frequency and length.

Simplest way - get back your copy of 0017 :)

Best wishes to all!
I love arduino!

mem

Quote
It adds Tone library and you cannot include nor exclude it in project

I am surprised to hear you are seeing tone functions being linked if your sketch does not reference them.

I just had a look at the object dump for the blink example sketch and there is no sign of a tone function. The code size of blink is 870 bytes, which leaves almost 30k bytes of code space free.

I do agree with you that there should be an ability to build a sketch on the command line instead of through the IDE. This has been proposed to the Arduino team and I hope that it will be available in future.

Syntetik

Take a look on applet (or what you specified as build.path) directory. There is Tone.cpp.o as well as Print.cpp.o, but I dont use them in test compilation. There is Wiring library compiled too, which I don't use. And few rows of .pde compiled are about 5 KB (.hex file).

I disassembled this test.hex and there is one interrupt starting with PUSH registers and before RETI it POPs all registers back. I didn't defined in my code any interrupts. And there is another function. I don't dig deeper yet.

Please take AVR Simulator IDE (trial) and disassemble .hex compiled with Arduino IDE. I surprised that there is 5 KB (.hex or  2,3 KB binary) of nothing I used in my code. Okay, some of them was in 0017 too. But not Tone.

Go Up