I need to build a program loader that plays with the standard bootloaders but operates over a TCPIP network (encrypted or cleartext.)
The first steps indicate a mismatch between the IDE-generated hex files and the Intel hex format they presumably follow.
Record mark | Rec. length | offset | rectype | info/data | cksum
1-byte 1-byte 2-bytes 1-byte n-bytes 1-byte
Each record begins with a RECORD MARK field containing 03AH, the ASCII code for the colon(':')
Notice that 0x31 is a record length (byte 1), but the next record starts earlier (next 0x3A).
I hope I'm wrong instead of the format and somebody can point out the error.
In this project I'm trying to stay away from specific hardware, but the basic foundation is a serial tunnel device such as the Ethernet shield.
I am testing some code borrowed from http://arduino.cc/forum/index.php/topic,46486.0.html
and it indicates that there are different bootloaders floating about - mucking about with the standard bootloader may just kill this project. I get different responses depending on whose 328p board I use.
Record mark | Rec. length | offset | rectype | info/data | cksum
1-byte 1-byte 2-bytes 1-byte n-bytes 1-byte
Each record begins with a RECORD MARK field containing 03AH, the ASCII code for the colon(':')
so the format is first character is a byte, all following are hex pairs forming a byte.
Yes; the description you quote is a bit poorly worded. I would say something like:
Now that I have mind-melded with avrdude a bit more I might take this project in a slightly different direction; reinventing the wheel is not a good idea - I think all I need is a -P option on avrdude.
Thanks for the parse pointer though - never know which way the chips will fall.
Most operating systems have a utility floating around that will create a virtual serial or com port out of a TCP connection (with or without assorted protocols like telnet or ssh.) It's been a while so I don't have any specific recommendations...