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.
Tool/software:
Dear Sir,
OS: Linux+RTOS(J722)
PSDK: ti-processor-sdk-rtos-j722s-evm-09_02_00_05
I am using UDMA API in my custom kernel while building tiovx it has no errors but while building the vision_apps it has the below linkage error:
Required system library librt.so Required system library libgbm.so Required system library libstdc++.so Required system library libm.so Required system library libpthread.so Required system library libti_rpmsg_char.so Linking /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/R5F/FREERTOS/release/app_rtos_common_mcu2_0.lib Linking /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/A53/LINUX/release/libtivision_apps.so Linking /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/R5F/FREERTOS/release/vx_app_rtos_linux_mcu2_0.out Linking /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/A53/LINUX/release/vx_app_c7x_kernel.out Linking /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/A53/LINUX/release/vx_app_dense_optical_flow.out Linking /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/A53/LINUX/release/vx_app_arm_fd_exchange_producer.out Linking /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/A53/LINUX/release/vx_app_arm_fd_exchange_consumer.out Linking /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/A53/LINUX/release/vx_app_arm_opengl_mosaic.out Linking /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/A53/LINUX/release/vx_app_multi_cam.out Linking /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/A53/LINUX/release/vx_app_single_cam.out Linking /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/A53/LINUX/release/vx_app_tutorial.out Linking /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/A53/LINUX/release/vx_app_stereo_depth.out Linking /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/A53/LINUX/release/vx_app_tidl.out Linking /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/A53/LINUX/release/vx_app_conformance_hwa.out Linking /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/A53/LINUX/release/vx_app_conformance.out Linking /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/A53/LINUX/release/vx_app_conformance_video_io.out Linking /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/A53/LINUX/release/vx_app_heap_stats.out Linking /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/A53/LINUX/release/vx_app_arm_mem.out Linking /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/A53/LINUX/release/vx_app_conformance_tidl.out Linking /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/A53/LINUX/release/vx_app_conformance_core.out Linking /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/A53/LINUX/release/vx_app_viss.out Linking /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/A53/LINUX/release/vx_app_arm_ipc.out Linking /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/A53/LINUX/release/vx_app_load_test.out Linking /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/A53/LINUX/release/vx_app_arm_remote_log.out undefined first referenced symbol in file --------- ---------------- appUdmaCopy1D /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/tiovx/lib/J722S/C7524/FREERTOS/release/vx_target_PedestrainDrawboxkernels_C7X.lib<vx_pedestraindrawbox_target.obj> error: unresolved symbols remain undefined first referenced symbol in file --------- ---------------- appUdmaCopy1D /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/tiovx/lib/J722S/C7524/FREERTOS/release/vx_target_PedestrainDrawboxkernels_C7X.lib<vx_pedestraindrawbox_target.obj> error: unresolved symbols remain error: errors encountered during linking; "/home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out /J722S/C7524/FREERTOS/release/vx_app_rtos_linux_c7x_1.out" not built error: errors encountered during linking; "/home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out /J722S/C7524/FREERTOS/release/vx_app_rtos_linux_c7x_2.out" not built /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/sdk_builder/concerto/finale.mak:215: recipe for target '/home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/C7524/FREERTOS/release/vx_app_rtos_linux_c7x_1.out' failed make[2]: [/home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/C7524/FREERTOS/release/vx_app_rtos_linux_c7x_1.out] Error 1 (ignored) /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/sdk_builder/concerto/finale.mak:215: recipe for target '/home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/C7524/FREERTOS/release/vx_app_rtos_linux_c7x_2.out' failed make[2]: [/home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/C7524/FREERTOS/release/vx_app_rtos_linux_c7x_2.out] Error 1 (ignored) Copying built libraries: /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/out/J722S/R5F/FREERTOS/release to /home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps/lib/J722S/R5F/FREERTOS/release make[2]: Leaving directory '/home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/vision_apps' make[1]: Leaving directory '/home/vyom/J722/ti-processor-sdk-rtos-j722s-evm-09_02_00_05/sdk_builder'
My doubt is, is UDMA supported in J722 , is there any flag which needs to be turned on to link UDMA directly?
I am asking this query as J721S2 with 9.2 SDK has no linking errors with UDMA while build.
Thanks and Regards,
Vyom Mishra
Hello,
Our expert handling this topic is based in the Indian timezone, and they have a regional holiday. Hence, expect a couple of days of delay in response. Thanks.
Hi Vyom,
If you see the concerto.mak in app_utils/udma/ folder, you could see that the app_udma_utils.c file is not included for J722s. So this is not supported for the same
.
Regards,
Nikhil
Dear Sir,
Thanks for the response.
Could you please let me know the alternative to this?
We are using "appUdmaCopy1D" to copy data to APP_MEM_HEAP_DDR.
Thanks and Regards,
Vyom Mishra
Hi,
This is just a vision apps wrappers that is on top of the pdk based APIs. You can replace them with the corresponding MCU+SDK udma based APIs and create a new wrapper function.
You can refer the udma examples in mcu+sdk to get the alternative APIs.
Note, some APIs may work as is, as the API names are same. But currently enabling this app_udam_utils.c file for J722s throws few build errors due to the pdk dependency.
You may have to remove the dependency and ensure that the build goes through.
Meanwhile I have raised this internally to support this in the future SDKs. Will get back to you regarding the timeline of the same once I get an update on this internally.
Placing the jira here for internal tracking
[ADASVISION-6371] [J722s] Enable app_udma_utils.c APIs for J722s - Texas Instruments JIRA
Regards,
Nikhil