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.

LAUNCHXL2-RM57L: DCC error reporting to the ESM

Part Number: LAUNCHXL2-RM57L
Other Parts Discussed in Thread: HALCOGEN

Hi,

I have created a error in the DCC which I checked by looking at the DCCSTAT1 register.

But,an ESM error Group1 Channel30  indicating a DCC 1 error is not set.

Is there settings in the DCC or ESM that I need to set up before the DCC reports to the ESM?

I saw this related question https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/583473/tms570ls3137-dcc-error-report-to-esm

The answer to that question was that they did not call DccInit(). However, I have that already in my code.

Any help would be appreciated.

Thanks

  • Hi Phadon,

    If _coreEnableEventBusExport_(); is called in your _c_int00(), the CPU event should be exported to ESM. 

    The export is not enabled by default, but it is enabled in HAlCoGen generated startup code. Please double check it.

  • I just checked it, _coreEnableEventBusExport_() is called in our c_int00(). I can see it being executed while stepping through with the debugger. Is there anything else I can check? Alternatively what is the correct process for detecting DCC error events with the ESM?

  • Hi Phadon,

    Did a test on RM57 HDK, and ESM 1.30 flag is set.

    HL_dcc.c
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    /** @file HL_dcc.c
    * @brief DCC Driver Implementation File
    * @date 11-Dec-2018
    * @version 04.07.01
    *
    */
    /*
    * Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com
    *
    *
    * Redistribution and use in source and binary forms, with or without
    * modification, are permitted provided that the following conditions
    * are met:
    *
    * Redistributions of source code must retain the above copyright
    * notice, this list of conditions and the following disclaimer.
    *
    * Redistributions in binary form must reproduce the above copyright
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • HL_dcc.c is generated by HALCoGen. The only thing I changed is to shorten the valid window in dccInit():

    /** DCC1 Clock0 Valid Counter Seed value configuration */
    dccREG1->VALID0SEED = 79U; //792

  • Hi QJ Wang,

    I had a look through your hl_dcc.c code and found that you had the error interrupt enable on for the GCTRL registers. Turning that on fixed my issue and the ESM now picks up the DCC clock error.

    I was initially thinking that the error interrupt was to be sent to the VIM, but is that error interrupt enable purely for the ESM to pick up the DCC clock error?

  • The VIM channels 82 and 83 are for the "Done" states for the two DCC modules.

    The DCC1 error signal is mapped to the Error Signaling Module's group1 channel 30. You need to enable DCC1 Error Interrupt to report the error to ESM. To generate DCC Error interrupt, you need to enable interrupt generation for this ESM group1 channel using the ESMIESR1 register at address 0xFFFFF508.