aboutsummaryrefslogtreecommitdiff
path: root/applications
diff options
context:
space:
mode:
authorKristofer Jonsson <kristofer.jonsson@arm.com>2022-04-01 15:41:06 +0200
committerKristofer Jonsson <kristofer.jonsson@arm.com>2022-04-04 11:12:42 +0000
commitd89ee0d46f849485484808e964d2d6f6ccb72158 (patch)
tree19d834ee03280d68bf5de1f7df5d0926f9cc668c /applications
parentadc908cb53df1538ce10018b72da3f4534eddd96 (diff)
downloadethos-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
Diffstat (limited to 'applications')
-rw-r--r--applications/message_handler/main.cpp13
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;