aboutsummaryrefslogtreecommitdiff
path: root/applications/message_handler_openamp
diff options
context:
space:
mode:
Diffstat (limited to 'applications/message_handler_openamp')
-rw-r--r--applications/message_handler_openamp/core_driver_mutex.cpp13
-rw-r--r--applications/message_handler_openamp/message_handler.hpp6
2 files changed, 14 insertions, 5 deletions
diff --git a/applications/message_handler_openamp/core_driver_mutex.cpp b/applications/message_handler_openamp/core_driver_mutex.cpp
index 7948bd0..5f2e6cc 100644
--- a/applications/message_handler_openamp/core_driver_mutex.cpp
+++ b/applications/message_handler_openamp/core_driver_mutex.cpp
@@ -1,5 +1,5 @@
/*
- * SPDX-FileCopyrightText: Copyright 2022-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
+ * SPDX-FileCopyrightText: Copyright 2022-2024 Arm Limited and/or its affiliates <open-source-office@arm.com>
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the License); you may
@@ -24,11 +24,15 @@
#include <stdio.h>
extern "C" {
-
void *ethosu_mutex_create(void) {
return xSemaphoreCreateMutex();
}
+void ethosu_mutex_destroy(void *mutex) {
+ SemaphoreHandle_t handle = reinterpret_cast<SemaphoreHandle_t>(mutex);
+ vSemaphoreDelete(handle);
+}
+
int ethosu_mutex_lock(void *mutex) {
SemaphoreHandle_t handle = reinterpret_cast<SemaphoreHandle_t>(mutex);
if (xSemaphoreTake(handle, portMAX_DELAY) != pdTRUE) {
@@ -51,6 +55,11 @@ void *ethosu_semaphore_create(void) {
return xSemaphoreCreateCounting(255, 0);
}
+void ethosu_semaphore_destroy(void *sem) {
+ SemaphoreHandle_t handle = reinterpret_cast<SemaphoreHandle_t>(sem);
+ vSemaphoreDelete(handle);
+}
+
int ethosu_semaphore_take(void *sem, uint64_t timeout) {
SemaphoreHandle_t handle = reinterpret_cast<SemaphoreHandle_t>(sem);
if (xSemaphoreTake(handle, (TickType_t)timeout) != pdTRUE) {
diff --git a/applications/message_handler_openamp/message_handler.hpp b/applications/message_handler_openamp/message_handler.hpp
index ea8bc3e..4ff9328 100644
--- a/applications/message_handler_openamp/message_handler.hpp
+++ b/applications/message_handler_openamp/message_handler.hpp
@@ -45,9 +45,9 @@ struct Message {
rpmsg.header.msg_id = msgId;
}
- uint32_t src = 0;
- uint32_t length = 0;
- EthosU::ethosu_rpmsg rpmsg;
+ uint32_t src = 0;
+ uint32_t length = 0;
+ EthosU::ethosu_rpmsg rpmsg = {};
};
/*****************************************************************************