For Freemaster, there are two ways to communicate using J-Link, the first of which is direct access to memory, as described in
For "Use the PD-BDM Plug-in and configure it to Use the J-Link Plug-in as its low-level communication". I would like to know how it is implemented and how it is set up in Freemaster.
To use PD-BDM plugin:
I think it's easier to understand PD-BDM plugin by comparing it to standard BDM communication.
BDM (Background Debugging Module) interface allows us to access the target RAM directly while the CPU is running. FreeMASTER uses it to read from and write into the RAM directly without CPU intervention. It has the advantage of nonintrusive memory access and does not require any changes in the target application, but is limited only to basic read and write operations. Packet-Driven BDM (PD-BDM) was introduced to fix this limitation and leverage additional FreeMASTER capabilities (Recorder, TSA, Pipes). It can be seen as a layer on top of BDM that uses the same interface, but instead of direct memory access it uses a preallocated memory buffer as a middleware to exchange FreeMASTER frames between PC tool and target application. In this case, FreeMASTER driver has to be enabled in the target application in order to allocate that communication buffer and subsequently read and process commands from, then write responses into that buffer.
Hope this answers your question,