Page 1 of 1

programming serial numbers

Posted: Thu Feb 22, 2007 9:02 pm
by ronw
Since the SAM7X micros do not have on-board EEPROM (or similar), and we would rather not have to include a seperate EEPROM device in our final design, we want to embed the serial number into the code programmed into the FLASH ROM.

I have looked at the SAM-BA program, an do not see a way - other than writing a TCL script - to put auto-incrementing serial numbers into the code as it is being programmed into the SAM7X.

Has anyone done this? If so, are you willing to let us use your script?

Posted: Thu Feb 22, 2007 9:44 pm
by dharper
As an alternate solution, you might want to take a look at the Dallas Semi DS2401. This is a small, relatively inexpensive device that has a unique serial number embedded in it. All it takes is one I/O pin to read the device. I've used them in several designs to serialize boards.


Posted: Wed Feb 28, 2007 11:29 pm
by ronw

As I said, we would really rather not have any extra chip on the board.

Out normal procedure for a micro with out on-board EEPROM (or "data flash") is to post-process the ready-to-flash output of the build, then feed the serialized version to the flash programming tool.

The flash programming tools for the SAM7X appear to only accept input in a binary format, as opposed to something like a HEX or S19 file - either of which could be trivially modified by a Perl script to insert a serial number and a CRC.

Posted: Wed Mar 28, 2007 8:27 pm
by ronw
I read through some of the TCL scripts for the SAM-BA program with the thought to try to write a serializers script.

Looking through it, it appears that the .BIN files are simply a "raw" image of the content to be programmed into FLASH.

Is this really the case?

If so, I could easily write a Perl script to read the file and produce a copy with the serial number substituted in at the proper address.

Posted: Thu Apr 05, 2007 4:41 pm
by sst
have you been able to do this?
I want to burn in the ethernet mac into my board and need a similar script.