Anthony, My company did something like that for a project that went no where. (I didn't do any of the work)
One thing I remember hearing as a pain is that the serial clock needs to be kept running continuously at 20khz or the XMEGA will drop out of program mode. I think this makes debugging a royal pain because if you do any sort of break point, or if your firmware has a hiccup, the the XMEGA just stops responding. As such I'd suggest starting with some sort ofexternally driven clock that you can gate on and off via a port pin. Not sure, might be able to get you some source code, but might be more trouble than it's worth. PS: I've noted that there are a ton of USB based programmers out there, but very few that use Ethernet to communicate with the programmer. Matt ----- Original Message ----- From: Anthony Andriano <[email protected]> To: [email protected] Cc: Sent: Monday, November 11, 2013 3:35 PM Subject: [avrdude-dev] PDI bit bang support over GPIO Hi, Summary: I'm interested in programming two Xmega microcontrollers with an AT91SAM SoC using GPIOs in conjunction with the PDI protocol. Details: I have a very custom AT91Bootstrap build and a moderately custom emdebian kernel working very well on a prototype. I've been communicating with two xmega8e5 microcontrollers using UARTs for the low level, real time constraints required for the product to work correctly. The problem I'm facing is how to get the bootloader on the xmegas in the first place. The two main issues are as follows: 1) I have to use PDI to initially program my bootloader and set a few fuses. 2) I have to put two headers for PDI programming on my PCB because PDI regrettably lacks daisy chain support. Once I flash my bootloader to the xmegas, I can program them using the same UARTs that are used during normal operation with AVRDUDE from the SoC. However, I want to remove the PDI headers from the board because of area constraints and the potential time savings during manufacturing. I know PDI is possible using a UART, but I was actually considering making this work via bit banging so any pair of GPIO pin would be able to implement PDI. I'm either going to add this to AVRDUDE or write a driver for AT91 SoCs, but I figured I would start here in case AVRDUDE could offer a headstart. Any information would be greatly appreciated so I know what roadblocks to expect before I get started. Thanks, Tony _______________________________________________ avrdude-dev mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/avrdude-dev _______________________________________________ avrdude-dev mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/avrdude-dev
