laforge has submitted this change. ( 
https://gerrit.osmocom.org/c/simtrace2/+/26995 )

Change subject: cardem: set more reasonable interrupt priorities
......................................................................

cardem: set more reasonable interrupt priorities

the ISO7816 UARTs have highest priority, while console has lowest.

remaining sources (USB, ADC, GPIO) are in between.

Change-Id: Ie6c97d61d8da3990b6e44144f36cb6d37d194307
---
M firmware/apps/cardem/main.c
M firmware/libboard/common/source/uart_console.c
M firmware/libcommon/source/mode_cardemu.c
3 files changed, 7 insertions(+), 1 deletion(-)

Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved



diff --git a/firmware/apps/cardem/main.c b/firmware/apps/cardem/main.c
index d212d2a..347ccbd 100644
--- a/firmware/apps/cardem/main.c
+++ b/firmware/apps/cardem/main.c
@@ -155,7 +155,7 @@
        WDT_Enable(WDT, WDT_MR_WDRSTEN | WDT_MR_WDDBGHLT | WDT_MR_WDIDLEHLT |
                   (WDT_GetPeriod(2000) << 16) | WDT_GetPeriod(2000));

-       PIO_InitializeInterrupts(0);
+       PIO_InitializeInterrupts(10);

        print_banner();
        board_main_top();
diff --git a/firmware/libboard/common/source/uart_console.c 
b/firmware/libboard/common/source/uart_console.c
index bcfb0b7..ead5555 100644
--- a/firmware/libboard/common/source/uart_console.c
+++ b/firmware/libboard/common/source/uart_console.c
@@ -100,6 +100,7 @@

        /* Enable TX interrupts */
        pUart->UART_IER = UART_IER_TXRDY;
+       NVIC_SetPriority(CONSOLE_IRQ, 15); /* lowest priority */
        NVIC_EnableIRQ(CONSOLE_IRQ);

        /* Enable receiver and transmitter */
diff --git a/firmware/libcommon/source/mode_cardemu.c 
b/firmware/libcommon/source/mode_cardemu.c
index 2a8e477..7fd069a 100644
--- a/firmware/libcommon/source/mode_cardemu.c
+++ b/firmware/libcommon/source/mode_cardemu.c
@@ -470,6 +470,7 @@
        ADC->ADC_CHER |= ADC_CHER_CH6;
        ADC->ADC_IER |= ADC_IER_EOC6;
 #endif
+       NVIC_SetPriority(ADC_IRQn, 13);
        NVIC_EnableIRQ(ADC_IRQn);
        ADC->ADC_CR |= ADC_CR_START;

@@ -573,6 +574,8 @@

        TRACE_ENTRY();

+       NVIC_SetPriority(UDP_IRQn, 14);
+
 #ifdef PINS_CARDSIM
        PIO_Configure(pins_cardsim, PIO_LISTSIZE(pins_cardsim));
 #endif
@@ -586,6 +589,7 @@

        /* configure USART as ISO-7816 slave (e.g. card) */
        ISO7816_Init(&cardem_inst[0].usart_info, CLK_SLAVE);
+       NVIC_SetPriority(FIRST_USART_IRQ, 0);
        NVIC_EnableIRQ(FIRST_USART_IRQ);
        PIO_ConfigureIt(&pin_usim1_rst, usim1_rst_irqhandler);
        PIO_EnableIt(&pin_usim1_rst);
@@ -613,6 +617,7 @@
        PIO_Configure(pins_usim2, PIO_LISTSIZE(pins_usim2));
        ISO7816_Init(&cardem_inst[1].usart_info, CLK_SLAVE);
        /* TODO enable timeout */
+       NVIC_SetPriority(USART0_IRQn, 0);
        NVIC_EnableIRQ(USART0_IRQn);
        PIO_ConfigureIt(&pin_usim2_rst, usim2_rst_irqhandler);
        PIO_EnableIt(&pin_usim2_rst);

--
To view, visit https://gerrit.osmocom.org/c/simtrace2/+/26995
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: simtrace2
Gerrit-Branch: master
Gerrit-Change-Id: Ie6c97d61d8da3990b6e44144f36cb6d37d194307
Gerrit-Change-Number: 26995
Gerrit-PatchSet: 3
Gerrit-Owner: laforge <[email protected]>
Gerrit-Reviewer: Hoernchen <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: lynxis lazus <[email protected]>
Gerrit-MessageType: merged

Reply via email to