PFE Master/Slave - Set up M7 Master Network

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

PFE Master/Slave - Set up M7 Master Network

Jump to solution
627 Views
GuilhermeS32G
Contributor III

Dear NXP fellows,

 

This question is a sequel to my previous topic:

Questions regarding multi-core networking in S32G399A 

Right now, I have enabled PFE Master/Slave on our custom board based on S32G399A-RDB3 by appending pfe-slave to the Yocto distro-features:

DISTRO_FEATURES:append = " pfe pfe-slave"

This enables the PFE Slave to run on the A53 cores (Linux BSP).

On the slave side, it seems to be working as expected, I can assign IP addresses to the three PFE interfaces and the ping is working from both sides.

For your reference, the command libfci_cli phyif-print returns:

DISCLAIMER: This is a DEMO application. It is not part of the production code deliverables.
 0: emac0
      <ENABLED>
      <promisc:OFF, mode:DEFAULT, block-state:NORMAL>
      <vlan-conf:OFF, ptp-conf:OFF, ptp-promisc:OFF, q-in-q:ON>
      <discard-if-ttl-below-2:OFF, fast-forward-all-tcp:ON>
      ingress: 57 egress: 45 discarded: 0 malformed: 0
      flexible-filter: ---
      ptp-mgmt-if: ---
      MAC:
          00:04:9f:be:ef:00
          33:33:00:00:00:01
          01:00:5e:00:00:01
          33:33:ff:be:ef:00
          01:80:c2:00:00:00
          01:80:c2:00:00:03
          01:80:c2:00:00:0e
          33:33:00:01:00:03
          01:00:5e:00:00:fc
      mirrors:
          rxmirr0: ---
          rxmirr1: ---
          txmirr0: ---
          txmirr1: ---
      logical interfaces:
       0: emac0
            <ENABLED>
            <promisc:ON, match-mode:AND, discard-on-match:OFF>
            accepted: 57 rejected: 0 discarded: 0 processed: 57
            egress: hif0
            match-rules: ---
 1: emac1
      <ENABLED>
      <promisc:OFF, mode:DEFAULT, block-state:NORMAL>
      <vlan-conf:OFF, ptp-conf:OFF, ptp-promisc:OFF, q-in-q:ON>
      <discard-if-ttl-below-2:OFF, fast-forward-all-tcp:ON>
      ingress: 75 egress: 53 discarded: 0 malformed: 0
      flexible-filter: ---
      ptp-mgmt-if: ---
      MAC:
          00:04:9f:be:ef:01
          33:33:00:00:00:01
          01:00:5e:00:00:01
          33:33:ff:be:ef:01
      mirrors:
          rxmirr0: ---
          rxmirr1: ---
          txmirr0: ---
          txmirr1: ---
      logical interfaces:
       1: emac1
            <ENABLED>
            <promisc:ON, match-mode:AND, discard-on-match:OFF>
            accepted: 75 rejected: 0 discarded: 0 processed: 75
            egress: hif1
            match-rules: ---
 2: emac2
      <ENABLED>
      <promisc:OFF, mode:DEFAULT, block-state:NORMAL>
      <vlan-conf:OFF, ptp-conf:OFF, ptp-promisc:OFF, q-in-q:ON>
      <discard-if-ttl-below-2:OFF, fast-forward-all-tcp:ON>
      ingress: 13 egress: 37 discarded: 0 malformed: 0
      flexible-filter: ---
      ptp-mgmt-if: ---
      MAC:
          00:04:9f:be:ef:02
          33:33:00:00:00:01
          01:00:5e:00:00:01
          33:33:ff:be:ef:02
          01:80:c2:00:00:00
          01:80:c2:00:00:03
          01:80:c2:00:00:0e
          01:00:5e:00:00:fc
          33:33:00:01:00:03
      mirrors:
          rxmirr0: ---
          rxmirr1: ---
          txmirr0: ---
          txmirr1: ---
      logical interfaces:
       2: emac2
            <ENABLED>
            <promisc:ON, match-mode:AND, discard-on-match:OFF>
            accepted: 13 rejected: 0 discarded: 0 processed: 13
            egress: hif2
            match-rules: ---
 5: util
      <DISABLED>
      <promisc:OFF, mode:DEFAULT, block-state:NORMAL>
      <vlan-conf:OFF, ptp-conf:OFF, ptp-promisc:OFF, q-in-q:ON>
      <discard-if-ttl-below-2:OFF, fast-forward-all-tcp:ON>
      ingress: 0 egress: 0 discarded: 0 malformed: 0
      flexible-filter: ---
      ptp-mgmt-if: ---
      MAC: ---
      mirrors:
          rxmirr0: ---
          rxmirr1: ---
          txmirr0: ---
          txmirr1: ---
      logical interfaces: ---
 6: hif0
      <ENABLED>
      <promisc:OFF, mode:DEFAULT, block-state:NORMAL>
      <vlan-conf:OFF, ptp-conf:OFF, ptp-promisc:OFF, q-in-q:ON>
      <discard-if-ttl-below-2:OFF, fast-forward-all-tcp:ON>
      ingress: 105 egress: 57 discarded: 0 malformed: 0
      flexible-filter: ---
      ptp-mgmt-if: ---
      MAC: ---
      mirrors:
          rxmirr0: ---
          rxmirr1: ---
          txmirr0: ---
          txmirr1: ---
      logical interfaces:
       3: hif0
            <ENABLED>
            <promisc:ON, match-mode:AND, discard-on-match:OFF>
            accepted: 29 rejected: 0 discarded: 0 processed: 29
            egress: ---
            match-rules: ---
 7: hif1
      <ENABLED>
      <promisc:OFF, mode:DEFAULT, block-state:NORMAL>
      <vlan-conf:OFF, ptp-conf:OFF, ptp-promisc:OFF, q-in-q:ON>
      <discard-if-ttl-below-2:OFF, fast-forward-all-tcp:ON>
      ingress: 53 egress: 75 discarded: 0 malformed: 0
      flexible-filter: ---
      ptp-mgmt-if: ---
      MAC: ---
      mirrors:
          rxmirr0: ---
          rxmirr1: ---
          txmirr0: ---
          txmirr1: ---
      logical interfaces:
       4: hif1
            <ENABLED>
            <promisc:ON, match-mode:AND, discard-on-match:OFF>
            accepted: 0 rejected: 0 discarded: 0 processed: 0
            egress: ---
            match-rules: ---
 8: hif2
      <ENABLED>
      <promisc:OFF, mode:DEFAULT, block-state:NORMAL>
      <vlan-conf:OFF, ptp-conf:OFF, ptp-promisc:OFF, q-in-q:ON>
      <discard-if-ttl-below-2:OFF, fast-forward-all-tcp:ON>
      ingress: 37 egress: 13 discarded: 0 malformed: 0
      flexible-filter: ---
      ptp-mgmt-if: ---
      MAC: ---
      mirrors:
          rxmirr0: ---
          rxmirr1: ---
          txmirr0: ---
          txmirr1: ---
      logical interfaces:
       5: hif2
            <ENABLED>
            <promisc:ON, match-mode:AND, discard-on-match:OFF>
            accepted: 0 rejected: 0 discarded: 0 processed: 0
            egress: ---
            match-rules: ---
 9: hif3
      <DISABLED>
      <promisc:OFF, mode:DEFAULT, block-state:NORMAL>
      <vlan-conf:OFF, ptp-conf:OFF, ptp-promisc:OFF, q-in-q:ON>
      <discard-if-ttl-below-2:OFF, fast-forward-all-tcp:ON>
      ingress: 0 egress: 0 discarded: 31 malformed: 0
      flexible-filter: ---
      ptp-mgmt-if: ---
      MAC: ---
      mirrors:
          rxmirr0: ---
          rxmirr1: ---
          txmirr0: ---
          txmirr1: ---
      logical interfaces:
       6: hif3
            <ENABLED>
            <promisc:ON, match-mode:AND, discard-on-match:OFF>
            accepted: 0 rejected: 0 discarded: 0 processed: 0
            egress: ---
            match-rules: ---
