Dangerous Prototypes

Dangerous Prototypes => Bus Blaster JTAG debugger => Topic started by: Cyk on March 21, 2012, 03:11:37 pm

Title: Debugger type PIC32 ICSP possible?
Post by: Cyk on March 21, 2012, 03:11:37 pm
Hi.

When reading the flash programming specification of the PIC32 micros, an idea crossed my mind.

Some background:

The MIPS core that Michrochip choose for the PIC32 already had a JTAG interface implementation (EJTAG),
and the pins are available on the outside.

Instead of implementing a separate programmer/debugger for 2-wire ICSP, they added a 2-wire to 4-wire
converter in front of the JTAG.
The ICSP programmer has to talk to the chip over 2 wires in a special protocol that uses a special synchronous
time multiplex to transfer the state of the 4 JTAG signals over 2 wires.

The internal 2-wire to 4-wire converter converts this back to 4 signals and sends it to the JTAG interface.

So, my idea was to implement this 4-wire to 2-wire converter in the CPLD of the Bus Blaster.

This way, one could use the Bus Blaster to flash and debug PIC32 micros with OpenOCD via 2-wire ICSP,
the same way as you would do it with JTAG, without having to care about the different transport layer.

Would this be possible?

I don't know what the Xilinx CPLD is capable of.

Thanks
Cyk
Title: Re: Debugger type PIC32 ICSP possible?
Post by: ian on March 26, 2012, 06:59:14 pm
Hi Cyk,

We use very few resources in the CPLD, so it might be possible. I have not looked into it though, so I could be terribly wrong :)

( ! ) Fatal error: Uncaught exception 'Elk_Exception' with message 'Please try again. If you come back to this error screen, report the error to an administrator.' in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
( ! ) Elk_Exception: Please try again. If you come back to this error screen, report the error to an administrator. in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
Call Stack
#TimeMemoryFunctionLocation
10.00912037384session_write_close ( )...(null):0
20.00942168960ElkArte\sources\subs\SessionHandler\DatabaseHandler->write( )...(null):0
30.00942169736Database_MySQL->query( ).../DatabaseHandler.php:119
40.05502308456Database_MySQL->error( ).../Db-mysql.class.php:273