PD-BDM with iSYSTEM winIDEA won't work

cancel
Showing results for 
Search instead for 
Did you mean: 

PD-BDM with iSYSTEM winIDEA won't work

Jump to solution
194 Views
Contributor III

Hello,

I work with FreeMASTER 2.5 and my debugger environment is winIDEA 9.17.100 from iSYSTEM. I can connect to the target with direct access to the memory, but I fail to do so using the PD-BDM protocol (which I need because I want to use the FreeMASTER recorder feature).

I compiled the FreeMASTER communication driver on the target with the appropriate option:

#define FMSTR_USE_PDBDM 1 /* To select Packet Driven BDM communication interface (optional) */

And I know the address of the packet buffer:
pastedImage_2.png

In the FreeMASTER plugin I can see that the connection with winIDEA is successful:

pastedImage_3.png

But it fails to find the packet buffer at the specified address (and the automatic search runs but cannot find it as well):
pastedImage_4.png

Why it does not work? :smileysad:

Luca

0 Kudos
1 Solution
109 Views
NXP Employee
NXP Employee

Hello Luca, thanks for your cooperation. The fix will officially appear in FreeMASTER 3.0.3 in June 2020. 

If observing a performance issues with PD-BDM, please note that you can select Direct BDM Memory Read and Write so the packet-driven protocol is not used for such basic operations.

Thanks,

Michal

View solution in original post

7 Replies
109 Views
NXP Employee
NXP Employee

Dear Luca,

can you try installing the latest FreeMASTER version 3.0 (3.0.2)? Installing this version will register a new PD-BDM plug-in version in system. You will be able to use it also from both 2.5 and 3.0.

There were few compatibility issues solved in PD-BDM since the version released with FreeMASTER 2.5, so I believe this operation will help. Let me know if not.

Thank you,

Michal

0 Kudos
109 Views
Contributor III

Hello Michal,

Thank you for your prompt reply. I installed FreeMASTER 3.0 but the problem persists, using either FreeMASTER 3.0 or 2.5 (I understand that the plugin is the same but I tried with both versions anyway). Here is a screenshot:

pastedImage_1.png

You will recognize from it that this is the new plugin (the GUI is different). Still no success. I Inserted the address and I also did a search just in case. So the problem is still there. Note that I am using a recent version of winIDEA 9.17.100 (released 9/2019). Maybe when you tested the plugin you used the previous version 9.17.39? I can't say if the problem could be here, recall that I can connect with direct memory access (so I can confirm that debugger and target are reachable by FreeMASTER). The issue is when trying to connect with PD-BDM.

Luca

0 Kudos
109 Views
NXP Employee
NXP Employee

Dear Luca,

can you please create a FreeMASTER variable (2-byte unsigned int) at the expected address of the PD-BDM buffer (0x40001b00)? And please display its value in a variable watch and send it to me here. Then update the variable to 4 byte size and send me the value too.

I suspect we have a compatibility issue of PD-BDM operation and big-endian parts. I will test also locally.

Thank you for your help,

Michal

0 Kudos
109 Views
Contributor III

Hello Michal,

This is the FreeMASTER variable definition as uint16:

pastedImage_1.png

And this the definition of the same variable as uint32:

pastedImage_2.png

This is the FreeMASTER watch:

pastedImage_3.png

And this is winIDEA debugger:

pastedImage_4.png

Everything looks consistent though. I am available to do further checks.

Thanks,

Luca

0 Kudos
109 Views
NXP Employee
NXP Employee

Thank you very much. Let me prepare a fix for you to test. It should be available by tomorrow. Can you contact me directly on this email

Thank you,

Michal

109 Views
Contributor III

Michal, thanks for the patch you sent me. Now it works!

0 Kudos
110 Views
NXP Employee
NXP Employee

Hello Luca, thanks for your cooperation. The fix will officially appear in FreeMASTER 3.0.3 in June 2020. 

If observing a performance issues with PD-BDM, please note that you can select Direct BDM Memory Read and Write so the packet-driven protocol is not used for such basic operations.

Thanks,

Michal

View solution in original post