Am 03.07.2012 um 16:10 schrieb Darell Tan:

Hello,

> If I had the time, I would implement TPI over avrftdi too, but it
> seems like I need to copy/paste (or re-implement) the TPI logic into
> avrftdi, which is not an elegant solution. If the code in avr.c could
> be re-used, then it would have been really simple to get TPI working
> for avrftdi.

Yesterday I implemented prototypical TPI support in avrftdi (Again, thanks to 
Joerg for the Attiny10 breakout board). For now, I can only read the device ID 
(although fuses should be possible, too).
I agree, that TPI causes a lot of code duplication. I propose to split code 
into two layers "TPI access layer" and "TPI physical layer" - like Atmel did in 
the chip. See AVR918 (chapters 3.2 and 3.3) or Attiny10 datasheet (chapter 
14.2). I imagine the access layer to be a generic implementation with callbacks 
into the physical layer. The physical layer has to implemented by every 
programmer. In the simplest case this would be a byte transmit and byte receive 
function. However, I suppose some programmer would benefit from "bulk 
transfers" (multiple bytes read or written).
I do not know if this is a viable approach with respect to "smart" programmers 
which have their own firmware. Maybe someone can comment on that.

Regards,
Hannes
_______________________________________________
avrdude-dev mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/avrdude-dev

Reply via email to