Hey,
This is from a thread on AVRFreaks, and previous ideas bounced around. My idea
is to create a unified AVR programming file format, possibly extensionable to
work with any platform (ie: not only AVR).
My basic idea was as follows:
Have one .tar (possibly .tar.gz or .zip) format file, which a different
extension. This would be done to ensure we know what it is really supposed to
be, perhaps .ump (Unified Microcontroller Programming file) - this .ump
extension doesn't seem to be too heavily used unlike most other extensions
(http://www.rmspl.com.au/umatrix.htm is the only thing I could find that uses
it)
This file would have in it several separate files:
--*.hex file <-- The AVR image file
--*.fuse file <-- new text file with AVR fuse settings in it
--*.txt file <-- text file with version information on the rest of the files,
other notes
--*.md5 file <-- md5sum of everything, save for the .md5 file of course
You will see that everything could be done with normal utilities available on
Linux - md5sum, tar, etc. This way the file format is as easy to work with as
possible and you aren't locked into specific tools.
As well to make "programs" that do stuff like verify the file's md5sum and
generate a proper md5sum after you have modified the file would be simple
shell scripts (on Linux/Unix anyway) which makes it easy to work with. In
fact a wrapper for avrdude could probably be made which would extract the
files, check them, then call avrdude as needed.
What do you think?