@Coding Badly: What are the actual speeds you get? (roughly)
I'm working on a project where I have to upload via ISP (not bootloader) and I am uploading a sketch of 9308 bytes (program memory) or 26208 bytes (hex file size) in 11 seconds, using the Arduino via SD card system I devised.
I don't feel particularly annoyed at waiting that long. That time includes reading the file from SD and checking its integrity, uploading and then verifying the upload. There is an additional overhead of a few seconds to move the SD card from the Mac to the card reader.
Dude. You need a programmer.
pollUntilReady ... that and fixing heartbeat makes the biggest difference to ArduinoISP.
QuotepollUntilReady ... that and fixing heartbeat makes the biggest difference to ArduinoISP.Are you suggesting a fixed delay?
Quote from: Coding Badly on Nov 27, 2012, 04:16 amDude. You need a programmer. My time to upload and verify was 45 seconds... Using USBtinyISP that was only 215 bytes per second uploaded...
Dude. You need a programmer.
Quote from: sTrider_7 on Nov 26, 2012, 04:02 pmQuote from: tim7 on Nov 26, 2012, 01:24 pmYou don't need to remove the bootloader in order to upload Arduino-less code.Wait what?The bootloader is just a piece of software that is loaded in the AVR that allowsa tool (avrdude in this case) to upload code to the AVR. The bootloader itselfis totally independent of anything Arduino.As shipped the AVR fuses are set to create two sections in the FLASH. Bootloader and application.The "Arduino" bootloader is small piece of code in the AVR that uses the serial port to update the flashwith the user application (code/program/sketch).The bootloader runs at reset/powerup if there is no attempt to upload anything, the bootloaderwill start the application code.The application code can be written using any toolset you prefer. The Arduino tools are just one option.avrdude is a tool that is used upload code into the flash.avrdude can be used with an ISP programmer to upload code to the flashavrdude can also use other mechanisms like a serial port that talks to a serial based programmer or to a bootloader.The Arduino IDE uses avrdude to talk over a serial port to a pre-installed bootloader in the AVR chip.The newer IDE can also use an ISP progammer to upload code. When an ISP programmer is used,a bootloader is not used so the flash space used by the bootloader code frees up and can be usedby the application code.If you don't want to use a bootloader, you will need some sort of ISP programmer.Like Pico, I recommend getting a USBasp programmer off ebay.I like the USBasp kk multicopter programmers (about $5-$10 USD) because they come with a 6 pin ISPcable instead of 10 pin so no adapter is needed.--- bill
Quote from: tim7 on Nov 26, 2012, 01:24 pmYou don't need to remove the bootloader in order to upload Arduino-less code.Wait what?
You don't need to remove the bootloader in order to upload Arduino-less code.
Quote from: bperrybap on Nov 27, 2012, 12:04 am$10 for the pololu programmer is a bargain.Got that right!QuoteCoding..., out of curiosity why would you resort to using an Uno when you have a pololu programmer?Teensy I understand as it should be faster because of the native USB support, but why use Uno?Upload performance from fastest to slowest...• Uno with a 250K baud bootloader• Pololu (very close to the same speed as above)• Teensy running TinyISP• Uno running TinyISP• Teensy running ArduinoISP• Uno running ArduinoISP (very slow)The first two are very close to the programming time listed in the Atmel datasheet and are essentially the fastest possible method using SPI. (Again, I highly recommend the Pololu AVR Programmer. It was worth the $20 I paid for it (now just $10).)TinyISP on either hardware is not as fast by a noticeable amount but is still fast enough to fall within the "two second" rule1.ArduinoISP is just abysmal.I use the Uno or Teensy because of the amenities that I've added to the Arduino ISP sketch (TinyISP is available here). It makes a "good enough" programmer with some very basic debugging tools.I like the Teensy because, inserted in a breadboard, it makes a very nice "project board". Breadboard + programmer + basic debugging for ~$30. What's not to like?I like the Uno because it's easier to move from one project to another. Getting the Teensy out of a breadboard is a little annoying.1 Humans perceive a computer response within two seconds to be reasonable. At five seconds, humans tend to get impatient and annoyed. At ten seconds, they tend to get angry. Past that, the monitor gets a fist, a boot, or a bullet.
$10 for the pololu programmer is a bargain.
Coding..., out of curiosity why would you resort to using an Uno when you have a pololu programmer?Teensy I understand as it should be faster because of the native USB support, but why use Uno?
What bootloader is that exactly, that allows the fast baud rate when using the UNO as ISP?
• Uno running TinyISP
Quote from: sTrider_7 on Nov 27, 2012, 03:44 pmWhat bootloader is that exactly, that allows the fast baud rate when using the UNO as ISP?The context of your question is difficult to divine from the way you quote. I assume you are referring to this...Quote• Uno running TinyISPIf that is the subject matter then the bootloader is irrelevant.
• Uno with a 250K baud bootloader
Quote• Uno with a 250K baud bootloaderIs this a optiboot that is not currently supplied with the Arduino IDE?
Is there a link the code for this?
By the way Coded Badly, thanks for the break down of programmer speeds!
More details and Optiboot compiled for higher baud rates...http://zygomorphic.com/arduino-tiny/?page_id=249