diff options
Diffstat (limited to 'applications/message_handler_openamp')
-rw-r--r-- | applications/message_handler_openamp/core_driver_mutex.cpp | 13 | ||||
-rw-r--r-- | applications/message_handler_openamp/message_handler.hpp | 6 |
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 = {}; }; /***************************************************************************** |