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.
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:
/** --------------------------------------------------------------------------- * \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 { SDL_ESM_ErrorConfig_t esmErrorConfig; /**< Error event to be used for self test */ uint32_t enableBitmap[SDL_ESM_MAX_EVENT_MAP_NUM_WORDS]; /**< ESM Event bitmap */ uint32_t priorityBitmap[SDL_ESM_MAX_EVENT_MAP_NUM_WORDS]; /**< ESM Event Priority bitmap */ uint32_t errorpinBitmap[SDL_ESM_MAX_EVENT_MAP_NUM_WORDS]; /**< ESM bitmap for driving error pin: When selected error event occurs * the error output pin will be asserted * It is the application responsibility to reset the error * if the system did not crash or lockup */ uint32_t pinmininterval; } SDL_ESM_config;
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
Hi,
Please refer below documentation for ESM:
https://software-dl.ti.com/mcu-plus-sdk/esd/AM263X/08_05_00_24/exports/docs/api_guide_am263x/SDL_ESM_PAGE.html
MCU+SDK also has examples on ESM usage:
https://software-dl.ti.com/mcu-plus-sdk/esd/AM263X/08_05_00_24/exports/docs/api_guide_am263x/EXAMPLES_SDL_ECC_MCAN.html
Thanks and Regards,
Vishwanath Reddy.
The following configuration is taken directly from "sdl_rti_example_uc1_am263x-cc_r5fss0-0_nortos_ti-arm-clang" example project:
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 */ };
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:
.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},
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?