Hi!
I'm using my Arduino with the Atmel Studio 6 since few months. For some reasons, I'm not always have the strength to use pure C. So, in these days, I came back at Wiring.
But because I studied the Atmel datasheet I've acquired a little sensibility about optimisation issues and low-level programming. That being said, I feel frustrated to see the 1,8Kb of code to blanking a LED or more than 3K for the serial initialisation. So I started to search for some documentation, at least, of what are the default values of registers used in the Wiring environment. But people on Arduino forum are saying that there's no documentation on what are the default vaules of registers (i.e. pwm modes, parity bit on uart and stuff like that). I mean, if I need to change something from the default I'm ok to the need to study the datasheet and C and so on, but I don't think it's too much ask for knowing what I downloaded without became an engineer in software to program an 8 bit MCU (btw, I'm a student in electronic engineering, and we used C to program Freescale MCUs, so I know that you don't have to became a Java expert :D)
And since I realized that those 1,8Kb are beacuse of (I think!) the perfect initialisation of everything and to keep a sort of order in programs made in C++, I try to ask even what includes this increase of memory usage. But the answer on Arduino forum is the same, paraphrasing: "do programs by your self in C if you want to know".
PARAPHRASING everything above:
There's no documentation on Arduino software in a deep analysis? Or on what are the defaults settings loaded when I use a function pre-writed by them? Or something that explain how is built the final sketch?
I hope to make the main idea of my thought.
Thanks to all.