Command successfully executed.

 and the command libfci_cli logif-print returns:

DISCLAIMER: This is a DEMO application. It is not part of the production code deliverables.
 0: emac0
      <ENABLED>
      <promisc:ON, match-mode:AND, discard-on-match:OFF>
      accepted: 57 rejected: 0 discarded: 0 processed: 57
      parent: emac0
      egress: hif0
      match-rules: ---
 1: emac1
      <ENABLED>
      <promisc:ON, match-mode:AND, discard-on-match:OFF>
      accepted: 75 rejected: 0 discarded: 0 processed: 75
      parent: emac1
      egress: hif1
      match-rules: ---
 2: emac2
      <ENABLED>
      <promisc:ON, match-mode:AND, discard-on-match:OFF>
      accepted: 13 rejected: 0 discarded: 0 processed: 13
      parent: emac2
      egress: hif2
      match-rules: ---
 3: hif0
      <ENABLED>
      <promisc:ON, match-mode:AND, discard-on-match:OFF>
      accepted: 29 rejected: 0 discarded: 0 processed: 29
      parent: hif0
      egress: ---
      match-rules: ---
 4: hif1
      <ENABLED>
      <promisc:ON, match-mode:AND, discard-on-match:OFF>
      accepted: 0 rejected: 0 discarded: 0 processed: 0
      parent: hif1
      egress: ---
      match-rules: ---
 5: hif2
      <ENABLED>
      <promisc:ON, match-mode:AND, discard-on-match:OFF>
      accepted: 0 rejected: 0 discarded: 0 processed: 0
      parent: hif2
      egress: ---
      match-rules: ---
 6: hif3
      <ENABLED>
      <promisc:ON, match-mode:AND, discard-on-match:OFF>
      accepted: 0 rejected: 0 discarded: 0 processed: 0
      parent: hif3
      egress: ---
      match-rules: ---
