yes, but ... depending on obsolete hardware for future debug strategy is not a good plan.
I've been looking over the spec sheets and I think the larger problem is not the external hardware or even the USB stack.
We have a somewhat unique situation in that its a Host-to-Host connection and we control both sides of the cable. At the bottom rung USB is just a special packet of data with some preable and a checksum. Nothing says we have to do things the "USB" way.
I see having the target send control packets with the serial bytes in them. Are any of our debug prints greater than say 50 characters or so? Max control packet is 64 bytes and both sides must support that since they are hosts.
I see having the target just spit OUTs with the debug data in them.
The debug host computer would need to put the USB bridge into some sort of raw mode where you would just read the packets and dump them to the screen. Perhaps we could make some sort of software serial device driver that could be opened by minicom or some other terminal software.
None of that really concerns me. Its fuzzy but I see a path.
What concerns me is a topic that Stefan already brought up. Talking to the USB bridge on the target. AFAICT you have to have ram working to use an [OUE]HCI controller. You set up the base address on a 4k RAM boundary, then the frame counter, then stuff the data your want to send in ram and hit the go bit.
How are we going to do that when RAM is not up?
Can CAR make that work? I don't know a lot about CAR but something tells me the USB bridge can't fetch from inside the cache.
So even if USB can be made to fly I don't think it will serve our needs.
Stefan mentioned that a simple pci serial port adapter wouldn't really work since you have to go through the serial bus to find it.
What about making a PCI card that ignored spec and always positively decoded port 80 or 90 or what ever we picked. Then you could stick it in and data would come out whenever outs to that port happened.
I like Bari's idea of a DIMM module that sat on the SMbus. Thats cool. Getting the SMbus to work sometimes is a pain though.
If most new motherboards comming out now don't have serial ports on them then how are the mfg's debugging the boards? JTAG? If so then I think we better start learning how to do JTAG. Of course the mfgs may drop the jtag interface on a production run.
Its a tough issue. But one we are going to have to solve.