TMS320F28388D: Configuring GPIOs, CLB-XBARs, and Output-XBARs on CPU2 via SysConfig

Part Number: TMS320F28388D
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

Hello,

I would like to use SysConfig to configure GPIOs, CLB-XBARs, and Output-XBARs on CPU2.

However, when working in the CPU2 context, these inputs and outputs do not appear to be available or visible in the SysConfig UI.

Is this functionality supported for CPU2, or do these configurations need to be set manually in code (outside of SysConfig)?

Thank you in advance for your support.

Regards,

Wilko

  • Wilko

    The XBAR registers are only accessible from CPU1 and hence these configurations appear only in the CPU1 context.

    Best Regards

    Siddharth

  • Hi Siddharth,

    I just wanted to clarify:
    If I am using the CLB on CPU2, does this mean I cannot use the CLB XBARs at all?
    Or are the CLB XBARs simply assigned to CPU1 for configuration, but they can still route signals to and from the CLB modules assigned to CPU2?

    Best regards,

    Wilko

  • Hi,

    CPU1 should configure the CLB XBARs and can be used by CPU2

    Best Regards

    Siddharth 

  • Hi Siddharth,

    Thank you for your response.

    I wanted to ask if there’s anything specific I need to consider when configuring the CLB OutputXBAR via a CLB module running on CPU2.
    In my tests, I was able to successfully drive the CLB OutputXBAR using a CLB module on CPU1. However, after switching to an identical CLB configuration on CPU2, the output no longer seems to work.

    Is there any known limitation or extra step required when using the CLB OutputXBAR from CPU2?

    Best regards,

    Wilko

  • Wilko

    I don't think any other step is required .

    The CLB config can be moved to CPU2  but XBAR config has to be in CPU1 only. 

    Best Regards

    Siddharth

  • Hi Siddharth,

    I have now taken the example project: "empty_c28x_dual_sysconfig".

    I have implemented the CLB OutputXbar and a CLB on CPU1 where I toggle a GPIO.

    Everything works. When I implement the same CLB on CPU2 and do the exact same initialisation in the main of CPU2 and connect this CLB to the CLB OutputXbar then it does not work anymore. 

    Could you confirm, that this works on your side ?

    Since I am not sure how to break this problem down any further. 

    Best Regards,

  • Hi Siddharth,

    I’ve attached a minimal example of the issue as a ZIP file.

    You can run the code using the included .out files, or build your own using the provided project files.

    In the SysConfig view, you’ll see that one CLB is configured on CPU1 and another on CPU2.

    To observe the output toggle, simply change the CLB OutputXbar source signal from CLB2.OUT4 to CLB1.OUT4.

    Let me know if you need anything else.

    Best regards,

    Wilko

    CLB Test CPU1-CPU2.zip

  •  

    Did you get the chance to test my minimal project on your side ?

    Could you find my error ?

    Regards,

    Wilko

  • Can anyone please confirm or deny the following statement ?

    Wilko

    I don't think any other step is required .

    The CLB config can be moved to CPU2  but XBAR config has to be in CPU1 only. 

    Best Regards

    Siddharth

    I have been waiting for confirmation for about a month, as I need to decide whether I must move the entire CLB configuration to CPU1, or only the XBAR configuration.

    As mentioned earlier, I have been unable to get the CLB running on CPU2, even in the most minimal example.

    Regards,

    Wilko

  • Since I haven’t received a response for several months, I have to assume that CLB configuration cannot be performed by CPU2.

    This means we are now forced to move the entire CLB configuration to CPU1. Unfortunately, this is a significant drawback for us, but at some point, we need to move forward.

    Thank you for your support nonetheless.

    Regards,

    Wilko