avr-gcc-list
[Top][All Lists]
Advanced

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

[avr-gcc-list] Bootloader (usb + serial tested so far)


From: Reza Naima
Subject: [avr-gcc-list] Bootloader (usb + serial tested so far)
Date: Mon, 22 Sep 2003 02:02:25 -0700
User-agent: Mutt/1.4i

Ok, I've mentioned I was going to post this like many many months ago.
I have kept putting off writing up docs, but someone recently pinged me,
so I just threw what I had together and hopefully it will be helpful to
someone.

It's a bootloader + reflashing code.  The bootloader is based in
avr-gcc, and uses all the std. header files for reprogramming, so it
should work with any bootloader-enabled AVR IC.  I've tested with
atMega128 and the atMega64 so far.  It works through any means you have
-- all  you need to do is change the RxChar and TxChar to point to
whatever functions you want (they must remain inline, however).   I've
used both the UART and an FTDI-based USB interface to reflash the ICs.
The bootloader is free to be used anywhere as long as you retain the 
copyright notice.  

The reflashing application was developed my myself and Jake McGuire.  It
is called 'AVReflash' (pronounced 'A-V-Reflash').  It should compile
with a simple 'make install'.  It works via any serial interface (or USB
if you are using the FTDI interface).  I've not played with the serial
interface in windows, so I'm not sure how hard it would be to modify to
make it work with windows.  Otherwise, it has been tested under linux and 
maxOsX.

If you want to check out the code, it lives here:

        http://www.reza.net/avr


Please feel free to send me comments, fixes, patches, and enhancements.

Reza

p.s. the only upgrade I plan on performing in the near future is to be
able to do incremental reflashing.  For example, if only 3 pages of data
changed since the last reflashing, then to only update those three pages
to save time.

p.p.s. The protocol is based on the MegaLoad code.  However, the author
did not want the flashing code released to the public so I rewrote it,
nad in doing so, rewrote the bootloader too.  It's also a simple comand
line tool, so as to make it easy to call from within Makefiles.


reply via email to

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