工具/软件:
如何使用 SDL_ESM_CONFIG 来配置 ESM 参数? 哪个位映射到哪个 ESM 事件?
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.
工具/软件:
如何使用 SDL_ESM_CONFIG 来配置 ESM 参数? 哪个位映射到哪个 ESM 事件?
您好、
请查看下面随附的配置:
static SDL_ESM_config ECC_Test_esmInitConfig_WKUP = { .esmErrorConfig = {0u, 3u}, /* Self test error config */ .enableBitmap = {0x0000c700u, 0x00000000u, 0x00000007u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, }, .priorityBitmap = {0x0000c700u, 0x00000030u, 0x00000005u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, }, .errorpinBitmap = {0x00000000u, 0x00000000u, 0x00000005u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, }, };
我已启用下表中列出的以下事件编号-
组编号 | 中断 ID | 事件名称 |
---|---|---|
0 (事件0-31) |
8. | WKUP_VTM0_THERM_LVL_GT_TH1_INTR_0 |
9. | WKUP_VTM0_THERM_LVL_LT_TH0_INTR_0 | |
10. | WKUP_VTM0_THERM_LVL_GT_TH2_INTR_0 | |
14 | WKUP_ECC_AGGR0_CORR_LEVEL_0 | |
15 | WKUP_ECC_AGGR0_Uncorr_LEVEL_0 | |
2. (事件64-95) |
64 | WKUP_PRG_MCU_3POKS0_POK_PGOOD_UV_OUT_N_TO_ESM_OUT_0 |
65 | WKUP_PRG_MCU_3POKS0_POK_PGOOD_OV_OUT_N_TO_ESM_OUT_0 | |
66 | WKUP_PRG_MCU_3POKS0_POK_PGOOD_UV_OUT_N_TO_ESM_OUT_1 |
正如我之前提到的、中的每个条目 enableBitmap 结构表示一个 ESM 组(一组32个事件)。 32位中的每一位对应于一个不同的事件。 要启用特定事件、您只需将该事件对应的位设置为1。 在以上示例中、我启用了组0中的事件8、9、10、14和15。 如果您查看 enableBitmap 的第一个条目(即0xc700)、您将看到事件8、9、10、14和15的位已设置、从而启用我突出显示的 ESM 事件。 同样、事件64、65和66将是组2的一部分(64/32 = 2)、而对应于组2的64、65和66的位0、1和2设置为0x7。
为了将这些事件映射到 ERRORn 引脚、您必须将中的相同位设置为1 errorpinBitmap 字段中。
使用。 esmErrorConfig 是在执行 ESM 自检时可以使用的东西。 它对 ESM 的常规编程没有用处。 ESM 模块可以使用其中的任何一个设置、如果发生指示自检完成的错误事件、它将设置一个特殊标志。 您可以选择您想要的任何事件。 我们会在用例中选择一些未使用的事件、以避免干扰正常运行或可能发生的实际错误事件。 这就是为什么设置3u 和8u 等值的原因。
此致、
Josiitaa