On Wed, Jan 12, 2011 at 1:38 PM, simon qian <simonqian.open...@gmail.com> wrote: > For SWD transaction layer, only 3 operation is needed. > 1. initializaion/finalization/config(set trn) > 2. output sequency on SWD, which is used to make adi into SWD mode. > 3. The other is the transaction itself, including read and write operation. > > Any other applicapable feature?
Output sequence in fact can be realized as series of writes with no parity bit - there is a helper function in libswd for this, 7 or 8 bytes is sufficient :-) I think initialization should be separate from TRN. Initialization is usually performed once while TRN very often. TRN requires some additional stuff to be done on the interface logic and it is device-specific, so it should have its own separate function. In UrJTAG there was only option to toggle JTAG signal pins and no others, so i had to create virtual signal, function wrapper and high-active and low-active bitmask specific to an interface. Some additional code recognized the virtual signal and then activated all high-active bitmask outputs on signal-high and low-active bitmask outputs on signal low. This however can (and will?) cause troubles on interfaces other than ft2232 where output buffers configuration cannot be easily set with a port bitmask switch (ie. some command or sequence), therefore if it is possible we should create sepratate function for making TRN switches - one function is sufficient, maybe a null pointer to a function in necessary. Best regards, Tomek -- CeDeROM, SQ7MHZ, http://www.tomek.cedro.info _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development