laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/28330 )
Change subject: HACK: dump enabled interrupts and priorities during startup ......................................................................
HACK: dump enabled interrupts and priorities during startup
Change-Id: I6a19aaa8674fa510e4e346cd14a3545f7bfcc838 --- M firmware/libcommon/source/mode_cardemu.c 1 file changed, 32 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/30/28330/1
diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c index 7f52647..694377a 100644 --- a/firmware/libcommon/source/mode_cardemu.c +++ b/firmware/libcommon/source/mode_cardemu.c @@ -584,6 +584,35 @@ TRACE_ENTRY(); }
+struct relevant_irq { + uint32_t irq; + uint32_t prio; + const char *name; +}; +static const struct relevant_irq relevant_irqs[] = { + { UDP_IRQn, 14, "USB" }, + { CONSOLE_IRQ, 15, "CONSOLE" }, + { FIRST_USART_IRQ, 0, "7816_0" }, +#ifdef CARDEMU_SECOND_UART + { USART0_IRQn, 0, "7816_1" }, +#endif +#ifdef DETECT_VCC_BY_ADC + { ADC_IRQn, 13, "ADC" }, +#endif + { PIOA_IRQn, 10, "PIOA" }, + { PIOB_IRQn, 10, "PIOB" }, + { PIOC_IRQn, 10, "PIOC" }, +}; +void dump_irq_prios(void) +{ + printf("Interrupt Enable Mask (ISER): %08x%08x\n\r", NVIC->ISER[1], NVIC->ISER[0]); + for (unsigned int i = 0; i < ARRAY_SIZE(relevant_irqs); i++) { + const struct relevant_irq *ri = &relevant_irqs[i]; + printf("IRQ prio %02u (%s): current=%u, expected=%u\r\n", ri->irq, ri->name, + NVIC_GetPriority(ri->irq), ri->prio); + } +} + /* called if config is activated */ void mode_cardemu_init(void) { @@ -653,6 +682,9 @@ sim_switch_use_physical(1, 1); /* TODO check RST and VCC */ #endif /* CARDEMU_SECOND_UART */ + + dump_irq_prios(); + }
/* called if config is deactivated */