avrdude-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[avrdude-dev] [idea] generic bootloader protocol


From: Jan-Hinnerk Reichert
Subject: [avrdude-dev] [idea] generic bootloader protocol
Date: Sun, 8 Jun 2003 17:10:49 +0200
User-agent: KMail/1.5.1

Hi all,

I was just thinking about making a *good* bootloader. My key idea is that it 
should not be neccessary to have any configuration data on the PC.
The bootloader is on a particular device and should know about this. The 
programming software has just to ask for all neccessary parameters.

This way you can get rid of the "device type"-problem you have when emulating 
an AVR910 prommer.

It should also be possible to put the bootloader in 256 or even 128 words 
(e.g. for the mega8).

It should also be possible to limit the bootloader to a subset of 
functionality (e.g. only flash or only eeprom) to reduce the codesize.

-----------

Since a new protocol should be done "right first time", I'm asking for 
opinions...

- What parameters are needed? I was thinking about
  - flash size
  - (virtual) page size
  - eeprom size
  - is there paged eeprom?
  - fuse bits?
  - lock bits
  - signature (just in case you want to know)
  - chip name (in ASCII)

- Should the protocol use packets or stream for communication?
  - packets could be more easily ported to use ethernet (UDP)
  - How should packets be seperated?

- How do I batch multiple EEPROM writes?

- Should there be CRC on the data? Or even an ECC?

- How should possible extensions be handled?
  - just extending the protocol and have a feature bit field?
  - writing a new protocol from scratch and having a protocol version?
  - both ;-)

- Link speed negotiation for RS232?

- Can such a protocol be easily integrated into avrdude or is it better to 
write a seperate program?

- verify/retry in bootloader?

- has somebody already done this?

Thanks in advance
 Jan-Hinnerk





reply via email to

[Prev in Thread] Current Thread [Next in Thread]