Go Down

Topic: Programming speed. (Read 3 times) previous topic - next topic

rewolff

Hi,

Can somone tell me how fast the programming of say a 4k sketch is? (using the arduino bootloader).

I don't have a real arduino, but just a more or less compatible board, and I want to know how my programming speed compares. If all goes well, my programming speed will also become available to arduino users, provided they connect the ftdi pins (aargh! with the at90usb162 as the USB chip that has gone away, right?) to the programming header.

I have just finished porting the ftdi bitbang programmer to the most recent avrdude..... I can now program a bootloader (i.e. the full 16k of my atmega168) in less than 8 seconds. (I suspect it can go even faster... :-) )

(Oh, And I get to use the full 16k of my processor for sketchmemory).

So: My question: Someone with a real arduino, how fast does your sketch upload?

PaulS

Quote
Can somone tell me how fast the programming of say a 4k sketch is?

Anywhere from a few minutes to several days, depending on how many bugs the code still contains and what libraries are being used.

Quote
I can now program a bootloader (i.e. the full 16k of my atmega168) in less than 8 seconds.

Yeah, but how often do you need to program a bootloader? Still, 8 seconds is phenomenal.

Quote
So: My question: Someone with a real arduino, how fast does your sketch upload?

Now, wait a minute. You were asking about something completely different, earlier.

robtillaart

Quote
Someone with a real arduino, how fast does your sketch upload?

Less time than it takes to make a decent cup of tea* ;)

Please fill in your personal preferred beverage ;)

More serious, some theory:
- The compiling speed depends upon the speed of your computer. Not determinable.

- The uploading is done (if I recall correctly) at 57600 baud ==> effectively max 5000 bytes  == 5K per second at full throttle. As a program is uploaded in hex, it takes approx 2++ times (some additional overhead) as much time, so we go down to 2K per second. As your OS does some taskswitching in the meantime it becomes indeterminable too. Lets say you get 50% of the timeslices == 50% of the 2K/sec ==>  1K per second is what I expect in practice**. So 4K program takes 4 seconds to upload + some time to compile.  I never measured as I like a cup of tea once and a while ;)

In my experience it takes far more time to think about good design, (including data flow functions interfaces IO memory footprint etc) and to define right datatypes and the code right than to get the code compiled and uploaded.

** Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.


Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

pYro_65

If your arduino usb is plugged into a usb hub containing more than one connected device, its transmission could be blocked for upto 10 seconds. Otherwise yes you can calculate the approx transmission time from the baud rate. Compile time is a good thing, the more it pre calculates there, the less instructions are kept in the finished binary. Arduino compile time is really nothing, I once had a copy of the p2p program shareaza, it took about three to four minutes to compile.

retrolefty

Quote
So: My question: Someone with a real arduino, how fast does your sketch upload?


Well I can give you one 'benchmark' data point.

Using the arduino supplied blink program (1018 bytes) using a UNO bootloader equiped board the total compile/upload takes 9 seconds, and I would estimate it's 6 seconds compiling, 3 seconds for uploading. This is on a windows XP SP3 system using arduino ide version 22.

Lefty


Go Up