FreeMaster Version

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

FreeMaster Version

Jump to solution
2,872 Views
hjhjhj
Contributor IV

Hi,

I try to run freemaster with CAN communication on MPC5746R ,and I use the driver "FreeMASTER_Serial_Communication_Driver_V2.0".Now I find that the CAN communication protocol in freemaster 3.0 and freemaster 2.0 are different.When starting communication in freemaster ,the messages are shown as the picture below.Which freemaster should I choose ?

freemaster3.0

11.bmp

freemaster2.0

22.bmp

0 Kudos
1 Solution
2,681 Views
MichalH
NXP Apps Support
NXP Apps Support

Hello,

yes there are two versions of the communication protocol. MCU driver v2.0 implements the older version and is widely available for majority of NXP and legacy Freescale or even Motorola platforms. MCU driver v3.0 implements the new version; it is officially available for the CortexM-based platforms. Some unofficial ports also exist for S12Z, Power Architecture and DSC56F800EX (they were made available earlier through this community site).

FreeMASTER compatibility:

  • FreeMASTER versions 2.0 and earlier only support the old protocol version.
  • FreeMASTER 2.5 supports both protocol versions, but it does not let you to leverage all new features brought by the new protocol version.
  • FreeMASTER 3.0 keeps the compatibility with both versions and also adds new UI elements to support the new features like multiple oscilloscopes or recorders running simultaneously, protocol password protection and others. 

We definitely recommend to use the latest FreeMASTER 3.0 going forward. Please report any incompatibilities which would prevent you from migrating from older versions.

 Best regards,

Michal

View solution in original post

0 Kudos
8 Replies
2,682 Views
MichalH
NXP Apps Support
NXP Apps Support

Hello,

yes there are two versions of the communication protocol. MCU driver v2.0 implements the older version and is widely available for majority of NXP and legacy Freescale or even Motorola platforms. MCU driver v3.0 implements the new version; it is officially available for the CortexM-based platforms. Some unofficial ports also exist for S12Z, Power Architecture and DSC56F800EX (they were made available earlier through this community site).

FreeMASTER compatibility:

  • FreeMASTER versions 2.0 and earlier only support the old protocol version.
  • FreeMASTER 2.5 supports both protocol versions, but it does not let you to leverage all new features brought by the new protocol version.
  • FreeMASTER 3.0 keeps the compatibility with both versions and also adds new UI elements to support the new features like multiple oscilloscopes or recorders running simultaneously, protocol password protection and others. 

We definitely recommend to use the latest FreeMASTER 3.0 going forward. Please report any incompatibilities which would prevent you from migrating from older versions.

 Best regards,

Michal

0 Kudos
2,681 Views
hjhjhj
Contributor IV

Hi,

Now the CAN communication between freemaster and MCU is OK,but the variable can't be distinguished.Perhaps there is still something wrong .The attached file is the CAN messages .Can you find something wrong in it?

22.bmp

Best regards,

HJ

0 Kudos
2,681 Views
MichalH
NXP Apps Support
NXP Apps Support

There can be more reasons why variable values cannot be read:

  • wrong ELF file loaded in FreeMASTER (if using ELF)
  • accessing variable not described by TSA table (if using TSA instead of ELF)
  • other problems with communication

I recommend to open Tools / Communication Debug Log and select "All" details. You should get more information about the issue.

Regards,

Michal

0 Kudos
2,681 Views
hjhjhj
Contributor IV

Hi Michal,

You are right.FMSTR_USE_TSA  should be defined "0" because I use ELF,and then the FreeMASTER works well.But when adding an oscilloscope,the CAN communication will be unstable and some errors appear in Communication Debug Log.The unknown error code is 0x80004005.CAN you help me solve it?

111.bmp

Best regards,

HJ

0 Kudos
2,681 Views
MichalH
NXP Apps Support
NXP Apps Support

Can you tell me what CAN interface are you using on the computer? Can you try to lower the communication baudrate and make sure the CAN bus is properly terminated?

When this issue occurs, does the other variables (e.g. in Variable Watch) still work or do they show question marks?

Thanks,

Michal

0 Kudos
2,681 Views
hjhjhj
Contributor IV

Hi,

I use ZLG device (USBCAN-II)and its baudrate is 500K.The error code occurs only when the oscilloscope is used.If I delete the oscilloscope ,the error code will disappear immediately.Even this issue occurs,the variables still work.

0 Kudos
2,681 Views
MichalH
NXP Apps Support
NXP Apps Support

Hello,

ok, this looks like a problem with Oscilloscope variables. Are you sure you only have "standard" 8, 16 or 32 bit variables in the scope? 

Let's make few experiments:

  • Can you create an Oscilloscope with just single variable (8, 16 or 32-bit) to see if this would work?
  • Also please try defining FMSTR_USE_SCOPE to 0. In this case, the oscilloscope feature will be disabled and FreeMASTER will use general sequential reading of variables to put them to graph. Such setting is definitely not good for normal work due to much higher communication bandwidth, but we will at least test the general graphing feature.
  • For normal Oscilloscope operation, make sure you have the FMSTR_USE_SCOPE defined to 1 (or more). And also make sure to set FMSTR_MAX_SCOPE_VARS to 8 or other reasonable value.

Thank you,

Michal

0 Kudos
2,681 Views
hjhjhj
Contributor IV

Hi Michal,

There is just single variable(8 bit) in the scope and the FMSTR_MAX_SCOPE_VARS is 8.

The experiment results:

  • When  defining FMSTR_USE_SCOPE to 1,error code  0x80004005 occurs all the time.
  • When  defining FMSTR_USE_SCOPE to 0,error code disappears.

But it seems that no matter FMSTR_USE_SCOPE is 0 or 1,the general graphing feature is OK.

0 Kudos