This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28P650SH: AQCTLA/B and CLB clock codes generated by C2000ware V6.0 + Sysconfig 1.25

Part Number: TMS320F28P650SH
Other Parts Discussed in Thread: SYSCONFIG, C2000WARE

Hi champs

 

I am asking this for our customer.

The user finds something wrong when upgrading codes

from C2000ware V5.04 + Sysconfig 1.23.1

to C2000ware V6.0 + Sysconfig 1.25

 

1.Codes geenrated for AQCTLA/B shadow seem wrong

The user tries to disable AQCTLA/B shadow, but the codes generated still enable them.

By C2000ware V5.04 + Sysconfig 1.23.1, the codes genereated are correct, but by C2000ware V6.0 + Sysconfig 1.25, the codes genereated seem wrong.

Would you please verify this?

 

2.CLB clock codes is not available on C2000ware V5.04 + Sysconfig 1.23.1 but avaialble on C2000ware V6.0 + Sysconfig 1.25. This is not wrong. But the user wonders if this code will be avaialble in new C2000ware/Sysconfig?

 

  • Hi Wayne,

    Can you preview the sysconfig generated files and confirm for me if making a single change in the GUI corresponds to incorrect code being generated? You can try to check/uncheck the enabled shadow register option and see if the generated code file is changing according to that. If this is not happening, then it might be a sys config issue.

    Thanks,

    Ira

  • Hi Ira,

    I sent you an email offline to show the images of comparison between the generated codes of C2000ware V5.04 + Sysconfig 1.23.1 and of C2000ware V6.0 + Sysconfig 1.25. Then, I also revised and uploaded the images on the first post. Have you seen them?

    The register on the CCS Watch Window are also shown above.

    Can you reproduce this on your side? OR you see differently on your side?

  • Hi Ira,

    Do you have any update?

    Can you reproduce on your side?

  • Hi Wayne,

    I tried to reproduce the issue on my end. I used C2000Ware6_0_0_0 and SysConfig 1.25.

    When I don't enable shadow mode - I see the following board.c file 

    And then when I enable shadow mode i see that the  EPWM_disableActionQualifierShadowLoadMode(myEPWM0_BASE, EPWM_ACTION_QUALIFIER_A); is removed from board.c for EPWM_ACTION_QUALIFIER_A (it is stilll there for EPWM_aCTION_QUALIFIER_B)

    I think the EPWM_disableActionQualifierShadowLoadMode(myEPWM0_BASE, EPWM_ACTION_QUALIFIER_A) line might not be appearing in your board.c because you have the Enable Global Shadow to active load enabled (so it is ignoring the shadow mode for individual qualifiers). Check if this option is enabled for you

    Thanks,

    Ira

  • Hi Ira,

    What we saw is same as yours.

    However, the problem seems the next line that enables it after disabling it.

    That is,

    EPWM_setActionQualifierShadowLoadMode(myEPWM0_BASE, EPWM_ACTION_QUALIFIER_A, EPWM_AQ_LOAD_ON_CNTR_ZERO);

    static inline void
    EPWM_setActionQualifierShadowLoadMode(uint32_t base,
                                          EPWM_ActionQualifierModule aqModule,
                                          EPWM_ActionQualifierLoadMode loadMode)
    {
        uint16_t syncModeOffset;
        uint16_t shadowModeOffset;
    
        //
        // Check the arguments
        //
        ASSERT(EPWM_isBaseValid(base));
    
        syncModeOffset = 8U + (uint16_t)aqModule;
        shadowModeOffset = 4U + (uint16_t)aqModule;
    
        //
        // Set the appropriate sync and load mode bits and also enable shadow
        // load mode. Shadow to active load can also be frozen.
        //
        HWREGH(base + EPWM_O_AQCTL) = ((HWREGH(base + EPWM_O_AQCTL) &
                                       (~((0x3U << (uint16_t)aqModule) |
                                       (0x3U << (uint16_t)syncModeOffset))) |
                                       (0x1U << shadowModeOffset)) |
                                       ((((uint16_t)loadMode >> 2U) <<
                                         syncModeOffset) | (((uint16_t)loadMode &
                                        0x3U) << (uint16_t)aqModule)));
    }

    Would you please help check if this line can enable it?

    EPWM_setActionQualifierShadowLoadMode(myEPWM0_BASE, EPWM_ACTION_QUALIFIER_A, EPWM_AQ_LOAD_ON_CNTR_ZERO);

  • Hi Wayne,

    I will check and get back.

    Thanks,

    Ira

  • Hi Wayne,

    Which CCS Version are you using?

    Thanks,

    Ira

  • Hi Ira,

    I used CCS 20.4 to test.

    Does CCS version matter here?

  • Hi Wayne.

    It seems like it is a sysconfig code generation issue. I have raised a bug for it here https://jira.itg.ti.com/browse/PMUX-4772. Let's wait to hear from the Sys Config team.

    Thanks,

    Ira

  • Hi Ira,

    Do you have any update?

    Does TI internal confirm this is a bug and will fix it in the next release?

  • Hi Wayne,

    The Jira has not been assigned yet. I have reached out to the Sys Config team regarding it. I will update you once I hear from them.

    Thanks,

    Ira

  • Hi Wayne,

    This is a bug and is being tracked here [C2000DRIVERS-3366] Code generated for ePWMx Output Configuration always enables Shadow Mode - Texas Instruments JIRA.

    Closing this thread now, but please feel free to open a new thread to raise any subsequent issues.

    Thanks,

    Ira

  • Hi Ira,

    The user wonders when TI confirms to fix this.

    That is, can we confirm from what version of C2000ware and Sysconfig on TI will fix this?

    For example,

    C2000ware V26.1 + Sysconfig V1.28?

  • Hi Wayne,

    I am following up in the Jira Ticket.

    Thanks,

    Ira