Use the PD-BDM plug-in and configure it to use the j-Link plug-in as its low-level communication.

cancel
Showing results for 
Search instead for 
Did you mean: 

Use the PD-BDM plug-in and configure it to use the j-Link plug-in as its low-level communication.

443 Views
xgy_upc
Contributor III

For Freemaster, there are two ways to communicate using J-Link, the first of which is direct access to memory, as described in 

https://community.nxp.com/t5/FreeMASTER/FreeMASTER-use-J-Link-to-communicate/td-p/1188543

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.

0 Kudos
3 Replies

418 Views
iulian_stan
NXP Employee
NXP Employee

Hi @xgy_upc,

To use PD-BDM plugin:

  1. Enable PD-BDM in the embedded project. Depending on the FreeMASTER driver you are using you need to add the following line to `freemaster_cfg.h`:
    a) version 3 and newer (can be identified by `#define FMSTR_PRCTL_VER 0x04`) 
    #define FMSTR_TRANSPORT FMSTR_PDBDM
    b) older version
    #define FMSTR_USE_PDBDM  1
  2. Configure the plugin in FreeMASTER tool (steps are described in
    C:\NXP\FreeMASTER 3.1\FreeMASTER\plugins\bdm\doc\pdbdm\Readme.htm)

Regards,
Iulian

0 Kudos

388 Views
xgy_upc
Contributor III

I would like to ask, what is the communication principle of PD-BDM

0 Kudos

378 Views
iulian_stan
NXP Employee
NXP Employee

Hi @xgy_upc,

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,
Iulian

0 Kudos