Fastest programmer?

Go To Last Post
6 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hey all, newbie to the forums here. I'm a student used to working with PICs and I've got a big product I'm working on which I've decided requires the power and speed of the AVR architecture.

I know this may sound bizarre - but I'd like to ask if anyone could recommend a SPEEDY in circuit programming method to me. I've built an in circuit PIC programmer and its painfully slow - it locks the computer up for the entire programming time also - and thats programming only a measely 8k. I think I would go insane waiting several minutes for each of the thousands of times I will have to program a mega128 for this product.

Bootloader or regular programming is fine... thanks for any help!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have used the Regular PC-paralell port to ISP programmer (STK200/300 type), which I could read/write the mega128 flash on my STK300 in about 30
seconds....and it cirtainly does not lock the whole computer up (well not on the two I have tried it on).

I also breadborded a clone of the Atmel JTAGICE, and could program a mega 32 in a couple of seconds (only tried with small program), but it seemed faster than the ISP. But of course this only works with Mega16 and above.

HTH

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I program the Mega8 AVR with the Atmel AVRISP device (about $30). That's an in-circuit programmer. A full compile/link/erase/blank check/program/set fuses/run with Codevision takes about 10 seconds.

But when I'm busy developing I skip the blank check step; then it goes from kicking off the compile to running on the chip in about 3 seconds. Basically, just enough time for me to turn in my chair to look at the board I'm programming.

I don't think it locks up my computer while programming, but I never bothered to try doing something else as I want to see the new program running right away!

Note that the times I'm quoting will vary from compiler to compiler. Programming may be a separate step, setting fuses may be another step.

I'm using Codevision so I can set up a project to compile, program, and set fuses with a single click.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

...for each of the thousands of times I will have to program a mega128 for this product. ...

While it is very useful and convienient to have easily re-programmed flash memory in AVR chips, using that as a crutch and doing the whole application in cut-and-try scattergun approach is very time consuming and IMO not very satisfying.

Write the core of the application (port setup, timers, etc.) and get that going. Add peripheral drivers & verify operation. Add functionality in logical chunks, and keep previous versions (annotated with a change log) to fall back on as a sanity check when the newest chunk doesn't work as expected.

Lee

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I use my bootloader to program ATMega8 and ATMega16 and need the following time for programming:

7kB: 2.4s
15kB: 3,4s

I thing, that I never need to program such a very huge ATMega128.
Nevertheless I assume it needs about 44s for full programming of the 127kB.
Maybe in such a case only such bytes schould be reprogrammed which are changed since the last download.

Peter

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

theusch wrote:
Quote:

...for each of the thousands of times I will have to program a mega128 for this product. ...

While it is very useful and convienient to have easily re-programmed flash memory in AVR chips, using that as a crutch and doing the whole application in cut-and-try scattergun approach is very time consuming and IMO not very satisfying.

Write the core of the application (port setup, timers, etc.) and get that going. Add peripheral drivers & verify operation. Add functionality in logical chunks, and keep previous versions (annotated with a change log) to fall back on as a sanity check when the newest chunk doesn't work as expected.

Lee


I agree completely with you Lee. Perhaps "thousands of times" is a bit of an exaggeration. As a student I have never worked on a project with so many subsystems so the magnitude of the project was starting to overwhelm me a little ;)

Thanks for all the advice guys - I really do appreciate it!