# Copyright (c) 2021, Intel Corporation # # SPDX-License-Identifier: Apache-2.0 if (CONFIG_PERCEPIO_TRACERECORDER OR CONFIG_PERCEPIO_DFM) zephyr_library() endif() if(CONFIG_PERCEPIO_TRACERECORDER) set(TRACERECORDER_DIR ${ZEPHYR_CURRENT_MODULE_DIR}/TraceRecorder) zephyr_library_sources_ifdef( CONFIG_PERCEPIO_TRACERECORDER ${TRACERECORDER_DIR}/kernelports/Zephyr/trcKernelPort.c ${TRACERECORDER_DIR}/trcAssert.c ${TRACERECORDER_DIR}/trcCounter.c ${TRACERECORDER_DIR}/trcDiagnostics.c ${TRACERECORDER_DIR}/trcEntryTable.c ${TRACERECORDER_DIR}/trcError.c ${TRACERECORDER_DIR}/trcEvent.c ${TRACERECORDER_DIR}/trcEventBuffer.c ${TRACERECORDER_DIR}/trcExtension.c ${TRACERECORDER_DIR}/trcHardwarePort.c ${TRACERECORDER_DIR}/trcHeap.c ${TRACERECORDER_DIR}/trcInternalEventBuffer.c ${TRACERECORDER_DIR}/trcInterval.c ${TRACERECORDER_DIR}/trcISR.c ${TRACERECORDER_DIR}/trcMultiCoreEventBuffer.c ${TRACERECORDER_DIR}/trcObject.c ${TRACERECORDER_DIR}/trcPrint.c ${TRACERECORDER_DIR}/trcStackMonitor.c ${TRACERECORDER_DIR}/trcStateMachine.c ${TRACERECORDER_DIR}/trcStaticBuffer.c ${TRACERECORDER_DIR}/trcStreamingRecorder.c ${TRACERECORDER_DIR}/trcString.c ${TRACERECORDER_DIR}/trcTask.c ${TRACERECORDER_DIR}/trcTimestamp.c ${TRACERECORDER_DIR}/trcDependency.c ${TRACERECORDER_DIR}/trcRunnable.c ) if(CONFIG_PERCEPIO_TRC_CFG_STREAM_PORT_RTT) zephyr_library_sources( ${TRACERECORDER_DIR}/streamports/Jlink_RTT/trcStreamPort.c ) zephyr_include_directories( ${TRACERECORDER_DIR}/kernelports/Zephyr/streamports/Jlink_RTT/config/ ${TRACERECORDER_DIR}/streamports/Jlink_RTT/include/ ) endif() if(CONFIG_PERCEPIO_TRC_CFG_STREAM_PORT_ITM) zephyr_library_sources( ${TRACERECORDER_DIR}/streamports/ARM_ITM/trcStreamPort.c ) zephyr_include_directories( ${TRACERECORDER_DIR}/kernelports/Zephyr/streamports/ARM_ITM/config/ ${TRACERECORDER_DIR}/streamports/ARM_ITM/include/ ) endif() if(CONFIG_PERCEPIO_TRC_CFG_STREAM_PORT_RINGBUFFER) zephyr_library_sources( ${TRACERECORDER_DIR}/streamports/RingBuffer/trcStreamPort.c ) zephyr_include_directories( ${TRACERECORDER_DIR}/kernelports/Zephyr/streamports/RingBuffer/config/ ${TRACERECORDER_DIR}/streamports/RingBuffer/include/ ) endif() if(CONFIG_PERCEPIO_TRC_CFG_STREAM_PORT_FILE) zephyr_library_sources( ${TRACERECORDER_DIR}/streamports/File/trcStreamPort.c ) zephyr_include_directories( ${TRACERECORDER_DIR}/kernelports/Zephyr/streamports/File/config/ ${TRACERECORDER_DIR}/streamports/File/include/ ) endif() if (CONFIG_PERCEPIO_TRC_CFG_STREAM_PORT_ZEPHYR_SEMIHOST) zephyr_library_sources( ${TRACERECORDER_DIR}/kernelports/Zephyr/streamports/Semihost/trcStreamPort.c ) zephyr_include_directories( ${TRACERECORDER_DIR}/kernelports/Zephyr/streamports/Semihost/config ${TRACERECORDER_DIR}/kernelports/Zephyr/streamports/Semihost/include ) endif() zephyr_include_directories( ${TRACERECORDER_DIR}/kernelports/Zephyr/include ${TRACERECORDER_DIR}/kernelports/Zephyr/config ${TRACERECORDER_DIR}/kernelports/Zephyr/config/core ${TRACERECORDER_DIR}/include ) set_property(GLOBAL APPEND PROPERTY extra_post_build_commands COMMAND ${PYTHON_EXECUTABLE} ${TRACERECORDER_DIR}/kernelports/Zephyr/scripts/tz_parse_syscalls.py ${CMAKE_BINARY_DIR} ${ZEPHYR_BASE} ) endif() if(CONFIG_PERCEPIO_DFM) set(DFM_DIR ${ZEPHYR_CURRENT_MODULE_DIR}/DFM) zephyr_library_sources( ${DFM_DIR}/dfm.c ${DFM_DIR}/dfmAlert.c ${DFM_DIR}/dfmCloud.c ${DFM_DIR}/dfmEntry.c ${DFM_DIR}/dfmSession.c ${DFM_DIR}/dfmStorage.c ${DFM_DIR}/dfmRetainedMemory.c ${DFM_DIR}/kernelports/Zephyr/dfmKernelPort.c ) if(CONFIG_PERCEPIO_DFM_CFG_STORAGEPORT_NONE) zephyr_library_sources( ${DFM_DIR}/storageports/Dummy/dfmStoragePort.c ) zephyr_include_directories( ${DFM_DIR}/storageports/Dummy/include/ ) endif() if(CONFIG_PERCEPIO_DFM_CFG_STORAGEPORT_FLASH) zephyr_library_sources( ${DFM_DIR}/kernelports/Zephyr/storageports/Flash/dfmStoragePort.c ) zephyr_include_directories( ${DFM_DIR}/kernelports/Zephyr/storageports/Flash/include/ ) endif() if(CONFIG_PERCEPIO_DFM_CFG_STORAGEPORT_FILESYSTEM) zephyr_library_sources( ${DFM_DIR}/kernelports/Zephyr/storageports/Filesystem/dfmStoragePort.c ) zephyr_include_directories( ${DFM_DIR}/kernelports/Zephyr/storageports/Filesystem/include/ ) endif() if(CONFIG_PERCEPIO_DFM_CFG_CLOUDPORT_NONE) zephyr_library_sources( ${DFM_DIR}/cloudports/Dummy/dfmCloudPort.c ) zephyr_include_directories( ${DFM_DIR}/cloudports/Dummy/include/ ) endif() if(CONFIG_PERCEPIO_DFM_CFG_CLOUDPORT_SERIAL) zephyr_library_sources( ${DFM_DIR}/kernelports/Zephyr/cloudports/Serial/dfmCloudPort.c ) zephyr_include_directories( ${DFM_DIR}/kernelports/Zephyr/cloudports/Serial/config/ ${DFM_DIR}/kernelports/Zephyr/cloudports/Serial/include/ ) endif() if(CONFIG_PERCEPIO_DFM_CFG_RETAINED_MEMORY) zephyr_library_sources( ${DFM_DIR}/kernelports/Zephyr/dfmRetainedMemoryPort.c ) endif() zephyr_include_directories( ${DFM_DIR}/kernelports/Zephyr/config ${DFM_DIR}/kernelports/Zephyr/include ${DFM_DIR}/include ) endif()