Closed jamiebird-arm closed 2 years ago
My knowledge about how things can work at the low level is somewhat limited, but I can't see anything that would speak against this solution. A question though (given my limited knowledge of the low-level stuff), is the new callback function to be used as a read OR write function, i.e. will op
in the SDMRegisterAccess
struct have the same value for all elements in the accesses
parameter in a given call to the registerAccess
callback?
It could perhaps be useful to have different access operation types in the same batch if the low-level interface supports it, but I can see more complexity coming in the debugger implementation if that is a case which needs to be dealt with.
@henriksandin It will support multiple operation types. The key idea is that you can combine a match read + write in one access sequence.
This is an attempt to address the performance concerns when using a single byte COM port such as SDC-600, by batching sequences of register accesses. This allows large data transfers to be submitted as either a sequence of DRB (blocking register) writes, or a sequence of SR poll and DB write pairs.
Removing the round trip time between the SDM and debug probe (if the debug tooling interfaces allows, otherwise the sequences would just be looped at the host without any performance gain).
Note that this does not address the issue of determining whether certain probes can handle blocking registers (large wait/retry periods).