This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Linux
你好
我尝试在 TDA2xx SoC 上使用 OpenCV 与 Linux、VISION 版本03.04.00。
构建并运行内核是正常的、但当我尝试构建 SDK 时、我会遇到以下错误:
#创建 tda2xx-EVM:c66xdsp_1:发布:vision_sdk_lib...
链接到/home/rtrk/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencx/vision_sdk/bin/tda2xx-evm/vision_sdk_c66xdsp_1_release.xe66...
未定义 的首次引用
符号
------ --------
EDMA3_semCreate /home/rtrk/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencx/lib/tda2xx-evm/c66xdsp_1/release/utils_common.ae66
EDMA3_semDelete /home/rtrk/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencx/lib/tda2xx-evm/c66xdsp_1/release/utils_common.ae66
edma3OsProtectEntry /home/rtrk/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencx/lib/tda2xx-evm/66/release/edma3lld_drv.ae66
edma3OsProtectExit /home/rtrk/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencx/lib/tda2xx-evm/66/release/edma3lld_drv.ae66
edma3OsSemGive /home/rtrk/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencx/lib/tda2xx-evm/66/release/edma3lld_drv.ae66
edma3OsSemTake /home/rtrk/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencx/lib/tda2xx-evm/66/release/edma3lld_drv.ae66
RTOS_INIT_OCL_DSP_MONITOR /home/rtrk/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencx/lib/tda2xx-evm/c66xdsp_1/release/links_common_system.ae66
错误:未解析的符号仍然存在
错误:链接过程中遇到错误;
"/home/rtrk/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/binaries/apps/tda2xx
_evm_linux_opencx/vision_sdk/bin/tda2xx-evm/vision_sdk_c66xdsp_1_release.xe6
6"未构建
/home/rtrk/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/build/rtos/makerules/rules_66.mk:271:目标/home/rtrk/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencx/vision_sdk/bin/tda2xx-evm/vision_sdk_c66xdsp_1_release.xe66的配方失败
maked[7]:***[/home/rtrk/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencx/vision_sdk/bin/tda2xx-evm/vision_sdk_c66xdsp_1_release.xe66错误1
/home/rtrk/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/build/rtos/makerules/common.mk:271:目标'c66xdsp_1'的配方失败
make[6]:***[c66xdsp_1]错误2.
Makefile.mk:116:目标'apps_dsp1'的配方失败
maked[5]:***[APPS_dsp1]错误2.
Makefile.MK:31:目标'apps'的配方失败
maked[4]:***[APPS]错误2.
Makefile.mk:287:目标“apps”的配方失败
maked[3]:***[APPS]错误2.
Makefile:171:目标'apps_exe'的配方失败
make[2]:***[APPS_exe]错误2.
Makefile:36:目标"apps"的配方失败
maked[1]:***[APPS]错误2.
Makefile:12:目标'vision_sdk'的配方失败
制造:***[VISION_SDK]错误2.
_________________________________________
在没有 opencx 的情况下为(正常) Linux 构建 SDK 时、我不会获得此结果。
我试图弄清楚这些函数在哪里、它们似乎都在中
TI_components /编解码器/framework 组件_3_40_02_07/packages/ti/sdo /fc/EDMA3/EDMA3_config.c
和
TI_components /编解码器/codec_engine_3_24_00_08/cetools/packages/ti/sdo /fc/edma3/edma3_config.c
我还尝试更改 mkefiles、这样编译就可以通过、但没有成功。
我按照 Linux 用户指南 pdf 进行操作、应该已正确设置编解码器引擎和框架组件。
感谢您阅读本文档并提前获得帮助!
您好!
您能否尝试删除目录"vision_sdk/binaries/$(MAKEAPPNAME)/$(MAKECONFIG)"、然后运行"make -s depend (make -s depend)"和"make -s "(有时-j 选项会导致此类错误)、并查看是否收到错误?
此致、
Yordan
是的、已安装 DSP 编译器并导出路径。
我删除了 DPS 的每个 OpenCL 构建、编辑了一些 make 文件、以便可以编译 openvCannyLink_privi 和 iOpenCVCannyAlgo、现在我出现了以下错误:
编译 OpenCL 文件 copy.cl
>>警告:编译器选项无效--bc_file=copy.bc (已忽略)
"/home/rtrk/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/../ti_components/os_tools/linux/targetfs/usr/share/ti/opencl/dsp.syms、第9行:错误#10022-D:
无效选项:--single_data_segment
"/home/rtrk/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/../ti_components/os_tools/linux/targetfs/usr/share/ti/opencl/dsp.syms、第10行:错误#10022-D:
无效选项:--no_entry_point
警告#10247-D:创建不带段的输出段".stack"
规格
警告#10210-D:创建默认大小为0x400的".stack"段;使用
stack 选项以更改默认大小
未定义的首次引用
符号
------ --------
/home/rtrk/PROCESSOR_SDK_VISION_03_04_00_00/ti_components/cg_tools/linux/ti-cgt-c6000_8.1.0/lib/rts6600_elf.lib
错误#10234-D:未解析的符号仍然存在
错误#10010:链接期间遇到错误;未生成"copy.out"
>>编译失败
Makefile:5:目标'copy.dsp_h'的配方失败
maked[7]:***[copy.dsp_h]错误255
Makefile.mK:14:目标'OpenCL_build'的配方失败
maked[6]:***[OpenCL_build]错误2.
Makefile_ADAS.MK:14:目标'vision_sdk_linux_demo'的配方失败
maked[5]:***[vision_sdk_linux_demo]错误2.
Makefile_ADAS.MK:5:目标'apps'的配方失败
maked[4]:***[APPS]错误2.
Makefile:183:目标'apps_exe_HLOS 的配方失败
make[3]:***[APPS_exe_HLOS]错误2.
Makefile:64:目标'apps_HLOS'的配方失败
maked[2]:***[APPS_HLOS]错误2.
Makefile:36:目标"apps"的配方失败
maked[1]:***[APPS]错误2.
Makefile:12:目标'vision_sdk'的配方失败
制造:***[VISION_SDK]错误2.
你(们)好
是的、我已修改了 tda2xx_evm_linux_opencx 编译的 cfg.mk 文件。
当我运行 make -s -j depend 时、它会向我发出警告、我需要添加 ipu1_0和 dsp1内核来进行编译。
CFG 文件:
编号
#此文件定义了$(MAKECONFIG)配置中包含的模块
编号
#个模块分为
#- uC_cfg.mk 中指定的用例
#-此文件中指定的其它系统配置/功能
编号
#此文件中还指定了任何特定覆盖项
#例如、对于 TDA3x SoC、EVE2/3/4不存在、因此强制标记为 即禁用
编号
编号
#其他配置选项
编号
编号
构建中包含#个 CPU
编号
当 IPU_PRIMARY_CORE=ipu2时、不支持# IPU1 (内核0和1)
PROC_IPU1_0_include=是
PROC_IPU1_1_INCLUDE=否
PROC_IPU2_INCLUDE=yes
PROC_A15_0_include=是
PROC_DSP1_INCLUDE=yes
PROC_DSP2_INCLUDE=否
PROC_EVE1_INCLUDE=否
PROC_EVE2_INCLUDE=否
PROC_EVE3_INCLUDE=否
PROC_EVE4_INCLUDE=否
VSDK_Board_type=TDA2XX_EVM
支持的值:DDR_MEM_1024M
DDR_MEM=DDR_MEM_1024M
支持的值:ipu1_0 ipu1_1 a15_0无
NDK_PROC_TO_USE=ipu1_0
编号
#用于控制算法源的构建。
默认情况下、Vision SDK 中不包含#算法源
编号
Build_Algorithms=否
编号
#将配置文件应用到所有内核
编号
#支持的配置文件:版本调试
#profile=debug
profile ?= release
profile_ipu1_0 ?=$(profile)
profile_ipu1_1 ?=$(profile)
profile_ipu2 ?=$(profile)
profile_c66xdsp_1 ?=$(profile)
profile_c66xdsp_2 ?=$(profile)
profile_arp32_1 ?=$(profile)
profile_arp32_2 ?=$(profile)
profile_arp32_3 ?=$(profile)
profile_arp32_4 ?=$(profile)
profile_a15_0 ?=$(profile)
编号
#适用于 TDA2xx 和 TDA2Ex - VISION SDK 可在 IPU1或 IPU2子系统上运行
#对于 TDA3xx -我们只有 IPU1、因此只有 IPU1
#从可用的 IPU1和 IPU2子系统中选择 IPU 主内核
编号
支持的值:ipu1_0 ipu2
IPU_PRIMARY_CORE=ipu2
IPU_secondary 核心=ipu1_0
编号
#设置 A15_TARGET_OS
# A15可以运行 Linux 或 BIOS
编号
# A15_TARGET_OS 支持
# 平台 BIOS Linux
编号
# TDA2XX_EVM 是 肯定的
# TDA3XX_EVM 是 否
# TDA2EX_EVM 是 的
编号
#支持的值:BIOS Linux
A15_target_os=Linux
IVAHD_INCLUDE=否
VPE_INCLUDE=否
DSS_include=是
AVB_INCLUDE=否
编号
#启用下面的宏、以启用 DCAN 集成到 Vision SDK 中。
编号
DCAN 包含=否
CPU_IDLE_ENABLED =是
编号
#启用下面的宏以查看设备中不同 IP 使用的带宽
#作为显示屏幕上的图形图解。
编号
DATA_VIS_INCLUDE=否
OpenCL_include=yes
Tree_warnings as error = yes
HS_DEVICE_=否
default_uBoot_config := dra7xx_evm_vision_config
default_kernel_config:= ti_sdk_dra7x_release_defconfig
TDA2x 的编号
default_dtb:= dra7-evm-infoadas.dtb
编号
#启用 OpenCV 宏
编号
ENABLE_OpenCV=yes
CMEM_INCLUDE=yes
Build_OpenCV_SRC=yes
build_LLVM=yes
包括$($(MAKEAPPNAME)_path)/configs/$(MAKECONFIG)/uC_cfg.mk
你(们)好
您可以在 open_compute dir 下克隆、我们将在即将发布的版本中更新文档
如果要构建 OpenCV src、请将 BUIL_OpenCV_SRC 设置为"是";如果要使用预编译、请将 BUIL_OpenCV_SRC 设置为"否"
无需更改 tools_path.mk 文件"OpenCV_build_path ?= build_dume"中的任何内容,因为在为 BIOS 或 Linux 配置构建时,将相应地覆盖该文件
要验证您是否能够在 Linux 上构建 opencx、
设置 BUILD_OpenCV_SRC =否、以便它将使用预编译
此外、将 ipu1_0和 dsp1设为否、然后尝试全新构建
此致
Surya