diff options
author | Kristofer Jonsson <kristofer.jonsson@arm.com> | 2022-04-01 15:41:06 +0200 |
---|---|---|
committer | Kristofer Jonsson <kristofer.jonsson@arm.com> | 2022-04-04 11:12:42 +0000 |
commit | d89ee0d46f849485484808e964d2d6f6ccb72158 (patch) | |
tree | 19d834ee03280d68bf5de1f7df5d0926f9cc668c | |
parent | adc908cb53df1538ce10018b72da3f4534eddd96 (diff) | |
download | ethos-u-core-platform-d89ee0d46f849485484808e964d2d6f6ccb72158.tar.gz |
Enable IRQs after Incoming Message Handler
Interrups must be enabled after the Incoming Message Handler has been
initialized, else we might loose interrupts that were enabled before
the firmware booted up.
Change-Id: I3c18c7ff4585329b54b18f7556757b2b3e8fbc35
-rw-r--r-- | applications/message_handler/main.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/applications/message_handler/main.cpp b/applications/message_handler/main.cpp index 8a36325..fa5f0b0 100644 --- a/applications/message_handler/main.cpp +++ b/applications/message_handler/main.cpp @@ -148,6 +148,13 @@ void inputMessageTask(void *pvParameters) { printf("Starting input message task\n"); IncomingMessageHandler process(*inputMessageQueue.toQueue(), mailbox, inferenceQueue, outputQueue); + +#ifdef MHU_IRQ + // Register mailbox interrupt handler + NVIC_SetVector((IRQn_Type)MHU_IRQ, (uint32_t)&mailboxIrqHandler); + NVIC_EnableIRQ((IRQn_Type)MHU_IRQ); +#endif + process.run(); } @@ -166,12 +173,6 @@ void outputMessageTask(void *pvParameters) { int main() { BaseType_t ret; -#ifdef MHU_IRQ - // Register mailbox interrupt handler - NVIC_SetVector((IRQn_Type)MHU_IRQ, (uint32_t)&mailboxIrqHandler); - NVIC_EnableIRQ((IRQn_Type)MHU_IRQ); -#endif - if (!mailbox.verifyHardware()) { printf("Failed to verify mailbox hardware\n"); return 1; |