SPRAD65 December 2022 TDA4VM , TDA4VM-Q1
diff --git a/tidl_j7_01_03_00_11/makerules/config.mk b/tidl_j7_01_03_00_11/makerules/config.mk
index 6a67f858..af1c084e 100644
--- a/tidl_j7_01_03_00_11/makerules/config.mk
+++ b/tidl_j7_01_03_00_11/makerules/config.mk
@@ -99,20 +99,20 @@ BUILD_LIDAR_PREPROC ?= 0
ifdef SystemRoot
PSDK_INSTALL_PATH ?= C:\ti
else
-PSDK_INSTALL_PATH ?= /ti/j7presi/workarea/
+PSDK_INSTALL_PATH = $(pwd)/../../
endif
ifdef SystemRoot
-BIOS_PATH ?="$(PSDK_INSTALL_PATH)\bios_6_83_02_07"
-XDCTOOLS_PATH ?="$(PSDK_INSTALL_PATH)\xdctools_3_61_04_40_core"
+BIOS_PATH ?="$(PSDK_INSTALL_PATH)\bios_6_83_00_18"
+XDCTOOLS_PATH ?="$(PSDK_INSTALL_PATH)\xdctools_3_61_03_29_core"
IVISION_PATH ?="$(PSDK_INSTALL_PATH)\ivision"
UTILS_PATH ?="$(PSDK_INSTALL_PATH)\ccs910\ccs\utils\cygwin"
TIDL_PROTOBUF_PATH ?="$(PSDK_INSTALL_PATH)\protobuf-3.11.3_msvc_2015_x64"
TIDL_OPENCV_PATH ?=$(PSDK_INSTALL_PATH)\opencv_3.1.0_msvc_2015_x64\opencv\sources
-DSP_TOOLS ?=$(PSDK_INSTALL_PATH)\ti-cgt-c7000_3.0.0.STS
+DSP_TOOLS ?=$(PSDK_INSTALL_PATH)\ti-cgt-c7000_1.4.0.LTS
TIDL_FLATBUF_PATH ?=$(PSDK_INSTALL_PATH)\flatbuffers-1.12.0
-MMALIB_PATH ?=$(PSDK_INSTALL_PATH)\mmalib_02_04_00_05
-PDK_INSTALL_PATH ?=$(PSDK_INSTALL_PATH)\pdk_jacinto_08_04_00_21\packages
+MMALIB_PATH ?=$(PSDK_INSTALL_PATH)\mmalib_01_03_00_06
+PDK_INSTALL_PATH ?=$(PSDK_INSTALL_PATH)\pdk_jacinto_07_01_00_45\packages
CONCERTO_ROOT ?=$(PSDK_INSTALL_PATH)\vision_apps\concerto
TIOVX_PATH ?=$(PSDK_INSTALL_PATH)\tiovx
VISION_APPS_PATH ?=$(PSDK_INSTALL_PATH)\vision_apps
@@ -122,12 +122,12 @@ TIDL_GRAPHVIZ_PATH ?="$(PSDK_INSTALL_PATH)\graphviz-2.38_x64"
CUDA_PATH ?= "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.0/"
CUDNN_PATH ?= "D:/work/cuDNN/cudnn-9.0-v7.0/"
else
-BIOS_PATH ?="$(PSDK_INSTALL_PATH)/bios_6_83_02_07"
-XDCTOOLS_PATH ?="$(PSDK_INSTALL_PATH)/xdctools_3_61_04_40_core"
+BIOS_PATH ?="$(PSDK_INSTALL_PATH)/bios_6_83_00_18"
+XDCTOOLS_PATH ?="$(PSDK_INSTALL_PATH)/xdctools_3_61_03_29_core"
IVISION_PATH ?="$(PSDK_INSTALL_PATH)/ivision"
-DSP_TOOLS ?="$(PSDK_INSTALL_PATH)/ti-cgt-c7000_3.0.0.STS"
-MMALIB_PATH ?="$(PSDK_INSTALL_PATH)/mmalib_02_04_00_05"
-PDK_INSTALL_PATH ?="$(PSDK_INSTALL_PATH)/pdk_jacinto_08_04_00_21/packages"
+DSP_TOOLS ?="$(PSDK_INSTALL_PATH)/ti-cgt-c7000_1.4.0.LTS"
+MMALIB_PATH ?="$(PSDK_INSTALL_PATH)/mmalib_01_03_00_06"
+PDK_INSTALL_PATH ?="$(PSDK_INSTALL_PATH)/pdk_jacinto_07_01_00_45/packages"
CONCERTO_ROOT ?=$(PSDK_INSTALL_PATH)/vision_apps/concerto
TIOVX_PATH ?=$(PSDK_INSTALL_PATH)/tiovx
VISION_APPS_PATH ?=$(PSDK_INSTALL_PATH)/vision_apps
@@ -161,7 +161,7 @@ CORE ?= dsp
# Default RTOS is FREERTOS
# Supported values: FREERTOS, SYSBIOS
-RTOS ?= FREERTOS
+RTOS ?= SYSBIOS
diff --git a/vision_apps/apps/basic_demos/app_tirtos/concerto_c7x_inc.mak b/vision_apps/apps/basic_demos/app_tirtos/concerto_c7x_inc.mak
index 4c30e077..38530b96 100755
--- a/vision_apps/apps/basic_demos/app_tirtos/concerto_c7x_inc.mak
+++ b/vision_apps/apps/basic_demos/app_tirtos/concerto_c7x_inc.mak
@@ -17,8 +17,8 @@ LDIRS += $(PDK_PATH)/packages/ti/drv/sciclient/lib/j721e/c7x_1/$(TARGET_BUILD)/
LDIRS += $(TIOVX_PATH)/lib/$(TARGET_PLATFORM)/$(TARGET_CPU)/$(TARGET_OS)/$(TARGET_BUILD)
LDIRS += $(PTK_PATH)/lib/$(TARGET_PLATFORM)/$(TARGET_CPU)/$(TARGET_OS)/$(TARGET_BUILD)
LDIRS += $(VISION_APPS_PATH)/lib/$(TARGET_PLATFORM)/$(TARGET_CPU)/$(TARGET_OS)/$(TARGET_BUILD)
-LDIRS += $(MMALIB_PATH)/lib/release
-LDIRS += $(TIDL_PATH)/lib/dsp/algo/release
+LDIRS += $(MMALIB_PATH)/lib/C7100/release
+LDIRS += $(TIDL_PATH)/lib/j721e/dsp/algo/release
STATIC_LIBS += app_utils_mem
STATIC_LIBS += app_utils_console_io
TIOVX has made some upgrade changes in version 8.4 compared to version 7.1, so it needs to be modified to adapt to 7.1.
diff --git a/tidl_j7_01_03_00_11/ti_dl/rt/src/a72/concerto.mak b/tidl_j7_01_03_00_11/ti_dl/rt/src/a72/concerto.mak
index 33c15839..978f94da 100644
--- a/tidl_j7_01_03_00_11/ti_dl/rt/src/a72/concerto.mak
+++ b/tidl_j7_01_03_00_11/ti_dl/rt/src/a72/concerto.mak
@@ -20,20 +20,18 @@ LDIRS += $(LINUX_FS_PATH)/usr/lib
TIOVX_LIBS =
TIOVX_LIBS += vx_framework
-TIOVX_LIBS += vx_platform_psdk_j7
+TIOVX_LIBS += vx_platform_psdk_j7_linux
TIOVX_LIBS += vx_kernels_host_utils
TIOVX_LIBS += vx_kernels_tidl
-ifeq ($(TARGET_PLATFORM), J7)
-TIOVX_LIBS += vx_kernels_tvm
-endif
+
TIOVX_LIBS += vx_kernels_openvx_core
TIOVX_LIBS += vx_utils
VISION_APPS_UTILS_LIBS += app_utils_console_io
VISION_APPS_UTILS_LIBS += app_utils_ipc
-VISION_APPS_UTILS_LIBS += app_rtos_linux_mpu1_common
+VISION_APPS_UTILS_LIBS += app_tirtos_linux_mpu1_common
VISION_APPS_UTILS_LIBS += app_utils_remote_service
VISION_APPS_UTILS_LIBS += app_utils_mem
VISION_APPS_UTILS_LIBS += app_utils_perf_stats
diff --git a/tidl_j7_01_03_00_11/ti_dl/rt/src/concerto_common.mak b/tidl_j7_01_03_00_11/ti_dl/rt/src/concerto_common.mak
index 8c09bc08..e63f0fbc 100644
--- a/tidl_j7_01_03_00_11/ti_dl/rt/src/concerto_common.mak
+++ b/tidl_j7_01_03_00_11/ti_dl/rt/src/concerto_common.mak
@@ -4,13 +4,8 @@ CFLAGS += -fPIC -Wno-int-to-pointer-cast -Wno-stringop-truncation -Wno-format-ov
CPPFLAGS += -fPIC --std=c++11
CSOURCES += ../tidl_rt_ovx.c
-CSOURCES += ../tidl_rt_utils.c
-CSOURCES += ../tidl_rt_ovx_debug_utils.c
-CPPSOURCES += ../tidl_rt_ovx_datamove.cpp
-ifeq ($(TARGET_PLATFORM), J7)
-CSOURCES += ../tvm_rt_ovx.c
-endif
+
IDIRS :=
IDIRS += $(IVISION_PATH)
diff --git a/tidl_j7_01_03_00_11/ti_dl/rt/src/tidl_rt_ovx.c b/tidl_j7_01_03_00_11/ti_dl/rt/src/tidl_rt_ovx.c
index 3a659729..234d6109 100644
--- a/tidl_j7_01_03_00_11/ti_dl/rt/src/tidl_rt_ovx.c
+++ b/tidl_j7_01_03_00_11/ti_dl/rt/src/tidl_rt_ovx.c
@@ -67,13 +67,6 @@
#include <tivx_utils_graph_perf.h>
#include <tivx_utils_tidl_trace.h>
-#if defined (SOC_J721E)
-#include <TI/tivx_soc_j721e.h>
-#elif defined (SOC_J721S2)
-#include <TI/tivx_soc_j721s2.h>
-#elif defined (SOC_J784S4)
-#include <TI/tivx_soc_j784s4.h>
-#endif
#include <stdio.h>
#include <stdint.h>
@@ -86,6 +79,69 @@
#include <math.h>
#include "itidl_rt.h"
#include "tidl_rt_ovx_utils.h"
+/*! \brief Target name for DSP_C7_1
+ * This target task is first in priority.
+ * Each of the C7X targets are assigned a different
+ * task priority. Subsequent C7X targets are assigned
+ * lower priority than the preceding target (i.e.,
+ * \ref TIVX_TARGET_DSP_C7_1_PRI_2 is lower priority
+ * than \ref TIVX_TARGET_DSP_C7_1_PRI_1). Therefore,
+ * the \ref TIVX_TARGET_DSP_C7_1_PRI_2 target will be
+ * preempted by \ref TIVX_TARGET_DSP_C7_1_PRI_1 once
+ * the higher priority target is unblocked to execute.
+ * \ingroup group_tivx_ext_targets
+ */
+#define TIVX_TARGET_DSP_C7_1 "DSP_C7-1"
+
+/*! \brief Target name for DSP_C7_1
+ * This target task is first in priority.
+ * This aliases to the same task as \ref TIVX_TARGET_DSP_C7_1
+ * \ingroup group_tivx_ext_targets
+ */
+#define TIVX_TARGET_DSP_C7_1_PRI_1 TIVX_TARGET_DSP_C7_1
+
+/*! \brief Target name for DSP_C7-1_PRI_2
+ * This target task is second in priority
+ * \ingroup group_tivx_ext_targets
+ */
+#define TIVX_TARGET_DSP_C7_1_PRI_2 "DSP_C7-1_PRI_2"
+
+/*! \brief Target name for DSP_C7-1_PRI_3
+ * This target task is third in priority
+ * \ingroup group_tivx_ext_targets
+ */
+#define TIVX_TARGET_DSP_C7_1_PRI_3 "DSP_C7-1_PRI_3"
+
+/*! \brief Target name for DSP_C7-1_PRI_4
+ * This target task is fourth in priority
+ * \ingroup group_tivx_ext_targets
+ */
+#define TIVX_TARGET_DSP_C7_1_PRI_4 "DSP_C7-1_PRI_4"
+
+/*! \brief Target name for DSP_C7-1_PRI_5
+ * This target task is fifth in priority
+ * \ingroup group_tivx_ext_targets
+ */
+#define TIVX_TARGET_DSP_C7_1_PRI_5 "DSP_C7-1_PRI_5"
+
+/*! \brief Target name for DSP_C7-1_PRI_6
+ * This target task is sixth in priority
+ * \ingroup group_tivx_ext_targets
+ */
+#define TIVX_TARGET_DSP_C7_1_PRI_6 "DSP_C7-1_PRI_6"
+
+/*! \brief Target name for DSP_C7-1_PRI_7
+ * This target task is seventh in priority
+ * \ingroup group_tivx_ext_targets
+ */
+#define TIVX_TARGET_DSP_C7_1_PRI_7 "DSP_C7-1_PRI_7"
+
+/*! \brief Target name for DSP_C7-1_PRI_8
+ * This target task is eighth in priority
+ * \ingroup group_tivx_ext_targets
+ */
+#define TIVX_TARGET_DSP_C7_1_PRI_8 "DSP_C7-1_PRI_8"
+
extern char* strdup(const char*);
#define TIVX_TIDL_TRACE_DATA_SIZE (256 * 1024 * 1024)
diff --git a/tiovx/kernels_j7/include/TI/j7_tidl.h b/tiovx/kernels_j7/include/TI/j7_tidl.h
index 855672b0..654df4f8 100644
--- a/tiovx/kernels_j7/include/TI/j7_tidl.h
+++ b/tiovx/kernels_j7/include/TI/j7_tidl.h
@@ -106,6 +106,9 @@ typedef struct{
/**TIDL input/output buffer descriptor*/
sTIDL_IOBufDesc_t ioBufDesc;
+ /** Flag to enable optimization ivision alg activate, default it is disabled */
+ vx_uint32 optimize_ivision_activation;
+
}tivxTIDLJ7Params;
The 8.4 TIDL depends on the app_utils_init library, so it needs to be copied to the 7.1SDK:
In addition to modifying the relevant paths, the latest version of TIDL code has been added, causing the memory segment to need to be re-allocated, otherwise an error will be reported using the default memory allocation of 7.1SDK:
diff --git a/vision_apps/apps/basic_demos/app_tirtos/tirtos_linux/gen_linker_mem_map.py b/vision_apps/apps/basic_demos/app_tirtos/tirtos_linux/gen_linker_mem_map.py
index eba9d84b..871fe762 100755
--- a/vision_apps/apps/basic_demos/app_tirtos/tirtos_linux/gen_linker_mem_map.py
+++ b/vision_apps/apps/basic_demos/app_tirtos/tirtos_linux/gen_linker_mem_map.py
@@ -200,7 +200,7 @@ c7x_1_ddr_vecs_size = 16*KB;
c7x_1_ddr_secure_vecs_addr = c7x_1_ddr_resource_table_addr + 5*MB;
c7x_1_ddr_secure_vecs_size = 16*KB;
c7x_1_ddr_addr = c7x_1_ddr_secure_vecs_addr + c7x_1_ddr_secure_vecs_size;
-c7x_1_ddr_size = 16*MB - (c7x_1_ddr_addr-c7x_1_ddr_ipc_addr);
+c7x_1_ddr_size = 32*MB - (c7x_1_ddr_addr-c7x_1_ddr_ipc_addr);
#
# DDR memory allocation for various shared memories
@@ -256,7 +256,7 @@ c66x_2_ddr_scratch_addr = c66x_2_ddr_local_heap_addr + c66x_2_ddr_local_heap_
c66x_2_ddr_scratch_size = 48*MB;
c7x_1_ddr_local_heap_addr = c66x_2_ddr_scratch_addr + c66x_2_ddr_scratch_size;
-c7x_1_ddr_local_heap_size = 256*MB;
+c7x_1_ddr_local_heap_size = 240*MB;
c7x_1_ddr_scratch_addr = c7x_1_ddr_local_heap_addr + c7x_1_ddr_local_heap_size;
c7x_1_ddr_scratch_size = ddr_mem_size - 32*MB - (c7x_1_ddr_scratch_addr - ddr_mem_addr);
The complete patch of the entire RTOS SDK is as follows: 0001-7.1SDK-upgrade-8.4-TIDL.patch.