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.

AM2634: SDL_ESM_config groups, interrupts, and bitmaps

Part Number: AM2634

Hello,

I am working with SDK version mcu_plus_sdk_am263x_08_05_00_24 and attempting to initialize the ESM in our project. I am hoping for clarification on the following initialization configuration types: 

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/** ---------------------------------------------------------------------------
* \brief ESM error configuration
*
* This structure defines the elements ESM error configuration
* ----------------------------------------------------------------------------
*/
typedef struct SDL_ESM_Errorconfig_s
{
uint32_t groupNumber;
/**< Group number of error event */
uint32_t bitNumber;
/**< Bit number within the group */
} SDL_ESM_ErrorConfig_t;
/** ---------------------------------------------------------------------------
* \brief ESM init configuration
*
* This structure defines ESM Init configuration
* ----------------------------------------------------------------------------
*/
typedef struct SDL_ESM_InitConfig_s
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Specifically documentation explaining the mapping of groupNumber, bitNumber, and the three bitmaps in the SDL_ESM_InitConfig_s structure.

  • Hi,

    I am looking into this thread, will come back once I check with the internal team.

    Thanks,
    G Kowshik

  • The following configuration is taken directly from  "sdl_rti_example_uc1_am263x-cc_r5fss0-0_nortos_ti-arm-clang" example project: 

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    SDL_ESM_config RTI_Test_esmInitConfig_MAIN =
    {
    .esmErrorConfig = {1u, 8u}, /* Self test error config */
    .enableBitmap = {0x00000000u, 0x00000000u, 0x00000001u, 0x00000000u,
    0x00000000u, 0x00000000u, 0x00000000u,0x00000000u},
    /**< All events enable: except clkstop events for unused clocks
    * and PCIE events */
    /* CCM_1_SELFTEST_ERR and _R5FSS1_COMPARE_ERR_PULSE_0 */
    .priorityBitmap = {0x00000000u, 0x00000000u, 0x00000001u, 0x00000000u,
    0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u},
    /**< All events high priority: except clkstop events for unused clocks
    * and PCIE events */
    .errorpinBitmap = {0x00000000u, 0x00000000u, 0x00000001u, 0x00000000u,
    0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u},
    /**< All events high priority: except clkstop for unused clocks
    * and PCIE events */
    };
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Referencing the Table 10-22 from the TRM: WWDT0 Interrupt Source corresponds to Interrupt ID 0 of the Pulse Interrupts, and based on the above code bit 64 of the enableBitmap, priorityBitmap, and errorpinBitmap.

    Is the following mapping accurate?

    Bitmap Word = InterruptID / 32

    Bitmap Bit = InterruptID % 32 

    e.g. To enable the CCM_1_lockstep_compare_err interrupt source the following configuration bitmaps would be set: 

    Fullscreen
    1
    2
    3
    4
    5
    6
    .enableBitmap = {0x00000000u, 0x00000000u, 0x00400000u, 0x00000000u,
    0x00000000u, 0x00000000u, 0x00000000u,0x00000000u},
    .priorityBitmap = {0x00000000u, 0x00000000u, 0x00400000u, 0x00000000u,
    0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u},
    .errorpinBitmap = {0x00000000u, 0x00000000u, 0x00400000u, 0x00000000u,
    0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u},
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    It is unclear why the RTI_Test_esmInitConfig_MAIN.esmErrorConfig values are set to {1u, 8u} for this example (i.e. group 1 and bit 8). Where are the esmErrorConfig group and bit values described in the documentation?