As Doug Brown wrote: > Is there any documentation or a guide for which functions to implement (& > what the functions are required to do) for integrating a new programm in > AVRDUDE?
Unfortunately not. I recently added a "Developers' corner" to the Web pages, so if you are about to add a new programmer, please record all your steps somehow, so we could eventually take your notes as the base for a description there. > e.g. A USB programmer that has the following features: > * Programmable VDD > * Programmable VPP/RESET > * Programmable SPI Clock Rate That's probably going to be something like a single "set attribute" command or such. You can have a look at the stk500v2.c code to see how STK500/STK600 do handle this. > * Uses interrupt transfers (64 byte) and can send raw SPI In/Out (up to 56 > bytes) per transaction The current usb_libusb.c implementation uses only bulk transfers, as it basically abstracts a simple datastream (used to be RS-232 data, and have only been moved to a USB interface then). > * Delays requests can also be inserted in the datastream. That is likely going to be another command only, so it's private to your implementation. > What functions (from struct PROGRAMMER) need to be implemented to > allow the programmer to be used (I guess as an AVR prog, EE prog & > SPI bridge)? Virtually everything in your case, I'm afraid. The policy is that everything that has no per-programmer implementation gets replaced by a generic function (usually found in avr.c), which essentially implements plain old ISP based on the "cmd" method, feeding all the ISP bytes in and out manually (as it used to be done with the bitbang adapters AVRDUDE has been starting with). -- cheers, J"org .-.-. --... ...-- -.. . DL8DTL http://www.sax.de/~joerg/ NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-) _______________________________________________ avrdude-dev mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/avrdude-dev
