0
\$\begingroup\$

I have this AVR programmer, which I set up as STK500 in Atmel Studio.

enter image description here

All this works fine until I need to do mass programming with different EEPROM contents.

So if I do no changes to the toolchain that I have, I will need to:

  • Edit EEPROM hex file (taking care of the checksum and the data consistency)
  • Pick this file with the Atmel Studio programming dialog
  • Do the EEPROM burn

And all this for each device (which amount is hundreds or even thousands).

All this will be very time consuming and potentially error vulnerable. So I thought of a software which I will be able to create and communicate with the programmer directly (not through Atmel Studio).

Probably I can use a command line interface (found this here) but I wasn's able to find STK500.exe file on my computer.

I'd even think about making a programmer by my self (at the AVR pin level the interface looks pretty simple) and communicate through the COM-port.

Please share some of your thoughts on the subject.

\$\endgroup\$
  • \$\begingroup\$ If you are confident you will need 100s or 1000s, you might just want to see if one of the chip distributors will program them for you. Arrow (for example) is happy to do this. Here's a link: company.arrow.com/productionservices/services/… \$\endgroup\$ – pgvoorhees Sep 21 '16 at 13:36
  • \$\begingroup\$ @pgvoorhees I really believe that this model can be used only if the code is the same for all delivery. I doubt that Arrow or Digikey or anybody else would handle this is the code should be different for EACH part. However I contacted Digikey earlier for this purpose. The price was 25 cents per part for programming + 15 cents for marking + preparation 50 USD. So I wouldn't say that this is very cheap. \$\endgroup\$ – Roman Matveev Sep 21 '16 at 15:05
  • \$\begingroup\$ I would think you are right. In my head, I was thinking you were flashing the same firmware to each device and sending a custom EEPROM contents. Not that you asked about this, but the way we've solved a similar issue was to mass-program the flash, and expose EEPROM communication to the external communication, allowing a PC to talk to the uC, which programs the EEPROMs. \$\endgroup\$ – pgvoorhees Sep 21 '16 at 16:09
  • \$\begingroup\$ @pgvoorhees thought of this (sending the data via another communicatino). Actually this is the way I do it right now from time to time. But as the quantities rising up I have to think about more efficient technologies. \$\endgroup\$ – Roman Matveev Sep 21 '16 at 16:46
4
\$\begingroup\$

Command-line tools can be used to drive your programming tool from within a custom script. A common one for AVR programming is "AVRDude" which allows full control of all aspects of programming AVRs including setting fuses and verifying the programmed firmware. I have used AVRDude successfully with AVRISP MKII and BusPirate hardware programmers before.

I have only used AVRDude under linux but I believe it can be used in windows/mac as well.

\$\endgroup\$
  • \$\begingroup\$ @Roman, thanks for adding the link. I wasn't sure if it was OK to put links to software in answers or not. \$\endgroup\$ – Wossname Sep 21 '16 at 8:44
  • \$\begingroup\$ I think it is usually OK. However I doubt that someone will be able to add an advertizing link to this website :) \$\endgroup\$ – Roman Matveev Sep 21 '16 at 9:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.