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.

TMS570LS3137: TMS570LS3137 PMU Reference

Part Number: TMS570LS3137
Other Parts Discussed in Thread: HALCOGEN

Hi,

I am using TMS570LS3137 in my project and generate code using HALCOGEM with self test controller enabled. I have below questions related to performance measurement unit (PMU):

1. I do not see _pmuInit_ function call in HALCOGEN generated code, but see PMU is used in errata_PBIST_4. Can you please help me to understand this?

2. i searched technical reference manual SPNU499C, spna138a and spna106d, could find any details of PMU. Can you please point me to the document/reference manual/datasheet where i can get details about PMU initialization and register details. i need these details to understand the code generated by HALCOGEN.

Thanks for your support.

Regards,

Kalyan

  • Hello Kalyan,
    Take a look of PBIST#4 workaround in errata document SPNZ195G: www.ti.com/.../spnz195g.pdf
    PMU is used to measure the execution time of the PBIST algorithm.
    All APIs for PMU can be found in sys_pmu.asm HALCoGen generated file.
    Description of PMU registers are in Cortex™-R4 and Cortex-R4F Technical Reference Manual:
    infocenter.arm.com/.../DDI0363G_cortex_r4_r1p4_trm.pdf

    Best regards,
    Miro
  • Hi Miro,

    Thanks for your inputs.

    On my first question " I do not see _pmuInit_ function call in HALCOGEN generated code, but see PMU is used in errata_PBIST_4. Can you please help me to understand this?" is the PMU working without initialization is that correct?



    i have a question related to errata_pbist_4. is there a way to test the failure of this self test? below is a code snipped of errata_PBIST_4 function generated from HALCOGEN:

    /* Check PBIST status results (Address, Status, Count, etc...) */
    if ((pbistREG->FSRA0 | pbistREG->FSRA1 | pbistREG->FSRDL0 | pbistREG->rsvd3 |
    pbistREG->FSRDL1 | pbistREG->rsvd4[0U] | pbistREG->rsvd4[1U]) != 0U)
    {
    /* PBIST Failure for the Algorithm chosen above */
    selftestFailNotification(PBISTSELFCHECK_FAIL1);
    }

    is there a way to simulate the scenario to get into this condition?

    Thanks,
    Kalyan

  • Hello,
    _pmuEnableCountersGlobal_() enables all counters including cycle counter and resets both event counters and cycle counter.
    In addition to this _pmuInit_ set event type of event counters.
    If there is a failure selfFailNotification will be called. See pbistSelfCheck as well.

    Best regards,
    Miro