rick> As my other patch shows, such a mechanism simplifies interacting with a JTAG route controller, so the mechanism would already be in place.
I missed that - where is this at? duane> {taps as objects} rick> [name space is the real issue] Agreed. As for the more general "taps - as objects" - that can happen when someone wants to write that code. ================ As for "jtag events" - I think perhaps there could be a series of "jtag events" not exactly bound to a tap. That might be a simpler and perhaps more effective solution. Why? I say that because all of the other taps are tied together via the tap chain in some way. I suspect we'll hit wacky problems. We could for example create a command: "jtag newevent [--append] EVENTNAME EVENTBODY." That would execute the the EVENTBODY based on some event that occurs = note: the that means "all taps" not one specific tap. > Doing this should also make adding other protocols like SWJ, I2C, and > SPI easier. The tap objects can be a generic struct that contains a > type identifier. This type would indicate which protocol it uses and > also indicates the other members of the struct. Then, each protocol > would have a top-level command similar to the "jtag" command. That > command would have a "newtap" subcommand that takes the appropriate > operands for that protocol. Then when creating a target, the tap is > specified. The target could inspect the tap to determine if it can > use a tap of that type. That would provide sufficient decoupling > between the protocols and the targets to allow new protocols to be > introduced with relative ease. I like the the "K.I.S.S." principle. I think in some ways - we are making this just a tad bit to complicated. SPI should be it's own first class command, and there is no way I would want to mix JTAG + SPI at the same time. In the case of SPI or I2C - I am taking over the flash memory action to force something onto the chip. In stark contrast: In jtag case - I am cooperating with the chip. A big difference. -Duane. _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development