How to coax flash memory into a final programming

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

I have done around 500 programming cycles of the ATMega644 on the Atmel BC100 board. No debugging, just straight erase-and-program using AVR Studio/Dragon/JTAG. Never any problems until now, with the last four needing several tries to pass verification. Typically some random location reads back a zero bit that should have been one.

I'd be happy with the current firmware if I could remove some debug output but don't want to risk a complete failure. So, is there a technique for getting a final program into flaky flash? Erase several times before writing (does each erase count as a programming)? Write several times (does each write count as a cycle)? Raise Vcc a bit? Heat or cool the chip?

Or if such failures are rare maybe I should be looking for a hardware problem. The Dragon seems to be working fine, and for programming I power the board with a 12 volt battery. But the board has seen some overloads and high temperatures, solar charging 12 volt SLA batteries at 2-3 amps.

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

Try slowing down the ISP speed a bit. If this is a prototype "lash up" perhaps one or more of the signal wires got a bit noisy.

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 ran into this once when I had a background process on the PC interrupting at the wrong time (it was SysInternals' Process Explorer). It seems that the USB driver had some problems with delays occurring at the wrong time.

If you have other processes running on the PC that you don't need, try shutting them down one by one and see if it helps.

Stu

Engineering seems to boil down to: Cheap. Fast. Good. Choose two. Sometimes choose only one.

Newbie? Be sure to read the thread Newbie? Start here!