diff options
author | Kristofer Jonsson <kristofer.jonsson@arm.com> | 2023-02-08 14:23:00 +0100 |
---|---|---|
committer | Kristofer Jonsson <kristofer.jonsson@arm.com> | 2023-02-08 14:44:01 +0100 |
commit | 3f5510fa3444217a442ac2e63ae50b27c9c26cf3 (patch) | |
tree | dbf2f8bb631af6e3a67d512835e17395e8e07704 /applications/message_handler_openamp/CMakeLists.txt | |
parent | 87f6f7ebf5a51be7c819503894f486d05f2a8b31 (diff) | |
download | ethos-u-core-platform-3f5510fa3444217a442ac2e63ae50b27c9c26cf3.tar.gz |
Updating message handler firmware23.02-rc1
The 'message handler' firmware was based on a custom interface between
Linux and the firmware. Because the kernel driver has been converted
into a rpmsg driver, the 'message handler' application has been updated
into an OpenAMP based firmware.
Change-Id: I1339180c4f53cbad42501a2827863b7b49561ff4
Diffstat (limited to 'applications/message_handler_openamp/CMakeLists.txt')
-rw-r--r-- | applications/message_handler_openamp/CMakeLists.txt | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/applications/message_handler_openamp/CMakeLists.txt b/applications/message_handler_openamp/CMakeLists.txt new file mode 100644 index 0000000..f2624c3 --- /dev/null +++ b/applications/message_handler_openamp/CMakeLists.txt @@ -0,0 +1,76 @@ +# +# SPDX-FileCopyrightText: Copyright 2022-2023 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 +# not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an AS IS BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +if(NOT TARGET freertos_kernel) + message("Skipping message handler openamp") + return() +endif() + +############################################################################# +# Configuration +############################################################################# + +set(MESSAGE_HANDLER_MODEL_0 "" CACHE STRING "Path to built in model 0") +set(MESSAGE_HANDLER_MODEL_1 "" CACHE STRING "Path to built in model 1") +set(MESSAGE_HANDLER_MODEL_2 "" CACHE STRING "Path to built in model 2") +set(MESSAGE_HANDLER_MODEL_3 "" CACHE STRING "Path to built in model 3") + +set(MESSAGE_HANDLER_ARENA_SIZE 2000000 CACHE STRING "Total size of all message handler tensor arenas") + +############################################################################# +# TFLM arena +############################################################################# + +# Split total tensor arena equally for each NPU +if(TARGET ethosu_core_driver AND ETHOSU_TARGET_NPU_COUNT GREATER 0) + set(NUM_ARENAS ${ETHOSU_TARGET_NPU_COUNT}) +else() + set(NUM_ARENAS 1) +endif() + +math(EXPR TENSOR_ARENA_SIZE "${MESSAGE_HANDLER_ARENA_SIZE} / ${NUM_ARENAS}") + +############################################################################# +# Message handler application +############################################################################# + +ethosu_add_executable(message_handler_openamp + SOURCES + main.cpp + core_driver_mutex.cpp + freertos_allocator.cpp + inference_runner.cpp + message_handler.cpp + remoteproc.cpp + LIBRARIES + $<$<TARGET_EXISTS:ethosu_core_driver>:ethosu_core_driver> + ethosu_log + ethosu_mailbox + freertos_kernel + inference_process + openamp-freertos) + +target_include_directories(message_handler_openamp PRIVATE + ${LINUX_DRIVER_STACK_PATH}/kernel) + +target_compile_definitions(message_handler_openamp PRIVATE + TENSOR_ARENA_SIZE=${TENSOR_ARENA_SIZE} + $<$<BOOL:${MESSAGE_HANDLER_MODEL_0}>:MODEL_0=${MESSAGE_HANDLER_MODEL_0}> + $<$<BOOL:${MESSAGE_HANDLER_MODEL_1}>:MODEL_1=${MESSAGE_HANDLER_MODEL_1}> + $<$<BOOL:${MESSAGE_HANDLER_MODEL_2}>:MODEL_2=${MESSAGE_HANDLER_MODEL_2}> + $<$<BOOL:${MESSAGE_HANDLER_MODEL_3}>:MODEL_3=${MESSAGE_HANDLER_MODEL_3}>) |