Command successfully executed.

However, I would like to configure the M7 core PFE-master now.

My questions are:

  • Can I assign an IP address to the PFE Master from the PFE Slave (BSP)?
  • Do I need to use the EB Tresos PFE-DRV_S32G_M7_MCAL sample application for configuring the M7 core networking?
  • Does it require to connect the S32G Debug Probe to the board in order to access the M7 core?

 

Thank you for your support!

 

Best regards,

Guilherme

0 Kudos
Reply
1 Solution
589 Views
Joey_z
NXP Employee
NXP Employee

hi,GuilhermeS32G

To configure PFE-master for M7 core, you can refer to the PFE-DRV_S32G_M7_MCAL package MasterProject_RDB3 project. In the meantime, you can refer to the readme for more details to complete the setup. You can set IP_ADDRESS_CTRL_0 to set the IP address . RTD drivers must be installed, copy the installed RTD driver plugins and PFE driver plugin to Tresos plugins directory. Also, Run and debug the application with Lauterbach TRACE32.

Joey_z_0-1730879600804.pngJoey_z_1-1730879608076.png

 

BR

Joey

View solution in original post

0 Kudos
Reply
6 Replies
590 Views
Joey_z
NXP Employee
NXP Employee

hi,GuilhermeS32G

To configure PFE-master for M7 core, you can refer to the PFE-DRV_S32G_M7_MCAL package MasterProject_RDB3 project. In the meantime, you can refer to the readme for more details to complete the setup. You can set IP_ADDRESS_CTRL_0 to set the IP address . RTD drivers must be installed, copy the installed RTD driver plugins and PFE driver plugin to Tresos plugins directory. Also, Run and debug the application with Lauterbach TRACE32.

Joey_z_0-1730879600804.pngJoey_z_1-1730879608076.png

 

BR

Joey

0 Kudos
Reply
585 Views
GuilhermeS32G
Contributor III

Hello @Joey_z ,

 

Thank you for your reply.

I see, so that means I require the Lauterbach Trace32 debugger and the EB Tresos Studio IDE for successfully running this example.

Do you know if there is any movement inside NXP to migrate the PFE-DRV_S32G_M7_MCAL software to the S32 Design Studio IDE and supporting the S32 Debug Probe instead?

 

Best regards,

Guilherme

0 Kudos
Reply
576 Views
Joey_z
NXP Employee
NXP Employee

hi,GuilhermeS32G

It is recommended that you debug using Lauterbach Trace32 according to readme.txt requirements. The S32 Debug Probe can be debuggable by loading .elf files, but this is  unstable and does not ensure that you can debug successfully, you can see the following way.

Joey_z_0-1730964157981.png

Joey_z_1-1730964169114.png

If the following problems occur, try loading the main.c file.

Joey_z_2-1730964191889.png

BR

Joey

0 Kudos
Reply
571 Views
GuilhermeS32G
Contributor III

Hello @Joey_z ,

 

Thank you for your explanation.

I can see that the latest releases of the S32G Real-Time Driver AUTOSAR 4.4 for Cortex-M7 can be configured, built, and debugged using the S32 Design Studio. However, the S32G PFE MCAL 4.4 driver still requires EB Tresos Studio.

Is there any work in progress to make the future releases of the S32G PFE MCAL driver compatible with the S32 Design Studio?

 

Thanks again.

 

Best regards,

Guilherme

0 Kudos
Reply
569 Views
Joey_z
NXP Employee
NXP Employee

hi,GuilhermeS32G

Thank you for your reply.
PFE MCAL driver does not have this function, thank you for your suggestion, I will report this problem.

BR

Joey

0 Kudos
Reply
564 Views
GuilhermeS32G
Contributor III

Hello @Joey_z ,

 

Ok, thank you very much.

 

Best regards,

Guilherme

0 Kudos
Reply