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-EP: PPS0-7 Register Initialization

Part Number: TMS570LS3137-EP
Other Parts Discussed in Thread: HALCOGEN

I have a requirement to show registers for the following below are initialized, and i have to tie this initialization to code.

If the modules are disabled (power/clock/etc?) i can tie my requirement to where they are disabled in code.

I was able to successfully do this for PS0-PS23 using PSPWRDENSET0-PSPWRDWNSET2 (show that the clock was Enabled/Disabled, or for others via Power Domains).

I may just not be understanding something in the datasheet.

These are the items i am having a hard time finding where they are initialized/disabled/how to disable them?

On Table 2-3 Module Registers / Memories Memory Map:

Memory select items PPS0-PPS7:

Specific items:

  • STC
  • CCMR4
  • PBIST
  • DCC - not enabled in HALCOGEN Driver Enable Page
  • DMA
  • IOMM

  • Hi Arron,

      These are considered 'system' peripherals. They are always clocked. 

  • Hi Charles,

    Could you point me to where the control registers for these peripherals are initialized?

    Thanks,

    Aaron

  • Hi Aaron,

      In HalcoGen you can enable the STC/PBIST/CCMR4 in the SAFETY INIT tab. 

    After you generate the code, look in the sys_startup.c file and see how these modules are initialized. 

    STC:

      See how the cpuSelfTest() is called. In the cpuSelfTest() you can see how the STC module is initialized. 

    PBIST:

     See how the pbistSelfCheck() is called and how the PBIST module is initialized.

    CCMR4:

      This module does not have control registers to be initiated. It starts comparing the two CPUs immediately after the reset is released. There is a ccmSelfCheck() that you look to see how to put the CCM in a selftest mode.

    DCC:

      Look at dccInit() in the dcc.c file to see how the DCC module is initialized.

    DMA:

      HalcoGen has no support for DMA (e.g. GUI to configure for DMA operations). You will need to configure the DMA on your own. All the drivers are in the sys_dma.c file.

    IOMM:

      In HalcoGen under the PINMUX tab, you can configure what functional signals to be brought out to the device pins. Once you generate the code, the muxInit() (function in pinmux.c) is generated and called in the systemInit() (function in system.c) while the systemInit() is called in the sys_startup.c

  • Hi Charles,

    Thanks for your response.

    In Safety Init tab i have the following NOT CHECKED:

    Enable CPU self test

    Enable CCM self test

    How can i verify they are disabled? Where in code are they disabled?

  • Hi Aaron,

      If you have not checked the CPU and CCM selftest in the SAFETY INIT tab then the STC and CCM selftest are just not invoked at all. As I mentioned, the CCM is always active right after reset. You cannot disable it. It is defeating the safety diagnostic feature if there is a disable mechanism. 

      To enable STC you will need to write a 0xA to the STC_ENA bits. If you are reading 0x5 it means it is disabled

  • Charles,

    Thanks for your responses, this has resolved my issue.

    Thanks,

    Aaron