diff --git a/sample_embedding_folder2/0430110.txt b/sample_embedding_folder2/0430110.txt new file mode 100644 index 0000000000000000000000000000000000000000..03d0992be1e34843bc1e13b6097bde5b54fe7710 --- /dev/null +++ b/sample_embedding_folder2/0430110.txt @@ -0,0 +1,29 @@ +Ticket Name: Issue of network on GLSDK + +Query Text: +Hello. Im working with GLSDK on Jacinto 6 Recently I applied SPL boot as to below. Accurately, It is qspi boot working without u-boot stage(only work SPL and kernel) http://processors.wiki.ti.com/index.php/DRA7xx_GLSDK_Software_Developers_Guide#Using_the_Late_attach_functionality After apply it, I couldn't access SSH server of host side(jacinto6). I guessing it because of no u-boot stage. The reason I think this is, I saw same situation when I remove all network feature in config file in u-boot. Please help me. How can I alive network again? below is log INIT: version 2.88 booting Starting Bootlog daemon: bootlogd: cannot allocate pseudo tty: No such file or directory bootlogd. INIT: Entering runlevel: 5 Starting tiipclad daemon Opened log file: lad.txt Spawned daemon: /usr/bin/lad_dra7xx Sending discover... Sending discover... Sending discover... No lease, forking to background done. Starting Dropbear SSH server: dropbear. root@dra7xx-evm:~# ifconfig eth0 Link encap:Ethernet HWaddr C6:8C:87:D2:FD:9A UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:7019 errors:0 dropped:0 overruns:0 frame:0 TX packets:59 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:543887 (531.1 KiB) TX bytes:20178 (19.7 KiB) Interrupt:78 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) root@dra7xx-evm:~# + +Responses: +Hello Yangwoo, Let's start with the definition of Late attach functionality: To satisfy the startup time requirements of specific use cases, one would need a remote core booted up early at the boot loader before the Linux kernel is booted. The kernel then attaches with the already booted remote core for further communication. We refer to this feature as the "Early Boot - Late Attach" functionality. Could you check the functionality of late_attach: target # dmesg | grep late_attach +[ 13.387830] remoteproc1: late_attach is 1 My suggestion is to take a detail look on a similar thread - https://e2e.ti.com/support/omap/f/885/t/391870 You can try using new u-boot image - 3755.u-boot.zip Best regards, Yanko + +Thank you for answer Yanko But I don't know your suggestion is good approach or not. because my question was about network is not available in QSPI spl boot. except network problem, everything is working including remoteprc test(IPU1,2 DSP1,2) Why you suggest late attach ? Anyway I applied late attach for you in short time. but I saw another problem in late attach... there was no attached message root@dra7xx-evm:~# dmesg | grep late_attach [ 6.139856] remoteproc3: late_attach is 0 [ 6.382567] remoteproc2: late_attach is 0 [ 6.733915] remoteproc0: late_attach is 0 [ 6.766229] remoteproc1: late_attach is 0 below is log about error with late attach. + +Sorry I had small misunderstood about your suggestion. Anyway below my late attach result of qspi spl boot root@dra7xx-evm:~# dmesg | grep late_attach [ 2.831971] remoteproc3: late_attach is 0 [ 2.962444] remoteproc2: late_attach is 0 [ 3.614248] remoteproc0: late_attach is 0 [ 3.636176] remoteproc1: late_attach is 1 + +Hello Yanko.Really this system has some dependency with u-boot and kernel. Related to this issue, network initialization has same relation. If I set network feature in u-boot, like below, network is working also in kernel. But when I remove below configuration in u-boot(include/configs/dra7xx_evm.h), network is also not working in kernel. Really it has dependency in this system. for example, I guessing, kernel has insufficient initialization for network because without uboot network initialize, kernel network also not work. Please fix this issue, and give some patch of kernel. /* CPSW Ethernet */ #define CONFIG_CMD_NET /* 'bootp' and 'tftp' */#define CONFIG_CMD_DHCP #define CONFIG_BOOTP_DNS /* Configurable parts of CMD_DHCP */ #define CONFIG_BOOTP_DNS2#define CONFIG_BOOTP_SEND_HOSTNAME #define CONFIG_BOOTP_GATEWAY#define CONFIG_BOOTP_SUBNETMASK #define CONFIG_NET_RETRY_COUNT 10#define CONFIG_CMD_PING #define CONFIG_CMD_MII#define CONFIG_DRIVER_TI_CPSW /* Driver for IP block */ #define CONFIG_MII /* Required in net/eth.c */ #define CONFIG_PHY_GIGE /* per-board part of CPSW */#define CONFIG_PHYLIB + +It solved by ethaddr of bootenv. The problem caused by no ethaddr bootenv. For example if I bootup with network feature of u-boot, ethaddr bootenv is automatically applied. Without u-boot network initialize, kernel can't find ethaddr bootenv. So I added fixed "ethaddr=??:??:??:??:??:??\0" to ti_omap5_common.h. Now network is working without u-boot network config. + +Hello Yangwoo, I am glad to hear that. For your information, you can take a look on following threads: processors.wiki.ti.com/.../AM335x_U-Boot_User's_Guide#U-Boot_Network_configuration lists.denx.de/.../149291.html processors.wiki.ti.com/.../Linux_Core_U-Boot_User's_Guide https://e2e.ti.com/support/embedded/linux/f/354/t/141507 Best regards, Yanko + +Sorry It was not solution. I confused with mmc partion 1 and 2. It still not working without u-boot initialization + +Finally I add " #defineCONFIG_DRIVER_TI_CPSW" in u-boot with "ethaddr=??:?:??:??" of bootenv. after then it working now. Anyway still I need kernel patch to activate kernel network without u-boot dependency. because uboot spl will not excute any network feature. + +Yangwoo, CONFIG_DRIVER_TI_CPSW is defined in u-boot/board/ti/dra7xx/evm.c: #ifdef CONFIG_DRIVER_TI_CPSW #include #endif #ifdef CONFIG_DRIVER_TI_CPSW /* Delay value to add to calibrated value */ #define RGMII0_TXCTL_DLY_VAL ((0x3 << 5) + 0x8) #define RGMII0_TXD0_DLY_VAL ((0x3 << 5) + 0x8) #define RGMII0_TXD1_DLY_VAL ((0x3 << 5) + 0x2) #define RGMII0_TXD2_DLY_VAL ((0x4 << 5) + 0x0) #define RGMII0_TXD3_DLY_VAL ((0x4 << 5) + 0x0) #define VIN2A_D13_DLY_VAL ((0x3 << 5) + 0x8) #define VIN2A_D17_DLY_VAL ((0x3 << 5) + 0x8) #define VIN2A_D16_DLY_VAL ((0x3 << 5) + 0x2) #define VIN2A_D15_DLY_VAL ((0x4 << 5) + 0x0) #define VIN2A_D14_DLY_VAL ((0x4 << 5) + 0x0) Take a look on this patch set: comments.gmane.org/.../165201 Best regards, Yanko + +Below updated modification. Please check condition. It looks related with dpll clock setting. Can you check kernel dpll clock setting for gmac? I expect that kernel dpll for gmac is not perfect. + +I remove " CONFIG_DRIVER_TI_CPSW" and only remain below code in arch/arm/cpu/armv7/omap-common/clocks-common.c params = get_gmac_dpll_params(*dplls_data); do_setup_dpll((*prcm)->cm_clkmode_dpll_gmac, params, DPLL_LOCK, "gmac"); + diff --git a/sample_embedding_folder2/0462114.txt b/sample_embedding_folder2/0462114.txt new file mode 100644 index 0000000000000000000000000000000000000000..445f90388bc16b36bff8217c671f6fe0c505678c --- /dev/null +++ b/sample_embedding_folder2/0462114.txt @@ -0,0 +1,8 @@ +Ticket Name: bare metal interrupt handler + +Query Text: +Other Parts Discussed in Thread: TDA2 is there info or samples for bare metal interrupt handling? I am trying to use interrupts on the C66x DSP1 core on the TDA2 (XC5777X CPU BOARD). I have tried the timer example from the starterware and it configures the timer and interrupt functions, but I get exactly one interrupt. The timer is in auto reload mode and seems to be counting and reloading properly. I can’t make sense of the interrupt though. In previous C64xx projects I have had a vector.asm file that contained the reset, nmi and 12 vectors for the chip interrupts. On the C66x with the starterware code there is a lot added to configure the interrupt crosspoint and handlers. I’m not sure if it needs the vector.asm or not. When I add the vector.asm it is getting located at 0x00800000 and the ISTP is set to the same. When the first interrupt occurs, it branches to a vector at 0x00800220. The DSP ISR is showing a value of 0x0040 indicating vector 6. With a vector for ISR6, I would expect it to be at 0x00800060. What I can’t find documented is whether this should dispatch through some predefined function that uses the inth_handler table or whether I should just branch to my handler directly. I "think" the starterware is assuming dsp-bios is running but it is not in this case. Scott + +Responses: +Hi Scott, Welcome to the TI keystone E2E forum. I hope you will find many good answers here and in the TI.com documents and in the TI Wiki Pages (for processor issues). Be sure to search those for helpful information and to browse for the questions others may have asked on similar topics (e2e.ti.com). Please read all the links below my signature. We do not have Starterware package/support for C66xx (Keystone ) DSP's. The only support available for C66xx DSP's (Keystone I) is MCSDK 2.x. Please find the latest MCSDK and user guide link below my signature. is there info or samples for bare metal interrupt handling? I am trying to use interrupts on the C66x DSP1 core on the TDA2 (XC5777X CPU BOARD). We are not familiar with this platforms however i can point you to some CSL based examples for interrupt on C66xx keystone devices. By understanding that, you can be able to develop your own example. Thank you. + diff --git a/sample_embedding_folder2/0482769.txt b/sample_embedding_folder2/0482769.txt new file mode 100644 index 0000000000000000000000000000000000000000..3fdccfae3a18acb02e383072c3295ca3378ffc66 --- /dev/null +++ b/sample_embedding_folder2/0482769.txt @@ -0,0 +1,10 @@ +Ticket Name: Toolchain for compiling Qt application for TDA2 board? + +Query Text: +Other Parts Discussed in Thread: TDA2 Hello All, I am looking for information on how to compile a Qt application for deployment on TI's TDA2 (ARM A15 based) board. In particular which toolchain should be used? I've found Qt documentation for other boards, but nothing specific to the TDA2. Any pointers on how to get started with this board would be greatly appreciated. Regards, Eric Gilbertson ejg@peloton-tech.com + +Responses: +Hello, I am not aware with TDA2 but have you tried with CodeSourcery? processors.wiki.ti.com/.../Building_Qt BR Margarita + +Here is the qmake.conf I used for the TDA2. Note, I'm still having a problem with GLES2 but I believe that is unrelated to the conf settings. HTH, Eric G. qmake.conf for TDA2: include(../common/linux_device_pre.conf) DISTRO_OPTS += hard-float QMAKE_INCDIR += $$[QT_SYSROOT]/usr/include QMAKE_LIBDIR += $$[QT_SYSROOT]/usr/lib \ $$[QT_SYSROOT]/lib/arm-linux-gnueabihf \ $$[QT_SYSROOT]/usr/lib/arm-linux-gnueabihf QMAKE_LFLAGS += -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib \ -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib/arm-linux-gnueabihf \ -Wl,-rpath-link,$$[QT_SYSROOT]/lib/arm-linux-gnueabihf TDA2_CFLAGS = -mtune=cortex-a15 -mfloat-abi=hard -mfpu=vfpv3-d16 QMAKE_CFLAGS += $$TDA2_CFLAGS QMAKE_CXXFLAGS += $$TDA2_CFLAGS include(../common/linux_arm_device_post.conf) load(qt_config) ~ + diff --git a/sample_embedding_folder2/0527984.txt b/sample_embedding_folder2/0527984.txt new file mode 100644 index 0000000000000000000000000000000000000000..a2809dcb42832a5b042ac15b1f74f11f1c8b8159 --- /dev/null +++ b/sample_embedding_folder2/0527984.txt @@ -0,0 +1,24 @@ +Ticket Name: TDA2 Initialisation via JTAG + +Query Text: +Other Parts Discussed in Thread: TDA2 Hello, We are having issues finding any information on how to access a TDA2 device (specifically TDA2HGBRAQ) via JTAG. We don't use a 3rd party tool, but are building the JTAG communications ourselves. The steps we would follow are: 1. Physically connect to JTAG pins on TDA2 device. 2. Trigger TDA2 reset (or JTAG reset) and initialise the device via JTAG (halt core(s), setup memory, etc.). 3. Upload a boot loader to the RAM of the device and execute it. Steps 1 and 3 aren't really the issue, but we need help with step 2. We can access this same target device with a Lauterbach, so the information for how to do this initialisation via JTAG must be available. As of yet, we haven't been able to find the right contact and/or documentation for this. If someone can help us find the correct contact and/or documentation, that would be very helpful. + +Responses: +To use the correct terminology, I am looking for the JTAG scan path details for third party programming support. + +Hello Daniel, How about refering to the CCS device scan chain tree (attached) for example. The xml clearly shows processor sub-paths. TDA2x.xml You may also refer to "30.6 Power, Reset, and Clock Management Debug Support" in the device TRM and in general to the "Chapter 30 On-Chip Debug Support" for additional JTAG debug support details. Hope it helps, thanks, Alex + +Hello Alex, Thank you for this information. We've tried to use it, but still encounter some issues. Primarily, we need to know how to navigate to IcePick-D so that we can access the Cortex core. Currently we can't find any information on the correct TAP states or flow we need to reach this goal. We've "guessed" some values to shift and seem to get some limited data when we clock out in the shift state, but this is just trail and error with no real understanding of what the commands we send and receive really are. Do you know where we can find the information to access the Cortex via IcePick-D? TAP states, Shift-IR commands, Shift-DR data, etc? Once we have access to the Cortex, the reading/wring of RAM (and registers) becomes trivial. Thanks in advance, Daniel. + +Hello Daniel, Could you please also refer to the following doc then. Looks like it has enough information to enable a third party debugger on the processor JTAG test access ports (TAPs) connected to the ICEPick-D. Let me know thanks, Alex + +Hello Alex, Thanks for this. We use this sequence with a P value of 15 and Q value of 0. The P value we estimated based on ADAS reference manuals, the Q is just taken from practice. Are these correct? After we do these initialisation steps, we try to setup the Cortex-A15. However, at this point, we have really no information. Currently we are trying to perform similar commands as we did for Cortex-A9, but even the A9 commands were a kind of guess work. Are you able to provide any documentation at this point, so that we can ensure proper access to the Cortex and read/write the RAM. Thanks, Daniel. + +Hi Daniel, I think you are correct: P = 15 (dec); Q = 0 (dec); P is for tap number, Q for Core number, and referring to TRM debug chapter, your values look correct (see attached screenshot) Thanks, Alex + +Hi Alex, The attached screenshot didn't work, but thanks for clarifying. Regarding the point about setting up the Cortex-A15 after the ICEPick-D initialisation; do you have any documents or contacts who could support us? + +Hi Daniel, Reattached screenshot. Moreover, I received feedback that the Emulation developer community has this information and you should have access to the below url. Could you please check there if more docs are available for you to clarify your questions? https://www.ti.com/securesoftware/docs/securesoftwarehome.tsp Thanks, Alex + +Hello Alex, Thanks for the help. We'll look through the documentation in the Emulation Developer Community and see what we can find. Regards, Daniel. + diff --git a/sample_embedding_folder2/0529898.txt b/sample_embedding_folder2/0529898.txt new file mode 100644 index 0000000000000000000000000000000000000000..82d816a34a868e3c197d3fdb466fcf1edc43932b --- /dev/null +++ b/sample_embedding_folder2/0529898.txt @@ -0,0 +1,18 @@ +Ticket Name: 8CH 720P capture on TDA2 + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi all, I want to capture 8CH 720P with YUV422 8bit discrete sync mode on TDA2. My scenario is 4CH for 3D AVM, 2CH for side view, 1CH for front camera and 1CH for rear camera. It should be no problem when run in different situation. Otherwise, the above scenario happens simultaneously. I think the ddr bandwith should be the limitation. Could you please help to comment more about it? Thanks in advance. B.R. OC + +Responses: +Hi, Your question has been forwarded to an expert. Best regards Lucy + +Hi Lucy, Any update? B.R. OC + +Hi, Just sent a reminder. Best regards Lucy + +OC, Sorry for late reply. I think this is doable with VIP1 and VIP2 as far as its 8bit YUV (Port B on each slice supports only 8 bit). DDR bw would also depend upon how your algorithms are operating, you can configure bootloader in dual emif interleaved mode to get maximum DDR banwidth if you want to run all this simultaneously. But when its not all simultaneously, I don't see a problem. + +Please note that if you are using discrete syncs, 2 pins for each ports are available. and if you are using embedded sync, sync codes must be in bt656 format. BT1120 codes over 8bit interface is not supported. Rgds, brijesh + +Hi Yogesh, Thanks so much for your input. It's clear to me. B.R. OC + diff --git a/sample_embedding_folder2/0530602.txt b/sample_embedding_folder2/0530602.txt new file mode 100644 index 0000000000000000000000000000000000000000..fc79f620693953b599390cce6352ff6b419ac8c6 --- /dev/null +++ b/sample_embedding_folder2/0530602.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2 ARM Cortex M4 Floating point support FPv4SPD16 + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi, I am using Code Composer Studio 5.4.0.00091 In my project, I have enabled floating point support FPv4SPD16(ARM compiler processor option) for CortexM4 in TDA2. After i build my project, I checked .asm file. It is showing --float_support=vfplib Why compiler has not generated asm file for FPv4SPD16? Jagan + +Responses: +Jagan, I will FW this here to CCS experts . thanks, Alex + +Jagan, The TDA2x Cortex M4 does not have a floating point hardware. Only vfplib is supported. Regards, Chaitanya + diff --git a/sample_embedding_folder2/0530614.txt b/sample_embedding_folder2/0530614.txt new file mode 100644 index 0000000000000000000000000000000000000000..410660a506602154a74654a3561026a324e9e67c --- /dev/null +++ b/sample_embedding_folder2/0530614.txt @@ -0,0 +1,18 @@ +Ticket Name: Processor Capable to decode MJPEG/H.264 for 4 Ethernet HD Camera Input + +Query Text: +Other Parts Discussed in Thread: TDA2, TDA2E Hi, We have project on having 3 or 4 HD Ethernet connection camera for Automotive and need to be display on LCD screen. Format output from HD Camera will be MJPEG or H.264 in AVB packet ot RTP packet. Frame size are 1080 x 720 with 30fps (can be adjust base on requirement. All the camera will input to a 4 port switch and having 1 output RGMII to CPU and display on the screen. The project are similar to Arround View Monitor, however on the LCD will have 3 section to display individual camera picture. The main task of the processor will be received the packet -> reconstruct the packet become a valid frame -> decode the frame -> rescale to LCD section size -> convert to RGB and display on LCD. 1) Did TDA2 or TDA2e are capable on handling the processing of the MJPEG and H.264 for 4 camera with no frame drop problem? 2) Any parts that can be recommend to me? 3) For TDA2 or TDA2e, what will be the OS using? 4) What is the bundle of the whole Evaluation Kit + Software part number sot that I can get quote from Avnet Supplier? 5) Any tranining material that I can refer to for the TDA2 or TDA2e, so that I can get more understand of the product. Thanks KJ Lee + +Responses: +Hello KJ Lee, TDA2 is capable of handling the 4-MJPEG streams through Ethernet. We do have lightweight AVB stack which handles network receive for MJPEG frames. For TDA2 devices we have Vision SDK software stack which has demos for network application similar one you are trying to do. The Vision SDK is based on TI RTOS. You can go through below for understanding more about TDA2 & TI Vision SDK. http://www.ti.com/lit/wp/spry260/spry260.pdf http://www.ti.com/lsds/ti/processors/dsp/automotive_processors/tdax_adas_socs/overview.page For part no & training videos I will get back to you once consult with my team members. If you have queries please let me know. Thanks. Regards, Prasad + +Hi Here is my comments, 1) Did TDA2 or TDA2e are capable on handling the processing of the MJPEG and H.264 for 4 camera with no frame drop problem? [Shiju] yes, you can use either TDA2x or TDA2ex for 4ch (1280x720 30fps) AVB capture + MJPEG/H264 decode + processing + display. 2) Any parts that can be recommend to me? [Shiju] Try with TDA2xx EVM, you can order the same from spectrum digital, or contact TI fields/sales 3) For TDA2 or TDA2e, what will be the OS using? [Shiju] on A15 you can use either Bios (TI RTOS) or any HLOS like Linux. Bios can be run on other cores (M4, DSP). 4) What is the bundle of the whole Evaluation Kit + Software part number sot that I can get quote from Avnet Supplier? [Shiju] You might Get the TDA2xx EVM + LCD display & Code Compose Studio as development/debugging platform. For debugging/connecting-to-target you need to use XDS560, same can be ordered from spectrum digital 5) Any tranining material that I can refer to for the TDA2 or TDA2e, so that I can get more understand of the product. [Shiju] search for TI automotive offerings, for details on TDA2xx devices. You can also download the TI automotive SW package “vision SDK” from CDDS, where we do have an example use case for 4ch (1280x720 30fps) AVB capture + MJPEG decode +.mosaic display. Regards, Shiju + +Hi Lee Added "vision SDK" SW download links - Vision SDK v02.10.00.00 Release Notes : cdds.ext.ti.com/.../emxNavigator.jsp Vision SDK v02.10.00.00 Release package - Linux Installer : cdds.ext.ti.com/.../emxNavigator.jsp Vision SDK v02.10.00.00 Release package - Windows Installer : cdds.ext.ti.com/.../emxNavigator.jsp regards, Shiju + +Hi Prasad, As I walk through the website, TDA2x development for the software only need CCS (TI-RTOS) and SDK. Correct if I'm wrong. 1) I'm waiting the part number of TDA2x processor + Evaluation kit part number so that I can request price from Avnet and plan for the project budget. 2) Which of TDA2x series that I can choose to use as I can't any information from the website? 3) Did TI-RTOS need to purchase or it come with Code Composer Studio (CCS) IDE? 4) Can I said that CCS mainly used with TI-RTOS for controlling the processor and communication to outside like CAN, Ethernet... etc? 5) Can I said that Vision SDK are using together with CCS IDE? 6) I need to buy the Vision SDK? 7) Any advantage of using TI-RTOS compare to HLOS like Linux? 8) for the CCS IDE are one time purchase? 9) Do I need to purchase library stack for MJPEG, Ethernet (AVB) , H.264... etc? Or are included in Vision SDK? Thanks KJ Lee + +Hi KJ Lee, Vision SDK is comprehensive SW package which can help you get started with what you need. There is no separate cost for it but you need to get NDA signed for it, otherwise its not available. All the SW stacks like mjpeg, AVB, etc are included in the SDK. There is also example demo showing AVB capture - display. CCS IDE provides debugging and development environment for Vision SDK. I will try to get a local sales representative contact you. regards Yashwant + +Hi Yashwant, We had done NDA signed between us, Avnet, and TI for the ADAS aplication. Currently we are looking for the suitable processor and estimate the project cost as for start. Is that license charge when using Vision SDK and commercial the product? Other than Evaluation board, emulator (purchase from 3rd party), CCS IDE need to purchase from TI, any other cost like license we need to pay as well? Thanks. KJ Lee + diff --git a/sample_embedding_folder2/0531906.txt b/sample_embedding_folder2/0531906.txt new file mode 100644 index 0000000000000000000000000000000000000000..7e0719007eb35d3e7c663b2cc08c81a435416711 --- /dev/null +++ b/sample_embedding_folder2/0531906.txt @@ -0,0 +1,14 @@ +Ticket Name: Differences between TDA2XX and TDA3XX + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi I am trying to port source code that works on TDA2xx on TDA3xx.I have following doubts: 1.Master core in TDA2XX is a15 and in TDA3XX it is m4,so we have to shift all modules that are being used by a15 in TDA2XX to m4 in TDA3xx. 2.Modules on which the functionality like ethernet,camera capture depends in TDA2xx.At the bare minimum i want ethernet and camera capture functionality to be working on TDA3xx. 3.vip module uses tda2xx video driver which has 12 capture,but tda3xx supports 4 camera,this needs to be identified where all changes are required. Regards Mayank + +Responses: +Hi, Moving your post to right forum to be better answered. Thanks & regards, Sivaraj K + +Mayank, You could start with Vision SDK. It already supports Ethernet, camera capture and other drivers on TDA2 and TDA3. In both cases the SW runs on the M4. On TDA2 the physical master is the A15, which will launch the secondary boot loader (SBL). The SBL will load and start the code from the M4. + +Hi Ejs, Thanks for your mail.I am proceeding the following steps: 1. Take all the TI packages namely bios,starterware,edma,ipc,xdc,bsp from Vision SDK and compile them for TDA3XX.(I could do this for starterware and bsp only.For other packages are they compatible with TDA3xx as they are for TDA2XX or they also need separate compilation) 2.Compile my application code with tda3xx toolchain. I still have following doubts; 1. Will i have to shift modules running on a15 core to dsp/m4 core or simply disabling a15 compilation while compiling the application for tda3xx will work. 2.Will tda3xx compilation require altogether different toolchain from what i was using when compiling for tda2xx. 3.Bootloader packages will be generated from starterware module using sbl user guide and using that will boot the board. 4.If i compile the code for dsp and m4 cores and then generate the combined disc image and flash it in tda3xx,will it work or i have to make other changes. Regards Mayank + +Hi Mayank, All TI packages are compatible with TDA3xx. In case you have designed your application to run some particular operations on A15, you will need to shift it to dsp/m4. You can refer to Vision SDK as an example. TDA3xx compilation uses same tool chains as TDA2xx. M4 uses TMS470, DSP uses C6000 and EVE uses TI ARP32 compiler. You can create multi-core application image including both dsp and m4 cores (you can follow steps given in SBL user guide) and it will work. Regards, Rishabh + diff --git a/sample_embedding_folder2/0532505.txt b/sample_embedding_folder2/0532505.txt new file mode 100644 index 0000000000000000000000000000000000000000..10bbdf9ac11d9990a5303ef6517d39258e5a8253 --- /dev/null +++ b/sample_embedding_folder2/0532505.txt @@ -0,0 +1,26 @@ +Ticket Name: Deep Learning and Inference accelerated on DSPs + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi, With the multitude of DSPs built into the processors from J6 -> Sitara -> Multicore ARM+DSP, is TI working on or already supporting Deep Learning inference acceleration support? Specially as it applies to applications very similar to the ADAS and autonomous navigation applications targeted by the Jacinto series? + +Responses: +Hi Anup, I will ask our experts to comment on the keystone device support on "Deep Learning inference acceleration" and road map if any. For Jacinto, I knew it is for automotive devices. Can you please post it on Automotive forum for appropriate and faster response. Thank you. + +Hi Anoop, We have the vision library - VLIB 3.3 ( software-dl.ti.com/.../index_FDS.html) supporting some of the important kernels of deep learning (convolution, maxpooling, Fully connected) - please refer the library and documentation. This library is for C6x DSP and can be used on any TI device with C6x DSP. We have on our roadmap to add more functions for deep learning and appropriate framework support. On Jacinto family (specifically ADAS parts like TDA2/3x) we offer this as part of vision SDK. Please get in touch with TI field representative to get access to vision SDK. Thanks, With Regards, Pramod + +Hi Pramod, Thanks a lot for the pointers. We will check out the VLIB, and get in touch with the local FAE at an appropriate juncture. Wish to see a lot more proofs of concepts to add confidence on TI DSPs though! :) + +I wouldn't hold my breath ... the C66x architecture is quite old by now. It does not have enough processing power for most deep learning algorithms. -Robby + +HI Robby, TI SOCs have hetrogenous processors (EVE and DSP) and multiple instances of those which gives a good horse power for many applications using deep learning technologies. Stay tuned to see some cool demos on this technology at CES - Jan 2017 @ TI booth Thanks, With Regards, Pramod + +That's good to know. I'd be interested to seeing those demos. -Robby + +Dear Champs, TIDL (TI deep learining library) was introduced in CES2017 (Youtube link below). Could you share more info about TIDL? Is there a landing web page for TIDL? + +Hi Luke, We are planning to release it and you should see more documentation and information with that. The releases will be during 1Q and 2Q this year. Thanks, with Regards, Pramod + +Hello Pramod, Is the TI Deep Learning library available for usage? I am planning to use this on J6 (DRA75x) EVM running Android. Can you please let me know if this is possible? From the video of TI demo at CES 2017, it seems that the demo was on TDA2 and not on J6 but from the spec of TDA2 it seems similar to J6. Regards, Pavan D + +HI Pavan, On J6 we have 2xEVE and this demo was done using 4xEVE on TDA2x. You can run the demo on J6 with half the speed. Thanks, with Regards, Pramod + diff --git a/sample_embedding_folder2/0533643.txt b/sample_embedding_folder2/0533643.txt new file mode 100644 index 0000000000000000000000000000000000000000..bd918c9eca817d04a231340616de3d7fa8e3197c --- /dev/null +++ b/sample_embedding_folder2/0533643.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2 and TDA3 + +Query Text: +Other Parts Discussed in Thread: TDA2 Can you please advise regarding the customer questions below? Please see the latest update from the customer: What can you tell me about the TDA2 and TDA3x processors? Can they / do they run Linux? (I’m guessing yes) www.ti.com/.../technicaldocuments The information on the web seems a bit sketchy. Are there available evaluation boards? What cost? What are the capabilities of the evaluation board? This link has a picture of a TDA2x “evaluation board” but the ability to purchase it seems somewhat lacking. www.ti.com/.../sprt681.pdf Same document for TDA3x www.ti.com/.../sprt708a.pdf Here is a datasheet for the TDA3 but again not very detailed; www.ti.com/.../tda3.pdf We are very interested in multiple FPD (LVDS) links on a board. There is also a TI automotive camera evaluation displayed but again very little information regarding it: www.ti.com/.../PMP9351 Can I purchase this as an “evaluation module”? + +Responses: +We have moved your post to the appropriate forum. + diff --git a/sample_embedding_folder2/0533689.txt b/sample_embedding_folder2/0533689.txt new file mode 100644 index 0000000000000000000000000000000000000000..febd3160bb9acc9c45273a10c3e8b37880cd88da --- /dev/null +++ b/sample_embedding_folder2/0533689.txt @@ -0,0 +1,10 @@ +Ticket Name: Porting application code from TDA2x to TDA3x + +Query Text: +Other Parts Discussed in Thread: MATHLIB, TDA2 Hi, I am working on porting the application from tda2x to tda3x. Currently the application runs fine on tda2x.The application uses bios,xdc,ipc,bsp,edma,ivahd,eve,vlib,mathlib packages from vision sdk. On tda2 physical master is a15 that launches the secondary bootloader.The sbl will load and start the code from m4. On tda3 what will be the scenario since tda3 does not support a15. a) How the secondary bootloader launches on TDA3x b)Is it fine to port the software modules running on a15 in TDA2 on m4 in TDA3x. c)Does disabling a15 support from whole application,compiling the ti packages with TDA3 and then generating the application image is right procedure. d)How should i proceed for porting application from tda2x to tda3x. Regards Mayank + +Responses: +a - secondary bootloader is launched from M4 on TDA3x b - Yes it is fine, which peripherals / subsystems are these modules on A15 working on? It also depends on that. You need to see if you have driver on M4 + bios for the same. c- Yes, in vision_sdk when you select platfor as TDA3XX_EVM in Rules.make, this happens automatically. d - Please give details of your usecase and peripherals you are using on TDA2X so we can discuss further. + +Hi Yogesh, Kindly can you guide me, where can I find source code for vision sdk for TDA3x ? What I got is http://software-dl.ti.com/processor-sdk-vision/esd/TDAx/latest/index_FDS.html, but it only contains the prebuilt binaries. I do have NDA and license for CCS. Regards, Waleed + diff --git a/sample_embedding_folder2/0533854.txt b/sample_embedding_folder2/0533854.txt new file mode 100644 index 0000000000000000000000000000000000000000..783b361a09dc9ed12cf7331a2c151947acdbbc23 --- /dev/null +++ b/sample_embedding_folder2/0533854.txt @@ -0,0 +1,12 @@ +Ticket Name: Regarding USB KEYBOARD/MOUSE/WEBCAM NOT DETECTING on TI J6 Dra7xx board + +Query Text: +Hi, Keyboard/MouIse/Webcam are not getting detected on DRA7XX board. I have enabled all the required drivers like USB keyboard driver and USB mouse driver on both kernel and root file system. I have also enabled USB host side drivers in kernel and USB OTG, When I type lsusb , the command returns nothing. When I give lspci, It does not show any USB controller. Request help on this, as I m stuck, Also request to share .config file of kernel, in which USB drivers are working. Thanks n Regards Shalini KP + +Responses: +Hi, Your question has been forwarded to an SW expert. Additionally provide info if you are using custom board or J6 EVM and what is the kernel version. Meanwhile, for more info you can check also below link: processors.wiki.ti.com/.../USB_General_Guide_Linux_v3.8 Best regards Lucy + +Thank you for the reply. The issue is sorted after enabling all the USB host side drivers. + +Hi What is the release version you are using ? In general each usb port USB1, USB2 is configured to particular mode (host, peripheral, drd/otg), the dr_mode field in usb device tree node need to set appropriately. Please arch/arm/boot/dts/dra7-evm.dts, if the dr_mode for USB1 port is set as "otg", then you need to insert the gadget module. You can insert any gadget like g_zero. (modprobe g_zero). For host only configuration you can force dr_mode property of USBx node to "host" in DT(device tree). Regards Ravi + diff --git a/sample_embedding_folder2/0536419.txt b/sample_embedding_folder2/0536419.txt new file mode 100644 index 0000000000000000000000000000000000000000..8bfd4358320c9bbc396810cf0552e3a057a5a331 --- /dev/null +++ b/sample_embedding_folder2/0536419.txt @@ -0,0 +1,52 @@ +Ticket Name: Enable channel 5 on TDA2xx + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi, I want to enable 6 channels on TDA2xx. My Vision SDK version is v2.08 and running Linux on A15. Now, channel 1, 2, 3, 4, 6 are enabled. But channel 5 still can not work. I did following steps to enable channel 5: 1. Disable NDK in Rules.make 2. Set VIDEO_SENSOR_NUM_LVDS_CAMERAS as 6 in "vision_sdk\examples\tda2xx\include\video_sensor.h" 3. Set pinmux as following: Signal Name from CAMERA Signal used on TDA2 CAM5_D[2] VIN4B_D0 (U4) CAM5_D[3] VIN4B_D1 (V2) CAM5_D[4] VIN4B_D2 (Y1) CAM5_D[5] VIN4B_D3 (W9) CAM5_D[6] VIN4B_D4 (V9) CAM5_D[7] VIN4B_D5 (U5) CAM5_D[8] VIN4B_D6 (V5) CAM5_D[9] VIN4B_D7 (V4) CAM5_HSYNC VIN4B_HSYNC1 (U7) CAM5_VSYNC VIN4B_VSYNC1 (V6) CAM5_PCLK VIN4B_CLK1(V1) Is there anything I missed to enable the 5th VIP port? Thanks, Kevin + +Responses: +Hi Kevin, Your question has been forwarded to Vision SDK experts. They will comment here directly. thanks Alex + +Hi, Any update? Kevin + +Hi Kevin, I have sent a reminder, team will comment here directly. thanks, Alex + +Hi Kevin you need some kernel patches as well, FYI, I have attached both Kernel side and SDK side patches to enable 6ch capture. Please refer the patches, sometime these may not apply automatically on v2.8 version, if fails tray manually regards, Shiju6ch builld.zip + +Hi Shiju, Thanks for your patches. I still have two questions: 1. Should I exclude all EVE cores to enable 6 channels? May I include EVE1 & EVE2 for algorithm links? 2. It seems that my dts files are different from yours. I have no idea how to modify them based on your patch. Would you please check the files for me? ti_components/os_tools/linux/kernel/omap/arch/arm/boot/dts/dra7-evm-infoadas.dts ti_components/os_tools/linux/kernel/omap/arch/arm/boot/dts/dra7-evm-vision.dts 1108.dts.tar.gz Thanks, Kevin + +Hi Shiju, Based on your patch, I have to modify line 444 in "dra7-evm-vision.dts". But there are only 128 lines in my "dra7-evm-vision.dts". I never changed dts files after I installed SDK. So that I am getting confused. I also got the same problem when I modify "/dra7-evm-infoadas.dts". If you have any suggestion about it, please tell me. Thanks, Kevin + +Kevin seems like some versioning compatibility issue. i will check your file & get back to you regards, Shiju + +rel2.10-uboot_kenel-patch-for6ch.zipKevin If possible can you migrate to 2.10 release, I have a patch (for both uboot & kernel) to support 6ch capture. PFA the same. BTW, i havn't tested this, please let me know if you face any issues regards, Shiju + +Hi Shiju, Thanks for your new patch. Building v2.10 environment and merging code may take several days for us. I will reach you when I am ready. Thanks, Kevin + +Kevin Just check if these paches can be manually apply on 2.8 version? regards, Shiju + +Hi Shiju, There are only 583 lines in my "mux_data.h", the same issue. mux_data.tar.gz Kevin + +mux_data-with-vin4b.hKevin Try use the attched file, I ahve applied the uboot patch on 2.8 version regards, Shiju + +From SDK side, modify /linux/examples/tda2xx/src/common/chains_main.c + gChains_usecaseCfg.numLvdsCh = 6; regards, Shiju + +As my first post, I have set pinmux by Starterware SDK. This time, I replace mux_data.h with your attached file. But whether I enable/disable my pinmux setting, channel 5 still does not output any frame. Maybe pinmux is not the main problem. I will try to migrate to v2.10. But if you have any other suggestion about v2.08, please let me know. Thanks again for your help. Kevin + +Kevin In TDA2X EVM, 5th camera is muxed with Ethernet, it’s a board level Mux issue. so if you enable Ethernet then 5th Cam will not work. i guess in one of the kernel patch I have disabled the Ethernet. BTW, I haven’t tried @ my end. I will check and let you know Regards, Shiju + +Hi Shiju, Because of versioning compatibility issue, I cannot use some of your patches. Our commercial agent suggested me setting NDK_PROC_TO_USE as none in vision_sdk/Rules.make to disable Ethernet. So I did. But now I see following messages when booting EVM: [ 7.154053] cpsw 48484000.ethernet: Detected MACID = a0:f6:fd:b3:4a:2e [ 7.161616] cpsw 48484000.ethernet: cpsw: Detected MACID = a0:f6:fd:b3:4a:2f ...... [ 10.200474] using random self ethernet address [ 10.204939] using random host ethernet address I think I have to disable Ethernet in another way. Do you have any suggestion about this? Kevin + +Kevin I just did a quick try, I too seeing the 5th channel issue. debuging. BTW, if you are not very paricular on Linux, then try with Bios only build (disable A15 or run Bios on A15) where you can get 6ch LVDS capture working by just set NDK_PROC_TO_USE=none and in chains_main_bios.c set gChains_usecaseCfg.numLvdsCh = 6; //VIDEO_SENSOR_NUM_LVDS_CAMERAS; for "4CH VIP Capture + Mosaic Display" usecase regards, Shiju + +Hi Shiju, We need to run OpenGL on Linux. Wait for your good news. Thanks, Kevin + +Kevin I could get all 6ch working with VSDK 2.10, Please apply the patch (6CAM_Patch.zip) attached on top of VSDK 2.10 and build/test again regards, Shiju 6CAM_Patch.zip + +Hi Shiju, An error occured when I compile chains_main.c with VSDK 2.10. "fatal error: include/config/system_cfg.h: No such file or directory" And I cannot find any file named system_cfg.h under vision_sdk. BTW, readme.txt mentions about Rules.make. But it is not included in the zip file. Can you help me to solve those problems? Thanks, Kevin + +Kevin pick only below change for chain_main.c. gChains_usecaseCfg.numLvdsCh = 6; You only need to apply below patches 1. 0001-dra7xx-mux_data-Add-pinmux-iodelay-for-VIN4B 2. dra7-evm-infoadas 3. dra7-evm-vision 4. chains_main - only change is gChains_usecaseCfg.numLvdsCh = 6; for LVDS capture + mosaic display usecase regards, Shiju regards, Shiju + +Hi Shiju, I try the four steps on v2.10. And channel 5th works now. Thanks for your help. Kevin + +Hi Kevin Thanks for the confirmation:) regards, Shiju + diff --git a/sample_embedding_folder2/0537108.txt b/sample_embedding_folder2/0537108.txt new file mode 100644 index 0000000000000000000000000000000000000000..e53b33f13d8712587c95dca01e9214ac38d1eac7 --- /dev/null +++ b/sample_embedding_folder2/0537108.txt @@ -0,0 +1,24 @@ +Ticket Name: [TDA3] Stereo camera solution + +Query Text: +Other Parts Discussed in Thread: TDA2 Dear we will develop stereo camera system in car sysem. Presently we select the TDA3 solution. But we are not sure whether you can use TDA3 that can meet the effectiveness of stereo camera. From TI ADAS SoC solution get 1. Stereo Front Camera Hight Level Block of of TDA2 can support stereo camera solution, but TDA3 doesn't have this. TDA3 is a cost-down solution, so we worry it cannot meet the stereo camera performance requirement. Can you check the TDA3 or you suggest to use TDA2? And tell me why is main reason. 2. From Stereo Front Camera Hight Level Block of TDA2 can see, you use a FPGA(optional) to link from camera IF to TDA2. Can you tell us what is his main function? If it is "must", who can provide this image of FPGA? Or TI has support this (or provide this SW code) Br. Ivan Wu ivan.wu@tungthih.com.tw + +Responses: +Can I add a question? 3. About stereo camera, VIN1a and VIN2a of TDA3 can input the video signal of 2 camera at the same time? + +You can interface up to four cameras through each VIN (Internally each VIN has 2 slices and each slice has 2 ports). I think what matters here is resolution, fps and data format of stream you are capturing. There shouldn't be any problem for two signals. + +Hi, Yogesh Thank your response But I don't know can Camera 1 and Camera 2 be worked at the same time or they are use "Time division multiplexing"? Br. Ivan Wu + +Hi Ivan, TDA3x can do stereo but the maximum resolution and the maximum number of disparities it can handle, will be less than what TDA2x can handle. What is the target resolution, frame rate and maximum disparity you are trying to achieve in your system ? regards, Victor Cheng + +Hi, Victor Presently we would plan to use HD (720p) resolution, and this fps criteria should be defined at 30 ~ 60 fps. About this, do you have any suggestion? Br. Ivan Wu + +Hi Ivan, For 720P, the maximum frame rate TDA3x can handle would be 7.5 fps with a maximum number of disparities of 32. regards, Victor Cheng + +Ivan, If you have Vision SDK, you can refer to the data sheet under vision_sdk\docs. It explains stereo usecase in detail and how much processing is needed for 640x360@30 fps processing on TDA2x (Capture is still 1280 x 720 from two cameras on xCAM) this info can be used to extrapolate for tda3x in your case but as Victor said for tda3x 720p stereo would yield very low fps. + +Hi Ivan Wu, The VIP in both TDA3x & TDA2x can receive multiple video streams. VIP1 & VIP2 are two separate instances of VIP. This allows SoC to receive multiple video streams simultaneously. Depending on the camera interface & other system needs (width of parallel port, display width, etc...) we can check on the feasibility. Regards, Sujith + +Ivan, For that you either need external logic or use TDA's gpio's to sync between two camera using features provided by sensors. This is done on one of our reference designs but with TDA2x www.radiumboards.com/TI_TDA2x_Based_xCAM_Platform.php + diff --git a/sample_embedding_folder2/0539137.txt b/sample_embedding_folder2/0539137.txt new file mode 100644 index 0000000000000000000000000000000000000000..da717e8143690c8ac075b36fa6f91cef2a626dba --- /dev/null +++ b/sample_embedding_folder2/0539137.txt @@ -0,0 +1,14 @@ +Ticket Name: PWM control external drive buzzer on TDA2 + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi all, My code base is VisionSDK_2_10 and use TDA2 custom board. I want to use PWM to control external drive buzzer. The two function pins could be choose from TDA2. One is ehrpwm and another one is timer to configure to PWM output. But I checked bsp driver (VISION_SDK_02_10_00_00\ti_components\drivers\bsp_01_06_00_11\src) that did not have the example code for ehrpwm or timer. Could you please indicate where has the example code for this function? Thanks a lot. B.R. OC + +Responses: +HI, Your question has been forwarded to the Vision SDK team Best regards Lucy + +Hi are you looking for a timer configuration sample code or something else? regards, Shiju + +PWM module is not supported in VSDK or Starterware + +Hi Sivaraj, Shiju, Let move to private forum for discussion. Thanks a lot. B.R. OC + diff --git a/sample_embedding_folder2/0539230.txt b/sample_embedding_folder2/0539230.txt new file mode 100644 index 0000000000000000000000000000000000000000..1eb1d726310b802af028f2be8628bea967a89615 --- /dev/null +++ b/sample_embedding_folder2/0539230.txt @@ -0,0 +1,12 @@ +Ticket Name: Does TDA2 vout support bt656 8-bit mode? + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi all, My code base is VisionSDK_v2.08 and use TDA2 custom board. My vout data pin connect as "TDA2_Vout_D[0~7] -> DS90UB913Q_DIN[2~9]" and data format is "BT656, YUV422, 800x480". In VisionSDK_v2.08, I modify some settings in vision_sdk\examples\tda2xx\src\usecases\common\chains_common.c "ChainsCommon_SetDctrlConfig() " as below "RED". But nothing display on panel. ------------------------------------------------------------------------------------------------------------------------------ if(displayType == CHAINS_DISPLAY_TYPE_LCD_7_INCH) { pPrm->deviceId = DISPLAYCTRL_LINK_USE_LCD; pVInfo->vencId = SYSTEM_DCTRL_DSS_VENC_LCD1; pVInfo->outputPort = SYSTEM_DCTRL_DSS_DPI1_OUTPUT; pVInfo->vencOutputInfo.vsPolarity = SYSTEM_DCTRL_POLARITY_ACT_LOW; pVInfo->vencOutputInfo.hsPolarity = SYSTEM_DCTRL_POLARITY_ACT_LOW; /* Below are of dont care for EVM LCD */ pVInfo->vencOutputInfo.fidPolarity = SYSTEM_DCTRL_POLARITY_ACT_LOW; pVInfo->vencOutputInfo.actVidPolarity = SYSTEM_DCTRL_POLARITY_ACT_LOW; pVInfo->mInfo.standard = SYSTEM_STD_CUSTOM; pVInfo->mInfo.width = displayWidth; pVInfo->mInfo.height = displayHeight; pVInfo->mInfo.scanFormat = SYSTEM_SF_PROGRESSIVE; pVInfo->mInfo.pixelClock = 29232u; pVInfo->mInfo.fps = 60U; pVInfo->mInfo.hFrontPorch = 40u; pVInfo->mInfo.hBackPorch = 40u; pVInfo->mInfo.hSyncLen = 48u; pVInfo->mInfo.vFrontPorch = 13u; pVInfo->mInfo.vBackPorch = 29u; pVInfo->mInfo.vSyncLen = 3u; pVInfo->vencDivisorInfo.divisorLCD = 1; if(Bsp_platformIsTda3xxFamilyBuild()) { pVInfo->vencDivisorInfo.divisorPCD = 1; } else { pVInfo->vencDivisorInfo.divisorPCD = 4; } pVInfo->vencOutputInfo.dataFormat = SYSTEM_DF_YUV422I_YUYV;// SYSTEM_DF_RGB24_888; pVInfo->vencOutputInfo.dvoFormat = SYSTEM_DCTRL_DVOFMT_BT656_EMBSYNC; // SYSTEM_DCTRL_DVOFMT_GENERIC_DISCSYNC; pVInfo->vencOutputInfo.videoIfWidth = SYSTEM_VIFW_8BIT;//SYSTEM_VIFW_24BIT; pVInfo->vencOutputInfo.pixelClkPolarity = SYSTEM_DCTRL_POLARITY_ACT_HIGH; pVInfo->vencOutputInfo.aFmt = SYSTEM_DCTRL_A_OUTPUT_MAX; /* Configure overlay params */ ovlyPrms->vencId = SYSTEM_DCTRL_DSS_VENC_LCD1; } ------------------------------------------------------------------------------------------------------------------------------ I find the description in TDA2 TRM(as below), could TDA2 support 8-bit mode? Or am I missing any settings? Please give me some hints. – Displays supported: • Active matrix color: 12-, 16-, 18-, and 24-bit panel interface support (replicated or dithered encoded pixel values) Thanks in advance. + +Responses: +Hi Sherry, I think also pins [9:2] from TDA2 side should be used (instead of [7:0]). See the TRM note below. Regards, Stan + +Hi Stan, Thank you for your reply that H/W pin design. In the SW for display setting, I set it as below: pVInfo->vencOutputInfo.dataFormat = SYSTEM_DF_YUV422I_YUYV; pVInfo->vencOutputInfo.dvoFormat = SYSTEM_DCTRL_DVOFMT_BT656_EMBSYNC; pVInfo->vencOutputInfo.videoIfWidth = SYSTEM_VIFW_8BIT; and get error message as below dispdrv/src/vpsdrv_dctrl.c @ Line 713: Core control: Set venc output failed!! Assertion @ Line: 719 in links_ipu/display_ctrl/displayCtrlLink_drv.c: retVal == SYSTEM_LINK_STATUS_SOK : failed !!! I change videoIfWidth = SYSTEM_VIFW_10BIT and get the same error message. But set videoIfWidth = SYSTEM_VIFW_12BIT is OK! How do I set display venc's parameter for BT656? Kuve + +Hi Kuve, I don't have much knowledge in DSS software, therefore I cannot tell the exact settings. Regarding "But set videoIfWidth = SYSTEM_VIFW_12BIT is OK!" : there are no sub-12-bit settings available , because it reflects register bits DISPC_CONTROL1[9:8] TFTDATALINES, which in turn configures the data with in RGB mode. That is, it is irrelevant to BT656 and therefore you can leave it at default (12-bit). Because most of the other settings above are related to DSS registers, you can refer to Table 11-150. DISPC Configure BT.656 or BT.1120 Mode, and other tables in the same section of TRM. Regards, Stan + diff --git a/sample_embedding_folder2/0540822.txt b/sample_embedding_folder2/0540822.txt new file mode 100644 index 0000000000000000000000000000000000000000..26cc4d110de2dc131de532f1c241e56719ec4969 --- /dev/null +++ b/sample_embedding_folder2/0540822.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2x EVM (Vayu EVM): DDR3 reset signal and VTT turn off + +Query Text: +Other Parts Discussed in Thread: TDA2 Hello team, I have two questions about DDR3 reference schematic in Vayu EVM (516582G4_VAYU_EVM_03MAR_2015A.pdf). 1. In Vayu reference schematic, DDR3 reset signals (DDR1_RST, DDR2_RST) come from 1V35_DDR power, not from TDA2 DDR reset singals (AG21,R24). Is there any specific reason not to use TDA2 DDR reset signals? 2. In Vayu reference schematic, VTT regulation LOD includes TR circuit on VTT supply. It looks to discharge VTT supply when it is off. What is the specific reason to add this kinds of circuit, and is it the mendatory for VTT supply? Best regards, Lloyd + +Responses: +Hello Lloyd, All this is to support Suspend-To-RAM (STR), aka Fast Suspend-Resume (FSR). During STR the DDR3 memories must of course remain powered while the SoC is entirely off (except for possibly its RTC domains), and they must NOT be in reset (otherwise the memory chips shall exit the Suspend state and loose their contents). Therefore the DDRx_RST signals are derived from the PG output of the memory subsystem power buck (if you notice, the DDR3 supply for the SoC goes through a switch that is off during suspend, but the buck stays on). The SoC reset outputs pull low while it is off and would reset the chips if they were used for this purpose. On the other hand, the memory chips must see a stable low on CKE while in suspend. Therefore we actively discharge VTT, so that no glitches occur on CKE during the power-down (upon suspend entry) and power-up (upon resume) sequences - these are possible through the termination resistors of the other C/A bus signals. If STR/FSR is not a design requirement, the active discharge circuit is not needed, and the DDR3 resets can be driven by the SoC. Hope this answers your questions. Best regards, Lubo + diff --git a/sample_embedding_folder2/0540982.txt b/sample_embedding_folder2/0540982.txt new file mode 100644 index 0000000000000000000000000000000000000000..d8a42e93a263c7be439d138d1ae01931590da13c --- /dev/null +++ b/sample_embedding_folder2/0540982.txt @@ -0,0 +1,12 @@ +Ticket Name: XDS560V2 Emulator connection failure + +Query Text: +Other Parts Discussed in Thread: TDA2 Our project is developing in Linux environment. We have custom TDA3 board. I have connected Spectrum Digial XDS560V2 STM JTAG Emulator with our custom board. I try to launch debug configuration. I checked the all connection and initialized the gel files. After few minutes i got the following error. Error initializing emulator: (Error -2083 @ 0x0) Unable to communicate with the emulator. Confirm emulator configuration and connections, reset the emulator, and retry the operation. (Emulation package 5.1.73.0) + +Responses: +Hi Jaganathan, Did you try to eliminate the host PC factor? I mean did you try on another PC? Also, the front PC ports are often using cheap wires to the main board and fail to communicate. Rear USBs are always preferred. You can also try with another known good USB cable. Also, do you use known good power supply for the debugger unit? Regards, Stan + +Hi Stan, Same XDS560V2 JTAG Emulator is using in TDA2 EVM board. It is working in windows environment. I did test connection. Below are report generated by Code Composer Studio [Start: Spectrum Digital XDS560V2 STM USB Emulator_0] Execute the command: %ccs_base%/common/uscif/dbgjtag -f %boarddatafile% -rv -o -F inform,logfile=yes -S pathlength -S integrity [Result] -----[Print the board config pathname(s)]------------------------------------ /home/gnanaveluj/.ti/ti/0/0/BrdDat/testBoard.dat -----[Print the reset-command software log-file]----------------------------- This utility has selected a 560/2xx-class product. This utility will load the program 'sd560v2u.out'. E_RPCENV_IO_ERROR(-6) No connection: DTC_IO_Open::dtc_conf Download failed for file /home/gnanaveluj/ti/ccsv6/ccs_base/common/uscif/./././././xds560v2.out An error occurred while soft opening the controller. -----[An error has occurred and this utility has aborted]-------------------- This error is generated by TI's USCIF driver or utilities. The value is '-250' (0xffffff06). The title is 'SC_ERR_ECOM_EMUNAME'. The explanation is: An attempt to access the debug probe via USCIF ECOM has failed. [End: Spectrum Digital XDS560V2 STM USB Emulator_0] + +Hi, I resolved the issue. My laptop was connected with docking station. So it was not connected. I removed from docking station. Now i can able to connect with the board. + diff --git a/sample_embedding_folder2/0542041.txt b/sample_embedding_folder2/0542041.txt new file mode 100644 index 0000000000000000000000000000000000000000..923c87b57263e3adc9ca2b8bc08bac49ad705aa5 --- /dev/null +++ b/sample_embedding_folder2/0542041.txt @@ -0,0 +1,14 @@ +Ticket Name: Linker command files for CCS + +Query Text: +Other Parts Discussed in Thread: TDA2 Hello, I am using CCS v6.2 to check simple program for each core on TDA2 Vayu EVM. However, CCS project (Selected “Empty project w/ main.c”) does not provide linker command files. How can I get the command files for A15, C66 and M4? Best regards, Kenshow + +Responses: +Hello Kenshow, Try the attached one. You may include it in \ccsv6\ccs_base\c6000\include. TDA2x_C66.cmd Hope it helps, thanks, Alex + +Hi Alex, Thanks for C66x command file. Also, I would like to need command files of A15 (gcc base) and M4. Can I get them? Best regards, Kenshow + +Sure, attached. TDA2x.lds TDA2x_CM4.cmd Thanks, Alex + +Hi Alex, Thank you very much for useful files. I 'll be able to check my programs on each cores. Best regards, Kenshow + diff --git a/sample_embedding_folder2/0543489.txt b/sample_embedding_folder2/0543489.txt new file mode 100644 index 0000000000000000000000000000000000000000..37e95924318f1fc46fc08bfe674dfa6c2a66acde --- /dev/null +++ b/sample_embedding_folder2/0543489.txt @@ -0,0 +1,10 @@ +Ticket Name: How to use IPU1_0 instead of A15_0 to process NDK in TDA2x-EVM + +Query Text: +Hi all, When NDK_PROC_TO_USE=a15_0 by default, the target works normally. But when I set NDK_PROC_TO_USE=ipu1_0, the target halts after run. ipu1_0 is halted at Network_waitConnect() and the return status is 0. Meanwhile, there is no longer any response from UART when I try to send cmd to it. I have tried ipu1_1, the same result appeared. I did have done "gmake -s depend" before "gmake -s" as the guide metioned. my VSDK version is 2.08 I wonder if someone could help me. Thanks a lot. + +Responses: +Hello Benz, Can you send output of gmake -config after configuring NDK_PROC_TO_USE=ipu1_1? Also have you tried doing clean build after making changes? (remove binaries folder) Regards, Prasad + +Hello Prasad, Thank you for you tips. I did "gmake -s clean" before build cmd, and the target works well. + diff --git a/sample_embedding_folder2/0544217.txt b/sample_embedding_folder2/0544217.txt new file mode 100644 index 0000000000000000000000000000000000000000..319e3c31ce4ca7857cdc44d52bd74469aa233130 --- /dev/null +++ b/sample_embedding_folder2/0544217.txt @@ -0,0 +1,14 @@ +Ticket Name: Realtime clock (RTC) subsystem time and calendar register not writeable? + +Query Text: +We are trying the TDA2xx RTC subsystem for time and calendar (TC) use. There appear to be problems writing to the TC registers. At the same time I can write to the a SCRATCH register and later read the correct value from it. I cannot do this for the TC registers, even the SECONDS register does not store the values. In addition the seconds is not counting since reading from that register is always '0'. Are there differences between setting up the TC registers and SCRATCH registers? We are configuring using the internal clock source. Thanks + +Responses: +Hi Dan, Do you use func clock from the PRCM or from the external rtc_osc_xi_clkin32 pin? What values you have in the below two registers? CM_RTC_CLKSTCTRL CM_RTC_RTCSS_CLKCTRL Make sure you follow the below TDA2x TRM sections: 23.4.1 Clock Source 23.4.3.3 OCP MMR Spurious Write Protection 23.4.3.5 Modifying the TC Registers 23.5.1.2 RTC Module Global Initialization Regards, Pavel + +Hi Pavel, Yes, first we are using the PRCM and wanted to pull the rtc_osc_xi_clkin32 pin low as suggested, however cannot find the actual pin pad location. It is not in the TRM. I am checking the other items you suggest, I have looked at those things. First is the RTC_STATUS_REG returns 0x0, which I was thinking it should be 0x2, which indicates the RTC is running. Am checking further. Thanks, Dan + +Dan, Dan Zulaica said: Yes, first we are using the PRCM and wanted to pull the rtc_osc_xi_clkin32 pin low as suggested, however cannot find the actual pin pad location. It is not in the TRM. Pad locations are documented in DM (data manual), not TRM. For TDA2Hx-17 (SPRS952A), rtc_osc_xi_clkin32 is at AA13. Regards, Pavel + +Hi Dan, I would like to highlight some spots that Pavel already pointed to. 1. Make sure RTC is enabled in PRCM - CM_RTC_CLKSTCTRL[1:0] CLKTRCTRL = 0x3 - CM_RTC_RTCSS_CLKCTRL[1:0] MODULEMODE = 0x2 2. Make sure RTC Register protection is turned off - RTC_KICK0_REG = 0x83E70B13 - RTC_KICK1_REG = 0x95A4F1E0 3. Select internal clock - RTC_OSC_REG[3] 32KCLK_SEL = 0 4. Enable clock -RTC_OSC_REG[6] 32KCLK_EN = 1 5. Start RTC runnig - RTC_CTRL_REG[0] STOP_RTC =1 6. Check RTC is running - RTC_STATUS_REG[1] RUN == 1 OR - See if seconds are updating Please be aware that internal 32-k clock is made of SYS_CLK1 div 610 and will be close to 32,768kHz only if you use SYS_CLK1 @20MHz. Best regards, Stan + diff --git a/sample_embedding_folder2/0547591.txt b/sample_embedding_folder2/0547591.txt new file mode 100644 index 0000000000000000000000000000000000000000..0110d6520faa9d7cdf5154998054bc98a0e006cc --- /dev/null +++ b/sample_embedding_folder2/0547591.txt @@ -0,0 +1,244 @@ +Ticket Name: Integrating Vision Algorithm on Vision SDK TDA3 + +Query Text: +Other Parts Discussed in Thread: TDA2 In our project, we have algorithm for vision algorithm for adas camera monitoring system using in c. Which is already working in TDA2 EVM board. I need to integrated with framework which is based on Vision SDK provided by Texas Intruments. To under stand Vision SDK completely,i would like to do Image Negative. I have attached the image which was generated by VSDK user case generation Using user case generation, i have generated file adasens_issImageNegative_priv.c adasens_issImageNegative_priv.h My image negative input, output structure and function prototype are below. typedef struct { unsigned char *ptImageInput; //Input Image to unsigned int uiNoRows; unsigned int uiNoCols; }stImageNegativeInput; chains_vipSingleCameraEdgeDetection.c /* + ******************************************************************************* + * + * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/ + * ALL RIGHTS RESERVED + * + ******************************************************************************* + */ + +/******************************************************************************* + * INCLUDE FILES + ******************************************************************************* + */ +#include "chains_vipSingleCameraEdgeDetection_priv.h" +#include + + +#define CAPTURE_SENSOR_WIDTH (1280) +#define CAPTURE_SENSOR_HEIGHT (720) + +/** + ******************************************************************************* + * + * \brief SingleCameraEdgeDetectionObject + * + * This structure contains all the LinksId's and create Params. + * The same is passed to all create, start, stop functions. + * + ******************************************************************************* +*/ +typedef struct { + + chains_vipSingleCameraEdgeDetectionObj ucObj; + + UInt32 captureOutWidth; + UInt32 captureOutHeight; + UInt32 displayWidth; + UInt32 displayHeight; + + Chains_Ctrl *chainsCfg; + +} Chains_VipSingleCameraEdgeDetectionAppObj; + +/** + ******************************************************************************* + * + * \brief Set Edge Detection Alg parameters + * + * It is called in Create function. + * In this function alg link params are set + * The algorithm which is to run on core is set to + * baseClassCreate.algId. The input whdth and height to alg are set. + * Number of input buffers required by alg are also set here. + * + * + * \param pPrm [IN] AlgorithmLink_EdgeDetectionCreateParams + * \param chainsCfg [IN] Chains_Ctrl + * + ******************************************************************************* +*/ +Void chains_vipSingleCameraEdgeDetection_SetEdgeDetectionAlgPrms( + AlgorithmLink_EdgeDetectionCreateParams *pPrm, + Chains_Ctrl *chainsCfg) { + pPrm->maxWidth = CAPTURE_SENSOR_WIDTH; + pPrm->maxHeight = CAPTURE_SENSOR_HEIGHT; + + pPrm->numOutputFrames = 3; +} + + +/** + ******************************************************************************* + * + * \brief Set link Parameters + * + * It is called in Create function of the auto generated use-case file. + * + * \param pUcObj [IN] Auto-generated usecase object + * \param appObj [IN] Application specific object + * + ******************************************************************************* +*/ +Void chains_vipSingleCameraEdgeDetection_SetAppPrms(chains_vipSingleCameraEdgeDetectionObj *pUcObj, + Void *appObj) { + Chains_VipSingleCameraEdgeDetectionAppObj *pObj + = (Chains_VipSingleCameraEdgeDetectionAppObj *)appObj; + + pObj->captureOutWidth = CAPTURE_SENSOR_WIDTH; + pObj->captureOutHeight = CAPTURE_SENSOR_HEIGHT; + ChainsCommon_GetDisplayWidthHeight( + pObj->chainsCfg->displayType, + &pObj->displayWidth, + &pObj->displayHeight + ); + + ChainsCommon_SingleCam_SetCapturePrms(&(pUcObj->CapturePrm), + CAPTURE_SENSOR_WIDTH, + CAPTURE_SENSOR_HEIGHT, + pObj->captureOutWidth, + pObj->captureOutHeight, + pObj->chainsCfg->captureSrc + ); + + ChainsCommon_SetGrpxSrcPrms(&pUcObj->GrpxSrcPrm, + pObj->displayWidth, + pObj->displayHeight + ); + + + ChainsCommon_SetDisplayPrms(&pUcObj->Display_VideoPrm, + &pUcObj->Display_GrpxPrm, + pObj->chainsCfg->displayType, + pObj->displayWidth, + pObj->displayHeight + ); + + ChainsCommon_StartDisplayCtrl( + pObj->chainsCfg->displayType, + pObj->displayWidth, + pObj->displayHeight + ); + + chains_vipSingleCameraEdgeDetection_SetEdgeDetectionAlgPrms + (&pUcObj->Alg_EdgeDetectPrm, + pObj->chainsCfg); +} + +/** + ******************************************************************************* + * + * \brief Start the capture display Links + * + * Function sends a control command to capture and display link to + * to Start all the required links . Links are started in reverce + * order as information of next link is required to connect. + * System_linkStart is called with LinkId to start the links. + * + * \param pObj [IN] Chains_VipSingleCameraEdgeDetectionAppObj + * + * \return SYSTEM_LINK_STATUS_SOK on success + * + ******************************************************************************* +*/ +Void chains_vipSingleCameraEdgeDetection_StartApp(Chains_VipSingleCameraEdgeDetectionAppObj *pObj) { + Chains_memPrintHeapStatus(); + + ChainsCommon_StartDisplayDevice(pObj->chainsCfg->displayType); + + ChainsCommon_StartCaptureDevice( + pObj->chainsCfg->captureSrc, + pObj->captureOutWidth, + pObj->captureOutHeight,1 + ); + + chains_vipSingleCameraEdgeDetection_Start(&pObj->ucObj); + + Chains_prfLoadCalcEnable(TRUE, FALSE, FALSE); +} + +/** + ******************************************************************************* + * + * \brief Delete the capture display Links + * + * Function sends a control command to capture and display link to + * to delete all the prior created links + * System_linkDelete is called with LinkId to delete the links. + * + * \param pObj [IN] Chains_VipSingleCameraEdgeDetectionAppObj + * + ******************************************************************************* +*/ +Void chains_vipSingleCameraEdgeDetection_StopAndDeleteApp(Chains_VipSingleCameraEdgeDetectionAppObj + *pObj) { + chains_vipSingleCameraEdgeDetection_Stop(&pObj->ucObj); + chains_vipSingleCameraEdgeDetection_Delete(&pObj->ucObj); + + ChainsCommon_StopDisplayCtrl(); + ChainsCommon_StopCaptureDevice(pObj->chainsCfg->captureSrc); + ChainsCommon_StopDisplayDevice(pObj->chainsCfg->displayType); + + /* Print the HWI, SWI and all tasks load */ + /* Reset the accumulated timer ticks */ + Chains_prfLoadCalcEnable(FALSE, TRUE, TRUE); +} + +/** + ******************************************************************************* + * + * \brief Single Channel Capture Display usecase function + * + * This functions executes the create, start functions + * + * Further in a while loop displays run time menu and waits + * for user inputs to print the statistics or to end the demo. + * + * Once the user inputs end of demo stop and delete + * functions are executed. + * + * \param chainsCfg [IN] Chains_Ctrl + * + ******************************************************************************* +*/ +Void Chains_vipSingleCameraEdgeDetection(Chains_Ctrl *chainsCfg) { + char ch; + UInt32 done = FALSE; + Chains_VipSingleCameraEdgeDetectionAppObj chainsObj; + + chainsObj.chainsCfg = chainsCfg; + + chains_vipSingleCameraEdgeDetection_Create(&chainsObj.ucObj, &chainsObj); + + chains_vipSingleCameraEdgeDetection_StartApp(&chainsObj); + + while(!done) { + ch = Chains_menuRunTime(); + + switch(ch) { + case '0': + done = TRUE; + break; + case 'p': + case 'P': + ChainsCommon_PrintStatistics(); + chains_vipSingleCameraEdgeDetection_printStatistics(&chainsObj.ucObj); + break; + default: + Vps_printf("\nUnsupported option '%c'. Please try again\n", ch); + break; + } + } + + chains_vipSingleCameraEdgeDetection_StopAndDeleteApp(&chainsObj); + +} + + typedef struct { unsigned char *ptImageOutput; }stImageNegativeOutput; void ImageNegative(&stImageNegatvieInput,&stImageNegativeOutput); Assume that, chains_vipSingleCameraEdgeDetection.c(attched with this) is performing image negative. I have to call the ImageNegative for each frame. Can you please tell me, where i have to exactly call my ImageNegative fuctions and initialize the input and output structures. + +Responses: +Hi, Algorithm is integrated into Algorithm Link in Vision SDK. You have to create an algorithm link plug-in for your algorithm. Please refer to Chapter 4 in Vision SDK Development Guide. For example, you can refer to ~\VISION_SDK_02_xx_xx_xx\vision_sdk\examples\tda2xx\src\alg_plugins\edgedetection. + diff --git a/sample_embedding_folder2/0563747.txt b/sample_embedding_folder2/0563747.txt new file mode 100644 index 0000000000000000000000000000000000000000..e2c946bec5406c43393642a680410c1766f1aa2e --- /dev/null +++ b/sample_embedding_folder2/0563747.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2EVM5777: which os systems are supported on this platfrom? + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2, SYSBIOS Tool/software: TI-RTOS Dear, Now We want to use TDA2EVM5777 platform to develope project. Because there are 2-cortexA15 arm cores,2-C66X DSP cores. 2x Dual Cortex-M4. I want to know if the whole platfrom is supported by SYS/BIOS? if so,we can debug project for every cores in SYS/BIOS by emulator? by the way, if there are some others OS systems for this platform,such linux,IOS,and so on? BRS, Meng + +Responses: +Hi Meng, Are you using Vision SDK for this platform? It does support SYS/BIOS for all the cores. Please refer to Vision SDK White paper, figure 4 for the software stack diagram ( www.ti.com/.../spry260.pdf). Regarding the question about emulator support and other OSes support, we would have to move this thread to the device forum for a faster response from the TDA2 platform experts. Vikram + +Dear Vikram, Thank you for your reply. I shall browse through the document mentioned by you. BRS, Meng + +Dear Vikram, Thank you for your reply. There are some others questions about this platfrom,could you give me help? Thank you in advance. The following picture is TI vision SDK software frame. I want to know which ccs version is used for TI vision SDK software? which sysbios version is used for TI vision SDK software? The software use IPC3.0 for Inter-core communiation,where I can download this IPC version? It is suggested for sysbios version,IPC version and XDCtools from the following website: software-dl.ti.com/.../index.html For IPC3.0, which sysbios version and Xdctools and ccs version are suggested? by the way,my current OS is WIN7. CCS6.0 version and above can be installed in WIn7 OS? T Thanks a lot! BRS, Meng + +Hi Meng you do not need to download each components like Sys-bios, IPC, XDC separately, VSDK is a single installer contain all these packages, just download VSDK and follow the User guide to build and test. CCS version 6.0.1.00040 or higher should be used along with vision SDK 2.10 or 2.11 release. Regards, Shiju + diff --git a/sample_embedding_folder2/0563807.txt b/sample_embedding_folder2/0563807.txt new file mode 100644 index 0000000000000000000000000000000000000000..992a9c7d441b5bd3ca68f4d84a33d0bbd8c6cd89 --- /dev/null +++ b/sample_embedding_folder2/0563807.txt @@ -0,0 +1,12 @@ +Ticket Name: Embedded Xvisor for Ti platforms + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi All, Is possible to port xvisor on any of TI platform like DM8148 , TDA2x ? If so then what are steps to port ? Regards, Vinayak + +Responses: +Hello Vinayak, Let me move this to the TDAxx forum, they might be able to help you. Regards, Karl + +Hi, Experts are notified and will write directly in the thread. Regards, Mariya + +Hi Vinayak, In general, Hypervisor is an offering from TI 3rd parties. TI does not have an inhouse solution for Hypervisor. Specifically, there are current working solutions on Xen and COQOS from 3Ps. I haven't seen an XVisor port on TI platform. Nevertheless, since Xvisor supports ARMv8, it should be possible to enable it on J6 / TDA2. However, we wouldn't be able to guide you directly on this. We can put you in touch with our 3Ps. Please contact your FAE for 3P details. Regards, Anand + diff --git a/sample_embedding_folder2/0565132.txt b/sample_embedding_folder2/0565132.txt new file mode 100644 index 0000000000000000000000000000000000000000..96031cb670673dbb098efc2d6f18471fa8cf2e07 --- /dev/null +++ b/sample_embedding_folder2/0565132.txt @@ -0,0 +1,34 @@ +Ticket Name: TDA2EVM5777: Pedestrian Detection with Network File source + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hi, I want to run the "vip_single_cam_object_detection2" pedestrian detection usecase on Vayu EVM with network file source instead of camera capture. In this usecase, I replaced the "Capture" Link with "NullSource" Link with network file read with the help of "chains_networkRxDisplay" usecase. While running I am giving my raw NV12 format YUV video through the "network_tx.exe" network tool that came with Vision SDK. Problem is: if I give only a single frame of this raw video as input, it is able to detect pedestrians properly in that frame. But when I give the raw video (multiple frames) as input, it is not able to detect any pedestrian in any frame. I am able to play the video on 10" LCD. I tried to change frame rate in my .c file to 30, 1, 0.5, 0.2 FPS by setting the NullSource Param "timerPeriodMilliSecs" to corresponding time in millisec. Following is my setup: Vayu EVM (DRA74x) Rev G3 with 10" LCD without Vision Application Board. Vision SDK 2.11.00.00 with tda2xx_evm_bios_all configuration NDK_PROC_TO_USE=ipu1_0 I am sensing there is some timing related issue between the links. Can you suggest what could be the problem? Regards, Abhishek Gupta + +Responses: +Hi, Abhishek, Your query has been forwarded to an expert. Regards, Mariya + +Do you see output video with no pedestrains marked ? OR You do not see any video on the display ? regards Kedar + +Hi Kedar, I am able to see the output video on display with no pedestrian marked. Regards Abhishek + +Can you send the use-case file that you modified ? Also what is the test input you are using ? It is possible to send few frames of the test input so that we can check at our end. The pedestrian detection algorithm has some notion of history so it shows a pedestrian only if it is detected few times in a sequence of frames. Also the pedestrian detection algorithm is just demo and may not work so well on arbitrary input streams. regards Kedar + +PD_e2e_post_files.zip I have attached the use-case file and 15 frames of input video that I am using. I have created the video from 15 consecutive images from the Caltech dataset which is widely used for training and testing pedestrian detection algorithms. Regards, Abhishek + +hi Abhishek, We are able to recreate the issue at our end. We will get back to you on the solution. regards Kedar + +I looked at the video that you shared - it is mostly a collection of random frames and not a continuous video. Since the object tracking looks at continuity for several frames, it won't be able to output a stable object location. If you don't have a proper video to give as input, you can create one from the following sequence: https://data.vision.ee.ethz.ch/cvl/aess/cvpr2008/seq03-img-left.tar.gz There are several such sequences in the following page: data.vision.ee.ethz.ch/.../ Let us know how it goes. Best regards, Manu. + +Hi Manu, Thanks for your response. It was able to detect pedestrians in the sequences from the data-vision link you shared. There are some places where it is not able to detect some person or some false positives, but since these is a demo algorithm, I am ok with that. Can you tell me on which technical paper is the algorithm based on? And on what dataset it is trained on? Another thing which I could see is that if I run at more than 5 FPS, the application gets stuck after a few frames. There may be an issue with my network connection which can't support such high rates of data transfer (for 640x480@5fps, it takes ~2.3MBps). Lesser than 5 FPS, it plays fine. Regards, Abhishek + +Hi Abhishek, The ACF detector is a popular pedestrian detection algorithm. You can check it out at the following link. You can also find literature references there. pdollar.github.io/.../ I am not competent enough to comment about the frame freeze - Kedar can probably help there. Btw, do you mind describing details of the application that you are targetting? Best regards, Manu. + +Abhishek, Currently networkRxDisplay use case is configured to run at very low frame rate so as to work on core like M4 as well. For enabling higher frame rate in the use case application file change below to Frame rate you desire. As you are running this use-case on TDA2 A15 you should be able to set it upto 30fps Change this pPrm->timerPeriodMilliSecs = 1000; to pPrm->timerPeriodMilliSecs = 1000/30; + +Hi Abhishek, we are also trying to send video through network port could you please tell me how you have linked "chains_networkRxDisplay" usecase with "vip_single_cam_object_detection2" usecase Thanks, Swati + +Hi Swati, Make a copy of vip_single_cam_object_detection2 folder in /vision_sdk/examples/tda2xx/src/usecases/vip_single_cam_object_detection2". Then follow the following steps: 1. Replace "Capture" in chains_vipSingleCameraObjectDetect2Tda3xx.txt to "NullSource" 2. In the chains_vipSingleCameraObjectDetect2Tda3xx.c, you will have to replace all the CapturePrms with NullSrcPrms from chains_networkRxDisplay usecase. This involves adding the function chains_myObjDetect_SetNullSrcPrms instead of ChainsCommon_SingleCam_SetCapturePrms. 3. If you are using NDK_PROC_TO_USE=a15_0 (and not ipu1_0) in /vision_sdk/configs/tda2xx_evm_bios_all/cfg.mk (depending on what board and config you are using) then you need to add that dependency in your usecase folder's cfg.mk Follow the build procedure as mentioned in the vision sdk developer's guide. Hope it helps. + +Hi Abhishek, Thank you for the help. I have one query have you tried running the usecase for FCW which is in "C:\VISION_SDK_02_12_00_00\ti_components\algorithms_codecs\REL.200.V.SFM.C66X.00.01.00.00\200.V.SFM.C66X.00.01\modules\ti_forward_collision_warning\test\src" following path through network port. if yes ,can you suggest how to provide video streams as input to the above sample usecase. + +Hi Swati, I have not tried to build or run the FCW algo. But I think providing video streams over network would be same as the chains_networkRxDisplay usecase. You will have to use the network_tx.exe on windows provided in Vision sdk to transfer the file. The command and details are mentioned in the Vision sdk developer's guide. Regards, Abhishek + diff --git a/sample_embedding_folder2/0565961.txt b/sample_embedding_folder2/0565961.txt new file mode 100644 index 0000000000000000000000000000000000000000..9efee60394815555781b7aadb5156aca9ee5a97e --- /dev/null +++ b/sample_embedding_folder2/0565961.txt @@ -0,0 +1,22 @@ +Ticket Name: TDA2SX: Please help in determining capture to display latency in TDA2 for automotive applications + +Query Text: +Part Number: TDA2SX Hi, I have a question on how the latency between a camera capture and display, can be measured. I came across an article on TI wiki, that defines what i need: http://processors.wiki.ti.com/index.php/Latency_Measurement_on_Capture_Encode_Decode_Display_Demo. I would like to know if the same solutions exist for TDA2x processors and If yes, can you please share. Thank you in advance. Mahima + +Responses: +Hi Mahima, Are you using vision sdk? If yes, it prints latency from the capture to display when you print stats. Regards, Brijesh + +Just to add.. You would see the local link level latency and the source to link latency (which is equivalent to capture to particular link latency) in these statistics printed out from Vision SDK. Example is as below: [IPU1-0] 176.749191 s: Local Link Latency : Avg = 30 us, Min = 30 us, Max = 30 us, [IPU1-0] 176.749313 s: Source to Link Latency : Avg = 32971 us, Min = 32971 us, Max = 32971 us, Regards, Piyali + +Thanks Brijesh. Yes, vision sdk is used; but, in development environment. Please let me explain my set-up, with more clarity: 1. I have to measure glass to glass latency on a bench setup using 4 cameras. The camera output goes to the ECU which has a TDA2x processor. The output images from the ECU, goes over LVDS to a monitor. 2. I only have access to M4-0 and A15 core logs thru a serial board. The rest are not accessible while testing the product. 3. I went thru the vision sdk user guide and it outlines a separate hardware setup to execute the example use cases. This, I do not have. Is it possible, barring the above limitations, to capture the glass to glass latency? I’m pretty new to this. Sorry, If I’ve not asked the right question. Thank you once again -Mahima + +Thanks Piyali, for taking time out to answer. I've outlined, with more clarity, the limitations associated with capturing the latency in my setup. Kindly go thru, and let me know your suggestions. Thanks again. -Mahima + +Mahima, If you are using vision sdk, just press 'p' when usecase is running, it will print all statistics including latency from the capture to display. This is the latency from capture link to the display link. There will be additional 2 to 3 frames latency in capture and display, which is not counted in this stats. The other way to measure the latency is by keeping a counting clock in front of the camera and take a picture of clock and display output in single shot. The latency is difference between time in clock and display. Regards, Brijesh + +Thanks Brijesh. I think the system we use is a little different. we have a renderer in between the capture and display. I think vision sdk loses the frame once it goes inside the renderer. But the second method would give us a fair estimate though. So, thanks again for the help. + +Hi Mahima, It is possible even if you have rendered in between. You just need to copy srctimestamp from source frame to target frame in your rendered link. Regards, Brijesh + +Thanks Brijesh. I will try this on my system and let you know if I could capture the same. + diff --git a/sample_embedding_folder2/0566481.txt b/sample_embedding_folder2/0566481.txt new file mode 100644 index 0000000000000000000000000000000000000000..04b6ce1f9a348b6660539eba1a3c944513f18c7a --- /dev/null +++ b/sample_embedding_folder2/0566481.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: Cannot save uBoot env + +Query Text: +Other Parts Discussed in Thread: TDA2, SYSBIOS Hi all, I want to boot TDA2 EVM with NFS. I follow the document, VisionSDK_LinuxUserGuide.pdf, and do followinf steps: setenv bootargs 'console=ttyO0,115200n8 vram=16M root=/dev/nfs rw nfsroot=172.24.170.60:/datalocal/user/abc/vision_sdk/linux/targetfs rootwait ip=dhcp mem=1024M' setenv fdt_high 0x84000000 setenv bootcmd 'load mmc 0 0x825f0000 dra7-evm-infoadas.dtb;load mmc 0 0x80300000 zImage;bootz 0x80300000 - 0x825f0000' save But it shows error message: Saving Environment to MMC... MMC init failed zImage, dra7-evm-infoadas.dtb, MLO and u-boot.img are already copied to SD card. Is there anything I missed? My environment is TDA2, Linux + sysbios, Vision SDK v2.10. Thanks. Kevin Tsai + +Responses: +Hi, Kevin, VSDK expert is notified for your questions. Regards, Mariya + +hi, I guess you have to set your NFS server address correctly below one is for TI NFS server nfsroot=172.24.170.60:/datalocal/user/abc/vision_sdk/linux/targetfs pick the file uenv_nfs.txt, modify with your NFS server address, rename to uenv.txt and copy to SD card. regards, Shiju + +Hi Shiju, Thanks for your reply. I did change NFS address and path when I typed the command in console. But I forgot to change it when I typed this post. I am sorry for that. The error message mentions "MMC init failed". So I think something like pinmux should be modified. But the document does not describe about this. By the way, your sugestion is modifying uenv.txt directly instead of typing command at uboot, right? I will try it. Thanks. Kevin Tsai + diff --git a/sample_embedding_folder2/0567692.txt b/sample_embedding_folder2/0567692.txt new file mode 100644 index 0000000000000000000000000000000000000000..16f7fc367fea7fb2054e5fb964d842dcfffe69f5 --- /dev/null +++ b/sample_embedding_folder2/0567692.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2E: EDMA3 Emulator/Simulator for Desktop PC + +Query Text: +Part Number: TDA2E Dear Experts, is there some kind of an emulator/simulator available for EDMA3 for Host PC, similar to EVE SW which can be compiled for Host PC? I am not aware of anything like that. Could You please confirm? Many thanks and best regards, ROGERG + +Responses: +Hi, Your question has been forwarded to a customer support lead. Regards, Mariya + +Hi Rogerg, We do not have standalone EDMA simulator. However, EVE simulator includes the internal EDMA module so you can simulate EDMA functionality with EVE simulator. Regards, Stanley + +The dmautils similar to EVE are also provided on DSP which can be used for host emulation. You can find the package at VISION_SDK_XX_XX_XX_XX\ti_components\algorithms_codecs\200.V.OD.C66X.xx.xx\dmautils Note that here OD is an example, which is object deetction algorithm. But the directory also exists under the other algorithm directory such as CLR, LD, SFM, etc. Thanks, With Regards, Pramod + diff --git a/sample_embedding_folder2/0571580.txt b/sample_embedding_folder2/0571580.txt new file mode 100644 index 0000000000000000000000000000000000000000..65c016aa14dd79a694fd77f89fe3cc9eebf9a6b8 --- /dev/null +++ b/sample_embedding_folder2/0571580.txt @@ -0,0 +1,18 @@ +Ticket Name: TDA2SX: Link VLIB in visionSDK + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi, Where can I include VLib Libraries (common.lib, vlib.lib, vlib_cn.lib) to build on visionSDK2.10? I would like to to know which setting file to set these libraries. If I use VLib functions on frameCopyAlgoLocalDma.c, the build has link errors as follows: # Linking into C:/VisionSDK/VISION_SDK_02_10_00_00/vision_sdk/binaries/vision_sd k/bin/tda2xx-evm/vision_sdk_c66xdsp_1_release.xe66... warning: creating output section ".sram_start" without a SECTIONS specification undefined first referenced symbol in file --------- ---------------- _sram_start C:\VisionSDK\VISION_SDK_02_10_00_00\ti_components\algorithms_codecs \vlib_c66x_3_3_0_3\packages\ti\vlib\lib\common.ae66 error: unresolved symbols remain error: errors encountered during linking; "C:/VisionSDK/VISION_SDK_02_10_00_00/vision_sdk/binaries/vision_sdk/bin/tda2 xx-evm/vision_sdk_c66xdsp_1_release.xe66" not built gmake[6]: *** [C:/VisionSDK/VISION_SDK_02_10_00_00/vision_sdk/binaries/vision_sd k/bin/tda2xx-evm/vision_sdk_c66xdsp_1_release.xe66] Error 1 gmake[5]: *** [c66xdsp_1] Error 2 gmake[4]: *** [apps_dsp1] Error 2 gmake[3]: *** [apps] Error 2 gmake[2]: *** [apps] Error 2 gmake[1]: *** [vision_sdk_apps] Error 2 gmake: *** [vision_sdk] Error 2 Thanks, Kenshow + +Responses: +Hi, Kenshow, Your question has been forwarded to VSDK experts with a copy to VLIB expert. They will commnet directly here. Regards, Mariya + +Hi you can list these libs in either \vision_sdk\build\makerules\rules_66.mk (if its some kernel libs) or \vision_sdk\examples\MAKEFILE.MK (if they are application specific libs) regards, Shiju + +Hi Shiju, The default file of makerules_66.mk has already set the lib path. Also, should I add the path in \vision_sdk\examples\MAKEFILE.MK ? [vision_sdk\build\makerules\rules_66.mk] (Line-223): LIB_PATHS += $(vlib_PATH)/packages/ti/vlib/lib/vlib.ae66 (Line-224): LIB_PATHS += $(vlib_PATH)/packages/ti/vlib/lib/vlib_cn.ae66 (Line-225): LIB_PATHS += $(vlib_PATH)/packages/ti/vlib/lib/common.lib In this case, I just added vlib function into a file, C:\VISION_SDK_02_10_00_00\vision_sdk\examples\tda2xx\src\alg_plugins\framecopy\frameCopyAlgoLocalDma.c Should I set the lib path any more? and which file? Regards, Kenshow + +Kenshow no, you do not need to add this in any other files. One more thing is, include the VLIB header file that defines these functions in framecopy\frameCopyAlgoLocalDma.c regards, Shiju + +Hi Shiji, I had already defined the header. And, it seems link error. my AlgoLocalDma.c file is follows: --------------------------- : : #include #include #include Int32 Alg_FrameCopyProcess(Alg_FrameCopy_Obj *algHandle, UInt32 *inPtr[], UInt32 *outPtr[], UInt32 width, UInt32 height, UInt32 inPitch[], UInt32 outPitch[], UInt32 dataFormat, Uint32 copyMode ) { Int32 rowIdx; Int32 colIdx; UInt32 *inputPtr; UInt32 *outputPtr; UInt32 numPlanes; UInt32 wordWidth; UInt32 lineSizeInBytes; UInt32 opt; uint16_t tccStatus; Alg_FrameCopyDma_Obj * pAlgHandle; pAlgHandle = (Alg_FrameCopyDma_Obj *)algHandle; // TEST VLIB LINK VLIB_cache_init(); : : --------------------------- Regards, Kenshow + +The common.lib is intended to test VLIB in stand-alone, bare metal DSP environment. When you integrate VLIB into an application in VSDK, you don't need common.lib or the functions associated with them. For example, VLIB_cache_init() shouldn't be used if the VSDK has already initialized the cache, and VLIB_malloc() should not be used as this is just the testbench way of allocating memory. In your example above, you probably don't need VLIB_cache_init() or the 3 common header files you included. Is there some reason you feel that you need these? + diff --git a/sample_embedding_folder2/0572635.txt b/sample_embedding_folder2/0572635.txt new file mode 100644 index 0000000000000000000000000000000000000000..8d60b482e9efec78c93261a7d88d7cdc80bd2bcd --- /dev/null +++ b/sample_embedding_folder2/0572635.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2SX: Is it impossible to boot from the SD card with NDK on Vayu board? + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi, I am using vayu board with visionSDK2.8. On line 617 of the file C: \ VISION_SDK_ 02_ 08 _ 00 _ 00 \ vision_sdk \ Rules.make is written # When NDK is enabled, FATFS can not be used to to MMCSD conflict Dose it mean that it is impossible to boot from the SD card with NDK on Vayu board? Regards, Kenshow + +Responses: +Hi kenshow, Vision SDK experts have been notified to comment here. Thanks, Alex + +Hello Kenshow, This only applies to TDA3xx due to pin mux conflicts for using port1. But if it is necessary on TDA3xx as well we can enable FATFS and NDK together with the help of daughter board. For TDA2/2ex you should be able to use both FATFS and NDK together. + diff --git a/sample_embedding_folder2/0573203.txt b/sample_embedding_folder2/0573203.txt new file mode 100644 index 0000000000000000000000000000000000000000..662eab168b3beec6ee5d9df907e09c645821d0e4 --- /dev/null +++ b/sample_embedding_folder2/0573203.txt @@ -0,0 +1,16 @@ +Ticket Name: Cannot run use cases while TDA2 boot from eMMC + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi, If I boot TDA2 from SD card and run use cases, everything is OK. Now I boot it from eMMC and run the same code, there is something wrong with use cases. ASSERT (system_ipc.c|System_ipcInit|63) [IPU1-0] 8.081711 s: ***** IPU1_0 Firmware build time 13:26:09 Feb 9 2017 [IPU1-0] 8.081894 s: *** SYSTEM: CPU Frequency , [IPU1-0] 8.201244 s: SYSTEM: System Common Init in progress !!! [IPU1-0] 8.202128 s: SYSTEM: IPC init in progress !!! [IPU1-0] 8.202372 s: SYSTEM: Attaching to [IPU2] ... [HOST ] 11.728485 s: SYSTEM: System A15 Init in progress !!! [HOST ] 11.728546 s: SYSTEM: IPC: Init in progress !!! [HOST ] 11.728546 s: SYSTEM: IPC: Notify init in progress !!! [HOST ] 11.730804 s: SYSTEM: IPC: [IPU1-0] socket bind failed (Invalid argument, 22) !!! [HOST ] 11.730834 s: SYSTEM: IPC: [IPU1-0] Notify RX channel create failed (endpoint = 81) !!! [DSP1 ] 8.184133 s: ***** DSP1 Firmware build time 09:58:42 Jan 9 2017 [DSP1 ] 8.184194 s: *** SYSTEM: CPU Frequency , [DSP1 ] 8.200817 s: SYSTEM: System Common Init in progress !!! [DSP1 ] 8.201030 s: SYSTEM: IPC init in progress !!! [DSP1 ] 8.201091 s: SYSTEM: Attaching to [IPU1-0] ... [DSP1 ] 9.200817 s: SYSTEM: Attaching to [IPU1-0] ... [DSP1 ] 10.200847 s: SYSTEM: Attaching to [IPU1-0] ... [DSP1 ] 11.200878 s: SYSTEM: Attaching to [IPU1-0] ... [EVE1 ] 8.767248 s: ***** EVE Firmware build time 09:58:43 Jan 9 2017 [EVE1 ] 8.768834 s: *** SYSTEM: CPU Frequency , [EVE1 ] 8.771426 s: SYSTEM: System Common Init in progress !!! [EVE1 ] 8.774019 s: SYSTEM: IPC init in progress !!! [EVE1 ] 8.776123 s: SYSTEM: Attaching to [IPU1-0] ... [EVE2 ] 8.767370 s: ***** EVE Firmware build time 09:58:44 Jan 9 2017 [EVE2 ] 8.768956 s: *** SYSTEM: CPU Frequency , [EVE2 ] 8.771518 s: SYSTEM: System Common Init in progress !!! [EVE2 ] 8.774171 s: SYSTEM: IPC init in progress !!! [EVE2 ] 8.776276 s: SYSTEM: Attaching to [IPU1-0] ... [IPU2 ] 8.730464 s: [IPU2 ] EVE1 Image Load Completed [IPU2 ] 8.754376 s: [IPU2 ] EVE2 Image Load Completed [IPU2 ] 8.754498 s: [IPU2 ] EVE MMU configuration completed [IPU2 ] 8.754559 s: [IPU2 ] EVE MMU configuration completed [IPU2 ] 8.754651 s: ***** IPU2 Firmware build time 13:26:10 Feb 9 2017 [IPU2 ] 8.754773 s: *** SYSTEM: CPU Frequency , [IPU2 ] 8.756786 s: [IPU2 ] 8.756877 s: ### XDC ASSERT - ERROR CALLBACK START ### [IPU2 ] 8.756938 s: [IPU2 ] 8.757213 s: assertion failure [IPU2 ] 8.757274 s: [IPU2 ] 8.757304 s: ### XDC ASSERT - ERROR CALLBACK END ### [IPU2 ] 8.757365 s: [DSP1 ] 12.200908 s: SYSTEM: Attaching to [IPU1-0] ... [DSP1 ] 13.200939 s: SYSTEM: Attaching to [IPU1-0] ... [DSP1 ] 14.200939 s: SYSTEM: Attaching to [IPU1-0] ... [DSP1 ] 15.200969 s: SYSTEM: Attaching to [IPU1-0] ... [DSP1 ] 16.201000 s: SYSTEM: Attaching to [IPU1-0] ... Message will show "SYSTEM: Attaching to [IPU1-0]" continuously. BTW, the memory size is also different between the two booting mode. Booting from SD card: root@dra7xx-evm:~# free total used free shared buffers Mem: 634348 163636 470712 0 10260 -/+ buffers: 153376 480972 Swap: 0 0 0 Booting from eMMC: root@dra7xx-evm:~# free total used free shared buffers Mem: 2046540 143512 1903028 0 2892 -/+ buffers: 140620 1905920 Swap: 0 0 0 What is the different between SD card booting mode and eMMC booting mode? How can I run use cases while boot from eMMC? I am working on TDA2xx with VSDK v2.10. A15 OS is Linux. Thanks, Kevin Tsai + +Responses: +Hi, Kevin, Your question has been forwarded to VSDK expert. Regards, Mariya + +ravi can you please respond? regards, Shiju + +Hi Kevin, There should be no difference in memory and running usecases whether you are using SD/EMMC. This could be either related to filesystem or boot parameters. Are you using pre-built binaries or compiled? Please share boot parameters . You could print the boot environment in u-boot Stop at U-boot prompt (when it says hit any key to stop autoboot) and use command "printenv". Also did you copy the uenv.txt file to boot partition? If you modified uenv.txt, please share it. Regards, RK + +Hi Ravikumar, I make a copy of uenv.txt and rename it as uenv-emmc.txt. Now, I can run usecase. Thanks for your reminding. Kevin + +Hi Kevin, Thanks for updating the status of the thread. I will mark it as closed, if you have any other issues, you can write here. Regards, Yordan + diff --git a/sample_embedding_folder2/0574868.txt b/sample_embedding_folder2/0574868.txt new file mode 100644 index 0000000000000000000000000000000000000000..be429e8d3cd05ee83267c6cae4fbbe1a39e6febc --- /dev/null +++ b/sample_embedding_folder2/0574868.txt @@ -0,0 +1,21 @@ +Ticket Name: Linux/TDA2E: multiple video nodes possible on usb webcam(g_webcam)? + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2 Tool/software: Linux Hi Guys, Scenario: If i have multiple video source with different nodes say(/dev/video0...n) and i'm using usb webcam gadget mode. 1-> Is it possible to assign multiple video node to single usb port? or Do we have to unload webcam driver for assigning different node everytime? 2-> what about switching of video nodes. is it possible and how much time it can take to switch between video nodes? regards, Ganesh + +Responses: +Hi Ganseh, I have forwarded your question to the expert. Regards, Yordan + +Hi Yordan Kamenov , Is their any update? regards, Ganesh + +Hi Ganesh, I have pinged them. Regards, Yordan + +Hello, Just to clarify This question is comepletely related to V4L2 and USB It does not deal with the capture interfaces on the TDA2 platform. Now to answer your question, V4L2 USB driver would register video devices for as many webcams connected. The device numbers change only if you disconnect and reconnect cameras. You can always find the right device by-path /dev/v4l/by-path This way, you can identify a specific device without worrying about thr order of probing. I hope this helps Regards, Nikhil D + +Hi Nikhil Devshatwar, V4L2 USB driver would register video devices for as many webcams connected. + The device numbers change only if you disconnect and reconnect cameras. What you are telling is for usb host mode right?. what i'm asking is for usb device in uvc gadget mode. Just to clarify: I'm using VISION_SDK_02_12 with kernel 4.4. I have TDA2Ex EVM board, on that board two cameras are mounted on two CSI bus. Now i want webcam gadget mode i.e EVM as device mode. As their are two camera so their will be two device node will be created(say /dev/videoX & /dev/videoY) when we load camera driver. So to make EVM as webcam gadget we load usb_f_uvc.ko it will take only one video device node right? 1-> how can we make it possible to assign multiple camera output to single usb port by using usb_f_uvc(configfs). so that host side i can access multiple video device node? 2-> If not multiple video device node on single usb port then one camera output at a time? switching using configfs? but then how can we assign different camera output every time? regards, Ganesh + +Hello, your question is quiet confusing. First, the usb_f_uvc driver does not USE existing v4l2 CAPTURE device. It rather registers a NEW v4l2 OUTPUT device. Which means, application is supposed to dump buffers into it which internally sent from USB as a webcam gadget. The v4l2 device related to the USB port is a OUTPUT device. It is completely irrelevent to the v4l2 capture device registered from the CAL/CSI drivers. You need to write an application which takes data from v4l2 capture device (you can choose video1 or video2 from the CSI device) and then feed this into the v4l2 output device (video3 registered from USB driver) Application will have full control to decide and switch between the capture devices What you want is a USB gadget driver which somehow uses an existing V4L2 driver to send data over USB This sounds like application code, so I am not sure if this even exists as a kernel driver. I hope I clarified your concerns. Regards, Nikhil D + +Hi Nikhil Devshatwar , Thanks for your reply, i just needed that clarification only. I was looking for any mechanism available at kernel side to switch with your answer it is clarified their is no such mechanism at kernel side. uvc-gadget is a test application which can be used for testing uvc gadget webcam for single v4l2 capture to v4l2 output. regards, Ganesh + diff --git a/sample_embedding_folder2/0581287.txt b/sample_embedding_folder2/0581287.txt new file mode 100644 index 0000000000000000000000000000000000000000..b754ed6fe748c570627ca92abcb8b0a722b7ca45 --- /dev/null +++ b/sample_embedding_folder2/0581287.txt @@ -0,0 +1,14 @@ +Ticket Name: How to boot TDA2 from eMMC whether SD card is inserted or not? + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi, I boot TDA2 EVM from eMMC. In file "uenv-emmc.txt", I have to define "root". But something make me confused. If SD card is inserted while booting, it will be defined as /dev/mmcblk0 and eMMC will be defined as /dev/mmcblk1. If SD card is not inserted while booting, eMMC will be defined as /dev/mmcblk0. How to define "root" if I want to boot from eMMC whether SD card is inserted or not? Or I can fix eMMC as /dev/mmcblk0? And how to do it? Thanks, Kevin Tsai + +Responses: +Hi Kevin, I have forwarded your question to VisionSDK expert. Regards, Yordan + +Kevin Please provide the details of kernel release version you are using. In linux kernel, eMMC is enumarated as the mmcblk0 and SD card as mmcblk1. Regards Ravi + +Hi Ravi, Following is my Linux kernel version: Linux dra7xx-evm 3.14.63-00013-gcb5f01e-dirty #11 SMP PREEMPT Wed Mar 15 11:40:54 CST 2017 armv7l GNU/Linux BTW, where can I verify the enumaration of eMMC? Thanks, Kevin + +Kevin The mmcblk0 or mmcblk1 depends on order in which the devices are enumerated and valid device found. Another option is use UUID (Universally unique identifier), refer to TI-release, Check u-boot scripts, environment variables args_mmc, which setups the UUID for specific mmc boot partition. # part uuid mmc 0:2 uuid # run args_mmc # pri boot_args Regards Ravi + diff --git a/sample_embedding_folder2/0583648.txt b/sample_embedding_folder2/0583648.txt new file mode 100644 index 0000000000000000000000000000000000000000..f20b1f60d296f6fc7cfa894fe9e24f26d70a5ec3 --- /dev/null +++ b/sample_embedding_folder2/0583648.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2HA-17: Q: Should the power consumption for TDA2x ES2.0 and ES1.1 be equivalent or 'the same' assuming identical configuration? + +Query Text: +Part Number: TDA2HA-17 Question: Should the power consumption for TDA2x ES2.0 and ES1.1 be equivalent or 'the same' assuming identical configuration? Alternatively, should a TI EVM with a TDA2x ES2.0 device have the same or similar power consumption as a TI EVM with a TDA2x ES1.1 device? Alternatively, should a customer target board with a TDA2x ES2.0 device have the same or similar power consumption as a customer target board with a TDA2x ES1.1 device? Does TI have available a spreadsheet that calculates power consumption for a set of used components and IP? Is there a version for TDA2x ES2.0 and TDA ES1.1? Or are they available separately? Many thanks! + +Responses: +Hi Jason, I have forwarded the question to an expert to help. Regards, Yordan + +Jason, Yordan, Generally speaking, the power consumption for TDA2x ES2.0 and ES1.1 are the same. There are die to die differences that exist due to normal manufacturing variations. Regards Kyle + diff --git a/sample_embedding_folder2/0584994.txt b/sample_embedding_folder2/0584994.txt new file mode 100644 index 0000000000000000000000000000000000000000..61723f616635b8bdd163db04a017526d0e72df5b --- /dev/null +++ b/sample_embedding_folder2/0584994.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2E: Power Rail current requirements for TDA2+ and TDA2E + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2, Is there any documentation that i can reference that show's current requirements for each rail for TDA2+ and TDA2E. + +Responses: +Hi Julio, Current requirements will depend on many factors. I'm not sure we have study for those SoCs. But I'm sure the results would be very similar to these: processors.wiki.ti.com/.../AM57xx_Power_Consumption_Summary Regards, Stan + +Stan, Yes this is what i was looking for. Just a power consumption summary for typical use cases with TDA nothing too specific. Best, Julio + diff --git a/sample_embedding_folder2/0585063.txt b/sample_embedding_folder2/0585063.txt new file mode 100644 index 0000000000000000000000000000000000000000..3b3484553143abce35ca20b83f37bd559fd5db7c --- /dev/null +++ b/sample_embedding_folder2/0585063.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2SX: Data logging on TDA...best/most developed method? + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi Team, Regarding algorithm validation via data logging on TDA2 series of parts, which is the recommended/typical interface and why? (i.e. ethernet, straight to SD card, USB to PC)? Do we have any software tools on the PC side already developed to receive video data? I'm aware of example Ethernet usecase which sends one frame at a time, but wondering if we have something more advanced. Best, + +Responses: +Hi Lina, I have forwarded your question to VisionSDK experts to comment. Regards, Yordan + +Hello Lina, In vision SDK we have 'null' link which can be used for data logging. Currently it supports Ethernet, SD card and memory write. The choice of interface depends on throughput requirement of use-case. Ethernet supports higher bandwidth (upto 600Mbps TCP/IP) where as SD(~10Mbps) and memory are limited. If you want to log only few frames you can use SD card but for large video Ethernet is recommended. You can use opensource tools like ffmpeg, yuvplayer etc. for analyzing the post processed data. + +Hi Prasad, Thanks for the information. What about USB? Have you seen that implementation with a PC? Best, Lina + +Hello Lina, USB/PCIE are not supported with current implementation of null link. + diff --git a/sample_embedding_folder2/0586455.txt b/sample_embedding_folder2/0586455.txt new file mode 100644 index 0000000000000000000000000000000000000000..0505434448c7246e39336d46116ff703657e3226 --- /dev/null +++ b/sample_embedding_folder2/0586455.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2SX: TDA2Eco and TDA2x be pin-compatible + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi We have plans to create the TDA2x Board for AVM Applications. And TDA2x Board will be shared with TDA2x and TDA2Eco. Can TDA2Eco and TDA2x be pin-compatible? Regards, JP Park + +Responses: +Hi JP Park, TDA2x and TDA2Eco are pin-for-pin compatible, you can check the note in the bottom of the table here: www.ti.com/.../overview.page Regards, Yordan + +Hi, I want to add that the note can be somewhat misleading. The two devices are NOT pin-to-pin equivalent, but it IS possible that PCB is designed so it can accommodate the one or the other SoC. For example, TDA2 has no CSI2 interface, that is, those pins are acting as other interface pins (I think VIN pins). + +Hi, Thank you for your quick reply. the problem is solved thanks to you. Regards, JP Park + diff --git a/sample_embedding_folder2/0587995.txt b/sample_embedding_folder2/0587995.txt new file mode 100644 index 0000000000000000000000000000000000000000..1ab1b73d58ec8e5f198da9ac7ca9cedc2129197e --- /dev/null +++ b/sample_embedding_folder2/0587995.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2E: NDK LLDP and SNMP support + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2, CC3200 Tool/software: TI-RTOS Hello Experts, One of our customers is looking for LLDP support with TDA2 devices. Does TI NDK support LLDP and SNMP? If not is there any plans to add that support? Thanks! + +Responses: +Hi Prasad, TI does not have SNMP support, but we've partnered with InterNiche who does supply it. We even have an example on processors.wiki.ti.com, but for the TM4C device (but still with the NDK). We basically supply just the binary to proof it works. processors.wiki.ti.com/.../TI-RTOS_SNMP We don't have source code since that needs to be worked out with InterNiche. InterNiche's contact information is on the examples page. Todd + +Hello Todd, Thanks for your reply. Looks like SNTP offering from InterNiche is based on UDP and not LLDP. I will ask my customer to check SNMP offering from InterNiche. By any chance is there any plans to add LLDP support in NDK? + +No current plans. + +Hello Prasad, DMH Software offers SNMP-Agent implementation for the TI-RTOS SimpleLink platform. We built and tested the SNMP-Agent for TI-RTOS on the CC3200 Dev. Board. Please see more information here: www.dmhsoftware.com/ti-simplelink-iot-platform Please contact DMH for more information: info@dmhsoftware.com We will be happy to provide an evaluation SDK. Yigal Hochberg DMH Software + diff --git a/sample_embedding_folder2/0590092.txt b/sample_embedding_folder2/0590092.txt new file mode 100644 index 0000000000000000000000000000000000000000..34374738654f45bc483bb16d483441684e59b10b --- /dev/null +++ b/sample_embedding_folder2/0590092.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2SX: TDA2+ ACD Package information? + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Where can i find information regarding the packaging of the TDA2 plus ACD package. + +Responses: +Hi Julio, I wasn't able to find an ACD package for TDA2x. Did you mean ABC? + +Hi Stanislav, Sure, can you point me to that information. + +Hi, Julio, The information is in chapter 10 Mechanical Packaging and Orderable Information in Data Manual. You can download the data manual for the appropriate silicon revision from: Regards, Mariya + +Mariya Petkova, Thank you for the information, i found out my question was on an unreleased device. Thank you, Julio + diff --git a/sample_embedding_folder2/0590369.txt b/sample_embedding_folder2/0590369.txt new file mode 100644 index 0000000000000000000000000000000000000000..662769af128961897c7f324e8cee5f7bc06a49d3 --- /dev/null +++ b/sample_embedding_folder2/0590369.txt @@ -0,0 +1,32 @@ +Ticket Name: AM5718: 13MP camera on MIPI interface + +Query Text: +Part Number: AM5718 Other Parts Discussed in Thread: TDA2 Hello, I have been read the Document for AM571x Processor but i have below query. I have been checked "AM571x Industrial Development Kit" User's Guide. but this Development kit does not support mipi csi-2 camera interface. it has only provision for parallel camera interface. is there any another development kit which support USB 3.0 and Camera MIPI interface Support? Can we interface 13MP Camera on MIPI CSI-2 interface on AM571x Processor? Please provide us the support as soon as possible. Thanks & Best Support. + +Responses: +Hi, 1. No, there is no other EVM for AM571x. 2. The AM571x CSI interface is described in section 8 of the AM571x TRM Rev. E. + +Thanks for your reply. 2. I have been check AM571x TRM Rev. E. Document but there is no any description for Camera support(How much Mega Pixel). I mean this processor is capable to interface the 13MP Camera? + +What is the video format of your camera - resolution, frames per second? + +Thanks for your reply. We don't required the video streaming. We captured the raw data of image (8bit/pixel) from camera. We have some query as below. is there possible to get the line by line raw image data instead of whole image data? is there any Evolution board which support the USB 3.0 and camera (MIPI) interface? Thanks & Best Regards; + +Gentle Reminder.. Thanks & Best Regards; + +Sorry about this delay. I have escalated this to the factory team. + +Gentle Reminder.. Thanks & Best Regards; + +Hello: Regarding to USB3 camera support: The USB driver in the SDK may support standard Linux USB3 camera modules, though there is no examples in the SDK. You may reference to www.ti.com/.../tidep0076 where a PointGrey ( https://www.ptgrey.com/) camera module was used with an AM57 EVM. You may also want to check if the camera vendor support UVC driver or not. Regarding to 13MP support over CSI-2: Please confirm the spec of the camera module CSI-2 interface, with respect to required clock speed and number of lanes. This will allow us to confirm if the CSI-2 PHY is compatible with the camera. In the meantime, I am confirming maximum line width of our internal buffers to ensure it can support 4k pixel line width. regards jian + +Hi jian, Thanks for your quick answer. We have not concern with USB3.0 camera. We are asking for is there any evolution kit which support USB 3.0 (usb core (host+device)) and camera mipi CSI-2 interface support. Best Regards; Nikunj Patel + +gentle reminder. Thanks & Best Regards; Nikunj Patel + +Hello everyone; I want to download the "ti-processor-sdk-linux-automotive-omap5-uevm-6.04.00.02-installer.bin" sdk for Omap5432 evm board. Please provide me the link for that. Thanks & Best Regards; Nikunj Patel + +Hello everyone; Gentle reminder. Thanks & Best Regards; Nikunj Patel. + +Hi Nikunj Sorry for keeping you waiting on this thread. Unfortunately no one on the team supporting these forums are familiar with OMAP5 SDK etc, and will likely not be able to support any queries on it. To your original query on TI EVM supporting MIPI CSI , unfortunately currently none of the AM57x family EVMs have support for this. You can look at the following post e2e.ti.com/.../2262820 You can search for the TDA2 family evaluation boards, available from Spectrum Digital. Hope this helps some. Regards Mukul + diff --git a/sample_embedding_folder2/0597423.txt b/sample_embedding_folder2/0597423.txt new file mode 100644 index 0000000000000000000000000000000000000000..7c2b18bb5bcd6a85967e687f7ca166b43f746649 --- /dev/null +++ b/sample_embedding_folder2/0597423.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2EXEVM: How to divide the input and ouput image into several blocks for reaching 30fps + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2 Hi, In surround view camera system, we tried to load our own LUT and divide the input and output images into blocks according to the reference manual, and use DMA to transmit data, but the frame rate is less than 30 frames. we have some questions to ask, Q1, does the output image in DDR also need to be transferred with DMA from L2 SRAM? Q2, how to divide the image, whether the 880*1080 image is divided into small slices of 10*18 or large slices to ensure the width of each block is long enough? + +Responses: +Hi, I have forwarded your question to an imaging expert. Regards, Yordan + +Can you please confirm your device (TDA2 or TDA3?) and SW version (BIOS or Linux)? Please mention Vision SDK version number. + diff --git a/sample_embedding_folder2/0599158.txt b/sample_embedding_folder2/0599158.txt new file mode 100644 index 0000000000000000000000000000000000000000..098b992bef57663f2f4be1dd043d46bb25cb5a0c --- /dev/null +++ b/sample_embedding_folder2/0599158.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2HV: How to interpolate inter video frames from 30 fps to 60 fps + +Query Text: +Part Number: TDA2HV Dear experts, is there a way to interpolate (reconstruct or calculate) inter frames, from 30 fps to 60 fps? Similar to the way as of h.264 encoding (b-frames), by bidirectional motion estimation. Could IVAHD being (re)used for this? Or could you think of any other valid approach? Note: We do not just want to double the frames. + +Responses: +Hi Ewald, I have forwarded your question to an expert to comment. Regards, Yordan + +This kind of interpolation can be done by a custom algorithm. IVA-HD does not support this since this is not a art of any codec specification. But you maybe able to develop an algorithm on DSP or EVE. + diff --git a/sample_embedding_folder2/0599794.txt b/sample_embedding_folder2/0599794.txt new file mode 100644 index 0000000000000000000000000000000000000000..e4e4668853a25ead67ef752554b2ed196fcccdf0 --- /dev/null +++ b/sample_embedding_folder2/0599794.txt @@ -0,0 +1,12 @@ +Ticket Name: RTOS: SYS/BIOS: TDA2xx platform missing + +Query Text: +Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS Hello, I have tried multiple versions of SYS/BIOS and I could not find a TDA2xx platform among offered ones. However, there is a TDA3xx one as can be seen in this image: Is there any version of SYS/BIOS where I can find the TDA2xx and if not where can I acquire it or which platform can I use that is equivalent? Thank you. + +Responses: +Hello Nick, Not an SYS/BIOS expert, however an equivalent platform that you may try with is AM572x. Thanks, Alex + +Hello Alex, Thank you for the suggestion, I'll give it a try. + +Nick, SYS/BIOS platform information for TDA2 and TDA3 is not included in CCS releases today. For TDA2 or TDA3 development you could start with Vision SDK (under NDA). In this case please contact your local TI representative. + diff --git a/sample_embedding_folder2/0600601.txt b/sample_embedding_folder2/0600601.txt new file mode 100644 index 0000000000000000000000000000000000000000..32cd4f76d105c795ab6be20b7da56370d2f16d99 --- /dev/null +++ b/sample_embedding_folder2/0600601.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2P CTT - When will it be available? + +Query Text: +Other Parts Discussed in Thread: TDA2 Team, Please advise when the TDA2P Clock Tree Tool (CTT) will be released. Can the TDA2 CTT be used (i.e. what are the differences in the clock tree)? Best, + +Responses: +Hi, Lina, The TDA2Px will be released mid July in Auto Package. In general, the differences in clock tree between TDA2Px and TDA2x will be only in the supported modules of the devices - add modules with their clocks or remove modules. You can compare Data Manuals to figure out the differences. For existing modules in both family of devices, I think that for now you can use TDA2x CTT. Also, there is a released Sitara Plus CTT under NDA, if you want I can sent you in a private mail. Regards, Mariya + +Hi Mariya, I'm not familiar with the Sitara Plus. Will the clock tree tool be the same for both? If so, please send via email. Best, + +Hi, The CTT was sent via mail. I will close the thread. Regards, Mariya + diff --git a/sample_embedding_folder2/0604515.txt b/sample_embedding_folder2/0604515.txt new file mode 100644 index 0000000000000000000000000000000000000000..6b810366290829a6c951de4c9342ef7c45bc6946 --- /dev/null +++ b/sample_embedding_folder2/0604515.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: VOUT spread spectrum feature + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hello Team, My customer asked that Spread spectrum feature is supported on VOUT1 port due to EMI issue at VOUT1 PCLK frequency. In TDA2 TRM (TDA2x_SR2.0_SR1.x_NDA_TRM_vAD.pdf), there is a register (PLL_SSC_CONFIGURATION1) which can enable SSC feature on DPLL_VIDEO1 as below. On the other hand, it is noted that "SSC feature is not supported." Customer would like to know that they can use SSC feature on DPLL_VIDEO1 by enabling "PLL_SSC_CONFIGURATION1[EN_SSC]" register. How it would work when EN_SSC is enabled? + +Responses: +Hi Lloyd, SSC was not tested for one reason or another. Your customer may try it and use it if everything is fine, but TI will not be able to support them. Regards, Stan + diff --git a/sample_embedding_folder2/0605559.txt b/sample_embedding_folder2/0605559.txt new file mode 100644 index 0000000000000000000000000000000000000000..46983799ac297cb93f537a276aeee721ad78c2bf --- /dev/null +++ b/sample_embedding_folder2/0605559.txt @@ -0,0 +1,22 @@ +Ticket Name: Linux/DRA744: RGMII-ID ( Internal delay) setting.... + +Query Text: +Part Number: DRA744 Other Parts Discussed in Thread: TDA2 Tool/software: Linux Hi , I use the RGMII interface connect with Marvell Ethernet SW (88E6390). I set RGMII delay setting enable ( rgmii-id ) but it seems not work. Below is my device setting... &cpsw_emac0 { phy_id = <&davinci_mdio>, <0>; phy-mode = "rgmii-id"; dual_emac_res_vlan = <1>; fixed-link = <1 1000 0 0>; }; How to ensure the RGMII-ID enable setting is correct? + +Responses: +Hi Shawn, which is the version of your SDK/Linux kernel? Regards, Yordan + +GLSDK 7.04.03. Linux dra7xx-evm 3.14.63 + +Hi Shawn, I have forwarded your question to an ethernet expert. Regards, Yordan + +Shawn, Till Linux Ethernet expert helps you, can you please refer to http://www.ti.com/lit/an/snla243/snla243.pdf for RGMII delay settings? + +I find the RGMII features that only SR2.0 can enable or disable internal TXC delay. and I got the Chip Revision by dev2mem command 0x1B99002F --> SR 1.1 Is that mean i can not use RGMII-ID setting???? + +The RGMII-ID is not supported on SR1.1. The internal TXC delays are always enabled on this and remote side/PHY needs to take care of not reapplying the delay for Rx lines as TDA2 has already applied it. + +TXC delay is always enable..but it still have no delay on by board Below image is J6 RGMII TXC and TXD0 and do not connect anything. + +Could you check DRA7x Ethernet statistics registers? Is there any error bits set? Also check on PHY side too if any align/CRC issues. + diff --git a/sample_embedding_folder2/0608451.txt b/sample_embedding_folder2/0608451.txt new file mode 100644 index 0000000000000000000000000000000000000000..f974794188cf30a9047d9b8e17da00e962f9eff8 --- /dev/null +++ b/sample_embedding_folder2/0608451.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2x (ADAS) Ethernet problems + +Query Text: +Other Parts Discussed in Thread: TDA2 Dear support, I am trying to get Ethernet working on a TDA2 SoC with a DP83848Q PHY. I have reuesed the Ethernet driver from the VISION_SDK_02_08_00_00; I think this driver should run on the Vayu board. On my board I got receive and transmit working with this driver, but I have noticed that there are packets lost on both directions (receice and transmit). On my board only D0 and D1 is connected for transmit and receive to the DP83848Q. The connection is direct with a 22Ohms series resistor and not with a multiplexer in between as on the Vayu board. For the TDA2 SoC I have reused the pad configuration from the SDK. I have verified the 50MHz clock for the DP83848Q and TDA2 (RMII0_MHZ_50_CLK) is fine, the reset and power supply of DP83848Q is stable. Do you have any idea what I could try or what could cause the packet loss on my setup? For testing I would like to try to set the PHY to loopback mode; How do we have to setup the GMACSW_Config structure to enable the loopback mode in PHY? Best regards, Erwin + +Responses: +Hi Erwin, First, do you have all connections in place described in TRM Figure 24-178. RMII Interface Typical Application? Also, did you setup the CPSW for RMII mode? And did you check the PHY is discoverable via MDIO? Regards, Stan + +Hi Stan, Yes, all the connections are there; RMII mode is setup and the PHY is discoverable. When connecting with a PC via crossed over cable the link will be established. Data transfer works in both direction, but packets are lost in both direction. Best regards, Erwin + +Ok, can you post your strap pins configuration defined in PHY datasheet, 3.8 Strap Options? You said you use a crossed-over cable. Did you try with straight cable? Both should be ok, but just in case. '22-ohm termination' Where did this requirement came from? I could find 50-ohm recommendation in the datasheet. But first you may want to capture the waveforms and compare them vs. . Section 7 RMII Interface Timing Requirements. Regards, Stan + diff --git a/sample_embedding_folder2/0611062.txt b/sample_embedding_folder2/0611062.txt new file mode 100644 index 0000000000000000000000000000000000000000..e09b4d922ee4e255f44f1f84c85fa8d9bf4c1c2f --- /dev/null +++ b/sample_embedding_folder2/0611062.txt @@ -0,0 +1,10 @@ +Ticket Name: time measurement for each frame in EVE + +Query Text: +Other Parts Discussed in Thread: TDA2 Hello, I have to integrate EVE Sparse optical flow into our project in TDA2. I ran the sparse optical flow test bench. Test video has 5 frames. In the console, i get the TSC cycle and SCTM VCOP BUSY cycles at every frame. I would like to calculate the time consuming to perform the optical flow in every frame. Can you please tell me to compute the time for each frame. Jagan + +Responses: +Hi Jagan, I have forwarded your question to the EVE experts to comment. Regards, Yordan + +Hi Jagan, Once you have the TSC cycles per frame ( in terms of VCOP cycles) you can convert it to time by just dividing the cycles by the frequency at which EVE (VCOP) is running ( typically this value is 500MHz). Regards, Anshu + diff --git a/sample_embedding_folder2/0614700.txt b/sample_embedding_folder2/0614700.txt new file mode 100644 index 0000000000000000000000000000000000000000..7fbcbf59139c4a26c3ffa52aac8d891d87e66f37 --- /dev/null +++ b/sample_embedding_folder2/0614700.txt @@ -0,0 +1,36 @@ +Ticket Name: Linux/TDA2EVM5777: JTAG debugging and Linux running? + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Tool/software: Linux Hello! My name is Marco and I'm trying to develop a TDA2 based project in the following constellation: My development platform is the XC5777X CPU Board with TDA2. I'm using latest visual SDK, latest CCS and a XDS200 debugger (Firmware upgrade done). On both A15 linux is running, the other cores have to be programmed bare metal and, of course, have to be debugged over JTAG. So my first question: If I have Linux running, how can I connect the other cores over JTAG chain? I can not start any GEL-Script, or other CCS-Stuff on the "Linuxed" CPU, but I can connect it. I have to release the cores (M4 and C66x) and make them able to be connected using CCS with the XDS200 debugger... and don't know how to do this. Maybe anybody can help me? Second question: I've downloaded the "visual SDK" and was a little bit suprised: Everything works fine, until you are in the use case of pre-developed TI-Stuff. But we have to use the last bit of performance out of M4 and DSP, so this one have to be coded bare metal. There's not really a way shown, how to use a gnu-compiler and build a startupcode for each internal CPU from scratch. The only way shown is using TI-BIOS, RTOS and the buildsystem based on "use cases", "algorithm"... which do not fit our requirements. Are there any other SDK or examples available, which shows a point of start for bare metal programming the TDA2+? (M4, DSP, PRUs, etc... bare metal, Linux almost works great on A15.) TNX - Marco. + +Responses: +Hi Marco, Which version of VisionSDK you have? Regards, Yordan + +I have vision SDK on BIOS 2.12.02.... + +Hi Marco, for your second question you can check if Starterware works for you. It is a software development package that provides no-OS platform support for ARM and DSP processors. It is located in "...\VisionSDK_2_12\ti_components\drivers\starterware_01_07_01_20\" directory and has comprehensive docs and examples. For the JTAG question I will ping an expert to comment. Regards, Yordan + +Thank you very much: I will take a look and give it a try. Marco + +Marco Reppenhagen Marco Reppenhagen said: If I have Linux running, how can I connect the other cores over JTAG chain? You will need to install the TDA2x device support(located in the auto dev package) on your CCS. See here Then you will need to target connect to A15. When connected successfully you will have to run TDA2xx_MULTICORE_EnableAllCores() gel from the gel menu. If gel is executed successfully, you will now be able to target connect to M4 and DSP. Thanks, Alex + +Alex Bashkov : Of course I have installed the TDA2x support. I'm also able to connect A15 with CCS over XDS200 and I can run M4 code and DSP code after calling the GEL script. That is not what I'm looking for, because if Linux runs on the A15 cores, I'm not able to run any gel script on it... So my question is, how can I connect the cores over JTAG when Linux uses both A15 cores? I have to debug my code in the running system, this will be linux on the main cores and bare metal code on the subcores. I can not "connect" the cores in CCS JTAG chain, even though they are almost running (firmware successfully loaded via remoteproc in Linux). I can not run any gel script, after linux have been bootet on A15 cores. I have sadly no idea how to fix this... + +Marco Reppenhagen, Why are you not able to run any gel script on AM15 cores? Do you receive an error if you try to run the DSP enable gel or you just don't want to disturb Linux? Basically as far as I know, for a standalone DSP app you will need to use ARM-based CCS GEL scripts to take the DSP out of reset, and to do this you need to connect to the ARM, but if you don't want to disturb Linux then you will need to disable the ARM-based GEL scripts from performing "on target connect" functionality. Basically, you don't want the ARM running any GEL scripts *except* the one to take the DSP out of reset. Once the DSP is out of reset, you can connect to the DSP and load/run/debug your app. Thanks, Alex + +Thank you: I will try to disable "on target connect" functionality and be back for a report, tomorrow. + +Hello! I'm back again after I've tried many approaches, but I'm still not able to connect to M4 Subcore during Linux is running. I can not execute the GEL-Script, which will bring up the M4 cores; Following Error occoured: IPU1SSClkEnable_API() cannot be evaluated. Target failed to read 0x4AE06514 at (*((unsigned int *) ((cpu_num==1) ? (((0x4AE00000+0x6000)+0x500)+0x14) : (((0x4AE00000+0x6000)+0x700)+0x214)))&0x4) [TDA2xx_multicore_reset.gel:373] at IPUSSClkEnable(1) [TDA2xx_multicore_reset.gel:311] at IPU1SSClkEnable_API() If I bring up the M4 (IPU1@58820000) in the Linux via "remoteproc" (loading a pre-compiled xem4 as "dra7-ipu1-fw.xem4") dmesg shows me: [ 2162.133520] remoteproc0: releasing 58820000.ipu [ 2165.749631] omap-rproc 58820000.ipu: assigned reserved memory node ipu1_cma@9d000000 [ 2165.749686] remoteproc0: 58820000.ipu is available [ 2165.749694] remoteproc0: Note: remoteproc is still under development and considere. [ 2165.749702] remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backward comp. [ 2165.882920] remoteproc0: powering up 58820000.ipu [ 2165.882937] remoteproc0: Booting fw image dra7-ipu1-fw.xem4, size 4870616 [ 2165.883060] omap-iommu 58882000.mmu: 58882000.mmu: version 2.1 [ 2165.889434] remoteproc0: remote processor 58820000.ipu is now up [ 2165.889784] virtio_rpmsg_bus virtio0: rpmsg host is online [ 2165.890812] remoteproc0: registered virtio0 (type 7) I think, the IPU should be connectable over JTAG now... I tried IPU1/0 IPU1/1.. other m4 IPU2/0... second core: IPU2/1... with the following result: As mentioned: IPU2 (both cores) are still hold in reset. This is OK... because it have not been touched. BUT -> IPU1 (tried out both cores): This IPU1 core I've just started is not connectable in JTAG chain: "Can not access to DAP"... Why? It should be running... being out of reset, setup... a programm should run...? (I've no other processor in development, which cores can't be connected, if they have been setup successfully, and are successfully running, i can connect them over JTAG chain... there must be something missing here....) OK - I tried out to override the linux-stuff on M4 and started a new debug session on CSS. In detail I got the following error message: Error connecting to the target: (Error -1170 @ 0x0) Unable to access the DAP. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 7.0.48.0) Do you have any suggestions, how to cope with this problem? THANK YOU - Marco. + +Hello again Marco Reppenhagen , Let me investigate your results thoroughly and try something out on my side. Will get back to you soon. Thanks Alex + +Thank you... I stand by for any kind of suggestions :-) + +As posted in another ticket: I've got another problem using "remoteproc" to use firmware in the sub-cores: The linux used in the latest (?) vision-sdk is quite old an do not support the control stuff... more precisely: It do not generate the "/sys/class/remoteproc/" directory. I installed the lates mainline kernel which generates this interface, but of course without any entry: The dra7xx dts do not deal with subcores. A15 Main CPU works fine, but I sadly do not found any support for ipu and/or dsp. My idea was to control the cores with linux and be shure they are running while I try to connect with JTAG chain as mentioned above in this thread. But this is temporary not possbile... Either I have to backport the mainline-kernel remoteproc code to the old 4.4. kernel used in SDK, or I have to implement the support of ipu and dsp into the mainline kernel. Before I try this on my own, I would like to ask you, if theres is any kernel ready to use with TDA2 subcore AND fully functional remoteproc interface available... Thank you: Marco + +OK... I found a solution: patchwork.kernel.org/.../ After patching I've got what I need. + +OK... Something new -> Short, FYI: I'm now able to build "something" like a firmware, which I can load into the M4 core. At this moment the startup-code is not working properly, the small programm is not running... but the Core change its state from "offline" to "running" after loading the ELF into the M4 via remoteproc... and after doing this, I'm able to connect the core over XDS200 using the CCS and a standard-ccxml Target confguration. (Later I will try to use this to "upload" some code via JTAG into the M4... (lack of time at the moment...) ) CU Marco. + +Now I've got a solution. Something went wrong building the ELF... placing the IVT by the " #pragma" which I had to replace using some "__XXX__" GCC instructions. Now I am able to build Cortex M4 code using arm-linux-gnueabi-xxx toolchain in a very small build environment and loading this as a firmware up to the M4s of the TDA2... it's running fine! Thank you for your support. + diff --git a/sample_embedding_folder2/0614776.txt b/sample_embedding_folder2/0614776.txt new file mode 100644 index 0000000000000000000000000000000000000000..4a6a7ef07d8a477c4be73852eb1b91b7e2f6bbb6 --- /dev/null +++ b/sample_embedding_folder2/0614776.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2HG: OpenVX + +Query Text: +Part Number: TDA2HG Other Parts Discussed in Thread: TDA2 What accelerator does the OpenVX implementation supports? I know that your demos won’t be moved over to OpenVX but how stable is the OpenVX implementation if we wanted to implement our algorithms with OpenVX for the TDA2 family? + +Responses: +Aaron, Thanks for your questions. 1. Supported targets: As of today, all of the OpenVX kernels are implemented on C66 DSPs, so they are certainly supported as available targets. Connectivity to user kernels on EVE target has been verified using a TI extension "Harris Corners" kernel. And the ARM M4s and A15s are also supported targets. 2. OpenVX is currently in beta for TDA2x family. What we mean by this is that it passes the OpenVX conformance tests, as well as additional robustness tests, but it hasn't been internally tested in non-trivial algorithm demos/applications yet. We intend to do this internally by the time we make our end of year release, and in the mean time we also intend to continue to add features (such as graph pipelining) and support bug fixes on TDA2x platform. Algorithms which could benefit from graph pipelining will function, but not as optimally as will be the case when graph pipelinining is supported. Adding custom kernels can be done by following the pattern from existing OpenVX kernels, and one of the tutorials shows how to do this. We are also planning on adding scripts and specific app notes for this in the next few months which facilitate this effort. Please let me know if you have any more questions. Jesse + diff --git a/sample_embedding_folder2/0614777.txt b/sample_embedding_folder2/0614777.txt new file mode 100644 index 0000000000000000000000000000000000000000..0310f13e3e29b1f818b8c9cef98e4687aeb97c7a --- /dev/null +++ b/sample_embedding_folder2/0614777.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2HG: Vulcan support + +Query Text: +Part Number: TDA2HG Other Parts Discussed in Thread: TDA2 Does the GPU on the TDA2 support the Vulcan API? + +Responses: +Hello Aaron Seibold , The TDA2x GPU is SGX544 core. On the 3rd party support page this core is listed as "not supported". Furthermore, this 3rd party API is also not listed as supported in the TRM. Here is what's supported officially: – OpenGL® - ES 1.1 and 2.0 – OpenCL™-EP 1.1 – Direct3D® Feature Level 9.3 Thanks, Alex + diff --git a/sample_embedding_folder2/0615108.txt b/sample_embedding_folder2/0615108.txt new file mode 100644 index 0000000000000000000000000000000000000000..6a29cdceba260eabb77d9359bbabb68e281e2083 --- /dev/null +++ b/sample_embedding_folder2/0615108.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2SX: Number of GFLOPS , DLOPS? How to calculate the computing power of TDA2x + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2, 66AK2H12, Hi TI Experts, 1. We have some ADAS customers asking about the computing power of TDA2 series SoCs. I cannot find an official document listing the computing power of TDA2x in GFLOPS/ TFLOPS from TI, Where can we find or how to calculate that number? The ADAS application requires the use of deep learning algorithms, in comparison, we get to know that Mobile Eye says that the EyeQ3 delivers ~300 GFLOPS, while EyeQ4 push that number to 2.5 TFLOPS. On TI DSP overview page http://www.ti.com/processors/dsp/overview.html, I find this information, saying that the TI C66x DSP core delivers 32 GMACs and 16 GFLOPS per core at 1 GHz. And, I find the efficiency of ARM Cortex-A15 is around 6.9FLOPS/GHz/Core (https://devtalk.nvidia.com/default/topic/813318/jetson-tk1/flops-for-jetson-host/ ), So, I did the math for 66AK2H12(4* ARM Cortex-A15@1.4GHz,8* C66x @1.2GHz), the total computing power should be around 4*1.4 GHz * 6.9 GFLOPS/GHz + 8*1.2 GHz * 16 GFLOPS/GHz = 38GFLOPS + 153.6GFLOPS = 191.6 GFLOPS, which is quite close to the 200GFLOPS on the TI DSP overview page. In the very same way, we can calculate the GFLOPS of TDA2SX(2* ARM Cortex-A15@1.176GHz,2* C66x @0.75GHz ) it's 2*1.176 GHz*6.9 GFLOPS/GHz + 2*0.75 GHz*16 GFLOPS/GHz = 16+24 =40 GFLOPS In the meanwhile, I found a video from youtube (www.youtube.com/watch saying that the computing power of TDA2 is 266 Giga DLOPs 2. Can you explain what DLOPs(I'm guessing "Deep Learning Operations" ) means? what its relationship with FLOPS? 3. Since the EyeQx uses MIPS CPUs, which has a comparable efficiency to ARM Cortex-A CPU, I doubt that a 3 Watt Soc will deliver 300 GFLOPS or even 2.5 TFLOPS, while TI TDA2x only delivers 40 GFLOPS... So, Is that in deep learning field, people define FLOPS differently? I found people discussing that in deep learning algorithms, only half-precision floating point operation is needed, but regularly, when people talk about FLOPS, they mean single-precision floating point(see https://teslamotorsclub.com/tmc/threads/ap2-0-cameras-capabilities-and-limitations.86430/page-20 #396). + +Responses: +Hi Nestor, I have forwarded your question to Deep Learning experts. Regards, Yordan + +Hi Yordan, Is there any feedback? Thanks. + +Hi Yordan, Can you help to ask the Deep Learning experts for progress? Thanks. + +Hi Nestor, sorry for the delay, I will ping them. Regards, Yordan + +Hi Nestor, Let me first define the terminology (at least used by me in my response) FLOPS: Single precision Floating point operations MAC: Multiply + Accumulate operation. 1 MAC is equivalent to 2 operations DLOPS: In Deep learning, as you said half float or even 8-bit fixed point data type is sufficient. So in the above slide DLOPS refers to 8-bit arithmetic or conditional operation (Multiply/Add/Compare). So you can assume 1 MAC = 2 DLOPS Many researchers have suggested that 8-bit or 16-bit fixed point data type is suffice for deep learning and TI also believe that so I will focus on GMAC (or DLOPS now) in regard to the above slide TDA2x (Theoretical performance) for 8-bit or 16-bit fixed point data type 2x C6x DSP @ 1000 GHz = 2*32 GMACS = 64 GMACS 4xEVE @900 MHz = 4*16*900 MMACS = 57.6 GMACS 2xA15 @1800 MHz = 2* 8 * 1800 MMACS = 28.8 GMACS Total = 150.4 GMACs = 300 GDLOPS Now the actual throughput depends a lot on network structure, so I will not be able to comment on a single number. The slide referred by you mentions the performance of a semantic segmentation application using deep learning network. IN this we use only 4xEVE cores and that’s why the power consumption is 2.5 W!!! Now the question remains open is that the theoretical best of 4xEVE is 57.6 GMAC (115.2 GDLOPS) then how could 266 GDLOPS are achieved. And here also the point is the network property. If you look at the network and count the DLOPS, it is 266 GDLOPS but the TI Deep learning library identifies some redundant operations and avoids performing them and that’s why it can run a complex network having 266 GDLOPS on 4xEVE. Hope this clarifies… Thanks, With Regards, Pramod + diff --git a/sample_embedding_folder2/0616139.txt b/sample_embedding_folder2/0616139.txt new file mode 100644 index 0000000000000000000000000000000000000000..93059f15dd8b5e0c2a4b9024e0d343da99126fbf --- /dev/null +++ b/sample_embedding_folder2/0616139.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2EVM5777: Latest Linux Kernel available? + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Tool/software: Linux Hello! I've got a problem using linux on DRA7xxx (XC5777X Board): The "remoteproc" is not usable in SDK "Vision_SDK_2_12_02_00". The Kernel used in this SDK is a special patched linux-4.4.45 without generating the "sys/class/remoteproc" - control stuff! The mainline Kernel 4.13.0 is far away from the kernel used in the SDK, so backporting will not be as easy... but remoteproc is fully integrated. (Without any kind of TDA2 ipu or dsp support...? At least I can not not find any usable dts-file, or any supporting code... ) Do you have a newer linux kernel than 4.4 dealing with TDA2 subcores and fully suppored remoteproc? I have to work with M4 and DSP in TDA2 bare metal, so controlling the subcores with remoteproc (start, stop, etc...) is needed. Thank you... Marco. + +Responses: +The solution: patchwork.kernel.org/.../ + +Hi Marco, it's great you solved the issue and thanks for sharing the solution. Regards, Yordan + diff --git a/sample_embedding_folder2/0617712.txt b/sample_embedding_folder2/0617712.txt new file mode 100644 index 0000000000000000000000000000000000000000..0f40530ad36df3c66ee48c5f64704a91acad93e2 --- /dev/null +++ b/sample_embedding_folder2/0617712.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2EVM5777: How to build ELF firmware working with remoteproc using GNU tools? + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Tool/software: Linux Hello *! I'm using the XC5777x Board with TDA2 Processor. Now I have to realize a baseline concept which fullfill the following requirements: A15 Core runs Linux and wil be the "Master" of the system. (This is works great!) All other cores have to be programmed "real bare metal", which means: no proprietary tools. No TI-Compiler, BIOS, RTOS... But I am not able to create any kind of working "ELF" file, which will be loaded and started successfully by remoteproc (Linux). All I got is "write error: Cannot allocate memory". This points to the kernel driver of remoteproc and crahes, if the section ".resource_table" can not be found or is empty, filled with garbish... ? But I can see such a section using "readelf"... But it do not work at all. I can put this section whereever I want... no success at all. I used some linker script and header-files from visual_sdk to generate such a section... but withous success. The linux runs well, because a "Prebuild" (!!) example, without sourcecode... works fine! (messageq_single.xem4) Do anybody ever build a firmware successfully for C66x and M4 subcore which works fine using remoteproc? Please help me out with an example of how it work. (Linker .lds file, header files, simple main.c, startup code (*.asm), Makefile... using GCC... no CCS, no SDK, please...) Thank you: Marco + +Responses: +I've notified the sw team. Their feedback will be posted here. Best Regards, Yordan + +Ok.. Thank you very much. Additional informations can be found HERE: e2e.ti.com/.../2288499 TNX - Marco + diff --git a/sample_embedding_folder2/0623418.txt b/sample_embedding_folder2/0623418.txt new file mode 100644 index 0000000000000000000000000000000000000000..cb832ad2000115a1095136a0abd99ba792464b8f --- /dev/null +++ b/sample_embedding_folder2/0623418.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2SX: phy is often automatically disconnected and soon connected automatically + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi all, I'm now running networktx demo to test network function with a TDA2x EVB(Vayu).But I find a problem that phy is often automatically disconnected and soon connected automatically. My VisionSDK version is 2.9.1.0. And I use BIOS only on all cores. Here's the log. [IPU1-0] 9550.666564 s: NDK: Link Status: 1000Mb/s Full Duplex on PHY 2 [IPU1-0] 9917.376166 s: NDK: Link Status: No Link on PHY 2 [IPU1-0] 9920.269718 s: send failed (55) [IPU1-0] 9920.303086 s: send failed (55) [IPU1-0] 9920.369700 s: send failed (55) [IPU1-0] 9920.403068 s: send failed (55) [IPU1-0] 9920.436344 s: send failed (55) [IPU1-0] 9920.503050 s: send failed (55) [IPU1-0] 9920.536326 s: send failed (55) [IPU1-0] 9920.569663 s: send failed (55) [IPU1-0] 9920.636308 s: send failed (55) [IPU1-0] 9920.669615 s: send failed (55) [IPU1-0] 9920.703013 s: send failed (55) [IPU1-0] 9920.769596 s: send failed (55) [IPU1-0] 9920.802964 s: send failed (55) [IPU1-0] 9920.836271 s: send failed (55) [IPU1-0] 9920.902946 s: send failed (55) [IPU1-0] 9920.936283 s: send failed (55) [IPU1-0] 9920.969560 s: send failed (55) [IPU1-0] 9921.036234 s: send failed (55) [IPU1-0] 9921.069511 s: send failed (55) [IPU1-0] 9921.102909 s: send failed (55) [IPU1-0] 9921.169493 s: send failed (55) [IPU1-0] 9921.176569 s: NDK: Link Status: 1000Mb/s Full Duplex on PHY 2 [IPU1-0] 9978.377844 s: NDK: Link Status: No Link on PHY 2 [IPU1-0] 9981.221069 s: send failed (55) [IPU1-0] 9981.254346 s: send failed (55) [IPU1-0] 9981.321051 s: send failed (55) [IPU1-0] 9981.354328 s: send failed (55) [IPU1-0] 9981.387695 s: send failed (55) [IPU1-0] 9981.454279 s: send failed (55) [IPU1-0] 9981.487677 s: send failed (55) [IPU1-0] 9981.521106 s: send failed (55) [IPU1-0] 9981.587628 s: send failed (55) [IPU1-0] 9981.621088 s: send failed (55) [IPU1-0] 9981.654242 s: send failed (55) [IPU1-0] 9981.721100 s: send failed (55) [IPU1-0] 9981.754224 s: send failed (55) [IPU1-0] 9981.787592 s: send failed (55) [IPU1-0] 9981.854175 s: send failed (55) [IPU1-0] 9981.887573 s: send failed (55) [IPU1-0] 9981.921094 s: send failed (55) [IPU1-0] 9981.987525 s: send failed (55) [IPU1-0] 9982.021045 s: send failed (55) [IPU1-0] 9982.054138 s: send failed (55) [IPU1-0] 9982.120996 s: send failed (55) [IPU1-0] 9982.154120 s: send failed (55) [IPU1-0] 9982.178185 s: NDK: Link Status: 1000Mb/s Full Duplex on PHY 2 [IPU1-0] 10012.478740 s: NDK: Link Status: No Link on PHY 2 [IPU1-0] 10015.745684 s: send failed (55) [IPU1-0] 10015.779906 s: send failed (55) [IPU1-0] 10015.812389 s: send failed (55) [IPU1-0] 10015.879887 s: send failed (55) [IPU1-0] 10015.912249 s: send failed (55) [IPU1-0] 10015.945647 s: send failed (55) [IPU1-0] 10016.012230 s: send failed (55) [IPU1-0] 10016.045598 s: send failed (55) [IPU1-0] 10016.079942 s: send failed (55) [IPU1-0] 10016.145580 s: send failed (55) [IPU1-0] 10016.180015 s: send failed (55) [IPU1-0] 10016.212194 s: send failed (55) [IPU1-0] 10016.279448 s: NDK: Link Status: 1000Mb/s Full Duplex on PHY 2 [IPU1-0] 10287.886201 s: NDK: Link Status: No Link on PHY 2 [IPU1-0] 10290.643018 s: send failed (55) [IPU1-0] 10290.676325 s: send failed (55) [IPU1-0] 10290.742969 s: send failed (55) [IPU1-0] 10290.776276 s: send failed (55) [IPU1-0] 10290.809613 s: send failed (55) [IPU1-0] 10290.876227 s: send failed (55) [IPU1-0] 10290.909595 s: send failed (55) Thanks. + +Responses: +Hi, I have forwarded your question to networking experts. Regards, Yordan + +Hello, What is Vayu EVM revision you working on? Also kindly share TDA2 silicon revision. Some of TDA2 EVM revisions has known stability issues with 1000Mbps link. You can try connecting 100Mbps connection and see if you see same behavior. + +Hi,Prasad. Vayu EVM revision is 2.0.I did some test yesterday, and we have some of the findings. That's what happens when I connect this EVM to the router, and when I get to the LAN, the problem doesn't show up + diff --git a/sample_embedding_folder2/0627217.txt b/sample_embedding_folder2/0627217.txt new file mode 100644 index 0000000000000000000000000000000000000000..146bff269ca8bf09feab718f1e63348bece589e6 --- /dev/null +++ b/sample_embedding_folder2/0627217.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2EVM5777: Object Detection Algorithm + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hi, I have got tda2 application board and run the sample code. It's work. My question is if I want to change the algorithm of Object Detection where should I edit. I find the file path C:\PROCESSOR_SDK_VISION_03_00_00_00\ti_components\algorithms\REL.200.V.OD.C66X.00.06.00.00\200.V.OD.C66X.00.06\common under this path I don't know which one should I edit if I want to change the algorithm of Object Detection The sample code's structure is too big to understand. Can anyone help me thanks Best Regards Andy + +Responses: +Hi, Andy Dong, Expert was notified about your question. Regards, Mariya + +Andy The source code of the Algorithms are not included in the VSDK release package. only the lib (binary) version is included please contact your respective TI sales or field support to get the Algo in source format regards, Shiju + +Hi, Shiju I install REL.200.V.OD.C66X.00.06.00.00.exe and then the documents are the same as in the path C:\PROCESSOR_SDK_VISION_03_00_00_00\ti_components\...\REL.200.V.OD.C66X.00.06.00.00 . This ( PROCESSOR_SDK_VISION_03_00_00_00 ) package , I download from Ti's website. so where can I edit the algorithm of Object Detection Thanks a lot. Regards, Andy + +HI Andy, This is public forum of TI and since TI has not released the source as part of public release of vision SDK, we will not be able to help you here. There are private forums for the users of the algorithm source code and you should be asking this question in private forum. Please talk to respective TI sales or field support engineer of your region to assist you. Thanks, With Regards, Pramod + diff --git a/sample_embedding_folder2/0628330.txt b/sample_embedding_folder2/0628330.txt new file mode 100644 index 0000000000000000000000000000000000000000..2de068c9226b5714815eb510982897c46794c4e3 --- /dev/null +++ b/sample_embedding_folder2/0628330.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2/TDA3: Is there any Power Consumption Spreadsheet for TDA2x and TDA3x processors? + +Query Text: +I need to find a suitable processor for a new project and I need to know their power consumption info. But I cannot find anything tells me about it, can anyone help? + +Responses: +Hi, I have forwarded your question to a power expert for comment. Regards, Yordan + +Same question for me... + +Hello I would be interested in power figures in srandard kind of benchmarks (idel, video encode/decode, audio processing, GFX benchmark). Whom should I contact ? Thanks + diff --git a/sample_embedding_folder2/0630117.txt b/sample_embedding_folder2/0630117.txt new file mode 100644 index 0000000000000000000000000000000000000000..660b79f2c447db1080a628026aa11a95069c7919 --- /dev/null +++ b/sample_embedding_folder2/0630117.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2HV: TDA2HVBRQABCRQ1 Sleep mode/ Power down mode + +Query Text: +Part Number: TDA2HV Other Parts Discussed in Thread: TDA2 Hi Support Team, We are used TDA2HVBRQABCRQ1 TI TDA2HV processor in our one of the automotive product. But we facing the issue that if we want to run up our system on sleep mode or power down mode to reduce the boot up time and use of battery . which pin are available in this TDA2HVBRQABCRQ1 part. Please provide any reference for that. Hope positive response from you + +Responses: +Hi Dhaval, Can you please tell a little more about your use case? For example when (e.g. ignition at MAR but car not started, etc.) you would like to put TDA2 in sleep mode, for how long time, etc.? Unfortunately there is no magic pin to put TDA2 in sleep (I wish it had) . It is a combination of software and hardware (SoC, PMIC, DDR) to enable low-power modes. Regards, Stan + +Hi, DHAVAL SHAH, I am not quite sure what kind of issue you are facing? Please, specify. Also, what kind of pins you are trying to locate? Regards, Mariya + +Hi Stan, Thanks For you valuable reply. Actually we want to give facilities in our hardware. So we want to know how it will be implement in hardware side, software side guys are at definition stage. As our discussion you said that It is a combination of software and hardware (SoC, PMIC, DDR) to enable low-power modes. In PMIC there is PMIC_SLEEP# Pin which help full to run the PMIC in sleep mode but What we do on TDA2X side & DDR3 side to run the processor in low power mode /sleep mode? Best Regards Dhaval Shah + +Hi Mariya, Thanks For your reply Actually we want to give facilities in our hardware. So we want to know how it will be implement in hardware side, Software side guys are at definition stage. Best Regards Dhaval Shah + +Hi Dhaval, Since I didn't knew your exact PMIC part number, I took a random PMIC. The SLEEP pin may be on another position than this one. I've highlighted the pins you need to put the SoC in RTC mode (lowest possible). RTC mode is defined as everything but RTC domain is off. DDR can be in self-refresh ( this must be double checked though) . One can exit RTC power mode through a RTC alarm or an WAKEUP pin transition. Note that it is possible to wake up through DCAN RX pin i.e. upon a CAN bus activity. I.e. DCAN RX pin is muxed with an WAKEUP pin internally. Regards, Stan + diff --git a/sample_embedding_folder2/0632418.txt b/sample_embedding_folder2/0632418.txt new file mode 100644 index 0000000000000000000000000000000000000000..5464be67119f6ea9633d96c72b8432cc511588e7 --- /dev/null +++ b/sample_embedding_folder2/0632418.txt @@ -0,0 +1,16 @@ +Ticket Name: Please anybody suggestion best algorithm to detect the algorithm like only Pedestrians, Vehicles, Traffic Signs + +Query Text: +Hi , Please anybody suggestion or link to best way detect the algorithm like only Pedestrians, Vehicles, Traffic Signs . Regards , Sunil + +Responses: +Hello Sunil, Can you provide some additional detail on this request, please? Is this a vehicle-mounted sensor? One sensor or multiple sensors? What type of sensor? Any additional information you can provide will be very helpful to determine a solution. At your service, ~Leonard + +Hello Sunil, you can run your algorithms very efficiently in terms of computational performance and in respect to power on TDA2x and TDA3x device families. Please check https://e2e.ti.com/blogs_/b/behind_the_wheel/archive/2017/01/05/tda-adas-solutions-enable-a-safer-driver-experience + +Its vehicle mounted sensor ( camera ) , type of sensor is camera .. we mounted camera in car bumper for forward collision warning . presently we are using open cv to find pedestrian , vehicles Using C++ ..I am curious about best algorithm suitable for above case using C in TDA2x + +Hi Sunil, you can check here: \ti_components\algorithms\REL.200.V.OD.C66X.00.06.00.00\200.V.OD.C66X.00.06 to find object detection module for DSP. In the subdirectories you can find documentation and test examples. Regards, Yordan + +Thank You Yordan + diff --git a/sample_embedding_folder2/0635984.txt b/sample_embedding_folder2/0635984.txt new file mode 100644 index 0000000000000000000000000000000000000000..cdc3a2ecfdb9c54edb54ffd2a7677eb1dafd6be0 --- /dev/null +++ b/sample_embedding_folder2/0635984.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2EVM5777: Vision SDK usecase code tracing + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hello, I'm new to the vision SDK,and now i use the version 3_01. I built the usecase and see the demo on my TDA2. Then I try to understand the usecase by tracing the source code of it inside the usecase folder. I trace to the algPlugin.c file and see the process function as below. \PROCESSOR_SDK_VISION_03_01_00_00\vision_sdk\apps\src\rtos\alg_plugins\tidl\tidlLink_algPlugin and then i try to find the algorithm but finally i find this: \PROCESSOR_SDK_VISION_03_01_00_00\ti_components\algorithms\REL.TIDL.00.08.00.00\common\ivision.h It seems like most of the algorithm of the usecase link to here. Where is the algorithm?Is it available?is it packed to another format? and is my question related to the key word - Xdais ? I have already read some documents inside the Vision SDK. The doc i read only mention that we need to build our own algorithm link and plugin function,but i don't kown what should i do clearly. If i want to build my own algorithm,is there any doc or example ? If anyone know the answer,please share with me. Thank you! + +Responses: +Hi Jimmy, Algorithms source is not released in Vision SDK. They are available in the library form. Please contact your local TI FAE to help you. Rgds, Brijesh + +Hello Brijesh, thank you for your answer. i want to know where is the library file ? is it inside the algorithm of the TIDL?(\PROCESSOR_SDK_VISION_03_01_00_00\ti_components\algorithms\REL.TIDL.00.08.00.00\modules\ti_dl\lib\eve\debug\) Can you give me more information about how to connect our algorithm with the process as above? and what is the xdais?is it necessary? thank you! Regards, Jimmy Lai + +HiJimmy, In this case, i think you could add your own algorithm link and then use it in the usecase. These algorithms are based on the xdais framework, so if you just replace function, it may not work. Rgds, Brijesh + +Hi Brijesh, so i can directly code my algorithm inside a algorithm link plugin.c file without xdais,right? Regards, Jimmy Lai + +Hi Jimmy, Ideally, it is preferable to create your own Alg Plugin link and use it. But for the time being, you could code your algo in one of the existing plugin link, will not require xdais. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0636472.txt b/sample_embedding_folder2/0636472.txt new file mode 100644 index 0000000000000000000000000000000000000000..047545982a40b6817ca7036d9f2fc89e0100664f --- /dev/null +++ b/sample_embedding_folder2/0636472.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2HG: Where can I find documentation about the Device Security Features? + +Query Text: +Part Number: TDA2HG Other Parts Discussed in Thread: TDA2, Hello, I actually want to use the TDA2+, but the answer might be the same as for TDA2HG.(I was not able to select TDA2+ in the "Part Number" field.) Where can I find documentation about the device security features? I want to make sure that we can protect our software: Software will be stored encrypted in external eMMC Flash and will be loaded by the bootloader. Is there a way to store a key inside the SOC. I read "Secure ROM and boot" in the Data Sheet. But there is no further information about that. Best regards, Michael. + +Responses: +Hi, Michael K, For security documents are under NDA, and you should contact your local TI representative to get it. Regards, Mariya + diff --git a/sample_embedding_folder2/0638534.txt b/sample_embedding_folder2/0638534.txt new file mode 100644 index 0000000000000000000000000000000000000000..3cf5db3b90b0fa0ce060d6cfe622c743aa2ede24 --- /dev/null +++ b/sample_embedding_folder2/0638534.txt @@ -0,0 +1,28 @@ +Ticket Name: TDA2HG: Using GPIO pins as SPI chip select pins + +Query Text: +Part Number: TDA2HG Other Parts Discussed in Thread: TDA2 Hi All , We are using TDA2HG in one of our designs for video processing. I have 2 queries regarding the SPI and I2C interface: 1. We need to interface multiple camera companion chip sets through SPI interface for Booting of the companion chip set. we are running out of SPI controller chip select pins.Can we use GPIO pins as chip select pins ?, in that case do the IOSET timings will be preserved? 2. Controlling of Companion chip sets were implemented through I2C interface. Whether sharing the I2C bus between 2 companion chipsets affect the image quality or video processing ability? Thanks in advance , Dhanasekar.c + +Responses: +Hi Dhanasekar, I have forwarded your question to an expert for comment. Regards, Yordan + +Thanks Yordon + +Hi Dhanasekar, 1. No I don't think you can use a GPIO, MCSPI has an internal state machine that drives the CS pins. This allows also to use different settings for each CS to support different types of SPI peripherals on the same bus. There are 4 MSPIs x 4 CS each = 16 CSs in TDA2. They can be less however due the top-level muxing. How much do you have with your muxing configuration? 2. This will depend on your use case. If you need i2c transactions to the two sensors on same time, you will need two I2Cs (TDA2x has 4) . If I2C transactions can be subsequent obviously one I2C is enough. Particularly, the I2C speed will be also a driving factor (e.g. 100k, 400k, 1M or faster) and the sensor should support that speed. Regards, Stan + +Dear Stan , Thank you very much for your Prompt reply. Regarding SPI interface , we have already used 2 (SPI2 and SPI3) for Host MCU interfaces(Generic control interface and Lane sensing). Remaining 2 SPI ports were used for companion chipsets(SPI1 for controlling 4 chipsets and SPI4 for controlling two remaining companion chipsets). So we have used all the SPI ports. Can we Keep data and clock common for all camera companion chipsets , and have chip select signals from 2 different SPI ports, Say an example , Common Data and Common clock and 4 chipselect lines from SPI1 port and only 2 chipselect lines from SPI4 .Whether this type of connection is feasible and whether the timings will be preserved? Thanks in advance , Dhanasekar.c + +Sounds feasible to me. Most important point is to make sure the one MCSPI is not driving data out and clock while the other MCSPI is driving the bus. I.e. to avoid data out or clock contention if both MCSPIs attempt to drive the bus. Regards, Stan + +Dear Stan , Thank you very much for the guidance. Regards , Dhanasekar.c + +Dear Stan , Thank you very much for your guidance. I have query regarding the drive strength of SPI lines. We are accessing 6 Companion chip sets in single instant of time: We are using 3.3V logic SPI interface for interfacing SOC to the camera companion chipsets. Datasheet of TDA2HGH does not provide information regarding DC electrical charcteristsics for SPI interface. Can we use Dual voltage LVCMOS characteristics on page no. 166 of SOC datasheet for SPI electrical characterisstics? If yes , then can the output drive current range would be 6mA(minimum) to 3.3V/40 ohms = 82.5mA (Nominal) for each SPI interface pins? 6mA is minimum output drive current as per datasheet for 3.3V Dual voltage LVCMOS interface. 40 ohms is nominal impedance for 3.3V Dual voltage LVCMOS interface as per datasheet. Kindly let me know your suggestions on this. Thanks in advance , Dhanasekar.c + +Dear Stan , Thank you very much for your guidance. I have query regarding the drive strength of SPI lines. We are accessing 6 Companion chip sets in single instant of time: We are using 3.3V logic SPI interface for interfacing SOC to the camera companion chipsets. Datasheet of TDA2HGH does not provide information regarding DC electrical charcteristsics for SPI interface. Can we use Dual voltage LVCMOS characteristics on page no. 166 of SOC datasheet for SPI electrical characterisstics? If yes , then can the output drive current range would be 6mA(minimum) to 3.3V/40 ohms = 82.5mA (Nominal) for each SPI interface pins? 6mA is minimum output drive current as per datasheet for 3.3V Dual voltage LVCMOS interface. 40 ohms is nominal output drive impedance for 3.3V Dual voltage LVCMOS interface as per datasheet. I have attached the snap shot of the datasheet. Kindly let me know your suggestions on this. Thanks in advance , Dhanasekar.c + +Dhanasekar, Only now I understand you want to transmit data simultaneously to 4 slaves. This is not SPI was intended for, I presume you know it? Is this only a one-way transmission in your use-case?, i.e. SoC to slaves only? Can you draw some sort of schematic diagram so it will be easier to understand the concept? Regarding the pin drive strength, it is 6mA. You cannot source more than 6mA. Regards, Stan + +Dear Stan , Thank you very much for your reply on drive current for SPI bus. SPI communication between the SOC and slave devices is as follows: 1. Yes it is a two way communication. 2. We need to drive 6 slaves at a time. 3. SOC (Master) will broadcast the data to all slaves at the same time through MOSI line. 4. Slaves will acknowledge individually to the master through the MISO line. We have used 4 chipselect lines for 4 slaves from SPI1 Port of the SOC and 2 chipselect lines will be used either from SPI3 or SPI2 ports of SOC. We are taking data and clock only from SPI1 port. Data and clock lines of SPI3 or SPI4 port will not be used. As per the datasheet details the chipselect lines were also muxed with GPIO pins. In that scenario can we configure chip select lines as GPIO lines to enable the slave device? Please advice. I have attached a rough sketch of connection details. Regards , Dhanasekar.c + +Hi Dhanasekar, My answers inline. 1. Yes it is a two way communication. 2. We need to drive 6 slaves at a time. 3. SOC (Master) will broadcast the data to all slaves at the same time through MOSI line. [Broadcasting is not possible in SPI, you can only access one slave at a time] 4. Slaves will acknowledge individually to the master through the MISO line. [This is fine if you follow my comment for 3.] We have used 4 chipselect lines for 4 slaves from SPI1 Port of the SOC and 2 chipselect lines will be used either from SPI3 or SPI2 ports of SOC. We are taking data and clock only from SPI1 port. Data and clock lines of SPI3 or SPI4 port will not be used. As per the datasheet details the chipselect lines were also muxed with GPIO pins. In that scenario can we configure chip select lines as GPIO lines to enable the slave device? Please advice. [TI An SPI hardware 'knows' that it has only 4 CS-es. I'm thinking of one trick to overcome that: - You can use first 3 CS-es as usual [CS0-CS2] - You must disconnect CS3 from any external hardware (on PCB or via SoC pinmux). In your particular case you can switch (mux) CS3 to a GPIO. - SPI hardware will continue to think of its CS3 as of single device, but you (SW) will do the CS3-CS5 assertions artificially via 3x GPIOs. That is, when you need to access devices CS3-CS5, you need to assert the proper GPIO pin, and then, issue a transfer to CS3 of SPI1. Those above are only thoughts, I cannot guarantee it will work, nor I do know how the slaves work and their requirements to SPI modes and timing.] Best regards, Stan + diff --git a/sample_embedding_folder2/0639528.txt b/sample_embedding_folder2/0639528.txt new file mode 100644 index 0000000000000000000000000000000000000000..75906513946a09ff7b734541c9e7c447dd7d8aa5 --- /dev/null +++ b/sample_embedding_folder2/0639528.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2EVM5777: Adaboost object detection training tool + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hi, everyone I saw Adaboost object detection training tool (Matlab based) is publicly available at https://github.com/tidsp/acf-jacinto And I download the Adaboost object detection training tool I have some questions 1. the training data's format should be .vbb .mp4 .seq ? Is .jpeg ( picture's format ) ok ? 2. What kind of file will be created if I use training tool to train the model ? (.xml or .bin or .....?) 3. If I want to use this file in TDA2 , where should I put ? Thanks Regards, Andy + +Responses: +Hi Andy, I have forwarded your question to an expert for comment. Regards, Yordan + +Hi Yordan, Is there any reply? Thanks! Regards, Andy + +You need to provide both images and annotations. 1. The tool currently takes in .seq or .mp4 files for images. (It should be possible to modify the code to be able to specify a folder containing images instead of .seq or .mp4) 2. Annotation format supported is .vbb You can fiund lots of .seq files (with the corresponding .vbb annotations) here. http://www.vision.caltech.edu/Image_Datasets/CaltechPedestrians/ An annotations/labelling code (matlab based) is also available in the above link. An enhanced version of the same labeling tool (supporting annotation of .mp4 files) is also provided here: https://github.com/tidsp/acf-jacinto/blob/master/vbb/vbbLabeler.m Note - you don't have to annotate all the frames. acf-jacinto is intelligent to understand which are the annotated frames and use only those for training. This feature is especially useful when dealing with .mp4 videos. After you do the training a .descriptor file will be written out. You can use this file in TDA2 VisionSDK Object Detection module. You can get more details in the documentation for the Object Detection module. Best regards, + +HI Andy, Manu answered q1 and q2. Regarding your 3rd question, there is a utility to convert from the descriptor format to a a binary file which can be understand by OD module, The utility is unfortunately not packaged as part of object detection module, but let me see how can I get you access to the utility. Thanks, with Regards, Pramod + diff --git a/sample_embedding_folder2/0639885.txt b/sample_embedding_folder2/0639885.txt new file mode 100644 index 0000000000000000000000000000000000000000..246df8a346753e65f354d264f61bbbdc04b9adea --- /dev/null +++ b/sample_embedding_folder2/0639885.txt @@ -0,0 +1,18 @@ +Ticket Name: Compiler/TDA2EVM5777: How to bring up C6xx on TDA2 outside SDK using remoteproc + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler Hello *! I need to bring up the DSPs of the TDA2 using firmware mechanism of linux (remoteproc) outside the SDK, without using CCS and SYS/BIOS/RTOS. What Do I need and where do I find it in the visual-sdk provided by TI? (Of course, the cl6x will be needed to build the ELF, a custom mapping table for the remoteproc, something like a "startup code" setting IRQ-vector-table and jump to "main" of the C-Code... ) Are there any example available? + +Responses: +Hi Marco, I have forwarded your question to an expert for comment. Regards, Yordan + +You can find information on remoteproc here: lwn.net/.../ The image needs to have a resource table for remoteproc to load the DSP ELF image. For example images that use SYS/BIOS and load with remoteproc, you can check the IPC3.x code: gitorious.ti.com/.../ipcdev processors.wiki.ti.com/.../IPC_Users_Guide You might find this other similar e2e query useful as well e2e.ti.com/.../948787 Thanks, Angela + +Hello Angela, Thank you for the links, but this is not exactly what I need to getting started. A few weeks ago I took the things I thought I need to bring up the DSP: The resource table have almost been linked into the ELF file, I took the "interrupt.c" and "intvecs.asm" as something like a "startup code" and I wrote a very simple "main.c" containing a counting infinity loop... At a first look, there is no reason why it shouldn't work, but all I got is a "MMU fault" from the DSPs MMU. I think, the L3-preparation of the carveout memory works, but the stuff I took off the "visual SDK" is not adapted correctly and until now I try to find, what I did wrong. So I need help, but all I get in Forum or my FAE at TI are links to "IPCxxx" and I can't believe that there is no very simple example available, which do not use SYS/BIOS, RTOS-fragments... complex build environments to use dozens of SOCs over XDC... most code is designed to run without MMU... and of course the CL6X toolchain is very powerful, a lot of possibility... and, again: No idea what went wrong. So I need help to bring up the DSP realy bare metal, using only the TI toolchain and remoteproc. INTENTIONS: The requirements of my use-case are embedded in the need of very safe code (DSP, IPU and EVE - Linux only used a comfortable gateway...). So I have to implement only code, which is really needed. A universal BIOS or Bootloader in the DSPs and Subcores is forbidden. I did this for IPU successfully, but now I cut my teeth doing the same with the DSP... so I need help... urgently. Thank you for your dedication: Marco + +Hi Marco, you can also check this E2E thread with discussion of similar topic: e2e.ti.com/.../640064 Regards, Yordan + +Hi Yordan... *LOL* It's a little bit funny: Needhu is my "direct" contact at TI ;-) + +PROBLEM SOLVED: After reviewing the whole code without finding any kind of mistakes, I took a look to the CALL of the CL6X and its linker-options: I read the ELF with readelf -a and saw, that the ENTRY-POINT points to symbol which don't make sense. I'm wondering about the decision of the CL6X setting this address... so I read the manual again: downloads.ti.com/.../linker_description.html I can set the entry point manually: --entry_point=... and the code I took out of the SDK, the DSP have to jump into "_vector0" to boot. This solved the problem, the DSP boot. + diff --git a/sample_embedding_folder2/0640064.txt b/sample_embedding_folder2/0640064.txt new file mode 100644 index 0000000000000000000000000000000000000000..b4074f71c2c3170244e1df9d64e1c496298cad8f --- /dev/null +++ b/sample_embedding_folder2/0640064.txt @@ -0,0 +1,18 @@ +Ticket Name: Linux/TDA2HA-17: Problems producing code for DSP outside TI-SDK + +Query Text: +Part Number: TDA2HA-17 Tool/software: Linux Team, Could you please answer the question from my customer. Please find below his questions. I’m not able to boot the DSPs of the TDA2+ outside SDK without using proprietary stuff. The only two questions I have to ask: What do I need to do so and where do I find the necessary code, like start-up snipped? Are you able to give me a simple example? The requirements I have to deal with: 1. Using cl6x toolchain is absolutely OK. 2. Build have to be embedded in a linux “Makefile” build environment, WITHOUT usage of XDC. 3. The Test-Chains of QM do not allow IDEs, such as CCS, so: 4. … Code must be compiled (assembled) ONLY in a Makefile environment 5. To handle Boot and Update processes: Linux runs on A15 core and will provide ALL SUBCORE STUFF using REMOTEPROC. Goals: Using only code which is REALLY necessary, so: Every line of code is desired and can be handled easy, managed in a simple boot-process. SHORT: So absolutely bare-metal code have to meet linux remoteproc I need: Startup-code Custom-Resource-table With a proper Linker-cmd file And of course: cl6x call -> How do I tell the compiler to create the “dra7-dsp1-fw.xe66” out of the just compiled obj linked together. Thank you. -Needhu + +Responses: +Hi Needhu, I have forwarded your question to an expert for comment. Regards, Yordan + +Hi Yordan, Thank you very much. Best, Needhu + +Hi Needhu, You should be able to start off with this by looking at the examples in ti_components\drivers\pdk_XX_XX_XX_XX\packages\ti\csl. These are pure makefile based examples including examples for C66x DSP. For instance, you can have a look at the csl\example\uart\uart_test. This will have the code after main. For the initialization code before main, you can have a look at csl\arch\c66x\src interrupt.c file. You can download the latest processor SDK Vision from http://www.ti.com/tool/processor-sdk-vision Thanks and Regards, Piyali + +Hi Piyali, Thank you very much for the info. As a reference for other customers, please find below further information that I received offline. Please have a look at SYS/BIOS code for the AMMU and BIOS startup code. The main code is in C files, so it should be possible to convert that to a bare-metal C code just as well. https://github.com/n-aizu/freertos-multicore/tree/master/FreeRTOS-Plus/BSP/OMAP4_CM3_GCC Following is another project that is using Makefiles and baremetal code, but it is associated with a different kind of remote processor: a PRU. http://git.ti.com/gitweb/?p=pru-software-support-package/pru-software-support-package.git;a=shortlog;h=refs/heads/master The folders to look at (lib/src/rpmsg_lib for the Virtio rpmsg transport code (need to replace pru_virtqueue_kick) (equivalent of http://git.ti.com/gitweb/?p=ipc/ipcdev.git;a=tree;f=packages/ti/ipc/rpmsg;h=4c40631361d0d0f697ab525f9e0a3288df19c118;hb=refs/heads/3.47) and examples/am572x/PRU_RPMsg_Echo_Interrupt1_0 Regarding your questions, 1 . Makefile usage is fairly standard, the only difference is that you are using the C66x compiler and different ISAs, but if one knows how to write standard Makefiles for a project, then there is nothing different required for DSPs. Example from the M3 project: https://github.com/n-aizu/freertos-multicore/blob/master/FreeRTOS/Demo/CORTEX_M3_PANDA/rpmsg-client-sample/Makefile 2. Linker file: Again this is standard. I would say to look at the regions defined in evmDRA7XX_ExtMemMapDsp in the following file http://git.ti.com/gitweb/?p=ipc/ipcdev.git;a=blob;f=packages/ti/ipc/tests/package.bld;h=6b2a9decc53465685cb57ce45a305d2df5d8c3d6;hb=refs/heads/3.47 and convert it to a standard linker .ld file. Example from the M3 project: https://github.com/n-aizu/freertos-multicore/blob/master/FreeRTOS-Plus/BSP/OMAP4_CM3_GCC/base/omap4_cm3.ld 3. Resource Table There is nothing fancy about this, it is just a structure and a properly filled structure and is simply a header file at the end of the day. You can look up the references in either the above IPC packages/ti/ipc/tests folder or the PRU examples project3. dra7-dsp1-fw.xe66 is just the name of the executable in your file system. Only requirement for it is that it should be an ELF file a “.resource_table” section. So, as long as the Makefile generates an ELF file with the appropriate .resource_table section, you can just rename whatever is the generated output image file (*.out or *.elf etc). Xe66 is just the extension created with SYS/BIOS and XDC and DSP CGT, but it is still an ELF file. Thank you. Best, Needhu + +Team, Where can I find the EVE simulator tools for TDA2+? Could you also provide me a few examples or application notes on this. I would also appreciate simple bare metal codes examples for EVE - subsystem. Thanks, Needhu + +Hi Needhu, you can find Vayu Subsystem Simulator here: cdds.ext.ti.com/.../emxNavigator.jsp (you can check the "vayu_simulator_user_guide.pdf" for supported features) Unfortunately simulators are not supported for CCS past v5: e2e.ti.com/.../2179980 Hope this helps. Regards, Yordan + diff --git a/sample_embedding_folder2/0644760.txt b/sample_embedding_folder2/0644760.txt new file mode 100644 index 0000000000000000000000000000000000000000..4f9f4b12f541a85072c1c107bb9a2a38422cec56 --- /dev/null +++ b/sample_embedding_folder2/0644760.txt @@ -0,0 +1,22 @@ +Ticket Name: Linux: Do we have support of HDMI on "Linux+ Bios" with TDA2XX SOC?. + +Query Text: +Other Parts Discussed in Thread: TDA2 Tool/software: Linux Hi There, I am using "VSDK_03_01_00_00" version of "VSDK" with TDA2XX SOC and able to build "VSDK" successfully for "Linux + Bios" platform . After that I have tried to execute below mentioned use case. "NullSrc + Decode + Display". For executing this use case I have followed below mentioned steps. 1. I did some configuration for Display and Capture by using "Setting" option(S) (Here I have selected "HDMI 1080P60 for Capture" and "HDMI 1080P60 for Display"). 2. Ran the "NullSrc + Decode + Display" use case and used the "H.264 " codec. 3. During the execution of use case I got "ASSERT (nullSrcLink_tsk.c|NullSrcLink_fillData|202)" on the console. I read somewhere that "Linux+ Bios" doesn't have HDMI" support and I am not sure is this the case with Linux build. Could someone please give clarification on this?. Regards, Anshul Jain. + +Responses: +Hi Anshul, the Linux version of VisionSDK supports HDMI (also in ver 3.01 was added support for LCD). Your problem looks more like issue with reading the input file. I have pinged VisonSDK experts to help. Regards, Yordan + +Yes, Yordan is correct. VSDK_03_01_00_00 support HDMI display for both "Bios only" and "Linux + Bios" builds. HDMI capture is not supported in VSDK Linux+Bios, and this feature is available only with Bios only version regards, Shiju + +Hi Shiju, Thank you for your response. As you have confirmed that HDMI capture is not supported in VSDK Linux+Bios. So in the same environment, can we have a input from "AVB" port and see the output on HDMI display. Regards, Anshul Jain. + +Anshual Yes, AVB capture and HDMI display is supported on VSDK Linux+Bios. please refer Linux user guide to build binaries and set-up for AVB regards, Shiju + +Hi Shiju, Thanks for the inputs. Regards, Anshul Jain. + +Hi Shiju, wanted to check, if HDMI supported on "TDA3x " and "TDA2+" soc with Linux+Bios config on VSDK_03_01_00_00? Thanks, Mohammed + +Hi No HDMI capture is not supported with vision SDK Linux (Linux+Bios) on any TDAxx. HDMI caprure is supported on TDA3x and TDA2x with VSDK Bios only cnfig. This is available with VSDK_03_01_00_00. for TDA2+, HDMI capture will be supported in next VSDK release version VSDK_03_02_00_00 regards, Shiju + +Thanks Shiju, it helps. regards, Mohammed + diff --git a/sample_embedding_folder2/0649911.txt b/sample_embedding_folder2/0649911.txt new file mode 100644 index 0000000000000000000000000000000000000000..402f228bf7eea35023555365077469fea9f38812 --- /dev/null +++ b/sample_embedding_folder2/0649911.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2SX: DESIGN FILE REQUEST TDA2 + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2EVM5777 Hello We're Planning To Use TDA2X For Our Next Vehicular Machine Vision EVS Project. And When We Try To Look Up TI Website For Design Files Find No Results At All. The DSN File Is Really Important For Hardware Engineer To Prevent Starting Project From Scratch. The Rough Manual Work To Build Symbol For Such A Complicated Device Will Be Possible To Make Mistakes. So I'm Here Writing My Problem To Ask For Relative Files. Basically We Need You To Do Following Favors: TDA2EVM5777 (Complete Schematics / Schematics / Schematics / Schematics / Schematics DSN File) + +Responses: +Hi Bright, Please check this link! There is a Design Files section under EVM page that you may also want to check. Thanks, Dian + +Hi Bright, Did you get what you want? I have same requirement as you. If you got it, could you tell me how to get it. Thanks, Seven + +Seven I Don't Think I Get Required Support For Wanted Files. In Fact Here Are Only Non-OrCAD File Upon Product Page And I Don't Know How To Transfer It Into What I Want Import To OrCAD. And Considering Software Support And Following Code Jobs Efforts We Have Move Our Project To Use NXP S32V In Stead Of TDA2X. So As You See I Don't Follow Up The Thread And Continue To Request The Files. Bright + diff --git a/sample_embedding_folder2/0650394.txt b/sample_embedding_folder2/0650394.txt new file mode 100644 index 0000000000000000000000000000000000000000..00446c71a670be97d70cb44361d5b5db3e940780 --- /dev/null +++ b/sample_embedding_folder2/0650394.txt @@ -0,0 +1,10 @@ +Ticket Name: AM5708: Video DPLL SSC support + +Query Text: +Part Number: AM5708 Other Parts Discussed in Thread: TDA2 Hi, My customer is working om AM5708 design and has done some EMC measurements and some radiated emission levels of the display interface are to high. He looked at the DPLL_VIDEO Registers and found in table 11-48 PLL_SSC_CONFIGURATION1 a reference to the SSC feature, with a note that the SSC feature is not supported. His questions: 1) Is this going to be supported in the future? 2) Is the feature available but not tested/supported? 3) can customer use this function? Thanks in advance, Best regards, Patrick ps: why is this non supported feature part of the documentation? (On e2e i found other references to this feature in TDA2 and DRA72X devices, but also not supported. quit confusing) + +Responses: +Hi Patrick, SSC feature is available, but not tested, thus not verified by TI. See the below e2e threads for more info: e2e.ti.com/.../565566 e2e.ti.com/.../1964650 e2e.ti.com/.../604515 e2e.ti.com/.../633615 Regards, Pavel + +Patrick Verkennis said: 1) Is this going to be supported in the future? I can not confirm. You should check in any new version of the AM57x documents regarding the status of SSC. Patrick Verkennis said: 2) Is the feature available but not tested/supported? Yes Patrick Verkennis said: 3) can customer use this function? The customer can use it, but at his own risk. The customer should fully test and validate that feature on his custom board. TI do not recommend that feature usage, if possible you should avoid it. Regards, Pavel + diff --git a/sample_embedding_folder2/0651208.txt b/sample_embedding_folder2/0651208.txt new file mode 100644 index 0000000000000000000000000000000000000000..67fe5ab37a4701006036e6c469c100f0db1a9263 --- /dev/null +++ b/sample_embedding_folder2/0651208.txt @@ -0,0 +1,10 @@ +Ticket Name: RTOS/TDA2SX: VPE scale function + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS We use hardware VPE scale successfully on TDA2. We want to simulate VPE scale function on PC side. Do you have VPE scale function by C code. + +Responses: +Hi Joe, I have forwarded your question to an expert for comment. Regards, Yordan + +Unfortunately, no we don't have PC code for VPE. Please talk to your local FAE to see if there is any way. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0651568.txt b/sample_embedding_folder2/0651568.txt new file mode 100644 index 0000000000000000000000000000000000000000..2f6a753f57024746a7cd3f412eb0da17f4ee629a --- /dev/null +++ b/sample_embedding_folder2/0651568.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2EXEVM: TIDL algorithm + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2 Hello, I am new to TDA2 also TIDL. I used caffe model and the model import tool to generate two .BIN files. How to use this two .BIN files to get the model output?? I found inside the TIDL/algo/ and TIDL/inc folders,there are a lot of layers definition. But it's huge and complex for me. Is there any example or resource about this part? If there is any useful information,please share with me. Thank you in advance. + +Responses: +Please refer the users guide for details on the importing a model and executing the same on device. Users guide is part of release package. We also have sample test bench (Part of TIDL release package) configuring the library. By default the sample stand alone test bench runs example model (net and params bin file from testvecs folder) and generates output. Refer these for more details. Thanks and Regards, kumar.D + +Hello Kumar, Thank you for your response. I have already read the user_guide for importing the model and success. also i can run the sample test bench, and get the ourput .bin files. but actually i didn't know how it works. how the test bench generate the .bin files and how i use my own files?? Thank you. + +Please refer the section "3.6 Running a Model trained by user" in the users guide to generate *.bin files from your own files. Thanks and Regrads, Kumar.D + diff --git a/sample_embedding_folder2/0653445.txt b/sample_embedding_folder2/0653445.txt new file mode 100644 index 0000000000000000000000000000000000000000..e5d8694b1fd212684d1c6901b004d8831e561d4a --- /dev/null +++ b/sample_embedding_folder2/0653445.txt @@ -0,0 +1,24 @@ +Ticket Name: RTOS/TDA2PXEVM: 2MP SV DEMO UG and HW information for TDA2PxEVM + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2, TIDA-01130 Tool/software: TI-RTOS Dear Champs, My customer want to evaluate 2MP SV DEMO using TDA2Px EVM and I found there is new update for this in VisionSDK3.02, but I could not find any UserGuide and details for this. I only find below in the Release notes and 'ProcessorSDK_Vision_IssSensor_TestMatrix.xls', but could not find any other details. Could you please let me know where I can find details for 2MP SV DEMO? And also could you please let me know HW configuration for 2MP SV DEMO? It seemed it was implemented on Fusion board. Is this right? Is it possible to run it on Vision board also? Is additional deserializer needed? Thanks and Best Regards, SI. + +Responses: +Hi SI, This demo is actually supported on Linux build and uses ISS drivers. It captures RAW images from the OV2775 or IMX390 sensors, uses ISS to convert RAW data into YUV and then it uses SGX to stitch the images. It uses fusion board to capture four camera input over CSI2 interface. There is a TIDA1130 module, which supports OV2775 sensor and D3 module, supporting IMX390 sensor. Let me know if you want more information. Rgds, Brijesh + +Hi, Sung-IL, The query has been forwarded to the VSDK lead. Regards, Mariya + +Hi Brijesh, Is it 3D SV DEMO? To run this DEMO, should they use Fusion application Daughter Board? Is it possible to use Vision application Daughter Board to run this DEMO? If not, is there any plan to release 2MP SV DEMO for Vision applicaiton Daughter Board in future releases? Is there any plan to release 2MP 2D SV DEMO running on TI-RTOS? When we will release detailed document for this 2MP DEMO? When customer buy TDA2+ EVM, can they set-up 2MP DEMO by themselves using VisionSDKv3.02? Thanks and Best Regards, SI. + +Hi SI, yes, it is 3D SV demo. No This demo is not supported on Vision board, it is supported only on Fusion board and as of now, AFAIK, there is no plan to support 2MP SRV demo using vision daughter card. Vision card outputs only on parallel interface and one of the advantage of J6+ is that it support capture over CSI2 serial interface. We are using CSI interface to get 2MP 4Ch data. As such, most of the documentation should be available, Let me check what is missing in documents. yes, customer can setup 2mp demo using TDA2x+ EVM, fusion board and TIDA1130/IMX390 sensors. They need to use VSDK 3.02 release. Regards, Brijesh + +Hi Brijesh, I checked it again, but I could not find any related document. It seemed the 'VisionSDK_UserGuide_2MP_3D_SurroundView.pdf' is not updated yet. the title of 'VisionSDK_UserGuide_2MP_3D_SurroundView' is a 'Vision SDK TDA2xx 2MP 3D Surround View User Guide', not TDA2Px. Thanks and Best Regards, SI. + +SI VisionSDK_UserGuide_2MP_3D_SurroundView.pdf is currently for TDApx based 2MP SRV, No section added for TDA2Px 2MP SRV, where ISS is getting used. Sorry, we do not have any seperate user guide for TDA2Px 2MP 3D SRV, will add one section the same for next release. regards, Shiju + +Hi Shiju, Could you please release instruction how customer can try it? my customer is willing to buy TDA2P EVM to run this 2D SV DEMO. Is it OK to buy Fusion Kit and TIDA-01130 OV2775 camera module only? or other kit will be required? Could you please explain about HW setup at least? Thanks and Best Regards, SI. + +SI You need below HW to set-up 2MP SRV demo on TDA2Px 1. TDA2Px EVM - 1 2. Fusion Card/EVM - 1 3. TIDA OV2775 cameras - 4 (with Fakra cables) separate power supply is required for Fusion Card Regards, Shiju + +SI please make sure you order TIDA OV2775 cameras with Fisheye lens. Sometimes, spectrum digital ship only sensor without lens module regards, Shiju + diff --git a/sample_embedding_folder2/0653544.txt b/sample_embedding_folder2/0653544.txt new file mode 100644 index 0000000000000000000000000000000000000000..7f0ff699ab73c28cb629ddf6499046310bb47423 --- /dev/null +++ b/sample_embedding_folder2/0653544.txt @@ -0,0 +1,18 @@ +Ticket Name: TDA2EVM5777: How to Delay SPI Slave to Master Response in Vision SDK + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hi , Please guide me how to delay slave to master response in Vision SDK by one clock ? I am missing MSB in MISO and wave form shows that when clock starts first bit is already passed so it starts reading from second MSB. Thanks, + +Responses: +Hi, Have you configured the TDA2 in master or slave mode? In case of slave mode, the TDA2 device does not control the clock. It only responds to the clock sent by the external master. Regards, Prasad + +Rajesh, Are both master and slave operating in the same SPI mode 0/1/2/3? + +Hi, Sorry for the delay in reply. TDA2x is configured in slave mode and both are using SPI mode 3. I have attached a screen shot for the slave to master communication for data 0111 0000 and the problem is our MSB gets lost because delay in clock signal and we are receiving 1110 0000 on MCU side. We are using SPI mode 3 for this communication and using GIO_issue and GIO_reclaim API's given by Vision SDK. Could you please guide us here how we can sync clock signal so that we will not loose first bit (MSB) while doing communication from slave to MCU. MCU to slave no issue. Thanks, + +Hi Rajesh, Can you post or send by email the part of schematic diagram related to SPI? Stan + +Hi, Please check your email for the SPI related schematic diagram. Thanks + +Hi Rajesh, did you resolved your issue? If you have further question please write here or send mail to Stan. Regards, Yordan + diff --git a/sample_embedding_folder2/0656521.txt b/sample_embedding_folder2/0656521.txt new file mode 100644 index 0000000000000000000000000000000000000000..001e0a895e100d646172051e48dfe9982c009bb6 --- /dev/null +++ b/sample_embedding_folder2/0656521.txt @@ -0,0 +1,20 @@ +Ticket Name: RTOS/TDA2SX: VPE output format for TDA2 + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS We need VPE output formant (YUV444p or RGB888p) for TDA2. Does TDA2 support this function ? How can I implement it ? + +Responses: +Yes, VPE does support RGB888 output format. Why do you require YUV444? Regards, Brijesh + +Our algorithm input format must be YUV444P and scaled. We want use VPE scaled and output (YUV444P or RGB888) format. But we find vpelink.h. System_VideoDataFormat dataFormat; /**< Output Frame data Format. * VPE link is validated only for the following output dataformats * 1. SYSTEM_DF_YUV422I_YUYV * 2. SYSTEM_DF_YUV420SP_UV So, do you have any sample about VPE scaled output format(YUV444P or RGB888). Thanks + +YUV444I is supported by the driver. You need to add support in the VPE link. Note: VPE outputs in YUV444 interleaved and not YUV444 planar. + +Hi, Is the RGB888 planar or interleaved? Charles + +RGB888 is also interleaved. Rgds, Brijesh + +Sorry typo, RGB888 is also interleaved. Rgds, Brijesh + +Thanks. + diff --git a/sample_embedding_folder2/0659129.txt b/sample_embedding_folder2/0659129.txt new file mode 100644 index 0000000000000000000000000000000000000000..d2095202a98c231b63f0d6b2afcd7cd40a899550 --- /dev/null +++ b/sample_embedding_folder2/0659129.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: I2C Internal FIFO buffers depth + +Query Text: +Part Number: TDA2SX Hi, In TDA2X TRM, I could see the internal FIFO depth is 64-bytes (reset value). But when I read back the I2C_BUFSTAT register after reset, it is set to 16-bytes. Have something been changed or should we revise the TRM? Regards, James + +Responses: +Hi James, Looks like a document bug. I've also read 0x1 (16 bytes) on a AM572x board. I will file an incident to correct this. Regards, Stan + diff --git a/sample_embedding_folder2/0663469.txt b/sample_embedding_folder2/0663469.txt new file mode 100644 index 0000000000000000000000000000000000000000..9cb4fe149baed0f6a2bf35ef684fb2eb8712c391 --- /dev/null +++ b/sample_embedding_folder2/0663469.txt @@ -0,0 +1,246 @@ +Ticket Name: RTOS: Tda2xx uart can't output print message + +Query Text: +Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS 1). When I use ccs6 debug tda2xx board, ccs console can't output print message. file_path: vision_sdk/links_fw/src/rtos/bios_app_common/tda2xx/a15_0/src/main_common_a15_0.c In Int32 main_common(void) I put UARTConsoleInit(UART3_INST); UARTprintf(" \r\n***** A15_0 Firmware build time"); after compiling successfully and download it into board through simulation tool, nothing print out on serial port tool when I run it. attach is source file. 2021.main_common_a15_0.c /* +Copyright (c) [2012 - 2017] Texas Instruments Incorporated + +All rights reserved not granted herein. + +Limited License. + + Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive + license under copyrights and patents it now or hereafter owns or controls to + make, have made, use, import, offer to sell and sell ("Utilize") this software + subject to the terms herein. With respect to the foregoing patent license, + such license is granted solely to the extent that any such patent is necessary + to Utilize the software alone. The patent license shall not apply to any + combinations which include this software, other than combinations with devices + manufactured by or for TI ("TI Devices"). No hardware patent is licensed + hereunder. + + Redistributions must preserve existing copyright notices and reproduce this + license (including the above copyright notice and the disclaimer and + (if applicable) source code license limitations below) in the documentation + and/or other materials provided with the distribution + + Redistribution and use in binary form, without modification, are permitted + provided that the following conditions are met: + + * No reverse engineering, decompilation, or disassembly of this software + is permitted with respect to any software provided in binary form. + + * Any redistribution and use are licensed by TI for use only with TI Devices. + + * Nothing shall obligate TI to provide you with source code for the software + licensed and provided to you in object code. + + If software source code is provided to you, modification and redistribution of + the source code are permitted provided that the following conditions are met: + + * Any redistribution and use of the source code, including any resulting + derivative works, are licensed by TI for use only with TI Devices. + + * Any redistribution and use of any object code compiled from the source code + and any resulting derivative works, are licensed by TI for use only with TI + Devices. + + Neither the name of Texas Instruments Incorporated nor the names of its + suppliers may be used to endorse or promote products derived from this software + without specific prior written permission. + + DISCLAIMER. + + THIS SOFTWARE IS PROVIDED BY TI AND TI�S LICENSORS "AS IS" AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL TI AND TI�S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/** + ******************************************************************************* + * + * \file main_a15_01.c + * + * \brief This file implements the A15_0 main() + * + * This file has the A15_0 main(), the entry point to the core. + * Set the A15 clock and call System_start() & BIOS_start() + * + * \version 0.0 (Jul 2013) : [SS] First version + * + ******************************************************************************* +*/ + +/******************************************************************************* + * INCLUDE FILES + ******************************************************************************* + */ +#include +#include +#include +#include +#include "detector.h" +#include "/usr/local/PROCESSOR_SDK_VISION_03_01_00_00/ti_components/drivers/pdk_01_08_00_16/packages/ti/drv/stw_lld/uartconsole/uartConsole.h" +#include "/usr/local/PROCESSOR_SDK_VISION_03_01_00_00/ti_components/drivers/pdk_01_08_00_16/packages/ti/drv/stw_lld/uartconsole/uartStdio.h" + +/******************************************************************************* + * Function prototypes + ******************************************************************************* + */ +Int32 System_start(Task_FuncPtr chainsMainFunc); +Int32 StartupEmulatorWaitFxn (void); +Void A15_main(UArg arg0, UArg arg1); +void mainA15TimerTick(UArg arg); + +/** + ******************************************************************************* + * + * \brief This function implements the wait loop of A15. + * + * This function would get called if the A15_0 doesn't run the demo + * or application. It is not used if A15_0 runs the app. Do not + * remove this function, required when App is moved out of A15 + * + * \param arg0 [IN] + * \param arg1 [IN] + * + * \return void + * + ******************************************************************************* + */ +Void A15_main(UArg arg0, UArg arg1) +{ + UInt32 state; + //UInt32 coreId = System_getSelfProcId(); + + while (1) + { + BspOsal_sleep(100U); + //Utils_getAppInitState(coreId, &state); + //if (state == CORE_APP_INITSTATUS_DO_EXIT) + //{ + // break; + //} + test_main(); + } +} + +/** + ******************************************************************************* + * + * \brief This is the main() implementation of A15. + * + * This is the first function and entry point to A15, does + * - Set the correct/required CPU frequency + * - Call the System_start with A15_main() and loops there + * + * \return SYSTEM_LINK_STATUS_SOK + * + ******************************************************************************* + */ +Int32 main_common(void) +{ + /* This is for debug purpose- see the description of function header */ + StartupEmulatorWaitFxn(); + + /* This should the first call for initializing the remote debug server + */ + RemoteLog_init(); + Vps_printf(" ***** A15_0 Firmware build time %s %s \n", + __TIME__,__DATE__); + + + { + UInt32 clkHz; + + clkHz = Utils_getClkHz(UTILS_CLK_ID_A15); + + if(clkHz==0U) + { + clkHz = SYSTEM_A15_FREQ; + } + + Utils_setCpuFrequency(clkHz); + } + + //Utils_idlePrepare(); + UARTConsoleInit(UART3_INST); + //BOARDConfigModulePinMux(DEVICE_ID_UART, DEVICE_UART_INST_ID_3,BOARD_MODE_DEFAULT); + //BOARDSelectDevice(DEVICE_ID_UART, DEVICE_UART_INST_ID_3); + //PlatformUART3SetPinMux(); + //UARTStdioInit(); + + //UARTConsoleInit(UART2_INST); + //UARTPuts("\r\nUart Init Done \r\n", -1); + //UART_Init(UART3_INST); + UARTprintf(" \r\n***** A15_0 Firmware build time"); + //UARTPuts("\r\nUart Init Done \r\n", -1); + + System_start(A15_main); + + BIOS_start(); + + /* test sourcode */ + + + return (SYSTEM_LINK_STATUS_SOK); +} + +/** + ******************************************************************************* + * + * \brief This function enables the A15 debug option + * + * This function enables the A15 debug option from main() onwards + * - Set the volatile variable enableDebug = 1 to enable debug + * - rebuild the code with enableDebug = 1 + * - Once enableDebug is set to 1, the control waits in this + * function even after the free-run + * - Can connect to core A15via CCS and J-Tag to debug + * - Once CCS is connected, reset enableDebug = 0 to come out of + * this function and proceeds with further debug + * + * \return SYSTEM_LINK_STATUS_SOK + * + ******************************************************************************* + */ +Int32 StartupEmulatorWaitFxn (void) +{ + volatile Int32 enableDebug = 0; + do + { + }while (enableDebug); + return SYSTEM_LINK_STATUS_SOK; +} + +/** + ******************************************************************************* + * + * \brief This function enables the A15 Timer Ticks + * + * \param arg [IN] + * + ******************************************************************************* + */ +void mainA15TimerTick(UArg arg) +{ + Clock_tick(); +} + +/* Nothing beyond this point */ + +Responses: +Hi, I have forwarded your question to an expert for comment. Regards, Yordan + +when will expertt contact me ? does the expert contact me by this forum or by email ? + +Hi Xiangtong, Are you using the TI EVM for this test? The TDA2xx TI EVM does not have UART3 populated. If your board does have UART3 populated, you can check on the following aspects: 1. Has the UART3 IP PRCM been enabled? (Clocks enabled for the IP) 2. The pin muxing has been done properly for the UART3 lines to be sent out the TDA2 device based on your board schematics. Thanks and Regards, Piyali + +Hi Xiangtong, We haven't heard back from you on this one.. Is this resolved? Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0663784.txt b/sample_embedding_folder2/0663784.txt new file mode 100644 index 0000000000000000000000000000000000000000..80f330f15d082d422e41156f074685ca38904109 --- /dev/null +++ b/sample_embedding_folder2/0663784.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SG: RSTOUTn release during power up + +Query Text: +Part Number: TDA2SG Other Parts Discussed in Thread: TDA2 Hello team, Customer tried two experiments about RSTOUTn -1) If RESETn is released before PORz, RSTOUTn outputs 2ms after PORz. -2) If RESETn is released after PORz, RSTOUTn outputs 2ms after PORz not RSTOUTn. According to the power up sequence in TDA2 data manual, RESETn to RSTOUTn delay is 2ms. But based on observation, RSTOUTn comes after PORz not RESETn. Please make clear which one between RESETn and PORz will make RSTOUTn release during power-up. The probed plot is attached in PPT file. Thanks, Lloyd Question about TDA2 RSTOUTn.pptx + +Responses: +Hi Lloyd, - PORz pin is a power-on, global cold reset. (i.e. system is being powered) - RESETn pin is a global warm reset (system was powered before, no need to reset everything again) - RSTOUTn pin allows other ICs in the system to get reset. This pin is asserted (low) on every global reset (warm or cold, software or hardware). The low signal gets extended for some milliseconds. In both of your cases 1) and 2), you are issuing a global cold reset. That's why RSTOUT gets deasserted after PORz. (not RESETn). Kindly try asserting a warm reset. This can be done by asserting low RESETn while system is running, and then desserting it. You should observe RSTOUT assertion, and deassertion with delay. Please note also that Data manual requires RESETn and PORz to be deasserted simultaneously during power-up. Therefore, it is no matter if note (14) says 'delay after resetn' or 'after porz', but in fact it is after PORz , so I will request documentation team to update the note. Thanks, Stan + diff --git a/sample_embedding_folder2/0664392.txt b/sample_embedding_folder2/0664392.txt new file mode 100644 index 0000000000000000000000000000000000000000..28824378b3c7422b33dd477f5422533f13b09aa0 --- /dev/null +++ b/sample_embedding_folder2/0664392.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2EXEVM: QSPI usage + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2 Hi, I am using TDA2Ex SoC. As mentioned in TRM, there are two QSPI parts: QSPI_ADDRSP0 (Config port) and QSPI_ADDRSP1(memeory mapped port). My understanding is QSPI_ADDRSP0 can be used to configure, write to flash. but I am unable to understand the use of QSPI_ADDRSP1. How does it help memory mapping, etc. Looking forward for the response. Thanks in advance, Priyanka Zadge + +Responses: +Hi Priyanka, QSPI_ADDRSP1 allows to view a QSPI flash contents in a CPU address space similarly to NAND or NOR flash memories. This address space is located at: QSPI_ADDRSP1 | 0x5C00_0000-0x5FFF_FFFF | 64 MiB | QSPI CS0/CS1/CS2/CS3 space (Maddrspace 1) I don't have much experience with that though. Regards, Stan + +Hi Stan, [QSPI_ADDRSP1 allows to view a QSPI flash contents in a CPU address space similarly to NAND or NOR flash memories.]: meaning, this part of QSPI is useful to see the contents of external flash only, correct? Regards, Priyanka + +Yes, but QSPI is most useful with flash memories. If you need SPI as a control interface, better option is the MCSPI peripherals of TDA2. Regards, Stan + +Hi Priyanka, In additional to what Stan said QSPI can operate in two modes: Memory mapped Mode and Config mode. QSPI_ADDRSP0 is used while operating in config mode and QSPI_ADDRSP1 in memory mapped mode. Memory mapped mode allows user to read QSPI as a flat memory similar to DDR/OCMC. You can search for SOC_QSPI_ADDRSP1_BASE and SOC_QSPI_ADDRSP0_BASE in \packages\ti\boot\ folder to see how both spaces are used. Regards, Rishabh + diff --git a/sample_embedding_folder2/0664414.txt b/sample_embedding_folder2/0664414.txt new file mode 100644 index 0000000000000000000000000000000000000000..95626fca352b7462f1e3f77145635ba894fa9011 --- /dev/null +++ b/sample_embedding_folder2/0664414.txt @@ -0,0 +1,22 @@ +Ticket Name: RTOS/TDA2HG: HW SHORT occurred on TDA2 vision-kit and de-serializer board when 4 Cameras were connected + +Query Text: +Part Number: TDA2HG Tool/software: TI-RTOS Dear Champs, My customer failed to run SV demo with VisionSDK_UserGuide_TDA2xx.pdf using pre-built image. When they connected 3 cameras, there was no issue to run DEMO, but they failed to run DEMO with 4 cameras. At this failure, they observed high 'current' in their power supply like HW SHORT. So, they sent de-serializer board to repair it, but they failed again even with new board. Could you please let me know your idea what should be checked in this case? SW is Vision-SDK v3.02.00.00. Thanks and Best Regards, SI. + +Responses: +Hi, I have forwarded your question to an expert for comment. Regards, Yordan + +SI Are they tried 2D SRV on TDA2x EVM + Vision daughter card + OV10635 Camera ? or any other demo. Please check they used the right power supply (the one shipped along with EVM kit) regards, Shiju + +Hi Shiju, Yes. they tried 2D SRV on TDA2x EVM + Vision daughter card + de-serializer board + OV10635 cameras. There was no power supply in the EVM package, and they used power supply. Thanks and Best Regards, SI. + +SI Please check with spectrum digital on the power supply. power supply specification Input: 100-240V Output: 12V, 7A regards, Shiju + +Hi Shiju, I’m checking the specification of power supply, and it seemed it’s max output is only 3A. Do you think 3A is OK? BR, SI. + +SI no, I checked by power supply, it should be Output: 12V, 7A regards, Shiju + +this issue was resolved after using new power supply(12V, 10A). Thanks for your support! Thanks and Best Regards, SI. + +SI Thanks for the confirmation regards, Shiju + diff --git a/sample_embedding_folder2/0665627.txt b/sample_embedding_folder2/0665627.txt new file mode 100644 index 0000000000000000000000000000000000000000..0459b7d7061fe655243cb625319c57a45ca3dbcc --- /dev/null +++ b/sample_embedding_folder2/0665627.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2EVM5777: Setting for SV DEMO on TDA2 EVM + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS Dear Champs, My customer is trying to run SV DEMO on TDA2 EVM using pre-built image included in VisionSDK v3.02 and successfully to run DEMO display, but there is only 1 camera displayed in SV DEMO. Could you please let me know settings of Vision daughter board and deserialize board to run SV DEMO? in my customer's display, camera1 and 3 - blank. camera2 - green(only green color displayed) camera4 - display When I changed cameras each other, same situation occurred as above.(only camera4 was displayed and camera2 was green) customer's SW3 of Vision board is as below. and deserializer board is as below. Thanks and Best Regards, SI. + +Responses: +Hi SI, I have forwarded your question to VisionSDK experts. Regards, Yordan + +SI the SW3 switch setting in SW3 on TDA2xx Vision Application Board is not correct refer \vision_sdk\docs\UserGuides\VisionSDK_UserGuide_TDA2xx.pdf. section : 2.3.2 LVDS MCV Use-case Hardware Setup and 2.3.3 Capture Pin Settings SW3 should be set as below for 4ch LVDS setting (used in SRV) LVDS OFF OFF ON OFF OFF ON OFF ON regards, Shiju + +Hi Shiju, After changing SW3 setting, I found DEMO ran well. Thanks for your support. I have a question for de-serializer board setting. I found DEMO worked well with below default setting. Is this normal? Is there any detailed document for de-serializer board? I could not find any document for de-serializer board in the Spectrum Digital's web. Thanks and Best Regards, SI. + +SI The default jumper setting would work as of today we do not have any document for this, will plan to add a picture of the same regards, Shiju + diff --git a/sample_embedding_folder2/0666398.txt b/sample_embedding_folder2/0666398.txt new file mode 100644 index 0000000000000000000000000000000000000000..06f184ebbc2cb577af2388808626293e60df3a7c --- /dev/null +++ b/sample_embedding_folder2/0666398.txt @@ -0,0 +1,18 @@ +Ticket Name: RTOS/TDA3XEVM: C66x CPU clock in the platform + +Query Text: +Part Number: TDA3XEVM Other Parts Discussed in Thread: SYSBIOS, TDA2 Tool/software: TI-RTOS Hello, I have imported the example project "benchmark_TDA3x_C66xx" into the CCS 7.4 and selected the platform of TDA3EVM. This platform is taken from SYS/BIOS 6.53.1.03. I am wondering, why the CPU clock is set to 600 MHz. The C66x of the TDA3 is specified to 500 MHz. What is wrong here? By the way, the following includes in the benchloop.c file must be changed from /* POSIX module Headers */ #include #include in to #include #include Best regards, Milan + +Responses: +Hi Milan, I have forwarded your question to an expert for comment. Regards, Yordan + +Hi Milan, This comes from a default definition from bios_6_XX_XX_XX\packages\ti\platforms\evmTDA3XX\package\ti_platforms_evmTDA3XX.java po.addFld("DSP", (Proto)om.findStrict("xdc.platform.IExeContext.Cpu", "ti.platforms.evmTDA3XX"), Global.newObject("id", "0", "clockRate", 600.0, "catalogName", "ti.catalog.c6000", "deviceName", "TDA3XX", "revision", "1.0"), "rh"); You are free to modify this in the project specific CFG file by setting: var BIOS = xdc.useModule('ti.sysbios.BIOS'); BIOS.cpuFreq.hi = 0; BIOS.cpuFreq.lo = 500000000; This will take effect for calculating the DSP software frequency. BTW, note niether of these settings actually dial up the PLL. I am not aware of the project benchmark_TDA3x_C66xx you mention. Can you please highlight where you have got this project from? Thanks and Regards, Piyali + +Hi Piyali, thank you for your answer. I think the 600 MHz entry in the platform is an copy and paste error from TDA2 clocks. The project "benchmark_TDA3x_C66xx" comes from the TI Resource Explorer: I know, it is possible to set the clocks and memory settings with the SYS/BIOS cfg script. Is it possible to compile the software without the default platform or with a simple linker file? The separate platform handling makes the workflow too complicated. Best regards, Milan + +Hi Milan, Thanks for pointing out the source. Since this is a BIOS based project, the first thing it will try to run is the XDC configuro step which looks for a platform. You can additionally add your own linker files but a base linker file will be created by this configuro step from the platform. It would help us, if you could kindly elaborate how you intend to use this project. We can check if there are any alternatives based on your feedback. Regarding the earlier comment regarding posix headers, you are right. It seems the example include paths correspond to older BIOS releases. I will inform our BIOS team to update this. Thanks and Regards, Piyali + +Hi Piyali, I have chosen this project, because I want optimize an algorithm for the C66x with time measuring possibility. By this way I recognized that the CPU clock was set wrong in the platform, so that the time measurement can not be correct. The DSP runs with 500 MHz. Additional the CPU clock is also set wrong in the SYS/BIOS config. This is why I ask for to bypass the platform completely and to disable the XDC configuro. I would like to handle this configurations in the SYS/BIOS config and additionally in the linker file. In case of multicore processors the best way for clear configuration (CPU-Clock, memory, sections,...) would be in a single file. Is it possible? Best regards, Milan + +Hi Milan, If you are looking only for measuring the time for an algorithm on the DSP and do not really have any BIOS dependency, you can also use a standalone non RTSC based CCS project. For profiling you can use the TSC timers in the C66x which run a the C66x frequency. I am copying the assembly code to read the timers for quick reference: .global _CSL_tscEnable .global CSL_tscEnable _CSL_tscEnable: BNOP B3, 4 ; MVC A4, TSCL ; Initiate CPU Timer by writing to TSCL .global _CSL_tscRead .global CSL_tscRead .sect ".text:cslsys_section:tsc" _CSL_tscRead: BNOP B3, 2 ; Branch Return Pointer MVC TSCL, B0 ; Read TSCL MVC TSCH, B1 ; Read TSCH || MV B0, A4 MV B1, A5 extern void CSL_tscEnable(void); extern CSL_Uint64 CSL_tscRead (void); Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0668000.txt b/sample_embedding_folder2/0668000.txt new file mode 100644 index 0000000000000000000000000000000000000000..daff7872739e1a01008d0c6ee60f7d0e72333355 --- /dev/null +++ b/sample_embedding_folder2/0668000.txt @@ -0,0 +1,38 @@ +Ticket Name: TDA2SG: TDA2SG EMIF1 ECC + +Query Text: +Part Number: TDA2SG Other Parts Discussed in Thread: TDA2, AM5728 The current ECC architecture of aligned cache line writes, on EMIF1, (for TDA2SGBRQ (AM5728)) from only the core initiators (no IO initiators supported) is to limiting and not able to support the memory interface access schemes we have implemented. Is there a form, fit and function TDA2 device (pin compatible) supported by TI that would support non-aligned cache line writes from both core and IO initiators? I am getting the above information on ECC scheme for EMIF1 from Errata i922 + +Responses: +Hi, Dean Hogle, Check this thread if it can help: Regards, Mariya + +Hi Mariya- The link you gave me is my issue that Barend (FAE TI) told me to enter into this portal. Based on the link only quanta sized lines (full cache lines) can be written with ECC and only from ARM and DSP not IO. This is our issue, we want to have the ability to carry ECC on the DDR interface from all initiators and not be restricted to full cache line writes, meaning we need the capability to do read/modify/writes. Is there pin compatible TDA2 solutions that provide this solution? or other options? Thanks Dean + +Hi Dean, can you check if this application report can help you: www.ti.com/.../sprac42a.pdf Regards, Yordan + +Hi Dean, Read modify write with ECC enabled is not supported on TDA2xx device. You can use TDA2Px SoC which has a version that is pin compatible with TDA2xx. Regards, Rishabh + +Review of the sprac42a App note confirms the short comings of the EMIF 1 ECC implementation but does not resolve or help my initial request which is a pin compatible replacement or other options. Thanks Dean + +Hi Dean, As I stated in my previous reply you can see TDA2Px-ABZ which is pin compatible with TDA2xx and supports ECC with read modify write functionality. Regards, Rishabh + +HI Rishabh- Can you confirm if the the TDA2Px-ABZ supports ECC with RMW from all memory sources (core and IO initiators)? Thanks Dean + +Hi Dean, If the ECC referred here is EMIF ECC then the answer is yes. Regards, Rishabh + +Rishabh- I did a quick comparison of the TDA2XX datasheet to the TDA2Px and it appears that secure boot and ISS are additional features and besides that the chips are identical, can you confirm? Is there a app note or white paper that documents this that you can share with me? Do you have any information on pricing, is the TDA2XX and TDA2Px on par with each other? Thanks Dean + +Hi Dean, These are pin compatible chips, not identical. TDA2Px has more features/IPs. Please contact TI FAE for pricing. This information is documented in chapter 1 of TDA2Px TRM: www.ti.com/.../spruif0a.pdf. Regards, Rishabh + +Hi Rishabh- The link you provided does not allow me to see the .pdf, says document not found. Can you update link. Also is there an app note that documents the ECC implementation for the TDA2Px that you can share? Thanks Dean + +Hi Dean, Can you try this link: www.ti.com/.../getliterature.tsp From implementation perspective everything is same as TDA2xx. Only addition is RMW bit (REG_RMW_EN) that needs to be enabled in EMIF_ECC_CTRL_REG. Unfortunately the ECC app note is not updated for TDA2Px implementation. Regards, Rishabh + +Dean, It seems that "." is getting attached to the hyperlink at the end. Kindly remove it and try: www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=SPRUIF0&fileType=pdf Regards, Rishabh + +Hi Dean, I haven’t heard back from you, I’m assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out) Regards, Rishabh + +Hi Rishabh- The TDA2P appears to have the ECC coverage we need. I am in the process now of understanding the production availability of the device. Thank you for your help/support on this. + +Hi, Thanks for the confirmation. Regards, Rishabh + diff --git a/sample_embedding_folder2/0668556.txt b/sample_embedding_folder2/0668556.txt new file mode 100644 index 0000000000000000000000000000000000000000..fa7b94adde5af77bbbfaf68e378d5520b99795f4 --- /dev/null +++ b/sample_embedding_folder2/0668556.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2P-ABZ: TDA2P-ABZ + +Query Text: +Part Number: TDA2P-ABZ Other Parts Discussed in Thread: TDA2 We're using IS25LP512M flash memory device in TDA2P based design. This device supports different modes such as Standard SPI, Fast, Dual, Dual I/O, Quad, Quad I/O, SPI DTR, Dual I/O DTR, Quad I/O DTR, and QPI Could you please recommend which mode is preferred when we interface this device with TDA2PHGrRQACD(R)-Q1 device? Please note that there will be single flash memory device interfaced over QSPI. + +Responses: +Hi, According to TDA2 TRM, QSPI interface supports Quad read mode and one-bit write mode. Regards, Stan + +Hi, QSPI supports one bit read as well. Regards, Rishabh + diff --git a/sample_embedding_folder2/0668876.txt b/sample_embedding_folder2/0668876.txt new file mode 100644 index 0000000000000000000000000000000000000000..d939411ddf6dfc8eceb461f2ecef2630a616808d --- /dev/null +++ b/sample_embedding_folder2/0668876.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2EG-17: Whether we can delete TDA2E-17 QSPI1_RTCLK signal when QSPI memory work at Mode 3? + +Query Text: +Part Number: TDA2EG-17 Hi Expert: At TRM 24.5.2 table 24-355 gave the QSPI signal description. Because we are using spansion and Micron QSPI work at 4-bits QSPI mode. It is follow SPI mode 3. We want to remove the QSPI1_RTCLK signal ( pin H3 at TDA2E-17 ) , just connect QSPI1_SCLK signal to spainsion QSPI memory. Does it can work at TDA2E-17? Best Regards! han tao + +Responses: +Hi Tao, On TDA2-17x17 you also should not need to connect qspi1_sclk to qspi1_rtclk (in mode 3). Regards, Yordan + +Hi Yordan: Thanks for help me confirm it. Best Regards! Han Tao + diff --git a/sample_embedding_folder2/0670844.txt b/sample_embedding_folder2/0670844.txt new file mode 100644 index 0000000000000000000000000000000000000000..63153ea99b0f6988276320cb65a8345cd522e91e --- /dev/null +++ b/sample_embedding_folder2/0670844.txt @@ -0,0 +1,24 @@ +Ticket Name: Linux/TDA2EVM5777: calibration for 3D SV DEMO + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Tool/software: Linux Dear Champs, I would like to check how Calibration can be run for 3D SV DEMO, and have 2 questions especially as below. * 4 camera image capture should be done in the target board and it should be input to calibration tool on the PC, right? How 4 camera image capture should be done in target board? * in the userguide, there should be 'TDA2x' directory on the SD/MMC card. where this directory should be created? is it on the root directory of root filesystem? or is it on the boot partition? Thanks and Best Regards, SI. + +Responses: +Hi SI, Can i which version of SDK are you using? also any particular reason for manual calibration? Regards, Sujith + +Oh..sorry. VisionSDK v3.2. BR, SI. + +Hi SI, If you are using D3 Skateboard and chart, it best to perform automatic calibration. You will have to create a folder in mmc/sd root folder itself. i.e. the folder when you have MLO/uenv.txt Regards, Sujith + +Thanks Sujith, Their HW is TDA2 EVM + Vision Kit + OV10635(x 4) camera. is it possible to perform automatic calibration in this case? There is no specific reason to run manual calibration. it is OK just to run 3D SV DEMO. For directory, do you mean to create TDA2x directory in the boot partition with MLO? They failed to run automatic calibration when they create TDA2x directory in the boot partition. Thanks and Best Regards, SI. + +Hi SI, For auto-calibration, customer should use the chart provided and ensure cameras are mounted as described in VisionSDK_UserGuide_2D_SurroundView_Demo.pdf, section 2.3 Mounting Cameras The lens play a significant role, please determine the lens that's being used. For some of the fish-lenses the LENS.BIN is provided in the visionsdk. We could generate the LENS.BIN by following steps listed in "VisionSDK_UserGuide_3D_SurroundView_Manual_CalibTool.pdf" Various tables required for calibration is expected to be stored in mmc/sd card. Yes, you will require create a folder named "TDA2x". Below is a snap shot of my mmc/sd Regards, Sujith + +Sujith, And for directory, should there 'uenv.txt'? I'm wondering why my customer's directory was not worked. my customer created the directory in the boot partition as you mentioned and the log is below. [HOST] [HOST ] 631.756877 s: CHAINS: -------------------------------------------------- [HOST] [HOST ] 631.756877 s: CHAINS: TDA2X Folder not present in MMC/SD [HOST] [HOST ] 631.756908 s: CHAINS: Create TDA2X folder and copy the following files from [HOST] [HOST ] 631.756908 s: CHAINS: '/vision_sdk/tools/surround_vision_tools/Srv_LUTs': [HOST] [HOST ] 631.756908 s: CHAINS: 1. CHARTPOS.BIN [HOST] [HOST ] 631.756908 s: CHAINS: 2. LENS.BIN [HOST] [HOST ] 631.756908 s: CHAINS: 3. LENS_2D.BIN [HOST] [HOST ] 631.756938 s: CHAINS: -------------------------------------------------- Thanks and Best Regards, SI. + +Hi SI, Can you please check "VisionSDK_Linux_UserGuide.pdf" section 4.2 Regards, Sujith + +Hi Sujith, Thanks for your support. I found there was some difference in the file name and it works well after correcting file name. Thanks and Best Regards, SI. + +Hi SI, Thanks for the confirmation. Regards, Sujith + diff --git a/sample_embedding_folder2/0671327.txt b/sample_embedding_folder2/0671327.txt new file mode 100644 index 0000000000000000000000000000000000000000..23b96f15a8d0a6344aac7444ba1339412497088d --- /dev/null +++ b/sample_embedding_folder2/0671327.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2P-ABZ: linux version 4.14.24 Crashes + +Query Text: +Part Number: TDA2P-ABZ Other Parts Discussed in Thread: TDA2 Tool/software: Linux Hi, Could you please answer a question from a customer. I try to bring up linux version 4.14.24 (ti-git repository) on our homebrew device, but it will not boot into linux kernel and crashes very early, so this way will not bring success. So there is still no Board Support Package, which captures all features of the TDA2+, right? (I tried out linux 4.4.84, out of visual sdk, before, but sadly I was missing timer12. RNG and MCAN support.) Thanks, -Needhu + +Responses: +Hi, I would recommend customer to use the kernel and u-boot from here Vision SDK and add selected features from the latest kernel. Latest kernel and u-boot can be found here Kernel: git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git Branch: ti-lsk-linux-4.14.y U-boot: git://git.ti.com/ti-u-boot/ti-u-boot.git Branch: ti-u-boot-2017.01 Regards, RK + diff --git a/sample_embedding_folder2/0672848.txt b/sample_embedding_folder2/0672848.txt new file mode 100644 index 0000000000000000000000000000000000000000..f08540bd588f224acb0594aaa81e7b2d8bc70c9e --- /dev/null +++ b/sample_embedding_folder2/0672848.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2HG: About Deep learning application + +Query Text: +Part Number: TDA2HG Other Parts Discussed in Thread: TDA2 Hi Sir we used TDA2 for development and knew SDK supports Caffe/TensorFlow training frame works. we would like to know that VGG, SSD, Yolo, Yolo v2 can be implemented in TDA2 or not? please advise and thanks BR Yimin + +Responses: +Object detection layers are not supported in the current release (01.00). SSD will be supported in the next release 01.01 (March end release) Regards, Kumar.D + diff --git a/sample_embedding_folder2/0673287.txt b/sample_embedding_folder2/0673287.txt new file mode 100644 index 0000000000000000000000000000000000000000..11e5403f220cfff55fd812391c34b31649c5b367 --- /dev/null +++ b/sample_embedding_folder2/0673287.txt @@ -0,0 +1,18 @@ +Ticket Name: TDA2EG: System_linkControl_local/System_sendLinkCmd_local Issue + +Query Text: +Part Number: TDA2EG Hi I am studying on the Link. In the "vision_sdk\links_fw\src\rtos\links_common\system\system_linkApi_local.c", the System_linkControl_local/System_sendLinkCmd_local are all implemented by mailbox. Here, "local" should means communication on the same processor, but according to the technical reference manual of TDA2, mailbox is designed for two processors communication. So why VSDK use mailbox to do the local communication? Thanks xuanbo + +Responses: +Hi xuanbo, This mail box is implemented using simple queue and semaphores, it does not use hardware mail box. For inter processor communication, it uses IPC. Regards, Brijesh + +Hi Brijesh So the software mailbox is totally different with hardware mailbox. As a Link is a OS thread, could i treat the mailbox implemented with semaphore as the way to do the inner thread communication? By the way, where can i find the implement or definition code of mailbox in the VSDK? Thanks xuanbo + +Queue related: Utils_mbxCreate function at "\vision_sdk\links_fw\src\rtos\utils_common\src\utils_mbx.c"; semaphores related: Utils_queCreate function at "vision_sdk\links_fw\src\rtos\utils_common\src\utils_que.c" right? Thanks xuanbo + +xuanbo, Well, yes, utils_mbx.c uses queue and semaphores to implement mail/message box. Rgds, Brijesh + +Hi xuanbo, Yes, it is different from hardware mailbox. Yes, it is used for inter-link communications.. Regards, Brijesh + +Hi Brijesh OK, i got it, Thank you~ Regards xuanbo + diff --git a/sample_embedding_folder2/0674061.txt b/sample_embedding_folder2/0674061.txt new file mode 100644 index 0000000000000000000000000000000000000000..a659622505ff3473b5a1eacd7089f3bfcbaddbd4 --- /dev/null +++ b/sample_embedding_folder2/0674061.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SG: recommended pcb pad size of TDA2 bga + +Query Text: +Part Number: TDA2SG Hello team, My customer would like to know if the PCB pad size(land pattern size of BGA) is acceptable. The ball size of TDA2x ABC (23mmx23mm) looks typ. 0.50Φ according to data manual as following. The customer is designing the PCB pad size with 0.40Φ. 0.40Φ pad size is acceptable? . What would be the recommended pad size for BGA? regards, Lloyd + +Responses: +Refer to the following appnote for background: www.ti.com/.../spraa99b.pdf The solder ball dia that the POD shows is not the key parameter that should be used in determining the PCB’s ball land diameter. The package’s Solder Mask Opening (SMO) for each ball is the parameter that drives PCB ball land dia. Optimally SMO = Ball Land for best mechanical robustness, see Table 1 of attached. It recommends 0.4mm ball land dia for 0.8mm pitch BGAs assuming the standard package side SMO = 0.4mm. For TDA2x and DRA74x/75x we recommend 0.4mm ball land dia. Regards, Kyle + diff --git a/sample_embedding_folder2/0675342.txt b/sample_embedding_folder2/0675342.txt new file mode 100644 index 0000000000000000000000000000000000000000..b492b41fd68b34ee437445151789df06531f090f --- /dev/null +++ b/sample_embedding_folder2/0675342.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Vision SDK TDA2xx v03.02.00 + +Query Text: +Part Number: TDA2 Hello everyone: Here are my environment: Hardware: 1. TDA2xx EVM 2. TDA2xx Vision Application Board 3. 6 channel FPD-Link III FMC Daughter Board 4. 2 x OV10635 Sensor SDK: Vision SDK 3.0.2 I can run use case "vip_single_cam_sgx_display" with single OV10635 connected to P1. Now, I'm trying to run use case "lvds_vip_multi_cam_view_sgx_display". BUT when I'm using daughter board that two OV10635 camera connected to, the kernel stop at "[ OK ] Started Synchronize System and HW clocks." and then reboot again and agin. I try to remove one of the camera and there is no problem at all. And I also try to use Automotive SDK, the result is the same. My question is "Can I use only two cameras? How can I do that?" Thanks in advance + +Responses: +Hi, Multi cam usecase uses 4 camera, the buffers get displayed on screen only when all four cameras are feeding video. This won't work with 2 camera only. Single cam usecase uses only 1 camera, connect it to the cam6 port of the multides board. This will get the single cam usecase working. Refer to the user guide for more details on camera connections Regards, Nikhil D + diff --git a/sample_embedding_folder2/0675408.txt b/sample_embedding_folder2/0675408.txt new file mode 100644 index 0000000000000000000000000000000000000000..4042f711571c4685b225432ae94ea91679a722c2 --- /dev/null +++ b/sample_embedding_folder2/0675408.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2: TIDL library from vison SDK profiling cycles doesn't match with the prescribed cycles in the data sheet + +Query Text: +Part Number: TDA2 I'm using TDA2X vision high board. I built the test application provided along with the TI deep learning library TIDL for EVE and loaded it on the EVE core from Debugger. The profiling results i got was: TEST_REPORT_INIT_PROFILE_DATA : TSC cycles = 1045023112, SCTM VCOP BUSY cycles = 0, SCTM VCOP Overhead = 0 TSC cycles are 1045023112 which is way higher than the promised cycles in the datasheet. What am I doing wrong. Please guide. + +Responses: +Hi Srinidhi, The number that you are observing the initialization cycles (it is one-time cycle, not the process cycle). The test execution is not complete. At end of execution below print is expected from TIDL test bench. below highlited is the cyclee required for one inference process TEST_REPORT_INIT_PROFILE_DATA : TSC cycles = 1090612854, SCTM VCOP BUSY cycles = 0, SCTM VCOP Overhead = 0 I/O Bytes : 183972592 ( 12396776 + 171575816 ) : 0 ( 0 + 0 ) Processing Frame Number : 0 TEST_REPORT_PROCESS_PROFILE_DATA : TSC cycles = 159966840, SCTM VCOP BUSY cycles = 115715684, SCTM VCOP Overhead = 0 I/O Bytes : 93366432 ( 61884464 + 31481968 ) : 197540112 ( 170210288 + 27329824 ) End of config list found ! + +Hi kumar, Yes this is in line with the numbers with the datasheet. But in "Embedded low-power deep learning with TIDL" document it says: It says at 0.700giga cycles(700 mega cycles) time was 194.44 ms. How to achieve this performance. Was this on EVE core? On vision High board i consider EVE at 535Mhz. What was the clock speed at which this was achieved? Thanks + +The original question was for datasheet numbers in the TIDL SW release package. Regarding the new question abou the above table, this is for 4xEVEs running at 900Mhz. The model used for the abiove table is diffrenet from the one available in the TIDL SW. The above mentioned sparse model takes 188 mega cycles for one frame inference (Againt the 159 Mega cycles for the one in TIDL SW release opackage). The dense model number 700 mega cycles is for reference. I hope this clarifies your new question. Regards, Kumar.D + +Hi Kumar, When will be the Single-shot detector based libraries out? Any date that we can expect of? Thanks + +Refer here e2e.ti.com/.../675785 + diff --git a/sample_embedding_folder2/0675500.txt b/sample_embedding_folder2/0675500.txt new file mode 100644 index 0000000000000000000000000000000000000000..11977284de4c5d858fbb3388c5bf84c66ce1225b --- /dev/null +++ b/sample_embedding_folder2/0675500.txt @@ -0,0 +1,17 @@ +Ticket Name: RTOS/TDA2: Use Case generation error in VisionSDK while executing ./vsdk_linux.out + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, I am trying to create a use case & referring the document (VisionSDK_UserGuide_UsecaseGen.pdf , present in docs folder of vision_sdk.) While executing the file "vsdk_linux.out". I followed following steps: 1.Created the simple use case file. chains_capture_display.txt (attached the file) . 2. I tried to Run the executable “vsdk_linux.out” for linux platform using following command. ./vsdk_linux.out /home/varshavanga/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/apps/src/rtos/usecases/chains_capture_display.txt -img -file -path /home/varshavanga/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/apps/src/rtos/usecases/ I received the following errors: /usr/lib/libstdc++.so.6: version ``GLIBCXX_3.4.20' not found & /usr/lib/libstdc++.so.6: version ``GLIBCXX_3.4.21'not found Executed following commands to overcome those errors: 1. $ sudo add-apt-repository ppa:ubuntu-toolchain-r/test 2. $ sudo apt-get update 3. $ sudo apt-get install libstdc++6-4.7-dev After executing above commands encountered following error. ./vsdk_linux.out: relocation error: ./vsdk_linux.out: symbol _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1EPKcRKS3_, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference Do I need to install any other packages or dependencies to eliminate this error? -Thanks, Varsha chains_capture_display.txt UseCase: chains_capture_display +Capture -> Display + +Responses: +Hi Varsha, did you have installed the libs mentioned in "2.2.3 Other mandatory software packages for build" of VisionSDK_Linux_UserGuide.pdf: Ensure these packages/tools are installed on the installation machine uname, sed, mkimage, dos2unix, dtrx, mono-complete, git, lib32z1 lib32ncurses5 lib32bz2-1.0 libc6:i386 libc6-i386 libstdc++6:i386 libncurses5:i386 libz1:i386 libc6-dev-i386 device-tree-compiler mono-complete Regards, Yordan + +Hi Yordan, I have installed the libs mentioned in "2.2.3". All the libs are installed successfully except "uname" & "mkimage". When i try to install them, i encounter the following errors: E: Unable to locate package uname E: Unable to locate package mkimage Working on Ubuntu 14.04 LTS (64 bit) . Is there something else I am missing to install ? And how can i overcome the above errors. Thanks & Regards, Varsha + +Hi Varsha, for 'mkimage' you should install 'u-boot-tools' package and you should already have 'uname' installed. It seems that error is caused by another reason, I have pinged VisionSDK experts to provide help. Regards, Yordan + +Hello Yordan, Thanks for your quick reply, I have installed u-boot-tools package & uname is already installed, but still I encounter the same errors: "relocation error" as well as "E: Unable to locate package uname & E: Unable to locate package mkimage". Yes, there might be some other reason. Waiting for the help. Thanks & regards, Varsha + +Varsha Can you please follow VisionSDK_Linux_UserGuide.pdf section 2.2.3 Other mandatory software packages for build regards, Shiju + diff --git a/sample_embedding_folder2/0675785.txt b/sample_embedding_folder2/0675785.txt new file mode 100644 index 0000000000000000000000000000000000000000..ce4efe385cbeb4d6a8143e94758765218daf7ceb --- /dev/null +++ b/sample_embedding_folder2/0675785.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: TI DL : Support for SSD on EVE for TDA2x + +Query Text: +Part Number: TDA2 Hi.. Currently the latest release is TIDL.01.00.00.00 . Does this support SSD(Single Shot MultiBox Detector) now? Regards Shashi + +Responses: +No. TIDL.01.01.00.00 will support Caffe based SSD. TIDL.01.01.00.00 will be available via SDK release by April 6 Regards, Kumar.D + +I Interpret this as TIDL.01.01.00.00 doesnot support Caffe based SSD. + +Current release TIDL.01.00.00.00 does not support Caffe based SSD Next release TIDL.01.01.00.00 will support Caffe based SSD + diff --git a/sample_embedding_folder2/0676166.txt b/sample_embedding_folder2/0676166.txt new file mode 100644 index 0000000000000000000000000000000000000000..0508e1c45f75938311f94b74503da3cc387f3495 --- /dev/null +++ b/sample_embedding_folder2/0676166.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA3MV: Dual memory controller PCB tracing (with ECC) + +Query Text: +Part Number: TDA3MV Other Parts Discussed in Thread: TDA2, Hello, we making designs of some ADAS devices on TDA2, TDA3. Sure we have NDA. We want use dual memory controller configuration. But all that we seen before (EVM and other designs) using only one memory controller. Where can we get PCB tracing (design or recommendations) for dual controller + ECC? Recommendation about tracing of FCBGA 784 (ABZ package) will be useful too. + +Responses: +Hi, TDA3MV does not support a dual memory controller configuration. For TDA2, you can check under the "Technical Documents" on the product page for the reference design files as shown below. Please let us know if this does not answer your question; thanks! Best regards, Kevin + diff --git a/sample_embedding_folder2/0676191.txt b/sample_embedding_folder2/0676191.txt new file mode 100644 index 0000000000000000000000000000000000000000..a01854713e9a4eda5a5bfb11354ed1ae6e7105a7 --- /dev/null +++ b/sample_embedding_folder2/0676191.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: ABC package height after soldering + +Query Text: +Part Number: TDA2 Hello, The customer would like to know the min/max height of TDA2 ABC package after soldering. They want to know exact thickness of TDA2 ABC to attach thermal pad. In TDA2 ABC data manual, min/max height is 2.62/2.96 and seating plane is 0.15. Hence, the min/max height after soldering TDA2 should be 2.47/2.81. correct? Thanks, Lloyd + +Responses: +The min/max height after soldering is 2.47 to 2.96. The logic is that the min height may be reduced by the maximum height of the seating plane (2.62-0.15) whereas the max height may be reduced by the minimum height of the seating plane (2.96-0). Regards, Kyle + diff --git a/sample_embedding_folder2/0676205.txt b/sample_embedding_folder2/0676205.txt new file mode 100644 index 0000000000000000000000000000000000000000..3223ddbb1cbfb3fff2d1ef405a22203f244a91cd --- /dev/null +++ b/sample_embedding_folder2/0676205.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2EVM5777: Omnivision Sensors with Vision SDK + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hi, We are having following queries for sensors/lenses with Vision SDK: Query 1: We understand from that Vision board only one sensor can be connected to TDA2x. We plan to use the Omnivision sensors / lenses to connect to Vision board. (Not using multides) Can you please confirm that capture link from VisionSDK would be able to capture video frame from camera connected to directly to VisionSDK ? Query 2: Has TI used IR camera for any of the test cases ? Do you see any compatibility issues in using IR camera sensor with VisionSDK, capture link ? Please provide your views. Thanks, Abhishek + +Responses: +Hi Abhishek, Q1: Yes. Vision SDK supports OV10635 camera module which is connected directly to TDA2 EVM. Q2: You can connect camera module with IR filter on TDA2. You can check out this DM demo with IR camera done by our 3rd party using Vision SDK. www.youtube.com/watch Regards, Stanley + diff --git a/sample_embedding_folder2/0676481.txt b/sample_embedding_folder2/0676481.txt new file mode 100644 index 0000000000000000000000000000000000000000..8a20d8cd2e11d48db82af89378767873ccdd93e3 --- /dev/null +++ b/sample_embedding_folder2/0676481.txt @@ -0,0 +1,26 @@ +Ticket Name: TDA2: EVE can not perform simple DMA transfer after executing TIDL + +Query Text: +Part Number: TDA2 Hi, When EVE tries to perform the simple 1-D DMA transfer from external memory to IBUFA after executing TIDL library, the simple 1-D DMA transfer does not work. . In our case EVE first runs our simple 1-D DMA transfer and it performs well, then EVE runs TIDL and later EVE run our simple 1-D DMA transfer again and it does not work. (the data in external memory is not actually copied to IBUFA on the completion of the simple 1-D DMA transfer) Our module implemented the simple 1-D DMA transfer by following the source code in eve_sw_01_12_00_00\starterware\examples\edma_simple_eve\src\main.c, which uses register level CSL for edma to setup single 1D -> 1D transfer. However, the TIDL uses DMA_UTILS to perform auto-increment DMA and somehow it nullifies the later our simple 1-D DMA transfer. Even we change our 1-D DMA transfer by not using register level CSL APIs but using DMA_UTILS APIs. our 1-D DMA still did not work after running TIDL. We wonder if there is a universal method to implement our 1-D DMA (moreover, 1D -> 2D, 2D -> 1D DMA) and work well with other coexistent module using DMA such as TIDL? Mark. + +Responses: +Hi Mark, Can you check the status of edmaCC->IPR register after executing TIDL? Regards, Anshu + +Hi Mark, We haven't heard from you on this. Is this issue resolved? Regards, Anshu + +Hi Mark, We haven't heard back from you on this issue. We are closing this issue, if you still have problems you can reopen it again. Regards, Anshu + +Hi Anshu, We try three test cases and two scenarios and get the same interesting result. DMA works well when source and destination are both DRAM, but DMA fails at 2nd time when destination is IBUFA(EVE internal RAM). So the problem could be related to why IBUFA can't be accessed by DMA after executing TIDL. We doubt TIDL does not restore EVE internal buffer switch so that DMA can't not access IBUFA. Our test cases and scenarios are: [test A] use our simple 1D dma to do the test step 1: run our simple 1D DMA. step 2: run TIDL. step 3: run our simple 1D DMA again. [test B] use the example the same as file REL.DMAUTILS.00.08.00.02\dmautils\test\edma_utils_autoincrement_1d_test\src\edma_utils_autoincrement_1d_test.c to do the test step 1: run edma_utils_autoincrement_1d_test. step 2: run TIDL. step 3: run edma_utils_autoincrement_1d_test again. (OK for DMA transfer from DRAM to DRAM. Fail for DMA transfer from DRAM to EVE IBUF_A) [test C]: use the API EDMA_UTILS_memcpy2D() to do the test step 1: run EDMA_UTILS_memcpy2D(). step 2: run TIDL. step 3: run EDMA_UTILS_memcpy2D() again. : DMA transfer from DRAM to DRAM, for all three tests. DMA transfer OK in step 1. DMA transfer OK in step 3. : DMA transfer from DRAM to IBUFA, for all three tests. DMA transfer OK in step 1. DMA transfer fails in step 3. (but the return code of DMA function shows no error) Mark. + +Hi Mark, As requested earlier can you check the value IPR register before and after executing TIDL just to check if there are any interrupts pending in EDMA. You can see the value of this register using CSL overlay structure for EDMA (CSL_EdmaccRegsOvly->IPR). Also can you mention the version of TIDL which you are using? Regards, Anshu + +Hi Anshu, The version of TIDL we used is REL.TIDLSRC.01.00.00.00 Mark. + +Mark, Can you read the value (32bits) at the following memory location before and after executing TIDL 0x400A1068 ( This corresponds to IPR register)? Regards, Anshu + +Hi Anshu, I use the following code to get the content of IPR register: volatile unsigned int IPR_value; volatile unsigned int *pEDMA_CC_IPR = (volatile unsigned int *) 0x400A1068; IPR_value = *pEDMA_CC_IPR; printf("EDMA_CC_IPR(0x%08x) = 0x%08x \r\n", pEDMA_CC_IPR, IPR_value); And the results are: Before running TIDL: EDMA_CC_IPR(0x400a1068) = 0x00000000 After running TIDL: EDMA_CC_IPR(0x400a1068) = 0x00000000 Mark. + +Hi Mark, I dont see any issue which could cause the behavior which you are observing. Can you share you simple DMA code so that we can try it at our end? Regards, Anshu + +Hi Anshu, We find out the root cause is not only related to EDMA but also EVE IBUF switch. After switching to correct IBUF view, EDMA can transfer from DRAM to IBUFA correctly in [test B] and [test C]. Mark. + diff --git a/sample_embedding_folder2/0676905.txt b/sample_embedding_folder2/0676905.txt new file mode 100644 index 0000000000000000000000000000000000000000..6a4dba68241bb5d2e8d4fed048e724533ebc5554 --- /dev/null +++ b/sample_embedding_folder2/0676905.txt @@ -0,0 +1,10 @@ +Ticket Name: RTOS/TDA2: NDK 2_24_02_31 debug print + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hello everyone! I am trying to do some modifications within the TCP source files. I am using VISION_SDK_02_12_01_00 for Windows. In order to do some debugging, I have used "DbgPrintf" and "printf" functions. However, when one of these functions gets invoked, I cannot see an appropriate output on the serial port. At first, I have used a MicroSD card to load the AppImage and I could not see any output of these functions. After that, I have loaded the AppImage using JTAG connection and CCS and I have not noticed the output neither on the UART console nor on the CCS console. Is there any solution to debug the NDK code using debug prints that would be visible on the UART console, or as the second solution, to be visible on the CCS console? I would like that solution not to imply using any application beyond the VSDK, i.e. I would just like to run the AppImage and to get the desired print outputs. Thanks in advance, Marko + +Responses: +Hello Marko, The NDK debug prints (using printf and dbgprintf) are not routed to serial port and are only console prints. These will only come on CCS console. We don't support serial prints in NDK as it is independent package. There are 2 options 1. After loading appimage and before running use-case, connect CCS and load symbols. After this you should get prints on console. 2. If you are sure that your debug code won't run before initialization of VSDK, you can directly Vps_printf function of VSDK (define prototype locally & declare it as extern). + +Thanks, Prasad. Linking the Vps_printf function with NDK resolved my issue. + diff --git a/sample_embedding_folder2/0677285.txt b/sample_embedding_folder2/0677285.txt new file mode 100644 index 0000000000000000000000000000000000000000..7a648bcd9048dce3ab822e8743c48676299de593 --- /dev/null +++ b/sample_embedding_folder2/0677285.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2EXEVM: Interfacing with AWR1642BOOST EVM (Radar Sensor) + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: AWR1642BOOST, AWR1642, TDA2 Hi, We are looking at connecting the AWR1642BOOST EVM to the TDA2X EVM through CAN. However, we noticed that the AWR1642BOOST EVM has a single CAN-FD port while the TDA2X EVM has a single Classic CAN port. Can the AWR1642BOOST EVM be configured to send plain Classic CAN messages via the CAN-FD port? If not, what is the recommended method for interfacing the AWR1642BOOST EVM to the TDA2X EVM via CAN? Regards, Ranjith + +Responses: +Hi Ranjith, I'm not familiar with the AWR1642BOOST EVM. I just checked the EVM datasheet: www.ti.com/.../swrs203 There are described 2 CAN ports: one CAN-FD and one classic. Can you please check again documents and inspect your board for a second CAN? Also, what is the version of your board? Regards, Stan + +Hi Stan, Thanks for quick response. The datasheet link present in your comment is of the AWR1642 Radar Sensor, not of the EVM. Datasheet of AWR1642BOOST EVM is available at www.ti.com/.../swru508a.pdf This document mentions of only one CAN-FD Connector in Topic 1.2 Key Features, as well as in Figure 1. EVM (Front). So, It looks like the EVM board is exposing only CAN-FD interface, out of the 2 CAN Interfaces provided by AWR1642 Radar Sensor. Regards, Ranjith + +Hi Ranjith, Sorry, I didn't realize that I was looking at the chip datasheet. I've checked also the EVM document. It looks like classic CAN can be reached on one of the connectors (e.g. J1). CAN is muxed with SPIA_CS and SPIA_CLK internally, hence CAN must be selected in software. CAN is also available on other 2 pins: TRACE_DATA_12 and TRACE_DATA_13 which are also routed to J1. Note that you will need an external CAN PHY transceiver module/PCB, because the 2 pins are a simple, CMOS RX/TX pair. (CAN-FD has onboard PHY) Regards, Stan P.S. Now I recall that if you need only the two nodes on the network (AWR and TDA2), it could be possible to connect them PHY-less. I.e. TX ----> RX RX <------TX , provided that voltage levels match. I didn't try this however. + diff --git a/sample_embedding_folder2/0677296.txt b/sample_embedding_folder2/0677296.txt new file mode 100644 index 0000000000000000000000000000000000000000..583cf096fa0be843bcc44fb3f34ea6e64bfb6ba0 --- /dev/null +++ b/sample_embedding_folder2/0677296.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: TDA2H and TDA3x :DSP benchmarks + +Query Text: +Part Number: TDA2 Tool/software: Linux Dear TI experts, When i run below test code on dsp,i found out the TDA3x's DSP is more efficient. Test Code: #define TSC_getDelay(preTSC) ((unsigned int)((0xFFFFFFFFl+TSCL)-(unsigned long long)preTSC)+ 1) short *T0; T0 = (short*) Utils_memAlloc(UTILS_HEAPID_DDR_CACHED_SR, 10240, 8U); //DDR { int t=0; int t0_time; int pclk; TSCL=0; pclk=TSCL; for(t =0;t<10240;t++) { T0[t] = t; } t0_time= TSC_getDelay(pclk); Vps_printf("DEBUG:---DDR = %d Result = %d ",t0_time,T0[1024]); } Result: [DSP1 ] 38.649484 s: DEBUG:---DDR = 12412 Result = 1024 //TDA3X with 709M DSP ;VSDK2.12 [HOST] [DSP2 ] 58.513542 s: DEBUG:---DDR = 43946 Result = 1024 //TDA2H with 750M DSP; VSDK2.12 linux Any ideas what is going on? Thank you. Best Regards Sid + +Responses: +Have you checked if they are both built in release mode? You can double check the asm file generated for this file and see that the ASM code for this code section is the same for both. + +also make sure no task preemption during the execution of this code, it can be assured by interrupt disable and enable before and after the code as below UInt hwiKey = Hwi_disable(); :::::::::::::::::::::::::::::::::::: code ::::::::::::::::::::::::::::::::::: Hwi_restore(hwiKey); regards, Shiju + +Hi Jesse & Shiju, Thanks . I found out when run the test code before my usecase started on tda2x, the result will be close to tda3x. The tda3x is only run a simple chains for test. when my usecase start on tda2x, there will have other three alg plugin links also run on dsp2, therefore the test code will consume more times to run. I think i need Optimization my alg code. Best Regards Sid + diff --git a/sample_embedding_folder2/0677488.txt b/sample_embedding_folder2/0677488.txt new file mode 100644 index 0000000000000000000000000000000000000000..3b3dd6b6670210054118c4718bc2097080c982f2 --- /dev/null +++ b/sample_embedding_folder2/0677488.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2: video input raw bayer(RGGB) 12bit to RGB888 + +Query Text: +Hi all, Now I'm using TDA2xx and VisionSDK 2.9. The video sensor is AR0132 whose format is RGGB 12bit parallel. But the algorithm needs RGB888 format as input. Does anyone know how to convert the raw bayer data to RGB data? The ideal solution is that TDA2xx itself has the hardware modules for format converting. Thanks. + +Responses: +Hi Hu, There is no HW module in TDA2x to convert Bayer to RGB888. You could use ISP module to convert from Bayer to RGB888, but it is supported on TDA3x and TDA2Px. Regards, Brijesh + +Hi Brijesh, Actually, we are planning to use TDA2Px. Could you tell me more details about how to convert the data format with ISP module? It's better to give us the user manual of TDA2Px. Thanks. + +Hi Rooney, You could go through the ISS based usecases on TDA2PX in VSDK. These usecases captures bayer data from sensors like OV10640 and uses ISP convert Bayer into YUV420. Regads, Brijesh + +Hi Brijesh, Which version of VSDK support TDA2PX ? If there is a usecase that support the conversion from bayer to RGB888 inside VSDK? + +Hi rooney, Starting from VSDK 3.2 release supports TDA2Px platform and there are ISS usecases in VSDK which uses ISP to convert Bayer to YUV420.. Regards, Brijesh + diff --git a/sample_embedding_folder2/0677875.txt b/sample_embedding_folder2/0677875.txt new file mode 100644 index 0000000000000000000000000000000000000000..87271c7f59e242e9e940f8b3328ef3f7981ba7c6 --- /dev/null +++ b/sample_embedding_folder2/0677875.txt @@ -0,0 +1,24 @@ +Ticket Name: TDA2: Compatibility of ISP and CMOS Image sensor + +Query Text: +Part Number: TDA2 how we can say that this ISP is compatible with this CMOS image sensor?? + +Responses: +Hi Harsh, ISP is not supported on TDA2x.. It is available on TDA3x and TDA2Px. Regards, Brijesh + +Hi Brijesh, If i work on TDA3x then if i want to choose an ISP for my cmos sensor like OV10640, then how will i choose a perfect ISP for that. How we can say that ov490 is compatible with OV10640. how we compare different ISP's ? + +Hi Harsh, ISP is HW module and is internal to TDA3x. OV490 is ISP from omnivision. Go through the details of each ISP and then you could compare.. Regards, Brijesh + +Harsh, I am assuming that there are no further questions and so closing this thread. You can reopen it if you have any more questions.. Rgds, Brijesh + +Hi Brijesh, As you say that TDA3x has its own internal ISP. So, do we need any external ISP for frame based functions ? + +Hi Harsh, Yes, TDA3x has its own internal ISP, so you dont require external ISP for Bayer to YUV conversion.. Regards, Brijesh + +Hi Brijesh, For image stablization or for noise reduction should i need external ISP? + +Harsh, There is a noise filter in ISP, but for image stabilization, you need to develop algorithm. Rgds, Brijesh + +Brijesh, Thank you Regards, harshgarg + diff --git a/sample_embedding_folder2/0678523.txt b/sample_embedding_folder2/0678523.txt new file mode 100644 index 0000000000000000000000000000000000000000..f4f5f5470bad217acd245389b70de486d73393de --- /dev/null +++ b/sample_embedding_folder2/0678523.txt @@ -0,0 +1,30 @@ +Ticket Name: CCS/TDA2: new tda2x EVM , Blackhawk XDS560v2-USB test connection failed + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio a new tda2x EVM , Blackhawk XDS560v2-USB System Trace Emulator (this have connect to tda3x evm successful ,now i just change to tda2x evm ) i see the pdf the power supply is 12V 7 A ,But I use 12v 2.5A replace; if i launch the target configuring ,it stop much time like follow + +Responses: +Hi Shuai, Have you tried the Test Connection option in the ccxml file to check if the JTAG scan chain path is okay? This should give you an idea if the basic connection is fine. If the Test Connection also fails, I would suggest you to update your power supply to the recommended EVM power supply and then give it another try. Thanks and Regards, Piyali + +Hi :Piyali Have you tried the Test Connection option in the ccxml file to check if the JTAG scan chain path is okay? I uploaded 3 pictures, the one in the middle is try to test connection , then it stop there like the picture along time. i think it doesnot finished, then i close the test connection window , CCS is hanging out. BESTWISHES SHUAI + +Hi SHUAI Thanks for confirming! Can you please try with a different EVM power supply (7A)? Thanks and Regards, Piyali + +Another thing to try is to reduce the TCK clock frequency and check if the issue is resolved for you. You can get the TCK clock frequency in the ccxml file, when you click on "Blackhawk XDS560v2 USB System Trace Emulator 0" (First line in the advanced tab) Thanks and Regards, Piyali + +Hi :Piyali i try EVM power supply (7A) , but it also cannot connect. BEST wishes + +Hi Shuai, Thank you for trying the experiment! Have you been able to try the Lowering of TCK clock? From the picture of your evm I could not quite read the sysboot pin settings. Can you also please make sure the sysboot pin settings are SYSBOOT(SW2)[1:16] = 00000000 10000001 ? Thanks and Regards, Piyali + +Hi Piyali SYSBOOT(SW2)[1:16] = 00000000 10000001 ? sysboot pin settings are right try the Lowering of TCK clock? i donot know how to do this , follow is the ccxml file + +Hi Piyali JTAG TCLK frequency i try legacy 10.368MHZ limit and faster 35.0 Mhz limit . both the same ,even JTAG no conect with evm is the same + +Hi Piyali I try to I installed CCS in the virtual machine and tried to connect ,,follow is the result! [Start: Blackhawk XDS560v2-USB System Trace Emulator_0] Execute the command: %ccs_base%/common/uscif/dbgjtag -f %boarddatafile% -rv -o -F inform,logfile=yes -S pathlength -S integrity [Result] -----[Print the board config pathname(s)]------------------------------------ /home/hancan/.ti/ccs740/0/0/BrdDat/testBoard.dat -----[Print the reset-command software log-file]----------------------------- This utility has selected a 560/2xx-class product. This utility will load the program 'libbh560v2u.out'. E_RPCENV_IO_ERROR(-6) No connection: open failed: code 19 Download failed for file /home/hancan/ti/ccs740/ccsv7/ccs_base/common/uscif/./././././xds560v2.out An error occurred while soft opening the controller. -----[An error has occurred and this utility has aborted]-------------------- This error is generated by TI's USCIF driver or utilities. The value is '-250' (0xffffff06). The title is 'SC_ERR_ECOM_EMUNAME'. The explanation is: An attempt to access the debug probe via USCIF ECOM has failed. [End: Blackhawk XDS560v2-USB System Trace Emulator_0] + +I don't think you SYSBOOT is configured correctly either. Can you make sure it boots fine from an MMC, then remove the card and try the JTAG connection again? You can just quickly try to mimic the SYSBOOT from TDA3x that works for you. Thanks Alex + +Hi Alex Can you make sure it boots fine from an MMC . How to do? SYSBOOT(SW2)[1:16] = 00000000 10000001 ? is set right . anyother to do ?? could your Describe the operation steps! BEST WISHES + +JTAG TCLK frequency i try legacy 10.368MHZ limit and faster 35.0 Mhz limit . + diff --git a/sample_embedding_folder2/0678527.txt b/sample_embedding_folder2/0678527.txt new file mode 100644 index 0000000000000000000000000000000000000000..01a93bb5ca0ce5f76a6e3e1eff8e6e508e31a018 --- /dev/null +++ b/sample_embedding_folder2/0678527.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: I want to buy a ADAS Development board + +Query Text: +Part Number: TDA2 Dear: I want to buy a ADAS Development board. Can you give me some video of LDW,FCW,TSR,,PDS base on TDA3x and TDA2x , My Email address is welcomezyh@163.com. Zhang + +Responses: +Hi - You may find some CES youtube videos for these demo. https://www.youtube.com/watch?v=lBXmCEYdqio TI www also has details for EVM purchase etc. regards yashwant + diff --git a/sample_embedding_folder2/0679030.txt b/sample_embedding_folder2/0679030.txt new file mode 100644 index 0000000000000000000000000000000000000000..16841c11a234cb9980950957555b0dd26a2cfc1f --- /dev/null +++ b/sample_embedding_folder2/0679030.txt @@ -0,0 +1,12 @@ +Ticket Name: CCS/TDA2: EDMA_UTILS_globalReset(); how to use + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio In my project, there are 7 parts. Each part needs to move data from DDR to L2 by DMA and then do operations. I imitates the pingpang pattern in SDK_VISION_03_02_00_00\ti_components\algorithms\REL.DMAUTILS.00.08.00.02\dmautils\test\edma_utils_autoincrement_test. A EDMA_UTILS_globalReset () is called when the project is initialized; but the first two parts are normal when the int status = biasDmaAutoIncrement__Init returns a value, and the back value of the next 5 parts is a -1 description of the configuration failure. Then I call EDMA_UTILS_globalReset () once at the beginning of each part; the latter part can work, and finally I want to ask EDMA_UTILS_globalReset (); should it be called once or when you need to use it again? + +Responses: +Hi Shuai, Can you explain what you mean by parts? Does it mean that you have 7 transfers which you want to do for each trigger? EDMA_UTILS_globalReset () is supposed to be called only once per frame. Regards, Anshu + +Hi Anshu cpu reset start main , Initialization mem , read a image , call fun1, call fun2, call fun3,call fun4,call fun5,call fun6,call fun7 return. in each fun copy data from DDR to L2 and copy data to DDR. I think EDMA_UTILS_globalReset () should call once in Initialization ?? BESTWISHES + +Shuai, Basically if you call EDMA_UTILS_globalReset for each function then it will release all the resources and re-allocate for each of the fun*. So it should be ok only to call it once before fun1. In this case each of the transfer will happen on different DMA channel. Regards, Anshu + diff --git a/sample_embedding_folder2/0679186.txt b/sample_embedding_folder2/0679186.txt new file mode 100644 index 0000000000000000000000000000000000000000..8de2812ef2a7b1a285cf0142aea76d59dc3f3ac8 --- /dev/null +++ b/sample_embedding_folder2/0679186.txt @@ -0,0 +1,138 @@ +Ticket Name: TDA2: TIDL-1.1 SSD model test application output + +Query Text: +Part Number: TDA2 Hi , I changed config_list.txt to "1 C:\PROCESSOR_SDK_VISION_03_03_00_00\ti_components\algorithms\REL.TIDL.01.01.00.00\modules\ti_dl\test\testvecs\config\infer\tidl_config_jdetnet.txt" so that it can run the SSD model and look at the profile output and the output result. The result bin file contains 560 values for 768X320 image. How to make sense of this output bin file? Can we extract bounding boxes from this data? + +Responses: +Refer Line number for 327 for output for of SSD object detection layer for output format. github.com/.../detection_output_layer.cpp It is 20 bounding box parameter each 7 float values (20x7x4). Please refer vision SDK OD use case example code for more details. This network is optimal when split between EVE and DSP (Tail end layers are best optimal on DSP). Set runFullNet = 0 in the infer config file for EVE profile numbers only. We would recommend the Vision SDK profile log for better understanding SSD performance. + +Hi Kumar, Thank you for the reply. Now I'm able to make sense of the output and the profile numbers are accurate. I have few more questions: 1) How many classifications are possible. In the given test input I see pedestrian, road sign and one another. 2)How many layers run on EVE and how many on DSP? 3)I'm attaching the output bin file(changed the extension to .lib). One of the bounding boxes values is wrong. It's ymax is less than ymin and Is classified as 3 with a confidence of 0.7. it is marked as blue in the image attached. Can you please confirm whether the output is correct. Because I do not have a reference bin file for this. stats_tool_out_eve.lib + +1. The model that is used in demo was trained with 4 classes. increasing the number of classes (We have tested with 21, we can increase further as well) will have minimal imapact on EVE performace and will have considerable impact on DSP performace . 2. layers with layersGroupId == 1 are running on EVE and and layers with layersGroupId == 2 are running on DSP 3.The vehicle (atleaste three) in the images also needs to be detected. Can you run the model with "runFullNet = 1" on EVE and check whether you observe the Bbox for vehicle. Because of cahce coherency issues in the stanalone test bench, the output may be wrong some time in the DSP + +I had run it with runFullNet = 1 and on an EVE simulator... + +Could you please try on target (EVE), We have not tried recently on EVE simulator. + +I tried it on the target. The results still remain the same. + +Hi, The output (stats_tool_out_eve.lib) you attached in previous post looks correct and I used the same for visualisation. See below screenshot for your reference. So, looks like there is some problem in your visualisation tool. Please check. Thanks, Praveen + +Hi Praveen, I'm attaching my c code to read the bin file and draw the BB on the image. Let me know whether its the right way to read values from the bin file. markBox.c #include +#include + +int main() +{ + FILE *fi, *fb, *fout; + float data[4]; + float label; + float dummy; + uint8_t orig[768*320]; + uint8_t result[768*320*3]; + int x1, x2; + uint16_t xmin, ymin, xmax, ymax; + uint8_t value; + uint8_t Red, Green, Blue; + + fi = fopen("trace_dump_0_768x320.raw", "r"); + fb = fopen("stats_tool_out_eve.bin", "r"); + fout = fopen("markedBoxes.ppm", "w"); + + fread(&orig[0], 768 * 320, sizeof(uint8_t), fi); + + for(x1 = 0; x1 < 320; x1 ++) + { + for(x2 = 0; x2 < 768; x2 ++) + { + value = orig[(x1 * 768) + x2]; + result[(x1 * 768 * 3) + (x2 * 3)]= value; + result[(x1 * 768 * 3) + (x2 * 3) + 1] = value; + result[(x1 * 768 * 3) + (x2 * 3) + 2] = value; + } + } + + for(x2 = 0; x2 < 20; x2 ++) + { + fread(&dummy, 1, sizeof(float), fb); + + fread(&label, 1, sizeof(float), fb); + + fread(&dummy, 1, sizeof(float), fb); + + fread(&data[0], 4, sizeof(float), fb); + + xmin = (uint16_t)(data[0] * 768); + ymin = (uint16_t)(data[1] * 320); + xmax = (uint16_t)(data[2] * 768); + ymax = (uint16_t)(data[3] * 320); + + // printf("data[3] = %f, ymax = %d\n", data[3], ymax); + + // printf("%f - (%f, %f) (%f, %f) - %f\n", label, data[0], data[1], data[2], data[3], dummy); + printf("%d - (%d, %d) (%d, %d) - %f\n\n", (uint8_t)label, xmin, ymin, xmax, ymax, dummy); + + if(label == 1) + { + Red = 255; + Green = 0; + Blue = 0; + } + + if(label == 2) + { + Red = 0; + Green = 255; + Blue = 0; + } + + if(label == 3) + { + Red = 0; + Green = 0; + Blue = 255; + } + + for(x1 = xmin; x1 <= xmax; x1 ++) + { + result[(ymin * 768 * 3) + (x1 * 3)] = Red; + result[(ymin * 768 * 3) + (x1 * 3) + 1] = Green; + result[(ymin * 768 * 3) + (x1 * 3) + 2] = Blue; + } + + for(x1 = xmin; x1 <= xmax; x1 ++) + { + result[(ymax * 768 * 3) + (x1 * 3)] = Red; + result[(ymax * 768 * 3) + (x1 * 3) + 1] = Green; + result[(ymax * 768 * 3) + (x1 * 3) + 2] = Blue; + } + + for(x1 = ymin; x1 <= ymax ; x1 ++) + { + result[(x1 * 768 * 3) + (xmin * 3)] = Red; + result[(x1 * 768 * 3) + (xmin * 3) + 1] = Green; + result[(x1 * 768 * 3) + (xmin * 3) + 2] = Blue; + } + + for(x1 = ymin; x1 <= ymax ; x1 ++) + { + result[(x1 * 768 * 3) + (xmax * 3)] = Red; + result[(x1 * 768 * 3) + (xmax * 3) + 1] = Green; + result[(x1 * 768 * 3) + (xmax * 3) + 2] = Blue; + } + } + + fprintf(fout, "P3 768 320 255 "); + for(x1 = 0; x1 < 768 * 320 * 3; x1 ++) + fprintf(fout, "%d ", result[x1]); + + fclose(fi); + fclose(fb); + fclose(fout); + + return 1; +} I feel its right because it works for all others except for vehicle detection values. + +Hi Praveen, I fixed it. I was reading the bin file in text mode on windows, hence it was hitting a early EOF. I opened it in binary mode and now it runs fine. Thank you + +Hi, Thanks for the update. Glad to hear that. Regards, Praveen + diff --git a/sample_embedding_folder2/0679535.txt b/sample_embedding_folder2/0679535.txt new file mode 100644 index 0000000000000000000000000000000000000000..5c32a4aa3a306585069527795332a47b22d8f977 --- /dev/null +++ b/sample_embedding_folder2/0679535.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: EVE frequency only half? + +Query Text: +Part Number: TDA2 Hi: I am using the TDA2SX.In the datasheet,I see the EVE frequency is 650M max.But In the SBL Boot print log,I see the EVE Frequency is only 325MHz Max,is only half. Is there something wrong? The SBL Boot print log is follow: "[EVE1 ] 8.848959 s: ***** EVE Firmware build time 09:59:46 Apr 9 2018 [EVE1 ] 8.850545 s: *** SYSTEM: CPU Frequency , [EVE1 ] 8.876776 s: SYSTEM: Notify register to [IPU1-0] line 0, event 15... [EVE1 ] 8.878393 s: SYSTEM: Notify register to [IPU1-1] line 0, event 15... [EVE1 ] 8.879979 s: SYSTEM: Notify register to [IPU2] line 0, event 15... [EVE1 ] 8.881473 s: SYSTEM: Notify register to [DSP1] line 0, event 15... [EVE1 ] 8.882968 s: SYSTEM: Notify register to [DSP2] line 0, event 15... [EVE1 ] 8.884462 s: SYSTEM: Notify register to [EVE2] line 0, event 15... [EVE1 ] 8.885926 s: SYSTEM: Notify register to [EVE3] line 0, event 15... [EVE1 ] 8.887268 s: SYSTEM: Notify register to [EVE4] line 0, event 15... [EVE1 ] 8.888641 s: SYSTEM: Notify register to [HOST] line 0, event 15... [EVE1 ] 8.890837 s: SYSTEM: System Common Init in progress !!! [EVE1 ] 8.893247 s: UTILS: CIO: Init Done !!! [EVE1 ] 8.894192 s: SYSTEM: IPC init in progress !!! [EVE1 ] 8.895626 s: SYSTEM: Notify init done !!! [EVE1 ] 8.897547 s: SYSTEM: MsgQ init done !!! [EVE1 ] 8.898462 s: SYSTEM: IPC init DONE !!! [EVE1 ] 8.912554 s: SYSTEM: Initializing TIOVX ... [EVE1 ] 8.914079 s: VX_ZONE_INIT:Enabled [EVE1 ] 8.915695 s: VX_ZONE_ERROR:Enabled [EVE1 ] 8.917251 s: VX_ZONE_WARNING:Enabled [EVE1 ] 8.921399 s: VX_ZONE_INIT:[tivxInit:48] Initialization Done !!! [EVE1 ] 8.922680 s: SYSTEM: Initializing TIOVX ... Done !!! [EVE1 ] 8.923930 s: SYSTEM: System Common Init Done !!! [EVE1 ] 8.925486 s: SYSTEM: System EVE Init in progress !!! [EVE1 ] 8.926950 s: UTILS: DMA: HWI Create for INT8 !!! [EVE1 ] 8.928140 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1024 [EVE1 ] 8.929421 s: SYSTEM: Heap = LOCAL_L2 @ 0x40020000, Total size = 22528 B (22 KB), Free size = 22528 B (22 KB) [EVE1 ] 8.931739 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 252552 B (246 KB) [EVE1 ] 8.933874 s: SYSTEM: Initializing Links !!! [EVE1 ] 9.027420 s: SYSTEM: Initializing Links ... DONE !!! [EVE1 ] 9.028457 s: SYSTEM: System EVE Init Done !!! [EVE2 ] 8.857652 s: ***** EVE Firmware build time 09:59:44 Apr 9 2018 [EVE2 ] 8.859452 s: *** SYSTEM: CPU Frequency , [EVE2 ] 8.879064 s: SYSTEM: Notify register to [IPU1-0] line 0, event 15... [EVE2 ] 8.880650 s: SYSTEM: Notify register to [IPU1-1] line 0, event 15... [EVE2 ] 8.882114 s: SYSTEM: Notify register to [IPU2] line 0, event 15... [EVE2 ] 8.883608 s: SYSTEM: Notify register to [DSP1] line 0, event 15... [EVE2 ] 8.885133 s: SYSTEM: Notify register to [DSP2] line 0, event 15... [EVE2 ] 8.886536 s: SYSTEM: Notify register to [EVE1] line 0, event 15... [EVE2 ] 8.887878 s: SYSTEM: Notify register to [EVE3] line 0, event 15... [EVE2 ] 8.889251 s: SYSTEM: Notify register to [EVE4] line 0, event 15... [EVE2 ] 8.890776 s: SYSTEM: Notify register to [HOST] line 0, event 15... [EVE2 ] 8.892911 s: SYSTEM: System Common Init in progress !!! [EVE2 ] 8.895656 s: UTILS: CIO: Init Done !!! [EVE2 ] 8.896602 s: SYSTEM: IPC init in progress !!! [EVE2 ] 8.897761 s: SYSTEM: Notify init done !!! [EVE2 ] 8.899591 s: SYSTEM: MsgQ init done !!! [EVE2 ] 8.900475 s: SYSTEM: IPC init DONE !!! [EVE2 ] 8.914506 s: SYSTEM: Initializing TIOVX ... [EVE2 ] 8.916183 s: VX_ZONE_INIT:Enabled [EVE2 ] 8.917708 s: VX_ZONE_ERROR:Enabled [EVE2 ] 8.919721 s: VX_ZONE_WARNING:Enabled [EVE2 ] 8.924571 s: VX_ZONE_INIT:[tivxInit:48] Initialization Done !!! [EVE2 ] 8.926035 s: SYSTEM: Initializing TIOVX ... Done !!! [EVE2 ] 8.927011 s: SYSTEM: System Common Init Done !!! [EVE2 ] 8.927987 s: SYSTEM: System EVE Init in progress !!! [EVE2 ] 8.929482 s: UTILS: DMA: HWI Create for INT8 !!! [EVE2 ] 8.930671 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1024 [EVE2 ] 8.932013 s: SYSTEM: Heap = LOCAL_L2 @ 0x40020000, Total size = 22528 B (22 KB), Free size = 22528 B (22 KB) [EVE2 ] 8.934270 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 252552 B (246 KB) [EVE2 ] 8.936588 s: SYSTEM: Initializing Links !!! [EVE2 ] 9.029738 s: SYSTEM: Initializing Links ... DONE !!! [EVE2 ] 9.030683 s: SYSTEM: System EVE Init Done !!! [EVE3 ] 8.857317 s: ***** EVE Firmware build time 09:59:43 Apr 9 2018 [EVE3 ] 8.859177 s: *** SYSTEM: CPU Frequency , [EVE3 ] 8.881260 s: SYSTEM: Notify register to [IPU1-0] line 0, event 15... [EVE3 ] 8.882785 s: SYSTEM: Notify register to [IPU1-1] line 0, event 15... [EVE3 ] 8.884310 s: SYSTEM: Notify register to [IPU2] line 0, event 15... [EVE3 ] 8.885774 s: SYSTEM: Notify register to [DSP1] line 0, event 15... [EVE3 ] 8.887146 s: SYSTEM: Notify register to [DSP2] line 0, event 15... [EVE3 ] 8.888519 s: SYSTEM: Notify register to [EVE1] line 0, event 15... [EVE3 ] 8.889861 s: SYSTEM: Notify register to [EVE2] line 0, event 15... [EVE3 ] 8.891447 s: SYSTEM: Notify register to [EVE4] line 0, event 15... [EVE3 ] 8.892972 s: SYSTEM: Notify register to [HOST] line 0, event 15... [EVE3 ] 8.895412 s: SYSTEM: System Common Init in progress !!! [EVE3 ] 8.897974 s: UTILS: CIO: Init Done !!! [EVE3 ] 8.898889 s: SYSTEM: IPC init in progress !!! [EVE3 ] 8.899987 s: SYSTEM: Notify init done !!! [EVE3 ] 8.902031 s: SYSTEM: MsgQ init done !!! [EVE3 ] 8.902915 s: SYSTEM: IPC init DONE !!! [EVE3 ] 8.916580 s: SYSTEM: Initializing TIOVX ... [EVE3 ] 8.918135 s: VX_ZONE_INIT:Enabled [EVE3 ] 8.920118 s: VX_ZONE_ERROR:Enabled [EVE3 ] 8.921948 s: VX_ZONE_WARNING:Enabled [EVE3 ] 8.926645 s: VX_ZONE_INIT:[tivxInit:48] Initialization Done !!! [EVE3 ] 8.927743 s: SYSTEM: Initializing TIOVX ... Done !!! [EVE3 ] 8.928750 s: SYSTEM: System Common Init Done !!! [EVE3 ] 8.929726 s: SYSTEM: System EVE Init in progress !!! [EVE3 ] 8.931251 s: UTILS: DMA: HWI Create for INT8 !!! [EVE3 ] 8.932440 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1024 [EVE3 ] 8.933691 s: SYSTEM: Heap = LOCAL_L2 @ 0x40020000, Total size = 22528 B (22 KB), Free size = 22528 B (22 KB) [EVE3 ] 8.936161 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 252552 B (246 KB) [EVE3 ] 8.938510 s: SYSTEM: Initializing Links !!! [EVE3 ] 9.030561 s: SYSTEM: Initializing Links ... DONE !!! [EVE3 ] 9.031568 s: SYSTEM: System EVE Init Done !!! [EVE4 ] 8.858567 s: ***** EVE Firmware build time 09:59:44 Apr 9 2018 [EVE4 ] 8.860336 s: *** SYSTEM: CPU Frequency , " Regards + +Responses: +Hi This is showing the ARP32 CPU frequency. This is half of EVE frequency in the design. Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0679667.txt b/sample_embedding_folder2/0679667.txt new file mode 100644 index 0000000000000000000000000000000000000000..c33633389e1213312ccc2508ffae23e8d947cff4 --- /dev/null +++ b/sample_embedding_folder2/0679667.txt @@ -0,0 +1,12 @@ +Ticket Name: RTOS/TDA2: NDK 2_24_02_31 TCP slow start + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hello everyone! We are wondering about slow start conditions, within the source file: VISION_SDK_02_12_01_00\ti_components\networking\ndk_2_24_02_31\packages\ti\ndk\stack\tcp\tcpout.c We have probably understood the meaning of the first slow start condition: pt->snd_una==pt->snd_max so, that means that the sequence number within the lastly sent TCP header (within the segment that is not acknowledged) is equal to the sequence number of the last segment of the current window. Please, correct me if I am not right about this. Another contition is the following: pt->t_tidle > (pt->t_trtx<<2) We are wondering about these tick counts: t_tidle and t_trtx, what exactly thay represent. We have observed the snd_cwnd value and it holds the maximum value (65535) during the whole time of the communication. After we had decreased the bandwidth on the router, we have noticed that snd_cwnd sometimes decreases. Also, we have added some prints within the slow start IF statement and we have not noticed any occurence of the true slow start condition. We hawe also noticed that this TCP does not perform the slow start at the beginning of the data transfer, but it immediately sets the maximum 16-bit window size. What would be the best way to trigger the slow start? Thanks in advance, Marko + +Responses: +Hello Marko, Kindly give us some time to come back on your issue. I have asked our NDK expert to comment, he will check possible issue and let you know. Sorry for the inconvenience. + +Hi Marko, There are no configuration for the slow start mechanism in the stack. Unfortunately, we simply don't have the staff to go into the implementation details. If you are seeing an issue with the feature (from a black box perspective), please include a test case (with description). Todd + +Thank you Todd, During the long testing time we have noticed that the slow start condition never gets satisfied, so we have suspected that there is some missfunction involving this mechanism. Nevertheless, after another couple of experiments, we have succeeded to trigger the slow start. We observed the cwnd value and indeed it gets set to one MSS, thus proving its functionality. Best regards, Marko Gostovic + diff --git a/sample_embedding_folder2/0679675.txt b/sample_embedding_folder2/0679675.txt new file mode 100644 index 0000000000000000000000000000000000000000..e53dc265cfca3413dc8cf429cdf257385adb4e6a --- /dev/null +++ b/sample_embedding_folder2/0679675.txt @@ -0,0 +1,16 @@ +Ticket Name: Linux/TDA2: No communication on SATA interface + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi everyone, I am using VSDK Linux configuration running on TDA2x SoC and trying to have communication between TDA2x and hard disk drive via SATA interface. However, I have no communication at all. All 4 signals on SATA connectors are on 0 level. During the u-boot execution I noticed messages SCSI: SATA link 0 timeout. AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode and during kernel execution message SATA link down (SStatus 0 SControl 300). Can someone explain me what these messages mean? Also, I noticed that result of command parted -l is giving me only partitions on SD card from which system is run, but there is no SATA device. Should there be some change in configuration of linux kernel so SATA interface is active? Thanks in advance, Sasa + +Responses: +Hi Sasa, If I remember well, most EVMs do not have a power supply for the hdd. Can you check the hdd spins and all necessary power supplies are in place (they should be described on the hdd itself) . Most probably you will need to provide power externally. Thanks, Stan + +Hi Stan, we are using custom board with SATA interface on it. Power supply for HDD is external and it is working properly. Best regards, Sasa + +Hi Sasa, sorry for the delayed response. I have pinged a Linux expert to help. Regards, Yordan + +Hi Sasa We have not been testing SATA connectivity as part of our SDK releases for some time now(not much of customer traction for SATA in automotive) Can you clarify on the SDK version that you are testing and also attach a full kernel bootup log - can review and provide feedback. In general SATA link down message indicates that the link establishment did not work - need to check for potential connectivity issues. As Yprdan asked before, can you confirm if the external HDD is independently powered and you see the HDD spinning up as part of the init sequence? + +Hi Sriram, problem was SATA connector which was soldered in wrong way(turned for 180 degrees around). Thank you for your effort. Regards, Sasa + diff --git a/sample_embedding_folder2/0680154.txt b/sample_embedding_folder2/0680154.txt new file mode 100644 index 0000000000000000000000000000000000000000..6f5607e5f4768130c18afa78c2552c2b1e7b1cc6 --- /dev/null +++ b/sample_embedding_folder2/0680154.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: Can't start weston + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, I cant seem to start the weston with drm backend VISION_SDK version : 03_02_00_00 log: root@dra7xx-evm:/opt/vision_sdk# weston --backend=drm-backend.so --tty=1 Date: 2018-04-11 UTC [16:07:06.542] weston 1.9.0 http://wayland.freedesktop.org Bug reports to: bugs.freedesktop.org/enter_bug.cgi Build: 1.8.93-2-gb05cdb8 configure.ac: bump to version 1.9.0 for the official release (2015-09-21 18:11:26 -0700) [16:07:06.542] OS: Linux, 4.4.84, #1 SMP PREEMPT Thu Apr 5 12:50:59 CEST 2018, armv7l [16:07:06.542] Using config file '/etc//weston.ini' [16:07:06.542] Loading module '/usr/lib/weston/drm-backend.so' [16:07:06.546] Output repaint window is 7 ms maximum. [16:07:06.546] initializing drm backend [16:07:06.548] using /dev/dri/card0 [16:07:06.548] Loading module '/usr/lib/weston/gl-renderer.so' failed to load module: /usr/lib/gbm/gbm_dri.so: cannot open shared object file: No such file or directory failed to load module: /usr/lib/gbm/gbm_gallium_drm.so: cannot open shared object file: No such file or directory loaded module : gbm_pvr.so found valid GBM backend : gbm_pvr.so [16:07:06.554] warning: either no EGL_EXT_platform_base support or specific platform support; falling back to eglGetDisplay. [16:07:06.562] warning: EGL_EXT_buffer_age not supported. Performance could be affected. [16:07:06.562] Retrieving EGL client extension string failed. [16:07:06.563] warning: no input devices found, but none required as per configuration. [16:07:06.563] No currently active connector found. [16:07:06.563] failed to create output for /sys/devices/platform/omapdrm.0/drm/card0 [16:07:06.617] fatal: failed to create compositor backend root@dra7xx-evm:/opt/vision_sdk# modetest trying to open device 'i915'...failed trying to open device 'radeon'...failed trying to open device 'nouveau'...failed trying to open device 'vmwgfx'...failed trying to open device 'omapdrm'...done Encoders: id crtc type possible crtcs possible clones Connectors: id encoder status name size (mm) modes encoders CRTCs: id fb pos size 32 0 (0,0) (0x0) 0 0 0 0 0 0 0 0 0 flags: ; type: props: 27 trans-key-mode: flags: enum enums: disable=0 gfx-dst=1 vid-src=2 value: 0 28 trans-key: flags: range values: 0 16777215 value: 0 29 background: flags: range values: 0 16777215 value: 0 30 alpha_blender: flags: range values: 0 1 value: 0 21 GAMMA_LUT: flags: blob blobs: value: 22 GAMMA_LUT_SIZE: flags: immutable range values: 0 4294967295 value: 256 23 rotation: flags: bitmask values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20 value: 1 24 zorder: flags: range values: 0 3 value: 0 34 0 (0,0) (0x0) 0 0 0 0 0 0 0 0 0 flags: ; type: props: 27 trans-key-mode: flags: enum enums: disable=0 gfx-dst=1 vid-src=2 value: 0 28 trans-key: flags: range values: 0 16777215 value: 0 29 background: flags: range values: 0 16777215 value: 0 30 alpha_blender: flags: range values: 0 1 value: 0 21 GAMMA_LUT: flags: blob blobs: value: 22 GAMMA_LUT_SIZE: flags: immutable range values: 0 4294967295 value: 256 23 rotation: flags: bitmask values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20 value: 1 24 zorder: flags: range values: 0 3 value: 0 Planes: id crtc fb CRTC x,y x,y gamma size possible crtcs 31 0 0 0,0 0,0 0 0x00000001 formats: RG16 RX12 XR12 RA12 AR12 XR15 AR15 RG24 RX24 XR24 RA24 AR24 props: 5 type: flags: immutable enum enums: Overlay=0 Primary=1 Cursor=2 value: 1 23 rotation: flags: bitmask values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20 value: 1 24 zorder: flags: range values: 0 3 value: 0 25 global_alpha: flags: range values: 0 255 value: 255 26 pre_mult_alpha: flags: range values: 0 1 value: 0 33 0 0 0,0 0,0 0 0x00000002 formats: RG16 RX12 XR12 RA12 AR12 XR15 AR15 RG24 RX24 XR24 RA24 AR24 NV12 YUYV UYVY props: 5 type: flags: immutable enum enums: Overlay=0 Primary=1 Cursor=2 value: 1 23 rotation: flags: bitmask values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20 value: 1 24 zorder: flags: range values: 0 3 value: 0 25 global_alpha: flags: range values: 0 255 value: 255 26 pre_mult_alpha: flags: range values: 0 1 value: 0 35 0 0 0,0 0,0 0 0x00000003 formats: RG16 RX12 XR12 RA12 AR12 XR15 AR15 RG24 RX24 XR24 RA24 AR24 NV12 YUYV UYVY props: 5 type: flags: immutable enum enums: Overlay=0 Primary=1 Cursor=2 value: 0 23 rotation: flags: bitmask values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20 value: 1 24 zorder: flags: range values: 0 3 value: 2 25 global_alpha: flags: range values: 0 255 value: 255 26 pre_mult_alpha: flags: range values: 0 1 value: 0 36 0 0 0,0 0,0 0 0x00000003 formats: RG16 RX12 XR12 RA12 AR12 XR15 AR15 RG24 RX24 XR24 RA24 AR24 NV12 YUYV UYVY props: 5 type: flags: immutable enum enums: Overlay=0 Primary=1 Cursor=2 value: 0 23 rotation: flags: bitmask values: rotate-0=0x1 rotate-90=0x2 rotate-180=0x4 rotate-270=0x8 reflect-x=0x10 reflect-y=0x20 value: 1 24 zorder: flags: range values: 0 3 value: 3 25 global_alpha: flags: range values: 0 255 value: 255 26 pre_mult_alpha: flags: range values: 0 1 value: 0 Frame buffers: id size pitch + +Responses: +Hi Stefan, modetest is not showing any connectors . Connectors: id encoder status name size (mm) modes encoders should have details of the connectors and their supported modes. What type of LCD is connected to your board? Ramprasad + +Hi Ramprasad, Were using an HDMI output that is connected to a HD-TV Kind Regards, Stefan + +HI Stefan, Can you try to run drmclone application on your target? . It is not clear why mode is not shown for your HDMI TV. Can you also share which dtb file is set in uEnv.txt + diff --git a/sample_embedding_folder2/0680262.txt b/sample_embedding_folder2/0680262.txt new file mode 100644 index 0000000000000000000000000000000000000000..c1231212d193ac9e7873fb522d135235279ae29b --- /dev/null +++ b/sample_embedding_folder2/0680262.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: [TIDL] JDetNet_SSD output format + +Query Text: +Part Number: TDA2 Hi, I ran JDetNet_SSD with tidl_config_jdetnet.txt in TIDL 01.01.00.00 and stats_tool_out_eve.bin (stats_tool_out_eve.bin.zip) was outputted in folder ./modules/ti_dl/test/out. What is data format of stats_tool_out_eve.bin ? Best regards, + +Responses: +Please refer to below thread.. e2e.ti.com/.../2503936 + diff --git a/sample_embedding_folder2/0680405.txt b/sample_embedding_folder2/0680405.txt new file mode 100644 index 0000000000000000000000000000000000000000..07a642f20dee8f795ea797e2b29d5abea23c63c0 --- /dev/null +++ b/sample_embedding_folder2/0680405.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: The resolution limited of TDA2X + +Query Text: +Part Number: TDA2 Hi We need to use two LCD(LCD1 & LCD2) to output two different videos. The resolution of the two videos if 1920*1080@30fps & 1280*720@30fps. We want to confirm that , dId it has the limitation of the resolution & fps of the DSS module ? And what's the MAX resolution & fps can the DSS support? Please take a look. Thanks. + +Responses: +Hi, Can you please refer chapter 1 of TDA2xx TRM. Thanks. Regards, Rishabh + +Three LCD outputs, each one with dedicated overlay manager, for support of active matrix color displays (up to 24-bit interface). Maximum listed resolutions are not supported concurrently on all outputs. • First main LCD output delivered on MIPI® DPI 1.0 LCD pixel interface, supporting up to WUXGA (1920 x 1200) with reduced blanking periods. • Second and third LCD outputs delivered on MIPI DPI 2.0 LCD pixel interfaces, supporting up to WUXGA (1920 x 1200) with reduced blanking periods. I saw this description , we just want to confirm that does it will has diference when we use two LCD at the same time ? Or , it can support 1920*1200 no matter how many LCDs we used, right? + +Hi User, Yes, DSS can output two independent resolutions ie 1920x1080@30fps and 1280x720@30fps on LCD1 and LCD2 outputs.. it is possible. Regards, Brijesh + diff --git a/sample_embedding_folder2/0680421.txt b/sample_embedding_folder2/0680421.txt new file mode 100644 index 0000000000000000000000000000000000000000..2c7ca0904225c3aa6e69ccedce99b44207fbab8e --- /dev/null +++ b/sample_embedding_folder2/0680421.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: VIP & CSI2 + +Query Text: +Part Number: TDA2 HI As the TRM shown, there are VIP modules & CAL-CSI2 module. Does the VIP modules & CSI2 module could work simultaneously? Thx. + +Responses: +Hi, First, TDA2x does not have CSI2 input. TDA3x, TDA2Px and TDA2Ex support CSI2 input. On these devices, yes VIP and CSI2 input can run simultaneously. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0680584.txt b/sample_embedding_folder2/0680584.txt new file mode 100644 index 0000000000000000000000000000000000000000..1ce2dd405989ddfcc702d8c67c249bc05f28b809 --- /dev/null +++ b/sample_embedding_folder2/0680584.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2EX17EVM: BT656 For TDA2Ex + +Query Text: +Part Number: TDA2EX17EVM Tool/software: Linux Dear Sirs: We use latest Processor SDK Vision. We want to make sure the BT656 is really working on TDA2 so we did the following test: 1. We use J6E Board with a VAYU VISION board with the OV10635 sensor 2. When using BT601 with OV 1063x setting setting 0x4700 and 0x4708 inside the PSDK, the code working fine. 3. When using BT656 with OV 1063x setting setting 0x4700 and 0x4708 inside the PSDK and modify the related OV video setting to be a)pInstPrm->videoIfMode = SYSTEM_VIFM_SCH_ES; b)pPortCfg->syncType = SYSTEM_VIP_SYNC_TYPE_EMB_SINGLE_422_YUV; and other setting remain same as before i.e. pInstPrm->videoIfWidth = SYSTEM_VIFW_8BIT; pInprms->dataFormat = SYSTEM_DF_YUV422P; pInprms->scanFormat = SYSTEM_SF_PROGRESSIVE; ... Please refer to PROCESSOR_SDK_VISION_03_02_00_00\vision_sdk\apps\src\hlos\common\chains_common.c where captureSrc == CHAINS_CAPTURE_SRC_OV10635 The above OV BT656 setting is working in our DM81xx board, but not in J6 Entry. Do you have any idea to know what could be the problem to no VIDEO input in BT656 mode? Regards, /ckhsu + +Responses: +Forgot to said, the above setting we set the pixelClk to RISING, and we also test on the FALLING and both not working. And we also use another J6Entry board and attach a TVP5158 to it, with setting BT656 on it, no matter what setting on 1CH/4CH, interlace, 8 bit, none of them work in BT656 mode. Please let me know what could be my problem. Regards, /ckhsu + +Hi hsu, Can you please VIP register? I am interested in in mode and data size register.. As the config looks correct, but can you also check the board muxes are set correctly.. Regards, Brijesh + +Since OV 10635 is 10 bits output in VISION board, to prevent the BT656 signal from OV is in fact from D9 to D2, we also create a H/W connector to make OV D9 to D2 is connected to D7 to D0 in J6E board. However the result is still the same. We will post the register values later after we dump it. Regards, /ckhsu + +The problem is solved. This problem is only in PSDK Linux version but not in BIOS version. + diff --git a/sample_embedding_folder2/0680976.txt b/sample_embedding_folder2/0680976.txt new file mode 100644 index 0000000000000000000000000000000000000000..e498f0bc5372ff25b3fb8a65577e151109b4892f --- /dev/null +++ b/sample_embedding_folder2/0680976.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: How to make TIDL Test Clips + +Query Text: +Part Number: TDA2 Hi, Our customer has an avi file that records the road. Our customer would like to use this file as a TIDL Test file instead of the inData_semseg file provided by TI. Please let me know how to make an avi file the TIDL Test Clips(inData_semseg file). Thanks JP Park + +Responses: +Hi JP Park, can you check if that thread can help you: e2e.ti.com/.../660676 Regards, Yordan + +Hi Yordan Kamenov Thanks to you, the problem has been solved. Thanks for your reply. Regards, JP Park + diff --git a/sample_embedding_folder2/0681009.txt b/sample_embedding_folder2/0681009.txt new file mode 100644 index 0000000000000000000000000000000000000000..e57e1eb2a19e9560619500d25bef7b2041a23e4d --- /dev/null +++ b/sample_embedding_folder2/0681009.txt @@ -0,0 +1,20 @@ +Ticket Name: Linux/TDA2: RVP Linux usecase for OpenCV + +Query Text: +Part Number: TDA2 Tool/software: Linux Is OpenCV support in TDA2X RVP board? example as in TDA2 EVM OpenCV Canny example? + +Responses: +Hi Krishnakumar, We haven't validate OpenCV in TDA2X RVP board, We validated on TDA2X EVM I am checking with team what all validated on TDA2X RVP board & will get back to you ? Regards Suryamani Jena + +Hi Krishnakumar, Are you facing any issues on running OpenCV on TDA2X RVP board ? + +Hi OpenCV is not supported on TDA2x RVP board regards, Shiju + +Hello Shiju, Thank for the information, We need to run standard VisionSDK OpenCV usecases on RVP board. What is the best approach? Regards, KK + +Hello, While there are no usecases built for OpenCV out of the box, it is possible to add OpenCV to RVP usecases. The biggest difference between RVP and EVM in this regard is all capture on RVP is via FPD Link III. OpenCV usecases must be modified to use the multichannel lvds capture initialization instead of the single camera VIP initialization. Basically, look at a usecase that works with RVP and use the same camera setup initialization in the openCV usecases. Hopefully that is all you need to change, but I have not tested these exact steps here. Cheers, Ben + +Hello Ben, Thanks for your inputs, Considering that we have link-and-chains, is it sufficient that I set capture mode to be "Camera", so that data comes to my Algorithm module? Alternatively, I have ethernet based input, which can receive YUV or RGB data. Capture of data is of less conern. My concern is, 1. Do we need build OpenCV libraries? or the libraries built for EVM A15 core, can be used as it is for RVP A15 core.? 2. We need to change the .cfg, makefile, etc, so that libraries can be linked to algorithm to run the OpenCV example on RVP, in this context tutorial/guidance will be helpful. Regards, KK + +Hi you do not need to rebuild the OpenCV libs, But VSDK apps needs to be rebuild after making below changes 1. Add Open CV UC in TDA2x RVP config (D:\PROCESSOR_SDK_VISION_03_03_00_00\vision_sdk\apps\configs\tda2xx_rvp_linux_all) 2. Modify the OpenCV UC to use FPD link cameras as Ben suggetsed How to build and run OpenCV is documemted in VisionSDK_UserGuide_opencx.pdf regards, Shiju + diff --git a/sample_embedding_folder2/0681137.txt b/sample_embedding_folder2/0681137.txt new file mode 100644 index 0000000000000000000000000000000000000000..61c48822d7f77d284df3b7c0cd6a4e92c986e7b5 --- /dev/null +++ b/sample_embedding_folder2/0681137.txt @@ -0,0 +1,18 @@ +Ticket Name: RTOS/TDA2: Files needed for running SemSeg Semantic Segmentation usecase (Vision SDK, tidl) + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, We have a TDA2X dev board and using Vision SDK 3.2.0.0 If I understand it correctly, we need additional files (besides the code in AppImage) to run this example: 1) Input video and header files. At this point we would love to have sample files, but I do not have access to CDDS yet. Is there a specific requirements for video format, resolution required, etc? I saw some info and even sample files 700x400 in another thread here, but now sure if this video works or not. I can try. 2) Since SemSeg uses TIDL, we probably need the right converted model files like NET.BIN, PRM.BIN, etc ? Right? Where can I find them? There are some example files in vision_sdk\apps\tools\TIDL_files folder, but I do not think these are the right ones for SemSeg usecase... Thanks, Mikhail + +Responses: +Hi, 1. You can further refer to below thread e2e.ti.com/.../660676 2. Please refer section 3.6 in TIDeepLearningLibrary_UserGuide.pdf to generate model files like NET.BIN, PRM.BIN for your trained models or inputs. Thanks, Praveen + +Hi Praveen, Thanks you! I understand part 1. We can try to generate our own video or wait for CDDS access to get the sample one. Regarding part 2 (NET.BIN, etc). At this moment, our model cannot be converted to TIDL (not supported). I was under impression that there is a sample model from TI specifically for the Semantic Segmentation usecase. Am I wrong? Thanks, Mikhail + +Hi Mikhail, I mean to say there are some sample model bin files in TIDL package to run Semantic Segmentation usecase, but if you want to run a caffe model trained by you then you need to generate these bin files. Thanks, Praveen + +Hi Praveen, Do you know where I can get some sample model bin files for SemSeg usecase? Through CDDS ? I could not find anything in Vision SDK itself. Thanks, Mikhail + +Hi Mikhail, The model files like NET.BIN, PRM.BIN for SemSeg usecase are in Vision SDK in the below folder.. "REL.TIDL.01.01.00.00\modules\ti_dl\test\testvecs\config\tidl_models\jsegnet21" tidl_net_jsegnet21v2.bin tidl_param_jsegnet21v2.bin Thanks, Praveen + +Thank you! SemSeg example works! Mikhail + diff --git a/sample_embedding_folder2/0681162.txt b/sample_embedding_folder2/0681162.txt new file mode 100644 index 0000000000000000000000000000000000000000..5c1d1d8f380f1aa4c5a231f98b58efe8a906beef --- /dev/null +++ b/sample_embedding_folder2/0681162.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2: How SPI+emda is configured and used in vision SDK + +Query Text: +Part Number: TDA2 Suppose I'm working on SPI salve+edma under IPU2 in startware, can it work when transplant it to IPU2 (main app) under VISION SDK, but i find it cannot work for the EDMA conflict, because each core call UtilsEdma_init under VISION, how should I avoid conflict, or how to configure EDMA +spi in VISION SDK, thank you very much! + +Responses: +Hi, You should replace the starterware EDMA calls with EDMA LLD calls in order to use the same by the main app in Vision SDK. I hope you understand that you can't make it a use case as you don't have any link for SPI slave + edma. Regards, Rishabh + +HI,Rishabh THANK you for your Reply! I want to create a always running task for spi receive ,not in link. I have some problem as follows : 1,can i use the BSP example "bsp_examples_mcspiLoopback_target" transplant it to IPU2 (main app) under VISION SDK 2,BSP example "bsp_examples_mcspiLoopback_target" why can work well in IPU1 ,but Work is not normal in IPU2,so I want to know how to set in order can work in different core。 Regards, KOKO + +Hi, First you should try to port bsp_examples_mcspiLoopback_target to IPU2 and run it using gel. You might need to set up AMMU, interrupts, etc. Then you should try to run it from Vision SDK. Regards, Rishabh + +Hi, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0681184.txt b/sample_embedding_folder2/0681184.txt new file mode 100644 index 0000000000000000000000000000000000000000..5fcbd0ff88aae37bba645f719b4592a841998b97 --- /dev/null +++ b/sample_embedding_folder2/0681184.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: YUV422 for discrete sync + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS We want to display YUV422 Discrete Sync. Discrete sync Valid pixel in D[7:0]. But Our HW layout Data pin is connected to D[9:2]. How can I set SW to display YUV422 Discrete Sync? + +Responses: +Hi, In DSS, there is no way to shift the output. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0681661.txt b/sample_embedding_folder2/0681661.txt new file mode 100644 index 0000000000000000000000000000000000000000..e9c75fcb9c08b8a6f365136e66082ed94e7c0acb --- /dev/null +++ b/sample_embedding_folder2/0681661.txt @@ -0,0 +1,18 @@ +Ticket Name: CCS/TDA3LA: Software/tools required to develop radar software + +Query Text: +Part Number: TDA3LA Other Parts Discussed in Thread: TDA2, AWR1243 Tool/software: Code Composer Studio Dear experts! I recently joined new automotive radar project in which we are trying to use AWR1243 + TDA2/TDA3. Because I'm not still familiar with TI's MCU series, I would like to ask you some simple question. To develope the software of radar using AWR 1243+TDAx, which softwares and tools are required. I mean to develop the software, we need to compile source codes, write a binary onto MCU and debug them. So we might need a compiler and tools, etc. for example, "code composer" and "Trace32". Could you anyone list up which softwares and tools are required to develop the radar software for TI radar? We need to prepare a budget for the new project and our project is the radar + +Responses: +Hello coolguy , For the compiler and debugger tool certainly use the Code Coposer Studio, free download here: processors.wiki.ti.com/.../Download_CCS For the binary that you need to compile, there is entire Radar (and Vision) SDK with use cases, documentation, examples, and lots of help in this forum, free download: www.ti.com/.../processor-sdk-vision Start from there, study the docs and come back for help if you need any. Hope it helps Thanks, Alex + +Thanks for the answer. Then, how can a TI radar system be connected to a PC with the code composer installed? USB? UART?, etc.? + +coolguy , You will need a JTAG for that. For TDA3x connection you can use various Blackhawk, Spectrum Digital, and TI XDS emulators. Thanks, Alex + +Thank Alex. Sorry for bothering you. It might be a dumb question to you, but could you let me which one among 4 (Blackhawk, Spectrum Digital, and TI XDS emulators) is the best from your perspective? + +Hello, Not a dumb question at all actually. You need to define what's best for you. Is it if it's cheap and supported, or is it if it more expensive but faster and with additional features? It all depends. For complex projects, it's always good to have a couple different ones to cross-check drifts in the results. I personally use the Blackhawk, it fast enough for me and well supported, never had issues with it. See more comments on the topic from the community over at the CCS forum: Hope it helps, Alex + +Thanks for your answer. All my wonder cleared. + diff --git a/sample_embedding_folder2/0681691.txt b/sample_embedding_folder2/0681691.txt new file mode 100644 index 0000000000000000000000000000000000000000..6e14c305449ae2d48ee6068a1236a2887e487049 --- /dev/null +++ b/sample_embedding_folder2/0681691.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: TIDL Normalize Layer + +Query Text: +Part Number: TDA2 Hello, I am trying to convert Caffe-Jacinto model with TIDL convert tool. Problem that I have is that Normalize Layer (from Caffe-Jacinto) is not supported with current version of TIDL (1.1). My question is will it be supported in future TIDL releases and could I use some other norm layers instead? Thanks, Mladen Stupar RT-RK + +Responses: +TIDL supports Batch Normalization layer please use the same. As of now, no plan to support Norm Layer. + diff --git a/sample_embedding_folder2/0681697.txt b/sample_embedding_folder2/0681697.txt new file mode 100644 index 0000000000000000000000000000000000000000..b8b636e893c17fbe96b344fd24d344927ea224bf --- /dev/null +++ b/sample_embedding_folder2/0681697.txt @@ -0,0 +1,12 @@ +Ticket Name: RTOS/TDA2: RTOS/TDA2 + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Sir, I has Vayu EVM board (Rev.H) + SDK 03_03_00_00 and will drive GPIO_5[8] to output high or low. I refer PDK document "API_Documentation.html" to know how to program it. -------------------------------------------------------------------------------------- Programming sequence of gpio module is: Enable the functional clocks for the required GPIO instance. Perform a pin multiplexing for the required GPIO pin. Enable the GPIO module using the API GPIOModuleEnable. Perform a module reset of the GPIO module using the API GPIOModuleReset. When GPIO is input pin, following configuration is used Enable/disable debouncing feature for the specified input GPIO pin if required, using the API GPIODebounceFuncControl. Program the debouncing time, if required using the API GPIODebounceTimeConfig. Interrupt trigger conditions need to be configured using the API GPIOIntTypeSet. Enable GPIO to generate interrupts on detection of the specified transitions on the decided GPIO pin using the API GPIOPinIntEnable. When GPIO is output pin, following configuration is used A logic HIGH or a logic LOW could be driven on the specified GPIO pin by invoking the API GPIOPinWrite. -------------------------------------------------------------------------------------- my sample code as below: // a. Enable the functional clocks for the required GPIO instance. /* Set the access to the GPMC registers - Enable GPMC Clock */ HW_WR_REG32(SOC_L4PER_CM_CORE_BASE + CM_L4PER_GPIO5_CLKCTRL, 0x101); while ((HW_RD_REG32(SOC_L4PER_CM_CORE_BASE + CM_L4PER_GPIO5_CLKCTRL) & (0x00030000U)) != 0x0) { ; } // b. Perform a pin multiplexing for the required GPIO pin. HW_WR_REG32(SOC_CORE_PAD_IO_REGISTERS_BASE + CTRL_CORE_PAD_MCASP1_AXR6, (0x60000U | CTRL_CORE_PAD_MCASP1_AXR6_MCASP1_AXR6_MUXMODE_GPIO5_8_14)); //C12 GPIODirModeSet(SOC_GPIO5_BASE, 8, GPIO_DIR_OUTPUT); //C12 // c. Enable the GPIO module using the API GPIOModuleEnable. GPIOModuleEnable(SOC_GPIO5_BASE); // d. Perform a module reset of the GPIO module using the API GPIOModuleReset. GPIOModuleReset(SOC_GPIO5_BASE); // Set C12 to high. GPIOPinWrite(SOC_GPIO5_BASE, 8, GPIO_PIN_HIGH); //C12 The sample code still can't drive GPIO_5[8], could you please give me some suggestion. Thanks. + +Responses: +Hi, You should refer to gpio app in \packages\ti\csl\example\gpio folder. Regards, Rishabh + +Hi, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +Hi Rishabh, I refer gpio sample code and get Luke.Lin (TI technical support of Taiwan ) support. Now GPIO control is workable. Thanks. + diff --git a/sample_embedding_folder2/0682145.txt b/sample_embedding_folder2/0682145.txt new file mode 100644 index 0000000000000000000000000000000000000000..027f7bc1c13aca8b90f876656277542d7d9510bb --- /dev/null +++ b/sample_embedding_folder2/0682145.txt @@ -0,0 +1,8 @@ +Ticket Name: CCS/TDA2: what SL2_SRAM ? + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio MEMORY { L1P_SRAM : origin = 0x00E00000, len = 0x8000 L1D_SRAM : origin = 0x00F00000, len = 0x4000 /* 16 KB SRAM */ L1D_CACHE : origin = 0x00F00000, len = 0x4000 /* 16 KB cache */ L2_SRAM : origin = 0x00800000, len = 0x28000 /* SARAM in L2, = 256 + 32 - 128 = 160 KB*/ L2_CACHE : origin = 0x00828000, len = 0x20000 /* Cache for L2, which is configured as 128 KB*/ DSP2_L2_SRAM : origin = 0x40800000, len = 0x48000 SL2_SRAM : origin = 0x5B000000, len = 0x40000 EXT_MEM_CACHE : origin = 0x80000000, len = 0x08000000 /* DSP Used cachable area */ } SL2_SRAM : origin = 0x5B000000, len = 0x40000 what is SL2_SRAM mean? + +Responses: +Hi Shuai, This is an internal memory within the IVAHD subsystem. More details are available in the IVA Subsystem chapter in the TRM. Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0682517.txt b/sample_embedding_folder2/0682517.txt new file mode 100644 index 0000000000000000000000000000000000000000..fad883854cefa818288d31cd9a9531872f18321f --- /dev/null +++ b/sample_embedding_folder2/0682517.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2: Power management: LPM(standby) and wakeup support for TDA2XX + +Query Text: +Part Number: TDA2 Hello: this document(http://www.ti.com.cn/cn/lit/an/sprac22/sprac22.pdf) introduce the power manage for TDA2xx about the standby and wakeup. my question is : 1. Can one of M4 core control the MPU(A15) step into standby mode and wakeup it? after wakeup, can A15(linux) recover and continue to run properly? 2. Can one of M4 core also control other IPU DSP step into standby mode? and wake up them sequencely ? 3. Is there external PINs to control the whole TDA2xx SOC step into standby mode and wakeup? Thanks! + +Responses: +Hi Andy, The MPU (A15) would need to exceute the WFI instruction to enter into the standby mode. Additionally any MPU_LPRM registers to be programmed depending on what power mode you would like to enter from the A15 should be programmed by the A15 itself as these registers are not programmable from IPU M4. The IPU could potentially only program the SoC level PRCM MPU registers. I would imagine a potential scheme to be IPU sends a message to the A15 to enter Standby. The A15 programs the SoC PRCM, LPRM and runs the WFI instruction to enter standby. (This may involve some other steps to make sure other tasks on the A15 are quiescent, if there is a peripheral interaction that the A15 talks to and likely to generate interrupts that too is kept quiescent). When the IPU wants to wake up the A15 it can send a message over mailbox. The interrupt of the Mailbox will then wakeup the A15 to restore and continue to run. Again for the DSP case, the DSP itself needs to run the IDLE instruction and write to the PWRCMD register in the C66x corepac. IPU could potentially program the SoC PRCM registers. A similar scheme as the A15 described above can be used. Note the lowest power state of the DSP is power domain off state. If you try to "wakeup" the DSP from this state, you would need to restart the C66x DSP. HW_AUTO (clock gated) state does not require a C66x restart. The code can continue from where it entered clock gate state. TDA2xx does not support gating the clocks of the Core power domain IPs. The external pin can be used to tie up to an interrupt which is routed to the desired core in order to wake up the device. For example, one of the GPIO lines can be used to take an input and the GPIO interrupt can then be routed to the A15/IPU . This interrupt can be used to wakeup the CPU core which then wakes up the rest of the device. Thanks and Regards, Piyali + +Hi Piyali: Thanks . Just one more to confirm that if any cores wakeup, all context will restore and continue to run, no exception? + +Hi Andy, If you are going to HW_AUTO clock gated state or Retention (in the case of A15), all the context is retained even after low power mode. No Exceptions from the hardware behavior. If you are going to PD_OFF state, then you would need to restart that particular CPU. Thanks and Regards, Piyali + +Hi Piyali: Thanks very much. + diff --git a/sample_embedding_folder2/0682746.txt b/sample_embedding_folder2/0682746.txt new file mode 100644 index 0000000000000000000000000000000000000000..40f40fa782fab05ff3461ff7e82bb847f3321dbf --- /dev/null +++ b/sample_embedding_folder2/0682746.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2: Hello World Example Blinking LEDs No Communication + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hello, We're having issues running the NDK Hello World example for IPU1 that's included in NSP_GMACSW_4_15_00_00 and uses NDK_2_24_02_31. The software is running on a Vayu EVM and we're using PHY2 on the board. When we run the original example and connect the evm to a linux laptop running Ubuntu 14 the example runs correctly and we can ping it. We can also run the companion helloWorld.c client software successfully. When we connect the evm to a switch we're seeing the LEDs on the PHY2 (P5 on the board) light up and blink indefinitely until power-off. Once the LEds start blinking in this pattern ping or client software will not work even when connected back to the Ubuntu laptop. We've tried other switches as well as other embedded linux devices in place of the Ubuntu laptop and only the ubuntu laptop seems to work. What do the blinking LEDs mean? Once the LEDs start blinking only a power cycle will make them stop. Is there a way to reset something from the TDA and avoid a total power cycle? Thanks, Juan + +Responses: +Hello Juan, Do you have 100Mbps sticker on RJ45 connector of your EVM? If yes, please check below note for this issue in VSDK TDA2xx user guide. The workaround is to configure remote end for 100Mbps. + +Hello Prasad, There are no stickers on our EVM. Also when 1Gbps link is established it seems to work the same as 100Mbps link. Thank you + +Hello, Can you please share use-case logs when you run the hello world application? + +Hi Jmg65, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Yordan + diff --git a/sample_embedding_folder2/0683084.txt b/sample_embedding_folder2/0683084.txt new file mode 100644 index 0000000000000000000000000000000000000000..f6b41f323869503685aec7387f9656e8c0fa9fe1 --- /dev/null +++ b/sample_embedding_folder2/0683084.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: TDA2X: PVR:(Error): WSEGL_InitialiseDisplay: Failed to open primary device: No such file or directory [0, ] + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi We are using tda2x self-designed boad , vision sdk (PROCESSOR_SDK_VISION_03_02_00_00). First we run the demo NullSrc + Decode + Display (Only 1920x1080 H264/MJPEG Video Input Bit-Stream Supported) everythig is ok. But when we run the demo 1CH VIP capture + SGX Copy + DISPLAY , we got error log as follows: [HOST] [HOST ] Single Camera Usecases [HOST] [HOST ] ------------------------ [HOST] [HOST ] 1: 1CH VIP capture + SGX Copy + DISPLAY[liuke Removed SGX Copy] [HOST] [HOST ] 2: 1CH VIP capture + Encode + Decode + SGX Copy + DISPLAY [HOST] [HOST ] 3: 1CH VIP capture + Alg FrameCopy (EVE1) + SGX Copy + DISPLAY - (TDA2xx ONLY) [HOST] [HOST ] 5: NullSrc + Decode + Display (Only 1920x1080 H264/MJPEG Video Input Bit-Stream Supported) [HOST] [HOST ] 6: 1CH VIP capture + Alg Frame Copy (A15) + SGX Copy + DISPLAY [HOST] [HOST ] 7: 1CH VIP + Alg Frame Copy (A15) + Connetor Links (Dup, Merge, Select, Gate on A15) + SGX Copy + DISPLAY [HOST] [HOST ] [HOST] [HOST ] x: Exit [HOST] [HOST ] [HOST] [HOST ] Enter Choice: [HOST] [HOST ] 1 [HOST] [HOST ] 53.101018 s: [HOST] [IPU2 ] 53.106783 s: CAPTURE: Create in progress !!! [HOST] [IPU2 ] 53.107210 s: CAPTURE: VIP1 Slice0 PortA capture mode is [ 8-bit] !!! [HOST] [HOST ] 53.229091 s: IPC_IN_0 : Create in progress !!! [HOST] [IPU2 ] 53.227993 s: CAPTURE: Create Done !!! [HOST] [IPU2 ] 53.228512 s: IPC_OUT_0 : Create in progress !!! [HOST] [IPU2 ] 53.228817 s: IPC_OUT_0 : Create Done !!! [HOST] [HOST ] 53.229518 s: IPC_IN_0 : Create Done !!! [HOST] [HOST ] 53.229610 s: SGXFRMCPY: Create in progress for resolution: 1920x1080 !!! [HOST] [HOST ] 53.229671 s: SYSTEM_PVRSCOPE: FIFO /opt/vision_sdk/gpufifo opened successfully PVR:(Error): WSEGL_InitialiseDisplay: Failed to open primary device: No such file or directory [0, ] EGL: eglInitialize() returned 0 EGL: after eglInitialize() eglError (0x3001) ASSERT (sgxFrmcpyLink_drv.c|SgxFrmcpyLink_drvDoProcessEglInfo|219) [HOST] [HOST ] 53.484322 s: EGL: version 6.1745188 [HOST] [HOST ] 53.484322 s: EGL: eglInitialize() failed !!! highly appreciate your help, thanks. !!! + +Responses: +hi NullSrc + Decode + Display does not use GPU and any camera capture. Are you using TDA2x EVM? what is the camera module;e you use? did you built the VSDK Linux as per the UG - VisionSDK_Linux_UserGuide.pdf, please check again regards, Shiju + diff --git a/sample_embedding_folder2/0683277.txt b/sample_embedding_folder2/0683277.txt new file mode 100644 index 0000000000000000000000000000000000000000..d43a58c13977ec440dd42972c3ea9438fe19d647 --- /dev/null +++ b/sample_embedding_folder2/0683277.txt @@ -0,0 +1,14 @@ +Ticket Name: CCS/TDA2: How to configure for EDMA_UTILS_TRANSFER_OUT + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio EDMA_UTILS_autoIncrement_initParam_v2 initParamV2; i configure for EDMA_UTILS_TRANSFER_IN and EDMA_UTILS_TRANSFER_INOUT is work, this time for EDMA_UTILS_TRANSFER_OUT status=0 but it dosenot work , No data is copied to extmem. initParamV2.initParams.numInTransfers = 0; initParamV2.initParams.numOutTransfers = 1; //parameters for ping transfer from external to internal memory and vice versa initParamV2.initParams.transferType = EDMA_UTILS_TRANSFER_OUT; //parameters for in transfer - ping //initParamV2.initParams.transferProp[0].roiWidth = width * 2; //initParamV2.initParams.transferProp[0].roiHeight = height*channels; //initParamV2.initParams.transferProp[0].roiOffset = 0; //initParamV2.initParams.transferProp[0].blkWidth = width * 2; //initParamV2.initParams.transferProp[0].blkHeight = height; //initParamV2.initParams.transferProp[0].blkOffset = 0; //initParamV2.initParams.transferProp[0].extBlkIncrementX = 0; //initParamV2.initParams.transferProp[0].extBlkIncrementY = height; //initParamV2.initParams.transferProp[0].intBlkIncrementX = 0; //initParamV2.initParams.transferProp[0].intBlkIncrementY = 0; //initParamV2.initParams.transferProp[0].extMemPtrStride = width * 4; //initParamV2.initParams.transferProp[0].interMemPtrStride = blkWidth * 4; //initParamV2.initParams.transferProp[0].extMemPtr = (uint8_t *)(inBufExt); //initParamV2.initParams.transferProp[0].interMemPtr = (uint8_t *)(inBufInt[0]); //initParamV2.initParams.transferProp[0].dmaQueNo = 0; //parameters for out transfer - ping initParamV2.initParams.transferProp[1].roiWidth = width * 2; initParamV2.initParams.transferProp[1].roiHeight = height * channels; initParamV2.initParams.transferProp[1].roiOffset = 0; initParamV2.initParams.transferProp[1].blkWidth = width * 2; initParamV2.initParams.transferProp[1].blkHeight = height; initParamV2.initParams.transferProp[1].blkOffset = 0; initParamV2.initParams.transferProp[1].extBlkIncrementX = 0; initParamV2.initParams.transferProp[1].extBlkIncrementY = height; initParamV2.initParams.transferProp[1].intBlkIncrementX = 0; initParamV2.initParams.transferProp[1].intBlkIncrementY = 0; initParamV2.initParams.transferProp[1].extMemPtrStride = width * 2; initParamV2.initParams.transferProp[1].interMemPtrStride = width * 2; initParamV2.initParams.transferProp[1].extMemPtr = (uint8_t *)(outBufExt); initParamV2.initParams.transferProp[1].interMemPtr = (uint8_t *)(outBufInt[0]); initParamV2.initParams.transferProp[1].dmaQueNo = 1; //configure EDMA for ping set both Ext -> Int and Int -> Ext EDMA_UTILS_autoIncrement_init_v2(dmaAutoContextInOut, &initParamV2); status = EDMA_UTILS_autoIncrement_configure_v2(dmaAutoContextInOut, EDMA_UTILS_TRANSFER_OUT); + +Responses: +Hi, Which software package you are using and which version? Regards, Prasad + +Hi Shuai, When you configured OUT have you already configure IN channels? Regards, Anshu + +Hi: Anshu its like this ! if in _fun1 no EDMA_UTILS_globalReset(); then call fun1 6times dmaQue is over, so i must add EDMA_UTILS_globalReset in fun1 ,but this will break dmaAutoContextOut. fun1( out,indata) { EDMA_UTILS_globalReset(); ////////////// EDMA_UTILS_autoIncrement_triggerInChannel_v2(dmaAutoContextInOut); for (j= 0; j < 16; j++) { fun2( out,indata_in[bufIdx ]); EDMA_UTILS_autoIncrement_waitInChannel_v2(dmaAutoContextIn); EDMA_UTILS_autoIncrement_triggerInChannel_v2(dmaAutoContextIn); bufIdx ^= 1; } } for (j= 0; j < 32; j++) { EDMA_UTILS_autoIncrement_waitOutChannel_v2(dmaAutoContextOut); fun1( out[bufIdx],indata); EDMA_UTILS_autoIncrement_triggerOutChannel_v2(dmaAutoContextOut); bufIdx ^= 1; } BESTWISHES SHUAI + +Hi Shuai, This is looking like a different question then the original question you asked. In general following should be the flow 1. EDMA_UTILS_globalReset() -> Call this only once for your frame processing. 2. Setup(init) input channels ( EDMA_UTILS_TRANSFER_IN) 3. Setup(init) output channels ( EDMA_UTILS_TRANSFER_OUT) At this stage we have not touched the hardware 4. Configure input channels ( EDMA_UTILS_TRANSFER_IN) 5. Configure output channels ( EDMA_UTILS_TRANSFER_OUT) Step 4 and 5 are the ones which will go and configure the hardware as per the transfer properties described in the init parameters. It is important to note that number of blocks in input transfer and number of blocks in output transfer should be same. Once this setup is done then you can call trigger and wait as required. I see that in your code you are calling input and output transfers with different frequency . For this case I would suggest you to use two different dmautils context for input and output channels. Configure first context with EDMA_UTILS_TRANSFER_IN and configure second context with EDMA_UTILS_TRANSFER_INOUT and give number of input channels as 0. Then you will not need to call global reset for the output transfer. Regards, anshu + diff --git a/sample_embedding_folder2/0683437.txt b/sample_embedding_folder2/0683437.txt new file mode 100644 index 0000000000000000000000000000000000000000..540935a1bc7fa2540f961444e056369ce9f63d45 --- /dev/null +++ b/sample_embedding_folder2/0683437.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2: How can I verify SSD model be used in SDK v3.03 ? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS 1. How can I verify SSD model be used in SDK v3.03 ? 2.Has any document can verify the algorithm add SSD model is better than old one? I can't find any document . So I want to know the answer of this question. Thanks. + +Responses: +Hi Allen , Are you looking for how to run the usecase or SSD model .? to run the usecase we have it documented at VisionSDK_UserGuide_TI_DeepLearning.pdf under vision_sdk\docs\FeatureSpecificUserGuides sections: 3. TIDL file I/O use case 4. Build and Run Semantic Segmentation use case 5. Build and Run TIDL Object detect use case explains how to use / verify SSD model usecase Regards Chetan.M + +Hi Allen, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Yordan + +Hi, I Have the user guide suggested files. but I cannot run the TIDL_OD use case How can I run the TIDL_OD use case? and what configuration I must to setting? + +Hi Allen, this topic will be discussed in this thread: e2e.ti.com/.../688587 Regards, Yordan + diff --git a/sample_embedding_folder2/0683534.txt b/sample_embedding_folder2/0683534.txt new file mode 100644 index 0000000000000000000000000000000000000000..5039bfa23ead44740e5d0b21a20343eec082ca8e --- /dev/null +++ b/sample_embedding_folder2/0683534.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: About Deep Learning Issue + +Query Text: +Part Number: TDA2 Hi Sir we have issues about TI deep learning in PROCESSOR-SDK-VISION V3.03.00 1, Does TI have SSD design guide (design flow, what kind of framework tool?) 2, Libray can be released? 3. How to implement new model (algorithm) into use case of TI TDA2 EVM? 4.Except SSD, will TI will support Yolo v2/v3? If yes, please provide the detail information (schedule, datasheet…) thanks for the reply. BR Yimin + +Responses: +Hi Yimin, 1. SSD supported TIDL is trained by caffe-jacinto framework. 2. Yes. TIDL library is part vision SDK release ( software-dl.ti.com/.../index_FDS.html) 3. Refer to section 3.6 in user guide (TIDeepLearningLibrary_UserGuide.pdf) 4. Please check the supported layers by TIDL in the data sheet (TIDeepLearningLibrary_DataSheet.pdf). Thanks, Praveen + diff --git a/sample_embedding_folder2/0683774.txt b/sample_embedding_folder2/0683774.txt new file mode 100644 index 0000000000000000000000000000000000000000..94dc0cf7c4b6b175572576b1c677a1ca78db9ad1 --- /dev/null +++ b/sample_embedding_folder2/0683774.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: where can i get vsdk_win64 + +Query Text: +Part Number: TDA2 I'm trying to generate usecase by using generator I installed the lastest version of vision sdk(ver3.30) though, I can't find vsdk_win64.exe The only thing I can find is vsdk_win32.exe, and it does not compitible with my OS... where can i get vsdk_win64.exe ? + +Responses: +Hi Habit, You may refer below post. Currently vsdk_win64.exe is not included in the SDK, but you can build it from source code on your own. Below I attached mine for your convenience. I built it on my own using Cygwin. vsdk_win64_v3.3.zip (Update) Somehow the exe generated by cygwin can not recognize Windows' path. JPG won't be generated because "dot.exe" (included in graphvz) can not be called. The solution is to input "dot -Tjpg xxx_img.txt -o xxx.jpg" to generate JPG manually. + +Thanks a lot (quick answer also) + diff --git a/sample_embedding_folder2/0683854.txt b/sample_embedding_folder2/0683854.txt new file mode 100644 index 0000000000000000000000000000000000000000..a1aa7718400bf0db5b3c772d01b8673fe8045b75 --- /dev/null +++ b/sample_embedding_folder2/0683854.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Power Estimation software + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: TPS65917-Q1, TPS659039-Q1 Hi, I'm trying to estimate power consumption of TDA2SX and found multiple mentions of power estimation tool spreadsheed for TDA2xx (Vayu_Power_Spreadsheet_v1p5), where i can find this tool? If its possible i would like to have have some advice on PMIC selection TDA2SX, TPS659039-Q1 from EVM looks rather unattractive due to BGA package and additional power routing "complications", but I'm unsure if single TPS65917-Q1 will suffice under heavy load, so i'm drawn toward TDA2Pxx recomended combination LP87565C-Q1 + TPS65917-Q1? + +Responses: +Alexander, Let's take this question to direct chat. I'll contact you via your e2e account. Thanks, Kyle + diff --git a/sample_embedding_folder2/0684260.txt b/sample_embedding_folder2/0684260.txt new file mode 100644 index 0000000000000000000000000000000000000000..6e955cf14bfaa681415868d2f5735c6db1845ed8 --- /dev/null +++ b/sample_embedding_folder2/0684260.txt @@ -0,0 +1,12 @@ +Ticket Name: Compiler: xCAM Reference Design with TDA2 + +Query Text: +Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler I seen Mr Yogesh Marathe, He explain about the xCAM Reference Design with TDA2. I want to use the module and likely to adopt this in my concept. + +Responses: +Kindly reply, I want to buy immediately. + +Hi Yuvaraj , Latest Vision SDK doesn't support XCAM . Last supported version was 2.11 TI Doesn't Support sales of XCAM directly. Please look at the below link to find TI supported devices www.ti.com/.../tools-software.html Regards Chetan.M + +any updates on this thread , can we close the same + diff --git a/sample_embedding_folder2/0684296.txt b/sample_embedding_folder2/0684296.txt new file mode 100644 index 0000000000000000000000000000000000000000..ff062f5de9cedf48855e985b2c9d6d83d33b68d7 --- /dev/null +++ b/sample_embedding_folder2/0684296.txt @@ -0,0 +1,16 @@ +Ticket Name: RTOS/TDA2: Encode link latency variations + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hello everyone! We have two issues regarding Encode link latencies. Issue 1: We have created two use cases with the excerpts given in the images attached below. Namely, in the case of the first image, we use one instance of Select link, that forms the output consisting of one queue comprising four channels. This output is fed into the Encode link instance, that performs H.264 encoding on all of the four input channels. We have set the following intra-frame interval (between two I-frames): pLinkDynPrm->intraFrameInterval = 10; The Encode link feeds one instance of Null link. The latency measured by the "Print statistics" option (P key) outputs the value of ~36 ms for the Encode link. In the case of the second image, instead of using one instance of Null link for all of the 4 channels, we use 4 instances of Null link (one Null link per channel). Hence, the output from the Encode link (1 Q, 4 CHs) is firstly fed into a Select link that forms 4 Qs, each comprising 1 CH. The latency measured by the "Print statistics" option (P key) outputs the value of ~86 ms for the Encode link. Issue 2: In the case we set the intra-frame interval to the value 1 (every output frame is an I-frame): pLinkDynPrm->intraFrameInterval = 1; the latency of the Encode link is ~18 ms when encoding one Q with 4 CHs. Hence, we can notice that the encoding latency is greater when generating P-frames. Is there any explanation of these two issues and is there any configuration that might be performed on the Encode link to decrease these latencies below 20 ms when generating P-frames? Best regards, Marko + +Responses: +Hi Issue <1> I expect encode latency to be the same in both cases. BTW, what are you doing in Null link, just a termination or some File write etc.? If the output buffers are not fed back to encode link the latency numbers might shows high Please use single null link with 4ch. Issue <2> Yes, this is expected, encoding with P and B frames will take more processing cycles compared with I frame only encode. with P and B frames we can achieve lower bit-rates (higher compression) and hence more processing cycles regards, Shiju + +Hi, Shiju! Thanks for your reply. We use multiple Null links to transmit four video streams to four individual devices. So, in our case, the Null link(s) perform outputs on the Ethernet. If I understand well, there is some kind of bufferbloat between the Encode link and Null links since the Null links are not able to output buffers to the Ethernet opportunely? If this is the case, it is possible to occur in our environment. Regarding the second issue, I have to note that we are not allowed to generate B frames, so we generate only I and P frames. Is there any solution to reduce this latency when generating frames of these two types only? Best regards, Marko + +Hi Marko <1> yes, if the null links are not able to fee-up the output buffers of encoder link, you might see higher latency numbers. <2> Not powerful options, but you can try below encode option change pLinkChPrm->encodingPreset = SYSTEM_XDM_MED_SPEED_HIGH_QUALITY; to SYSTEM_XDM_HIGH_SPEED or SYSTEM_XDM_HIGH_SPEED_MED_QUALITY But please note that this will not give any big boost. regards, Shiju + +Hi, Shiju, Thank you for your response. We will perform the observation of the free buffer get function results from the Encode link to get aware of free buffers availability during the execution. Also, we will set the proposed "encodingPreset" parameter flags and compare the statistical data with our current set-up. Best regards, Marko + +Hi, Shiju! We have set the "encodingPreset" parameter SYSTEM_XDM_HIGH_SPEED and we have succeeded to speed up the encoding process, thus decreasing the latency from 88ms to 16ms. Best regards, Marko + diff --git a/sample_embedding_folder2/0684437.txt b/sample_embedding_folder2/0684437.txt new file mode 100644 index 0000000000000000000000000000000000000000..c3faba0fa64523443b9d03d41ad7c6ccb4d5c2fc --- /dev/null +++ b/sample_embedding_folder2/0684437.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2: Cannot boot by SD card with linux kernel + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: DRA742, PMP Tool/software: Linux hi all, I want to boot TDA2 EVM with SD card, and got some problem, following is log: U-Boot SPL 2016.05-00002-g68a4cab-dirty (Apr 18 2018 - 03:14:38) DRA752-GP ES2.0 find_mmc_device(): MMC Device 1 not found *** Warning - No MMC card found, using default environment Trying to boot from MMC1 find_mmc_device(): MMC Device 1 not found *** Warning - No MMC card found, using default environment reading u-boot.img reading u-boot.img reading u-boot.img reading u-boot.img U-Boot 2016.05-00002-g68a4cab-dirty (Apr 18 2018 - 03:14:38 +0800) CPU : DRA752-GP ES2.0 Model: TI DRA742 Board: DRA74x EVM REV DRAM: 1.5 GiB MMC: OMAP SD/MMC: 0 find_mmc_device(): MMC Device 1 not found *** Warning - No MMC card found, using default environment Warning: fastboot.board_rev: unknown board revision find_mmc_device(): MMC Device 1 not found ERROR: invalid mmc device at arch/arm/cpu/armv7/omap-common/utils.c:189/mmc_get_part_size() Warning: fastboot.userdata_size: unable to calc SCSI: SATA link 0 timeout. AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode flags: 64bit ncq stag pm led clo only pmp pio slum part ccc apst scanning bus for devices... Found 0 device(s). Net: Could not get PHY for ethernet@48484000: addr 2 Warning: ethernet@48484000 using MAC address from ROM eth0: ethernet@48484000 Hit any key to stop autoboot: 0 omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear find_mmc_device(): MMC Device 1 not found no mmc device at slot 1 omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear omap_hsmmc_send_cmd: timedout waiting on cmd inhibit to clear find_mmc_device(): MMC Device 1 not found ** Bad device mmc 1 ** find_mmc_device(): MMC Device 1 not found ** Bad device mmc 1 ** find_mmc_device(): MMC Device 1 not found ** Bad device mmc 1 ** find_mmc_device(): MMC Device 1 not found ** Bad device mmc 1 ** mmc - MMC sub system Usage: mmc info - display info of the current MMC device mmc read addr blk# cnt mmc write addr blk# cnt mmc erase blk# cnt mmc rescan mmc part - lists available partition on current mmc device mmc dev [dev] [part] - show or set current mmc device [partition] mmc list - lists available devices mmc hwpartition [args...] - does hardware partitioning arguments (sizes in 512-byte blocks): [user [enh start cnt] [wrrel {on|off}]] - sets user data area attributes [gp1|gp2|gp3|gp4 cnt [enh] [wrrel {on|off}]] - general purpose partition [check|set|complete] - mode, complete set partitioning completed WARNING: Partitioning is a write-once setting once it is set to complete. Power cycling is required to initialize partitions after set to complete. mmc bootbus dev boot_bus_width reset_boot_bus_width boot_mode - Set the BOOT_BUS_WIDTH field of the specified device mmc bootpart-resize - Change sizes of boot and RPMB partitions of specified device mmc partconf dev boot_ack boot_partition partition_access - Change the bits of the PARTITION_CONFIG field of the specified device mmc rst-function dev value - Change the RST_n_FUNCTION field of the specified device WARNING: This is a write-once field and 0 / 1 / 2 are the only valid values. mmc setdsr - set DSR register value mmc - MMC sub system Usage: mmc info - display info of the current MMC device mmc read addr blk# cnt mmc write addr blk# cnt mmc erase blk# cnt mmc rescan mmc part - lists available partition on current mmc device mmc dev [dev] [part] - show or set current mmc device [partition] mmc list - lists available devices mmc hwpartition [args...] - does hardware partitioning arguments (sizes in 512-byte blocks): [user [enh start cnt] [wrrel {on|off}]] - sets user data area attributes [gp1|gp2|gp3|gp4 cnt [enh] [wrrel {on|off}]] - general purpose partition [check|set|complete] - mode, complete set partitioning completed WARNING: Partitioning is a write-once setting once it is set to complete. Power cycling is required to initialize partitions after set to complete. mmc bootbus dev boot_bus_width reset_boot_bus_width boot_mode - Set the BOOT_BUS_WIDTH field of the specified device mmc bootpart-resize - Change sizes of boot and RPMB partitions of specified device mmc partconf dev boot_ack boot_partition partition_access - Change the bits of the PARTITION_CONFIG field of the specified device mmc rst-function dev value - Change the RST_n_FUNCTION field of the specified device WARNING: This is a write-once field and 0 / 1 / 2 are the only valid values. mmc setdsr - set DSR register value Booting from eMMC ... Wrong Image Format for bootm command ERROR: can't get kernel image! and my environment is ubuntu14.04 64bit, vision SDK v3.0.0. how can i fix this problem? Thanks. + +Responses: +Hello , Is your SD card created without errors , Can you verify the boot pin settings and the re create the SD card and ensure no error. Refer linux user guide to create SD card Regards Chetan.M + +Hi, Chetan, when i create the SD card, there are no errors appear boot pin setting is chencked, it is the same as user guide re create the SD card, this problem still exists thanks. + +Hi , The error read Wrong Image Format for bootm command ERROR: can't get kernel image! *** Warning - No MMC card found, using default environment Warning: fastboot.board_rev: unknown board revision find_mmc_device(): MMC Device 1 not found ERROR: invalid mmc device which revision of board are you using . Can you give a try with different revision evm Regards Chetan.M + +Hi , Any updates on the thread Regards Chetan.M + diff --git a/sample_embedding_folder2/0684646.txt b/sample_embedding_folder2/0684646.txt new file mode 100644 index 0000000000000000000000000000000000000000..dfa600bd02bf45ee68bd65ccd81dd63c6fbaf868 --- /dev/null +++ b/sample_embedding_folder2/0684646.txt @@ -0,0 +1,16 @@ +Ticket Name: Compiler/TDA2: Embed TIDL model bin into IPU image to run without SD card ? + +Query Text: +Part Number: TDA2 Tool/software: TI C/C++ Compiler Hi, Is it possible to convert TIDL or SemSeg example to run from flash, without SD card ? i can change the input link to take video from a camera or HDMI, but I still need to supply NET.BIN and PRM.BIN model files to TIDL somehow without SD card. Model parsing functions can be changed to read net and prm from arrays in memory instead of files, but what would be the easiest way to place them into memory (flash) ? i.e. maybe link with IPU 1-0 code somehow? I am reading documentation for ti-cgt-arm_16.9.2.LTS tools, but cannot figure out how to join the code with model data. Total size of model bin files is about 3Mb. Thanks, Mikhail + +Responses: +I understand how to do that through conversion of the binary file to a C-array, but that means converting 3Mb bin to approximately 15Mb c-file. It would be nice if there is an option to do that through linker directly. Mikhail + +Hi Mikhail , i can change the input link to take video from a camera or HDMI, but I still need to supply NET.BIN and PRM.BIN model files to TIDL somehow without SD card. Model parsing functions can be changed to read net and prm from arrays in memory instead of files, but what would be the easiest way to place them into memory (flash) ? You can always place it into QSPI flash . API for the same can be found in src/rtos/utils_common/include/utils_qspi.h Its used to dump the calib tables in following file for reference vision_sdk\apps\src\rtos\common_srv\chains_common_surround_view.c Regards Chetan.M + +Hi Chetan, Thank you for the advice. I will try QSPI flash soon. Do you know if there are any code examples that use eMMC flash (with FAT FS) instead of SD card? I guess the difference between emmc and sdcard should be very small. Mikhail + +Hi Mikhail , Can we close the thread , I am not sure if we have a pdk driver to access emmc . Regards Chetan.M + +Yes. Thanks! + diff --git a/sample_embedding_folder2/0684769.txt b/sample_embedding_folder2/0684769.txt new file mode 100644 index 0000000000000000000000000000000000000000..0421fdb6ead531f0af7bf8fd92800b6a803f5c82 --- /dev/null +++ b/sample_embedding_folder2/0684769.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: EVE + +Query Text: +Part Number: TDA2 Dear, Very thanks. I want to know whether TI DSP support caffe2 or the cnn model and algorithm in the caffe/caffe2 framework? If not,when it can? BR + +Responses: +Hi, TI ADAS SOCs (TDAx family) support the cnn models trained using caffe . Please refer the SDK from TI to get more details. www.ti.com/.../PROCESSOR-SDK-TDAX Thanks, With Regards, Pramod + diff --git a/sample_embedding_folder2/0685360.txt b/sample_embedding_folder2/0685360.txt new file mode 100644 index 0000000000000000000000000000000000000000..39f4b0f825c7c5947c02e9775ea7b1820b0e088e --- /dev/null +++ b/sample_embedding_folder2/0685360.txt @@ -0,0 +1,10 @@ +Ticket Name: RTOS/TDA2: Dual Emif interleave 1GiB configuration + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hello, Using an MLO that configures the two EMIFs on the TDA2 Vayu EVM in interleaved mode with 1GB total (2x512MB) how is the full 1GB addressed? We know 0x8000.0000 - 0xA000.0000 is part of the DDR range and we can access it but that's only 512MB. How do would you access the other 512MB of memory? Thank you Juan + +Responses: +Hi Juan, You should be able to access the other 512 MB from 0xA0000000-0xC0000000. Are you facing any issues with this? Regards, Rishabh + +Hi, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0685827.txt b/sample_embedding_folder2/0685827.txt new file mode 100644 index 0000000000000000000000000000000000000000..2841eb39d1f3606b720e55239aa723d7c0937927 --- /dev/null +++ b/sample_embedding_folder2/0685827.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Running a model on multiple cores + +Query Text: +Part Number: TDA2 Hi, As per my understanding in the config file, we have option to select EVE or DSP core by selecting layersGroupId(1 for EVE and 2 for DSP). In case, if the model is to be run on multiple EVE cores, say EVE1 and EVE2(first few layers on EVE1 and next few layers on EVE2), is there any way to mention this from the config file? Thanks in advance, Navinprashath.R.R + +Responses: +Yes, we can do that by assigning unique layersGroupId for each of the cores, let's say 1 for EVE1, 2 for EVE2, 3 for EVE3 and 4 for DSP. Note that this layersGroupIds 1 for EVE and 2 for DSP is just an example, you can assign any unique layersGroupId and same mapping should used in running inference. Thanks, Praveen + diff --git a/sample_embedding_folder2/0686013.txt b/sample_embedding_folder2/0686013.txt new file mode 100644 index 0000000000000000000000000000000000000000..912e3f6d1ca43f758e509f4a60d47cfd67c55cb0 --- /dev/null +++ b/sample_embedding_folder2/0686013.txt @@ -0,0 +1,32 @@ +Ticket Name: TDA2: SSD different result between quantStatusTool and TDA2EXVEM + +Query Text: +Part Number: TDA2 Hi: I traine a SSD model changed on "github.com/tidsp/caffe-jacinto-models/tree/caffe-0.16/trained/object_detection/voc0712". With quantStatusTool,the result is good,almost every target object is detected,But when I run the model on TDA2EXEVM,some object could't be detected in some frames.for example,as below this result is runned with quantStatusTool;but the "1" object couldn't be detected with TIDL_OD usecase when runned on TDA2EXEVM. And with quantStatusTool,I found the "1" object's confidence is 0.316087,so I set the "scoreThreshold" to 0.3 in TIDL_OD usecase,but the "1" object still couldn't be detected. Is there something I missed? My import config file is below: # Default - 0 randParams = 0 # 0: Caffe, 1: TensorFlow, Default - 0 modelType = 0 # 0: Fixed quantization By tarininng Framework, 1: Dyanamic quantization by TIDL, Default - 1 quantizationStyle = 1 # quantRoundAdd/100 will be added while rounding to integer, Default - 50 quantRoundAdd = 25 numParamBits = 8 # 0 : 8bit Unsigned, 1 : 8bit Signed Default - 1 inElementType = 0 inputNetFile = "..\..\test\testvecs\config\caffe_modesl\ssd480x192\sparse\deploy.prototxt inputParamsFile = "..\..\test\testvecs\config\caffe_modesl\ssd480x192\sparse\ssd480x192_sparse_iter_100000.caffemodel" outputNetFile = "..\..\test\testvecs\config\tidl_models\tidl_net_jdetNet_480x192_ssd.bin" outputParamsFile = "..\..\test\testvecs\config\tidl_models\tidl_param_jdetNet_480x192_ssd.bin" rawSampleInData = 1 preProcType = 4 sampleInData = "..\..\test\testvecs\input\trace_480x192.y" tidlStatsTool = "..\quantStatsTool\eve_test_dl_algo.out.exe" layersGroupId = 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 2 2 2 2 2 2 0 conv2dKernelType = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 #conv2dKernelType = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Regards + +Responses: +Hi Lee, Can you please share the caffe model and prototxt to replicate the issue at our end? Thanks, Praveen + +Hi: there is my caffe model and prototxt.My model only detect 1 calss:car. models&prototxt.7z Looking forward to your reply. Regards + +Hi, Can you please also share the input image that you used to replicate the issue quickly? Thanks, Praveen + +Hi: there is some images from my test video;I test part of them:In most of images ,the object could be detected with quantStatusTool,but couldn't be on on TDA2EXEVM with TIDL_OD.for example,the image "cqh20.jpg". test imgs.7z + +Hi, Thanks for sharing the input. I could replicate the issue. I will debug and send you the fix. Thanks, Praveen + +Hi Lee, Did you run single image (or frame) on TIDL use case and comparing the output with import tool output and detentions are not matching ? or If you running a video and output (some dectections) are not matching with import tool detentions, then this is expected as there could be some issue with quantization and this output will come to stable after some time. Please refer to section 3.8 Matching TIDL inference result in the user guide on how to set the quantization parameters for a video sequence. Thanks, Praveen + +Hi: I run a video;and I tryed the "quantHistoryParam1"、"quantHistoryParam2" and "quantMargin" with several different values,like "quantHistoryParam1 = 20(or 0,10); quantHistoryParam2 = 10(or 0,5) ; quantMargin = 20(or 0,10)" But result is stille same:in some frame of input video,the "1" object can't be detected. What value shoule I set for the the "quantHistoryParam1"、"quantHistoryParam2" and "quantMargin"? there is a clip of my test video data and header: data&header.7z Regards + +Hi Lee, To debug this issue, first we need to replicate it on the single image instead of video. Could please first run the input image (used to import the models) on the EVM using standalone and check the issue is observed on not? Please refer to section 3.3.5 in the user guide to run on the standalone. Thanks, Praveen + +sorry I don't have a "USB Emulator";I only can work as "Load using SD card". + +Hi Lee, Okay, I will try to replicate the issue in VSDK at our end and will let you know. Thanks, Praveen + +Hi Lee, There is no problem in the code for this issue. This issue may be because of quantization , for this kind of issues, use first frame of the video for quant stats collection in the import and then use those for inference, first frame detection's will match exactly and will take some time for the rest of the frames for quantization to stabilise. Thanks, Praveen + +Hi: Thanks very much. But then what could I do to resolve this object detection lost problem? Regards + +Hi, Did you try matching the first frame that you imported? I would recommend you to try our training model shared on github , the link is below.. github.com/.../JDetNet Thanks, Praveen + diff --git a/sample_embedding_folder2/0686052.txt b/sample_embedding_folder2/0686052.txt new file mode 100644 index 0000000000000000000000000000000000000000..1c07c2e143d8b9467ff622f8750468f3d0b50df8 --- /dev/null +++ b/sample_embedding_folder2/0686052.txt @@ -0,0 +1,26 @@ +Ticket Name: TDA2: /linux/targetfs/usr/share/ti/opencl/bin/x86/clocl: Command not found + +Query Text: +Part Number: TDA2 Hi, when i build vision sdk with settings MAKEAPPNAME?=apps MAKECONFIG?=tda2xx_evm_linux_opencx other configurations are default. make[6]: Entering directory '/home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/apps/src/hlos/adas/src/alg_plugins/openclframecopy' make -B -Ckernel make[7]: Entering directory '/home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/apps/src/hlos/adas/src/alg_plugins/openclframecopy/kernel' echo Compiling OpenCL file copy.cl Compiling OpenCL file copy.cl /home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/../ti_components/os_tools/linux/targetfs/usr/share/ti/opencl/bin/x86/clocl -t copy.cl make[7]: /home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/../ti_components/os_tools/linux/targetfs/usr/share/ti/opencl/bin/x86/clocl: Command not found ifeq ($(A15_TARGET_OS), Linux) CLOCL = $(LINUX_TARGETFS)/usr/share/ti/opencl/bin/x86/clocl There is nothing in this directory Thank you in advance BR HUI + +Responses: +Hi Hui, For OpenCL to build , you need to apply file system patch & clone few more components Follow TDA2x Linux User Guide Regrads Suryamani Jena + +Hi Suryamani, still some errors after applying file system patch & clone few more components. make[6]: Leaving directory '/home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/apps/src/hlos/adas/src/alg_plugins/opencvopencldilation' make -fMAKEFILE.MK -C/home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/apps/src/hlos/adas/src/alg_plugins/openclframecopy MODNAME=apps opencl_build make[6]: Entering directory '/home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/apps/src/hlos/adas/src/alg_plugins/openclframecopy' make -B -Ckernel make[7]: Entering directory '/home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/apps/src/hlos/adas/src/alg_plugins/openclframecopy/kernel' echo Compiling OpenCL file copy.cl Compiling OpenCL file copy.cl /home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/../ti_components/os_tools/linux/targetfs/usr/share/ti/opencl/bin/x86/clocl -t copy.cl >> WARNING: invalid compiler option --bc_file=copy.bc (ignored) "/home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/../ti_components/os_tools/linux/targetfs/usr/share/ti/opencl/dsp.syms", line 9: error #10022-D: invalid option: --single_data_segment "/home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/../ti_components/os_tools/linux/targetfs/usr/share/ti/opencl/dsp.syms", line 10: error #10022-D: invalid option: --no_entry_point warning #10247-D: creating output section ".stack" without a SECTIONS specification warning #10210-D: creating ".stack" section with default size of 0x400; use the -stack option to change the default size undefined first referenced symbol in file --------- ---------------- main /home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/cg_tools/linux/ti-cgt-c6000_8.1.0/lib/rts6600_elf.lib error #10234-D: unresolved symbols remain error #10010: errors encountered during linking; "copy.out" not built >> Compilation failure Makefile:5: recipe for target 'copy.dsp_h' failed make[7]: *** [copy.dsp_h] Error 255 make[6]: *** [opencl_build] Error 2 make[5]: *** [vision_sdk_linux_demo] Error 2 make[4]: *** [apps] Error 2 make[3]: *** [apps_exe_hlos] Error 2 make[2]: *** [apps_hlos] Error 2 make[1]: *** [apps] Error 2 make: *** [vision_sdk] Error 2 make[7]: Leaving directory '/home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/apps/src/hlos/adas/src/alg_plugins/openclframecopy/kernel' MAKEFILE.MK:14: recipe for target 'opencl_build' failed make[6]: Leaving directory '/home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/apps/src/hlos/adas/src/alg_plugins/openclframecopy' MAKEFILE_adas.MK:14: recipe for target 'vision_sdk_linux_demo' failed make[5]: Leaving directory '/home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/apps/src/hlos' MAKEFILE_adas.MK:5: recipe for target 'apps' failed make[4]: Leaving directory '/home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/apps/src/hlos' Makefile:211: recipe for target 'apps_exe_hlos' failed make[3]: Leaving directory '/home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/build' Makefile:84: recipe for target 'apps_hlos' failed make[2]: Leaving directory '/home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/build' Makefile:49: recipe for target 'apps' failed make[1]: Leaving directory '/home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/build' Makefile:12: recipe for target 'vision_sdk' failed + +Hi Hui, ti-cgt-c6000_8.1.0 is not part of release package You need to download & place it under /ti_components/cg_tools/linux & add dsp compiler bin path to PATH variable & build export PATH=/bin:$PATH Regards Surya + +Hi Surya, still one error after doing the above procedure. cp /home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/build/hlos/scripts/linux/vision_sdk_ov490_pinmux.sh /home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/../ti_components/os_tools/linux/targetfs/opt/vision_sdk cp /home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencx/vision_sdk/bin/tda2xx-evm/apps.out /home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/../ti_components/os_tools/linux/targetfs/opt/vision_sdk cd /home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/../ti_components/os_tools/linux/kernel/dsptop/debugss_module/debugss-mod; \ cp /home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/../ti_components/os_tools/linux/kernel/dsptop/debugss_module/debugss-mod/debugss_kmodule.ko /home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/../ti_components/os_tools/linux/targetfs/opt/vision_sdk cp: cannot stat '/home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/../ti_components/os_tools/linux/kernel/dsptop/debugss_module/debugss-mod/debugss_kmodule.ko': No such file or directory make[4]: *** [linux_app_install] Error 1 build_kernel.mk:82: recipe for target 'linux_app_install' failed make[3]: *** [app_linux_install] Error 2 make[2]: *** [apps_hlos] Error 2 make[1]: *** [apps] Error 2 make: *** [vision_sdk] Error 2 make[4]: Leaving directory '/home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/build/hlos/makerules/linux' Makefile:498: recipe for target 'app_linux_install' failed make[3]: Leaving directory '/home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/build' Makefile:84: recipe for target 'apps_hlos' failed make[2]: Leaving directory '/home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/build' Makefile:49: recipe for target 'apps' failed make[1]: Leaving directory '/home/richard/sambashare/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/build' Makefile:12: recipe for target 'vision_sdk' failed + +Hi Hui, It is looking like debugss_kmodule.ko not build properly Could you clean & build ? Run below commands make linux_clean make linux make linux_install make -s -j depend make -s -j opencx Regrads Surya + +Hi ti-cgt-c6000_8.1.0 where to down load?? + +Hi Shuai, You can download from below link www.ti.com/.../8.1.0 Regards Surya + +Hi Surya, i have meet the same problem, can you talk about it in detail about (add dsp compiler bin path to PATH variable & build export PATH=/bin:$PATH)? i do it like this : PATH=/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/cg_tools/linux/ti-cgt-c6000_8.1.0 export PATH=/bin:$PATH but it failed: bash: /bin:/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/cg_tools/linux/ti-cgt-c6000_8.1.0: No such file or directory What should I do? Regards Xie Baojian + +Hi Xie Baojian, The angualr bracket you need to remove while exporting Follow below steps 1. Open shell 2. echo $PATH 3. export PATH=/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/cg_tools/linux/ti-cgt-c6000_8.1.0/bin:$PATH 4. echo $PATH & confirm dsp compiler path added to system path variable Regards Surya + +Hi Surya, I have solved this problem, thank you very much. Regards Xie Baojian + diff --git a/sample_embedding_folder2/0686137.txt b/sample_embedding_folder2/0686137.txt new file mode 100644 index 0000000000000000000000000000000000000000..3f15e0f0197bdc01e40b1f7ab50441dcd84a2cd9 --- /dev/null +++ b/sample_embedding_folder2/0686137.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: how dsp and ipu object file are loaded + +Query Text: +Part Number: TDA2 Hi , When i run sample_app.out in linux A15, i find dsp and ipu also start to run after A15. I read the source code, and do not find any code to load the DSP and IPU object files which are located in /lib/firmware of linux file system. Could you explain how linux part load other core object files? Thank you in advance. Currently, working on PROCESSOR_SDK_VISION_03_02_00_00 version. root@dra7xx-evm:/opt/vision_sdk# ./sample_app.out [HOST] OSA: MEM: 0: Mapped 0xa0100000 to 0xb6947000 of size 0x00100000 [HOST] OSA: MEM: 1: Mapped 0x84203000 to 0xa1f47000 of size 0x14a00000 [HOST] OSA: MEM: 2: Mapped 0xa0200000 to 0xa1e87000 of size 0x00040000 [HOST] OSA: MEM: 3: Mapped 0xa02c0000 to 0xa1ec7000 of size 0x00080000 [HOST] OSA: MEM: 4: Mapped 0x00000000 to 0x00000000 of size 0x00000000 [HOST] OSA: HOST Remote Log Shared Memory @ 0xa024f140 [HOST] OSA: DSP1 Remote Log Shared Memory @ 0xa02769e0 [HOST] OSA: IPU2 Remote Log Shared Memory @ 0xa0363da0 [HOST] [HOST ] 2569.602208 s: SYSTEM: System A15 Init in progress !!! [HOST] [HOST ] 2569.602330 s: SYSTEM: IPC: Init in progress !!! [HOST] [HOST ] 2569.602330 s: SYSTEM: IPC: Notify init in progress !!! [HOST] [HOST ] 2569.602665 s: SYSTEM: IPC: [IPU2] socket bind success !!! (dst vproc = 1, endpt = 81) [HOST] [HOST ] 2569.602665 s: SYSTEM: IPC: [IPU2] socket info (family = 41, dst proc id = -1, endpt = 81) !!! [HOST] [HOST ] 2569.602696 s: SYSTEM: IPC: [IPU2] socket connect success !!! (dst vproc = 1, endpt = 80) [HOST] [HOST ] 2569.602726 s: SYSTEM: IPC: [IPU2] socket info (family = 41, dst proc id = -1, endpt = 1024) !!! [HOST] [HOST ] 2569.602970 s: SYSTEM: IPC: [DSP1] socket bind success !!! (dst vproc = 2, endpt = 81) [HOST] [HOST ] 2569.603001 s: SYSTEM: IPC: [DSP1] socket info (family = 41, dst proc id = -1, endpt = 81) !!! [HOST] [HOST ] 2569.603031 s: SYSTEM: IPC: [DSP1] socket connect success !!! (dst vproc = 2, endpt = 80) [HOST] [HOST ] 2569.603031 s: SYSTEM: IPC: [DSP1] socket info (family = 41, dst proc id = -1, endpt = 1024) !!! [HOST] [HOST ] 2569.603153 s: SYSTEM: IPC: Notify init DONE !!! [HOST] [HOST ] 2569.603184 s: SYSTEM: MSGQ: MsgQ init in progress !!! [HOST] [HOST ] 2569.603275 s: SYSTEM: MSGQ: MsgQ init DONE !!! [HOST] [HOST ] 2569.603275 s: SYSTEM: IPC: Init DONE !!! [HOST] [HOST ] 2569.603275 s: SYSTEM: Initializing A15 Links !!! [HOST] [DSP1 ] 2412.027084 s: ***** DSP1 Firmware build time 17:52:46 Apr 28 2018 [HOST] [DSP1 ] 2412.027145 s: *** SYSTEM: CPU Frequency , [HOST] [DSP1 ] 2412.027389 s: SYSTEM: System Common Init in progress !!! [HOST] [DSP1 ] 2412.027572 s: SYSTEM: IPC init in progress !!! [HOST] [DSP1 ] 2412.027603 s: SYSTEM: Attaching to [IPU2] ... [HOST] [DSP1 ] 2413.027999 s: SYSTEM: Attaching to [IPU2] ... [HOST] [DSP1 ] 2413.141157 s: SYSTEM: Attaching to [IPU2] ... SUCCESS !!! [HOST] [DSP1 ] 2413.141218 s: SYSTEM: Notify register to [IPU2] line 0, event 15... [HOST] [DSP1 ] 2413.141279 s: SYSTEM: Notify init done !!! [HOST] [DSP1 ] 2413.141432 s: SYSTEM: MsgQ init done !!! [HOST] [DSP1 ] 2413.141523 s: RpmsgInit in progress... [HOST] [DSP1 ] 2413.141554 s: Connection established with HLOS, calling rpmsgInit [HOST] [DSP1 ] 2413.141737 s: SYSTEM: IPC init DONE !!! [HOST] [DSP1 ] 2413.142408 s: SYSTEM: System Common Init Done !!! [HOST] [DSP1 ] 2413.142438 s: SYSTEM: System DSP Init in progress !!! [HOST] [DSP1 ] 2413.142682 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1024 [HOST] [DSP1 ] 2413.142713 s: SYSTEM: Heap = LOCAL_L2 @ 0x00800000, Total size = 227264 B (221 KB), Free size = 227264 B (221 KB) [HOST] [DSP1 ] 2413.142743 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 524288 B (512 KB), Free size = 521792 B (509 KB) [HOST] [DSP1 ] 2413.142804 s: SYSTEM: Initializing Links !!! [HOST] [DSP1 ] 2413.151436 s: SYSTEM: Initializing Links ... DONE !!! [HOST] [IPU2 ] 2413.126456 s: ***** IPU2 Firmware build time 17:54:42 Apr 28 2018 [HOST] [IPU2 ] 2413.126639 s: *** SYSTEM: CPU Frequency , [HOST] [IPU2 ] 2413.129536 s: SYSTEM: System Common Init in progress !!! [HOST] [IPU2 ] 2413.138717 s: SYSTEM: IPC init in progress !!! [HOST] [IPU2 ] 2413.138809 s: SYSTEM: Attaching to [DSP1] ... [HOST] [IPU2 ] 2413.141157 s: SYSTEM: Attaching to [DSP1] ... SUCCESS !!! [HOST] [IPU2 ] 2413.141279 s: SYSTEM: Notify register to [DSP1] line 0, event 15... [HOST] [IPU2 ] 2413.141401 s: SYSTEM: Notify init done !!! [HOST] [IPU2 ] 2413.143140 s: SYSTEM: MsgQ init done !!! [HOST] [IPU2 ] 2413.144085 s: RpmsgInit in progress... [HOST] [IPU2 ] 2413.144177 s: Connection established with HLOS, calling rpmsgInit [HOST] [IPU2 ] 2413.144787 s: SYSTEM: IPC init DONE !!! [HOST] [IPU2 ] 2413.149942 s: SYSTEM: System Common Init Done !!! Best regards HUI + +Responses: +Hi , Linux kernel takes care of loading the ipu and dsp firmware , only application binare i.e apps.out is run from the root prompt. Regards Chetan.M + +But why the ipu and dsp start information (ex: above print info) is after the app.out running. If it is taken care by kernel, without running apps.out, the dsp and ipu start info should be there as well. + +It would be waiting on attach of remote core ( HLOS) once the hlos is started the ipu and dsp prints start up . If you look at the logs before the root prompt you will see loaded firmware success message. Regards Chetan.M + diff --git a/sample_embedding_folder2/0686394.txt b/sample_embedding_folder2/0686394.txt new file mode 100644 index 0000000000000000000000000000000000000000..d9c42d4b6a2b505f64dc5d8045c0171b5cedc257 --- /dev/null +++ b/sample_embedding_folder2/0686394.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Use case generate tool + +Query Text: +Part Number: TDA2 Hi, I use VSDK v3.3 + TDA2x. I want to test use case generate tool but I find vsdk.exe can't run on win7 64 bits version. I can find vsdk.exe for 64 bits version on SDK v3.2(C:\PROCESSOR_SDK_VISION_03_02_00_00\vision_sdk\build\rtos\scripts\vsdk_win32.exe(1,954 KB, 2017/12/22 19:04)) But SDK v3.3 total have 3 files they both can't run on Win7 64 bits OS. 1st : PROCESSOR_SDK_VISION_03_02_00_00\vision_sdk\build\rtos\scripts\vsdk_win32.exe(1,954 KB, 2017/12/22 19:04) 2nd : PROCESSOR_SDK_VISION_03_03_00_00\vision_sdk\apps\tools\vision_sdk_usecase_gen\bin\vsdk_win32.exe(895 KB, 2018/4/6 19:29) 3rd : PROCESSOR_SDK_VISION_03_03_00_00\vision_sdk\apps\src\rtos\usecases\vip_single_cam_display_metadata\vsdk_win32.exe(1,976 KB, 2018/4/6 19:29) Could you please check it? Thanks. + +Responses: +Hi, You should use the tool present in PROCESSOR_SDK_VISION_03_03_00_00\vision_sdk\apps\tools\vision_sdk_usecase_gen\ folder. As the source of the tool is present here you should rebuild the tool for 64 bit machine. Regards, Rishabh + diff --git a/sample_embedding_folder2/0686810.txt b/sample_embedding_folder2/0686810.txt new file mode 100644 index 0000000000000000000000000000000000000000..df1cdcef4e6eb0035a16dbf053173928e366573e --- /dev/null +++ b/sample_embedding_folder2/0686810.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: how to integrate vision SDK to autonomous drive application + +Query Text: +Part Number: TDA2 Hi, I have read the chain and link mechanism. And also run sample_app successfully, go through most of documents of TI vison SDK, but still struggling. My question is how to integrate my autonomous drive application to TI Vision SDK? i have sensor fusion , decision and planning modules, etc. Based on my understanding to sdk, i should put each module as a algorithm module ,integrate with a algorithm link. Maybe also develop some common link to receive and send data as interface with peripherals. Am i right? does TI have any general document to guide users in high level how to integrate TI vision SDK, not fall down in details at the beginning. Thank you in advance. Best regards HUI + +Responses: +Hi HUI, did you checked the documents in "vision_sdk\docs\Architecture", there you can find higher level overview of VsiionSDK's architecture. Regards, Yordan + diff --git a/sample_embedding_folder2/0686930.txt b/sample_embedding_folder2/0686930.txt new file mode 100644 index 0000000000000000000000000000000000000000..837129338957a3650323957dc606e2e7e5243b64 --- /dev/null +++ b/sample_embedding_folder2/0686930.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: source ./vision_sdk_load.sh error report + +Query Text: +Part Number: TDA2 Hi , when i try to run examples, following sdk guild document, firstly do "source ./vision_sdk_load.sh", there is some error as below, however sample app can also run. root@dra7xx-evm:/opt/vision_sdk# source ./vision_sdk_load.sh insmod: ERROR: could not load module ./bin/cmemk.ko: No such file or directory ./disableDssInterruptsOnA15.sh: line 11: @0x4A002AC4:: command not found ./disableDssInterruptsOnA15.sh: line 12: @0x4A002AC4:: command not found ./disableDssInterruptsOnA15.sh: line 13: @0x4A002AC4:: command not found ./disableDssInterruptsOnA15.sh: line 14: @0x4A002AC4:: command not found ./disableDssInterruptsOnA15.sh: line 15: @0x4A002AC4:: command not found ./disableDssInterruptsOnA15.sh: line 16: @0x4A002AC4:: command not found ./disableDssInterruptsOnA15.sh: line 17: @0x4A002AC4:: command not found ./disableDssInterruptsOnA15.sh: line 18: @0x4A002AC4:: command not found ./disableDssInterruptsOnA15.sh: line 19: @0x4A002AC4:: command not found updated 0x4A002AC4 value is 00930000 Best regards HUI + +Responses: +Hello HUI , These need to be ignored , this is non fatal error and mentioned in FAQ doc . Regards Chetan.M + diff --git a/sample_embedding_folder2/0687027.txt b/sample_embedding_folder2/0687027.txt new file mode 100644 index 0000000000000000000000000000000000000000..47b754876f43f385bd9508aa931c6981af25558f --- /dev/null +++ b/sample_embedding_folder2/0687027.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Executing TIDL on TDA2x + +Query Text: +Part Number: TDA2 Hi, These are the steps I'm following to run the dsp_test_dl_algo.out. 1.Open CCS. Launch Selected Configuration. 2.Select A15_0. Go to Run->Reset->System Reset. Right click-> Connect Target. Go to Scripts->TDA2xx MULTICORE Initialization->TDA2xx_MULTICORE_EnableAllCores 3.Select C6xx_DSP1. Right click->Connect Target. 4.Go to Run->Load->Load Program. Select the path of dsp_test_dl_algo.out. file and click Ok. 5.Click on Resume button. In the console I am seeing these logs. [C66xx_DSP1] Processing config file ..\testvecs\config\infer\tidl_config_jseg21.txt ! and nothing after that. Do any more configuration need to be done or is there anything wrong with the configuration I am currently setting? Thanks in advance, Navinprashath.R.R + +Responses: +Hi Navin, Hold on for some time, at that time input file reading is happening and will take up to an hour based on the file size. Thanks, Praveen + diff --git a/sample_embedding_folder2/0687292.txt b/sample_embedding_folder2/0687292.txt new file mode 100644 index 0000000000000000000000000000000000000000..6144c5d009cfa301f1290f3dcc6af225113592c2 --- /dev/null +++ b/sample_embedding_folder2/0687292.txt @@ -0,0 +1,18 @@ +Ticket Name: RTOS/TDA2: Data flow of TIDL Object detect use case? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Dears, I see the data flow of File Input/Output TI Deep Learning (TIDL) use case on TDA2XX Did you have the data flow of TIDL Object detect use case on TDA2XX ? thanks for the reply. Allen + +Responses: +Hello , Data Flow for the TIDL Object Detect is not documented in datasheet , Its data flow can be obtained in the usecase folder , vision_sdk\apps\src\rtos\usecases\tidl_OD\chains_tidlOD.jpg Regards Chetan.M + +Hi OK, I see the pic. but it should be contained Lane Departure warning (LDW)、Vehicle Detection (VD)、Pedestrian, Bi-cyclist and Powered Two Wheeler Detection etc... Does't it? but I doesn't see them in the flow. Can you tell me where they going? + +No , This is object detect only , Lane Departure warning is not present. Only Vehicle Detect and Traffic sign is trained . Regards Chetan.M + +It is trained for Pedestrians also. Regards, Kumar.D + +so, TIDL algorithm can classify the road ,Right? But TIDL_OD use case does't contain Lane Departure warning (LDW) I'm right ? + +The default usecase doesn't Regards Chetan.M + diff --git a/sample_embedding_folder2/0687319.txt b/sample_embedding_folder2/0687319.txt new file mode 100644 index 0000000000000000000000000000000000000000..786779b77558e440904e3444395ab57bfbf5e2e0 --- /dev/null +++ b/sample_embedding_folder2/0687319.txt @@ -0,0 +1,24 @@ +Ticket Name: TDA2: fish eye lens holder for SV demo + +Query Text: +Part Number: TDA2 Dear Champs, Could you please let me know exact lens holder part name we used in our SV DEMO of Vision SDK? From the web site of DSL219D, there were 2 holders recommended to use with DSL219D lens as below and these holders have different size. do you think any holders in below can show similar DEMO quality? Thanks and Best Regards, SI. + +Responses: +Hi SI, It seems like the second part number is a recent addition, I am trying to check on this. I will reply as soon as its clarified. Regards, Sujith + +Hi Sujith, Have you checked this? Thanks and Best Regards, SI. + +Can you please give more details of the demo setup you are using? SoC name Sensor name Camera module version It will help if you can attach a picture. + +They are using our SV DEMO on TDA2 using TDA2 EVM as below. SoC name : Vision28 CPU EVM and Vision Apps Board Sensor name : omnivision image sensor board(Multides Surround View Kit, OV10635-EAAE-AA0A) Camera module version : OV10635-EAAE-AA0A www.spectrumdigital.com/.../ Thanks and Best Regards, SI. + +This is a Spectrum Digital product. Please contact Spectrum Digital. + +Hi, I'm asking about DEMO configuration in VisionSDK, not about product. which lens holder have been used in SV DEMO of VisionSDK? I believe all other configurations should be same in the DEMO described in the VisionSDK, but there was no information about Lens holder. Thanks and Best Regards, SI. + +Lens holder is not a part of Vision SDK. This is a part of the camera module sold by Spectrum Digital. + +Do you mean Lens holder will not be impact on the DEMO quality? Thanks and Best Regards, SI. + +Please contact Spectrum Digital for lens holder details. + diff --git a/sample_embedding_folder2/0687481.txt b/sample_embedding_folder2/0687481.txt new file mode 100644 index 0000000000000000000000000000000000000000..ad4bf76238219ac53a9cc20b61849d8b672b46ee --- /dev/null +++ b/sample_embedding_folder2/0687481.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: Usecase inputdata file(inData_OD) and usecase input header file(inHeader_OD) for object detection(Vision SDK_03.03.00.00) + +Query Text: +Part Number: TDA2 Hi, In the VisionSDK_UserGuide_TI_DeepLearning.pdf it mentioned that for the object detection usecase it is mentioned that 4 file are needed. o TIDL OD Network file (NET_OD.bin) o TIDL OD Parameter file (PRM_OD.bin) o TIDL OD Usecase input data file (inData_OD) o TIDL OD Usecase input header file (inHeader_OD) In case of semantic segmentation usecase 2 more files are needed i.e. TIDLCFG.TXT and Input file. I have few questions regarding these files: 1) Network file and Parameter file can be generated by the import tool from TIDL. How to generate the Usecase data input file and usecase input header file? 2) Is the usecase data input file generated from Input file? If yes, why both Input file and Usecase data input file are needed for semantic segmentation usecase? Thanks in advance, Navinprashath.R.R + +Responses: +Hi, From these links (https://e2e.ti.com/support/arm/automotive_processors/f/1021/t/660676 and https://e2e.ti.com/support/arm/automotive_processors/f/1021/p/639881/2391227#pi239031350filter=all&pi239031350scroll=false&pi239031350=2), I am able to found out that inData_OD and inHeader_OD can be generated with the help of ffmpeg. a)inData_OD generation >ffmpeg -i output.avi -y -c:v libx264 -vframes 50 inData_OD b)inHeader_OD generation >ffprobe -show_packets ./inData_OD >index.idx >PAT=size >sed -n "/$PAT/p" index.idx | cut -d' ' -f3 >> size_extracted.txt After this step, size_extracted.txt will contain size of the frames. Remove the string "size=" from each line in the file and save only the numbers in size_extracted_jelly.txt. >cat size_extracted_jelly.txt | perl -n -e 'printf("%08x\n",$_)' | sed 's/\(..\)\(..\)\(..\)\(..\)/0x\4\n0x\3\n0x\2\n0x\1/' | xxd -r -p > Size_test.bin && du -b Size_test.bin >cp Size_test.bin inHeader_OD + +Hi Navin, thanks for sharing your findings. Regards, Yordan + diff --git a/sample_embedding_folder2/0687657.txt b/sample_embedding_folder2/0687657.txt new file mode 100644 index 0000000000000000000000000000000000000000..2c0b7d5ea4aba3788a6c5ab602fd30c1988a2fd0 --- /dev/null +++ b/sample_embedding_folder2/0687657.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: Data flow of TIDL Object detect use case? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi OK, I see the pic. but it should be contained Lane Departure warning (LDW)、Vehicle Detection (VD)、Pedestrian, Bi-cyclist and Powered Two Wheeler Detection etc... Does't it ? but I doesn't see them in the flow. Can you tell me where they going? + +Responses: +No , This is object detect only , Lane Departure warning is not present. Only Vehicle Detect and Traffic sign is trained . Regards Chetan.M + diff --git a/sample_embedding_folder2/0687671.txt b/sample_embedding_folder2/0687671.txt new file mode 100644 index 0000000000000000000000000000000000000000..9d88cd13ccc7577b52c007c7e016a9aba7381b30 --- /dev/null +++ b/sample_embedding_folder2/0687671.txt @@ -0,0 +1,18 @@ +Ticket Name: CCS/TDA2: biasDmaAutoIncrement_DMA_in_Init Execution time anomaly + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio In my project, there were 5 places that used EDMA. I found an anomaly in one place. I find that the EDMA configuration function in this place has a lot of time to use 1MS, and I think it should be a very small time, where the function of the configuration function is not included in the functions that actually carry the data. static int32_t biasDmaAutoIncrement_conv3x3short_ti_multi_DMA_in_Init( uint8_t *dmaAutoContextInOut, short *inBufExt, short *inBufInt[2], int16_t in_width, int16_t in_height, int16_t width, int16_t height, int channels) { int32_t status = 1; EDMA_UTILS_autoIncrement_initParam_v2 initParamV2; initParamV2.pingPongOffset[0] = (uint32_t)inBufInt[1] - (uint32_t)inBufInt[0]; initParamV2.pingPongOffset[1] = initParamV2.pingPongOffset[0]; initParamV2.initParams.numInTransfers = 1; initParamV2.initParams.numOutTransfers = 0; //parameters for ping transfer from external to internal memory and vice versa initParamV2.initParams.transferType = EDMA_UTILS_TRANSFER_IN; //parameters for out transfer - ping initParamV2.initParams.transferProp[0].roiWidth = width * 2; initParamV2.initParams.transferProp[0].roiHeight = height * channels; initParamV2.initParams.transferProp[0].roiOffset = 0; initParamV2.initParams.transferProp[0].blkWidth = width * 2; initParamV2.initParams.transferProp[0].blkHeight = height; initParamV2.initParams.transferProp[0].blkOffset = 0; initParamV2.initParams.transferProp[0].extBlkIncrementX = 0; initParamV2.initParams.transferProp[0].extBlkIncrementY = height; initParamV2.initParams.transferProp[0].intBlkIncrementX = 0; initParamV2.initParams.transferProp[0].intBlkIncrementY = 0; initParamV2.initParams.transferProp[0].extMemPtrStride = width * 2; initParamV2.initParams.transferProp[0].interMemPtrStride = in_width * 2; initParamV2.initParams.transferProp[0].extMemPtr = (uint8_t *)(inBufExt); initParamV2.initParams.transferProp[0].interMemPtr = (uint8_t *)(inBufInt[0]); initParamV2.initParams.transferProp[0].dmaQueNo = 1; //configure EDMA for ping set both Ext -> Int and Int -> Ext EDMA_UTILS_autoIncrement_init_v2(dmaAutoContextInOut,&initParamV2); status = EDMA_UTILS_autoIncrement_configure_v2(dmaAutoContextInOut,EDMA_UTILS_TRANSFER_IN); return status; } unsigned long long WH_time[10]; double WH_cost[10]; TSCH = 0; TSCL = 0; WH_time[0] = _itoll(TSCH,TSCL); int status = biasDmaAutoIncrement_conv3x3short_ti_multi_DMA_in_Init( dmaAutoContextInOut, indata, pInBufInt, in_width, in_height, width, height, channels); WH_time[1] = _itoll(TSCH,TSCL); WH_cost[0] = (double)(WH_time[1] - WH_time[0]) / 1000000.0; printf("biasDmaAutoIncrement_conv3x3short_ti_multi_DMA_in_Init= %f ms\n",WH_cost[0]); + +Responses: +Hi Shuai, If I understood your question correctly, you mean biasDmaAutoIncrement_conv3x3short_ti_multi_DMA_in_Init function is taking 1ms of time. Looking at your code you are using _itoll(TSCH,TSCL) instruction to read the counters. These counters only gives you the cycles consumed and doesnt give you time directly. To measure the time you need to divide this number by the frequency at which the DSP core is running. Regards, Anshu + +Hi Shuai, I am hoping that this resolved your issue and hence I am closing this thread. You can revisit it if you have more question. Regards, Anshu + +HI Anshu C66 of TDA2X frequency is 500MHZ you mean actual time is like this ??? WH_time[1] = _itoll(TSCH,TSCL); WH_cost[0] = (double)(WH_time[1] - WH_time[0])*1000 / (1000000.0*500); printf("biasDmaAutoIncrement_conv3x3short_ti_multi_DMA_in_Init= %f ms\n",WH_cost[0]); shuai + +HI Anshu so biasDmaAutoIncrement_conv3x3short_ti_multi_DMA_in_Init function is taking 2ms of time , i think is too big ,i think it should be 0.01MS shuai + +Hi Shuai, Can you profile inside of the function to figure out which part is taking more time? Regards, Anshu + +Hi Shuai, Were you able to make progress in this issue? If yes kindly close this thread. Regards, Anshu + diff --git a/sample_embedding_folder2/0687732.txt b/sample_embedding_folder2/0687732.txt new file mode 100644 index 0000000000000000000000000000000000000000..633260445f0b6f8df0e8bb786316a21d9edbfd3b --- /dev/null +++ b/sample_embedding_folder2/0687732.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: [TDA / opencv / usecase modification] want to implement my code by modifying the opencvopencldilation usecase + +Query Text: +Part Number: TDA2 (vision SDK version : PROCESSOR_SDK_VISION_03_03_00_00) Hi I'm newbie of using TDA2x evb board and vision App board I'd like to implement my algorithm which is using openCV and implement it by modifying the sample usecase&alg_plugins ( vip_single_cam_opencvopencldilation / opencvopencldilation) [ Question ] I want to apply my alogirhtm code and display it to the monitor. Where the points that I should modify the code? I started modifying like below, however when I remove the "cv::dilate" code, it displays black image with processor usage. prior code modified code void* openclDilationThreadFunc(void* args) { while(1) { cv::Mat openCLDilationInputMat; cv::Mat openCLDilationOutputMat; cv::UMat openCLDilationInputUMat; cv::UMat openCLDilationOutputUMat; if(!gOpenCLDilationThreadStarted) { cv::ocl::setUseOpenCL(1); gOpenCLDilationThreadStarted = 1; } /* wait for the produce thread to point to the current input * and output buffers */ while(!g_cac) { usleep(1000); } pthread_mutex_lock(&gOpenCLDilationMtx); /* * \brief Compute using OpenCV */ openCLDilationInputMat = cv::cvarrToMat(gOpenCLDilationKernelArgs.inputImage, false); openCLDilationOutputMat = cv::cvarrToMat(gOpenCLDilationKernelArgs.outputImage, false); openCLDilationInputUMat = openCLDilationInputMat.getUMat(cv::ACCESS_RW); openCLDilationOutputUMat = openCLDilationOutputMat.getUMat(cv::ACCESS_RW); cv::dilate(openCLDilationInputUMat, openCLDilationOutputUMat, cv::Mat()); openCLDilationInputUMat.release(); openCLDilationOutputUMat.release(); openCLDilationInputMat.release(); openCLDilationOutputMat.release(); g_cac = 0; pthread_mutex_unlock(&gOpenCLDilationMtx); } pthread_exit(&gOpenCLDilationThreadRtn); return ((void*) 0); } void* openclDilationThreadFunc(void* args) { while(1) { cv::Mat openCLDilationInputMat; cv::Mat openCLDilationOutputMat; cv::UMat openCLDilationInputUMat; cv::UMat openCLDilationOutputUMat; if(!gOpenCLDilationThreadStarted) { cv::ocl::setUseOpenCL(1); gOpenCLDilationThreadStarted = 1; } /* wait for the produce thread to point to the current input * and output buffers */ while(!g_cac) { usleep(1000); } pthread_mutex_lock(&gOpenCLDilationMtx); /* * \brief Compute using OpenCV */ openCLDilationInputMat = cv::cvarrToMat(gOpenCLDilationKernelArgs.inputImage, false); openCLDilationOutputMat = cv::cvarrToMat(gOpenCLDilationKernelArgs.outputImage, false); openCLDilationInputUMat = openCLDilationInputMat.getUMat(cv::ACCESS_RW); openCLDilationOutputUMat = openCLDilationOutputMat.getUMat(cv::ACCESS_RW); openCLDilationOutputUMat = openCLDilationInputUMat; openCLDilationOutputMat = openCLDilationInputMat; openCLDilationInputUMat.release(); openCLDilationOutputUMat.release(); openCLDilationInputMat.release(); openCLDilationOutputMat.release(); g_cac = 0; pthread_mutex_unlock(&gOpenCLDilationMtx); } pthread_exit(&gOpenCLDilationThreadRtn); return ((void*) 0); } + +Responses: +Whats the image you were seeing before any change? + diff --git a/sample_embedding_folder2/0687751.txt b/sample_embedding_folder2/0687751.txt new file mode 100644 index 0000000000000000000000000000000000000000..0123f9738e7099a47891a0db9915e66901eb4c1c --- /dev/null +++ b/sample_embedding_folder2/0687751.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: System_linkControl_local function Question + +Query Text: +Part Number: TDA2 Hi, I am using PROCESSOR_SDK_VISION_03_02_00_00, and have some confusion on function of System_linkControl_local My question is why prmSize is never been used, how receiver know the parameter size. Second, i go through all low level function, did not see any memcpy, if pPrm is a stack address, how to send? Int32 System_linkControl_local(UInt32 linkId, UInt32 cmd, Void * pPrm, UInt32 prmSize, Bool waitAck) { Int32 status; Utils_MbxHndl *pToMbx; Utils_TskHndl *pTsk; UInt32 flags = 0; linkId = SYSTEM_GET_LINK_ID(linkId); UTILS_assert(linkId < SYSTEM_LINK_ID_MAX); pTsk = (Utils_TskHndl*) gSystem_objCommon.linkObj[linkId].pTsk; if(pTsk==NULL) { Vps_printf(" SYSTEM: ERROR: No link registered at link ID [%d] !!!\n", linkId); status = SYSTEM_LINK_STATUS_EFAIL; } else { pToMbx = &pTsk->mbx; if (waitAck) { flags = UTILS_MBX_FLAG_WAIT_ACK; } status = Utils_mbxSendMsg(&gSystem_objCommon.mbx, pToMbx, cmd, pPrm, flags); } return status; } Thank you in advance BR HUI + +Responses: +Hi HUI, Typically control command has fixed parameter and is known to sender and receiver. So no need to use param size. Are you facing some issue because of no use of prmsize? Rgds, Brijesh + +Hi Brijesh, Thank you for your reply. I try to use it for other purpose , just ask. BR HUI + diff --git a/sample_embedding_folder2/0687753.txt b/sample_embedding_folder2/0687753.txt new file mode 100644 index 0000000000000000000000000000000000000000..12e1ed760cf18caf784a483a97083f66d85b1398 --- /dev/null +++ b/sample_embedding_folder2/0687753.txt @@ -0,0 +1,24 @@ +Ticket Name: TDA2: does ti rtos provide standard socket interface like linux + +Query Text: +Part Number: TDA2 Hi, I am using TI Vision SDK PROCESSOR_SDK_VISION_03_02_00_00 does ti rtos provide standard socket interface like linux? BR HUI + +Responses: +Hi HUI, You will need to include NDK for socket support. There are already some utility function and socket being used in vision_sdk\links_fw\src\rtos\utils_common\src\network_api.c Rgds, Brijesh + +Hi Brijesh, I found this below configuration, # Supported values: ipu1_0 ipu1_1 ipu2 a15_0 none NDK_PROC_TO_USE=none my question is whether dsp support socket? if yes , how to enable it. And also i read vision_sdk\links_fw\src\rtos\utils_common\src\network_api.c it is tcp socket, does TI has udp socket, alternatively, does ti rtos support all socket interface like linux? Thank you in advance. BR HUI + +And also how to configure the ip address in rtos , in order to make socket work. My purpose is that A15 DSP IPU , each core has one ip , then communicate with each other through socket. Is it possible? + +Hi HUI, IP Address cannot be assigned to each core. It is assigned to ethernet ip. Also i think NDK is not supported in DSP. Btw, why do you want to use socket to communicate across cores? You could use IPC. There are IPC links in the vision sdk to communicate across different cores.. Rgds, Brijesh + +Hi Brijesh, I am struggling on link, based on business team, they do not want chain. Ex: there are three link in three different core, like A15, DSP , IPU. They want to send data to any core between each other at any time any place, similar to socket, if i have destination ip and port, i can send data to it rather than defining chain. I am trying to understand whether current sdk support it. Meanwhile, if each core has one ethernet ip, and also rtos support socket. I can easily do it. Please let me know your idea. Thank you. BR HUI + +Hi HUI, Even in Sockets, you need to connect port on each cores. This is similar, even in links, you could have link running on each core and communicate with any core. First i think you need to come up with your data flow, we could suggest/help in creating usecase. Rgds, Brijesh + +In udp socket, there is one function , sendto, if you know the destination ip and port , you can send. In receive side, just need bind to one udp port, then do recvfrom. I want the similar things in IPC. Business team did not share data flow, they said it is still in discussing. They give me an example, A B C three tasks in three cores , communicate with each other. they do not want to define any chain. They want to define three links ,then each link can talk with each other. Can current sdk support this process? + +Hi Brijesh, where can i find some documents to introduce the mechanism of System_ipcMsgQSendMsg ? How does different cores send msg to each other? It looks in A15 linux using rpmsg socket, and how about rtos (Notify_sendEvent)? Thank you in advance. BR Richard + +Hi Richard, we cannot use socked for this. We have support for NDK, but it can enabled only on one core and so cannot be used in this way. I think you could use shared memory and hard mail box to communicate across cores. This is what VSDK internally uses to communicate with different cores. Please have a look into System_ipcSendMessage API to understand how it works. Regards, Brijesh + diff --git a/sample_embedding_folder2/0687766.txt b/sample_embedding_folder2/0687766.txt new file mode 100644 index 0000000000000000000000000000000000000000..3e0a004991454baab2ee5431cec84e5252681274 --- /dev/null +++ b/sample_embedding_folder2/0687766.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: modifying demo usecase of visionSDK (ver 3.3) + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, I'm trying to implement my application into the TDA2x by using demo application Since my application uses openCV, I will use vip_single_cam_opencvopencldilation usecase. When using demo application, what variables or structure and which function should I refer ? - I want to crop the input image frame - I want to apply my image processing algorithm to the cropped image - I want to display the result image frame I tried it for a week........ but I failed ...... please help me + +Responses: +Hi please note that OpenCV in Vision SDK is a preliminary release with limited features and testing (Alpha Quality). It does not have the functions/features you are looking for. So I suggest you to use native VSDK links and chain architecture and not OpenCV . All the features you listed above can be supported with native VSDK links and chain architecture regards, Shiju + diff --git a/sample_embedding_folder2/0687784.txt b/sample_embedding_folder2/0687784.txt new file mode 100644 index 0000000000000000000000000000000000000000..9513ad6aeb0dcd2db323b35a0cfff6a2e408ec05 --- /dev/null +++ b/sample_embedding_folder2/0687784.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Network_RX dumping mjpeg files from network usecase + +Query Text: +Part Number: TDA2 Hey, I have set up the capture_encode_network_rx usecase on the TDA2. All the captured frames are written into a file. I am able to open the written file with VLC but then I get only a single frame. According to the network documentation the network_rx command saves the data as mjpeg, thus I should be able to play it as a video when converting to avi or something. This does not seem to work though. How can I run that file seeing the captured video? best regards, nico + +Responses: +Hi Nicolas, Try playing with ffmpeg player Regards Surya + diff --git a/sample_embedding_folder2/0687812.txt b/sample_embedding_folder2/0687812.txt new file mode 100644 index 0000000000000000000000000000000000000000..6cca2c3d9339bae15e7d113acbbecd4486fb4f13 --- /dev/null +++ b/sample_embedding_folder2/0687812.txt @@ -0,0 +1,16 @@ +Ticket Name: DRA746: Boundary Scan test + +Query Text: +Part Number: DRA746 Other Parts Discussed in Thread: TDA2 Dear Sir, We're trying to run the boundary scan test on the board that is using DRA746 and DDR3 (MT41K256M16). We're using the bsdl file "vayu.23x23.bsdl". The ID of the DRA746 can be recognized properly but when testing the interconnect test and the memory test by IEEE1149.1. All the nets of the DDR3 interface has been sensed as "0". Are there any setting that will impact this? Please help to reply. Thanks, Pricilla + +Responses: +Pricilla, I am not aware of existing occurrences of DDR1 nets resting at 0 during bscan testing. Are DDR1 nets the only ones whose values were not sensed correctly? Can you help provide a sequence of how your tests were executed, including all the test instructions used? Moreover, please double check in the BSDL file header that the chip revision matches the chip you are using. Best Regards, Shiou Mei + +Hi Pricilla, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Yordan + +Dear Shiou Mei, The bsdl file that we use is TDA2x_bsdl_23mm.bsdl and the IC part name is TDA2SGBRQABCRQ1 PBGA2.0. Is it the correct one? The DDR3 and Nor Flash still can't test properly. We aware that it is mentioned that "Device security features\JTAG® lock" in the TDA2 datasheet, but there is no detailed info. for it. Is it possible that this feature has been enabled? or any suggestions for boundary scan test ? Thanks, Pricilla ---------------------------------------------------------------------- -- TDA2x Boundary Scan ---------------------------------------------------------------------- -- Supported Devices: TDA2x Revision 1.0 -- -- Derived from parent device BSDL file -- -- Does NOT apply to TDA2Ex -- ---------------------------------------------------------------------- -- Created by : Texas Instruments Incorporated -- -- BSDL Revision : 1.1 -- -- -- -- BSDL Status : Preliminary -- -- Package : 23x23 -- -- Date Created : 03 September 2013 -- -- -- ---------------------------------------------------------------------- + +Pricilla, I tested BSDL with a TDA2x PG2.0 reference unit on my bench and was not able to reproduce the issue. Can you help provide more information on your fail mode: Is result reproducible on multiple units? What are all the nets with improper values (i.e. address, data, etc)? Can you help provide a sequence of how your tests were executed, including all the test instructions used? Thanks & Regards, Shiou Mei (pending Manoj feedback) + +Hi Pricilla, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Yordan + diff --git a/sample_embedding_folder2/0687877.txt b/sample_embedding_folder2/0687877.txt new file mode 100644 index 0000000000000000000000000000000000000000..e46947081c1de8b1a86effef6a036c053ed5f002 --- /dev/null +++ b/sample_embedding_folder2/0687877.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: Can we use our model by GoogleNet + Yolo V3? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Our model target is doing GoogleNet + Yolo V3, so we need TI to help us clarify the following questions. Current SDK v3.03 is using SSD model, is there any possible to replace SSD in TIDL module, for example, Yolo V3 (You Only Look Once: Unified, Real-Time Object Detection, CVPR 2016) If yes, we can replace SSD by our own model Fig.1 is TI TDA2 architecture what we supposed and the yellow block is our customized model. Q1: if TI architecture is not like above diagram, can you provide your architecture for our reference? Fig.1 Q2: How can we implement our model into TI TDA2? For TIDL input and output, can you point me two issues solution. l We need to know Input BGR input file format and seg_out.bin output file format l We need API function such as CUDA level in TI platform for hardware accelerate. 2.If not, we can NOT replace SSD by our own model and both issues of Q2 cannot be resolved Q3: when does TI platform will release Yolo algorithm? If not, how can we build our Yolo library module in TI platform? Q4: how can we apply other (Squeezent、Googlenet、Mobilent) in TI platform, any other example. If possible, can we apply yolo+(google net or VGG) in TI platform? + +Responses: +Refer "3.7 Input and Output Data Formats" in user guide for input and output format. Input in our use case is BGR planar. it could different in another use case. Refer Below for seg_out.bin output file format e2e.ti.com/.../685817 Regarding Object detection, We support only caffe-based SSD for complete object detection (Image to Bound boxes). Yolo is not supported and not planned. You can train Yolo based object detection network (Yolo+Squeezenet or googlenet or mobile net) using caffe / caffe-jacinto and run all the layers on TIDL except the last layer which can be executed later on DSP/EVE as a C function (Detections to Bounding boxes). Refer data sheet for supported layers. We don't provide CUDA like interface for CNN acceleration. With TIDL you run a CNN network (Series of layers, could be a portion a big CNN network) on TI device. Thanks and Regards, Kumar.D + diff --git a/sample_embedding_folder2/0688447.txt b/sample_embedding_folder2/0688447.txt new file mode 100644 index 0000000000000000000000000000000000000000..d8f114cdd25c6698f6bcd69fc3dc8c020f69f3a1 --- /dev/null +++ b/sample_embedding_folder2/0688447.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2: Linking Error. the usecase with a OpenCV alg_plugin + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, all Refer to vip_single_cam_opencvcanny_sgx_display, I write a usecase with a OpenCV alg_plugin. I got some error in Linking. it looks like something invoked opencl, but I do not enable opencl in cfg.mk. how can I locate the problem? best regards, John ----------------------------------------------------------------- cfg.mk # # Enable below macro to enable OPENVX into Vision SDK # OPENVX_INCLUDE=yes CIO_REDIRECT=yes HS_DEVICE=no DEFAULT_UBOOT_CONFIG := dra7xx_evm_vision_config DEFAULT_KERNEL_CONFIG := omap2plus_defconfig # For TDA2x DEFAULT_DTB := dra7-evm-infoadas.dtb # add by John # Enable macro for OpenCV ENABLE_OPENCV=yes CMEM_INCLUDE=yes BUILD_OPENCV_SRC=no BUILD_LLVM=no ----------------------------------------------------------------- Err info: open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_core.a(ocl.cpp.o): In function `int cv::ocl::getStringInfo(int (*)(_cl_device_id*, unsigned int, unsigned int, void*, unsigned int*), _cl_device_id*, unsigned int, std::__cxx11::basic_string, std::allocator >&) [clone .constprop.320]': ocl.cpp:(.text._ZN2cv3ocl13getStringInfoIPFiP13_cl_device_idjjPvPjES3_EEiT_T0_jRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.constprop.320[_ZN2cv3ocl7Context4Impl10setDefaultEv]+0x26): undefined reference to `clGetPlatformInfo' ocl.cpp:(.text._ZN2cv3ocl13getStringInfoIPFiP13_cl_device_idjjPvPjES3_EEiT_T0_jRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.constprop.320[_ZN2cv3ocl7Context4Impl10setDefaultEv]+0x5e): undefined reference to `clGetPlatformInfo' /opt/proj/e0800/apa_r04/bsw/platform/ti/open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_core.a(ocl.cpp.o): In function `cv::ocl::OpenCLBufferPoolBaseImpl::freeAllReservedBuffers()': ocl.cpp:(.text._ZN2cv3ocl24OpenCLBufferPoolBaseImplINS0_20OpenCLBufferPoolImplENS0_13CLBufferEntryEP7_cl_memE22freeAllReservedBuffersEv[_ZN2cv3ocl24OpenCLBufferPoolBaseImplINS0_20OpenCLBufferPoolImplENS0_13CLBufferEntryEP7_cl_memE22freeAllReservedBuffersEv]+0x4a): undefined reference to `clReleaseMemObject' + +Responses: +Hi John, Could you please share some more details like which release version of SDK you are using ? Also to build Linux opencv app, refer tda2xx_evm_linux_opencx config (all required configs are already enabled) Regards Suryamani Jena + +Hi Suryamani, Thanks, The version of SDK is PROCESSOR_SDK_VISION_03_00_00_00. The config refer to tda2xx_evm_linux_all. and I tried tda2xx_evm_linux_opencx. Regards, John + +Hi Suryamani, another question, there are some info about IPU2( in cfg.mk) "IPU1 (core 0 & 1 are) not supported when IPU_PRIMARY_CORE=ipu2" Is that meaning ,if IPU_PRIMARY_CORE= ipu2, PROC_IPU1_0_INCLUDE=yes is conflict with PROC_IPU2_INCLUDE=yes? But in the srv usecase(Linux), IPU1_0 is used to capture and display. Why? Regards, John + +Hi John we have used only on IPU subsystem when Linux is running on A15. it can be either IPU1 (with IPU1-0 & IPu1-1) or IPU2 (with IPU2-0 & IPu2-1) in SMP mode. when you select IPU_PRIMARY_CORE= ipu2, all capture, display etc. are run on IPU2. This mapping from IPU1 to IPU2 is done inside VSDK regards, Shiju + diff --git a/sample_embedding_folder2/0688490.txt b/sample_embedding_folder2/0688490.txt new file mode 100644 index 0000000000000000000000000000000000000000..d88aeefde7796bbf1ee89164685e21853502042e --- /dev/null +++ b/sample_embedding_folder2/0688490.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: Running a different model using TIDL_OD usecase + +Query Text: +Part Number: TDA2 Hi, I am trying run our model using TIDL_OD usecase. I have generated inHeader_OD,inData_OD, NET_OD.BIN and PRM_OD.BIN for our network and copied to the SD card.The model is not yet trained completely. The network takes input of size 512x512. In the chains_tidlOD.c I have modified some parameters as follows. #define TIDL_OD_INPUT_WIDTH (512) #define TIDL_OD_INPUT_HEIGHT (512) #define DEC_OUT_WIDTH (512) #define DEC_OUT_HEIGHT (512) For display resolution, I am maintaining the same as for default model 768x320(scaled by 2 for display). #define TIDL_OD_DISPLAY_WIDTH (1536) #define TIDL_OD_DISPLAY_HEIGHT (640) When I run the model, there are no errors, but the video is black. Even if the model contains dummy parameters, I believe we should be able to see the input video(with wrong or no detection boxes). Am I right? Do any more parameters need to be set? Thanks in advance, Navinprashath.R.R + +Responses: +Hi Navin, you are correct you should see something on the video , Can you run print statics "p" options and share the logs , You need to find where the frames are dropped . Regards Chetan.M + +Hi Chethan, Please find the teraterm logs and the inHeader_OD.(Renamed to inHeader_OD.123 for sharing). Regards, Navinprashath.R.R inHeader_OD.123 1884.teraterm.log + +Hi NavinPrashant, Can you reduce the READ fps to 5 and try , looks the frames are dropped in processing . Also change the threshold according to the performance Regards Chetan.M + diff --git a/sample_embedding_folder2/0688528.txt b/sample_embedding_folder2/0688528.txt new file mode 100644 index 0000000000000000000000000000000000000000..ddd41d7e67add5ab903f2e084a610f86f4eddd85 --- /dev/null +++ b/sample_embedding_folder2/0688528.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2: why Utils_DmaCopy1D work not ok + +Query Text: +Part Number: TDA2 HI: I want to use mem copy with dma ,use function Utils_dmaCopy1D,but I find the dest memory is not work ok. the data is always 0. ( dma callback can be work,but the data is not right); how can i let it work right with Utils_DmaCopy1D. THANK YOU! the code as follow below: void dma_memtest() { Utils_DmaChCreateParams dmaChPrm; Utils_DmaChObj dmaobj; Utils_DmaCopy1D dmaParams; Int32 status; dmaChPrm.eventQ = 0; Utils_DmaChCreateParams_Init(&dmaChPrm); status = Utils_dmaCreateCh( &dmaobj, &dmaChPrm ); UTILS_assert(status == SYSTEM_LINK_STATUS_SOK); gspidestBUf = Utils_memAlloc ( UTILS_HEAPID_DDR_CACHED_SR, 1024, 4 ); gspisrcBUf = Utils_memAlloc ( UTILS_HEAPID_DDR_CACHED_SR, 1024, 4 ); memset(gspisrcBUf,0x77,300); dmaParams.destAddr = gspidestBUf; dmaParamsrcAddr =(Ptr)gspisrcBUf;//(Ptr)0x4809a13C; dmaParams.length =32; Utils_dmaCopy1D(&dmaobj, &dmaParams); Utils_dmaDeleteCh(&dmaobj); HexToStr(tmp,gspisrcBUf,32); Vps_printf("\r\nsrc:"); Vps_printf((const char*)tmp); Vps_printf("\r\n"); HexToStr(tmp,gspidestBUf,32); Vps_printf("\r\ndst:"); Vps_printf((const char*)tmp); Vps_printf("\r\n"); } + +Responses: +Hi , Can you disable cache and try this out , i.e alloc the buffer from non cached region . Regards Chetan.M + +thank you! i try it! I have a question as follow: when i use edma ,cpu can access memory until edma complete?or it can work during this time? + +Hi , Yes CPU can access memory but not advisable to write to the same memory which dma is been performed . Cpu is not blocked till dma complete . Regards Chetan.M + +thank you! it is mean cpu can write if i write the different memory when edma is not complete? and the last your reply means cpu is blocked? but if cpu is blocked,how it can access memory.or you means cpu is not blocked?i think cpu may not blocked your mean. + +Cpu is not blocked till dma complete i mentioned NOT Blocked Regards Chetan.M + diff --git a/sample_embedding_folder2/0688587.txt b/sample_embedding_folder2/0688587.txt new file mode 100644 index 0000000000000000000000000000000000000000..7ab00943c9e4ab23977ef724ab03209aea00308b --- /dev/null +++ b/sample_embedding_folder2/0688587.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS / TDA2: How to run TIDL_OD usecase? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, I try to run TIDL_OD usecase but I got fail Can you tell anything to me? How do I do? Can you provide guide for our reference? + +Responses: +VisionSDK_UserGuide_TI_DeepLearning.pdf describes the section 5 Build and Run TIDL Object detect use case Before running the Vision SDK binary,  Make sure the following files are present in the MMC/SD card: o TIDL OD Network file (NET_OD.bin) o TIDL OD Parameter file (PRM_OD.bin) o TIDL OD Usecase input data file (inData_OD) o TIDL OD Usecase input header file (inHeader_OD) The error is seen as the files are not copied into SD card . Please copy the input files and rerun the usecase . Regards Chetan.M + +Allen, Are you able to test with the given changes , If not please mention what is the error you are facing. Regards Chetan.M + +Oh ,thanks I can run the TIDL_OD use case. but, Can we use the frame by camera capture for input data in TIDL_OD use case? If yes, How do I do? Can you provide any guide for our reference? If no I want to run TIDL_OD Demo with OV Sensors. How can I to do this? + +Hi Allen , Please close this thread and start another thread for running TIDL on live camera, You can always modify the use-case to remove the null src and have capture source and set the params accordingly I am not sure how to train the model and other details Regards Chetan.M + diff --git a/sample_embedding_folder2/0688624.txt b/sample_embedding_folder2/0688624.txt new file mode 100644 index 0000000000000000000000000000000000000000..36db7392960e3f265085f8ba073e5bc279bcb0aa --- /dev/null +++ b/sample_embedding_folder2/0688624.txt @@ -0,0 +1,28 @@ +Ticket Name: TDA2: Running caffe-jacinto object detection using Vision SDK 3.03 TIDL_OD usecase + +Query Text: +Part Number: TDA2 Hi, I am trying to run the caffe jacinto object detection usecase from github on TDA2X, using TIDL_OD usecase in Vision_SDK_03_03_00_00. I have generated the NET.BIN and PRM.BIN using the import tool in TIDL. Created inHeader_OD and inData_OD for resolution 512x512(verified by running another model which takes same input resolution) and copied these four files to SD card. In the chains_tidlOD.c I have modified some parameters as follows. #define TIDL_OD_INPUT_WIDTH (512) #define TIDL_OD_INPUT_HEIGHT (512) #define DEC_OUT_WIDTH (512) #define DEC_OUT_HEIGHT (512) For display resolution, I am maintaining the same as for default model 768x320(scaled by 2 for display). #define TIDL_OD_DISPLAY_WIDTH (1536) #define TIDL_OD_DISPLAY_HEIGHT (640) #define TIDL_OD_FPS_OPPNOM (1) #define SYNC_THRESHOLD (12000) When I run the usecase I am getting no errors. The video stream is black. I have faced similar issue before as in https://e2e.ti.com/support/arm/automotive_processors/f/1021/t/688490 By reducing the FPS, I was able to get it working. Now I have reduced the FPS to minimum, and tried initial model as well as sparse model. During import, total GMACS is shown as 3.36 GMACS. Is it because of the high GMACS the model is not able to run? Thanks in advance, Navinprashath.R.R + +Responses: +Hi Navin, Inside the deploy.prototxt, Did you set the "keep_top_k" parameter to 20 , and "confidence_threshold" to 0.15? It seems that these two parameters influence the real time MAC and the performance. Best Regards, Eric Lai + +Hi Eric, Thanks for the inputs. After setting "keep_top_k" to 20 and "confidence threshold" to 0.15, I am able to run both the initial and sparse model at 3fps. When I tried to change the FPS of sparse model to 6, again there is no stream(doesn't work for 5fps also). In the caffe jacinto github, it is mentioned that sparse model achieves 2.5x speedup, so I thought sparse model should run at least 2x as initial model. Kindly let me know your inputs on this. Regards, Navinprashath.R.R + +Hi Navin, Please refer to this thread: e2e.ti.com/support/arm/automotive_processors/f/1021/t/681674 The 512x512 model from the caffe-jacinto should run faster than 10 fps. I hope this helps you. Best Regards, Eric Lai + +Hi Eric, Thanks for the link. I saw this thread earlier. When running in FILE IO Mode, either EVE or DSP is selected (Also in TIDL OD usecase the whole model is configured to run only on 4 EVE cores). So how these changes on setting layersGroupId for extra layers will take effect? Do these layers run on DSP, when layersGroupid configured as 2 irrespective of EVE or DSP being selected in usecase? Regards, Navinprashath.R.R + +Hi Navin, I am not sure I am correct. I read some of the TIDL source. Most of the layer implemented by TI can run both on the EVE and DSP. But the performance may be very different. For example, the floating point operation should run on DSP for better performance. So yes for OD usecase , if you set the layergroup to 2,it will run on the DSP. (i think the layer group parameter may stored in the NET.BIN and in the usecase it will connected to the TIDL library and run on specific core) If there is any mistake , please correct me. Best Regards, Eric Lai + +Hi Eric, Thanks for the inputs. For which usecase did you get 10 fps,Object detection using FILEIO usecase or TIDL OD usecase? Regards, Navinprashath.R.R + +Hi Navin, I run the OD usecase with the caffe-jacinto 512x512 model. Best Regards, Eric Lai + +Hi Eric, I replaced layersGroupId and conv2Dkerneltype with the one shared on the thread you have shared. But I'm getting error when importing. The import tool crashes. Here is my import file: # Default - 0 randParams = 0 # 0: Caffe, 1: TensorFlow, Default - 0 modelType = 0 # 0: Fixed quantization By tarininng Framework, 1: Dyanamic quantization by TIDL, Default - 1 quantizationStyle = 1 # quantRoundAdd/100 will be added while rounding to integer, Default - 50 quantRoundAdd = 25 numParamBits = 8 # 0 : 8bit Unsigned, 1 : 8bit Signed Default - 1 inElementType = 0 inputNetFile = "..\..\test\testvecs\config\caffe_jacinto_models\trained\object_detection\voc0712\JDetNet\sparse\deploy.prototxt inputParamsFile = "..\..\test\testvecs\config\caffe_jacinto_models\trained\object_detection\voc0712\JDetNet\sparse\voc0712_ssd.caffemodel" outputNetFile = "..\..\test\testvecs\config\tidl_models\sparse\NET_OD.BIN" outputParamsFile = "..\..\test\testvecs\config\tidl_models\sparse\PRM_OD.BIN" rawSampleInData = 1 preProcType = 4 sampleInData = "..\..\test\testvecs\input\tsr_512_512.y" tidlStatsTool = "..\quantStatsTool\eve_test_dl_algo.out.exe" layersGroupId = 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 2 2 2 0 conv2dKernelType = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Regards, Navinprashath.R.R + +Hi Navin, How it crash? I think you should ask TI expert about this part. Maybe the number of class is too many? For me, my model is to detect 4 classes. and the import is okay. How about just replace the layersGroupId and conv2dKernelType with your own model? Best Regards, Eric Lai + +Hi Eric Lai, Thanks for your help here.. Regards, Praveen + +Hi Navin, Please refer to this new post explains the steps to run TIDL OD use case in VSDK. e2e.ti.com/.../689617 If you still see issues in running OD use case please post here Thanks, Praveen + diff --git a/sample_embedding_folder2/0688868.txt b/sample_embedding_folder2/0688868.txt new file mode 100644 index 0000000000000000000000000000000000000000..30a385ecc8071d8eec8cb180ba0946eb4f15cb9e --- /dev/null +++ b/sample_embedding_folder2/0688868.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: whether TI has plan to do ASIL-B qualification of any TDA2/3 + +Query Text: +Part Number: TDA2 Whether TI has plan to do ASIL-B qualification of any TDA2/3? TI only mention that it pass the ISO26262 standard but not mention ASIL-B. Thanks. + +Responses: +Hi Terry, please check it this can help you: e2e.ti.com/.../2189966 e2e.ti.com/.../2129037 Regards, Yordan + +Hi Terry, I haven't heard back from you, I'm hope your query is resolved. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Yordan + diff --git a/sample_embedding_folder2/0688936.txt b/sample_embedding_folder2/0688936.txt new file mode 100644 index 0000000000000000000000000000000000000000..28477e92aca4eab258616eb5045dc8cbc02c3360 --- /dev/null +++ b/sample_embedding_folder2/0688936.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: DDR DQ signal swapping rules + +Query Text: +Part Number: TDA2 In the DDR2/DDR3 interface design, can we swap DQs with in the same byte? is there any rules on this? such as dq0 swapped with dq3 dq2 with dq7, etc Thanks Jianming + +Responses: +Hi, Yes, it is okay to swap DQ bits within the same byte on the TDA2x DDR2/DDR3 interface. The only rule for DQ bit swapping on the TDA2x DDR2/DDR3 interface is that the DQ bits must be routed with their associated strobe (DQS) and mask (DM). (i.e, all signals within a byte of the TDA2x must be routed to the same byte of the DDR2/3 memory). Best regards, Kevin + diff --git a/sample_embedding_folder2/0688944.txt b/sample_embedding_folder2/0688944.txt new file mode 100644 index 0000000000000000000000000000000000000000..cf64ceafbc32a9f374dcf9b6e748d1135c5f4fe2 --- /dev/null +++ b/sample_embedding_folder2/0688944.txt @@ -0,0 +1,14 @@ +Ticket Name: Compiler/TDA2: Fail to linking openCV file (objdetect) + +Query Text: +Part Number: TDA2 Tool/software: TI C/C++ Compiler Hi experts, I'm trying to implement application code that is using openCV However, when I try to compile it, linking error occurs ( undefined reference error ) I checked header file declaration and it exists in proper directory It seems that using has a problem. Using and works well... Please help me.. application.cpp--------------------------------------------------------------------------------------------------------------------------------------- .. #include "DMS_Algo_Typedef.h" ... void* openclDilationThreadFunc(void* args) { sDMS *DMS = new sDMS; .... } DMS_Algo_Typedef.h------------------------------------------------------------------------------------------------------------------------------- typedef struct sFaceDetector { sParam_faceDetector param_init; sParam_faceDetector param; cv::Rect faceROI; cv::Mat faceRoiImage; cv::CascadeClassifier classifier; cv::Rect face; unsigned char fFaceDetect; } sFaceDetector; ... typedef struct sDMS { // Face detection sFaceDetector faceDetector; // Eye detection sEyeDetector eyeDetector; // Object management sGlobalObject objects; // Image cv::Mat inputFrame; cv::Size imgSize; // State unsigned char detectState; } sDMS; + +Responses: +Are you using BIOS/Linux? + +I'm using BIOS ~! + +Hi Please refer ti_components\open_compute\opencv\opencv-3.1.0\docs\vayu_arm_bios_opencv_test_report.xlsx and use the modules which are listed in this report as pass and verified. Object detect module is not listed in this and hence has not verified so you should avoid using these. Thanks, Pramod + +I should modify my code. Thanks a lot ! + diff --git a/sample_embedding_folder2/0689034.txt b/sample_embedding_folder2/0689034.txt new file mode 100644 index 0000000000000000000000000000000000000000..3d9728af7d31837d53c2b2007408a361a8241a5c --- /dev/null +++ b/sample_embedding_folder2/0689034.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: HDMI connect detected + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: TPD12S016 Tool/software: Linux Hi Expert, I'm running Linux Vision SDK v03.02.00(4.4.84) on the custom PCBA. TDA2 can do HDMI or LCD1 output. Need to add a mechanism to judge whether there is connection to HDMI. If there is a connection then HDMI output. If not, switch to LCD display. Is it GPIO to read the TPD12S016 "HDMI_HPD_A" state? Or are there other ways to tell if HDMI is connected? Thanks in advance. + +Responses: +Hi, Yes, you can read GPIO to find out HDMI connected state. In linux driver, we follow this sequence write 1 to HDMI_CT_HPD sleep 500 microseconds read HDMI_HPD write 0 to HDMI_CT_HPD But I think you can skip steps 1, 2 and 4 Regards, Subhajit + diff --git a/sample_embedding_folder2/0689086.txt b/sample_embedding_folder2/0689086.txt new file mode 100644 index 0000000000000000000000000000000000000000..894740f0a044c0c0727df17ac92c4f20253617ee --- /dev/null +++ b/sample_embedding_folder2/0689086.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: Does visionSDK support ????? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, I'm trying to compile the code which is using the cascadeClassifier in . However when refering to .structure or whatever it is in, the compile error occurs So, my question is Does visionSDK support ????? + +Responses: +duplicate question. refer to post with subject Compiler/TDA2: Fail to linking openCV file (objdetect) e2e.ti.com/.../688944 Thanks, Pramod + diff --git a/sample_embedding_folder2/0689655.txt b/sample_embedding_folder2/0689655.txt new file mode 100644 index 0000000000000000000000000000000000000000..4a0139f057a2a26286d23410e232b44e00879770 --- /dev/null +++ b/sample_embedding_folder2/0689655.txt @@ -0,0 +1,32 @@ +Ticket Name: RTOS/TDA2: How to create an use case? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS I want create our use case contained Lane Departure warning (LDW)、 Traffic Sign Detection and Recognition (TSR) using TIDL algorithm、 FCW and PDW using TIDL algorithm and SFM algorithm The EUNCAP use case is contained LDW、TSR、FCW、PDW but not using caffe-jacinto based SSD Network. Now we want to create an use case is contained LDW、TSR、FCW、PDW and using caffe-jacinto based SSD Network. Q1: Fig.1 is an TI’s use case is contained LDW、TSR、FCW、PDW and using caffe-jacinto based SSD Network what we supposed If TI’s architecture is not like above diagram, can you provide your architecture for our reference? Fig. 1 Q2: Fig. 2 is our use case contained LDW、TSR、FCW、PDW and using caffe-jacinto based SSD Network what we supposed on TDA2. Q2-1: How can we implement our use case? Q2-2: Is the hardware settings(A15、DSP、EVE…) above diagram right? If not, can you tell us where is wrong and what hardware setting you prefer? Fig. 2 Q2-3: Can we replace the algorithm like Lane Detect algorithm and TIDL_OD algorithm by our customized algorithm? If yes, how do we do? Can you provide guide for our reference? Are there any Limit conditions? If no, how can we use TI’s algorithm library? Can you provide open source code and design guide for our reference? Q2-4: Can we detect distance of an object from TIDL_OD algorithm by SFM algorithm? If yes, how do we do? Can you provide guide for our reference? If no, is any method to detect the distance of an object from TIDL_OD algorithm? Q2-5: How can we show what kinds of traffic signs were detected by TIDL_OD algorithm on HDMI monitor? It look only box drawing If yes, how do we do? Can you provide guide for our reference? If no, anything method to show what kinds of traffic signs were detected by TIDL_OD algorithm on HDMI monitor? + +Responses: +Has any update? We have not received a response for two days + +Hello we need a bit more time to respond as it contains a lot for questions. I will respond by early next week regards, Shiju + +Hi Have any update? + +Hello, I guess you are using vision SDK 3.3 release, If not, please download the same from ti.com ( www.ti.com/.../processor-sdk-vision) and use it. We do have an object detect UC using TIDL supported in this release. Q1: Fig.1 is an TI’s use case is contained LDW、TSR、FCW、PDW and using caffe-jacinto based SSD Network what we supposed TI The EUNCAP use case under \vision_sdk\apps\src\rtos\usecases\vip_single_cam_analytics2 is not based on caffe-jacinto based SSD Network. Q2: Fig. 2 is our use case contained LDW、TSR、FCW、PDW and using caffe-jacinto based SSD Network what we supposed on TDA2. Q2-1: How can we implement our use case? TI object detect UC using TIDL (using caffe-jacinto based SSD Network ) is under \vision_sdk\apps\src\rtos\usecases\tidl_OD. Please refer the same to implement your UC Please refer below doc to – build and run TIDL UCs \vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_UserGuide_TI_DeepLearning.pdf Q2-2: Is the hardware settings(A15、DSP、EVE…) above diagram right? It’s purely depends on the Algos and where it run (DSP/EVE/A15) Q2-3: Can we replace the algorithm like Lane Detect algorithm and TIDL_OD algorithm by our customized algorithm? Yes, you can. You may need to modify the Algi plugin of respective Algos to properly work with your Algorithms (if any interface changes etc.) Q2-4: Can we detect distance of an object from TIDL_OD algorithm by SFM algorithm? Yes, SFM can be used to calculate the distance between object and the camera Q2-5: How can we show what kinds of traffic signs were detected by TIDL_OD algorithm on HDMI monitor? It look only box drawing Please run the TI OB demo to check this Regards, Shiju + +Kumar Please add your comments as required? regards, Shiju + +Hi Q2-1 I try create an new UC same as TIDL_OD UC,but it does not show the distance How do we do that can calculate the distance between object and the camera? Q2-3 Does it has any guide for us to how replace the algorithm like Lane Detect algorithm? Q2-4 How do we using SFM algorithm that can calculate the distance between object of TIDL_OD and the camera? Have any user guide? BR Allen + +Hi Q2-3 we do not have any documentation on how to replace the algorithm but you can refer the below section of VisionSDK_DevelopmentGuide.pdf (under \vision_sdk\docs\FeatureSpecificUserGuides) 4 Algorithm Link Development ...................................................................... Kumar, can you answer this one Q2-4 How do we using SFM algorithm that can calculate the distance between object of TIDL_OD and the camera? regards, Shiju + +Hi Kumar, can you answer this question? Q2-4 How do we using SFM algorithm that can calculate the distance between object of TIDL_OD and the camera? BR Allen + +Hi Allen, We do not have the SFM algorithm integrated with TIDL_OD in the demo. The current demo is SSD based object detection only. Thanks and Regards, Kumar.D + +Hi Kumar, well. But can we create an new use case have the SFM algorithm integrated with TIDL_OD? if yes, how to implement this use case? BR Allen + +Yes. You can implement this. Please work with your sofware architect to design the data flow. Refer the VSDK documents o create uses cases with multiple algorithms. If you have any specific question on any software coment in VSDKI , start a new thred with detaisled desrciption on the issue + +Well, we are also interesting in this question. How about the progress for this question? + +Since there is no reposne for longtime, closing the thread + diff --git a/sample_embedding_folder2/0689940.txt b/sample_embedding_folder2/0689940.txt new file mode 100644 index 0000000000000000000000000000000000000000..b28411858c7e53e472adfabfcf3a2d0656cce830 --- /dev/null +++ b/sample_embedding_folder2/0689940.txt @@ -0,0 +1,32 @@ +Ticket Name: TDA2: The same algorithm runs slower on the DSP(c66x) of TDA2X than on the DSP(c674x) of DM8148 + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: SYSBIOS Hi We have two self-designed boards, one using DM8148 (DSP is C674X) and the other using TDA2X (DSP is C66X). We run the same algorithm on the two board's DSP, and find C674X faster than C66X. Both of the two bord DDR frequency are 533 and the DSP frequency are 750. We use the sam compiler option -c -qq -pdsw225 -mv6600 --abi=elfabi -mo -eo.oe66 -ea.se66 -ms --embed_inline_assembly --symdebug:dwarf -O3 --keep_asm. What is the reason for this? here is our testing code: #define MAXV(a,b)((a>b)?(a):(b)) #define MINV(a,b)((a cookie = Hwi_disable(); < Critical Section > Hwi_restore(cookie); Thanks and Regards, Piyali + +Hi Piyali Goswami Thank your for your help,we disallow interrupts/task switches but the test result is still the same.We run the same algorithm on C6678,1GHZ -O3 optimize ,code in L2, data in L3 RAM and the algorithm consumes 12.6ms. But the same algorithm runs on dm8148's dsp which is 750MHZ it only consumes 14ms.It shows that the c674x has better proformance than c66x if running on the same frequence. Coud you give us some advise on how to get the reason for this? Is there something wrong with my config? Below is our test record: 1 [C6678, 1000MHZ,-O3,code L2 RAM,data L3 RAM]: 12.6ms 2 [TDA2X-C66x,750MHZ,-O3,code L2 RAM,data DDR-533MHZ]: 17.5ms 3 [TDA2X-C66x,600MHZ,-O3,code L2 RAM,data DDR-533MHZ]: 21.8ms 4 [DM8148-C674X,750MHZ,-O3,code DDR-533MHZ,data DDR-533MHZ]:14ms Thanks and Regards, Liuke + +Hi, Both DSPs instruction set is slightly different. So it is not guaranteed to produce identical machine code by compiler for both DSP versions. As a first doubt can you please check/compare the software pipeline information (generated by compiler) of inner most loop of your test code? That will tell whether core loop is scheduled identically or differently. Regards Deepak Poddar + +Hi Deepak Poddar: Thanks for your help. We have compared the.se66 files and se674 files generated by the compiler. The pipeline information of the software is found to be the same. We found that the instructions were different, but we didn't know much about them. Because of the algorithm code provided by our customers, we can not optimize it by changing the code structure. Can you give us some suggestions to find out the reasons? In some specific code, the performance of C66X is worse than that of C674X? + +Hi, It is difficult to tell the exact reason unless we compile the code and run the code to analyze each portion carefully. At this juncture what can be suggested is that there could be two reasons for this mismatch 1) compiler code generated for both platform itself are different. 2) cache, or other peripheral is making code to run on C66x based soc. you need to first nail down the reason between #1, and #2. For #1 -- > you can generate assembly file for both the platform, and calculate the estimated cycle to be consumed for both the DSP on paper. assembly file gives the scheduled cycle estimate for each software pipelined loop. Most of the cycle in general is consumed in loops. So roughly cycle can be calculated on paper by just looking generated assembly file. No need to run the code for this analysis. If you find that there is mismatch in calculated cycle for both DSP then we have to analyze the assembly code of each loop. In this case please share the generated assembly file if the estimated cycles are different for both DSP. we can do analysis of assembly file if you are not able to find the reason. For #2 --> if you find that estimated cycles for both DSP is same by #1 experiment. Then you can run the code by keeping all the input and output data in L1D/L2D/DDR and analyze the consumed cycle for both the DSPs. By keeping the input and output in L1D, cache related penalties are skipped and you should see same cycle consumption for both the DSPs, and it should be close to theoretical estimate number as it was estimated in #1 exercise. Then you can try getting cycle consumed by keeping all data in L2D/DDR, and then if you see that cycle consumed are different then its cache/peripheral level setting which is making both of the DSP behave differently. if you are nail down to some closer reason (#1 or #2) then we can investigate further from there. Thanks Deepak Poddar + +Hi Deepak Poddar: Thank you very much for your help. We are very sorry that we do not quite understand the assembly files.We try our best to calculate the number of cycles in the loops.We found that between L2 to L6 lable there is 47 cycles in se66 asm file, but 33 cycles in se674 asm file. Could you help us to find the problem, thanks a lot ! The attachment is the c source file and assemble file of c66x and c674x.df-algo.zip + +Hi, Looks like for both DSP, software scheduling is same. which is "Total cycles (est.) : 8 + trip_cnt * 4 ". Please check for "SOFTWARE PIPELINE INFORMATION" in attached file. So on flat memory loop is expected to take equal cycle for both the DSP. So this indicates that you have to do exp #2 as suggested in previous post, to nail down peripheral related difference. You may go though various tutorial available for C6x DSP, such as www.ti.com/.../sprui04b.pdf Now as a general observation, this loop can be further optimized for better cycle consumption. And those optimization is applicable for both DSPs. Regarding current observation of higher cycle on C66x, can you please check the cycles consumed by keeping input and output in L1D. Deepak + +Hi Luike, We have not heard back from you on this one. I assume you have been able to proceed. If you continue to face issue, kindly let us know. Thanks and Regards, Piyali + +Hi Piyali Sorry for the delays. Thank you very much for your help. Our leader decided to put the project on hold because we failed to complete the task within the deadline of the customer. Anyway, we would like to thank you for your help. + diff --git a/sample_embedding_folder2/0690108.txt b/sample_embedding_folder2/0690108.txt new file mode 100644 index 0000000000000000000000000000000000000000..a4421e0193ad6c7b36cf8b2aa786b181ef067f2d --- /dev/null +++ b/sample_embedding_folder2/0690108.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: miss zlib when build opencv + +Query Text: +Part Number: TDA2 Hi, I want to build opencv on tda2 board and VSDK 3.0. clone the file on http://git.ti.com/opencv Then, got some error message like this Linking C static library ../lib/libzlib.a Error running link command: No such file or directory make[2]: *** [3rdparty/lib/libzlib.a] Error 2 make[1]: *** [3rdparty/zlib/CMakeFiles/zlib.dir/all] Error 2 make: *** [all] Error 2 although, i didn't choose build_zlib How can i fix this problem? + +Responses: +Hi, could you try to apply the patches for opencl as described in chapter "2.4.2.2.4 Opencl supported package" in VisionSDK_Linux_UserGuide.pdf and try to rebuild? Regards, Yordan + diff --git a/sample_embedding_folder2/0690348.txt b/sample_embedding_folder2/0690348.txt new file mode 100644 index 0000000000000000000000000000000000000000..e591b0fd20a1489ba1e5b41e9864db42f4d41700 --- /dev/null +++ b/sample_embedding_folder2/0690348.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2: How to verify OV10635 raw data same as capture link setting. + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Sir, We change video source of TIDL_OD use case from SD card to VIP(OV10635) port. And set VIP output parameter(CaptureLink) same as original VPE output parameter of TIDL_OD. We can get video display by HDMI but output video not any object be draw. First, we want to verify video raw data from memory. Could you please give some advice to me? Thanks for your support. Links chart as below + +Responses: +Hello TI TIDL OD lib is trained to work only with one pre-recorded clip. You might need to train the same to work with real camera capture and that is why you did not see any object be draw regards, Shiju + +Hi Shiju, Thanks for your reply. Could you please advice us how to train with real camera capture? Have any document can study? Thanks. + +Please refer the below for training CNN network with your dataset. github.com/.../caffe-jacinto + +Thanks for Mr.Kumar advice. We will study first. Have a nice day :) + diff --git a/sample_embedding_folder2/0690397.txt b/sample_embedding_folder2/0690397.txt new file mode 100644 index 0000000000000000000000000000000000000000..e5082cac5ef7a7b4844890048847613f22a457c3 --- /dev/null +++ b/sample_embedding_folder2/0690397.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2: ERROR of TIDL_OD usecase + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi we want to run TIDL_OD use case but I got an ERROR below Can you tell anything to us? How do we do? Can you provide guide for our reference? And we create another thread below https://e2e.ti.com/support/arm/automotive_processors/f/1021/t/689655 but we got the reply never Can you answer these two thread for us? + +Responses: +Hello what is the vision SDK version you use, try to use 3.3 version and TDA2x EVM. refer guide \vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_UserGuide_TI_DeepLearning.pdf to build and run TIDL demos from VSDK regards, Shiju + +Hi, I use the SDK v3.03 version and TDA2x EVM And the other thread has any reply? + +OK, please refer guide \vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_UserGuide_TI_DeepLearning.pdf to build and run TIDL demos from VSDK regards, Shiju + +OK please help me to resolve the other thread question + diff --git a/sample_embedding_folder2/0690455.txt b/sample_embedding_folder2/0690455.txt new file mode 100644 index 0000000000000000000000000000000000000000..41575649e75c427f43324427b02760a3dea41274 --- /dev/null +++ b/sample_embedding_folder2/0690455.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: OSA_timerCreate function question + +Query Text: +Part Number: TDA2 Hi, For function OSA_timerCreate Int32 OSA_timerCreate(OSA_TimerHndl *hndl,OSA_TimerCb cbf,union sigval value) Is it a hardware timer, will callback function run in interrupt context? I found in the callback function of TI user case example, there is wait function inside. If it is hardware timer, it will cause disaster, could you explain about it? Also where can i find the definition of timer_create? I want to make sure it has no problem before we use it at large scale commercially. ex: inside callback func System_sendLinkCmd(pObj->tskId, SYSTEM_CMD_NEW_DATA, NULL) is used, finally it will go to OSA_msgqSend int OSA_msgqSend(OSA_MsgqHndl *hndl, OSA_MsgHndl *msg, Uint32 timeout) { int status = OSA_EFAIL; pthread_mutex_lock(&hndl->lock); while(1) { if( hndl->count < hndl->len ) { hndl->queue[hndl->curWr] = msg; hndl->curWr = (hndl->curWr+1)%hndl->len; hndl->count++; status = OSA_SOK; pthread_cond_signal(&hndl->condRd); break; } else { if(timeout == OSA_TIMEOUT_NONE) break; status = pthread_cond_wait(&hndl->condWr, &hndl->lock); } } pthread_mutex_unlock(&hndl->lock); return status; } Best regards HUI + +Responses: +Hi Hui, Timer_Create is standard Linux API to create based on the given clock id. It uses high resolution hrtimer. Now since the timer the callback is in application space, it isnot really running in interrupt context. Where do you see wait in the timer callback? Rgds, Brijesh + diff --git a/sample_embedding_folder2/0690561.txt b/sample_embedding_folder2/0690561.txt new file mode 100644 index 0000000000000000000000000000000000000000..08333487716cdfaa80a04405684639c171ef0d69 --- /dev/null +++ b/sample_embedding_folder2/0690561.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: Modifying linkercmd files + +Query Text: +Part Number: TDA2 Hi, In Vision SDK, the linkercmd files are autogenerated. If I need to add a new section or edit the existing sections how to do it? Regards, Navinprashath.R.R + +Responses: +Hi Navin, You require to change bld file to add a new section and then inform about the new section to the BIOS. Then you could redirect the data structure to these memory section. You could refer to HDVPSS_DESC_MEM data section. It creates a new memory section of 2MB size, which is used for storing HDVPSS descriptors. Regards, Brijesh + +hi for example, <1> to add/modify a section refer file - \vision_sdk\apps\build\tda2xx\mem_segment_definition_bios.xs <2> to redirect the data structure to these memory section (for core IPU1-0) - refer file \vision_sdk\links_fw\src\rtos\bios_app_common\tda2xx\ipu1_0\Ipu1_0.cfg for DSP1 - refer \vision_sdk\links_fw\src\rtos\bios_app_common\tda2xx\dsp1\Dsp1.cfg regards, Shiju + diff --git a/sample_embedding_folder2/0690606.txt b/sample_embedding_folder2/0690606.txt new file mode 100644 index 0000000000000000000000000000000000000000..5579ef4e6ab9d0a8a2ceaf9cc9c1efc0de9c9cf6 --- /dev/null +++ b/sample_embedding_folder2/0690606.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: H.264 low lantancy encode + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hello, We are trying to enable low latency encoding by setting parameters for sliced mode on encoder link, but we keep getting errors in creation phase. Our video input is 1280x720. We are not sure about the slice size as well, so we are open to suggestions. Note: We are using TDA2xx chip and vision_sdk_2.12. This is what we changed so far: In usecase: pLinkChPrm->encodingPreset = SYSTEM_XDM_USER_DEFINED; pLinkChPrm->rateControlPreset = SYSTEM_IVIDEO_USER_DEFINED; In encLink_h264.c: staticParams->videnc2Params.inputDataMode = IVIDEO_NUMROWS; staticParams->videnc2Params.outputDataMode = IVIDEO_SLICEMODE; staticParams->sliceCodingParams.sliceCodingPreset = 1; //IH264_SLICECODING_USERDEFINED; staticParams->sliceCodingParams.sliceMode = 1; //IH264_SLICEMODE_MBUNIT; staticParams->sliceCodingParams.sliceUnitSize = 6; staticParams->sliceCodingParams.streamFormat = IH264_BYTE_STREAM; dynamicParams->videnc2DynamicParams.ignoreOutbufSizeFlag = XDAS_TRUE; dynamicParams->videnc2DynamicParams.getBufferFxn = enclink_h264_get_buffer_fxn; static XDAS_Int32 enclink_h264_get_buffer_fxn(XDM_DataSyncHandle dataSyncHandle, XDM_DataSyncDesc *dataSyncDesc) { dataSyncDesc->baseAddr = NULL; dataSyncDesc->numBlocks = 1;//gConfigOrg.numBlocks[block_count]; dataSyncDesc->varBlockSizesFlag = 1; dataSyncDesc->blockSizes = (XDAS_Int32*)Input_BlockSizeArray; return ENC_LINK_S_SUCCESS; } The error occurs at enclink_h264_control call with XDM_SETPARAMS. Thank you, Marijana + +Responses: +Hi Marijana, Please refer below sections in Encoder User Guide here: git.ti.com/.../docs Table 4-12: Default and Supported Values for IH264ENC_SliceCodingParams. Appendix G: Low Latency / Sub Frame Level Synchronization And Sample test application provided in the codec package @ path: ..\ivahd_h264enc_02_00_09_01_production\packages\ti\sdo\codecs\h264enc\app\test\src Please refer putDataFxn & getDataFxn implementation. + diff --git a/sample_embedding_folder2/0690852.txt b/sample_embedding_folder2/0690852.txt new file mode 100644 index 0000000000000000000000000000000000000000..35a288b4b728b5538ce1cade65fd442c97e7819d --- /dev/null +++ b/sample_embedding_folder2/0690852.txt @@ -0,0 +1,12 @@ +Ticket Name: RTOS/TDA2: Error of create an new use case + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi We fallow the user guide and want to create an new use case but We got an error below Can you tell us what's wrong with the error? How can we fix this error? Allen + +Responses: +Hi Allen, is this "Chains_tidlODPrimax" function added by you in the new usecase? Can you check how function "Chains_tidlOD" is defined in "vision_sdk/apps/src/rtos/usecases/tidl_OD/chains_tidlOD.c" and declared as prototype in "vision_sdk/apps/src/include/chains.h" and do similar thing with your function? (I guess you already has it defined in your usecase and just need to add it to "vision_sdk/apps/src/include/chains.h") Regards, Yordan + +OK, we resolve this question. And, we have another thread and have not received a response for two days can you help us to resolve the thread below? e2e.ti.com/.../689655 Thanks Allen + +Hi Allen, thanks for confirming. I will ping the experts to comment on the other thread. Regards, Yordan + diff --git a/sample_embedding_folder2/0690959.txt b/sample_embedding_folder2/0690959.txt new file mode 100644 index 0000000000000000000000000000000000000000..1bdbcbb290c55ec916353774a8f8de1fdf5d2c64 --- /dev/null +++ b/sample_embedding_folder2/0690959.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2: Can access the camera via v4l2 on TDA2PX + +Query Text: +Part Number: TDA2 Tool/software: Linux Hello: we want to porting some demo to TDA2PX which using v4l2 to capture the video, for TDA2Px,using IMI modules (OV10640 Rev E sensor) & LVDS cables to connect camera modules to UB960 application board. can we access the camera by v4l2? if possible, any sample? Thanks! + +Responses: +Hello, We do not support raw cameras from Linux. - Linux CSI driver does not support virtual channel feature - Cannot connect more than one camera via one CSI port using UB960 - Does not have ISS driver for any raw image processing to be done from Linux The M4 based capture model is designed to exercise one set of FPDlink drivers, CSI drivers, ISS drivers, algorithms, etc TI recommends to use the capture from M4 itself. You can get the video to A15 by connecting the capture link to any of the link running on A15 Linux Regards, NIkhil D + +Hi: got it and thanks. + diff --git a/sample_embedding_folder2/0690992.txt b/sample_embedding_folder2/0690992.txt new file mode 100644 index 0000000000000000000000000000000000000000..86e9249b0e7531fdd414b2eb0a4ecc74d6218fc9 --- /dev/null +++ b/sample_embedding_folder2/0690992.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2EVM5777: TDA2EVM5777 + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hello I'm studying the TDA2 EVM circuit , and I want to build up a ADAS by 1 camera input via mipi interface but it looks no mipi interface in TDA2, just only parallel interface is there mipi interface in TDA2 video input? which document can I refer to the information I need? thank you + +Responses: +No, TDA2 does not support MIPI interface. Rgds, Brijesh + +So the video input of TDA2 support just only parallel interface? thank you~ + +Yes, no support for serial interface at least for Video. only parallel interface. Rgds, Brijesh + +Got it ! Thank you very much~ + diff --git a/sample_embedding_folder2/0691430.txt b/sample_embedding_folder2/0691430.txt new file mode 100644 index 0000000000000000000000000000000000000000..e240703af50b9e89c597cd6712e19d27ac75c5c9 --- /dev/null +++ b/sample_embedding_folder2/0691430.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2: TCP ACK segments comprising payload + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi everyone! We have established a set-up in the following manner: We are using two of TDA2x SoCs. The first SoC is a TX side device. We run a use case that captures video contents from cameras, encodes the data using H.264 encoder and pushes the data to the network by Null link. The second SoC is an RX side device. We have created a new link that is the same as the NullSrc link, with one exception, which implies that the link initiates a TCP connection (by default, the NullSrc link waits for a connection request from a PC, but in our case it sends a connection request). This means that our modified NullSrc link sends SYN segments to the TX device's Null link. The video contents are decoded and previewed using Display links. We performed network traffic observation between these two devices using Wireshark. During the observation we have noticed that TCP ACK segments comprise payload data. We suspect that this issue induces the bufferbloat effect on the sending side's TCP TX buffer. The latency between cameras (TX side) and displays (RX side) sometimes reaches 2 to 3 seconds. Is is necessary for ACK segments to comprise payload and is there any option to disable payload transmission within ACK segments? Best regards, Marko Gostović + +Responses: +Hi Marko, Marko Gostovic said: Is is necessary for ACK segments to comprise payload and is there any option to disable payload transmission within ACK segments? Yes, ACK segments are needed for TCP. I will check about disabling payload transmission. Have you tried using the TCP_NODELAY option to decrease this latency? Thanks, Gerardo + +Marko, I haven’t heard back from you, I’m assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out) Prasad Jondhale Sr. Software Engineer, Automotive Processors, TI India + +Hi, Prasad! We have invoked the setsockopt function with TCP_NODELAY flag and got similar behaviour. However, we omitted that the ACK segments comprising payload have been generated on the stream sending side, not on the receiving side. The ACK segments on the receiving side have been correctly generated with size of ~60 bytes. We succeeded to achieve the stream with acceptable performance running on the other test environment, so the size of segments is currently not important. Since there are ACK flags set within the forward-way stream segments (from video capture device to the stream acceptor device), we are wondering whether it is required for these flags to get set and is there any way to disable this issue in order to avoid the generation of segments with slightly confusing header contents? Best regards, Marko + +Hi Marko, On TCP all packets after the initial SYN packet should have the ACK flag set. Unless the ACK was being sent without payload data (just the header), then this is the correct behavior. BR, Gerardo + diff --git a/sample_embedding_folder2/0691442.txt b/sample_embedding_folder2/0691442.txt new file mode 100644 index 0000000000000000000000000000000000000000..a2783f75c0d1aa75e0acaab4d6fdbf6050671ca3 --- /dev/null +++ b/sample_embedding_folder2/0691442.txt @@ -0,0 +1,24 @@ +Ticket Name: TDA2EVM5777: TDA2EVM5777 + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hello I'm building a ADAS with TDA2 the OV10640 is in the TDA2 AVL but I want to use OV10642 the only difference between them is the optical filter so can I use OV10642 in TDA2? if yes is now TDA2 support parallel interface to OV10642? or when could TDA2 support parallel interface to OV10642? thank you + +Responses: +Hi, TDA2x supports only parallel interface as input interface. So you need to connect OV10642, which outputs over parallel interface. Please note that there is no ISP on TDA2x, so you could capture Bayer data, but there is no HW module to convert it into YUV format. Regards, Brijesh + +Hi So TDA2x support OV10642 ,although it is not in AVL? thank you~ + +Again, only capture can be supported over parallel interface. you will require to add all other processing for this sensor on TDA2x Regards, Brijesh + +I understand , OV10642 support parallel output is there OV10640 or OV10642 booting file for reference? thank you~ + +Hi, What is booting file? we have some register settings for OV10640 in folder VSDK_3_2\vision_sdk\apps\src\rtos\iss\src\sensor\ov10640. Rgds, Brijesh + +Hello the difference between OV10642 & OV10640 is only RCCC & RGGB filter so we can use OV10642 by using the register settings for OV10640 in the SDK folder? thank you~ + +You need to check with omnivision, i am not sure what changes are required for OV10642.. Rgds, Brijesh + +Hello OmniVision told us that OV10642 & OV10640 are same in register setting so could we use OV10642 by using OV10640 settings in SDK? thank you~ + +Yes, if omnivision says so. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0691451.txt b/sample_embedding_folder2/0691451.txt new file mode 100644 index 0000000000000000000000000000000000000000..37577936bc61ae075dd1cda60416f3e54e320816 --- /dev/null +++ b/sample_embedding_folder2/0691451.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: wlan0 no wireless extensions + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi Expert, I'm running Linux Vision SDK v03.02.00(4.4.84) on the custom PCBA. Check ASUS USB-N13 rev A1, kernel modules is rt2800usb. Select ralink driver. Check driver is loaded. When plug usb-N13, log is below: But, wlan0 no wireless extensions. why? wlan0 try restart, and print: IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready should I be solved "wlan0 no wireless extensions" first? Could you please give some suggestion here? Thanks in advance. + +Responses: +Make sure you have enabled CFG80211_WEXT configuration in your Kernel. It would be under -> Networking support -> Wireless -> cfg80211 - wireless configuration API -> cfg80211 wireless extensions compatibility + diff --git a/sample_embedding_folder2/0691483.txt b/sample_embedding_folder2/0691483.txt new file mode 100644 index 0000000000000000000000000000000000000000..7bbb74b87060e9788cac51cfc1795c946f1e64a2 --- /dev/null +++ b/sample_embedding_folder2/0691483.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: how to set tda2x's DSP clock in uboot ? + +Query Text: +Part Number: TDA2 Hi We are using tda2x self-designed board, the default value of dsp clock of tda2x is 750MHZ,Now we want to set the tda2x's DSP clock to 500MHZ in uboot, how to do that ? Thanks + +Responses: +Hi, can you try to modify the "dra7_opp_dsp_clk_rates" structure in /arch/arm/cpu/armv7/omap5/fdt.c with your new values. Regards, Yordan + +As a side note, I suggest using the Clock Tree Tool (CTT) to understand the TDA2x clocks better. The CTT can be downloaded free of charge here: www.ti.com/.../clocktreetool thanks, Alex + diff --git a/sample_embedding_folder2/0691724.txt b/sample_embedding_folder2/0691724.txt new file mode 100644 index 0000000000000000000000000000000000000000..8c68e06fbe43553cbc204eaf7cb5e6d898cd5e55 --- /dev/null +++ b/sample_embedding_folder2/0691724.txt @@ -0,0 +1,22 @@ +Ticket Name: Linux/TDA2: what is Video Capture and AVB Capture mean? + +Query Text: +Part Number: TDA2 Tool/software: Linux Excuse me! i am build visionsdk follow VisionSDK_Linux_UserGuide.pdf, 3.1 Build Linux Vision SDK for Video Capture and Display use-cases 3.2 Build Linux Vision SDK for AVB Capture, Decode and Display UCs But I don't know what the difference between 3.1 and 3.2 ? what is Video Capture mean? what is AVB Capture mean? + +Responses: +Hi , There are some modules disabled in kernel and built for certain usecases . AVB is one of them 3.1 The usecase chain will have capture / null src as input source for the stream . Hence the steps to be followed to build application for all capture usecase , 3,2 The usecase uses AVB (network) as capture source, Here Networking is disabled from kernel and handled at ipu . Hence changes to be done to disable ethernet from kernel. Regards Chetan.M + +Hi:Chetan.M execute make –s –j depend For a moment, the virtual machine is automatically restarted. After restarting execute make –s –j is also have this problem , and no application’s .out file in ti_components/os_tools/linux/targetfs/opt/vision_sdk BESTWISHES shuai + +Hi Shuai , There is another thread for the build issue please use that thread , You can close the thread and mark answered if above issue is solved . Regards Chetan.M + +Hi Chetan.M insufficient memory YOURS shuai + +Hi Chetan.M I want to read a.AVI video file as an input, then i should use 3.1?? Regards shuai + +Yes you need to use null src as input , 3.1 is the build you need to use. Regards Chetan.M + +Hi Chetan.M null_src_decode_display this one ,but where should i add my code of open file? BESETWISHES SHUAI + +Hi Shuai, I see other thread by you with same question on null src. Can you please close the thread and marked answer . Regards Chetan.M + diff --git a/sample_embedding_folder2/0691735.txt b/sample_embedding_folder2/0691735.txt new file mode 100644 index 0000000000000000000000000000000000000000..957422b69d8f32ee76a74b069fd74a3342813dca --- /dev/null +++ b/sample_embedding_folder2/0691735.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Dual partition layout for enhanced software upgrade and support rolback + +Query Text: +Part Number: TDA2 Hello: For safety software upgrade, we expect to use two partition, partition A and B based on NAND. A and B both contain the whole image when A is active, new software is download to B,and then active B. my question: does current TI has the sample solution for this ? does the u-boot already support this to read the partitions alternatively and load image correctly? For linux image in each partition, we also expect to use dual FS partition for linux upgrade, please have look at https://wiki.yoctoproject.org/wiki/System_Update does TI already support it in SDK Any sample for share? Thanks! + +Responses: +Hi, Sorry for the delay in my response! Regarding software upgrade, what we support on our platform today is available at processors.wiki.ti.com/.../6AO.1.0_Application_Notes You may also take a look at the specific patch at review.omapzoom.org/ that enabled the recovery mode and ability to update firmware. It shows one way of how u-boot can decide which image to load at run time. We flash both the regular boot image and recovery image when flashing full image to EVM. I would request you to please go through the above information and let us know if you have more questions. Regards, Somnath + diff --git a/sample_embedding_folder2/0691786.txt b/sample_embedding_folder2/0691786.txt new file mode 100644 index 0000000000000000000000000000000000000000..1ed9482e5099f831b227d2704df55e9d0ae3f125 --- /dev/null +++ b/sample_embedding_folder2/0691786.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: vision_sdk build failed + +Query Text: +Part Number: TDA2 Tool/software: Linux Excuse me : i am building vision_sdk follow VisionSDK_Linux_UserGuide 3.1 Build Linux Vision SDK for Video Capture and Display use-cases step 5. Build the sdk $>make –s –j depend $>make –s –j execute make –s –j depend For a moment, the virtual machine is automatically restarted. After restarting, the reexecution will be wrong. execute make –s –j is also have this problem , and no application’s .out file , and no respectively in ti_components/os_tools/linux/targetfs/opt/vision_sdk + +Responses: +Hi , The virtual machine is automatically restarted might be for some other reason. Check the permissions of the folders and size allocated . For linux you need to build the kernel , follow user guide make linux, make linux_install make -s -j depend make -s -j Regards Chetan.M + +virtual machine insufficient memory + +Please run all the steps after increasing the memory and then tar the filesystem Regards Chetan.M + diff --git a/sample_embedding_folder2/0692229.txt b/sample_embedding_folder2/0692229.txt new file mode 100644 index 0000000000000000000000000000000000000000..ba7aac914e89c903637fc84177a0ca8b0fc04512 --- /dev/null +++ b/sample_embedding_folder2/0692229.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2: HAO CAN i use 2 A15 + +Query Text: +Part Number: TDA2 Tool/software: Linux I HAVE build vision_sdk,and run it , but in use case use only one A15 ,i have to use 2 A15 , what can i do ? in file configs\tda2xx_evm_linux_all cfg.mk PROC_IPU1_0_INCLUDE=no PROC_IPU1_1_INCLUDE=no PROC_IPU2_INCLUDE=yes PROC_A15_0_INCLUDE=yes PROC_DSP1_INCLUDE=yes PROC_DSP2_INCLUDE=yes PROC_EVE1_INCLUDE=yes PROC_EVE2_INCLUDE=yes PROC_EVE3_INCLUDE=yes PROC_EVE4_INCLUDE=yes should i add PROC_A15_1_INCLUDE=yes thanks + +Responses: +Hello By default VSDK Linux uses both the A15 in SMP mode, no need to do any separate configuration here. Even if the cfg file has set PROC_A15_0_INCLUDE=yes, the Linux kernel uses both the A15 cores and this is abstracted from the application. regards, Shiju + +Hi Shiju which usecase in the visonSDK use both A15? Can refer to! regards, shuai + +Hello All the demos of vision SDK HLOS (Linux) uses dual A15. For the user/application its appears to be as a single A15 core, but underneath the OS uses both A15 cores in SMP mode. You can think as a single A15 core with CPU clock/frequency doubled. regards, Shiju + +thankyou! + diff --git a/sample_embedding_folder2/0692274.txt b/sample_embedding_folder2/0692274.txt new file mode 100644 index 0000000000000000000000000000000000000000..e6658ae648d190878b780877e374bea199d590be --- /dev/null +++ b/sample_embedding_folder2/0692274.txt @@ -0,0 +1,20 @@ +Ticket Name: Linux/TDA2: null_src_decode_display run problem + +Query Text: +Part Number: TDA2 Tool/software: Linux i have build visionsdk and run ,i sellect 5: NullSrc + Decode + Display (Only 1920x1080 H264/MJPEG Video Input Bit-Stream Supported) but fail follow is print inf Single Camera Usecases [HOST] [HOST ] ------------------------ [HOST] [HOST ] 1: 1CH VIP capture + SGX Copy + DISPLAY [HOST] [HOST ] 2: 1CH VIP capture + Encode + Decode + SGX Copy + DISPLAY [HOST] [HOST ] 3: 1CH VIP capture + Alg FrameCopy (EVE1) + SGX Copy + DISPLAY - (TDA2xx ONLY) [HOST] [HOST ] 5: NullSrc + Decode + Display (Only 1920x1080 H264/MJPEG Video Input Bit-Stream Supported) [HOST] [HOST ] 6: 1CH VIP capture + Alg Frame Copy (A15) + SGX Copy + DISPLAY [HOST] [HOST ] 7: 1CH VIP + Alg Frame Copy (A15) + Connetor Links (Dup, Merge, Select, Gate on A15) + SGX Copy + DISPLAY [HOST] [HOST ] [HOST] [HOST ] x: Exit [HOST] [HOST ] [HOST] [HOST ] Enter Choice: [HOST] [HOST ] 5 [HOST] [HOST ] 902.534290 s: [HOST] [HOST ] 902.534320 s: [HOST] [HOST ] [HOST] [HOST ] ========================================= [HOST] [HOST ] Chains Run-time Codec Type Selection Menu [HOST] [HOST ] ========================================= [HOST] [HOST ] [HOST] [HOST ] Enter '0' for MJPEG [HOST] [HOST ] [HOST] [HOST ] Enter '1' for H.264 [HOST] [HOST ] [HOST] [HOST ] Enter Choice: [HOST] [HOST ] 1 ASSERT (nullSrcLink_tsk.c|NullSrcLink_create|1083) + +Responses: +Hi, Did you copy the input files to home folder of file system or not ? Regards Suryamani Jena + +Hi Suryamani Jena 1920x1080_00.hdr 1920x1080_00.h264 where is this tow file? Regards shuai + +Hi Shuai, It should be available in CDDS (refer below link) Vision SDK demo clips are available at cdds.ext.ti.com/.../emxNavigator.jsp Regards Suryamani Jena + +Hi Suryamani Jena but i have no cdds , i have .h264 file for test , How to get the correspond .hdr file? BESTWISHES SHUAI + +Hi shuai, I replied in below thread (Please refer) e2e.ti.com/.../2551636 Regards Suryamani Jena + +Hi Suryamani Jena can the file put /opt/704X400_00/704X400_00.h264 or need to /home/704X400_00/704X400_00.h264 ? BESTWESHES SHUAI + +Hi Shuai, It should be under /home of rootfs partition Refer Usecase You need to copy files to /home/704X400_00.hdr & /home/704X400_00.h264 Regards Suryamani Jena + diff --git a/sample_embedding_folder2/0692297.txt b/sample_embedding_folder2/0692297.txt new file mode 100644 index 0000000000000000000000000000000000000000..408930609dd987cbd6465d0a9f469e889f10ab16 --- /dev/null +++ b/sample_embedding_folder2/0692297.txt @@ -0,0 +1,8 @@ +Ticket Name: CCS/TDA2: TDA2X reading large data onto Memory + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio Hi, I'm working on TI TDA 2x and my C program requires large data file to be loaded onto memory. Originally in desktop, I loaded the required a file which is amount to 50~150MB binary data file(Most data is comprised of Integer) using fread(). But I'm afraid that the file maybe takes too long time to read in TDA board. To be simply, my C code reads arrays including innumerable Integers amount to 50~150MB. Is there a useful way to load large file? Is there someone who has experience about similar situation? Thank you. + +Responses: +hello Yes this can be one option - where you embedded the data file (as arrays/constants) in the executable. But this will increases the binary size. Another option - you can use CCS to load the file into memory SD card read or network read are other options - these are supported in vision SDK 3.3 release regards, Shiju + diff --git a/sample_embedding_folder2/0692303.txt b/sample_embedding_folder2/0692303.txt new file mode 100644 index 0000000000000000000000000000000000000000..f6a66352410fd457666aa03e0b6b6b318ed9d0f8 --- /dev/null +++ b/sample_embedding_folder2/0692303.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2: what is /home/1920x1080_00.hdr + +Query Text: +Part Number: TDA2 Tool/software: Linux in usecases\null_src_decode_display\chains_nullSrc_Display.c strncpy(pPrm->channelParams[chId].nameDataFile, "/home/1920x1080_00.h264", 260); i think is in put src vedio strncpy(pPrm->channelParams[chId].nameIndexFile, "/home/1920x1080_00.hdr", 260); but what is this ? for what ? + +Responses: +Hi, .h264 file -> input src file .hdr file -> Index file (size of each frame of input src file) Regards Suryamani Jena + +Hi Suryamani Jena but how can i get .hdr file ,i only have .h264 vedio Regards shuai + +i think in the SDK should give some file as an example! + +Hi shuai, You can generate .hdr file from .h264 file (follow below steps) Required software: FFmpeg ----------------------------------------- Creating index file from input src file ----------------------------------------- Create index file ffprobe.exe -show_packets input.h264 > index.idx On Linux machine: Extract just "Size" from above generated index file with sed command. PAT=size sed -n "/$PAT/p" index.idx | cut -d' ' -f3 >> size_extracted.txt Now generate binary file from size extracted file, with below command. Please note that " size_extracted.txt should not contain any string just numbers i.e size of frame " cat size_extracted.txt | perl -n -e 'printf("%08x\n",$_)' | sed 's/\(..\)\(..\)\(..\)\(..\)/0x\4\n0x\3\n0x\2\n0x\1/' | xxd -r -p > Size_test.bin && du -b Size_test.bin Rename Size_test.bin as input.hdr and use it as index file Regards Suryamani Jena + diff --git a/sample_embedding_folder2/0692436.txt b/sample_embedding_folder2/0692436.txt new file mode 100644 index 0000000000000000000000000000000000000000..9ab207102cd3928bc5e45c0ee777fbbd401f5abf --- /dev/null +++ b/sample_embedding_folder2/0692436.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: usecases\null_src_decode_display change + +Query Text: +Part Number: TDA2 Tool/software: Linux if i change some code of usecases\null_src_decode_display , i just make -s -j ? need make -s -j depend ? + +Responses: +Hi Shuai, to rebuild the usecase you need just "make -s -j". You can check chapter "3.2 Building the application" of VisionSDK_UserGuide_TDA2xx.pdf for more details when "make -s -j" and "make -s -j depend" is used (in general the "make -s -j depend" command is used when some configs or something in ti_components has changed). Regards, Yordan + diff --git a/sample_embedding_folder2/0692653.txt b/sample_embedding_folder2/0692653.txt new file mode 100644 index 0000000000000000000000000000000000000000..dc3b0d5180cf8cc012aae6b6723f9675d10fd4d1 --- /dev/null +++ b/sample_embedding_folder2/0692653.txt @@ -0,0 +1,16 @@ +Ticket Name: Linux/TDA2: what is OCMC memory? + +Query Text: +Part Number: TDA2 Tool/software: Linux in VisionSDK_DevelopmentGuide.pdf tell me. Algorithm might need some memory for its operation, which is internal to the algorithm. This memory might be present in DDR / OCMC / L2. Such memory requests for the algorithm needs to be catered to in create plug in function. but what is OCMC memory? + +Responses: +Hi OCMC is an On Chip Memory Controller, its an internal memory accessible from all CPUs regards, Shiju + +Hi :Shiju is there any DOC talk about OCMC? BESTWISHES SHUAI + +Hi SHUAI sorry, what is DOC? regards, Shiju + +Hi: Shiju document pdf, for exmample CorePac_guide talk about C66 core and memery! BESTWISHES SHUAI + +Hi SHUAI please refer the TRM (technical reference Manuel) of the TDA device for all SoC related details regards, Shiju + diff --git a/sample_embedding_folder2/0692767.txt b/sample_embedding_folder2/0692767.txt new file mode 100644 index 0000000000000000000000000000000000000000..c2839be23a6e30f99ce70d9d64813fd67365eb89 --- /dev/null +++ b/sample_embedding_folder2/0692767.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2EVM5777: About Opencv building issue in VisionSDK 3.2 + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Tool/software: Linux Hi Sir we used TDA2 platform for development and would like to build opencv function. we can build default tda2xx_evm_linux_opencx use case successfully. But if we set BUILD_OPENCV_SRC=yes, the build procedure fails. My procedure is described below. Download opencv source from git://git.ti.com/opencv/tiopencv.git Install cmake by "apt-get install cmake". make -s opencv ==> fail In /vision_sdk/build/hlos/makerules/linux/build_opencv.mk, the cmake file is not found in the downloaded opencv source. $(CMAKE) -DCMAKE_TOOLCHAIN_FILE=../platforms/linux/arm-gnueabi.toolchain_vsdk.cmake -DBUILD_DOCS:BOOL=OFF -DBUILD_PACKAGE:BOOL=OFF -DBUILD_PERF_TESTS:BOOL=OFF -DBUILD_SHARED_LIBS:BOOL=OFF -DBUILD_TESTS:BOOL=OFF -DBUILD_WITH_DEBUG_INFO:BOOL=ON -DBUILD_opencv_apps:BOOL=OFF -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE -DENABLE_NEON:BOOL=ON -DWITH_1394:BOOL=OFF -DWITH_CUFFT:BOOL=OFF -DWITH_EIGEN:BOOL=OFF -DWITH_FFMPEG:BOOL=OFF -DWITH_GIGEAPI:BOOL=OFF -DWITH_GSTREAMER:BOOL=OFF -DWITH_JASPER:BOOL=OFF -DWITH_JPEG:BOOL=OFF -DWITH_MATLAB:BOOL=OFF -DWITH_OPENCL:BOOL=ON WITH_OPENCLAMDBLAS:BOOL=OFF -DWITH_OPENCLAMDFFT:BOOL=OFF -DWITH_OPENEXR:BOOL=OFF -DWITH_PNG:BOOL=OFF -DWITH_PTHREADS_PF:BOOL=ON -DWITH_PVAPI:BOOL=OFF -DWITH_TIFF:BOOL=OFF -DWITH_WEBP:BOOL=OFF ../ please advise and thanks for your help BR Yimin + +Responses: +HI Yimin, Please use pre-built library of openCV. It will not be possible to support you on how to build it because the openCV support infrastructure is deprecated. Thanks, With Regards, Pramod + diff --git a/sample_embedding_folder2/0692787.txt b/sample_embedding_folder2/0692787.txt new file mode 100644 index 0000000000000000000000000000000000000000..bafbac03baca3a0c7ecd9eda80287537a6283a89 --- /dev/null +++ b/sample_embedding_folder2/0692787.txt @@ -0,0 +1,22 @@ +Ticket Name: TDA2: Radar SDK v3.3 usecase generation tool error + +Query Text: +Part Number: TDA2 Hi, I am trying to use the Usecase generation tool to create the .jpg file in radar SDK. I am using the following command to create these files(usecase_name.priv.c , usecase_name.priv.h, usecase_name.jpg files) Command is: vsdk_win32.exe PATH_TO_USECASE_FOLDER/usecase.txt -img -file -path PATH_TO_USECASE_FOLDER/ I was able to create all the files successfully in Vision-SDK, But here I came across with an error saying about the compatibility issue since my system is of 64 bit. (Didnt come across this error while in Vision-SDK ) When I use vsdk_win64.exe trying with the same command, jpeg file is not created and the rest of the files are being created. And when I use executable "vsdk_win32.exe" present in visionSDK 3.2 and provide the usecase of RADAR-SDK , the jpeg is being created. Command is: vsdk_win32.exe PATH_TO_USECASE_FOLDER_IN_RADAR-SDK/usecase.txt -img -file -path PATH_TO_USECASE_FOLDER_IN_RADAR-SDK In all the cases I have set the PATH to the Graphviz tool. I do not understand what is the issue with the RADAR-SDK's vsdk_win32 .exe Thanks & Regards, Varsha + +Responses: +Varsha, The usecase generation tool is the same between Processor SDK Radar and Processor SDK Vision. The summary of the question I am understanding from 3.2 release to 3.3 release you are seeing a difference in the behavior. I will ask one of my collegues to check this and get back to you. Regards, Piyali + +Hi Varsha, We followed procedures mentioned by you & we didn't face any issues Below are few more experiments we did & no issues observed Exp1: cmd prompt - 32 bit UC gen tool - 32 bit cmd - vsdk_win32.exe PATH_TO_USECASE_FOLDER/usecase.txt -img -file -path PATH_TO_USECASE_FOLDER/ observation - no issues Exp2: cmd prompt - 32 bit UC gen tool - 64 bit cmd - vsdk_win64.exe PATH_TO_USECASE_FOLDER/usecase.txt -img -file -path PATH_TO_USECASE_FOLDER/ observation - no issues Exp3: cmd prompt - 64 bit UC gen tool - 64 bit cmd - vsdk_win64.exe PATH_TO_USECASE_FOLDER/usecase.txt -img -file -path PATH_TO_USECASE_FOLDER/ observation - no issues Could you please check once in your end & let us know your observations Are you still facing issues ? Regards Surya + +Hi Surya, Thanks for the informative reply. Are these observations made by using vsdk_win32.exe present in Processor VisionSDK version-3.2? I faced no issues when I was using the tool from VisionSDK. But when I tried the same thing in RadarSDK version-3.3 I faced issues with the tool present in RadarSDK. And my windows versions is of 64-bit These are my experiments: Exp 1:vsdk_win32.exe present in VisionSDK UC generation tool: 32 bit command: vsdk_win32.exe PATH_TO_USECASE_FOLDER_IN_VisionSDK/usecase.txt -img -file -path PATH_TO_USECASE_FOLDER_VisionSDK observation: No issues Exp2: vsdk_win32.exe present in RadarSDK UC generation tool: 32 bit command: vsdk_win32.exe PATH_TO_USECASE_FOLDER_IN_RADARSDK/usecase.txt -img -file -path PATH_TO_USECASE_FOLDER_IN_RADARSDK observation: compatibility issues Exp3: vsdk_win32.exe present in VisionSDK and usecase in RadarSDK UC generation tool: 32 bit command: vsdk_win32.exe PATH_TO_USECASE_FOLDER_IN_RADARSDK/usecase.txt -img -file -path PATH_TO_USECASE_FOLDER_IN_RADARSDK observations: works fine. jpg file also created. Exp 4: vsdk_win64 in vision SDK UC generation tool: 64 bit command: vsdk_win64.exe PATH_TO_USECASE_FOLDER_IN_RADARSDK/usecase.txt -img -file -path PATH_TO_USECASE_FOLDER_IN_RADARSDK observations: All files are created except .jpg file Thanks & regards, Varsha + +Hi Varsha, For Exp2, Could you please check with the binary file "vsdk_win32" present under "apps\tools\vision_sdk_usecase_gen\bin" folder (Don't use the binary file "vsdk_win32" present under "build\rtos\scripts" folder ) For Exp4, Regarding UC generation tool 64 bit, did you recompile the src on a 64 bit machine & generate the "vsdk_win64" or how is it ? Regards Surya + +Hi Surya, For Exp2, I tried with the binary file from the folder you suggested. But still I encounter the same error. For Exp4, I did not recompile it. I downloaded it from one of the threads in the e2e forum. I also read about the following command to manually create the jpg file: dot chains_new_usecase_img.txt -o chains_new_usecase.jpg Thanks & regards, Varsha + +Hi Varsha, Could you please try with attached binary file "vsdk_win64" ? vsdk_win64.zip Regards Surya + +Hi, Yes, This worked!!! But, why 32 bit file of RADAR SDK gives an error and not of Vision SDK? regards, Varsha + +Hi Varsha, Can you try building the use-case gen tool ? Please refer UG under "apps\tools\vision_sdk_usecase_gen\docs" folder Regards Surya + diff --git a/sample_embedding_folder2/0692809.txt b/sample_embedding_folder2/0692809.txt new file mode 100644 index 0000000000000000000000000000000000000000..3413ca6d268fb1d298719fe5faa573292e75d182 --- /dev/null +++ b/sample_embedding_folder2/0692809.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2: OV490 VIP input , split Link seems not to work. + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi all, The SDK version is PROCESSOR_SDK_VISION_03_00_00_00 . There are 4CH OV10640 capture via OV490 on my TDA2xx board, i tested with lvds_vip_multi_cam_view_sgx_display usecase under linux. The changes as below: 1. change capture settings with 2560 width; 2. add the split link. capture -> split ->sync -> sgxfrmcpy -> display and it can display 2 camera video. I changed the sgxFrmcpyLink_drv.c with texProp.width * 2 (line 321:) ,the output video as below; it seems split link doesnot work? In sgxFrmcpyLink_drv.c, texYuv[] = System_eglGetTexYuv(&pObj->eglObj, &texProp, pVideoFrame->dmaFd[0]); I note that It used the dma transfer. Query: How can I split the video correctly? + +Responses: +Hi John, Let us check it out in the release. Rgds, Brijesh + +Hi John, Can you please just tell us what are you trying to achieve with split link or what problem are you trying to solve with split link ? Regards Surya + diff --git a/sample_embedding_folder2/0692810.txt b/sample_embedding_folder2/0692810.txt new file mode 100644 index 0000000000000000000000000000000000000000..077cff1f242e42b51001aedeb132f1dbda4ba8e7 --- /dev/null +++ b/sample_embedding_folder2/0692810.txt @@ -0,0 +1,28 @@ +Ticket Name: TDA2: Booting from NAND, how to manage the application images + +Query Text: +Part Number: TDA2 Hello: For the TDA2-EVM board, it boot from the sdcard with the ext2 file system, for our product which will use the nand for persistent storage. and seem little document introduce how to boot from nand. My question are: 1. For nand, should we organise the multiple app image based on file system like booting from sd card? 2. <> under ti_components\drivers\pdk_01_09_00_17\packages\ti\boot\sbl_auto\docs\internal , introduce the tiimage file, is that based raw data or file system? 3. if boot from nand, seem the ubifs is the better, consider above, shall we make the multiple app image into an ubifs partition for u-boot to load multiple app images? 4. what's the different between connecting nand to emmc and connecting nand to GPMC? Thanks very much! + +Responses: +There is no support for NAND in PDK (RTOS) and there is no plan to use NAND in the future as well. The RTOS SBL supports only MMC, NOR and QSPI boot media. If you need NAND support use need to use Linux driver stack. + +Hi, In addition to what Sivaraj said, NAND boot is supported for AM335x device: processors.wiki.ti.com/.../AM437x. You can use this as a reference in case you want to develop SBL for NAND boot. Kindly note that SBL and u-boot are two different boot loaders. It is not very clear from the question whether you are using linux (i.e. u-boot) or RTOS (i.e. SBL) as both are being referred in the question. Regards, Rishabh + +Hello Both: As we'are new to the TDA2xx, maybe the question is not very clear. let me clarify it again. we'are using TDA2PX as our product, which will use the NAND as the boot media. the A15 will run the linux. the evem demo board use vision SDK and introduce the uboot and booting from the sdcard, so we are looking how we can boot from the NAND. 1. uboot is not SBL, if using SBL, tiimage format must be used for multiple app images? 2. uboot is for linux and SBL for RTOS? 3. for our case, we should use the uboot, and treat multiple app images like files and pack them into a filesystem? 4. the evem board boot from sdcard with ext4 filesystem, and for boot from nand, ubifs is better? BTW,what's the MLO under boot partition of the sdcard? + +Hi, Yes you are correct that uboot is for linux and SBL is for RTOS. It seems that you are using Processor SDK Linux. Please let me know if this is not the case. Uboot does not claim NAND flash support for TDA2Px device. However uboot supports NAND boot for TDA2Ex. You can refer to below commits: git.ti.com/.../ git.ti.com/.../ git.ti.com/.../ You can also refer to below e2e threads on the same topic: e2e.ti.com/.../655887 e2e.ti.com/.../2165108 Regards, Rishabh + +Hi, You should also note that TDA2xx, TDA2Px and TDA2Ex belong to the same SoC family but they are different SoCs. Regards, Rishabh + +Hi Rishabh: we are using TDA2PHG and use NAND for boot media. + +Hi, As explained above you need to implement the NAND boot for TDA2Px. Uboot does not claim NAND flash support for TDA2Px device. Regards, Rishabh + +Hi Rishabh: Can give it more details about implement the NAND boot for TDA2Px. As my understanding, with the linux, only the Uboot is the only way to bring up the kernel. If the Uboot does not calin NAND flash support for TDA2Px device, should we focus on Uboot, and implement the NAND boot in Uboot? + +Hi, Yes Uboot is needed to bring up Kernel. I have already shared the NAND support git patches for TDA2Ex device. You should refer to them and implement the same for TDA2Px. Regards, Rishabh + +Hi Rishabh: Appreciate so much! + +Hi, Glad to help. Kindly mark the post that resolved your query as "This resolved my issue". Feel free to ask any follow-up questions by creating a new thread. Regards, Rishabh + diff --git a/sample_embedding_folder2/0692824.txt b/sample_embedding_folder2/0692824.txt new file mode 100644 index 0000000000000000000000000000000000000000..06d1a08837b829a10a74a363af957d6c0ce5273a --- /dev/null +++ b/sample_embedding_folder2/0692824.txt @@ -0,0 +1,10 @@ +Ticket Name: RTOS/TDA2: CAN bus protocol sample code + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Sir, TI have any CAN bus protocol sample code for reference? (CANopen, SAE J1939 or etc) + +Responses: +Hi Prince, SAE J1939 standard is supported by MCAN module which is available on TDA2Px only. MCAN sample example is available at: '\ti_components\drivers\pdk_xx\packages\ti\csl\example\mcan'. Thanks & Regards, Vivek Dhande. Texas Instruments (India) Pvt Ltd + +Hi Mr.Vivek, Understand and thank for your support. + diff --git a/sample_embedding_folder2/0692866.txt b/sample_embedding_folder2/0692866.txt new file mode 100644 index 0000000000000000000000000000000000000000..05bd647c025162fe0f4177f3802d4ec1b815cff6 --- /dev/null +++ b/sample_embedding_folder2/0692866.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2EVM5777: TDA2EVM5777 to Radar interface + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2, AWR1243 Tool/software: Linux Hello What interface is there TDA2x provide to link the mmWave Radar for sensor fusion? is there any reference circuit for connecting radar? thank you~ + +Responses: +TDA2 has VIP port, so inorder to connect the AWR1243 to TDA2 you would need to convert the CSI to VIP port using some sort of CSI to parallel converter like an FPGA. TI has a plan to launch a TI design for cascade radar processing with TDA2x in Q3 2018. You can use this as a reference. Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0692870.txt b/sample_embedding_folder2/0692870.txt new file mode 100644 index 0000000000000000000000000000000000000000..1b74e996e382f9dd7f3e5b7c12082656941edfe9 --- /dev/null +++ b/sample_embedding_folder2/0692870.txt @@ -0,0 +1,22 @@ +Ticket Name: Linux/TDA2EVM5777: Power consumption of TDA2X + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Tool/software: Linux Hello Why in the TDA2EVM5777 the total power output of the PMIC(SMPS1.2.3+SMPS4.5+SMPS6...etc) is larger than the input power(3V3_EVM)? is there power consumption test report in SDK for reference? thank you~ + +Responses: +Hello Which exact 3.3 V rail are you observing? There are multiple 3.3 V lines on the board. How are you measuring the power? Is it through the on board INAs? Regards, Piyali + +Hello I didn't measure the power. I study from the document "J6 EVM Power Integrity Analysis" Only VDD_MPU+VDD_DSPEVE will be 10.814W the source of PMIC "PS_EVM_3V3" is feed from TPS43351 buckA which has the maximum 3A output it can only provide 3Ax3.3V=9.9W that is smaller than PMIC output + +Hello Could you provide the power consumption of TDA2 when just running a usecase? Maybe like LDWS,FCW,or TSR Thank you~ + +Hi, Unfortunately, we would not be able to share the power measurements for the SDK usecases. The measured power is usually dependent on the sample type, device junction temperature, type of usecase being run etc. If you would like to know about the worst case power for the device for a particular usecase you have in mind, you can get in touch with your TI representative with the details regarding the CPU Core loading and interfaces being used. If you would like to perform the measurements yourself you can also run the Processor SDK Vision Usecases on the TI EVM and measure the power using the shunt resistors and INAs provided on the TI EVM. Could you please share what activity are you involved in at the moment? Are you working towards creating your own board based on the TI reference? If yes, I can try and get the EVM experts to help you here. Thanks and Regards, Piyali + +Hello Yes,I am now designing our own board based on TI's reference. But the power consumption is unknown, and the total power output of PMIC is larger than inputs shown on the reference. Our TI representative told us the output of PMIC in reference is the maximum value ,the output should not exceed the input in actual using. But if there is no information of real using power consumption, how could I make sure that our power design is ok? thank you + +Hello, There is a power estimation sheet which for a given application and temperature can allow you to estimate the worst case power consumed. You should get in touch with your TI representative to have access to the output of this excel sheet. Thanks and Regards, Piyali + +Hello Thank you for your information , I got the power estimation sheet form our TI representative but I have another question here. Do you know what value should I fit to the sheet if I use just only LDWS function? thank you~ + +Hello, For the CPU loading information regarding LDW and other related algorithms, you can refer to the Processor SDK Vision software package. This contains the document vision_sdk\docs\VisionSDK_DataSheet.pdf which gives detailed analysis of the device loading for different usecase scenarios. In particular you can look at the "Single Channel Analytics2 on TDA2xx & TDA3xx - EUNCAP usecase" section to get the values for fitting into the sheet. Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0692871.txt b/sample_embedding_folder2/0692871.txt new file mode 100644 index 0000000000000000000000000000000000000000..29262b24ada4b02bd5a1941140c3df3023e61637 --- /dev/null +++ b/sample_embedding_folder2/0692871.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2EVM5777: GPIO list of TDA2EVM5777 + +Query Text: +Part Number: TDA2EVM5777 Hello Is there GPIO list of TDA2EVM5777 for design reference? thank you~ + +Responses: +Hi, You should check the device datasheet www.ti.com/.../tda2.pdf for GPIO list. Regards, Rishabh + +Hi, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0692872.txt b/sample_embedding_folder2/0692872.txt new file mode 100644 index 0000000000000000000000000000000000000000..d5e1de50d905396274b1104b90bcf10fffc6796f --- /dev/null +++ b/sample_embedding_folder2/0692872.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: Links and Chains Document support? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Sir, Do you have more about Links and Chains Document support? Thanks Walter + +Responses: +Walter, You could find documentation in the doc folder.. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0692924.txt b/sample_embedding_folder2/0692924.txt new file mode 100644 index 0000000000000000000000000000000000000000..098c5faca6532eb61f4d5d164c512aa612dddc4a --- /dev/null +++ b/sample_embedding_folder2/0692924.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: what databuf do when ipc out ipc in + +Query Text: +Part Number: TDA2 Tool/software: Linux a15 ipcout c66ipcin In the process of IPC, is the data need to be copied from A15buf to c66buf, or buf is shared by A15 and C66, without copying data. + +Responses: +Hello No need to copy, the buffer memory is shared and you can just use the sane on C66x without any copy regards, Shiju + diff --git a/sample_embedding_folder2/0693083.txt b/sample_embedding_folder2/0693083.txt new file mode 100644 index 0000000000000000000000000000000000000000..ea83af78102c12579483bfaba767ba5f9b11bbda --- /dev/null +++ b/sample_embedding_folder2/0693083.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: vision_sdk\links_fw\src\hlos\links_a15 this links only for A15 or common? + +Query Text: +Part Number: TDA2 Tool/software: Linux in vision_sdk\links_fw\src\hlos\links_a15 have some links , this links only for A15 or common? i think i can run IPCOUT on A15 and IPCIN on C66 CORE, should i ?? + +Responses: +Hi Shuai, the links in "vision_sdk\links_fw\src\hlos\links_a15" are for High Level OS (e.g. Linux) which can run only on A15. The links in "vision_sdk\links_fw\src\rtos" are for Bios and can run on the other cores. In particular you can check "vision_sdk\links_fw\src\rtos\links_common\ipcOut" and "vision_sdk\links_fw\src\rtos\links_common\ipcIn". Regards, Yordan + diff --git a/sample_embedding_folder2/0693101.txt b/sample_embedding_folder2/0693101.txt new file mode 100644 index 0000000000000000000000000000000000000000..6994315269484ce96668c7c0ca55b9f9ee906765 --- /dev/null +++ b/sample_embedding_folder2/0693101.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2: Can provide more use case using the source from SD card, not the camera + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, as title we using version 3.03 SDK on TDA2 Can provide more use case using the source from SD card, not the camera BR Allen + +Responses: +Hi Allen, Refer below UCs (under vision_sdk\apps\src\rtos\usecases) which uses source from SD card 1. null_src_display UC 2. null_src_dec_display UC 3. tidl UC 4.tidl_OD UC Regards Suryamani Jena + +Hi Have any more use case? BR Allen + +Hi Allen, You can modify existing UCs which all are using capture source as camera to SD card Regenerate UCs with Null Source as capture source Set Null Source params for file read (refer null_src_dec_display UC) Ensure the output from NullSrc link is in correct format for next link to process Regards Suryamani Jena + +Hi Allen, If you are able to generate & test with Null Source as capture source Can we close this thread ? You can open a new thread anytime you need any assistance & will be glad to help you Regards Suryamani Jena + diff --git a/sample_embedding_folder2/0693143.txt b/sample_embedding_folder2/0693143.txt new file mode 100644 index 0000000000000000000000000000000000000000..6b7c04bf2385278916b199b45aca5b00c56a14ad --- /dev/null +++ b/sample_embedding_folder2/0693143.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2EVM5777: SEL_HDMI_I2C2 + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hello I'm studying the schematics of TDA2EVM5777 Why RU108 select for HDMI I2C is connected to TDA2 ball E15 I checked the MUXMODE of ball E15 there's no GPIO function in E15 which function do E15 use to select HDMI I2C? thanks~ + +Responses: +Hi, I have forwarded your question to an expert for comment. Regards, Yordan + +Hi user3829173, Could you please show me the TDA2EVM5777 schematic that you exploring? According to Vision Application Board Schematic Rev D.pdf - link - www.ti.com/.../sprr225 (TDA2EVM5777), the HDMI SCL/SDA pins of RU108 must be connected to F17 (i2c2_scl) and C25 (i2c2_sda). Regards, Lyuben. + +Hi Lyuben The schematics file name is "516582H_VAYU_EVM_13NOV2015_H",but I don't know how to provide you the link. What I confused is not I2C scl & sda,but the select pin of RU108 Pin1 of RU108 is connected to ball E15 of TDA2 but there is no GPIO function in ball E15 , why can E15 control the select pin of RU108? Thank you~ + +user3829173, If you want to attach files, links, etc. go to the right corner under the replay box and push Insert Code, Attached Files and more Regards, Mariya + +I found the answer in the VAYU_CPU_User_Guide_1_320151029 p34 thank you + diff --git a/sample_embedding_folder2/0693148.txt b/sample_embedding_folder2/0693148.txt new file mode 100644 index 0000000000000000000000000000000000000000..6227dc0408f231b08f23d09074e6f8fde9ab7b21 --- /dev/null +++ b/sample_embedding_folder2/0693148.txt @@ -0,0 +1,24 @@ +Ticket Name: Linux/TDA2: diffrent of vision_sdk\apps\src\rtos\alg_plugins and vision_sdk\apps\src\hlos\adas\src\alg_plugins + +Query Text: +Part Number: TDA2 Tool/software: Linux in vision_sdk\apps\src\rtos\alg_plugins have so many link but vision_sdk\apps\src\hlos\adas\src\alg_plugins poor ,so how can i move vision_sdk\apps\src\rtos\alg_plugins link to vision_sdk\apps\src\hlos\adas\src\alg_plugins ? + +Responses: +Hi Why do you want to do this? Are you looking for any specific Alg plug-in? Many of the Algorithms can only work on DSP or EVE, moving those to A15 doesn't make any sense regards, Shiju + +Hi Shiju i have run null_src_decode_display in vision_sdk\apps\src\hlos\adas\src\usecases successful , in this case have 6 links UInt32 NullSourceLinkID; UInt32 IPCOut_A15_0_IPU1_0_0LinkID; UInt32 IPCIn_IPU1_0_A15_0_0LinkID; UInt32 DecodeLinkID; where is this link code ?? UInt32 VPELinkID; where is this link code ?? UInt32 DisplayLinkID; where is this link code ?? i have not found in hlos , and in vision_sdk\links_fw\src\rtos\links_ipu\iva\iva_dec have DecodeLink . but i donot know links Under the RTOS directory should be use by hlos . SO i try to add some print inf in decLink_h264.c , when i run null_src_decode_display the inf i add in decLink_h264.c doesnot out. where is DecodeLink?? BESTWISHES SHUAI + +Hi Shuai, Not all links will be on A15 , Links will be on different cores depending on hardware and drivers access . Please have a look at the jpg image in the usecase folder to get a better idea as which link is on which core. IPC links help in transfer of frame buffer pointers from one core to another The usecase you have mentioned has the following img which shows the details regards Chetan.M + +Hi : Chetan.M I have read the image , i donnot know where is the souce code of decode link ! BEST WISHES SHUAI + +Hi Shuai, vision_sdk\links_fw\src\rtos\links_ipu\iva\iva_dec The decode and encode links use IVA hardware Hence its under iva folder of links_ipu Regards Chetan.M + +Hi Chetan.M vision_sdk\links_fw\src\rtos\links_ipu\iva\iva_dec this is in RTOS also can be used by hlos? BESTWISHIS SHUAI + +SHUAI yes, you can use the IVA (enc/dec) links from HLOS also, please refer the below HLOS UC \vision_sdk\apps\src\hlos\adas\src\usecases\vip_single_cam_enc_dec_sgx_display regards, Shiju + +Hi Shiju should i use links ( vision_sdk\apps\src\rtos\alg_plugins ) in HOLS ?? BESTWISHES shuai + +SHUAI Yes, many of this Alg links can be used from a A15 Usecases as well. In all cases, These Alg links will be running on native DSP or EVE cores, but the same can be created and controlled from a usecase on A15 Linux. regards, Shiju + diff --git a/sample_embedding_folder2/0693214.txt b/sample_embedding_folder2/0693214.txt new file mode 100644 index 0000000000000000000000000000000000000000..ac4d87ce06b4d763eff057d48ee0d1513f47f06b --- /dev/null +++ b/sample_embedding_folder2/0693214.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: null_src_decode_display run error + +Query Text: +Part Number: TDA2 Tool/software: Linux i run null_src_decode_display usecase .h264 .hdr is myself but have some problem! i use another .h264 and .hdr is ok! generate .hdr file from .h264 file is the same step Required software: FFmpeg ----------------------------------------- Creating index file from input src file ----------------------------------------- Create index file ffprobe.exe -show_packets input.h264 > index.idx On Linux machine: Extract just "Size" from above generated index file with sed command. PAT=size sed -n "/$PAT/p" index.idx | cut -d' ' -f3 >> size_extracted.txt Now generate binary file from size extracted file, with below command. Please note that " size_extracted.txt should not contain any string just numbers i.e size of frame " cat size_extracted.txt | perl -n -e 'printf("%08x\n",$_)' | sed 's/\(..\)\(..\)\(..\)\(..\)/0x\4\n0x\3\n0x\2\n0x\1/' | xxd -r -p > Size_test.bin && du -b Size_test.bin Rename Size_test.bin as input.hdr and use it as index file follow is the printinf i dont know what is the problem! LGPROCESS FAILED (status=0x00000401) !!! [HOST] [IPU2 ] 1795.413957 s: DEC_LINK: outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x401 [HOST] [IPU2 ] 1795.414079 s: DEC_LINK: Sequence called number 886 [HOST] [IPU2 ] 1795.446349 s: DECODE: ERROR: ALGPROCESS FAILED (status=0x00000401) !!! [HOST] [IPU2 ] 1795.446501 s: DEC_LINK: outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x401 [HOST] [IPU2 ] 1795.446623 s: DEC_LINK: Sequence called number 887 [HOST] [IPU2 ] 1795.479808 s: DECODE: ERROR: ALGPROCESS FAILED (status=0x00000401) !!! [HOST] [IPU2 ] 1795.479930 s: DEC_LINK: outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x401 [HOST] [IPU2 ] 1795.480052 s: DEC_LINK: Sequence called number 888 [HOST] [IPU2 ] 1795.512383 s: DECODE: ERROR: ALGPROCESS FAILED (status=0x00000401) !!! [HOST] [IPU2 ] 1795.512535 s: DEC_LINK: outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x401 [HOST] [IPU2 ] 1795.512627 s: DEC_LINK: Sequence called number 889 [HOST] [IPU2 ] 1795.545812 s: DECODE: ERROR: ALGPROCESS FAILED (status=0x00000401) !!! [HOST] [IPU2 ] 1795.545934 s: DEC_LINK: outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x401 [HOST] [IPU2 ] 1795.546056 s: DEC_LINK: Sequence called number 890 [HOST] [IPU2 ] 1795.578387 s: DECODE: ERROR: ALGPROCESS FAILED (status=0x00000401) !!! [HOST] [IPU2 ] 1795.578570 s: DEC_LINK: outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x401 [HOST] [IPU2 ] 1795.578661 s: DEC_LINK: Sequence called number 891 [HOST] [IPU2 ] 1795.611816 s: DECODE: ERROR: ALGPROCESS FAILED (status=0x00000401) !!! [HOST] [IPU2 ] 1795.611938 s: DEC_LINK: outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x401 [HOST] [IPU2 ] 1795.612060 s: DEC_LINK: Sequence called number 892 [HOST] [IPU2 ] 1795.644360 s: DECODE: ERROR: ALGPROCESS FAILED (status=0x00000401) !!! [HOST] [IPU2 ] 1795.644512 s: DEC_LINK: outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x401 [HOST] [IPU2 ] 1795.644634 s: DEC_LINK: Sequence called number 893 PU2 ] 1795.182425 s: DEC_LINK: outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x401 + +Responses: +Hi Shuai, Could you confirm the ENCDEC_MAX_FRAME_WIDTH & ENCDEC_MAX_FRAME_HEIGHT set in UC match with the input file ? If not could you please build UC with proper values set ? Regards Suryamani Jena + +#define ENCDEC_MAX_FRAME_WIDTH (1280) #define ENCDEC_MAX_FRAME_HEIGHT (720) is right [HOST] [IPU2 ] 3252.135179 s: DEC_LINK: Sequence called number 344 [HOST] [IPU2 ] 3252.168669 s: DECODE: ERROR: ALGPROCESS FAILED (status=0x00001421) !!! [HOST] [IPU2 ] 3252.168822 s: DEC_LINK: outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x1421 [HOST] [IPU2 ] 3252.168913 s: DEC_LINK: Sequence called number 345 [HOST] [IPU2 ] 3252.201091 s: DECODE: ERROR: ALGPROCESS FAILED (status=0x00001421) !!! [HOST] [IPU2 ] 3252.201183 s: DEC_LINK: outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x1421 [HOST] [IPU2 ] 3252.201305 s: DEC_LINK: Sequence called number 346 [HOST] [IPU2 ] 3252.233941 s: DECODE: ERROR: ALGPROCESS FAILED (status=0x00001421) !!! [HOST] [IPU2 ] 3252.234063 s: DEC_LINK: outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x1421 [HOST] [IPU2 ] 3252.234185 s: DEC_LINK: Sequence called number 347 [HOST] [IPU2 ] 3252.266943 s: DECODE: ERROR: ALGPROCESS FAILED (status=0x00001421) !!! [HOST] [IPU2 ] 3252.267034 s: DEC_LINK: outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x1421 [HOST] [IPU2 ] 3252.267156 s: DEC_LINK: Sequence called number 348 [HOST] [IPU2 ] 3252.300585 s: DECODE: ERROR: ALGPROCESS FAILED (status=0x00001421) !!! [HOST] [IPU2 ] 3252.300738 s: DEC_LINK: outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x1421 [HOST] [IPU2 ] 3252.300860 s: DEC_LINK: Sequence called number 349 [HOST] [IPU2 ] 3252.333007 s: DECODE: ERROR: ALGPROCESS FAILED (status=0x00001421) !!! [HOST] [IPU2 ] 3252.333129 s: DEC_LINK: outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x1421 [HOST] [IPU2 ] 3252.333251 s: DEC_LINK: Sequence called number 350 [HOST] [IPU2 ] 3252.365948 s: DECODE: ERROR: ALGPROCESS FAILED (status=0x00001421) !!! [HOST] [IPU2 ] 3252.366070 s: DEC_LINK: outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x1421 [HOST] [IPU2 ] 3252.366192 s: DEC_LINK: Sequence called number 351 [HOST] [IPU2 ] 3252.398920 s: DECODE: ERROR: ALGPROCESS FAILED (status=0x00001421) !!! [HOST] [IPU2 ] 3252.399042 s: DEC_LINK: outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x1421 [HOST] [IPU2 ] 3252.399164 s: DEC_LINK: Sequence called number 352 [HOST] [IPU2 ] 3252.432562 s: DECODE: ERROR: ALGPROCESS FAILED (status=0x00001421) !!! [HOST] [IPU2 ] 3252.432684 s: DEC_LINK: outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x1421 [HOST] [IPU2 ] 3252.432837 s: DEC_LINK: Sequence called number 353 [HOST] [IPU2 ] 3252.465015 s: DECODE: ERROR: ALGPROCESS FAILED (status=0x00001421) !!! [HOST] [IPU2 ] 3252.465137 s: DEC_LINK: outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x1421 [HOST] [IPU2 ] 3252.465259 s: DEC_LINK: Sequence called number 354 + +Streams1280x720.zipHi Shuai, Attaching the 1280x720 streams Could run UC with these files & check working or not ? Regards Suryamani Jena + diff --git a/sample_embedding_folder2/0693296.txt b/sample_embedding_folder2/0693296.txt new file mode 100644 index 0000000000000000000000000000000000000000..d15cb0c6e94035153b549feee18ffa07f7f36ae1 --- /dev/null +++ b/sample_embedding_folder2/0693296.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2: Bit-stream input files for running NullSrc, Decode and Display UC of VSDK Linux + +Query Text: +Part Number: TDA2 Tool/software: Linux Bit-stream input files for running NullSrc, Decode and Display UC of VSDK Linux + +Responses: +streams.zip + +Closed + +Hi Shiju, thanks for sharing this. Regards, Yordan + +streams_1280x720.zipstreams_1920x1080.zip + diff --git a/sample_embedding_folder2/0693319.txt b/sample_embedding_folder2/0693319.txt new file mode 100644 index 0000000000000000000000000000000000000000..428c8c89c522f8b7f07026fc7039d51282495d2f --- /dev/null +++ b/sample_embedding_folder2/0693319.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: Error when importing Lenet model + +Query Text: +Part Number: TDA2 Hi, I'm importing the Caffe LeNet model and the tool crashes when processing Fully Connected Layer 1. The inputs to the fc1 layer is 9216 (64x12x12 Flattened) and num of outputs are 1024. Here is the import file. # Default - 0 randParams = 0 # 0: Caffe, 1: TensorFlow, Default - 0 modelType = 0 # 0: Fixed quantization By tarininng Framework, 1: Dyanamic quantization by TIDL, Default - 1 quantizationStyle = 1 # quantRoundAdd/100 will be added while rounding to integer, Default - 50 quantRoundAdd = 25 numParamBits = 8 # 0 : 8bit Unsigned, 1 : 8bit Signed Default - 1 inElementType = 0 inputNetFile = "..\..\test\testvecs\config\pp_lenet_model\lenet.prototxt" inputParamsFile = "..\..\test\testvecs\config\pp_lenet_model\lenet.caffemodel" outputNetFile = "..\..\test\testvecs\config\tidl_models\NET_OD.BIN" outputParamsFile = "..\..\test\testvecs\config\tidl_models\PRM_OD.BIN" rawSampleInData = 1 preProcType = 4 sampleInData = "..\..\test\testvecs\input\lenet_48_48.y" tidlStatsTool = "..\quantStatsTool\eve_test_dl_algo.out.exe" Regards, Navinprashath.R.R + +Responses: +Hi, Can please try with caffe jacinto model first, may be cifar10. Thanks, Praveen + +Hi Praveen, In one of the documents, I found that the maximum number of input or output nodes supported for FC layer in TIDL is 4096. So I made a workaround by slicing input nodes(Instead of one FC, now I have 3 FC layers). Regards, Navinprashath.R.R + diff --git a/sample_embedding_folder2/0693529.txt b/sample_embedding_folder2/0693529.txt new file mode 100644 index 0000000000000000000000000000000000000000..a222a99323300227a92e1de2b30ea87dc98ac9bb --- /dev/null +++ b/sample_embedding_folder2/0693529.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2: How to do neon optimization for the link on the A15 core + +Query Text: +Part Number: TDA2 Tool/software: Linux How to do neon optimization for the link on the A15 core in SDK_VISION_03_02_00_00\ti_components\algorithms have examples of optimizes for eve and C66! on A15core some code have to do neon optimization , is there any examples for this ? + +Responses: +Hi In VSDK, we do not have any real Algos on A15 and hence not used any neon optimization, I have kept below compiler flag to enable neon -mfpu=neon But not sure if this is sufficient to enable neon optimization on A15. Please check with GCC documentation/tutorials regards, Shiju + +Hi Shiju thankS shuai + +Hi Shiju where can i get GCC documentation/tutorials and i want to add -ldl for A15 Compilation options where should i add ? thanks shuai + +Hi shuai Please search on internet for GCC related queries regards, Shiju + diff --git a/sample_embedding_folder2/0693699.txt b/sample_embedding_folder2/0693699.txt new file mode 100644 index 0000000000000000000000000000000000000000..bbf9d0b985c859b77686901dbe6e7fea1eb9cbe9 --- /dev/null +++ b/sample_embedding_folder2/0693699.txt @@ -0,0 +1,10 @@ +Ticket Name: RTOS/TDA2: TDA2XX\usecase + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS i am a newer in TDA2xx,when i Generate a usecase gen tool by vsdk_win32.exe –img –file configFile,what should i do to next? and about these Generated file,how to compile them? Thanks for being able to answer。 + +Responses: +Hi, You should refer to VisionSDK_UserGuide_UsecaseGen.pdf and VisionSDK_UserGuide_BuildSystem.pdf on how to write the use case function and how to add it to build. Regards, Rishabh + +Thank you for giving me great help + diff --git a/sample_embedding_folder2/0693786.txt b/sample_embedding_folder2/0693786.txt new file mode 100644 index 0000000000000000000000000000000000000000..7942f65421b461f2e7ed87851650193c94312482 --- /dev/null +++ b/sample_embedding_folder2/0693786.txt @@ -0,0 +1,22 @@ +Ticket Name: TDA2: Output dimension of argmax layer is same as input layer + +Query Text: +Part Number: TDA2 Hi, I am using LeNet model for classification. The final layer is argmax with input of 1x1x1x40. When I import the model, the output of argmax is also 1x1x1x40. I expected it to be 1x1x1x1. And all the values of the argmax layer are zero. Regards, Navinprashath.R.R + +Responses: +Hi Navin, Please check the limitations of ArgMax layer in the section 3.9 (TIDL Limitation) of the user guide. Thanks, Praveen + +Hi Praveen, Thanks. Looks like argmax is supported only across the channels. Regards, Navinprashath.R.R + +Also for the same network, if I change the numParamBits from 8 to 12 import fails. Any idea why this is happening? Regards, Navinprashath.R.R + +Hi Navin, I am not sure, ideally it should work. What kind of failure are you seeing? Thanks, Praveen + +Also, can you try with numParamBits = 10 ? Thanks, Praveen + +With numParamBits= 10 also, the import module throws error. I get a windows pop up telling eve_test_dl_algo.out.exe has stopped working. The default CIFAR10 example works fine with both 8 and 12 bits. Regards, Navinprashath.R.R + +Hi Praveen, Compared to the usual LeNet network, we have two Eltwise Sum layers. Regards, Navinprashath.R.R + +The issue your observing may be because of the limitation mentioned in the below thread. Update your network to handle this e2e.ti.com/.../694032 + diff --git a/sample_embedding_folder2/0693872.txt b/sample_embedding_folder2/0693872.txt new file mode 100644 index 0000000000000000000000000000000000000000..f225c875558204975bf185bd6316e99874885e74 --- /dev/null +++ b/sample_embedding_folder2/0693872.txt @@ -0,0 +1,10 @@ +Ticket Name: RTOS/TDA2: What IP can receive PWM signal and calculate duty percentage? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Sir, I need receive PWM signal from external device. Seem like timer IO can achieve it. Could you please advice me what IP can support this request? Many thanks, + +Responses: +Hi Prince, For some simple use-cases, I think you can use timers indeed. Otherwise you can leverage the features of a specialized module called Enhanced Capture (eCAP) Module. You can see hardware details in the TDA2x TRM document. Regards, Stan + +Hi Stan, Understand, thanks. + diff --git a/sample_embedding_folder2/0693992.txt b/sample_embedding_folder2/0693992.txt new file mode 100644 index 0000000000000000000000000000000000000000..cf6e128f54771bcb35117534a045dbbf0d108436 --- /dev/null +++ b/sample_embedding_folder2/0693992.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: Linux + BIOS mode build a new use-cases + +Query Text: +Part Number: TDA2 Tool/software: Linux When I refer to the documentation VisionSDK_UserGuide_BuildSystem.pdf to build my own usecase in Linux + BIOS mode,I have already completed step 9 (Open file \vision_sdk\apps\src\hlos\adas\src\common\chains_main.c) ,then i make -s -j to build,but There was an error ( error: implicit declaration of function 'MY_usecase_run' [-Werror=implicit-function-declaration] MY_usecase_run(&gChains_usecaseCfg); ).I want to know more detail about function MY_usecase_run(),how to write the function of MY_usecase_run(). The Second problem is when i Generate usecase files use ./vsdk.exe –file configFile ,the next step is to write chains_newTestDisplay.c file ? and how to write the chains_newTestDisplay.c file? Thank you very much for answering me. + +Responses: +Hi, MY_usecase_run() (or you can choose a more descriptive name for your usecase) function is the entry point of your usecase and should be located in your chains_newTestDisplay.c file. You can take as example the function chains_vipSingleCam_SgxDisplay() which is called from vision_sdk\apps\src\hlos\adas\src\common\chains_main.c when certain menu item is selected (it is not called directly, but via Chains_menuSingleCameraRun() function, but you can get the idea). You can look how chains_vipSingleCam_SgxDisplay() and the usecase vip_single_cam_sgx_display (or any other usecase) is implemented to get directions how to implement your new usecase. You can also check chapter 2 "Use Case Development" in vision_sdk/docs/FeatureSpecificUserGuides/VisionSDK_DevelopmentGuide.pdf. Regards, Yordan + +Hi, i have resolved my first problem by refer to the chains_vipSingleCam_SgxDisplay() . my new chain is UseCase: chains_newTestDisplay, NullSource (A15) -> Decode -> Alg_FrameCopy (A15) -> VPE -> Display . i refer to chains_nullSrc_Display.c to write my chains_newTestDisplay.c file, but when i run my usecase on the HW platform it crashed. the crash info is: [HOST] [HOST ] 806.707100 s: IPC_OUT_0 : Create in progress !!! [HOST] [HOST ] 806.707161 s: IPC_OUT_0 : Create Done !!! [HOST] [IPU2 ] 806.707344 s: IPC_IN_0 : Create in progress !!! [HOST] [IPU2 ] 806.708534 s: IPC_IN_0 : Create Done !!! [HOST] [IPU2 ] 806.708930 s: DECODE: Create in progress ... !!! ASSERT (frameCopyLink_algPlugin.c|AlgorithmLink_frameCopyCreate|369) [HOST] [HOST ] 806.938479 s: IPC_IN_0 : Create in progress !!! [HOST] [HOST ] 806.938937 s: IPC_IN_0 : Create Done !!! [HOST] [HOST ] 806.938998 s: ALGORITHM: Create in progress (algId = 0) !!! [HOST] [IPU2 ] 806.934697 s: DECODE: Creating CH0 of 1280 x 720 [1] [0],target bitrate = 10000 Kbps ... i want to know the rules or more detail to write the chains_newTestDisplay.c file. looking forward to answering me. Regards, Xie Baojian + +Hi, there is a new thread about this issue: e2e.ti.com/.../694186 Experts has been notified and will reply there. I will close this one. Regards, Yordan + diff --git a/sample_embedding_folder2/0694032.txt b/sample_embedding_folder2/0694032.txt new file mode 100644 index 0000000000000000000000000000000000000000..84af35123319754ae05f92eae5645f0579584f4b --- /dev/null +++ b/sample_embedding_folder2/0694032.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2: TIDL Eltwise Layer output not matching with caffe output + +Query Text: +Part Number: TDA2 Hi, I have Convolutional layers, InnerProduct and Eltwise layers in my model. The caffe ouput and tidl outputs of the convolutional layer and innerproduct layers are matching. But in the elwise layer, some of the elements of the tidl matrix vary too much with the elements of caffe output. For example, let's say Eltwise layer adds two blobs of size 1x5. Here is how the caffe and tidl output looks like: Caffe output: [22.24 -2.33 -15.85 -14.89 -11.05] TIDL output: [21.29 59.05 -15.00 -14.03 -10.16] As you could see the [1] element vary too much. To convert the data to floating point, I am dividing the output data by the OutQ in the logs as mentioned in this thread(e2e.ti.com/.../2370081 Regards, Navinprashath.R.R + +Responses: +Please find the prototxt and caffe model file. The tidl and caffe outputs of the second Eltwise layer are not matching. Also the logs during the import and the input files(lenet_48_48.y) are also attached. PS: The weights here not used in the actual model. But the similar error can be reproduced with this network. Regards, Navinprashath.R.R Not able to upload file because of size attaching drive link. https://drive.google.com/file/d/19Zt7PlV5-yIpD-inALszIwhuxHDUwrPz/view?usp=sharing + +Hi, The problem occurs when the input to the Eltwise layer is of opposite signs. Regards, Navinprashath.R.R + +Hi Naveen, We don't support this combination. Thanks, Praveen + +Hi Praveen, Thanks Praveen. Could we expect this combination support in future release? It is for the same network I am not able to increase the numParamBits to 12. Is it related to this issue? Regards, Navinprashath.R.R + +There is no plan to add support for this combination now. + diff --git a/sample_embedding_folder2/0694162.txt b/sample_embedding_folder2/0694162.txt new file mode 100644 index 0000000000000000000000000000000000000000..d949806a27017d1a56d90306be43f1517eb76b68 --- /dev/null +++ b/sample_embedding_folder2/0694162.txt @@ -0,0 +1,8 @@ +Ticket Name: CCS/TDA2: CCS simulator memory allocation and fread problem + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio Hi, I'm trying to handle large data using C code in CCS with DSP simulator. however I challenged with two problems. 1. Allocation of large memory (dynamic allocation) I tried to allocate heap memory using malloc(). But when I tried large size of memory(for example, more than 300,000 Integers' array) it made problem and I found that the malloc() was failed because no address value has been allocated in the target array pointer. Is there any limitation for using heap memory at one time and can I modify it? Maybe I'll need many integers amount to 20~50MB. 2. Load Memory in real board I used 'Load Memory' tool in CSS simulator to load binary data onto memory. But if the size of data is reached almost 90MB. Then, what method is needed when I load the program on the real TDA2x board? Can I use 'Load Memory' on TDA2x board? Because I'm just using CCS simulator yet. I've heard about using SD card to load data onto memory. Which manual explains well about the load data from SD card? Thank you. + +Responses: +Hello Dongmin Cha, For the malloc failing are you making sure the linker command file of your project has a heap size which is larger than what you are allocating. For Load Memory: Yes the TDA2x board supports CCS Load Memory. Regards, Piyali + diff --git a/sample_embedding_folder2/0694178.txt b/sample_embedding_folder2/0694178.txt new file mode 100644 index 0000000000000000000000000000000000000000..4cb69d8a2aaa0fad7116414c596cfd7b835b6d04 --- /dev/null +++ b/sample_embedding_folder2/0694178.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2: how to make link from A15 lib + +Query Text: +Part Number: TDA2 Tool/software: Linux now i have a A15 lib mylib.a and header file mylib.h How can i make a A15 alg_plugins link ,where can i load mylib.a , and how to include mylib.h . any example? + +Responses: +Hi Please refer the sample HLOS Alg plug-in \vision_sdk\apps\src\hlos\adas\src\alg_plugins\framecopy regards, Shiju + +Hi Shiju i try to add mylib in framecopy for test include $(vision_sdk_PATH)/build/hlos/makerules/linux/common_header_a15.mk INCLUDE+= -I$(vision_sdk_PATH)/mylibs/include -I$(ipc_PATH)/hlos_common/include -I$(ipc_PATH)/packages -I$(kernel_PATH)/include/generated/uapi $(OSA_INC) -I$(ipc_PATH)/linux/include -I$($(MAKEAPPNAME)_PATH) LIBS += $(vision_sdk_PATH)/mylibs/libarcsoft_face_base.a LIBS += $(vision_sdk_PATH)/mylibs/libarcsoft_face_detection.a LIBS += $(vision_sdk_PATH)/mylibs/mpbase.a LIBS += $(LIB_BASE_DIR)/vision_sdk_linux_demo.a LIBS += $(shell cat $(DEST_ROOT)/appLiblist_a15_0.txt) include $(vision_sdk_PATH)/build/hlos/makerules/linux/common_footer_a15.mk have follow problem /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_all/lib/tda2xx-evm/a15_0/release/apps.a(frameCopyAlgoCpu.o): In function `Alg_FrameCopyProcess': frameCopyAlgoCpu.c:(.text+0xda): undefined reference to `MMemMgrCreate' frameCopyAlgoCpu.c:(.text+0xea): undefined reference to `AFD_InitialFaceEngine' frameCopyAlgoCpu.c:(.text+0x152): undefined reference to `AFD_StillImageFaceDetection' frameCopyAlgoCpu.c:(.text+0x164): undefined reference to `AFD_UninitialFaceEngine' frameCopyAlgoCpu.c:(.text+0x16a): undefined reference to `MMemMgrDestroy' + +This is a duplicated thread of e2e.ti.com/.../694486 will replay on other thread + +HI Shiju SO I WAIT for it ! + diff --git a/sample_embedding_folder2/0694186.txt b/sample_embedding_folder2/0694186.txt new file mode 100644 index 0000000000000000000000000000000000000000..a63167828905bdb04b271d8ca6da7355fbb932ab --- /dev/null +++ b/sample_embedding_folder2/0694186.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: TDA2xx\linux build my own usecase + +Query Text: +Part Number: TDA2 Tool/software: Linux i am a newer to learn TI\TDA2xx , i have write a new usecase ,the config file is: UseCase: chains_newTestDisplay NullSource (A15) -> Decode -> Alg_FrameCopy (A15) -> VPE -> Display and i refer to the example of chains_nullSrc_Display.c to write my chains_newTestDisplay.c file typedef struct { UInt32 NullSourceLinkID; UInt32 IPCOut_A15_0_IPU1_0_0LinkID; UInt32 IPCIn_IPU1_0_A15_0_0LinkID; UInt32 DecodeLinkID; UInt32 IPCOut_IPU1_0_A15_0_0LinkID; UInt32 IPCIn_A15_0_IPU1_0_0LinkID; UInt32 Alg_FrameCopyLinkID; UInt32 IPCOut_A15_0_IPU1_0_1LinkID; UInt32 IPCIn_IPU1_0_A15_0_1LinkID; UInt32 VPELinkID; UInt32 DisplayLinkID; NullSrcLink_CreateParams NullSourcePrm; IpcLink_CreateParams IPCOut_A15_0_IPU1_0_0Prm; IpcLink_CreateParams IPCIn_IPU1_0_A15_0_0Prm; DecLink_CreateParams DecodePrm; IpcLink_CreateParams IPCOut_IPU1_0_A15_0_0Prm; IpcLink_CreateParams IPCIn_A15_0_IPU1_0_0Prm; AlgorithmLink_FrameCopyCreateParams Alg_FrameCopyPrm; IpcLink_CreateParams IPCOut_A15_0_IPU1_0_1Prm; IpcLink_CreateParams IPCIn_IPU1_0_A15_0_1Prm; VpeLink_CreateParams VPEPrm; DisplayLink_CreateParams DisplayPrm; } chains_newTestDisplayObj; But when i run my usecase on the HW environment,it crashed ,the info is: [HOST] [HOST ] 806.707100 s: IPC_OUT_0 : Create in progress !!! [HOST] [HOST ] 806.707161 s: IPC_OUT_0 : Create Done !!! [HOST] [IPU2 ] 806.707344 s: IPC_IN_0 : Create in progress !!! [HOST] [IPU2 ] 806.708534 s: IPC_IN_0 : Create Done !!! [HOST] [IPU2 ] 806.708930 s: DECODE: Create in progress ... !!! ASSERT (frameCopyLink_algPlugin.c|AlgorithmLink_frameCopyCreate|369) [HOST] [HOST ] 806.938479 s: IPC_IN_0 : Create in progress !!! [HOST] [HOST ] 806.938937 s: IPC_IN_0 : Create Done !!! [HOST] [HOST ] 806.938998 s: ALGORITHM: Create in progress (algId = 0) !!! [HOST] [IPU2 ] 806.934697 s: DECODE: Creating CH0 of 1280 x 720 [1] [0],target bitrate = 10000 Kbps ... I want to know the rules and more details of how to write the file of chains_nullSrc_Display.c,Is I missing some functions in chains_nullSrc_Display.c? when i change my ALG(Alg_FrameCopy),How to modify my file of chains_nullSrc_Display.c? Looking forward to answering me,thank you very much! + +Responses: +Hi , Please refer the frame copy usecase and set the required framecopy alg id in usecase. vision_sdk\apps\src\rtos\usecases\vip_single_cam_frame_copy Regards Chetan.M + diff --git a/sample_embedding_folder2/0694190.txt b/sample_embedding_folder2/0694190.txt new file mode 100644 index 0000000000000000000000000000000000000000..b1b9bde1fc0db3c9672d9815d5d2d5c14dc73356 --- /dev/null +++ b/sample_embedding_folder2/0694190.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: TIDL: Using Caffe_Jacinto framework + +Query Text: +Part Number: TDA2 I want to get the Caffe-jacinto framework and run training on out custom dataset. So train around for 100 images, Will we be needing a GPU or a simple non-GPU system will work. + +Responses: +You can get the caffe-jacinto framework and scrits by clonning the following two repositories: github.com/.../caffe-jacinto github.com/.../caffe-jacinto-models Please navigate to those links in your browser and read through the documentation provided to understand the usage. If you face any specific issue related to the code or scripts, you can file an issue using the github repository "issues" link in the above repositories. + +Yes, I understand that. I wanted know if a system without a GPU is used, approximately how long it'll take to train for say 100 images? Is it recommended. + +Training on CPU can be 30x or more slower compared to training on GPU. Exactly how much time will be needed will depend on the size of the image, complexity of the network and the problem that you are trying to solve. Why don't you try to train on CPU - that will give you an estimate of the time required. But whether you conclude to use CPU or GPU for training, I would highly recommend to more images for training. Deep learning cannot learn to generalize with just 100 images and any model or conclusion that you make using that dataset may not work outside the laboratory. + diff --git a/sample_embedding_folder2/0694391.txt b/sample_embedding_folder2/0694391.txt new file mode 100644 index 0000000000000000000000000000000000000000..de572e5c95dbcbe124d5fed4a505a199996e5234 --- /dev/null +++ b/sample_embedding_folder2/0694391.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2EVM5777: + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS Hello, For the RTOS PCIE RC to RTOS PCIE EP example developed for the AM5728 IDK, can I use this example for the TDA2EVM5777. If so, what do I need to change? Thanks, -iFer + +Responses: +Hi, Yes you can use this example. Maybe some basic porting will be needed. You might need to change lane configuration if number of lanes is different on two boards, pin mux changes. Regards, Rishabh + +Hello Rishabh, thank you for the reply. Using CCS, I imported the TI RTOS project "PCIE_idkAM572x_wSoCFile_armExampleProject" of the PCIE example found here: C:\ti\pdk_am57xx_1_0_10\packages\ti\drv\pcie\example\sample\am572x I built the project successfully. I have a known working CCS/Target Config File setup with the TDA2x EVM5777 board, so without changing any pinmux or porting variables, I loaded the default project onto the TDA2 using JTAG. When loading the project .out file through JTAG onto the TDA2x EVM5777 board, I get an exception shortly after hitting play. I am noticing that the exception is happening when the function Task_create() is ran. Once the exception gets thrown, I see in the console window "CortexA15_0: Unhandled ADP_Stopped exception 0x20023". This should just be a BIOS configuration, correct? If I place a breakpoint on any line after Task_create() it never gets called. Any suggestions for determining what in Task_create would cause the exception? With respect to porting between EVMs, I looked at the current configurations in the idkAM572x CIE_idkAM572x_wSoCFile_armExampleProject and the registers being accessed on the AM572x look to be the same on the TDA2. The only address that seems odd is 0x48447000 which is for VCP1_CFG_TARG. That address is defined as a peripheral base in the idkAM572x example but the TDA2 has that address under Reserved space. The AM572x TRM though has a note saying that VCP is not supported in this family of devices so is it just defined and not used? For the number of PCIE lanes, the base example looks to be doing only 1 lane so that shouldn't be a problem with TDA2. Is that correct? + +Hi, TDA2xx EVM has single lane and hence it should not be a problem. I would suggest you to first download Processor SDK Vision release for TDAx devices from www.ti.com/.../PROCESSOR-SDK-TDAX This release has a makefile based PCIE RC to EP example in PROCESSOR_SDK_VISION_03_03_00_00\ti_components\drivers\pdk_01_09_00_17\packages\ti\csl\example\pcie\write_loopback. You can look at build instructions here: processors.wiki.ti.com/.../PDK_TDA_Software_Developer_Guide I made a wrong assumption with the previous reply that you are using CSL example. PCIe RTOS driver has not been validated on TDA2x device. In order to get the PCIe RTOS example from AM57xx to TDA2xx you will need to port the driver which will be an involved effort. Regards, Rishabh + +Hi, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0694393.txt b/sample_embedding_folder2/0694393.txt new file mode 100644 index 0000000000000000000000000000000000000000..484494d24fb2d33a1e9f363cb16211db68cfa494 --- /dev/null +++ b/sample_embedding_folder2/0694393.txt @@ -0,0 +1,18 @@ +Ticket Name: RTOS/TDA2: Error of create an new use case + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi We fallow the user guide and want to create an new use case but We got an error below ========================================================================== undefined first referenced symbol in file --------- ---------------- Chains_tidlODPrimax C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/binaries/app s/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 error: unresolved symbols remain error: errors encountered during linking; "C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/binaries/apps/tda2xx_evm_bio s_all/vision_sdk/bin/tda2xx-evm/vision_sdk_ipu1_0_release.xem4" not built gmake[7]: *** [C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/binaries/apps/tda2 xx_evm_bios_all/vision_sdk/bin/tda2xx-evm/vision_sdk_ipu1_0_release.xem4] Error 1 gmake[6]: *** [ipu1_0] Error 2 gmake[5]: *** [apps_ipu1_0] Error 2 gmake[4]: *** [apps] Error 2 gmake[3]: *** [apps] Error 2 gmake[2]: *** [apps_exe] Error 2 gmake[1]: *** [apps] Error 2 gmake: *** [vision_sdk] Error 2 ========================================================================== Can you tell us what's wrong with the error? How can we fix this error? BR Allen + +Responses: +Hi Allen, when you run make command can you try to run it without "-j" option (this option creates several build processes and some dependencies might not get calculated correctly). Regards, Yordan + +Hi I retry to run it without "-j" option but I get same error Even I make a clean build (rm rf binary and gmake clean) what's mean with the error? How do we do? BR Allen + +Hi Have any solution? Our new use case is want to read the source from SD card and do the lane detect so we reference "vip_single_cam_lane_detection" and "null_src_dec_display" two use case but we got the error Do you know we have any problem? BR Allen + +Hi Allen, I pinged VisionSDK experts for further help. Regards, Yordan + +Hi Allen , Are there changes done in the code or its out of release . ? Regards Chetan.M + +Hi I solve this problem,but I got the another problem I post a new question below Can you help us to solve the question? BR Allen + diff --git a/sample_embedding_folder2/0694403.txt b/sample_embedding_folder2/0694403.txt new file mode 100644 index 0000000000000000000000000000000000000000..e1e0bc920f4506049a69e356c638ab4b50453e0e --- /dev/null +++ b/sample_embedding_folder2/0694403.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: HOW us vision_sdk\links_fw\src\rtos\links_common\nullSrc + +Query Text: +Part Number: TDA2 Tool/software: Linux i have run this case (vision_sdk\apps\src\hlos\adas\src\usecases\null_src_decode_display ) successul ! this case have 6 links pObj->NullSourceLinkID = A15_0_LINK (SYSTEM_LINK_ID_NULL_SRC_0); pObj->IPCOut_A15_0_IPU1_0_0LinkID = A15_0_LINK (SYSTEM_LINK_ID_IPC_OUT_0); pObj->IPCIn_IPU1_0_A15_0_0LinkID = IPU1_0_LINK (SYSTEM_LINK_ID_IPC_IN_0); pObj->DecodeLinkID = SYSTEM_LINK_ID_VDEC_0; pObj->VPELinkID = SYSTEM_LINK_ID_VPE_0; pObj->DisplayLinkID = SYSTEM_LINK_ID_DISPLAY_0; A15_0_LINK (SYSTEM_LINK_ID_NULL_SRC_0); is use this (vision_sdk\links_fw\src\hlos\links_a15\nullSrc) link i found in vision_sdk\links_fw\src\rtos\links_common\nullSrc is also a nullSrc link , can i use this nullsrc_link replace? + +Responses: +Hi Shuai, You can use the null src of the core where you are running the null src link. If you are reading from the file then it has to be in hlos only as file system is controlled by hlos, If you are running bios then it can be either A15 or M4 , depending you need to change the cfg file. vision_sdk\apps\configs\ Regards Chetan.M + +Hi Chetan.M i want to run null src link on M4 I am use LINUX system by hlos . BESTWISHES shuai + +shuai when you run Linux on A15, both SD card and network will be controlled from A15 linux, so the NullSRc on M4 can not access these devices. regards, Shiju + diff --git a/sample_embedding_folder2/0694414.txt b/sample_embedding_folder2/0694414.txt new file mode 100644 index 0000000000000000000000000000000000000000..4431c6457daceeb06ac964a2bf1b2e24e743db55 --- /dev/null +++ b/sample_embedding_folder2/0694414.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: RTOS / TDA2: What's the entire procedure for running TIDL_OD usecase? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, As title, I have read VisionSDK_UserGuide_TI_DeepLearning & TIDeepLearningLibrary_UserGuide I know I have to present this four files ( NET_OD.bin、PRM_OD.bin、inData_OD、inHeader_OD ) in the SD card But, how to generate this four files ? and I read TIDeepLearningLibrary_UserGuide 3.6.5 Importing Tensorflow Models Where should I put the file which generated by doing the all steps from 3.6.5 ? Sincerely, Andy + +Responses: +Hi Andy , Please follow the below posts for your questions e2e.ti.com/.../687481 Regards Chetan.M + diff --git a/sample_embedding_folder2/0694485.txt b/sample_embedding_folder2/0694485.txt new file mode 100644 index 0000000000000000000000000000000000000000..26165448d175b1bddde18309fc8e6ec07d8b82ca --- /dev/null +++ b/sample_embedding_folder2/0694485.txt @@ -0,0 +1,32 @@ +Ticket Name: RTOS/TDA2: How to flash FW file(AppImage) to eMMC of TDA2x. + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Sir, As title, I want to know how to flash FW file(AppImage) to eMMC of TDA2x. Could you please advice us how to achieve it. Many thanks, + +Responses: +If you are running RTOS on A15, the boot modes supported are SD, QSPI flash, and NOR flash. eMMC boot mode is not supported. However, eMMC boot mode is supported by uboot with Linux running on A15. Regards, Stanley + +Hi Stanley, Understand and thanks. + +Hi Sir, 1. RTOS doesn't support eMMC boot, but we can boot from NOR flash via QSPI and run the algorithm in eMMC (use eMMC to be storage), is it correct? 2. Could we know the detail what's limitation why RTOS doesn't support eMMC boot? Is it OS or driver or HW issue? 3. Base on item2, if it is driver issue, will TI have plan for the driver support in the future? Thank you. Sidney + +Hi, Yes you can use eMMC for storage. There is no SW support for eMMC boot on RTOS side and the same is not planned for future as well. Regards, Rishabh + +Hi Rishabh, On RTOS how can we storage data(or algorithm ) in eMMC ? Have any sample code or document can refer? Many thanks, + +Hi, You can refer to mmc app present here: PROCESSOR_SDK_VISION_03_03_00_00\ti_components\drivers\pdk_01_09_00_17\packages\ti\csl\example\mmcsd\mmc_raw_access\. We don't have a lot of SW support for eMMC on RTOS side. I would recommend you to use QSPI or NOR flash for storing data instead of eMMC. Regards, Rishabh + +Hi Rishabh, Understand , thanks for your support. + +Hi Prince, If you don't have any further questions shall I close the thread? Regards, Rishabh + +Hi Rishabh, I have last question . Can we separate AppImage to algorithm and application two parts and save to different memory(algorithm to eMMC, application to QSPI)? If yes how can we booting system and reload algorithm? Could you please give us some advice? Thanks for your support. + +Hi, From RBL perspective you can boot only from single boot media. Then the control is with SBL. You can modify SBL to achieve what you want. Assume that you have SBL in QSPI memory. Then you can load and parse a multicore App Image present in QSPI memory first (say application). Then you can initialize another memory say eMMC and load/parse App Image present on that (say Algorithm). Following this approach will need concrete effort as you need to define read/write API library for eMMC and modify SBL. I would suggest you to rather have two app images on same boot media (QSPI or NOR) and flash them at a different locations. Then you will only need to modify SBL to parse the two images. Regards, Rishabh + +Hi Rishabh, Thanks for your support. + +Hi Rishabh, Many thanks. + +Hi Prince, Closing this thread as query has been answered. Regards, Rishabh + diff --git a/sample_embedding_folder2/0694486.txt b/sample_embedding_folder2/0694486.txt new file mode 100644 index 0000000000000000000000000000000000000000..2f8625cf9f725be86c818ae57cbd90f4c2629d52 --- /dev/null +++ b/sample_embedding_folder2/0694486.txt @@ -0,0 +1,16 @@ +Ticket Name: Linux/TDA2: add lib + +Query Text: +Part Number: TDA2 Tool/software: Linux i try to add mylib in framecopy link for test include $(vision_sdk_PATH)/build/hlos/makerules/linux/common_header_a15.mk INCLUDE+= -I$(vision_sdk_PATH)/mylibs/include -I$(ipc_PATH)/hlos_common/include -I$(ipc_PATH)/packages -I$(kernel_PATH)/include/generated/uapi $(OSA_INC) -I$(ipc_PATH)/linux/include -I$($(MAKEAPPNAME)_PATH) LIBS += $(vision_sdk_PATH)/mylibs/libarcsoft_face_base.a LIBS += $(vision_sdk_PATH)/mylibs/libarcsoft_face_detection.a LIBS += $(vision_sdk_PATH)/mylibs/mpbase.a LIBS += $(LIB_BASE_DIR)/vision_sdk_linux_demo.a LIBS += $(shell cat $(DEST_ROOT)/appLiblist_a15_0.txt) include $(vision_sdk_PATH)/build/hlos/makerules/linux/common_footer_a15.mk have follow problem /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_all/lib/tda2xx-evm/a15_0/release/apps.a(frameCopyAlgoCpu.o): In function `Alg_FrameCopyProcess': frameCopyAlgoCpu.c:(.text+0xda): undefined reference to `MMemMgrCreate' frameCopyAlgoCpu.c:(.text+0xea): undefined reference to `AFD_InitialFaceEngine' frameCopyAlgoCpu.c:(.text+0x152): undefined reference to `AFD_StillImageFaceDetection' frameCopyAlgoCpu.c:(.text+0x164): undefined reference to `AFD_UninitialFaceEngine' frameCopyAlgoCpu.c:(.text+0x16a): undefined reference to `MMemMgrDestroy + +Responses: +Hello changes in \vision_sdk\apps\src\hlos\adas\src\alg_plugins\openclframecopy\MAKEFILE.MK are correct. please check you placed your libs and header files under $(vision_sdk_PATH)/mylibs/include and $(vision_sdk_PATH)/mylibs/ regards, Shiju + +If still not working try to include your libs in \vision_sdk\build\hlos\makerules\linux\common_footer_a15.mk regards, Shiju + +Hi: Shiju check you placed your libs and header files under $(vision_sdk_PATH)/mylibs/include and $(vision_sdk_PATH)/mylibs/ i have check this . include my libs in \vision_sdk\build\hlos\makerules\linux\common_footer_a15.mk you mean like this ?? ////////////////// ifndef $(COMMON_FOOTER_MK) COMMON_FOOTER_MK = 1 OBJS=$(subst .c,.o, $(FILES) ) OBJSCPP=$(subst .cpp,.o, $(FILESCPP) ) OBJ_DIR=$(OBJ_BASE_DIR) vpath %.o $(OBJ_DIR) LIB = $(MODNAME).a LIB += $(vision_sdk_PATH)/mylibs/libarcsoft_face_detection.a LIB += $(vision_sdk_PATH)/mylibs/libarcsoft_face_base.a LIB += $(vision_sdk_PATH)/mylibs/mpbase.a //////////////////////////////// thanks shuai + +Hi: Shiju add in common_footer_a15.mk but still the same LIB += $(vision_sdk_PATH)/mylibs/libarcsoft_face_detection.a LIB += $(vision_sdk_PATH)/mylibs/libarcsoft_face_base.a LIB += $(vision_sdk_PATH)/mylibs/mpbase.a BEST WISHES SHUAI + +Hello Try to add similar way of "OPENCV_LIBS" are included in \vision_sdk\build\hlos\makerules\linux\common_footer_a15.mk This is the way we have included various libraries regards, Shiju + diff --git a/sample_embedding_folder2/0694520.txt b/sample_embedding_folder2/0694520.txt new file mode 100644 index 0000000000000000000000000000000000000000..7dbf3dc9f7a8f61d482f92d55212050c0bcaca49 --- /dev/null +++ b/sample_embedding_folder2/0694520.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Max objects count using AWR1243. + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: AWR1243 Hi, We are working on AWR1243 with TDA2px board. We just want to know what is the maximum number of objects, can be detected by AWR1243. + +Responses: +Hi Vasantha, The maximum number of objects is a function of the memory and processing power. It is usually an application defined requirement. You can use the Radar System planner available in the Processor SDK Radar release package to analyze the processing power and memory bandwidth requirement for the number of objects you are looking at. Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0694580.txt b/sample_embedding_folder2/0694580.txt new file mode 100644 index 0000000000000000000000000000000000000000..80271773aa858083bfdbf1a7c453869272f9144d --- /dev/null +++ b/sample_embedding_folder2/0694580.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2: TDA2xx compile opencl usecase error + +Query Text: +Part Number: TDA2 Tool/software: Linux i wrote a usecase to use Alg_OpenClFrameCopy,the config file is: UseCase: chains_openclFrameCopy NullSource (A15) -> Decode -> Alg_OpenClFrameCopy (A15) -> VPE -> Display And the Automatically generated .h and .c files is : typedef struct { UInt32 NullSourceLinkID; UInt32 IPCOut_A15_0_IPU1_0_0LinkID; UInt32 IPCIn_IPU1_0_A15_0_0LinkID; UInt32 DecodeLinkID; UInt32 IPCOut_IPU1_0_A15_0_0LinkID; UInt32 IPCIn_A15_0_IPU1_0_0LinkID; UInt32 Alg_OpenClFrameCopyLinkID; UInt32 IPCOut_A15_0_IPU1_0_1LinkID; UInt32 IPCIn_IPU1_0_A15_0_1LinkID; UInt32 VPELinkID; UInt32 DisplayLinkID; NullSrcLink_CreateParams NullSourcePrm; IpcLink_CreateParams IPCOut_A15_0_IPU1_0_0Prm; IpcLink_CreateParams IPCIn_IPU1_0_A15_0_0Prm; DecLink_CreateParams DecodePrm; IpcLink_CreateParams IPCOut_IPU1_0_A15_0_0Prm; IpcLink_CreateParams IPCIn_A15_0_IPU1_0_0Prm; AlgorithmLink_OpenClFrameCopyCreateParams Alg_OpenClFrameCopyPrm; IpcLink_CreateParams IPCOut_A15_0_IPU1_0_1Prm; IpcLink_CreateParams IPCIn_IPU1_0_A15_0_1Prm; VpeLink_CreateParams VPEPrm; DisplayLink_CreateParams DisplayPrm; } chains_openclFrameCopyObj; When I write a complete case to compile, I get the following error: chains_openclFrameCopy_priv.h:103:8: error: unknown type name 'AlgorithmLink_OpenClFrameCopyCreateParams' AlgorithmLink_OpenClFrameCopyCreateParams Alg_OpenClFrameCopyPrm; ^ In file included from chains_openclFrameCopy_priv.c:70:0: chains_openclFrameCopy_priv.h:103:8: error: unknown type name 'AlgorithmLink_OpenClFrameCopyCreateParams' AlgorithmLink_OpenClFrameCopyCreateParams Alg_OpenClFrameCopyPrm; I have added a header file in chains_openclFrameCopy_priv.h,but it still error. #include How can i resolve this problem? + +Responses: +Hi Can you give some more information like which MAKECONFIG are you using ? & Is OPENCL_INCLUDE flag is enabled in that config ? Regards Surya + +Hi my vision_sdk/build/Rules.make config mode is :MAKECONFIG?= tda2xx_evm_linux_all ; and i check that vision_sdk\apps\configs\tda2xx_evm_linux_all\cfg.mk has not define OPENCL_INCLUDE=yes. Thank you for giving me great help. Regards Xie Baojian + +Hi Xie Baojian, When using OPENCL better to use MAKECONFIG= tda2xx_evm_linux_opencx Regards Surya + +Hi, OK, i will try it, thanks. Regards Xie Baojian + diff --git a/sample_embedding_folder2/0694596.txt b/sample_embedding_folder2/0694596.txt new file mode 100644 index 0000000000000000000000000000000000000000..cadda24bfa95b0686f115cda1f4564aa899ca765 --- /dev/null +++ b/sample_embedding_folder2/0694596.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: CDDS link about TIDL ON TDA2X + +Query Text: +Part Number: TDA2 hi, I could not open the link "cdds.ext.ti.com/.../emxNavigator.jsp 30602.25095 " from the user guide paper, could you please send the CDDS link to me? Or could you please send me the video to my email 530294114@qq.com? I want to bring up the tda2x board with the TIDL. Looking forward to your reply! BR + +Responses: +Hi, TIDL Object release is part of TI’s processor software development (SDK) for vision. You can download this from below link, www.ti.com/.../PROCESSOR-SDK-TDAX In the vision SDK, you’ll find TIDL with documents at \ti_components\algorithms\. Source release of TIDL is available as standalone release via CDDS. Please work with your local TI representative to get access to the same. Thanks, Praveen + diff --git a/sample_embedding_folder2/0694599.txt b/sample_embedding_folder2/0694599.txt new file mode 100644 index 0000000000000000000000000000000000000000..ded05ec4ac886afb45844d77aa5d6ae5a32edfe1 --- /dev/null +++ b/sample_embedding_folder2/0694599.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: TDA2xx How to compile opencl + +Query Text: +Part Number: TDA2 Tool/software: Linux I want to use opencl encapsulation in my algorithm, I added " OPENCL_INCLUDE=yes " in the configuration file (vision_sdk\apps\configs\tda2xx_evm_linux_all\cfg.mk) . But compiled failed. How can I make the “OPENCL_INCLUDE“ effective? + +Responses: +Hi, can you try to set MAKECONFIG to tda2xx_evm_linux_opencx in vision_sdk/build/Rules.make? (Or compare the contents of vision_sdk/apps/configs/tda2xx_evm_linux_opencx and vision_sdk/apps/configs/tda2xx_evm_linux_all/) Regards, Yordan + diff --git a/sample_embedding_folder2/0694605.txt b/sample_embedding_folder2/0694605.txt new file mode 100644 index 0000000000000000000000000000000000000000..1040279581e7fc5d3c4623118f38a6a3bc04b896 --- /dev/null +++ b/sample_embedding_folder2/0694605.txt @@ -0,0 +1,16 @@ +Ticket Name: Linux/TDA2: TDA2xx vision_sdk Compile Error + +Query Text: +Part Number: TDA2 Tool/software: Linux when i make -s -j to compile vision_sdk,The following error occurred: # Linking into /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_all/vision_sdk/bin/tda2xx-evm/vision_sdk_c66xdsp_1_release.xe66... undefined first referenced symbol in file --------- ---------------- EDMA3_semCreate /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_all/lib/tda2xx-evm/c66xdsp_1/release/utils_common.ae66 EDMA3_semDelete /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_all/lib/tda2xx-evm/c66xdsp_1/release/utils_common.ae66 edma3OsProtectEntry /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_all/lib/tda2xx-evm/66/release/edma3lld_drv.ae66 edma3OsProtectExit /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_all/lib/tda2xx-evm/66/release/edma3lld_drv.ae66 edma3OsSemGive /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_all/lib/tda2xx-evm/66/release/edma3lld_drv.ae66 edma3OsSemTake /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_all/lib/tda2xx-evm/66/release/edma3lld_drv.ae66 error: unresolved symbols remain error: errors encountered during linking; "/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2 xx_evm_linux_all/vision_sdk/bin/tda2xx-evm/vision_sdk_c66xdsp_1_release.xe66 " not built make[7]: *** [/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_all/vision_sdk/bin/tda2xx-evm/vision_sdk_c66xdsp_1_release.xe66] Error 1 make[6]: *** [c66xdsp_1] Error 2 make[5]: *** [apps_dsp1] Error 2 make[5]: *** Waiting for unfinished jobs.... # # /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_all/vision_sdk/bin/tda2xx-evm/vision_sdk_c66xdsp_2_release.xe66 created. # make[4]: *** [apps] Error 2 make[3]: *** [apps] Error 2 make[2]: *** [apps_exe] Error 2 make[1]: *** [apps] Error 2 make: *** [vision_sdk] Error 2 How can I solve this error? + +Responses: +Hi, Can you let us know what all other commands you run before running "make -s -j" Regards Surya + +Hi, before running "make -s -j" ,i just run "make -s -j depend". Regards Xie Baojian + +Hi Xie Baojian, Is there any change in SDK site or is it a plain SDK ? Regards Surya + +Hi, i have no change in SDK ,but when i delete DIR/vision_sdk/binaries/$(MAKEAPPNAME)/$(MAKECONFIG) folder and compiled again,it Compiled successfully. i don't know why... Regards Xie Baojian + +Hi Xie, Sometimes using -j creates a problem as one of the build targets would have failed due to dependencies, system load, etc. E.g. The error message you have shared above shows issue with EDMA LLD build. Typically you should not use -j while building for the first time, -j should be mostly used with incremental builds. Regards, Rishabh + diff --git a/sample_embedding_folder2/0694669.txt b/sample_embedding_folder2/0694669.txt new file mode 100644 index 0000000000000000000000000000000000000000..0dff1b72c2e05dadd5284c484d25b353fad0c346 --- /dev/null +++ b/sample_embedding_folder2/0694669.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2EVM5777: Comparison between Sparse and Dense Model ? + +Query Text: +Part Number: TDA2EVM5777 Hi, I have copied object detection trained models from caffe-jacinto-models github repo ( github.com/.../ssd512x512_ds_PSP_dsFac_32_fc_0_hdDS8_1_kerMbox_3_1stHdSameOpCh_1) And i am trying to compare the execustion time for Dense Model and Sparse Model. As per the datasheet, Sparse model execution must be faster than dense model. But, I am getting different result. Setup : 1. TDA2x EVM Board is connected to CCS using XDS560 JTAG. 2. Build and generated eve_test_dl_algo.out (release mode) for test app (in tidl folder) 3. Using CCS Load Program eve_test_dl_algo.out executed on EVE Output: 1. Sparse Model: TEST_REPORT_INIT_PROFILE_DATA : TSC cycles = 2117750600, SCTM VCOP BUSY cycles = 0, SCTM VCOP Overhead = 0 I/O Bytes : 0 ( 0 + 0 ) : 0 ( 0 + 0 ) Processing Frame Number : 0 TEST_REPORT_PROCESS_PROFILE_DATA : TSC cycles = 69244619476, SCTM VCOP BUSY cycles = 108141852, SCTM VCOP Overhead = 0 I/O Bytes : 0 ( 0 + 0 ) : 0 ( 0 + 0 ) - Execution Time = TSC cycles / EVE Frequncy - Considering only PROCESS PROFILE DATA - Execution Time: 129.4291953 seconds (EVE Frequncy: 535 MHz) 2. Dense Model: TEST_REPORT_INIT_PROFILE_DATA : TSC cycles = 3165035504, SCTM VCOP BUSY cycles = 0, SCTM VCOP Overhead = 0 I/O Bytes : 0 ( 0 + 0 ) : 0 ( 0 + 0 ) Processing Frame Number : 0 TEST_REPORT_PROCESS_PROFILE_DATA : TSC cycles = 62898624182, SCTM VCOP BUSY cycles = 275218342, SCTM VCOP Overhead = 0 I/O Bytes : 0 ( 0 + 0 ) : 0 ( 0 + 0 ) - Execution Time = TSC cycles / EVE Frequncy - Considering only PROCESS PROFILE DATA - Execution Time: 117.5675218 seconds (EVE Frequncy: 535 MHz) Whether this setup is correct ? Sparse Model execution time is more that Dense Model ? Regards, Sagar Attached Log: tidl_object_detection_eve_JTAG_emulation_log.zip + +Responses: +Hi Sagar, >>As per the datasheet, Sparse model execution must be faster than dense model. But, I am getting different result. Yes, but this not true for small image sizes as we optimised the dense convolution kernels (1x1 and 3x3) for small ROI processing. Please refer to FAQ 8 in the user guide for more information on these. Thanks, Praveen + +Hi Praveen, If i want to reproduce the same result that TI has provided in the datasheet, Which models shall i compare and what should be procedure? Can you please provide me the link for Initial Model and Sparse Model ? And whether my setup (with JTAG) is correct to validate the same? Regards, Sagar + +Hi Sagar, Please use the segmentation model bin files (jsegnet21) available in the release package to reproduce the profile numbers in datasheet. Link for models is github.com/.../caffe-jacinto-models. Yes, your setup looks fine. Thanks, Praveen + +Hi I will check segmentation model files. But, I am specifically interested in object detection model comparison. Can you please share the link for that ? And I also While Importing, We get GigaMacs requirement for the model. Can we calculate the execution time for that model on EVE/DSP ? Assume that for a model GigaMacs requirement is 1.6 GMacs. And according to EVE datasheet , EVE can process 16 MACs per Cycle. So, Considering EVE Freq = 535MHz Execution Time = (Total Macs required / 16 ) * (1 / 535MHz) secs = 1.6 G /( 16 * 535 M) = 0.18 seconds Whether the above calculation is correct and Can we assume we will get actual execution time on board same or nearby to this value? Regards, Sagar + +>> I am specifically interested in object detection model comparison. Can you please share the link for that ? Github link that I shared has both segmentation and SSD models. >> Whether the above calculation is correct and Can we assume we will get actual execution time on board same or nearby to this value? Yes, the calculation is correct, but considering the 16 MACs per Cycle is not correct, please refer to datasheet for actual MACs/cycle for different layers with different configuration. Do consider those values for calculating the execution time. Thanks, Praveen + diff --git a/sample_embedding_folder2/0694836.txt b/sample_embedding_folder2/0694836.txt new file mode 100644 index 0000000000000000000000000000000000000000..8e059e2538e952f1002f6298b83460b6e13968d6 --- /dev/null +++ b/sample_embedding_folder2/0694836.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2: Have image sensor driver sample code can provide to refer? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Sir, As CMOS Image Sensor Solutions pdf from TI we know TDA2 support AR0136 of OnSemi and OV10640 of Omnivison. Have AR0136 or OV10640 image sensor driver sample code can provide to us refer? Thanks for your support. P.S We can find seem like image sensor driver sample code at ($SDKv3.3_INSTALL)\ti_components\drivers\pdk_01_09_00_17\packages\ti\drv\vps\src\devices. + +Responses: +Hi, Yes, you could find the code for the sensor in VSDK under path vision_sdk\apps\src\rtos\iss\src\sensor\ov10640\iss_sensor_ov10640.c or in the PDK drivers.. Rgds, Brijesh + +Hi Brijesh, I find it, thanks. Which one sample code can refer if we want to control AR0136 ? + +Hi, AR0136 is not supported in VSDK. Rgds, Brijesh + +Understand, thanks. + diff --git a/sample_embedding_folder2/0694881.txt b/sample_embedding_folder2/0694881.txt new file mode 100644 index 0000000000000000000000000000000000000000..843b77e98d2f62b113d01fa9692a0f57d65df0ad --- /dev/null +++ b/sample_embedding_folder2/0694881.txt @@ -0,0 +1,30 @@ +Ticket Name: Linux/TDA2: about nullSrcLink_tsk.c + +Query Text: +Part Number: TDA2 Tool/software: Linux I add some print it in the file of vision_sdk\links_fw\src\rtos\links_common\nullSrc\nullSrcLink_tsk.c ,then i run "make -s -j depend" and "make -s -j", and i run the apps.out on the HW environment ,But The print information I added was not printed out. It seems that the file nullSrcLink_tsk.c I changed is not compiled. it only print: [HOST] [IPU2 ] 43.077167 s: Assertion @ Line: 1500 in nullSrcLink_tsk.c: pObj->fpDataStream[chId] != SYSTEM_LINK_STATUS_EFAIL : failed !!! How can I print out the printed information on the file nullSrcLink_tsk.c? + +Responses: +Hi Xie, You should use Vps_printf for print logs. Regards, Rishabh + +Hi Rishabh, i used Vps_printf , but it seems the change of nullSrcLink_tsk.c has no effect, It seems to be compiled and not updated. I want to know my chain (NullSource (IPU1_0) -> Decode -> Alg_FrameCopy (A15) -> VPE -> Display ) Will execute this nullSrcLink_tsk.c file? or it execute other nullSrcLink_tsk.c? Regards Xie Baojian + +Hi, Can you share the updated nullSrcLink_tsk.c. Regards, Rishabh + +Hi, My change part as follows: Vps_printf("##############\n"); Vps_printf("xbj filename = %s \n", (Char *)pPrm->channelParams[chId].nameDataFile); strncpy((Char *)pPrm->channelParams[chId].nameDataFile, "./1920_1080/1280_720_1.h264", 260); UTILS_assert( (pPrm->channelParams[chId].nameDataFile[0] != (char)'\0')); pObj->fpDataStream[chId] = File_open((Char *)pPrm->channelParams[chId].nameDataFile, "r"); UTILS_assert(pObj->fpDataStream[chId] != SYSTEM_LINK_STATUS_EFAIL); the I added the first three lines In order to locate a mistake. Regards, Xie Baojian + +Hi Xie, Do you have the above mentioned file ./1920_1080/1280_720_1.h264. Can you give absolute path and try. Regards, Rishabh + +Hi, OK,i will try the absolute path, but It's strange that printing does not execute. thanks. Regards, Xie Baojian + +Hi Xie, Agreed it is strange. Let's first try to resolve the assert issue. Regards, Rishabh + +Hi Regards, the assert issue Says file open failed, Because there is no print information to locate,I don't know why the file opened failed. Regards, Xie Baojian + +Hi Xie, Did you try the absolute path? Regards, Rishabh + +Hi Xie , I see in the query Tool/software: Linux But you are using nullSrc in bios , Please note if you are using Linux as hlos please change the usecase and add nullSrc on A15. Please refer the following thread If you are using bios on A15, Please verify if the files are present in the drive . Regards Chetan.M + +Hi Chetan.M, I am using tda2xx_evm_linux_all mode ,so i cannot use NullSource (IPU2)? Can only use NullSource (A15)? Is that right? Regards, Xie Baojian + +Yes , Fatfs and network will be in control of hlos core. Please close the thread Regards Chetan.M + diff --git a/sample_embedding_folder2/0694908.txt b/sample_embedding_folder2/0694908.txt new file mode 100644 index 0000000000000000000000000000000000000000..6030fff77fe3f33fb3d6763c9a193b2e4df14170 --- /dev/null +++ b/sample_embedding_folder2/0694908.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: IPv6 API header file + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hello, When including the IPv6 support I am getting errorfor missing prototype for IPv6 interface functions. I have included netmain.h, servers.h & console.h. # Compiling tda3xx-evm:ipu1_1:release:utils_common: ndk/ndk_nsp_hooks.c "ndk/ndk_nsp_hooks.c", line 807: error: function "IPv6InterfaceInit" declared implicitly "ndk/ndk_nsp_hooks.c", line 858: error: function "IPv6InterfaceDeInit" declared implicitly Including ti/ndk/inc/stack/inc/ip6if.h causes variable undefined errors. error: identifier "IPV6HDR" is undefined error: identifier "PSEUDOV6" is undefined Which header file contains the prototypes for IPv6 APIs? + +Responses: +Prasad, You need to add the following include: #include <_stack.h> Best Regards, Gerardo + diff --git a/sample_embedding_folder2/0694951.txt b/sample_embedding_folder2/0694951.txt new file mode 100644 index 0000000000000000000000000000000000000000..cb5a054064145df69765d337cd2c0ee61e9a8a69 --- /dev/null +++ b/sample_embedding_folder2/0694951.txt @@ -0,0 +1,28 @@ +Ticket Name: Linux/TDA2: TDA2xx compile tda2xx_evm_linux_opencl mode + +Query Text: +Part Number: TDA2 Tool/software: Linux i want to run the vip_single_cam_openclframe_copy usecase. I modified it in the configuration file :MAKECONFIG?= tda2xx_evm_linux_opencl and i have download opencl_fs_patches folder put in the path :/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/targetfs then i make linux->make linux_install -> make -s -j depend ->make -s -j But Compile failure. Is there anything else I need to set up? the document VisionSDK_UserGuide_opencx.pdf is not very detailed. + +Responses: +the compile error information is: # Linking into /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencl/vision_sdk/bin/tda2xx-evm/vision_sdk_c66xdsp_1_release.xe66... # Linking into /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencl/vision_sdk/bin/tda2xx-evm/vision_sdk_c66xdsp_2_release.xe66... undefined first referenced symbol in file --------- ---------------- EDMA3_semCreate /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencl/lib/tda2xx-evm/c66xdsp_1/release/utils_common.ae66 EDMA3_semDelete /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencl/lib/tda2xx-evm/c66xdsp_1/release/utils_common.ae66 edma3OsProtectEntry /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencl/lib/tda2xx-evm/66/release/edma3lld_drv.ae66 edma3OsProtectExit /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencl/lib/tda2xx-evm/66/release/edma3lld_drv.ae66 edma3OsSemGive /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencl/lib/tda2xx-evm/66/release/edma3lld_drv.ae66 edma3OsSemTake /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencl/lib/tda2xx-evm/66/release/edma3lld_drv.ae66 rtos_init_ocl_dsp_monitor /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencl/lib/tda2xx-evm/c66xdsp_1/release/links_common_system.ae66 error: unresolved symbols remain error: errors encountered during linking; "/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2 xx_evm_linux_opencl/vision_sdk/bin/tda2xx-evm/vision_sdk_c66xdsp_1_release.x e66" not built make[7]: *** [/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencl/vision_sdk/bin/tda2xx-evm/vision_sdk_c66xdsp_1_release.xe66] Error 1 make[6]: *** [c66xdsp_1] Error 2 make[5]: *** [apps_dsp1] Error 2 make[5]: *** Waiting for unfinished jobs.... # # /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencl/vision_sdk/bin/tda2xx-evm/vision_sdk_c66xdsp_2_release.xe66 created. # Creating /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencl/vision_sdk/bin/tda2xx-evm/vision_sdk_c66xdsp_2_release.xe66 /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencl/vision_sdk/bin/tda2xx-evm/vision_sdk_c66xdsp_2_release.xe66 make[4]: *** [apps] Error 2 make[3]: *** [apps] Error 2 make[2]: *** [apps_exe] Error 2 make[1]: *** [apps] Error 2 make: *** [vision_sdk] Error 2 + +Hi Xie, As advised earlier can you try doing "make -s depend" and "make -s" and see if the build passes. Regards, Rishabh + +Hi, i try that,it still compile failed, # links_a15_sync: tda2xx-evm: Creating archive links_a15_sync.a # system: tda2xx-evm: Creating archive system.a # links_a15_nullSrc: tda2xx-evm: Creating archive links_a15_nullSrc.a # osa: tda2xx-evm: Creating archive osa.a Compiling OpenCL file copy.cl The C6000 compiler installation specified by TI_OCL_CGT_INSTALL does not exist: /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/cg_tools/linux/ti-cgt-c6000_8.1.0 make[7]: *** [copy.dsp_h] Error 1 make[6]: *** [opencl_build] Error 2 make[5]: *** [vision_sdk_linux_demo] Error 2 make[4]: *** [apps] Error 2 make[3]: *** [apps_exe_hlos] Error 2 make[2]: *** [apps_hlos] Error 2 make[1]: *** [apps] Error 2 make: *** [vision_sdk] Error 2 it seems i miss ti-cgt-c6000_8.1.0, do you know where can i get it? thanks Regards, Xie Baojian + +Hi, You can get it from www.ti.com/.../8.1.0. Regards, Rishabh + +Hi, Thanks,i have get the ti-cgt-c6000_8.1.0. Regards, Xie Baojian + +Hi Rishabh, can you talk about it in detail about (add dsp compiler bin path to PATH variable & build export PATH=/bin:$PATH)? i do it like this : PATH=/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/cg_tools/linux/ti-cgt-c6000_8.1.0 export PATH=/bin:$PATH but it failed: bash: /bin:/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/cg_tools/linux/ti-cgt-c6000_8.1.0: No such file or directory What should I do? Regards Xie Baojian + +Hi Xie, Can you run the following command and let me know the result "cd /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/cg_tools/linux/ti-cgt-c6000_8.1.0/bin". Regards, Rishabh + +Hi Rishabh, I have solved this problem,thank you very much. Regards, Xie Baojian + +Hi Xie, Glad to know that your issue is resolved. Can you please share the resolution so that others can benefit from it in future. Regards, Rishabh + +Hi Regards, sure, I follow the steps below: 1、vi ~/.bashrc 2、add :export PATH=/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/cg_tools/linux/ti-cgt-c6000_8.1.0/bin:/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/cg_tools/linux/ti-cgt-c6000_8.1.0:$PATH and run make linux_clean make linux make linux_install make -s -j depend make -s -j opencx Regards, Xie Baojian + +Hi Xie, Thanks for sharing resolution. I am closing this thread. Regards, Rishabh + diff --git a/sample_embedding_folder2/0694960.txt b/sample_embedding_folder2/0694960.txt new file mode 100644 index 0000000000000000000000000000000000000000..dd7c3e5e029c1305f7f680d66bed9d125e22f264 --- /dev/null +++ b/sample_embedding_folder2/0694960.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: MAKECONFIG?= tda2xx_evm_linux_opencl make fail + +Query Text: +Part Number: TDA2 Tool/software: Linux i want try MAKECONFIG?= tda2xx_evm_linux_opencl in visionsdk but when build make -s -j have problem , cg_tools/linux/ti-cgt-c6000_8.1.0 no ti-cgt-c6000_8.1.0 exist , The C6000 compiler installation specified by TI_OCL_CGT_INSTALL does not exist: /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/cg_tools/linux/ti-cgt-c6000_8.1.0 make[7]: *** [copy.dsp_h] Error 1 make[6]: *** [opencl_build] Error 2 make[5]: *** [vision_sdk_linux_demo] Error 2 make[4]: *** [apps] Error 2 make[3]: *** [apps_exe_hlos] Error 2 make[2]: *** [apps_hlos] Error 2 make[1]: *** [apps] Error 2 + +Responses: +Hi Shuai, With VSDK 3.2 release the compiler version for C6000 was 7.4.2. Can you check if you have the folder C6000_7.4.2 in path PROCESSOR_SDK_VISION_03_02_00_00\ti_components\cg_tools\linux\C6000_7.4.2. Regards, Rishabh + +Hi Rishabh yes ti_components\cg_tools\linux\C6000_7.4.2 BESTWISHES shuai + +Hi Shuai, Can you download the ti-cgt-c6000_8.1.0 from www.ti.com/.../8.1.0 and install it in ti_components\cg_tools\linux\ folder and then try the build. Regards, Rishabh + diff --git a/sample_embedding_folder2/0695027.txt b/sample_embedding_folder2/0695027.txt new file mode 100644 index 0000000000000000000000000000000000000000..7eaf38a9c01e232f22a51562b70f642d34d801aa --- /dev/null +++ b/sample_embedding_folder2/0695027.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: TDA2xx Compile Opencl usecase + +Query Text: +Part Number: TDA2 Tool/software: Linux when i compile opencl usecase ,There is a mistake as follows: Compiling OpenCL file copy.cl >> WARNING: invalid compiler option --bc_file=copy.bc (ignored) "/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/../ti_components/os_tools/linux/targetfs/usr/share/ti/opencl/dsp.syms", line 9: error #10022-D: invalid option: --single_data_segment "/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/../ti_components/os_tools/linux/targetfs/usr/share/ti/opencl/dsp.syms", line 10: error #10022-D: invalid option: --no_entry_point warning #10247-D: creating output section ".stack" without a SECTIONS specification warning #10210-D: creating ".stack" section with default size of 0x400; use the -stack option to change the default size undefined first referenced symbol in file --------- ---------------- main /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/cg_tools/linux/ti-cgt-c6000_8.1.0/lib/rts6600_elf.lib error #10234-D: unresolved symbols remain error #10010: errors encountered during linking; "copy.out" not built >> Compilation failure make[7]: *** [copy.dsp_h] Error 255 make[6]: *** [opencl_build] Error 2 make[5]: *** [vision_sdk_linux_demo] Error 2 make[4]: *** [apps] Error 2 make[3]: *** [apps_exe_hlos] Error 2 make[2]: *** [apps_hlos] Error 2 make[1]: *** [apps] Error 2 make: *** [vision_sdk] Error 2 Do anyone know how to do it? + +Responses: +Hi Xie Baojian, What all commands you run till now? Regards Surya + +Hi Xie Baojian, If the compilation issue is resolved, Can you close this thread ? Regards Surya + +Hi Surya, the issue is resolved, thank you very much. Regards, Xie Baojian + diff --git a/sample_embedding_folder2/0695069.txt b/sample_embedding_folder2/0695069.txt new file mode 100644 index 0000000000000000000000000000000000000000..8c4d1201b646144c9a72d6de7fa2621335cf68f8 --- /dev/null +++ b/sample_embedding_folder2/0695069.txt @@ -0,0 +1,22 @@ +Ticket Name: Linux/TDA2PXEVM: Ethernet PHY1 not working on TDA2Px board + +Query Text: +Part Number: TDA2PXEVM Tool/software: Linux Dear TI, I am trying to get ETH1 (ETH0 works fine) phy to work on TDA2Px eva board. The link starts but I can not get IP from the network. The relevant part of the device tree looks like this: &cpsw_emac0 { phy_id = <&davinci_mdio>, <2>; phy-mode = "rgmii-id"; dual_emac_res_vlan = <1>; }; &cpsw_emac1 { phy_id = <&davinci_mdio>, <3>; phy-mode = "rgmii-id"; dual_emac_res_vlan = <2>; }; &davinci_mdio { dp83867_0: ethernet-phy@2 { reg = <2>; ti,rx-internal-delay = ; ti,tx-internal-delay = ; ti,fifo-depth = ; ti,min-output-impedance; ti,dp83867-rxctrl-strap-quirk; }; dp83867_1: ethernet-phy@3 { reg = <3>; ti,rx-internal-delay = ; ti,tx-internal-delay = ; ti,fifo-depth = ; ti,min-output-impedance; ti,dp83867-rxctrl-strap-quirk; }; }; I have checked the PHY addresses on the schematic and the actual board and they are set corretly. However, the register handling the rgmii1_rxd0 (CTRL_CORE_PAD_VIN2A_D23) is set to the wrong value - devmem2 0x4A00 35C4 0x0004 0005. After I set this to 0x0005 0103, I still cant get IP. This means there are more registers wrongly set. Here is ifconfig output after I plug in the ethernet cable to PHY1: root@dra7xx-evm:~# ifconfig eth0 Link encap:Ethernet HWaddr 0C:B2:B7:94:1C:3C UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:58 eth1 Link encap:Ethernet HWaddr 0C:B2:B7:94:1C:3D inet6 addr: fe80::eb2:b7ff:fe94:1c3d%132400/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:62 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:11779 (11.5 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1%132400/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:172 errors:0 dropped:0 overruns:0 frame:0 TX packets:172 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:13408 (13.0 KiB) TX bytes:13408 (13.0 KiB) ..................................................................... root@dra7xx-evm:~# ethtool eth1 Settings for eth1: Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Link partner advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Link partner advertised pause frame use: No Link partner advertised auto-negotiation: Yes Speed: 100Mb/s Duplex: Full Port: MII PHYAD: 3 Transceiver: external Auto-negotiation: on Supports Wake-on: d Wake-on: d Current message level: 0x00000000 (0) Link detected: yes .............................................................................. root@dra7xx-evm:~# ethtool eth0 Settings for eth0: Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supported pause frame use: No Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Speed: 10Mb/s Duplex: Half Port: MII PHYAD: 2 Transceiver: external Auto-negotiation: on Supports Wake-on: d Wake-on: d Current message level: 0x00000000 (0) Link detected: no After I run systemctl status networking, systemctl unmask networking, systemctl enable networking, systemctl start networking and systemctl restart networking, i get: root@dra7xx-evm:~# systemctl restart networking [ 616.666154] net eth0: initializing cpsw version 1.15 (0) [ 616.721462] net eth0: phy found : id is : 0x2000a231 [ 616.730910] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready Meaning... Only eth0 is being detected. Have you encountered this problem and how did you solve it? Regards, Stefan. + +Responses: +Stefan Based on your description, it seems you have already cross checked that the PHY address is correct From the logs, above only eth1 shows link status up - may be it is intentional as you are only checking eth1 and eth0 cable is disconnected As you had pointed out, if pin mux configuration is not correct(owing to a conflict for the default use case), we need to review and address this The default init scripts will try and initialize network functionality over eth0. You can retrigger udhcp explicitly over eth1 #udhcpc -i eth1 + +Hi Sriram, running this command fails to assign IP address. root@dra7xx-evm:~# udhcpc -i eth1 udhcpc (v1.24.1) started Sending discover... Sending discover... Seems like this pinmux has more issues that need to be handled. Do you have any other propositions? Regards, Stefan. + +Stefan Yes, would suspect the pin mux configuration for the ethernet data lines in that case. Have you reviewed Can you provide details on the SW code base you are using and if you had carried out any additional changes with respect to the pin mux configuration from SW + +Stefan Is the issue resolved, can you revert back with details if it is still a concern + +Stefan Will close this thread, we can resume if the issue is still open at your end + +Hi Srirama, Stefan is currently on a vacation. We do still have the issue, but unfortunately, I cannot provide you more details. Regarding the SW code base, we are using PROCESSOR SDK 3.2, and Ethernet stack on Linux on A15. Regards, Milena + +Hi we need to confirm if there were changes carried out for the pin mux configuration and review those changes. The pin mux configuration when Linux is used is carried out from the uboot first stage bootloader - please review for ethernet related pin configuration (MDIO, RGMII) + +Hi Srirama, we have managed to solve this issue on our custom TDA2P board and we have both ETH PHY running. We are now working on enabling daisy chain ethernet functionality between two SOCs in linux. Thank you for your help. Regards, Stefan. + diff --git a/sample_embedding_folder2/0695244.txt b/sample_embedding_folder2/0695244.txt new file mode 100644 index 0000000000000000000000000000000000000000..32ffce7f9d5c804c1e07ef33c4b179ee2a8bf9c2 --- /dev/null +++ b/sample_embedding_folder2/0695244.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: the detailed about Sgx3Dsrv + +Query Text: +Part Number: TDA2 hi, Could you please tell me the output of the Sgx3Dsrv module? What is the format of the output of the Sgx3Dsrv? I mean is it YUV raw data or h264 compressed data? What is the protocol of that packed stream data? And the response data struct of code? + +Responses: +Hi Th output of Sgx3Dsrv module from the GPU (SGX core) is ARGB32, which is fed to the display HW of TDA2x SoC. No protocol for any packed stream data is used here, just elementary video stream is generated and displayed regards, Shiju + diff --git a/sample_embedding_folder2/0695331.txt b/sample_embedding_folder2/0695331.txt new file mode 100644 index 0000000000000000000000000000000000000000..688cb505290d99a48bda0c63fa77dd1fa06408ae --- /dev/null +++ b/sample_embedding_folder2/0695331.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: TIDL Benchmarks + +Query Text: +Part Number: TDA2 Hey, are there more benchmarks for TIDL tests that maybe also don´t only work with CNN models? Are there additional benchmakrs for TDA2x? cheers NIco + +Responses: +Refer the TIDL data sheet and users guide for suported layer types and their benchmarks. + +yea I checked that, but it appears everything was done using CNN models. Are there other tests where non-image inputs were used? + +No. We have used image based inputs only + diff --git a/sample_embedding_folder2/0695383.txt b/sample_embedding_folder2/0695383.txt new file mode 100644 index 0000000000000000000000000000000000000000..53397a9a95ff5062c14839741d769de41d8cd7ac --- /dev/null +++ b/sample_embedding_folder2/0695383.txt @@ -0,0 +1,20 @@ +Ticket Name: TDA2EVM5777: TDA2EVM5777 NAND flash & NOR flash + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hello I study form the EVM schematics that data pins of nand flash & nor flash is all connected to SW2 & SW3 in page23, which will be set to pull down by 10k or pull up by 1k. why the data pin can be pull up by 1k? is there no problem when SoC is communicating with nand or nor flash? data pin can be pull low when communicating although it is strongly pull up by SW2 or SW3? thank you~ + +Responses: +Hi, EVM has so many switches, jumpers, and muxes so that as much as possible of the SoC features can be tested or debugged. For the field design, much of the switches will not be needed, therefore much of those kind schematics will not be seen. In most of the cases, only the pull-ups, only pull-downs, or none will be on the board. Particularly for the overriding with a 1k the 10k, yes, it is neither an efficient nor good idea, but it is simple and it is working okay in practice for an EVM. Regards, Stan + +Hello If we use just only eMMC & SPI flash,could we remove SW5 & U57? What is the purpose of U57? read the SW5 status by software? thank you~ + +Hi, Typically it is rare to need in real life design: - switches - some that are needed can be replaced with jumpers or resistor jumpers. typically that are the sysboot pin configs and some user configs if any. - muxing ICs - logic ICs - GPIO expander ICs (like U57) Please note that everything depends on design needs, peripheral needs and many other decisions that should be taken during design time. Regards, Stan + +Hello We have no need of GPIO expander(U57) bu we don't know what is the purpose of U57 in EVM what is the function of U57 in EVM? for SoC to read SW5's status? thank you + +For P10-P17, I think they only monitor SW5 for software. However every signal must be evaluated individually. For example, P17 (FORCE_EMU) is a signal to software only. The other 7 go directly to hardware muxes to do the job, and software can monitor them through U57. P0 (SEL_GPMC_AD_VID_S0), on the other hand, is controlled THROUGH software (output from U57) . Similar is for P3-P5, however for P3, P4, there are some notes on the diagram saying it is not supported for them in software. As I already recommended - every signal must be evaluated individually. Regards, Stan + +Hi Stan I have no need to monitor the SW5 by software,and there is no need to use RU33,RU88,RU89 cause I removed them from our design. So I don't need the P0 of U57, I didn't use USB function, so I don't need P1&P2,I didn't use I2C3 ,CAN2 & Ethernet, so I don't need P3&P4. I control the MMC_PWR directly from GPIO pin, so I don't need P5. So I can remove the U57 directly,right? thank you~ + +Sure. I hope you will manage to remove as much as possible of those discrete muxes and logic. TDA2 contains a sophisticated internal muxing covering most of the use-cases in the field. Regards, Stan + diff --git a/sample_embedding_folder2/0695468.txt b/sample_embedding_folder2/0695468.txt new file mode 100644 index 0000000000000000000000000000000000000000..55b9252a5fe908583ac0936249dc898229be3387 --- /dev/null +++ b/sample_embedding_folder2/0695468.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2: 1: 1CH VIP capture + OpenCL Copy (A15->DSP) + SGX Copy + DISPLAY run fail + +Query Text: +Part Number: TDA2 Tool/software: Linux i build tda2xx_evm_linux_opencx and try to run OpenCL Usecases but failed! MAKECONFIG?= tda2xx_evm_linux_opencx [HOST] [HOST ] OpenCompute Usecases [HOST] [HOST ] ---------------------------- [HOST] [HOST ] 2: OpenCV Usecases [HOST] [HOST ] 3: OpenCL Usecases [HOST] [HOST ] [HOST] [HOST ] x: Exit [HOST] [HOST ] [HOST] [HOST ] Enter Choice: [HOST] [HOST ] 3 [HOST] [HOST ] 284.193070 s: [HOST] [HOST ] 284.193100 s: [HOST] [HOST ] [HOST] [HOST ] OpenCL Usecases [HOST] [HOST ] ---------------------------- [HOST] [HOST ] 1: 1CH VIP capture + OpenCL Copy (A15->DSP) + SGX Copy + DISPLAY [HOST] [HOST ] [HOST] [HOST ] x: Exit [HOST] [HOST ] [HOST] [HOST ] Enter Choice: [HOST] [HOST ] 1 [HOST] [HOST ] 288.289208 s: [HOST] [IPU2 ] 288.289361 s: CHAINS: Sensor create in progress [HOST] [IPU2 ] 288.289910 s: VIDEO_SENSOR: INST0 : I2C1 : I2C Addr = 0x30 [HOST] [IPU2 ] 288.386933 s: VIDEO_SENSOR: VIP 0: DRV ID 1203 (I2C ADDR 0x30): a635:0000:7fa2 [HOST] [IPU2 ] 288.387268 s: CHAINS: Sensor create ... DONE !!! [HOST] [IPU2 ] 288.402183 s: CAPTURE: Create in progress !!! [HOST] [IPU2 ] 288.402580 s: CAPTURE: VIP1 Slice0 PortA capture mode is [ 8-bit] !!! ASSERT (chains_vipSingleCamOpenCLFrameCopySgxDisplay_priv.c|chains_vipSingleCamOpenCLFrameCopySgxDisplay_Create|165) [HOST] [HOST ] 288.525071 s: IPC_IN_0 : Create in progress !!! [HOST] [HOST ] 288.525498 s: IPC_IN_0 : Create Done !!! [HOST] [HOST ] 288.525559 s: ALG: ERROR: No alg create function specified (algId = 6) !!! [HOST] [IPU2 ] 288.523973 s: CAPTURE: Create Done !!! [HOST] [IPU2 ] 288.524461 s: IPC_OUT_0 : Create in progress !!! [HOST] [IPU2 ] 288.524827 s: IPC_OUT_0 : Create Done !!! ▒OMAP SD/MMC: 0, OMAP SD/MMC: 1 ** First descriptor is NOT a primary desc on 1:1 ** *** Warning - bad CRC, using default environment + +Responses: +CMEM Error: init: Failed to open /dev/cmem: 'No such file or directory' TIOCL FATAL: The cmemk kernel module is not installed. Consult the OpenCL UserGuide at software-dl.ti.com/.../index.html + +Hi Shuai, did you followed "vision_sdk/docs/FeatureSpecificUserGuides/VisionSDK_UserGuide_opencx.pdf"? There is a chapter about installing cmem module. Regards, Yordan + diff --git a/sample_embedding_folder2/0695618.txt b/sample_embedding_folder2/0695618.txt new file mode 100644 index 0000000000000000000000000000000000000000..aab63ce24b86b94a73340d4374681c6fe277abc3 --- /dev/null +++ b/sample_embedding_folder2/0695618.txt @@ -0,0 +1,28 @@ +Ticket Name: Linux/TDA2: About lvds_vip_multi_cam_3d_srv Demo data dump + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, I'm using the PROCESSOR_SDK_VISION_03_03_00_00_setuplinux.bin. I want to dump data base on the lvds_vip_multi_cam_3d_srv demo. It's link tree is as below. Questions: a.If i add my link tree(ipc -> a15 -> null)at (1), and the demo can run and all 4 camera have image display on screen. But the callback function never being called. Even the callback only have a vps_print(), and there is nothing out. And also i add a callback for the demo's null link. It's also not called. Anyone give me some suggestions? b.If i add my link tree at (2) (same with link tree above). There is still images displayed on screen. The demo looks not work well. Is the image data can be dumped after sync_link? c.I boot system&app from MMC/SD. After i build my app. I need to plug-out my SD & write new app by host. Is there a easy way? Line ethernet? + +Responses: +My build choice is tda2xx_evm_linux_all. And it's configuration is default. + +Add one more question, d. Is sync_link -> dup_link ->null_link OK? + +Hi , a.If i add my link tree(ipc -> a15 -> null)at (1), and the demo can run and all 4 camera have image display on screen. But the callback function never being called. Even the callback only have a vps_print(), and there is nothing out. And also i add a callback for the demo's null link. It's also not called. Anyone give me some suggestions? Ans : This needs to work , Do you have null in ipu or in A15. ? you can check printing the stats (p option) and see if null link is really receiving the frames , b.If i add my link tree at (2) (same with link tree above). There is still images displayed on screen. The demo looks not work well. Is the image data can be dumped after sync_link? Ans: Image can be dumped after sync also , but atfer sync the buffer will be composite buffer you need to properly figure out the video buffer payload and dump . c.I boot system&app from MMC/SD. After i build my app. I need to plug-out my SD & write new app by host. Is there a easy way? Line ethernet? Ans: you can use nfs boot , refer user guide. d. Is sync_link -> dup_link ->null_link OK? Ans: This data path is also Ok , Please ensure you free the buffers in all the null link else the system will slowdown . Regards Chetan.M + +Hi Chetan, Thanks for you reply. I will try it and check my code. And i can dump sync data now. Like picture below. Does it make sense. Regards Zhang + +Zhang, Can you view the file in yuv viewer and check the format. Regards Chetan.M + +Hi Chetan, In fact it's a H264 video. I use links like this: ->sync_link->encode link-> null link I dump h264 data in null_link. Is this usage correct? Best, Zhang + +I am not sure why the croma is not correct, Why do you need to dump h264 video . ? Regards Chetan.M + +Hi Chetan, Because the card write speed is a little slow. If i dump YUV data. The video may drop frames. BTW. I will try to dump yuv data later. Thanks for you help. Best, Zhang + +Hi Zhang , Please try to dump one frame to ensure the data is correct and later you can check the frame size when you are recording h264 and also check the play options Regards Chetan.M + +Hi Chetan, Thanks. I will check my settings. I have a new question. I'm bringup D3's OV10640+OV490 camera module on TDA2x. And the demo can run and no error information output. But there is no image out on display. What's the possible reason? Regards Zhang + +Hi Zhang, Please close the current thread and open a new thread for D3's OV10640 + OV490 issue , Regards Chetan.M + diff --git a/sample_embedding_folder2/0695706.txt b/sample_embedding_folder2/0695706.txt new file mode 100644 index 0000000000000000000000000000000000000000..d26f7ec8d2458fc8e456425d56b2f5435a1e8a0f --- /dev/null +++ b/sample_embedding_folder2/0695706.txt @@ -0,0 +1,36 @@ +Ticket Name: Linux/TDA2: some question about add some code in origin sample code + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, i want to add some code with own head & c file. I include head file in origin code and add the file path in the NAKEFILE.MK, then make them i got "undefined reference to 'function_name' ". Should i need modify other files to make sure compiler link correctly? thanks, Chen-Wei + +Responses: +Hi Chen-Wei , Which location are you adding . Have you verified if the file is compiling after addition in the make file . Share more details so that we can help you better. Regards Chetan.M + +Hi Chetan, My sample code is opencvcanny. Put my own code (head file and source code)in the folder of canny and add the path to MAKEFILE.MK after include just like " INCLUDE+= -I$(ipc_PATH)/hlos_common/include -I$(ipc_PATH)/packages -I$(kernel_PATH)/include/generated/uapi $(OSA_INC) -I$(ipc_PATH)/linux/include -I$($(MAKEAPPNAME)_PATH) -I$(OPENCV_INCLUDE) -I$(vision_sdk_PATH)/apps/src/hlos/adas/src/alg_plugins/opencvcanny/include " i checked my code is compiled after addition in the make file, but can't link to my function. Thanks, Chen-Wei + +Hi Chen-Wei, All OPENCV_LIBS are linked in "common_footer_a15.mk" file under vision_sdk\build\hlos\makerules\linux folder Regards Surya + +Hi, Surya Thanks for told me OPENCV_LIBS are linked in where, but in my situation is i want add some own function in the sample code of canny. It means that we want do some modify in the sample code(call other sub function in a new head file, which is created by me). which files should i need to modify to avoid the error i meet ? thanks, Chen-Wei + +Chen Wei , Do you mean canny algorithm .. ? Or canny alg plugin. can you please send the entire error Regards Chetan.M + +Hi Chetan, i want to add some code to the origin code in canny usecase, origin modify #include "iCanny.h" #include "iCanny.h" #include "opencv2/imgproc.hpp" #include "opencv2/imgproc.hpp" #include "/tda/vision_sdk/apps/src/hlos/adas/src/alg_plugins /opencvcanny/include/hllow_world.h" void iCanny(IplImage *inputImage, IplImage *outputImage) void iCanny(IplImage *inputImage, IplImage *outputImage) { { UInt32 lowThresh; UInt32 lowThresh; UInt32 highThresh; UInt32 highThresh; cv::Mat inputMat = cv::cvarrToMat(inputImage, false); cv::Mat inputMat = cv::cvarrToMat(inputImage, false); cv::Mat outputMat = cv::cvarrToMat(outputImage, false); cv::Mat outputMat = cv::cvarrToMat(outputImage, false); lowThresh = 30; lowThresh = 30; highThresh = lowThresh * 3; highThresh = lowThresh * 3; cv::Canny(inputMat, outputMat, lowThresh, highThresh, 3); cv::Canny(inputMat, outputMat, lowThresh, highThresh, 3); hw(); } } and entire error is : /tda/vision_sdk/binaries/apps/tda2xx_evm_linux_opencx/lib/tda2xx-evm/a15_0/release/apps.a(canny.o): In function `iCanny': canny.cpp:(.text+0x5e): undefined reference to `hw()' Thanks, Chen-Wei + +Hi , Where is the function hw() Regards Chetan.M + +Hi Chetan, the function hw() is in /tda/vision_sdk/apps/src/hlos/adas/src/alg_plugins/opencvcanny/include/hllow_world.h and i also add " /tda/vision_sdk/apps/src/hlos/adas/src/alg_plugins/opencvcanny/include/" in MAKEFILE.MK thanks, Chen-Wei + +where is it implemented .? Its present in which .a lib . Regards Chetan.M + +Hi Chetan, this is created by myself. Should i need to build them as a .a or .lib file and add them in MAKEFILE.MK? Thanks, Chen-Wei + +Chen-Wei sorry for repeated asking same question , where is the hw() declared and where is it defined . ? Regards Chetan.M + +Hi Chetan, i declared it in /tda/vision_sdk/apps/src/hlos/adas/src/alg_plugins/opencvcanny/include/hllow_world.h and defined it in /tda/vision_sdk/apps/src/hlos/adas/src/alg_plugins/opencvcanny/hllow_world.c Thanks, Chen-Wei + +Hi Chen-Wei, I see a C and CPP file combination , Have you taken care of extern c and other parameters in your hllow_world files .? Try google search and see if some thing missed. stackoverflow.com/.../call-a-c-function-from-c-code Regards Chetan.M + +Hi, Chetan Thanks for your suggest, and i add the extern C in my code. I think maybe i need to compile them first, just like the website you gave build my code into a .o file and link them, or maybe not. If i build my code, i don't know the path of .o file should add in which file to make them linked. if i don't build them first, i still got the same error Should i need modify any files? Thanks, Chen-Wei + +Please try a clean build + diff --git a/sample_embedding_folder2/0695743.txt b/sample_embedding_folder2/0695743.txt new file mode 100644 index 0000000000000000000000000000000000000000..b2f995c08bf774eabd1618272d7a6cc7cadbbbba --- /dev/null +++ b/sample_embedding_folder2/0695743.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: A15 SMP feature conflict with OpenCX + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: SYSBIOS Tool/software: TI-RTOS Hi, I use tda2xx_evm_bios_opencx as default MAKECONFIG. Then I set the config of DUAL_A15_SMP_BIOS to yes(DUAL_A15_SMP_BIOS=yes) in cfg.mk. I got a build error as below: # Compiling generated /home/user03/sil-ti-visionsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_opencx/obj/vision_sdk/tda2xx-evm/a15_0/release/vision_sdk_configuro/package/cfg/MAIN_APP_a1 5_0_pa15fg.c to /home/user03/sil-ti-visionsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_opencx/obj/vision_sdk/tda2xx-evm/a15_0/release/MAIN_APP_a15_0_pa15fg.oa15fg ... # Linking into /home/user03/sil-ti-visionsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_opencx/vision_sdk/bin/tda2xx-evm/vision_sdk_a15_0_release.xa15fg... # /home/user03/sil-ti-visionsdk/ti_components/open_compute/opencl_rtos_am57xx_01_01_10_00/packages/ti/opencl/usr/lib/libOpenCL.a(shmem_rw_policy_rtos.cpp.obj): In function `ReadWritePoli cyRTOS::CacheWbInvAll()': shmem_rw_policy_rtos.cpp:(.text+0x23c): undefined reference to `ti_sysbios_family_arm_a15_Cache_wbInvAll__E' /home/user03/sil-ti-visionsdk/ti_components/open_compute/opencl_rtos_am57xx_01_01_10_00/packages/ti/opencl/usr/lib/libOpenCL.a(memory_provider_rtos.cpp.obj): In function `tiocl::RTOSMe m::CacheInv(void*, unsigned int) const': memory_provider_rtos.cpp:(.text._ZNK5tiocl7RTOSMemINS_26RTOSMemMapPolicyPersistentEE8CacheInvEPvj[_ZNK5tiocl7RTOSMemINS_26RTOSMemMapPolicyPersistentEE8CacheInvEPvj]+0x24): undefined referenc e to `ti_sysbios_family_arm_a15_Cache_inv__E' memory_provider_rtos.cpp:(.text._ZNK5tiocl7RTOSMemINS_26RTOSMemMapPolicyPersistentEE8CacheInvEPvj[_ZNK5tiocl7RTOSMemINS_26RTOSMemMapPolicyPersistentEE8CacheInvEPvj]+0x38): undefined referenc e to `ti_sysbios_family_arm_a15_Cache_wbInvAll__E' /home/user03/sil-ti-visionsdk/ti_components/open_compute/opencl_rtos_am57xx_01_01_10_00/packages/ti/opencl/usr/lib/libOpenCL.a(memory_provider_rtos.cpp.obj): In function `tiocl::RTOSMe m::CacheWb(void*, unsigned int) const': memory_provider_rtos.cpp:(.text._ZNK5tiocl7RTOSMemINS_26RTOSMemMapPolicyPersistentEE7CacheWbEPvj[_ZNK5tiocl7RTOSMemINS_26RTOSMemMapPolicyPersistentEE7CacheWbEPvj]+0x24): undefined reference to `ti_sysbios_family_arm_a15_Cache_wb__E' memory_provider_rtos.cpp:(.text._ZNK5tiocl7RTOSMemINS_26RTOSMemMapPolicyPersistentEE7CacheWbEPvj[_ZNK5tiocl7RTOSMemINS_26RTOSMemMapPolicyPersistentEE7CacheWbEPvj]+0x38): undefined reference to `ti_sysbios_family_arm_a15_Cache_wbInvAll__E' /home/user03/sil-ti-visionsdk/ti_components/open_compute/opencl_rtos_am57xx_01_01_10_00/packages/ti/opencl/usr/lib/libOpenCL.a(memory_provider_rtos.cpp.obj): In function `tiocl::RTOSMe m::CacheWbInv(void*, unsigned int) const': memory_provider_rtos.cpp:(.text._ZNK5tiocl7RTOSMemINS_26RTOSMemMapPolicyPersistentEE10CacheWbInvEPvj[_ZNK5tiocl7RTOSMemINS_26RTOSMemMapPolicyPersistentEE10CacheWbInvEPvj]+0x24): undefined re ference to `ti_sysbios_family_arm_a15_Cache_wbInv__E' memory_provider_rtos.cpp:(.text._ZNK5tiocl7RTOSMemINS_26RTOSMemMapPolicyPersistentEE10CacheWbInvEPvj[_ZNK5tiocl7RTOSMemINS_26RTOSMemMapPolicyPersistentEE10CacheWbInvEPvj]+0x38): undefined re ference to `ti_sysbios_family_arm_a15_Cache_wbInvAll__E' /home/user03/sil-ti-visionsdk/ti_components/open_compute/opencl_rtos_am57xx_01_01_10_00/packages/ti/opencl/usr/lib/libOpenCL.a(memory_provider_rtos.cpp.obj): In function `tiocl::RTOSMe m::UnmapFromHostAddressSpace(void*, unsigned int, bool) const': memory_provider_rtos.cpp:(.text._ZNK5tiocl7RTOSMemINS_26RTOSMemMapPolicyPersistentEE25UnmapFromHostAddressSpaceEPvjb[_ZNK5tiocl7RTOSMemINS_26RTOSMemMapPolicyPersistentEE25UnmapFromHostAddres sSpaceEPvjb]+0x5c): undefined reference to `ti_sysbios_family_arm_a15_Cache_wb__E' memory_provider_rtos.cpp:(.text._ZNK5tiocl7RTOSMemINS_26RTOSMemMapPolicyPersistentEE25UnmapFromHostAddressSpaceEPvjb[_ZNK5tiocl7RTOSMemINS_26RTOSMemMapPolicyPersistentEE25UnmapFromHostAddres sSpaceEPvjb]+0x6c): undefined reference to `ti_sysbios_family_arm_a15_Cache_wbInvAll__E' /home/user03/sil-ti-visionsdk/ti_components/open_compute/opencl_rtos_am57xx_01_01_10_00/packages/ti/opencl/usr/lib/libOpenCL.a(memory_provider_rtos.cpp.obj): In function `tiocl::RTOSMe m::MapToHostAddressSpace(unsigned long long, unsigned int, bool) const': memory_provider_rtos.cpp:(.text._ZNK5tiocl7RTOSMemINS_26RTOSMemMapPolicyPersistentEE21MapToHostAddressSpaceEyjb[_ZNK5tiocl7RTOSMemINS_26RTOSMemMapPolicyPersistentEE21MapToHostAddressSpaceEyj b]+0xec): undefined reference to `ti_sysbios_family_arm_a15_Cache_inv__E' memory_provider_rtos.cpp:(.text._ZNK5tiocl7RTOSMemINS_26RTOSMemMapPolicyPersistentEE21MapToHostAddressSpaceEyjb[_ZNK5tiocl7RTOSMemINS_26RTOSMemMapPolicyPersistentEE21MapToHostAddressSpaceEyj b]+0xf4): undefined reference to `ti_sysbios_family_arm_a15_Cache_wbInvAll__E' make[7]: *** [/home/user03/sil-ti-visionsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_opencx/vision_sdk/bin/tda2xx-evm/vision_sdk_a15_0_release.xa15fg] Error Can i both use OpenCX and A15 SMP feature on BIOS? Is there any method to solve this build problem? Best Regards, Junli,Chen + +Responses: +Hi Currently both OpenCX and A15 SMP feature not supported on Vision SDK BIOS ? Regards Surya + diff --git a/sample_embedding_folder2/0695744.txt b/sample_embedding_folder2/0695744.txt new file mode 100644 index 0000000000000000000000000000000000000000..67967ba5013caffc2624029af607888a233813ae --- /dev/null +++ b/sample_embedding_folder2/0695744.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2: Something wrong in new use case + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, I change the "vip_single_cam_lane_detection" use case with the video as input I got the output below,but It seen look something wrong Can you tell us where is wrong? BR Allen + +Responses: +Hi Allen , From the video it looks the input resolution is not correct . It is less than the required . Any changes in the usecase .? If no changes Please verify source (player) video resolution . Regards Chetan.M + +Hi, We use the input resolution is 768x320, and output resolution is 1920x1080 but, we use the same file being input resolution in "null_src_dec_display" use case We can get the right result (full screen) How can we get the full screen in this question? Where setting we should to change? BR Allen + +Please verify the decoder output width and height ,and input parameters of the algorithm. Regards Chetan.M + +Hi, I got the right result Thanks a lot Allen + diff --git a/sample_embedding_folder2/0695750.txt b/sample_embedding_folder2/0695750.txt new file mode 100644 index 0000000000000000000000000000000000000000..faa5015872f051b54b682b3eca3b43da8450df25 --- /dev/null +++ b/sample_embedding_folder2/0695750.txt @@ -0,0 +1,36 @@ +Ticket Name: Linux/TDA2: TDA2xx/linux CMEM Error + +Query Text: +Part Number: TDA2 Tool/software: Linux i run a opencl usecase, my MAKECONFIG?= tda2xx_evm_linux_opencx,The following error occurred: CMEM Error: init: Failed to open /dev/cmem: 'No such file or directory' TIOCL FATAL: The cmemk kernel module is not installed I noticed that when my MAKECONFIG?= tda2xx_evm_linux_opencx ,there is no file generated in /vision_sdk/binaries/apps/tda2xx_evm_linux_opencx/hlos/linux/boot. Is this CMEM Error caused by this reason? + +Responses: +Hi, did you followed "vision_sdk/docs/FeatureSpecificUserGuides/VisionSDK_UserGuide_opencx.pdf"? There is a chapter about installing cmem module. Regards, Yordan + +Hi Yordan, I follow the documentation, “In the above wiki, refer to the ‘Build Environment Setup’ and ‘Building Test Binaries’ sections to set up the build environment to build cmem user and kernel modules.” I follow the link processors.wiki.ti.com/.../CMEM_Overview , and i have down the linuxutils_4_00_01_08.tar.gz . and i cd linuxutils_4_00_01_08/src/cmem/module; and make . An error occurred: Making module release... make -C /db/atree/rt/git/linux-davinci M=`pwd` ARCH= CROSS_COMPILE=/cs/arm/arm-2010q1/bin/arm-none-linux-gnueabi- \ EXTRA_CFLAGS="-I /home/hancan/linuxutils_4_00_01_08/include" modules make: *** /db/atree/rt/git/linux-davinci: No such file or directory. Stop. make: *** [release] Error 2 Is my procedure correct? thanks, Xie Baojian + +Hi Xie Baojian, Please check chapter "2.4.2.1.1 Clone kernel" in vision_sdk/docs/Linux/VisionSDK_Linux_UserGuide.pdf for instructions how to clone cmem and which tag to checkout. For the error I suspect you didn't export KERNEL_INSTALL_DIR variable which should point to your kernel tree. Regards, Yordan + +Hi Yordan, I have done the chapter 2.4.2.1.1, and what should i do to export KERNEL_INSTALL_DIR variable point to my kernel tree? Regards, Xie Baojian + +Hi Xie Baojian, before running make command can you run this command: export KERNEL_INSTALL_DIR="$INSTALL_DIR/ti_components/os_tools/linux/kernel" Regards, Yordan + +Hi Yordan, I have done export KERNEL_INSTALL_DIR="$INSTALL_DIR/ti_components/os_tools/linux/kernel". and i cd /home/hancan/linuxutils_4_00_01_08/src/cmem/module to run make; But it still can not compile success. the info is: hancan@hancan-virtual-machine:~/linuxutils_4_00_01_08/src/cmem/module$ make Making module release... make -C /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/kernel M=`pwd` ARCH= CROSS_COMPILE=/cs/arm/arm-2010q1/bin/arm-none-linux-gnueabi- \ EXTRA_CFLAGS="-I /home/hancan/linuxutils_4_00_01_08/include" modules make[1]: Entering directory `/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/kernel' make[1]: *** No rule to make target `modules'. Stop. make[1]: Leaving directory `/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/kernel' make: *** [release] Error 2 Do I have other needs to do? Regards, Xie Baojian + +Hi Xie Baujian, My bad - the kernel is in "omap" subdirectory. Can you try with: export KERNEL_INSTALL_DIR="$INSTALL_DIR/ti_components/os_tools/linux/kernel/omap" Regards, Yordan + +Hi Yordan, I have done export KERNEL_INSTALL_DIR="$INSTALL_DIR/ti_components/os_tools/linux/kernel/omap". the info is: hancan@hancan-virtual-machine:~/linuxutils_4_00_01_08/src/cmem/module$ make Making module release... make -C /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/kernel/omap M=`pwd` ARCH=arm CROSS_COMPILE=/cs/arm/arm-2010q1/bin/arm-none-linux-gnueabi- \ EXTRA_CFLAGS="-I /home/hancan/linuxutils_4_00_01_08/include" modules make[1]: /cs/arm/arm-2010q1/bin/arm-none-linux-gnueabi-gcc: Command not found make[1]: Entering directory `/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/kernel/omap' CC [M] /home/hancan/linuxutils_4_00_01_08/src/cmem/module/cmemk.o /bin/sh: 1: /cs/arm/arm-2010q1/bin/arm-none-linux-gnueabi-gcc: not found make[2]: *** [/home/hancan/linuxutils_4_00_01_08/src/cmem/module/cmemk.o] Error 127 make[1]: *** [_module_/home/hancan/linuxutils_4_00_01_08/src/cmem/module] Error 2 make[1]: Leaving directory `/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/kernel/omap' make: *** [release] Error 2 Regards, Xie Baojian + +Hi Xie Baojian, can you also export: export TOOLCHAIN_PREFIX=arm-linux-gnueabihf- export PATH="$PATH:$INSTALL_DIR/ti_components/os_tools/linux/linaro/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/bin" Regards, Yordan + +Hi Yordan, I have try that, but it seems i do not have /arch//Makefile file. the info is : hancan@hancan-virtual-machine:~/linuxutils_4_00_01_08/src/cmem/module$ make Making module release... make -C /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/kernel/omap M=`pwd` ARCH= CROSS_COMPILE=arm-linux-gnueabihf- \ EXTRA_CFLAGS="-I /home/hancan/linuxutils_4_00_01_08/include" modules make[1]: Entering directory `/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/kernel/omap' Makefile:617: arch//Makefile: No such file or directory make[1]: *** No rule to make target `arch//Makefile'. Stop. make[1]: Leaving directory `/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/kernel/omap' make: *** [release] Error 2 Thanks, Xie Baojian + +Hi Xie Baojian, can you also export: export ARCH=arm Regards, Yordan + +Hi Yordan, I have the last question. the compile error info is: CC [M] /home/hancan/linuxutils_4_00_01_08/src/cmem/module/cmemk.o /home/hancan/linuxutils_4_00_01_08/src/cmem/module/cmemk.c: In function 'cmem_seq_show': /home/hancan/linuxutils_4_00_01_08/src/cmem/module/cmemk.c:988:5: error: void value not ignored as it ought to be rv = seq_printf(s, "id %d: phys addr %#llx\n", entry->id, ^ /home/hancan/linuxutils_4_00_01_08/src/cmem/module/cmemk.c: In function 'ioctl': /home/hancan/linuxutils_4_00_01_08/src/cmem/module/cmemk.c:1425:8: error: implicit declaration of function 'dmac_map_area' [-Werror=implicit-function-declaration] dmac_map_area(virtp, size, DMA_FROM_DEVICE); ^ When I commented the function seq_printf and dmac_map_area, it can compile successfully. Is the version I downloaded wrong? Or other issues. My version is linuxutils_4_00_01_08. Regards, Xie Baojian + +Hi Xie Baojian, you need to clone cmem from git and checkout a particular tag (VisionSDK_Linux_UserGuide.pdf - "2.4.2.1.1 Clone kernel"): cd $INSTALL_DIR/ti_components/os_tools/linux/kernel/cmem git clone git://git.ti.com/ipc/ludev.git cd ludev/ git checkout -b cmem_dev d6d3e84 Or git checkout tags/4.12.00.00 Regards, Yordan + +HI Yordan, I've done above before, Another method, Can you help me compile this source code in your linux environment? and Give me a successful target code of cmem.ko. linuxutils_4_00_01_08.tar.gz Regards, Xie Baojian + +Hi Xie Baojian, this version of cmem look older and probably will not work with the VisionSDK. Please download cmem from git and checkout the appropriate version as described in the User Guide. Regards, Yordan + diff --git a/sample_embedding_folder2/0695757.txt b/sample_embedding_folder2/0695757.txt new file mode 100644 index 0000000000000000000000000000000000000000..e2e013f5fc825c52ee0ddf797b0cf13c59f38812 --- /dev/null +++ b/sample_embedding_folder2/0695757.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: TDA2xx/linux BUILD_OPENCV_SRC + +Query Text: +Part Number: TDA2 Tool/software: Linux MAKECONFIG?= tda2xx_evm_linux_opencx, my vision_sdk/apps/configs/tda2xx_evm_linux_opencx/cfg.mk file is : # IPU1 (core 0 & 1 are) not supported when IPU_PRIMARY_CORE=ipu2 PROC_IPU1_0_INCLUDE=no PROC_IPU1_1_INCLUDE=no PROC_IPU2_INCLUDE=yes PROC_A15_0_INCLUDE=yes PROC_DSP1_INCLUDE=no PROC_DSP2_INCLUDE=no PROC_EVE1_INCLUDE=no PROC_EVE2_INCLUDE=no PROC_EVE3_INCLUDE=no PROC_EVE4_INCLUDE=no VSDK_BOARD_TYPE=TDA2XX_EVM # Supported values: DDR_MEM_1024M DDR_MEM=DDR_MEM_1024M # Supported values: ipu1_0 ipu1_1 a15_0 none NDK_PROC_TO_USE=none # # Used to control building of algorithm source. # By default algorithm source not included in Vision SDK # BUILD_ALGORITHMS=no # # Applies profile to all cores # # Supported profiles: release debug #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) # # For TDA2xx & TDA2Ex - vision SDK can run on either IPU1 or IPU2 subsystem # For TDA3xx - We have only IPU1 and hence IPU1 is the only option # Select IPU primary core from the available IPU1 & IPU2 subsytems # # Supported values: ipu1_0 ipu2 IPU_PRIMARY_CORE=ipu2 IPU_SECONDARY_CORE=ipu1_0 # # Set A15_TARGET_OS # A15 can run Linux or Bios # # A15_TARGET_OS support # Platform BIOS Linux # # TDA2XX_EVM yes yes # TDA3XX_EVM yes no # TDA2EX_EVM yes yes # # Supported values: Bios Linux A15_TARGET_OS=Linux IVAHD_INCLUDE=no VPE_INCLUDE=no DSS_INCLUDE=yes AVB_INCLUDE=no # # Enable below macro to enable DCAN integration into Vision SDK. # DCAN_INCLUDE=no CPU_IDLE_ENABLED=yes # # Enable below macro to view the bandwidth used by different IPs in the device # as a graphical plot on the display screen. # DATA_VIS_INCLUDE=no OPENCL_INCLUDE=yes TREAT_WARNINGS_AS_ERROR = yes HS_DEVICE=no DEFAULT_UBOOT_CONFIG := dra7xx_evm_vision_config DEFAULT_KERNEL_CONFIG := omap2plus_defconfig # For TDA2x DEFAULT_DTB := dra7-evm-infoadas.dtb # # Enable macro for OpenCV # ENABLE_OPENCV=yes CMEM_INCLUDE=yes BUILD_OPENCV_SRC=yes BUILD_LLVM=no include $($(MAKEAPPNAME)_PATH)/configs/$(MAKECONFIG)/uc_cfg.mk When I turn on the switch BUILD_OPENCV_SRC=yes and Then compile,The following error occurred: # osa: tda2xx-evm: Creating archive osa.a In file included from opencvCannyAlgo.c:84:0: iOpenCVCannyAlgo.h:82:28: fatal error: opencv/highgui.h: No such file or directory compilation terminated. In file included from opencvCannyLink_priv.h:104:0, from opencvCannyLink_algPlugin.c:77: iOpenCVCannyAlgo.h:82:28: fatal error: opencv/highgui.h: No such file or directory compilation terminated. In file included from canny.cpp:85:0: iCanny.h:81:28: fatal error: opencv/highgui.h: No such file or directory compilation terminated. make[6]: *** [depend] Error 1 make[5]: *** [vision_sdk_linux_demo] Error 2 make[4]: *** [apps] Error 2 make[3]: *** [apps_exe_hlos] Error 2 make[2]: *** [apps_hlos] Error 2 make[1]: *** [apps] Error 2 make: *** [vision_sdk] Error 2 Is there anything else I need to set up? + +Responses: +Hi, I see you set BUILD_OPENCV_SRC=yes. Please check this thread: e2e.ti.com/.../692767 Regards, Yordan + diff --git a/sample_embedding_folder2/0695758.txt b/sample_embedding_folder2/0695758.txt new file mode 100644 index 0000000000000000000000000000000000000000..57d9e8aa149bab787bef438369cc33294cf4f41c --- /dev/null +++ b/sample_embedding_folder2/0695758.txt @@ -0,0 +1,18 @@ +Ticket Name: TDA2: CortexA15 exception vector base address when boot + +Query Text: +Part Number: TDA2 Hi, I have already known the device boot from the internal 48K ROM by the master Cortex A15 when reset. My question is that if the default A15 exception vector base address is the same as base address of the internal ROM. If not, how can A15 boot from the internal ROM? Thanks & regards. + +Responses: +Hi Yang Wang, There is a hardware tie off in the Cortex A15 subsystem which says when the A15 generates an access to 0x0 Address, the access is directed to the ROM region. On boot, the MMU is not enabled. Hence the 0x0 generated by the A15 on the address bus is sent to the ROM as a result of the tie off. Thanks and Regards, Piyali + +Hi Piyali, Thanks very much for your reply! About this tie-off, which document can I refer to? Is this tie-off configurable? If not, how should A15 access GPMC space(since GPMC space starts from 0x0)? Thanks and regards + +Hi, The Tie Off is not configurable. You can set up the A15 MMU to map the 0x0 to the GPMC memory location. Thanks and Regards, Piyali + +Hi Piyali, Is the tie off specific to virtual address or physical adress? + +And where can I find introduction to the tie off? Thanks and regards. + +Hi Yang, This information is not present in the TRM. I will take an action to inform our TRM team. The tie off is such that when ever a physical address 0x0 reaches the A15 subsystem, it will re-direct to the ROM. Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0695764.txt b/sample_embedding_folder2/0695764.txt new file mode 100644 index 0000000000000000000000000000000000000000..f2d7ce3cd9f8748427ee09f754195cc92e3124a9 --- /dev/null +++ b/sample_embedding_folder2/0695764.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2: Could we storage DL files on other memory? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Sir, From DL document tutorial, we can save AppImage(FW file) and NET.bin + PRM.bin(DL files) to SD card and boot up system. Because we need more space to storage DL files. We are not sure whether can storage above files(FW and DL) to separate memory device and load to DDR? Could you give us some advice? Thanks for your support. + +Responses: +Hi , Please look at the following you can use qspi itself to store the files e2e.ti.com/.../2527927 Regards Chetan.M + +Hi Chetan.M, Sorry for the late reply. Above link show we can storage DL files to QSPI. But we would storage FW to QSPI and DL files to SD card (because DL model file will large after traning). Is workable if we storage FW and DL on different memory? (booting from QSPI , reload DL from SD card) Many thanks. + +Ya , You can always have the Appimage in QSPI and read the DL form SD card . Regards Chetan.M + +Many thanks , + diff --git a/sample_embedding_folder2/0695962.txt b/sample_embedding_folder2/0695962.txt new file mode 100644 index 0000000000000000000000000000000000000000..581ae0a72982601ec59cf333d323d7126591a12a --- /dev/null +++ b/sample_embedding_folder2/0695962.txt @@ -0,0 +1,16 @@ +Ticket Name: Linux/TDA2: TDA2xx/linux load_cmem_ko.sh + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, When I follow document VisionSDK_UserGuide_opencx.pdf,In the 1.2 step ./load_cmem_ko.sh. But in my vision_sdk there is no this file. How can I get load_cmem_ko.sh? Thanks + +Responses: +Hi Xie Baojian, This file is present under "vision_sdk\build\hlos\scripts\linux" folder When you build any linux configuration (like tda2xx_evm_linux_all or tda2xx_evm_linux_opencx) , this file is copied to file system path (/opt/vision_sdk) Regrads Surya + +Hi Surya, there is no load_cmem_ko.sh in my "vision_sdk\build\hlos\scripts\linux" folder. What's the problem? How can I get the load_cmem_ko.sh? Regrads, Xie Baojian + +Hi Xie Baojian, Which version of Vision SDK are you using ? Regards Surya + +Hi Surya, my vision SDK is PROCESSOR_SDK_VISION_03_02_00_00. Regards, Xie Baojian + +Hi Xie Baojian, This is the file which will load cmem "load_ocl_kos.sh" Regards Surya + diff --git a/sample_embedding_folder2/0696203.txt b/sample_embedding_folder2/0696203.txt new file mode 100644 index 0000000000000000000000000000000000000000..34210889d2b4766950b3f85d9f9a32e750042d52 --- /dev/null +++ b/sample_embedding_folder2/0696203.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: MPU system secure state switch + +Query Text: +Part Number: TDA2 Hi, ROM code provides some service for user by Secure Monitor Call. So is ROM code responsible for setting Monitor vector table? Can user redirect Monitro vector table? And it seems that ROM code doesn't provide a service to switch MPU to non-secure state, so how can I do this? Thanks and regards. + +Responses: +Hi, For security features please contact your sales representative. We cannot discuss them in a public forum. Best regards, Stan + diff --git a/sample_embedding_folder2/0696386.txt b/sample_embedding_folder2/0696386.txt new file mode 100644 index 0000000000000000000000000000000000000000..4ee2a1749dd01595d6b38175bfa3f2374d34ca51 --- /dev/null +++ b/sample_embedding_folder2/0696386.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: What is B15 of TDA2 relative with vision board ? + +Query Text: +Part Number: TDA2 Hi Sir, We will design new EVM board and use Cam1 port to capture image frame(parallel to parallel). But we don't know what relative B15 of TDA2 with Cam1 ~ Cam6 of vision board. Could you please give us advice or more information? Thanks for your support. + +Responses: +Hi, Prince Kuo, I am not sure that I understood your question. Numerations B15, A15, etc. are the BALL NUMBERs. BALL NAMEs are mcasp2_axr0, mcasp2_axr1. For all list of the correspondence between BALL NUMBER and BALL NAME see the Table 4-2. Ball Characters in Data Manual document. Regards, Mariya + +Hi Mariya B15 in EVM looks like to be use as a detection of vision board if we don't need to detect the the vision board because we put camera & SoC on the same board, the function of detecting vision board could be turned off by software? thank you + +Hi, We do not use this pin. For detecting the multi deserializer board we do a probe one of the slaves in the multi deserializer board at address 0x25. You can refer the Bsp_boardGetIdTda2xx() function in \packages\ti\drv\vps\src\boards\src\bsp_boardTda2xx.c. Regards, Prasad + diff --git a/sample_embedding_folder2/0696635.txt b/sample_embedding_folder2/0696635.txt new file mode 100644 index 0000000000000000000000000000000000000000..1f8402a1f3792028071a6b7a77902fe5c6f29877 --- /dev/null +++ b/sample_embedding_folder2/0696635.txt @@ -0,0 +1,83 @@ +Ticket Name: RTOS/TDA2: how to save encoded h.264 data and play on pc ?? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS my platform is tda2pxx , I had run the usecase "capture > encode > decode > diplay" now I want to record some frames video. so i write the usecase "capture > encode > null_save" , in null_save callback . i save the h.264 data to file . but i can't play it on pc using elecard streameye . the file code.txt is the callback func, i write , is there some wrong ?IDR.txt 0042.code.txt UInt32 idrCnt=0; +static Void capEncFrameCb(System_LinkChInfo *pChInfo, Void *pBuf, Void *arg) +{ + System_Buffer *pFrameBuf = (System_Buffer*)pBuf; + System_BitstreamBuffer *pBitFrame; + System_VideoFrameBuffer *pVidFrame; + System_MetaDataBuffer *pMetFrame; + Chains_csi2CalMultiCamAppObj *pObj = (Chains_csi2CalMultiCamAppObj*)arg; + Int32 re=-1; + UInt32 offset; + +// BspOsal_semWait(pObj->frameSync, BSP_OSAL_WAIT_FOREVER); + +// Vps_printf(" bufType=%d\n",pFrameBuf->bufType); + switch(pFrameBuf->bufType) + { + case SYSTEM_BUFFER_TYPE_VIDEO_FRAME: + Vps_printf(" SYSTEM_BUFFER_TYPE_VIDEO_FRAME\n"); + pVidFrame = (System_VideoFrameBuffer*)pFrameBuf->payload; + Vps_printf(" SAVE_ENC_FRAME: Writing frame to file ...length=%d\n",pVidFrame->metaFillLength); + break; + case SYSTEM_BUFFER_TYPE_BITSTREAM: +// Vps_printf(" SYSTEM_BUFFER_TYPE_BITSTREAM\n"); + pBitFrame = (System_BitstreamBuffer*)pFrameBuf->payload; + break; + case SYSTEM_BUFFER_TYPE_METADATA: + Vps_printf(" SYSTEM_BUFFER_TYPE_METADATA\n"); + pMetFrame = (System_MetaDataBuffer*)pFrameBuf->payload; + Vps_printf(" SAVE_ENC_FRAME: Writing frame to file ...length=%d\n",pMetFrame->metaFillLength); + break; + } + + + if(TRUE == pObj->encFrame) + { +// Vps_printf(" firstIdrFrame=%d\n",pObj->firstIdrFrame); + if(FALSE == pObj->firstIdrFrame) + { + if(1 == System_Bitstream_Buffer_Flag_Get_Is_Keyframe(pBitFrame->flags)) + { + idrCnt++; + Vps_printf(" First IDR frame found Cnt=%d\n",idrCnt); + +// if(idrCnt >= 2) + { + pObj->firstIdrFrame = TRUE; + } + } + } + + if(TRUE == pObj->firstIdrFrame) + { + Vps_printf(" SAVE_ENC_FRAME: Writing frame to file ...bufsize=%d,length=%d\n",pBitFrame->bufSize,pBitFrame->fillLength); +// re = ChainsCommon_Osal_fileWrite( +// pObj->fp, +// (UInt8*)pBitFrame->bufAddr, +// pBitFrame->fillLength); + +// re = Utils_fileWriteFile( fileName11, (UInt8*)pBitFrame->bufAddr, pBitFrame->fillLength); + re = User_fileWrite( pObj->fp, (UInt8*)pBitFrame->bufAddr, pBitFrame->fillLength); + offset = 5; + Vps_printf(" offset = %d, data0-5=%x,%x,%x,%x,%x\n", + offset, + *((UInt8*)pBitFrame->bufAddr+offset), + *((UInt8*)pBitFrame->bufAddr+offset+1), + *((UInt8*)pBitFrame->bufAddr+offset+2), + *((UInt8*)pBitFrame->bufAddr+offset+3), + *((UInt8*)pBitFrame->bufAddr+offset+4)); + Vps_printf(" SAVE_ENC_FRAME: Writing Encode frame to file DONE,return = %d,Frame ID=%d\n",re,pFrameBuf->frameId); +// pObj->encFrame = FALSE; + BspOsal_semPost(pObj->frameSync); + } + +// pObj->encFrame = FALSE; + } +} the file IDR.txt is idr h264 data, can you help me to check if the data is right ? i checked many frames , the start code of each frame is 00 00 00 01 , there is no other nalu type, why? + +Responses: +Hi This file dump and playing with VLC media player is already validated For the Null link file write set below configuration. pUcObj->NullPrm.dumpDataType = NULL_LINK_COPY_TYPE_FILE; strcpy(pUcObj->NullPrm.nameDataFile[0], "stream.h264"); I assume you use VSDK 3.3 release regards, Shiju + diff --git a/sample_embedding_folder2/0696746.txt b/sample_embedding_folder2/0696746.txt new file mode 100644 index 0000000000000000000000000000000000000000..c4425f7aae5b8a8f0545d95fffd3343d4aa2ad7b --- /dev/null +++ b/sample_embedding_folder2/0696746.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2EVM5777: I2C2 & HDMI I2C in EVM + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hello Why HDMI I2C & I2C2's SDL & SDA are swap in TDA2? There is a RU108 to uncross the I2C2 & HDMI I2C in EVM. Could I use I2C2 to read hdmi I2C directly? thank you + +Responses: +Hi user3829173, This swap is in TDA2Ex and rev e version of EVM provides a option swap these lines. To use I2C2 to read the EDID, you would require to perform board modification to swap these lines. Please ensure the swap is applicable for HDMI only. Regards, Sujith + +Hello Sujith Our design is connecting I2C2 to image sensor & HDMI i2c, we use I2C2 to read both image sensor & EDID  is it working? thank you + +Hi user3829173, If the electrical characteristics are aligned then it should work. Regards, Sujith + +Hi Sujith There is a level shift between SoC & HDMI connector, so it shout work. Thank you + +Thanks user3829173, Regards, Sujith + diff --git a/sample_embedding_folder2/0696838.txt b/sample_embedding_folder2/0696838.txt new file mode 100644 index 0000000000000000000000000000000000000000..345b1fd63f39e2c7eac4d95c06b532444e40a374 --- /dev/null +++ b/sample_embedding_folder2/0696838.txt @@ -0,0 +1,81 @@ +Ticket Name: RTOS/TDA2: No result for new use case + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, we reference "vip_single_cam_lane_detection" and "null_src_dec_display" two use case and create a use case we call "null_src_lane_detection" Now, we reference "null_src_lane_detection" and "tidl_OD" two use case for our new use case I got the output below,but It looks have no result Can you tell us where is wrong? BR Allen + +Responses: +Hi Allen, Please verify if all the usecase and algo parameters are set . As the default usecase works there will be no issue in algo or framework, Please re verify the usecase Regards Chetan.M + +Hi, I think I set all parameters I can run these two use cases separately but when I integrate these two use cases It have no result Is there anything I didn't notice? BR Allen + +Can you please send the usecase flow what is all connected in the chain + +Hi The below document is the use case I create chains_tidlODPrimax.txt UseCase: chains_tidlODPrimax + +NullSource -> Decode -> VPE -> Dup -> Merge_alg + + +//TIDL_OD +Dup -> Alg_tidlpreproc (A15) + +Alg_tidlpreproc (A15) -> Alg_tidl_Eve1 (EVE1) +Alg_tidlpreproc (A15) -> Alg_tidl_Eve2 (EVE2) +Alg_tidlpreproc (A15) -> Alg_tidl_Eve3 (EVE3) +Alg_tidlpreproc (A15) -> Alg_tidl_Eve4 (EVE4) + +Alg_tidl_Eve1 (EVE1) -> Merge_OD (DSP1) +Alg_tidl_Eve2 (EVE2) -> Merge_OD (DSP1) +Alg_tidl_Eve3 (EVE3) -> Merge_OD (DSP1) +Alg_tidl_Eve4 (EVE4) -> Merge_OD (DSP1) +Merge_OD (DSP1) -> Alg_tidl_Dsp (DSP1) -> Merge_alg + +//LD +Dup -> VPE_LD -> Alg_ImagePreProcess (EVE1) -> Alg_ImgPyramid -> Alg_LaneDetect (DSP1) -> Merge_alg + + +//Display +Merge_alg -> Sync_alg (DSP1) -> Alg_ObjectDraw (DSP1) -> Display_alg + + +//GrpxSrc -> Display_Grpx + +Can you verify the output of each algorithm , And also the alg_draw parameters Regards Chetan.M + +Hi, Can you explain it in more detail? So, Is the problem occurred in the flow below? the pic below is the linking flow Is it has any problem? + +Hi, Have any update? BR Allen + +Allen , can you print the usecase stats 'p' and share it , Not able to suspect on the issue with the available inputs. Regards Chetan.M + +Hi, It is the use case stats below 2438.session.log BR Allen + +I see many times there are complete frame drops , Some times there is output but not consistent can you share the img file of the usecase . ? Regards chetan.M + +Hi, It is the img file of our use case below BR Allen + +Hi, Have any update? Is our flow wrong? BR Allen + +Hi Allen , What is the load of each core , Is the system overloaded and dropping the frames . Do you have a local TI FAE .? So that we can arrange for a call and see how we can debug further .? Regards Chetan.M + +Hi,Chetan Our FAE told to us we can't use the flow below is it really? he told us to another flow but I got errors after we try We'll post a new question for the error but, we want to know the answer about this. Is really true we can't use this flow for our customized use case? + +Hi, Have any update? Is really true we can't use this flow for our customized use case? BR Allen + +Allen , We will need to debug and find why the usecase is not up , There can be timing issue which is causing algo not to update . Can you try reducing the fps of read to 5 and try . Regards Chetan.M + +Hi, Chetan I am not getting your answer. Can you please elaborate? BR Allen + +Allen, In the usecase there are multiple paths from source (file read) to display, One of the path operates at lower fps then the frames are dropped , If you change the sync threshold to a high value then sync link will not synchronize the frames and hence it might be dropping many frames. We can debug this issue with a lower pfs , Reduce the read FPS to 5 and try running the usecase . Regards Chetan.M + +Hi, Chetan We try to reduce the read FPS to 5 but we got the same result Is right what I did? It is the use case stats below 5008.session.log BR Allen + +Hi, Chetan Have any update? If we change something setting wrong, please tell us BR Allen + +No the settings look correct, In this usecase many links are utilized and there might be delay in some links which is causing the usecase to fail , You will have to debug this and route cause the slower link Regards Chetan.M + +Hi, Chetan I am not getting your answer. Can you please elaborate? BR Allen + +Hi Allen, You will have to debug each path of the usecase by adding a null terminator in each path and check the output. Then keep the entire usecase running bypassing the algo and ensure chain is up Regards Chetan.M + +Hi, Did you able to resolve your issue. can you close this thread if resolved. Regards, Anuj + diff --git a/sample_embedding_folder2/0697104.txt b/sample_embedding_folder2/0697104.txt new file mode 100644 index 0000000000000000000000000000000000000000..bc8ce2574e2b9c98543335582d6afbbf2cf6bcd5 --- /dev/null +++ b/sample_embedding_folder2/0697104.txt @@ -0,0 +1,8 @@ +Ticket Name: CCS/TDA2: Where can i learn SoC programming + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio Hi TI, I am a newbie for SoC platform. I used to do programming on micro-controller (other brand) which i believe its a totally new platform. i need some help to get things started hope TI is able to advise me how to do some. Plus i am totally new on this CCS IDE as well Regard Willson + +Responses: +Hi Wilson, you can start your familiarization with CCS from here: dev.ti.com/.../ (you can find Documentation and Trainings for CCS there). You can check also "A Guide to Debugging With CCS on the DRA7x, TDA2x and TDA3x Family of Devices" here: www.ti.com/.../sprac17b.pdf You can download VisionSDK here: software-dl.ti.com/.../index_FDS.html when you install it in the "doc" directory you can find quite comprehensive documentation for the SDK, and you can also look at it's source code. Regards, Yordan + diff --git a/sample_embedding_folder2/0697127.txt b/sample_embedding_folder2/0697127.txt new file mode 100644 index 0000000000000000000000000000000000000000..a1fc7df1f55fb6946086d095c21057c90000f609 --- /dev/null +++ b/sample_embedding_folder2/0697127.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2: ERROR in convert caffe model to bin format + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi I use import tool to convert caffe model to bin format. I use the sample model from "github.com/.../sparse ", The config file as follow randParams = 0 modelType = 0 quantizationStyle = 1 quantRoundAdd = 25 numParamBits = 8 inputNetFile = "A.prototxt" inputParamsFile = "A.caffemodel" outputNetFile = "NET_OD.BIN" outputParamsFile = "PRM_OD.BIN" conv2dKernelType = 1 rawSampleInData = 1 sampleInData = "000100_1024x512_bgr.y" tidlStatsTool = "tidl_model_import.out.exe", However, I got the error as shown in the following figure. Could you point me how to fix this error? Thanks. BR Allen + +Responses: +Hi Allen, Please refer to first post in below thread and it also has import config file to use.. e2e.ti.com/.../689617 Thanks, Praveen + +Hi, Praveen We fixed the error and NET and PRM files was been generateed . but why the logs still show "Couldn't open inputNetFile file" ? BR Allen + +Hi Allen, Please attach import config file and log file to check the problem. Thanks, Praveen + +Hi, Praveen we find something wrong and already solve and we have some post which doesn't receive respond form E2E the link as below can you help us? thanks a lot Allen + diff --git a/sample_embedding_folder2/0697450.txt b/sample_embedding_folder2/0697450.txt new file mode 100644 index 0000000000000000000000000000000000000000..71905e04f565dd44f2a057948469012cbd74fc51 --- /dev/null +++ b/sample_embedding_folder2/0697450.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2EVM5777: TDA2 Memory AVL + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hello I'm designing our own ADAS on TDA2 platform is there memory (DDR,eMMC..etc) AVL for reference? thank you + +Responses: +Hi user3829173, Can you please check www.ti.com/.../sprr211 & www.ti.com/.../TDA2EVM5777 Regards, Sujith + +Hi Sujith is MT41K512M8DA-107 AIT:P suitable for TDA2? + +Hi, Thanks for your query! Could you please elaborate a little bit more on what exactly are you looking for? Are you looking for some DDR part numbers that you can interface with TDA2? TDA2 DDR interface is compliant with JEDEC specifications, so you can interface it with *any* DDR devices that are JEDEC compliant. The total density and number of DDR devices that can connected to TDA2 is specified in the device data manual. Please let me know if this answers your question or if you have more specific questions. Again, Thanks for writing to us. Best Regards Rajesh Veettil + diff --git a/sample_embedding_folder2/0697564.txt b/sample_embedding_folder2/0697564.txt new file mode 100644 index 0000000000000000000000000000000000000000..b4ebf9fd10940e0e923290c90309437dae5058cd --- /dev/null +++ b/sample_embedding_folder2/0697564.txt @@ -0,0 +1,10 @@ +Ticket Name: RTOS/TDA2: Recommended RTOS for TDA2x ADAS + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: SYSBIOS Tool/software: TI-RTOS Dear TI I would like to check with you which OS is highly recommended to use for ADAS. + +Responses: +Hi Wilson, it is the VisionSDK (current ver 3.03): www.ti.com/.../processor-sdk-tdax Regards, Yordan + +This is a very generic question. It is totally your choice depending on your system needs, our Sdk comes with TI SYSBIOS and Linux. These OS are not safety certified but we have customers who have built upto ASIL B system using them. You can either use them or get a OS from vendors like mentor, Windriver, QNX etc. regards yashwant + diff --git a/sample_embedding_folder2/0697682.txt b/sample_embedding_folder2/0697682.txt new file mode 100644 index 0000000000000000000000000000000000000000..4392cd705ceb9c7d73fb33d3aef3f4b793d460b9 --- /dev/null +++ b/sample_embedding_folder2/0697682.txt @@ -0,0 +1,8 @@ +Ticket Name: CCS/TDA2: EMIF Register definitions in CCS + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio Hi It seems that the Register Definition of the EMIF in CCS are not only incomplete (PHY_STATUS_2-19 missing), but also wrong for the existing register definitions: So in CCS it says 0x018C for STATUS_20 but the TRM specifies 0x0190 Are there newer Register definitions available for our device? Do they ship with CCS or where could I get a update of these? Regards, Daneil + +Responses: +Daniel, Looks like you are using an older defective device support package (i.e the package that loads those registers). Try using the latest version (Automotive v1.0.6) Here is the wiki processors.wiki.ti.com/.../Device_support_files or you can use Help->Install New software -> select CCS update site->Select latest auto package. Thanks, Alex + diff --git a/sample_embedding_folder2/0698024.txt b/sample_embedding_folder2/0698024.txt new file mode 100644 index 0000000000000000000000000000000000000000..c6e50da440c1f6c79db78cd0bb99c0bc7b84e56e --- /dev/null +++ b/sample_embedding_folder2/0698024.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: [Vision_SDK 03.03.00.00] TIDL OD usecese input video + +Query Text: +Part Number: TDA2 Hi, To run TIDL OD usecase, followinfg 4 files are required. TIDL OD Network file (NET_OD.bin) TIDL OD Parameter file (PRM_OD.bin) TIDL OD Usece input data file (inData_OD) TIDL OD Usecase input header file (inHeader_OD) SDK already contains NET_OD.bin & PRM_OD.bin in ./vision_sdk/apps/tools/TIDL_files. Those network is for 768x320 input image size. How do we get 768x320 video file to translate to inData_OD / inHeader_OD ? I am referring follwing e2e. However, FullHD or 4K files are only seen in http://jell.yfish.us/ . https://e2e.ti.com/support/arm/automotive_processors/f/1021/t/689617 e2e.ti.com/.../687481 Best regards, Saito + +Responses: +Hi Saito The TI trained (default) files will be part of cdds . Vision SDK demo clips are available at cdds.ext.ti.com/.../emxNavigator.jsp Regards Chetan.M + +HI Cheta.M, Thanks. TI OD usecase is running well. Best regards, Saito + diff --git a/sample_embedding_folder2/0698104.txt b/sample_embedding_folder2/0698104.txt new file mode 100644 index 0000000000000000000000000000000000000000..f2f749af93e6f8ed146ecc146fdc75ee0bbbc3ec --- /dev/null +++ b/sample_embedding_folder2/0698104.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: TIDL Host emulation tool convolution output issues + +Query Text: +Part Number: TDA2 Issue with the convolutional output in the function : TIDL_refConv2d_i8u_032s_cn in tidl_conv2d_base.c First, the test setup: A simple convolutional network with 3x3 kernel and bias with 2 output channels. The first kernel has all zeros and the second kernel has all ones. Bias for first channel is 1 and second channel is 2. Now all the variables involved: input raw rgb = 255 (all 1s) inQuantFactor = 65280 weightsQ = 65536 biasQ = 4194304 biasQFact = 255 rgb size input = 3x3x3 num of output channels = 2 In foating point: input = 1.0 weights = [0, 1] (1st kernel all weights are zero, and second kernel all weights are 1) bias = [ 1, 2] The convolved output of the first channel should be 1. Just bias, because all weights are zero. The convolved output of the second channel should be : 1.0 * (3x3x3) *1 + 2 = 29. Ti fixed point: weights having values[0,1] becomes approximately: [0,1]*weightsQ/255 = [0, 255]. biases [1, 2] becomes approximately: [1, 2]*biasQ/255 = [16384,32767]. Now checking the convolution in TIDL_refConv2d_i8u_032s_cn function: There, pInChannel contains inputs which is uint8, and all the values are 255. Bias is multiplied by the biasQFact (255). I understand this is because of the inQuantFactor, and the bias needs to be scaled. convolution happens as: input * weights + bias*biasQFact for first channel, output is = bias*biasQFact = 4177920 for second channel: 255* (3*3*3)*255 + 32767*255 = 10111260 So floating point 1 is represented as 4177920 and 29 is represented as 10111260 which is wrong. Since the bias and weights are not represented by the same Q factor, the output will match only when the input also has a QFactor, With inout Q factor, second channel should be: 255*64 * (3*3*3)*255 + 32767*255 = 120718785, which should be the output. What am i missing here? I have attached the model and inputs to reproduce this problem. ti.zip + +Responses: +Hi Vijay, Please refer to below e2e thread, where we had one simple cifar net example to understand the tidl layers. I would recommend to start with this to better understand the input,weights and output Q formats. Then on top of it you try your experiments to get the better results. e2e.ti.com/.../689876 Thanks, Praveen + +Hi Praveen, The above example is created in such a way that one can figure out what the issue is without doing into the code to debug. Anyway, I went and fixed the TIDL_importQuantLayerParams function in tidl_tfimport.cpp to make the above toy example work. The issue arises when the min - max range of weights and bias are not same. By the way, the cifar net example also didnt match (TIDL .01.01). I loaded the model shared in the above link and obtained outputs from each of the layers to compare with the host emulation output. Outputs doesnt match. I have attached all the tools required to reproduce the issue, in case you guys want to try it. tidl_keras_example.zip + +Hi Vijay, Thanks for pointing this. I am closing this thread as you could fix the issue and you can feel free to open this thread or create a new thread if you face any issues. Regards, Praveen + diff --git a/sample_embedding_folder2/0698136.txt b/sample_embedding_folder2/0698136.txt new file mode 100644 index 0000000000000000000000000000000000000000..1ae58432cea57b9c3e134c477ac56623946899e6 --- /dev/null +++ b/sample_embedding_folder2/0698136.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2: SDK ov10635 I2C address not make sense with datasheet. + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Sir, I find OV10635 salve device default address is 0x30. But I found SDK use 0x38 to communication with OV10635. (Vision board cam1 <-> OV10635) Why they are different? + +Responses: +Hi, The lower 3 bits of the i2c address is controlled by GPIO[2:0]/SID[2:0] pins. so because of them, i2c address can change. Rgds, Brijesh + +Hi Brijesh, Thanks for your reply. I know you mean. But same camera module just connect to different CAM port of vision board that will change I2C address of camera module.(Seem not relative with GPIO[2:0] or SID[2:0]) FW log show SOC use 0x38 to communication with OV10635 Do you know why use 0x38 (0x70 /2) ? + +These are aliased I2C address. In case of multi-deserializer board, the sensor is connected to the serializer at the remote end through the FPD link. There is no sensors directly connected to the I2C bus on the EVM end. The communication is done through the deserializer, serializer and then to the sensor. We can program a suitable I2C address in the desrializer. Once the programming is done, any read/write to this aliased address is communicated to the remote sensor via the FPD link. The addresses are chosen in a such a way that it doesn't conflict with any of the I2C address connected to this I2C bus in the EVM side. For more details go through 913/914 reference manual. + +Hi Sivaraj R3681, Understand. Many thanks. + diff --git a/sample_embedding_folder2/0698490.txt b/sample_embedding_folder2/0698490.txt new file mode 100644 index 0000000000000000000000000000000000000000..eff74dca0b17778dc309fae3b0d3fb6aea18702b --- /dev/null +++ b/sample_embedding_folder2/0698490.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: how to enable uart2 on linux os of ti sdk + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, I'm newbie to use TI's tda2xx evm board with Vision SDK. I am using linux os with tda2xx_evm_linux_all config. After I added PlatformUART2SetPinMux() in Bsp_boardTda2xxInit(), I am able to send strings with uart2 by typing "echo 123 > /dev/ttyS1" in uart1 terminal. The correct waveform on uart2 tx can be seen on the oscilloscope. Then I connected uart2 rx to uart2 tx, sent a string by "echo 123 > /dev/ttyS1" , then "cat /dev/ttyS1": I got nothing. Seems nothing is recieved from uart2. Did I miss anything to use uart2 on linux? Is there documents about my issue? thanks very much. Dong + +Responses: +Hi It is unclear where you want to control the UART instance from and the overall intent of what you are trying to implement Can you be more specific in terms of the resource usage from Linux vs BIOS + +Hi, I want to verify UART2 function first in whichever method, so I take /dev/ttyS1 using Linux os. The final goal is to use LIN bus through UART2. The resource usage from Linux vs BIOS is not considered yet. Currently my problem is that UART2 data can't be received by "cat /dev/ttyS1". If TI has no support about UART2 on Linux os (tda2xx_evm_linux_all config), any other guide to quickly verify UART2 using Vision SDK(PROCESSOR_SDK_VISION_03_01_00_00) is appreciated. + +It seems that the pin mux register setting of uart2 is not correct: the macro CTRL_CORE_PAD_UART2_RXD_UART2_RXD_MUXMODE_UART2_RXD_0 in PlatformUART2SetPinMux() function does not match what's described in tda2x manual about UART2_RXD_MUXMODE. (P5149, TDA2x SoC for Advanced Driver Assistance Systems (ADAS), Silicon Revision 2.0, 1.x Texas Instruments ADAS Family of Products, Technical Reference Manual) After I change CTRL_CORE_PAD_UART2_RXD_UART2_RXD_MUXMODE_UART2_RXD_0 to CTRL_CORE_PAD_UART2_RXD_UART2_RXD_MUXMODE_UART2_RXD_4, uart2 rx function is correct. Please fix this bug in TI VISION SDK in case other developers using uart2 are having the same problem. Thanks! + diff --git a/sample_embedding_folder2/0698561.txt b/sample_embedding_folder2/0698561.txt new file mode 100644 index 0000000000000000000000000000000000000000..cf071542839b2b2f05c78af49713dd0190e21d55 --- /dev/null +++ b/sample_embedding_folder2/0698561.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2EVM5777: TDA2X UART Speed + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hello What is the max speed of UART in TDA2? I read in Spec that the speed is up to 12Mbps? so if we use 20MHz functional clock,uart speed will be 1.25M? + +Responses: +Hi, Theoretically yes - 1.25 Mbps, but you must be aware that 48 Mhz and 192 MHz clocks are also used for many other peripherals in the SoC which makes it almost impossible to set one of that clocks to 20Mhz. Regards, Stan PS See Figure 3-45. CM_CORE_AON Overview (b) in the TDA2 TRM document. + diff --git a/sample_embedding_folder2/0698563.txt b/sample_embedding_folder2/0698563.txt new file mode 100644 index 0000000000000000000000000000000000000000..20bc53d760d677c40439ff709697fd61f25019a3 --- /dev/null +++ b/sample_embedding_folder2/0698563.txt @@ -0,0 +1,12 @@ +Ticket Name: about the omap x5777 + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi, I have a VAYU EVM XC5777C CPU BOARD, however I can't find the reference documents about the omap x5777 on 'www.ti.com' online. Could you give some help, Thanks. + +Responses: +Hi, This is TDA2xx EVM. You can see the documents on TDA2 here: www.ti.com/.../tda2. Regards, Rishabh + +Hi, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +Dear Rishab, Thanks for your reply, it resolve my question. Thanks a lot. Regards, Tianxing + diff --git a/sample_embedding_folder2/0698674.txt b/sample_embedding_folder2/0698674.txt new file mode 100644 index 0000000000000000000000000000000000000000..b0bed3ca0fc243850b05ca622f86775b58df965d --- /dev/null +++ b/sample_embedding_folder2/0698674.txt @@ -0,0 +1,30 @@ +Ticket Name: Linux/TDA2: -mfpu=neon where to add + +Query Text: +Part Number: TDA2 Tool/software: Linux /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/linaro/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/lib/gcc/arm-linux-gnueabihf/5.3.1/include/arm_neon.h:31:2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h -mfpu=neon where to add? + +Responses: +Hi Shuai , Are you getting this error while building vision sdk or linux . ? What build stage you have this error . ? Regards Chetan.M + +Hi Chetan.M make -s -j i add some code use neon so error ! so -mfpu=neon where to add? + +if its in bios cores i.e ipu , dsp , eve then add it in corresponding make rules vision_sdk\build\rtos\makerules for hlos cores vision_sdk\build\hlos\makerules\linux Regards Chetan.M + +Hi Chetan.M for hlos cores PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/build/hlos/makerules/linux$ common_header_a15.mk ?? How can it ,please specific? BESTWISHES SHUAI + +Hi Shuai , CC_OPTS=-c -Wall -Warray-bounds -fPIC -mfpu=neon Regards Chetan.M + +i find in SDK_VISION_03_02_00_00\vision_sdk\apps\src\hlos\MAKEFILE_adam_car.MK have -mfpu=neon and i add -mfloat-abi=softfp here ,but still error /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/linaro/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/lib/gcc/arm-linux-gnueabihf/5.3.1/include/arm_neon.h:31:2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h how to solve this ? BESTWISHES SHUAI + +Hi Chetan.M this (-mfloat-abi=softfp ) is not need?? thanks shuai + +Hi Chetan.M i add like this CC_OPTS=-c -Wall -Warray-bounds -fPIC -mfpu=neon stille error, neon is not support? /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/linaro/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/lib/gcc/arm-linux-gnueabihf/5.3.1/include/arm_neon.h:31:2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h BESTWISHES SHUAI + +Shuai , CC_OPTS is the compiler c flags location . if you add the flags required here it is used while compilation . if you build without -s option you can see the expansion of all compiler option and macro . Regards Chetan.M + +HI Chetan.M help me please /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/linaro/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/lib/gcc/arm-linux-gnueabihf/5.3.1/include/arm_neon.h:31:2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h i add CC_OPTS=-c -Wall -Warray-bounds -fPIC -mfloat-abi=softfp -mfpu=neon but no done! how can i solve it? BESTWISHES SHUAI + +Hi Shuai , i am not sure if its looking for flags in linking stage , you can add the flags at LD_OPTS=-lpthread and try , Else please look at arm compiler documentation Regards Chetan.M + +"CC_OPTS="-c -Wall -Warray-bounds -fPIC -mfloat-abi=hard -mfpu=neon -w "CC_OPTS="-c -Wall -Warray-bounds -fPIC -mfloat-abi=hard -mfpu=neon -w In file included from conv11.h:2:0, from Arcsoft_AHD_Config.h:68, from Arcsoft_AHD_Utils.h:13, from Arcsoft_AHD_Net.h:4, from Arcsoft_AHD_Net.c:1: /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/linaro/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/lib/gcc/arm-linux-gnueabihf/5.3.1/include/arm_neon.h:31:2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h + diff --git a/sample_embedding_folder2/0698759.txt b/sample_embedding_folder2/0698759.txt new file mode 100644 index 0000000000000000000000000000000000000000..b9b8fb60a1d9fa223baa826d9858ee5e6c380d14 --- /dev/null +++ b/sample_embedding_folder2/0698759.txt @@ -0,0 +1,10 @@ +Ticket Name: Can TDA2 plus ISP handle RCCB format? + +Query Text: +Hello, Can ISP handle RCCB raw format? If not possible, is it limitation of HW or SW? Best regards, Wilson. + +Responses: +Hi Wilson, I think it can, have a look at the AppNote @ www.ti.com/.../spraca8.pdf Regards, Brijesh + +Brijesh, Thanks very much. + diff --git a/sample_embedding_folder2/0698847.txt b/sample_embedding_folder2/0698847.txt new file mode 100644 index 0000000000000000000000000000000000000000..a39628c6ede09c7d3ea2c5802db28a1ed232cac2 --- /dev/null +++ b/sample_embedding_folder2/0698847.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: Inquiry TDA2 feature : 2 or 3 camera signal input and process in the same time performance + +Query Text: +Part Number: TDA2 Dear Sir/Madam I have an inquiry on this TDA2. I would like to check with you is this TDA2 able to support 2 to 3 camera signal input and is it able to process is all at the same time? + +Responses: +Yes, Have look into the SRV usecase, it processes 4 1MP cameras. Rgds, Brijesh + +Dear Brijesh So another you able to do computer vision processing on to 4 x 1MP cameras as the same time ? + +Hi Wilson, Well, it depends on what algorithms you are using and what processing requires your algorithm? Rgds, Brijesh + diff --git a/sample_embedding_folder2/0698848.txt b/sample_embedding_folder2/0698848.txt new file mode 100644 index 0000000000000000000000000000000000000000..772cc974819ceb1ac488b3b2c0b63ce86bf0a3af --- /dev/null +++ b/sample_embedding_folder2/0698848.txt @@ -0,0 +1,10 @@ +Ticket Name: RTOS/TDA2: SerDes DS90UB933 can pair with DS90UB914 + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Sir, I see below from "Camera SerDes Overview" of TI web. I have TDA2 that mount DS90UB914Q deserializers and target camera module use DS90UB933 serializers. Because I have not EE resource can support. Could you please check can they pair? Is Pair the DS90UB933 serializers with DS90UB914Q deserializers? Thanks for your support. + +Responses: +Hi Prince, Atleast the 933 specs does not mention the support for 914 deserializer, so it will not work.. Rgds, Brijesh + +Hi Brijesh, Understand. Thanks for your reply. + diff --git a/sample_embedding_folder2/0698942.txt b/sample_embedding_folder2/0698942.txt new file mode 100644 index 0000000000000000000000000000000000000000..abff51d3eab88a9034d4423bde35e27c7c3ba96b --- /dev/null +++ b/sample_embedding_folder2/0698942.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Caffe SSD model output does not match TIDL output + +Query Text: +Part Number: TDA2 Hi, I'm running our own ssd model(not caffe-jacinto based) using the eve host emulation.The input resolution of the image is 480x270. The SSD network contains four heads. I have set keep_top_k as 5 to output only five boxes. My detection layer is as follows: layer { name: "detection_out" type: "DetectionOutput" bottom: "mbox_loc" bottom: "mbox_conf_flatten" bottom: "mbox_priorbox" top: "detection_out" include { phase: TEST } detection_output_param { num_classes: 2 share_location: true background_label_id: 0 nms_param { nms_threshold: 0.45 top_k: 100 } code_type: CENTER_SIZE keep_top_k: 5 confidence_threshold: 0.1 } } This is the python script being used to read and print the SSD output from Bin file: import numpy as np bbox = np.fromfile("trace_dump_54_140x1.y", dtype=np.float32) reshapedbox = np.reshape(bbox,[5,7]) print reshapedbox When I run the script, the output is as follows: [[0. 1. 0.9999695 0.49767017 0.86217594 0.50364757 1.0235895 ] [1. 1. 0.9999695 0.4310913 0.8820838 0.4368931 1.0036817 ] [2. 1. 0.9999695 0.36486337 0.8434374 0.36978766 0.9579961 ] [3. 1. 0.9999695 0.2893248 0.8660821 0.29530218 0.98064077] [4. 1. 0.9999695 0.24571767 0.8706877 0.25169504 0.9869671 ]] The caffe output I got from the model is: [[[[0. 1. 0.9980788 0.8675699 0.4135536 0.921327 0.5036046 ] [0. 1. 0.9775522 0.7183735 0.4759325 0.754390 0.5347565]]]] Both in tidl and caffe the last four index corresponds to the coordinates xmin, ymin, xmax and ymax. As you could see the outputs are too different. Is it expected when models are not trained using caffe-jacinto? I verified the caffe output by plotting the bounding box over the image and it's correct. Thanks in advance, Navinprashath.R.R + +Responses: +We have validated the models trained using caffe-jacinto only. The detection layer is implemented as per the definition of caffe-jacinto layer Use caffe-jacinto and eaxmple models in caffe-jacito-models folder to used SSD feature of TIDL + diff --git a/sample_embedding_folder2/0699186.txt b/sample_embedding_folder2/0699186.txt new file mode 100644 index 0000000000000000000000000000000000000000..55e7dbf834bcae4bd57255153733158af112d94e --- /dev/null +++ b/sample_embedding_folder2/0699186.txt @@ -0,0 +1,20 @@ +Ticket Name: RTOS/TDA2: Problems with integrating existing framecopy algorithm into existing NetworkRxDecDisplay UseCase + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hello, We are working on a TDA2xx EVM with Bios (tda2xx_evm_bios_all) We tried to integrate the framecopy algorithm into the NetworkRxDecDisplay UseCase. (See picture) The defaul unedited NetworkRxDecDisplay UseCase is working fine, but the new edited UseCase doesn't work. It starts, but when we start to stream the data from the pc to the Board, this error occurs: PC side: Does anyone know, how we can fix that? Kind Regards + +Responses: +Hi , On which core are you running networking .? A15 or ipu1_1 From figure it shows a15 but from log it says ipu1_1 Regards Chetan.M + +Hello, we set NDK_proc_to_use to ipu1_1 in build-config Regards + +but the usecase you have generated network rx on A15 . ? Can you try changing it on ipu ( core where you have networking enabled) . ? Regards Chetan.M + +But the standard NetworkRxDecDisplay UseCase (without the framecopy) works fine. We can send video data with the network tx tool and it's displaying on the display without an error Regards + +Sorry this use case is a bit confusing... In the use case Picture, it seems to indicate the NetworkRx is running on A15 but it will actually be overwritten in chains_networkRxDecDisplay_SetAppPrms() depending on where the NDK_proc_to_use is set. So, in reality, since NDK_proc_to_use=ipu1_1, the NetworkRx link will be running on IPU1_1. We do that because we want to make the same use case code working wherever NDK resides. When you create your own use case, you have to create NetworkRx Link on the same core as the NDK_proc_to_use is set. + +Hello, ok, thanks for the explanation . We will try it with the NetworkRx link created on ipu1_1 and let you know if it works then. Thanks and regards + +Did it solve the issue , Please close the thread if the issue is solved Regards Chetan.M + diff --git a/sample_embedding_folder2/0699476.txt b/sample_embedding_folder2/0699476.txt new file mode 100644 index 0000000000000000000000000000000000000000..6775b68100a209a0850940aa0152716e94d5aa11 --- /dev/null +++ b/sample_embedding_folder2/0699476.txt @@ -0,0 +1,40 @@ +Ticket Name: Linux/TDA2: How to get the serial number of the chip of tda2x + +Query Text: +Part Number: TDA2 Tool/software: Linux How to get the serial number of the chip of tda2x + +Responses: +Hi, shuai wang32, Please refer to 1.5 TDA2x Device Identification section in Technical Reference Manual. Regards, Mariya + +Hi, Please refer to Table 1-2. DIE_ID in the device TRM. Although not explicitly stated, I think DIE_ID is a unique die ID identificator. Regards, Stan + +Hi Stan I'm going to use the only chip ID to encrypt it. Table 1-2. DIE_ID Is it appropriate? shuai + +Hi Shuai, Yes this is correct. Regards, Rishabh + +HI Rishabh: HOW CAN I get the DIE_ID number on A15 in linux! unsigned int chipid[4]; chipid[0]=STD_FUSE_DIE_ID_0; chipid[1]=STD_FUSE_DIE_ID_1; chipid[2]=STD_FUSE_DIE_ID_2; chipid[3]=STD_FUSE_DIE_ID_3; printf("chipid[0]=%d ,chipid[1]=%d,chipid[2]=%d,chipid[3]=%d\n",chipid[0],chipid[1],chipid[2],chipid[3]); chains_main.c:142:12: error: 'STD_FUSE_DIE_ID_1' undeclared (first use in this function) + +Hi Shuai, These are registers in the Control Module. Search for CTRL_WKUP_STD_FUSE_DIE_ID_0(0x4AE0 C200) in Control Module chapter in TRM. Regards, Rishabh + +Hi You will not be able to just access the device physical registers on Linux Linux uses a full fledged MMU to ensure isolation between Kernel and user mode access Accessing device register from an User application is typically not allowed unless you are writing a user space driver for a peripheral If it is for some debug you can use tools such as omapconf( github.com/.../wiki) to temporarily map the device registers and read/write to it + +I have a A15 algorithm link needs to be encrypted and used for users, I want to use chip ID to correspond to encrypted files, so how do I get the chip ID in the A15's algorithm LINK? In this way, I can verify whether the chip ID matches the encrypted file. + +Hi Are you suggesting that you would like to use the chip ID as an input for the encryption process - is the encryption based on the chip id itself or a device unique key + +Hi Sriram based on the chip id itself ! BESTwishes shuai + +Using a emulator can look at the register of ID , also read Physical Address, but canot read Physical Address in code of linux. + +****** Segmentation fault caught .... Faulty address is 0x4ae0c200, called from 0xb6c4d1a9 Totally Obtained 0 stack frames. signal number =11 Signal number = 11, Signal errno = 0 SI code = 1 (Address not mapped to object) Fault addr = 0x4ae0c200 [bt] Execution path: + +Hi Can you clarify where will you need to read the chip id from If it is from user space, you have to resort to one of the following 1. Read from RTOS(on M4) , pass this information as part of IPC to application on A15 2. On A15 Use tool like omapconf and some scripting to pass this information to your application 3. Emulate ompaconf type mapping from a custom driver to map and read the device id information + +Hi:Sriram i want to read chip id on A15 algorithm link ! + +Hi:Sriram On A15 Use tool like omapconf is there any sample or document for guide ! shuai + +Hi For omapconf usage refer wiki link : github.com/.../wiki + +Hi Shuai, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Yordan + diff --git a/sample_embedding_folder2/0699500.txt b/sample_embedding_folder2/0699500.txt new file mode 100644 index 0000000000000000000000000000000000000000..f2cdbe3932aaac76c600fa6aefb8177200ab9c27 --- /dev/null +++ b/sample_embedding_folder2/0699500.txt @@ -0,0 +1,22 @@ +Ticket Name: Linux/TDA2: what's format the video data (yuv420sp_uv) in buffer? + +Query Text: +Part Number: TDA2 Tool/software: Linux i write a algorithm plugin , and it had run. but my algorithm not work. so i want save one frame data to debug in algorithmLink_process function. there is a problem i occured . the slice of my code as follow, the data is YUV420SP_UV format , but i can't play it use yuv player on pc for(bufCntr = 0; bufCntr < numBuffs; bufCntr++) { OSA_memCacheInv((unsigned int) pSysVideoFrameBufferInput->bufAddr[bufCntr], (unsigned int) bufSize[bufCntr]); } frame_count--; if(frame_count == 0) { fp_out = fopen("/home/30.yuv", "wb"); fwrite(pSysVideoFrameBufferInput->bufAddr[0], pInputChInfo->width*pInputChInfo->height, 1, fp_out); fwrite(pSysVideoFrameBufferInput->bufAddr[1], pInputChInfo->width*pInputChInfo->height/2, 1, fp_out); fflush(fp_out); fclose(fp_out); } so , i guess the data storage format in memory is not linear . is right ? can you explain the details to me ? thanks a lot + +Responses: +and i run the algorithm plugin on A15 + +Hi, The data is linear format only. But typically none of the YUV player support YUV420SP format. Can you please confirm if your player support it? Also can you check if luma only looks correct? Rgds, Brijesh + +the file is dum_yuv.txt , it seems like that stroge format is tile .dump_yuv.txt + +there is the pictures. + +Hi, Can you please check the pitch/line offset of the luma and chroma portion of the image? it seems it is different. Also if possible, can you share this dumped image? Rgds, Brijesh + +i had upload the dumped file , it is dump_yuv.txt . res is 1280*800. the pitch should equal the width, but i will check it . the chains is NullSource (A15) -> Decode -> Alg_dms (A15) -> Display i dumped the data at Alg_dms Link, before the alg called . + +May be decoder output is not correct, can you check before decoder if nullSource output is correct? Rgds, Brijesh + +thanks , i solved this problem , the pitch value is not equal 1280 , it is 2048 . + diff --git a/sample_embedding_folder2/0699766.txt b/sample_embedding_folder2/0699766.txt new file mode 100644 index 0000000000000000000000000000000000000000..3cb37d0d765740f0313b1025b1ef56f78c188032 --- /dev/null +++ b/sample_embedding_folder2/0699766.txt @@ -0,0 +1,26 @@ +Ticket Name: TDA2EVM5777: AdaBoost Training + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hi, I have used Adaboost object detection training tool (Matlab based github.com/.../acf-jacinto) to generate .descriptor My dataset is download from https://goo.gl/sVtBm2 (.avi) and youtube (.mp4) I annotated my dataset by acf-jacinto-master vbbLabeler.m I only change the dataset (Boat) to train the model and convert .descriptor and use it in TDA2 But it didn't work when I run 1: Single Camera Usecases f: 1CH VIP capture (HDMI) + FrontCam Analytic 2 (PD+TSR+VD+LD+TLR+SFM) (DSPx,EVEx) + Display(HDMI) and e: 1CH VIP capture (HDMI) + Pedestrian, Traffic Sign, Vehicle Detect 2 (EVE1 + DSP1) + Display 3: Enable Vehicle Detect (VD) note: I change the VD weights with mine (boat weights) Best Regards, Andy Dong + +Responses: +Hi Andy, Can you play with softCascadeTh and strongCascadeTh in object_detection.cfg and see if you get any detections? Try a lower value for both. Currently for VD its set at -2. Regards, Shyam + +Hi, sorry for late reply I change softCascadeTh and strongCascadeTh to -5 but it still not work when I run the usecase the sreen like below picture https://goo.gl/bbSHVa Regards, Andy Dong + +Hi Andy, Even if the classifier is not detecting anything, it should atleast display the video on the screen. What happens when you replace the weights back to the original one? Can you share your descriptor file? Regards, Shyam + +Hi, I had already tried to replace the weights(the original VD_weights) back and it work below is my descriptor drive.google.com/.../view Regards, Andy Dong + +Hi Andy, Your descriptor file looks correct to me. Unfortunately, the maximum number of cascade trees for "VD" type is 1280. In your descriptor, the number of cascade trees is 2048. So this could be the reason. Can you try using your descriptor in place of "PD"? For "PD" type the maximum number of trees is 2048. Regards, Shyam + +Hi, when I replace PD with boat weights , it works But I found something weird, it never happened before I change the weight the system become easily crashed when I do below steps 1. connect HDMI 2. start the system, choose 1: Single Camera Usecases -> f: 1CH VIP capture (HDMI) + FrontCam Analytic 2 (PD+TSR+VD+LD+TLR+SFM) (DSPx,EVEx) + Display(HDMI) the boat wieghts works depend on doing step 2 -> step 1 Regards, Andy Dong + +Hi Andy, Let me connect you with one of our system experts. He might have an answer for you. Regards, Shya, + +Hi Andy let me try to understand Case1: if you follow below steps it works 1. start the system, choose 1: Single Camera Usecases -> f: 1CH VIP capture (HDMI) + FrontCam Analytic 2 (PD+TSR+VD+LD+TLR+SFM) (DSPx,EVEx) + Display(HDMI) 2. connect HDMI Case2: But If you follow below steps it doesn't work for you 1. connect HDMI 2. start the system, choose 1: Single Camera Usecases -> f: 1CH VIP capture (HDMI) + FrontCam Analytic 2 (PD+TSR+VD+LD+TLR+SFM) (DSPx,EVEx) + Display(HDMI) can you please confirm my understanding is right? regards, Shiju + +Hi,Shiju Yes, you are right. In Case2 the screen is like below picture https://goo.gl/bbSHVa Regards, Andy Dong + +Hello Andy Dong we have not noticed any such issue, the HDMI player we used works in both cases. I would doubt one thing with the player you use as it may be try to to EDID with board and it works only if you started the demo and connect the player later. As we support only 1080p @60 capture , please check if you have a way to force the player to output 1080p (1920x1080 @60fps), then I guess both case1 and case2 will work regards, Shiju + diff --git a/sample_embedding_folder2/0699806.txt b/sample_embedding_folder2/0699806.txt new file mode 100644 index 0000000000000000000000000000000000000000..fbd0d56cb56c4be5db8abe67bcac63912cdeb3b3 --- /dev/null +++ b/sample_embedding_folder2/0699806.txt @@ -0,0 +1,8 @@ +Ticket Name: CCS/TDA2: Can C66 use multithreading to optimize performance + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio Can C66 use multithreading to optimize performance and how to do ?? + +Responses: +Hi Shuai, The C66x core is essentially a single CPU. You can use TI RTOS for multithreading tasks on the single core but essentially they will be time multiplexed. If your idea is to run threads in parallel that would not be possible on the C66x. Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0700085.txt b/sample_embedding_folder2/0700085.txt new file mode 100644 index 0000000000000000000000000000000000000000..b2a3ecaba42edbb2c7fadd701700d9c0c612ed3a --- /dev/null +++ b/sample_embedding_folder2/0700085.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2EVM5777: TDA2EVM5777 DDR data pin connection + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hello Why in TDA2EVM , DDR data pin connection are not in sequence? for example: U65 DQ15(A3) connect to DDR_D14 , DQ14(B8) connect to DDR_D9? thank you + +Responses: +Hi, When interfacing TDA2 to DDR3, the DQ bits can be swapped within a byte lane to ease routing on the PCB. Thus, the EVM design routed DQ15(A3) to DDR_D14 and DQ14(B8) to DDR_D9 , etc. because these mappings alleviated the challenges of the PCB routing. Please note that DQ bit swapping can only be done within a byte lane. Best regards, Kevin + diff --git a/sample_embedding_folder2/0700101.txt b/sample_embedding_folder2/0700101.txt new file mode 100644 index 0000000000000000000000000000000000000000..540a80750266de700babd565e9b44f0e621f13ce --- /dev/null +++ b/sample_embedding_folder2/0700101.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2EVM5777: TDA2 EVM DDR VTT Enable + +Query Text: +Part Number: TDA2EVM5777 Hello Why the EVM connect the SPI1_CS1n(ball A22) to DDR VTT? is there any scenario to turn off VTT by SoC? thank you + +Responses: +Hi, Yes, this pin could turn off VTT during , thus saving power. I'm not aware if/how it is used in software. Hope it will be answered here soon. Regards, Stan + +Hi @user3829173, which SDK you use? Regards, Yordan + +Hi Yordan 01.09.00.00 thanks + +Hi Stan Got it! thanks + diff --git a/sample_embedding_folder2/0700470.txt b/sample_embedding_folder2/0700470.txt new file mode 100644 index 0000000000000000000000000000000000000000..d9a0e1cae3dd1bb38b3852c9752970a775bb9df4 --- /dev/null +++ b/sample_embedding_folder2/0700470.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS / TDA2:video format RCCC to YUV420SP + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, We using TDA2XX on our product and we have two question to confirm 1. Can we transform RCCC raw data to YUV420SP in TDA2 SOC? 2. We would like to integrate TIDL_OD and deep learning Lane Detection we develop. but if we transform the video format by using TDA2 SOC . Will it lead to has less computing power? + +Responses: +Cheng, I can answer part of the question. There is no hardware support for converting RCCC to YUV420, but you could have your own algorithm running on DSP/EVE to do this conversion. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0700475.txt b/sample_embedding_folder2/0700475.txt new file mode 100644 index 0000000000000000000000000000000000000000..1b5dd370270951242f43c6a4068dd0d1978df62e --- /dev/null +++ b/sample_embedding_folder2/0700475.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2EVM5777: TDA2 EVM XO_OSC1 + +Query Text: +Part Number: TDA2EVM5777 Hello I read from TDA2x_SR2.0 TRM that xi_osc1 frequency should be (19.2/32)MHz, but why osc in 516582H_VAYU_EVM_13NOV2015_H is 22.5792MHz? thank you + +Responses: +Hi, user3829173 (3829173), (19.2 ÷ 32) MHz means range from 19.2 to 32 MHz. So 22.5792 is within the range. Regards, Mariya + diff --git a/sample_embedding_folder2/0700528.txt b/sample_embedding_folder2/0700528.txt new file mode 100644 index 0000000000000000000000000000000000000000..ac13f0023f3fa63024b4c9119cfeb5e6da2ec5c8 --- /dev/null +++ b/sample_embedding_folder2/0700528.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: fail of a new use case + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, Our FAE told us a new flow below for our use case It's img file below but we got the error below Can you tell us where is wrong? BR Allen + +Responses: +Hi Allen , If you trace the error , the return of Draw2D_setBufInfo is SYSTEM_LINK_STATUS_EINVALID_PARAMS the function is defined in draw2d.c file Please go through the function and verify if all the required parameters are set fine . Regards Chetan.M + diff --git a/sample_embedding_folder2/0700555.txt b/sample_embedding_folder2/0700555.txt new file mode 100644 index 0000000000000000000000000000000000000000..fb34f987980caf50425f30631ab8ea38dece16bb --- /dev/null +++ b/sample_embedding_folder2/0700555.txt @@ -0,0 +1,8 @@ +Ticket Name: video input port(VIP) : connect camera number + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi, I have a question about the vip. the tda2x soc have some video input port, for example tda2xx have 3 video input port modules, and support for up to 10 multiplexed input ports, that means we can connect 10 cameras simultaneously? I want to be sure the max camera number we can connect. Thanks, Tianxing + +Responses: +You many not be able to connect all 10 comera to TDA2 because of pinmux limitations. For example some of the VIP pins are muxed with DSS pins. So kindly go through the device datasheet to check feasibility based on your board layout or usecase. + diff --git a/sample_embedding_folder2/0700668.txt b/sample_embedding_folder2/0700668.txt new file mode 100644 index 0000000000000000000000000000000000000000..a20c146e94c57333230124885492d0c84e4d97bc --- /dev/null +++ b/sample_embedding_folder2/0700668.txt @@ -0,0 +1,16 @@ +Ticket Name: RTOS/TDA2: Can't add log string to "bsputils_lvds.c" and display it + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Sir, As title. I studying SerDes control from CSL of SDK v3.3. I add "Vps_printf()" at BspUtils_appConfSerDeSer() to output debug string and information to console port. (I'm sure system has run to BspUtils_appConfSerDeSer() of bsputils_lvds.c) I run the use case "2. Multi-Camera LVDS Usecases -> 1: 4CH VIP Capture + Mosaic Display -> 0: For Single channel mode". And I can see image has received from CAM1 of vision board and displayed to monitor but can't see debug string from console port. Maybe I call the wrong API. Could you give me some suggestion? Many thanks. Debug string as below: Int32 BspUtils_appConfSerDeSer(UInt32 devDrvId, UInt32 devInstId) { Int32 retVal = BSP_SOK; UInt32 serI2cDevAddr; UInt32 ovInstId; Vps_printf("Enter: %s\n", __FUNCTION__); ....Hiden..... Vps_printf("Exit: %s\n", __FUNCTION__); return (retVal); } + +Responses: +Hi Prince, can you check if this helps: e2e.ti.com/.../2531375 Regards, Yordan + +Hi Yordan, I will check first. Many thanks. + +Hi Sir, I find just call GT_xTrace() if want to output debug information from CSL layer. + +Hi Prince, GT Trace can be used in VPS drivers but not in CSL. Regards, Rishabh + +I see, thanks for your feedback :) + diff --git a/sample_embedding_folder2/0700794.txt b/sample_embedding_folder2/0700794.txt new file mode 100644 index 0000000000000000000000000000000000000000..1f70011d893fd5c860cf11e94f2e0e82f4b34883 --- /dev/null +++ b/sample_embedding_folder2/0700794.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: CMEM Error: init: major version mismatch between interface and driver. + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, When i start to run opencv sample, i got following error. CMEM Error: init: major version mismatch between interface and driver. CMEM Error: needs driver version 0x4130001, got 0x4120000 TIOCL FATAL: The cmemk kernel module is not installed. Consult the OpenCL UserGuide at http://software-dl.ti.com/mctools/esd/docs/opencl/index.html i follow the step in VisionSDK_UserGuide_opencx.pdf How can i solve this problem? Thanks, Chen-Wei + +Responses: +Hi Chen-Wei, Did you followed chapter "2.4.2.1.1 Clone kernel" from VisionSDK_Linux_UserGuide.pdf to clone and checkout the correct version of cmem? (from other E2E threads with the same error it looks that this might happen because the userspace library that uses cmem is build against different version of cmem.ko module) Regards, Yordan + diff --git a/sample_embedding_folder2/0700952.txt b/sample_embedding_folder2/0700952.txt new file mode 100644 index 0000000000000000000000000000000000000000..60adebc11ddc51de73739747a43f5b3f6db1732b --- /dev/null +++ b/sample_embedding_folder2/0700952.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: TDA2 DDR3L Circuit Design Changes + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: X5777BXGABC We made the following design changes for the DDR3L circuit in the TDA2 DEMO board: 1. X5777BXGABC only use DDR1 interface, do not use DDR2 interface; 2. Two 8Gb @16bit DDR3 SDRAM: Changed the manufacturer, the chip specification is the same as the DEMO board, the frequency is up to 1066 MHz, and the rate is 1600MT/s; 3. A 2Gb @8bit DDR as an ECC extension: Changed the manufacturer, the chip's capacity is different from the DEMO board (DEMO board 4Gb, more than 2Gb with an A15 address line), the highest frequency of 1066 MHz, the rate of 1600MT/s 4. pcb layout with DEMO board Please ask: 1. Does the X5777BXGABC software need to be adapted? 2. What software is available for DDR3 board level calibration and stress test tools? + +Responses: +It is possible that the software needs to be modified. For instance, the DMM and MPU memory adapter settings will need to be modified such that only EMIF1 is accessed when read/write requests are initiated by the CPUs, especially if the two EMIFs were previously interleaved. In addition, a larger density memory on ECC will impact the refresh timing such as tRFC. However in this case, tRFC should be calculated based off of the 8Gb part attached to data, which appears to match the DEMO board. It is recommended that you confirm register settings using the EMIF tools .xls : http://www.ti.com/lit/zip/sprac36 For calibration of the DLL ratios, it is recommended that you use hardware leveling. Best regards, Kevin + diff --git a/sample_embedding_folder2/0700955.txt b/sample_embedding_folder2/0700955.txt new file mode 100644 index 0000000000000000000000000000000000000000..70b51317a929ca28d4dd0feba90e20ef80a98c22 --- /dev/null +++ b/sample_embedding_folder2/0700955.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: compiler Error : undefined + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, We create an new use case it is the flow below but when I do "gmake -s -j" it show the error below where should I define them? BR Allen + +Responses: +Hi Allen , In the sdk we support only one instance of file read hence the 2nd instance throws a error 2 file read is not tested in the sdk . Regards Chetan.M + diff --git a/sample_embedding_folder2/0700975.txt b/sample_embedding_folder2/0700975.txt new file mode 100644 index 0000000000000000000000000000000000000000..351660097e332060b46f1fc3fcff15fc582cb974 --- /dev/null +++ b/sample_embedding_folder2/0700975.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2: On the optimization of tda2x + +Query Text: +Part Number: TDA2 The tda2x platform can Implementation pipeline between multiple cores, such as capture.....algorithm1(dsp1)->algorithm2(dsp2)->algorithm3(eve1 and eve2)......dispay frame(1) frame(2) -> frame(1) frame(3) -> frame(2) -> frame(1) frame(4) -> frame(3) -> frame(2) Is my idea feasible? Thanks! Mary + +Responses: +Hi Mary , is it that the same frame needs to be passed to alg 1 on dsp1 , alg 2 on dsp2 , alg 3 on eve1 , alg 4 on eve 4 and then to display . ? Yes it can be done , Regards Chetan.M + +Hi, Chetan.M Yes, same frame needs to be passed to alg 1 on dsp1 , alg 2 on dsp2 , alg 3 on eve1 , alg 4 on eve 4 and then to display. 1280x720*3 (RGB) size image, data transfer between different cores. such as from dsp(1) to eve(1), How long will it take? Thanks! Mary. + +Hi Mary, IPC latency between cores will be less than 1 millisec Regards Chetan.M + +Hi Chetan.M, Thank you very much for your reply Optimization method: 1. sparse matrix 2. floating-point to fixed-point , Data aligned read and write 3. application instruction set 4. use DMA to external memory (SDRAM) data transmission to L2 5. single cycle, pipeline. The above is the optimization of DSP. Are there any other optimization methods besides these? How can EVE be optimized? thanks! Mary + +Hi Mary , Please close this thread and start another thread for optimization , DSP and EVE experts will help you out . You can also refer the the user guide and developer guide in docs folder for more details of components Regards Chetan.M + diff --git a/sample_embedding_folder2/0701398.txt b/sample_embedding_folder2/0701398.txt new file mode 100644 index 0000000000000000000000000000000000000000..0f13383b5605d801315c63b9f887becf32808ba5 --- /dev/null +++ b/sample_embedding_folder2/0701398.txt @@ -0,0 +1,12 @@ +Ticket Name: RTOS/TDA2: Can't find schematic of LVDS MCV board (6 channel FPD-Link III FMC SV600964 Daughter Board) . + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Sir, We are tracing LVDS setting from VPS of SDK v3.3 and need LVDS MCV schematic to refer. HW is TDA2 + vision board + FMC SV600964 Daughter Board. But we can't find FMC SV600964 Daughter Board schematic. Could you please tell us how to get it? Thanks. + +Responses: +Hi Sir, Seem like below link. support.spectrumdigital.com/.../Schematic Prints.PDF Could you please confirm for us? Thanks. + +Hi Prince, The schematics look correct. Regards, Rishabh + +Hi, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0701513.txt b/sample_embedding_folder2/0701513.txt new file mode 100644 index 0000000000000000000000000000000000000000..1dbaf79f26d5ef81ec085d065c89a2650fc44e98 --- /dev/null +++ b/sample_embedding_folder2/0701513.txt @@ -0,0 +1,44 @@ +Ticket Name: Linux/TDA2: sample_app nullSrc_display how to change ? + +Query Text: +Part Number: TDA2 Tool/software: Linux i build SDK_VISION_03_02_00_00 sample_app , there is a nullSrc_display link use DSP copy data. vision_sdk\sample_app\src\rtos\alg_plugins\framecopy\frameCopyAlgoLocalDma.c i change code of this rebuild but when i run it not change i move away this print , but it also have this print inf Vps_printf(" ALG_FRAMECOPY: DMA: Allocated CH (TCC) = %d (%d)\n", pAlgHandle->edmaChId, pAlgHandle->tccId); edma3Result = EDMA3_DRV_clearErrorBits( pAlgHandle->hEdma, pAlgHandle->edmaChId ); i add Vps_printf but it doesnot take effect! i dont know why? + +Responses: +Hi Shuai What i understand is you are trying to modify frame copy algo running on DSP , you have deleted the print but still you see the prints appearing when running the usecase . Please verify if you have built the libs and run the correct binary , Also try a clean build. Add a # error in the file and verify that the file is compiled and changes you are doing are in correct file. Regards Chetan.M + +Hi Chetan.M: this is my step 1、move away this obj (PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/obj/app_alg_plugins/tda2xx-evm/66$) 2、move away this lib (PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/lib/tda2xx-evm/66$) 3、change code (PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/sample_app/src/rtos/alg_plugins/framecopy$/frameCopyAlgoLocalDma.c) add Vps_printf(" wordWidth: DMA: height CH (TCC) = %d (%d)\n", pAlgHandle->frameCopyObj.maxWidth,pAlgHandle->frameCopyObj.maxHeight ); dell follow print if (edma3Result == EDMA3_DRV_SOK) { Vps_printf(" ALG_FRAMECOPY: DMA: Allocated CH (TCC) = %d (%d)\n", pAlgHandle->edmaChId, pAlgHandle->tccId); edma3Result = EDMA3_DRV_clearErrorBits( pAlgHandle->hEdma, pAlgHandle->edmaChId ); } else { Vps_printf(" ALG_FRAMECOPY: DMA: ERROR in EDMA CH allocation\n"); } 4、make -s -j depend 5、make -s -j 6、make sure PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/targetfs/opt/vision_sdk/sample_app.out is renew. 7、run sample_app.out i think it should make some print change , but it no change , [HOST] [HOST ] 1850.496065 s: #### ENTERING SAMPLE_APP:NULL SOURCE -> DISPLAY USE CASE #### [HOST] [HOST ] 1850.520161 s: IPC_OUT_0 : Create in progress !!! [HOST] [HOST ] 1850.520252 s: IPC_OUT_0 : Create Done !!! [HOST] [DSP1 ] 1850.520344 s: IPC_IN_0 : Create in progress !!! [HOST] [DSP1 ] 1850.520740 s: IPC_IN_0 : Create Done !!! [HOST] [DSP1 ] 1850.520954 s: ALGORITHM: Create in progress (algId = 0) !!! [HOST] [DSP1 ] 1850.521076 s: ALG_FRAMECOPY: DMA: Allocated CH (TCC) = 0 (0) [HOST] [DSP1 ] 1850.571463 s: ALGORITHM: Create Done (algId = 0) !!! [HOST] [DSP1 ] 1850.571707 s: IPC_OUT_0 : Create in progress !!! [HOST] [DSP1 ] 1850.571829 s: IPC_OUT_0 : Create Done !!! [HOST] [IPU2 ] 1850.572073 s: IPC_IN_0 : Create in progress !!! [HOST] [IPU2 ] 1850.573171 s: IPC_IN_0 : Create Done !!! + +I don't know why. i think obj lib and sample_app.out is renew! If I modify the code make some mistake, compile will also prompt. so i think the code was compiled! + +Are you booting from SD / nfs , I suspect the booting is happening from different location and build binary is different , Try md5sum check on both binaries and ensure running binary and built are same Regards Chetan.M + +Hi Chetan.M i am booting from NFS , I ADD print in (PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/sample_app/src/hlos/chains_common/chains_main.c) it have reaction! but change in (PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/sample_app/src/rtos/alg_plugins/framecopy/frameCopyAlgoLocalDma.c) no reaction! BESTWISHES SHUAI + +Shuai , You are running frame copy on A15 or DSP .. ? Regards Chetan.M + +can you build it as BUILD_ALGORITHMS=yes from the \apps\configs\\cfg.mk Regards Chetan.M + +ok! let me thy , i running frame copy on DSP! BESTWISHESH SHUAI + +Thanks Shuai , Please let me know if it solved the issue Regards Chetan.M + +Hi Chetan.M BUILD_ALGORITHMS=yes then make -s -j failed make: *** /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/algorithms: No such file or directory. Stop. make[3]: *** [algorithmslib] Error 2 + +Hi Shuai , Not all algo src is released , hence you are getting the error Regards Chetan.M + +Hi : Chetan.M in PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/ have apps sample_app binaries build docs links_fw no algorithms so how to solve this problem? make: *** /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/algorithms: No such file or directory. Stop. make[3]: *** [algorithmslib] Error 2 i think set BUILD_ALGORITHMS=no PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/sample_app/src/rtos/alg_plugins/framecopy$/frameCopyAlgoLocalDma.c is builded ,as i move obj of frameCopyAlgoLocalDma.c , rebulid creat PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/obj/app_alg_plugins/tda2xx-evm/66/release$/frameCopyAlgoLocalDma.se66 and frameCopyAlgoLocalDma.oe66 . + +Hi Shuai , i am not able to understand your problem Regards Chetan.M + +Hi Chetan.M: this is my step 1、move away this obj (PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/obj/app_alg_plugins/tda2xx-evm/66$) 2、move away this lib (PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/lib/tda2xx-evm/66$) 3、change code (PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/sample_app/src/rtos/alg_plugins/framecopy$/frameCopyAlgoLocalDma.c) add Vps_printf(" wordWidth: DMA: height CH (TCC) = %d (%d)\n", pAlgHandle->frameCopyObj.maxWidth,pAlgHandle->frameCopyObj.maxHeight ); dell follow print if (edma3Result == EDMA3_DRV_SOK) { Vps_printf(" ALG_FRAMECOPY: DMA: Allocated CH (TCC) = %d (%d)\n", pAlgHandle->edmaChId, pAlgHandle->tccId); edma3Result = EDMA3_DRV_clearErrorBits( pAlgHandle->hEdma, pAlgHandle->edmaChId ); } else { Vps_printf(" ALG_FRAMECOPY: DMA: ERROR in EDMA CH allocation\n"); } 4、make -s -j depend 5、make -s -j 6、make sure PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/targetfs/opt/vision_sdk/sample_app.out is renew. 7、run sample_app.out i think it should make some print change , but it no change , [HOST] [HOST ] 1850.496065 s: #### ENTERING SAMPLE_APP:NULL SOURCE -> DISPLAY USE CASE #### [HOST] [HOST ] 1850.520161 s: IPC_OUT_0 : Create in progress !!! [HOST] [HOST ] 1850.520252 s: IPC_OUT_0 : Create Done !!! [HOST] [DSP1 ] 1850.520344 s: IPC_IN_0 : Create in progress !!! [HOST] [DSP1 ] 1850.520740 s: IPC_IN_0 : Create Done !!! [HOST] [DSP1 ] 1850.520954 s: ALGORITHM: Create in progress (algId = 0) !!! [HOST] [DSP1 ] 1850.521076 s: ALG_FRAMECOPY: DMA: Allocated CH (TCC) = 0 (0) [HOST] [DSP1 ] 1850.571463 s: ALGORITHM: Create Done (algId = 0) !!! [HOST] [DSP1 ] 1850.571707 s: IPC_OUT_0 : Create in progress !!! [HOST] [DSP1 ] 1850.571829 s: IPC_OUT_0 : Create Done !!! [HOST] [IPU2 ] 1850.572073 s: IPC_IN_0 : Create in progress !!! [HOST] [IPU2 ] 1850.573171 s: IPC_IN_0 : Create Done !!! + +Please add a while 1 loop and halt and debug further. Regards Chetan.M + +Hi Chetan.M i am bootint nsf to my virtual machine/virtual-machine:~/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/targetfs$ , not from SD card . also virtual-machine:~/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/targetfs$ is copy in sd card the first time . now i rebuild and copy virtual-machine:~/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/targetfs$ in SD card again! then the print come out! but if i change RTOS alg_plugins rebuild then i have to copy ~/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/targetfs in SD card , It takes too much time , so is there any convenient way ?? BESTWISHES shuai + +Hi Shuai , Check your env.txt is it pointing to nfs boot , Also the initial logs while booting prints the boot environment please check it . To ensure the binaries are picked form nfs disconnect the Ethernet and try it should not boot. Regards Chetan.M + +Hi Chetan.M this is my step boot key root then ifconfig eth0 172.17.218.88 netmask 255.255.224.0 mount -t nfs -o nolock,nfsvers=3,vers=3 172.17.218.87:/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/targetfs /mnt cd /mnt/opt/vision_sdk/ source ./vision_sdk_load.sh ./sample_app.out ~ if i change A15 code just rebuild and reboot but if i chage C66 code i have to cp dra7-dsp1-fw.xe66 /media/hancan/rootfs/lib/firmware/ BESTWISHES shuai + +No , Please refer linux user guide for NFS boot Regards Chetan.M + diff --git a/sample_embedding_folder2/0701916.txt b/sample_embedding_folder2/0701916.txt new file mode 100644 index 0000000000000000000000000000000000000000..8d522ae86e81eef0f1f50568e83b0a74f0e86c4c --- /dev/null +++ b/sample_embedding_folder2/0701916.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2EVM5777: TDA2 QSPI flash size support + +Query Text: +Part Number: TDA2EVM5777 Hello I found the QSPI flash on the EVM is S25FL256SAGMFV001 what is the max qspi size TDA support? could I replace to "1 Gbit (128 Mbyte) S79FL01GS Dual-Quad SPI NOR Flash" ? thank you + +Responses: +Hi, You can access 128 MB QSPI flash in CFG mode. From L3's view only 64 MB is available to QSPI (0x5c00_0000 to 0x5fff_ffff) so the maximum QSPI memory that you can access in memory mapped mode at given point of time is 64 MB only. In case you want to connect 128 MB flash part and access the second 64 MB region then you need to configure the flash so that all accesses go to the second section of the flash. These settings are provided in the flash's datasheet. Regards, Rishabh + +Hi, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0701946.txt b/sample_embedding_folder2/0701946.txt new file mode 100644 index 0000000000000000000000000000000000000000..c30be269ef2407b6b36a39c2d45cdc766eb5b1de --- /dev/null +++ b/sample_embedding_folder2/0701946.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: modify bootpart, mmcdev with uEnv.txt + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi Expert, I'm running Linux Vision SDK v03.02.00(4.4.84) on TDA2Ex. To eMMC start, In the boot mode: => setenv bootpart 1:2 => setenv mmcdev 1 => saveenv The result is shown in Figure 1. To SD card start, In the boot mode: => setenv bootpart 0:2 => setenv mmcdev 0 => saveenv The result is shown in Figure 2. Fig1. eMMC start. Fig2. SD card start. I hope to modify bootpart, mmcdev with uEnv.txt. Do not need to enter the boot mode to manually modify. The contents of uEnv.txt are as follows: fdtfile=dra72-evm-infoadas.dtb args_mmc=part uuid mmc 0:2 uuid; setenv bootargs "console=ttyO0,115200n8 vram=16M root=PARTUUID=${uuid} rw rootwait ip=none mem=1024M" bootcmd=bootpart 0:2; mmcdev 0; uenvcmd=boot Orange is new add but it has not changed. Could you please give some suggestion here? Thanks in advance. + +Responses: +Hi, If i understand correctly, you are trying to automate booting either from eMMC or SD card, using the script uEnv.txt. Is that right? What priority/order do you want to set? Regards, Somnath + +Hi, Yes, using the uEnv.txt. sd card first, eMMC second. Thanks in advance. + +Hi, Please refer include/configs/ti_omap5_common.h 1. Modify the CONFIG_EXTRA_ENV_SETTINGS to include "emmc_linux_boot" as follows: "emmc_linux_boot=" \ "echo Trying to boot Linux from eMMC ...; " \ "setenv mmcdev 1; " \ "setenv bootpart 1:2; " \ "setenv mmcroot /dev/mmcblk0p2 rw; " \ You can add the above after the definition of "emmc_android_boot=" \ 2. And then, do the following: Change definition of CONFIG_BOOTCOMMAND: replace the following line "run emmc_android_boot; " \ by "run emmc_linux_boot; " \ This should solve your problem. Let me know if you have any further query on this? Regards, Somnath + diff --git a/sample_embedding_folder2/0701991.txt b/sample_embedding_folder2/0701991.txt new file mode 100644 index 0000000000000000000000000000000000000000..4cfd625d896f19a7f267562ccb39a10ba6bd563f --- /dev/null +++ b/sample_embedding_folder2/0701991.txt @@ -0,0 +1,30 @@ +Ticket Name: CCS/TDA2: CCS 7.4/ TDA2X EVM JTAG connection issue + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio Hello everyone. while connecting TDA2 EVM board with XDS560v2 STM TRAVELER emulator , JTAG connection is not detected. I have attached the log related to the issue: [Start: Spectrum Digital XDS560V2 STM TRAVELER Emulator_0] Execute the command: %ccs_base%/common/uscif/dbgjtag -f %boarddatafile% -rv -o -F inform,logfile=yes -S pathlength -S integrity [Result] -----[Print the board config pathname(s)]------------------------------------ /home/tiautomotive/.ti/ti/0/0/BrdDat/testBoard.dat -----[Print the reset-command software log-file]----------------------------- This utility has selected a 560/2xx-class product. This utility will load the program 'sd560v2u.out'. E_RPCENV_IO_ERROR(-6) No connection: DTC_IO_Open::dtc_conf Download failed for file /home/tiautomotive/ti/ccsv7/ccs_base/common/uscif/./././././xds560v2.out An error occurred while soft opening the controller. -----[An error has occurred and this utility has aborted]-------------------- This error is generated by TI's USCIF driver or utilities. The value is '-250' (0xffffff06). The title is 'SC_ERR_ECOM_EMUNAME'. The explanation is: An attempt to access the debug probe via USCIF ECOM has failed. [End: Spectrum Digital XDS560V2 STM TRAVELER Emulator_0] So i request you to look this issue & help us as soon as possible because of this our project is on hold. Regards Surbhi + +Responses: +Hi Surbhi, can you check this: software-dl.ti.com/.../ccsv7_debugging_jtag_connectivity_issues.html there are some guidelines how to debug JTAG connection problems. Regards, Yordan + +Hello, In addition to the above suggestion, make sure you have the dip switch sys-boot configured for debug mode. See thanks, Alex + +Hi Yordan, I have already gone through this : software-dl.ti.com/.../ccsv7_debugging_jtag_connectivity_issues.html the suggested tips, i tried. I also installed drivers for CCS. But didn't find any change in my issue (attached log earlier). So is, their is any issue with OS as i am using UBUNTU14.04. Regards Surbhi + +Hi, I have checked with the dip switch sys-boot & it too is configured for debug mode. I have followed the instruction mentioned in "PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/docs/UserGuides" section 3.4. thanks. Surbhi + +Hello, Just for clarification, are you creating a new target configuration and click "Test connection"? Is that when the error appear? Or are you trying to fire up the cores and connect to one of them? thanks Alex + +Also make sure you don't boot an OS or you won't be able to debug with Jtag, see my post from here: e2e.ti.com/.../2500613 thanks, Alex + +Hi Surbhi, Can you check if correct XDS560 emulator is selected in target configuration? One is supposed to be used through LAN and other through USB. Regards, Rishabh + +Hi, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +Hello everyone, I have attached the image of JTAG which i am using for my project, & i have also checked for the correct XDS560 traveler emulator which is selected in target configuration. " Just for clarification, are you creating a new target configuration and click "Test connection"? Is that when the error appear? Or are you trying to fire up the cores and connect to one of them? " --> yes i have created the new target configuration & after that i have checked for the "Test connection" then that error (log is been attached earlier) occurs. --> As i thought it might be the issue of CCS, so i updated & re-installed the drivers for CCS. still that issue is there. Regards Surbhi + +OK, can you also try the suggested workaround here: thanks Alex + +Hello, I haven't heard back from you, I hope you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Thanks, Alex + +Hello, Yes, the issue was resolved. I simply uninstalled the CCS & again installed & updated it. It seems the issue was due to CCS. Thank you guys. Regards Surbhi + diff --git a/sample_embedding_folder2/0702104.txt b/sample_embedding_folder2/0702104.txt new file mode 100644 index 0000000000000000000000000000000000000000..e7a5eb42790050676fa598ab8eea80590ae70fad --- /dev/null +++ b/sample_embedding_folder2/0702104.txt @@ -0,0 +1,22 @@ +Ticket Name: TDA2: VisionSDK_UserGuide_TDA2px help + +Query Text: +Part Number: TDA2 I am following the VisionSDK_UserGuide_TDA2px.pdf and have difficulties building the application. I have downloaded CCS, A15, and the vision SDK and set up my environmental variable path to C:\ti\ti_components\os_tools\windows\xdctools_3_32_01_22_core. I am trying to follow step 4a. however I get the message "gmake: *** No rule to make target `depend'. Stop." I also don't see a "binaries" folder created in the vision_sdk file. What should I do ? + +Responses: +From which folder you are sending this command? it should be done from vision_sdk\build folder.. Rgds, Brijesh + +I sent it from the vision_sdk folder. In the user guide, it just says to do it from the vision_sdk directory. Is my environment variables set up correctly? + +Hi Sally, The environment variables look ok. You need to go to the path vision_sdk\build from windows command prompt and then invoke "gmake -s depend" command. Usually this path is C:\PROCESSOR_SDK_VISION_03_03_00_00\vision_sdk\build. Regards, Rishabh + +Hi, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +Hi Rishabh, I am having a different error when I try to use the gmake command. + +Hi Sally, this happens when there is mismatch between installation path of A15 compiler and variable CODEGEN_PATH_A15 from "vision_sdk/build/tools_path.mk". You can rename the compiler path to "/ti_components/cg_tools/windows/gcc-arm-none-eabi-4_9-2015q3" (by default when installed A15 compiler directory is named something like "4_9-2015q3") or modify the value of CODEGEN_PATH_A15 to match your path. Please check those threads for the same issue: e2e.ti.com/.../703809 e2e.ti.com/.../2545614 Regards, Yordan + +Hi Sally, It looks like windows limitation only (even though file present in installation path but still give an error file not found in the specified path) Refer below thread e2e.ti.com/.../2601535 Regards Surya + +Hi Sally, I am closing this thread as the issue is resolved. Regards, Rishabh + diff --git a/sample_embedding_folder2/0702113.txt b/sample_embedding_folder2/0702113.txt new file mode 100644 index 0000000000000000000000000000000000000000..cdb7b50568f9dc33be19f5621d24dd3b50b0fdbf --- /dev/null +++ b/sample_embedding_folder2/0702113.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2EVM5777: Linux Process CPU Affinity Isolation + +Query Text: +Part Number: TDA2EVM5777 Tool/software: Linux Hello, I am running PROCESSOR_SDK_VISION_03_01_00_00 Linux running on the tda2evm5777 and I need to set all linux processes to a single A15 (A15_0), including and in particular, the ethernet driver. This is so I can expect less interrupts from Linux when running my own applications on the second A15 (A15_1) When I run the taskset command to set the cpu affinity for all of the processes in linux to go on A15_0, some processes do not change cpu affinity. I have tried isolcpus, but not all processes get changed to be on A15_0. How can I force all processes to be on A15_0, including the ethernet driver, so I can run my own program,on A15_1 and have those be the only things running in linux on that core? How can I set the ethernet driver to run only on A15_0? + +Responses: +Hi bulk of the packet reception and handling runs from interrupt context and bottom-half (softirq) context for networking. For this, you will need to set the interrupt affinity as in https://www.kernel.org/doc/Documentation/IRQ-affinity.txt Additionally the end application that generates/consumes the data also may need to be pinned - you can use cpuset to achieve this https://github.com/lpechacek/cpuset/blob/master/doc/tutorial.txt + diff --git a/sample_embedding_folder2/0702258.txt b/sample_embedding_folder2/0702258.txt new file mode 100644 index 0000000000000000000000000000000000000000..d47400f9505d28bcff71974f23f8a5392f62b4c9 --- /dev/null +++ b/sample_embedding_folder2/0702258.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: Deep learning issue + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, My target is implement entire yolo network (at least tiny yolo) on TDA2. here is my question Q1. my current SDK vision is 3.0.0, should i use v3.03? Q2 could i implement it without TIDL, just like we create a new usecase? Q3. In TIDeepLearningLibrary_UserGuide.pdf, all step is based on windows and CCS. If we want to install it and build it on Linux and without CCS, What should we do? Thanks for your reply, Chen-Wei Lai + +Responses: +Hi, 1. It is always recommended to use the latest version as it could fix some issues found older versions. 2. Please post this question in a new thread as I am not expert to answer this question 3. TIDL does not build and run in Linux. Thanks, Praveen + diff --git a/sample_embedding_folder2/0702309.txt b/sample_embedding_folder2/0702309.txt new file mode 100644 index 0000000000000000000000000000000000000000..9b481401e14ce480c8632bd006d67165baf261eb --- /dev/null +++ b/sample_embedding_folder2/0702309.txt @@ -0,0 +1,24 @@ +Ticket Name: RTOS / TDA2:TDA2xx eve platform Run TDA3 usecase by RTOS + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Dear All, I have tda2xx eve platform, how to run tda3xx RTOS usecase by tda2xx? + +Responses: +Hi Owen, What is the SW package you are using? Regards, Rishabh + +Dear Rishabh, i use sdk is PROCESSOR_SDK_VISION_03_03_00_00, i wnat to run tda3 3D avm by tda2xx eve platform + +Hi Owen, TDA3 surround view is based on in built ISP whereas TDA2xx supports GPU based surround view. You can refer to Vision SDK release notes for more details on demos that are supported on each platform. Regards, Rishabh + +Dear Rishabh, i know TDA2xx can support 3D AVM but its in linux base, i want to use RTOS base. Can use 3D AVM in RTOS base by tda2xx? + +Hi Owen, 3D surround view is not supported on TDA2xx. There is no ISP hardware in TDA2xx. TDA2xx does have a 2D surround view that use RTOS. Please refer to PROCESSOR_SDK_VISION_03_03_00_00\vision_sdk\apps\src\rtos\usecases\lvds_vip_sv_standalone\. Regards, Rishabh + +Dear Rishabh, thank your information, i have one more question : can run linux base 3D in tda2xx(4CH VIP LVDS capture + 3D SRV (SGX/A15) + DISPLAY - Only HDMI 1080p display supported)? + +Yes this is correct. You can run linux based 3D surround view. Regards, Rishabh + +Dear Rishabh, Thank you + +Hi Owen, Kindly mark the post that answers your query as "This resolved my issue" and close the thread. Regards, Rishabh + diff --git a/sample_embedding_folder2/0702317.txt b/sample_embedding_folder2/0702317.txt new file mode 100644 index 0000000000000000000000000000000000000000..8de1c93d240b8091b96d334d8bb235739dbaea56 --- /dev/null +++ b/sample_embedding_folder2/0702317.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: How to use TDA3 RTOS usecase by tda2xx eve platform + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Dear All, i have tda2xx eve platform, How to use TDA3 RTOS usecase by tda2xx eve platform? + +Responses: +Hi Owen, This question is asked here as well: e2e.ti.com/.../702309 Please don't start duplicate threads. Regards, Rishabh + diff --git a/sample_embedding_folder2/0702337.txt b/sample_embedding_folder2/0702337.txt new file mode 100644 index 0000000000000000000000000000000000000000..7f6db15ec0c12e3fe269e52bceccfc2172515a68 --- /dev/null +++ b/sample_embedding_folder2/0702337.txt @@ -0,0 +1,12 @@ +Ticket Name: 컴파일러 / TDA2 : TIDL modules compile error / TDA2 + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: MATHLIB, Tool/software: TI C/C++ Compiler Hello All I installed the development environment such as Vsion SDK(3.3.0.0), CCS(v8), XDC Tools(4_9-2015q3) by reference to the Vision SDK_UserGuide_TDA2xx.pdf. Then I tried building application by commend (gmake -s -j depend and gmake -s -j ) and successful compiled it. but I can't see updated the latest .out file in the folder(c:\PROCESSOR_SDK_VISION_03_03_00_00\ti_components\algorithms\REL.TIDL.01.01.00.00\modules\ti_dl\test\out\) Here is my question 1. How can I build the source(ti_dl\test) ? while using gmake -s -j 2. I tried installation to do building the folder by reference to the TIDeepLearningLibrary_UserGuide.pdf But these packages needed in the document were already installed as below according to config.mk (c:\PROCESSOR_SDK_VISION_03_03_00_00\ti_components\algorithms\REL.TIDL.01.01.00.00\makerules\) It turn out that these packages does not need to be installed and set environment variables. DSP_TOOLS ?="c:\ti\ti-cgt-c6000_8.2.3" ARP32_TOOLS ?="/datalocal1/ti_components/cg_tools/windows/C6000_7.4.2" TIARM_TOOLS ?="/datalocal1/ti_components/cg_tools/linux/ti-cgt-arm_5.2.5" XDAIS_PATH ?="/datalocal1/ti_components/codecs/xdais_7_24_00_04" UTILS_PATH ?="C:\ti\ccsv5\utils\cygwin" VXLIB_PATH ?="/datalocal1/ti_components/algorithms/vxlib_c66x_1_1_1_0" DMAUTILS_PATH ?=/datalocal1/ti_components/algorithms/REL.DMAUTILS.00.08.00.02/dmautils ALGFRAMEWORK_PATH ?=a0393754@bangvideoapps01:/datalocal1/ti_components/algorithms/REL.ALGFRAMEWORK.02.08.00.00/algframework MATHLIB_INSTALL_DIR ?="/datalocal1/ti_components/algorithms/mathlib_c66x_3_1_0_0" Should I install these packages again? 3. When I build with command " gmake CORE=DSP" or "CORE-EVE " in path(PROCESSOR_SDK_VISION_03_03_00_00\ti_components\algorithms\REL.TIDL.01.01.00.00\modules\ti_dl\test\), there was a error message "The specified path can not be found. I tried it after #1 and tried it after installation of new package. My development environment is as below PC : Intel i7-6500 CPU 2.5GHz, windows7 64bit, RAM 16GB Target : TDA2X, sys-bios Thank you in advance + +Responses: +Hi Khethan, Please follow section 3.3 Building Sample Test Application in the TIDeepLearningLibrary_UserGuide.pdf document. Regarding your questions 1. Don't use -j option, please use gmake CORE=dsp or gmake CORE=eve as shown in build steps 2. Yes, you need to install and set all the tools paths with exact versions shown in the document.. also copied them here for your reference.. DSP_TOOLS ?="C:\ti\ccsv5\tools\compiler\c6000_7.4.2" ARP32_TOOLS ?="C:\ti\ccsv5\tools\compiler\arp32_1.0.7" TIARM_TOOLS ?="C:\ti\ccsv5\tools\compiler\arm_5.0.4" XDAIS_PATH ?="C:\ti\xdais_7_22_00_03" DMAUTILS_PATH ?="C:\ti\dmautils_08_00_02\REL.DMAUTILS.00.08.00.02\dmautils" 3. Use build commands shown in senction 3.3.5 of the TIDeepLearningLibrary_UserGuide.pdf . Thanks, Praveen + +Hi Praveen, I succeeded in creating the file(eve_test_dl_algo.out) by referring to the document. By the way, The TDA2 EVM is not available and I have not tried the next step, and I am trying to host emulation function by referring to chapter 3.5. I downloaded vision SDK source release version(3.01) for host emulation and installed VS 2017 When executing the command(gmake CORE=eve TARGET_BUILD=debug TARGET_PLATFORM=PC) in Chapter 3.5.2, an error occurred as follows. What seems to be the problem? c:\PROCESSOR_SDK_VISION_03_01_00_00\ti_components\algorithms\REL.TIDL.00.08.00.0 0\modules\ti_dl\test>gmake CORE=eve "C:/ti/ccsv8/utils/cygwin/"\mkdir -p "./out" || cd "./out" if exist .\out\eve_test_dl_algo.out.exe del .\out\eve_test_dl_algo.out.exe LINK /NODEFAULTLIB:msvcrtd.lib "C:/PROCESSOR_SDK_VISION_03_01_00_00/ti_component s/algorithms/REL.DMAUTILS.00.08.00.02/dmautils/libs/PC/eve/debug/dmautils.lib "" ../../ti_dl"/lib/PC/eve/debug/tidl_algo.lib" /DEBUG /nologo /MACHINE:X86 /OUT :.\out\eve_test_dl_algo.out.exe c:\PROCESSOR_SDK_VISION_03_01_00_00\ti_componen ts\algorithms\REL.TIDL.00.08.00.00\out\PC\eve\debug\modules\ti_dl\test\.\src\rep ort_utils.obj c:\PROCESSOR_SDK_VISION_03_01_00_00\ti_components\algorithms\REL.T IDL.00.08.00.00\out\PC\eve\debug\modules\ti_dl\test\.\src\tidl_config.obj c:\PRO CESSOR_SDK_VISION_03_01_00_00\ti_components\algorithms\REL.TIDL.00.08.00.00\out\ PC\eve\debug\modules\ti_dl\test\.\src\tidl_image_preproc.obj c:\PROCESSOR_SDK_VI SION_03_01_00_00\ti_components\algorithms\REL.TIDL.00.08.00.00\out\PC\eve\debug\ modules\ti_dl\test\.\src\tidl_tb.obj c:\PROCESSOR_SDK_VISION_03_01_00_00\ti_comp onents\algorithms\REL.TIDL.00.08.00.00\out\PC\eve\debug\modules\ti_dl\test\..\.. \..\common\configparser.obj c:\PROCESSOR_SDK_VISION_03_01_00_00\ti_components\al gorithms\REL.TIDL.00.08.00.00\out\PC\eve\debug\modules\ti_dl\test\..\..\..\commo n\ti_draw_utils.obj c:\PROCESSOR_SDK_VISION_03_01_00_00\ti_components\algorithms \REL.TIDL.00.08.00.00\out\PC\eve\debug\modules\ti_dl\test\..\..\..\common\ti_mem _manager.obj c:\PROCESSOR_SDK_VISION_03_01_00_00\ti_components\algorithms\REL.TI DL.00.08.00.00\out\PC\eve\debug\modules\ti_dl\test\..\..\..\common\eve\eve_profi le.obj c:\PROCESSOR_SDK_VISION_03_01_00_00\ti_components\algorithms\REL.TIDL.00. 08.00.00\out\PC\eve\debug\modules\ti_dl\test\..\..\..\common\eve\curve_fitting.o bj c:\PROCESSOR_SDK_VISION_03_01_00_00\ti_components\algorithms\REL.TIDL.00.08.0 0.00\out\PC\eve\debug\modules\ti_dl\test\..\..\..\common\eve\ti_stats_collector. obj c:\PROCESSOR_SDK_VISION_03_01_00_00\ti_components\algorithms\REL.TIDL.00.08. 00.00\out\PC\eve\debug\modules\ti_dl\test\..\..\..\common\eve\cred.obj Microsoft (R) Incremental Linker Version 14.14.26431.0 Copyright (C) Microsoft Corporation. All rights reserved. LINK : fatal error LNK1181: '.obj' 입력 파일을 열 수 없습니다. gmake: *** [outfile] Error 1181 Thanks, khethan + +Hi Khethan, It looks like you using older version of Vision SDK and TIDL releases. Can you please use latest release of VSDK 3.3 and TIDL 01.01 releases. Thanks, Praveen + diff --git a/sample_embedding_folder2/0702428.txt b/sample_embedding_folder2/0702428.txt new file mode 100644 index 0000000000000000000000000000000000000000..c7cf8a7c64b99e575d2427f7266eb3513fa17252 --- /dev/null +++ b/sample_embedding_folder2/0702428.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: how to add a algplugin use opencv? + +Query Text: +Part Number: TDA2 Tool/software: Linux when i write a algplugin use opencv on a15 (linux ), complie is ok ,but linking is error . i don't know why ??  the example i refered is opencvcanny # apps: tda2px-evm: Creating archive apps.a # apps: tda2px-evm: Compiling chains_vipSingleCamOpenCVOpenCLDilationSgxDisplay.c # apps: tda2px-evm: Compiling chains_vipSingleCamOpenCVOpenCLDilationSgxDisplay_priv.c # apps: tda2px-evm: Creating archive apps.a # apps: tda2px-evm: Compiling opencvOpenCLDilationAlgo.c # apps: tda2px-evm: Compiling opencvOpenCLDilationLink_algPlugin.c # apps: tda2px-evm: Compiling openclDilation.cpp # apps: tda2px-evm: Creating archive apps.a # apps: tda2px-evm: Linking /home/disk4/install_dir/ti_components/open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_core.a(ocl.cpp.o): In function `int cv::ocl::getStringInfo(int (*)(_cl_device_id*, unsigned int, unsigned int, void*, unsigned int*), _cl_device_id*, unsigned int, std::__cxx11::basic_string, std::allocator >&) [clone .constprop.320]': ocl.cpp:(.text._ZN2cv3ocl13getStringInfoIPFiP13_cl_device_idjjPvPjES3_EEiT_T0_jRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.constprop.320[_ZN2cv3ocl7Context4Impl10setDefaultEv]+0x26): undefined reference to `clGetPlatformInfo' ocl.cpp:(.text._ZN2cv3ocl13getStringInfoIPFiP13_cl_device_idjjPvPjES3_EEiT_T0_jRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.constprop.320[_ZN2cv3ocl7Context4Impl10setDefaultEv]+0x5e): undefined reference to `clGetPlatformInfo' /home/disk4/install_dir/ti_components/open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_core.a(ocl.cpp.o): In function `cv::ocl::OpenCLBufferPoolBaseImpl::freeAllReservedBuffers()': ocl.cpp:(.text._ZN2cv3ocl24OpenCLBufferPoolBaseImplINS0_20OpenCLBufferPoolImplENS0_13CLBufferEntryEP7_cl_memE22freeAllReservedBuffersEv[_ZN2cv3ocl24OpenCLBufferPoolBaseImplINS0_20OpenCLBufferPoolImplENS0_13CLBufferEntryEP7_cl_memE22freeAllReservedBuffersEv]+0x4a): undefined reference to `clReleaseMemObject' /home/disk4/install_dir/ti_components/open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_core.a(ocl.cpp.o): In function `cv::ocl::OpenCLBufferPoolBaseImpl::setMaxReservedSize(unsigned int)': ocl.cpp:(.text._ZN2cv3ocl24OpenCLBufferPoolBaseImplINS0_20OpenCLBufferPoolImplENS0_13CLBufferEntryEP7_cl_memE18setMaxReservedSizeEj[_ZN2cv3ocl24OpenCLBufferPoolBaseImplINS0_20OpenCLBufferPoolImplENS0_13CLBufferEntryEP7_cl_memE18setMaxReservedSizeEj]+0x80): undefined reference to `clReleaseMemObject' ocl.cpp:(.text._ZN2cv3ocl24OpenCLBufferPoolBaseImplINS0_20OpenCLBufferPoolImplENS0_13CLBufferEntryEP7_cl_memE18setMaxReservedSizeEj[_ZN2cv3ocl24OpenCLBufferPoolBaseImplINS0_20OpenCLBufferPoolImplENS0_13CLBufferEntryEP7_cl_memE18setMaxReservedSizeEj]+0x18e): undefined reference to `clReleaseMemObject' /home/disk4/install_dir/ti_components/open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_core.a(ocl.cpp.o): In function `cv::ocl::OpenCLBufferPoolBaseImpl::~OpenCLBufferPoolBaseImpl()': ocl.cpp:(.text._ZN2cv3ocl24OpenCLBufferPoolBaseImplINS0_20OpenCLBufferPoolImplENS0_13CLBufferEntryEP7_cl_memED2Ev[_ZN2cv3ocl24OpenCLBufferPoolBaseImplINS0_20OpenCLBufferPoolImplENS0_13CLBufferEntryEP7_cl_memED5Ev]+0x5a): undefined reference to `clReleaseMemObject' /home/disk4/install_dir/ti_components/open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_core.a(ocl.cpp.o): In function `cv::ocl::Device::Impl::getStrProp(unsigned int) const [clone .isra.50]': ocl.cpp:(.text._ZNK2cv3ocl6Device4Impl10getStrPropEj.isra.50+0x2c): undefined reference to `clGetDeviceInfo' /home/disk4/install_dir/ti_components/open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_core.a(ocl.cpp.o): In function `cv::ocl::PlatformInfo::Impl::getStrProp(unsigned int) const [clone .isra.55]': ocl.cpp:(.text._ZNK2cv3ocl12PlatformInfo4Impl10getStrPropEj.isra.55+0x2c): undefined reference to `clGetPlatformInfo' /home/disk4/install_dir/ti_components/open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_core.a(ocl.cpp.o): In function `cv::ocl::OpenCLBufferPoolBaseImpl::release(_cl_mem*)': ocl.cpp:(.text._ZN2cv3ocl24OpenCLBufferPoolBaseImplINS0_20OpenCLBufferPoolImplENS0_13CLBufferEntryEP7_cl_memE7releaseES5_[_ZN2cv3ocl24OpenCLBufferPoolBaseImplINS0_20OpenCLBufferPoolImplENS0_13CLBufferEntryEP7_cl_memE7releaseES5_]+0x68): undefined reference to `clReleaseMemObject' ocl.cpp:(.text._ZN2cv3ocl24OpenCLBufferPoolBaseImplINS0_20OpenCLBufferPoolImplENS0_13CLBufferEntryEP7_cl_memE7releaseES5_[_ZN2cv3ocl24OpenCLBufferPoolBaseImplINS0_20OpenCLBufferPoolImplENS0_13CLBufferEntryEP7_cl_memE7releaseES5_]+0x106): undefined reference to `clReleaseMemObject' /home/disk4/install_dir/ti_components/open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_core.a(ocl.cpp.o): In function `cv::ocl::get_platform_name(_cl_platform_id*, cv::String&) [clone .constprop.314]': ocl.cpp:(.text._ZN2cv3oclL17get_platform_nameEP15_cl_platform_idRNS_6StringE.constprop.314+0x2a): undefined reference to `clGetPlatformInfo' ocl.cpp:(.text._ZN2cv3oclL17get_platform_nameEP15_cl_platform_idRNS_6StringE.constprop.314+0x58): undefined reference to `clGetPlatformInfo' /home/disk4/install_dir/ti_components/open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_core.a(ocl.cpp.o): In function `cv::ocl::haveOpenCL()': ocl.cpp:(.text._ZN2cv3ocl10haveOpenCLEv+0x20): undefined reference to `clGetPlatformIDs' /home/disk4/install_dir/ti_components/open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_core.a(ocl.cpp.o): In function `cv::ocl::Platform::Impl::init()': ocl.cpp:(.text._ZN2cv3ocl8Platform4Impl4initEv[_ZN2cv3ocl8Platform4Impl4initEv]+0x26): undefined reference to `clGetPlatformIDs' ocl.cpp:(.text._ZN2cv3ocl8Platform4Impl4initEv[_ZN2cv3ocl8Platform4Impl4initEv]+0x50): undefined reference to `clGetPlatformInfo' ocl.cpp:(.text._ZN2cv3ocl8Platform4Impl4initEv[_ZN2cv3ocl8Platform4Impl4initEv]+0xa8): undefined reference to `clGetPlatformInfo' /home/disk4/install_dir/ti_components/open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_core.a(ocl.cpp.o): In function `cv::ocl::Device::set(void*)': ocl.cpp:(.text._ZN2cv3ocl6Device3setEPv+0x11e): undefined reference to `clGetDeviceInfo' ocl.cpp:(.text._ZN2cv3ocl6Device3setEPv+0x14c): undefined reference to `clGetDeviceInfo' ocl.cpp:(.text._ZN2cv3ocl6Device3setEPv+0x17c): undefined reference to `clGetDeviceInfo' ocl.cpp:(.text._ZN2cv3ocl6Device3setEPv+0x1aa): undefined reference to `clGetDeviceInfo' ocl.cpp:(.text._ZN2cv3ocl6Device3setEPv+0x1e2): undefined reference to `clGetDeviceInfo' /home/disk4/install_dir/ti_components/open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_core.a(ocl.cpp.o):ocl.cpp:(.text._ZNK2cv3ocl6Device11addressBitsEv+0x22): more undefined references to `clGetDeviceInfo' follow /home/disk4/install_dir/ti_components/open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_core.a(ocl.cpp.o): In function `cv::ocl::Queue::operator=(cv::ocl::Queue const&)': ocl.cpp:(.text._ZN2cv3ocl5QueueaSERKS1_+0x64): undefined reference to `clFinish' ocl.cpp:(.text._ZN2cv3ocl5QueueaSERKS1_+0x6a): undefined reference to `clReleaseCommandQueue' /home/disk4/install_dir/ti_components/open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_core + +Responses: +Hi What is the vision SDK version you use? Which OS on A15, Linux or Bios? regards, Shiju + +visionsdk version is 3.3 , run linux on A15 + +I could see a lot of undefined reference to some symbols, i guess these are from your new Algorithms, Please include the Alg lib in \vision_sdk\apps\MAKEFILE.MK See how other OPENVX_A15_LIBS are included as reference Another option is to compile your files along with Alg plug-in files regards, Shiju + diff --git a/sample_embedding_folder2/0702499.txt b/sample_embedding_folder2/0702499.txt new file mode 100644 index 0000000000000000000000000000000000000000..fe5d06380f597c6f6f58f3905f854e12eb9bb803 --- /dev/null +++ b/sample_embedding_folder2/0702499.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2: Classification model on TDA2X + +Query Text: +Part Number: TDA2 Hi, I am trying to run the classification model using object detection usecase. I replaced the NET_OD.BIN and PRM_OD.BIN with classification network and parameter. Based on the classification output from the model, I will change the position of box being drawn on the image. I am getting the pointer to the output of softmax buffer on ObjectDrawPlugin as follows: metaDataAddr = pCompositeBuffer->bufAddr[0][1]; //ChId 0 contains the image. bufferOffset = ((44+8)*4) + 4; // Due to the padding of 4 on the borders classPtr = ((UInt8 *)((char *)metaDataAddr)) + bufferOffset; But the classid I'm getting is not proper. How to get the classification output at the next layer? When I tried to run the model using TIDL FILE IO Usecase it dumped 2304 bytes instead of 44bytes(44 class model). Regards, Navinprashath.R.R + +Responses: +Hi, Are you getting proper Classid in the standalone setup? If not first we will try to fix this issue in the standalone. Thanks, Praveen + +Hi Praveen, I was able to run in the standalone mode in TIDL and the output dumped was proper. I am getting correct classid and only 44 bytes have been dumped. Regards, Navinprashath.R.R + +Hi Navinprashath, If you are getting proper output on standalone and not in VSDK, then I need to check this issue with VSDK team. Meanwhile can you check if you can see these 44 bytes of proper output anywhere in the VSDK dumped 2304 bytes. Thanks, Praveen + +Hi Praveen, I am able to resolve the issue in TIDL OD usecase. It seems to be a buffer handling issue from my side. I will check in TIDL FILE I/O usecase once again and update here. Regards, Navinprashath.R.R + diff --git a/sample_embedding_folder2/0702651.txt b/sample_embedding_folder2/0702651.txt new file mode 100644 index 0000000000000000000000000000000000000000..affe843b984c8b784b19455b71131b3e9a15d446 --- /dev/null +++ b/sample_embedding_folder2/0702651.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2: Some question about implement deep learning algorithm by ourselves + +Query Text: +Part Number: TDA2 Hi, I found that if we want to implement deep learning algorithm by ourselves, we must need to use TIDL. But if i implement it directly without TIDL, and just run it by CPU, it seems that i can't do this? I know that TIDL can help us accelerate the algorithm, but i just want to know that if i don't use this library and run on CPU can i implement my neural network on this board ? + +Responses: +Hi Chen-Wei, you can create new deep learning algorithm and integrate it in your usecase. You can check documentation at vision_sdk\docs to get idea how to add new links/chains and new usecases. But please note that if you implement your deep learning algorithm on CPU you might not get very good performance (for example TIDL runs on DSP or EVE which are better suited for such calculations). Regards, Yordan + +Hi Yordan, i have this question because i modify the original usecase, replace the original function(canny) with tiny-YOLO and get the following result So, i think maybe i can't implement it on CPU. I think the best way to solve this problem is creating a new usecase rather than modifying the original usecase right? Thanks for your reply, Chen-Wei Lai + +Hi Chen-Wei , I have pinged VisionSDK experts for further help. Regards, Yordan + +Hi Yordan, There is no further reply for so many days, should i keep waiting or just open another thread for this issue? Thanks, Chen-Wei Lai + +darket net is not suported by TIDL. You may create nw uses case with out using TIDl + diff --git a/sample_embedding_folder2/0702823.txt b/sample_embedding_folder2/0702823.txt new file mode 100644 index 0000000000000000000000000000000000000000..51e31107fe7b3f801305caa26fc4a5c3c50441eb --- /dev/null +++ b/sample_embedding_folder2/0702823.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2: complie tda2xx_evm_linux_opencx error + +Query Text: +Part Number: TDA2 the error info ,is as flow: where i Can get ti/opencl/bin/x86/clocl ??? # Configuro done! # Making tda2xx-evm:ipu2:release:vision_sdk_lib... # Linking into /home/disk4/install_dir/vision_sdk/binaries/apps/tda2xx_evm_linux_opencx/vision_sdk/bin/tda2xx-evm/vision_sdk_ipu2_release.xem4... # # # /home/disk4/install_dir/vision_sdk/binaries/apps/tda2xx_evm_linux_opencx/vision_sdk/bin/tda2xx-evm/vision_sdk_ipu2_release.xem4 created. # ‘/home/disk4/install_dir/vision_sdk/binaries/apps/tda2xx_evm_linux_opencx/obj/vision_sdk/tda2xx-evm/ipu2/release/vision_sdk_configuro/osa_mem_map.h’ -> ‘/home/disk4/install_dir/vision_sdk/links_fw/src/hlos/osa/include/osa_mem_map.h’ # system: tda2xx-evm: Compiling system_ipc.c # osa: tda2xx-evm: Compiling osa_mem.c # osa: tda2xx-evm: Compiling osa_remote_log_client.c # osa: tda2xx-evm: Compiling osa_remote_log_server.c # system: tda2xx-evm: Creating archive system.a # osa: tda2xx-evm: Creating archive osa.a Compiling OpenCL file copy.cl make[7]: /home/disk4/install_dir/vision_sdk/../ti_components/os_tools/linux/targetfs/usr/share/ti/opencl/bin/x86/clocl: Command not found make[7]: *** [copy.dsp_h] Error 127 make[6]: *** [opencl_build] Error 2 make[5]: *** [vision_sdk_linux_demo] Error 2 make[4]: *** [apps] Error 2 make[3]: *** [apps_exe_hlos] Error 2 make[2]: *** [apps_hlos] Error 2 make[1]: *** [apps] Error 2 make: *** [vision_sdk] Error 2 + +Responses: +Hi, you need to apply file system patch and clone some components. Please follow chapter "2.4.2.2.4 Opencl supported package" from VisionSDK_Linux_UserGuide.pdf. Regards, Yordan + +hello , i installed the opencl support package . but it still error. the error msg as follow: # links_a15_sgxFrmcpy: tda2xx-evm: Creating archive links_a15_sgxFrmcpy.a # links_a15_sync: tda2xx-evm: Creating archive links_a15_sync.a # osa: tda2xx-evm: Creating archive osa.a # system: tda2xx-evm: Creating archive system.a # links_a15_nullSrc: tda2xx-evm: Creating archive links_a15_nullSrc.a Compiling OpenCL file copy.cl >> WARNING: invalid compiler option --bc_file=copy.bc (ignored) "/home/disk4/install_dir/vision_sdk/../ti_components/os_tools/linux/targetfs/usr/share/ti/opencl/dsp.syms", line 9: error #10022-D: invalid option: --single_data_segment "/home/disk4/install_dir/vision_sdk/../ti_components/os_tools/linux/targetfs/usr/share/ti/opencl/dsp.syms", line 10: error #10022-D: invalid option: --no_entry_point warning #10247-D: creating output section ".stack" without a SECTIONS specification warning #10210-D: creating ".stack" section with default size of 0x400; use the -stack option to change the default size undefined first referenced symbol in file --------- ---------------- main /home/disk4/install_dir/ti_components/cg_tools/linux/ti-cgt-c6000_8.1.0/lib/rts6600_elf.lib error #10234-D: unresolved symbols remain error #10010: errors encountered during linking; "copy.out" not built >> Compilation failure make[7]: *** [copy.dsp_h] Error 255 make[6]: *** [opencl_build] Error 2 make[5]: *** [vision_sdk_linux_demo] Error 2 make[4]: *** [apps] Error 2 make[3]: *** [apps_exe_hlos] Error 2 make[2]: *** [apps_hlos] Error 2 make[1]: *** [apps] Error 2 make: *** [vision_sdk] Error 2 + +Hi, can you download ti-cgt-c6000_8.1.0 ( www.ti.com/.../8.1.0), place it under /ti_components/cg_tools/linux and add it to the path (export PATH=/bin:$PATH) and give a try? Regards, Yordan + +i sloved this problem , thanks a lot + diff --git a/sample_embedding_folder2/0702856.txt b/sample_embedding_folder2/0702856.txt new file mode 100644 index 0000000000000000000000000000000000000000..166becf09cc6afc201a816bfbd4c63f20e91d5cf --- /dev/null +++ b/sample_embedding_folder2/0702856.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2P-ACD: DRA7x: How to boot from eMMC Boot Partitions (e.g. mmcblk1boot0/)? + +Query Text: +Part Number: TDA2P-ACD Other Parts Discussed in Thread: TDA2 Hello *! I'm not able to boot DRA7x (TDAX) from special eMMC bootloader partitions. I can create a vfat formatted partition on user-area of the eMMC, but this is suboptimal. Is there any possibility to boot from e.g. mmcblk1boot0 ? + +Responses: +Hi Marco, which SDK you use? Regards, Yordan + +Sorry, but what has the SDK to do with my question? We do not use any TI-SDK, because it's too far away from our requirements. My question was: Is it possible on DRA7x to boot from mmcblk1boot0 ? => First, this is a question of the ROM-Code capabilities in the Chip. Let me ask my question more clearly: Is the ROM-Code of DRA7x able to boot from the special "boot" partitions on an eMMC? + +Hi Marco, TDA2 supports these eMMC modes by ROM: • Raw (Boot): The booting image is read from one of the selectable partitions in raw mode (this mode is also called Alternative Boot Operation mode and applies to eMMC only). • Raw (UDA): The booting image is read from the user data area (eMMC and SD). • File system (FAT12/16/32 with or without master boot record): The image data is read from a booting file within a file system in the user data area (eMMC and SD). NOTE: File system mode is only supported when booting in the eMMC user area. It is not supported in the eMMC boot area. Regards, Stan + diff --git a/sample_embedding_folder2/0702859.txt b/sample_embedding_folder2/0702859.txt new file mode 100644 index 0000000000000000000000000000000000000000..45c0bd51ece216eb4cf5980a8ecd7d59bbde0751 --- /dev/null +++ b/sample_embedding_folder2/0702859.txt @@ -0,0 +1,16 @@ +Ticket Name: Linux/TDA2: For the Development Boot Mode + +Query Text: +Part Number: TDA2 Tool/software: Linux For the Development Boot Mode We have learned that TDA's QSPI Development Boot Mode requires the resources of MMC/SD . As the following information: Only MLO and u-boot.img are stored in QSPI flash memory. DTB & uImage are stored in MMC/SD boot parition. The rootfs is mounted from MMC/SD partition 2 Please tell us whether NorFLASH or Nandflash Development Boot Mode also needs to possess MMC/SD resources? Where can I find this information? If we do not want to use the MMC/SD hardware to store booting-related content, how can we solve it? + +Responses: +Hi, Can you please check the following links if you haven't checked it already? processors.wiki.ti.com/.../Processor_SDK_Linux_Automotive_Software_Developers_Guide processors.wiki.ti.com/.../Processor_SDK_Linux_Automotive_Software_Developers_Guide processors.wiki.ti.com/.../Processor_SDK_Linux_Automotive_Software_Developers_Guide processors.wiki.ti.com/.../Processor_SDK_Linux_Automotive_Software_Developers_Guide By default in our SDK, we don't support NOR boot mode on TI EVM h/w. Please refer processors.wiki.ti.com/.../Linux_Core_U-Boot_User's_Guide Also note that NAND bot mode is currently supported for DRA71x EVM. The Linux software on DRA71x EVM is portable on TDA2Ex EVM. Let me know if you have any follow-up questions? Regards, Somnath + +Hi, For The Development Boot Mode, The QSPI Development Boot Mode linked on the following page mentions that boot needs to use MMC/SD. Why can't it all be stored in QSPI? We use the TDA2S series。If We can't use QSPI storage alone, do you recommend independent storage with NAND flash or NOR flash? processors.wiki.ti.com/index.php + +Hi, The main reason why we use the production boot mode is when we need a faster kernel + App boot time. We get better throughput from a QSPI flash, if the kernel is stored there and also bypass the second stage of the boot process. However, this requires a bigger flash (bigger cost) depending upon the size of all the binaries you want to store in QSPI and what you want to quick start. You can store the Linux Fs in eMMC flash. And have your initial binaries (BL+ Kernel + f/w mages) stored in QSPI. Does that address your question? Regards, Somnath + +Our Linux Fs and initial binaries (BL+ Kernel + f/w mages) probably only need less than 30MB capacity, so we think it would be enough to choose a 64MB QSPI FLASH. In addition, if we use TI's vision library on a SOC like Parking line detection and MOD function, will it take up more resources of FLASH? + +yes, if you add more libs (like Parking line detection and MOD function) it will increases your firmware size, depends on the the code/data and const used in the libs + diff --git a/sample_embedding_folder2/0703077.txt b/sample_embedding_folder2/0703077.txt new file mode 100644 index 0000000000000000000000000000000000000000..1229d38df922711c9f8e401bcc0fae8be12606c2 --- /dev/null +++ b/sample_embedding_folder2/0703077.txt @@ -0,0 +1,8 @@ +Ticket Name: CCS/TDA2: Problem of allocation of heap in core using Vision SDK + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: SYSBIOS Tool/software: Code Composer Studio Hi, I'm using Vision SDK 3 for loading my program onto tda2x. At first, I could read necessary binary file and save it into memory during Use-case initailization proces. I guess it is contained in DDR heap memory. However, when I tried to allocate memory in DSP1 (C66) using malloc(), I got a message. ' ti.sysbios.heaps.heapmem line 221 out of memory: handle=.... size-.... ' How can I increase heap size in each core when I'm using Vision SDK? I tried to understand the memory mapping guide but it wasn't easy. I'm using A15, DSP1, DSP2 core to load program on them and sometime I may need to allocate large amount of heap memories during each program(Use-case). Thank you. + +Responses: +Hi , Please use Utils_memAlloc when allocating a larger buffer Regards Chetan.M + diff --git a/sample_embedding_folder2/0703169.txt b/sample_embedding_folder2/0703169.txt new file mode 100644 index 0000000000000000000000000000000000000000..33ad52d63b2ded2cabf659ee51c1343797a482ac --- /dev/null +++ b/sample_embedding_folder2/0703169.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h + +Query Text: +Part Number: TDA2 Tool/software: Linux /home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/linaro/gcc-linaro-5.4.1-2017.05-x86_64_arm-linux-gnueabihf/lib/gcc/arm-linux-gnueabihf/5.4.1/include/arm_neon.h:31:2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h this is my option CC_OPTS=-c -Wall -Warray-bounds -fPIC -pie -fPIE -march=armv7-a -mcpu=cortex-a15 -mfloat-abi=hard -mfpu=neon-vfpv4 how to solve this problem + +Responses: +Hi Shuai, As mentioned in the below e2e.ti.com/.../698674 Please look for compiler support As the required flags are passed to the compiler for SDK Regards Chetan.M + +Hi Chetan.M ok thanks! shuai + diff --git a/sample_embedding_folder2/0703304.txt b/sample_embedding_folder2/0703304.txt new file mode 100644 index 0000000000000000000000000000000000000000..94ea65558f2b08a44a296c24f28c85c11f7cade8 --- /dev/null +++ b/sample_embedding_folder2/0703304.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2EVM5777: TDA2 FPD link Fakra connector + +Query Text: +Part Number: TDA2EVM5777 Hello I saw the Fakra connector on the FPD link board as below CN15 is male Fakra, and is the CN16(NOPOP) female Fakra? we are finding the female Fakra connector,is there any vendor information of female Fakra? thank you + +Responses: +Hi, can you check here: www.rosenberger.com/.../fakra.php www.amphenolrf.com/connectors.html Regards, Yordan + diff --git a/sample_embedding_folder2/0703568.txt b/sample_embedding_folder2/0703568.txt new file mode 100644 index 0000000000000000000000000000000000000000..19d4e01bd9607068988a796f22602b979402b8b5 --- /dev/null +++ b/sample_embedding_folder2/0703568.txt @@ -0,0 +1,16 @@ +Ticket Name: Linux/TDA2: TDA2xx The running effect of usecase is wrong + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, My environment is PROCESSOR_SDK_VISION_03_02_00_00 , My configuration is tda2xx_evm_linux_all, and i run through NFS mode。 The first usecase-1 I created was: NullSource (A15) -> Decode -> Alg_FrameCopy (A15) -> VPE -> Display and it is running normally: But I modified usecase-2 based on usecase-1,the usecase-2 is: NullSource (A15) -> Decode -> Alg_FrameCopy (DSP1) -> VPE -> Display its running results are as follows: I just changed Alg_FrameCopy running on DSP1 core form A15 core. I want to running Alg_FrameCopy correct on DSP core. + +Responses: +Hi , Can you dump the video buffer after decoder and verify . Regards Chetan.M + +Hi Chetan.M, How can i dump the video buffer after decoder? Which interface should I operate on? Regards Xie Baojian + +HI Chetan.M, Also want to ask about Which alg_plugins directory is running when i run the usecase-2? I have add some printf info in the directory \vision_sdk\apps\src\hlos\adas\src\alg_plugins\framecopy and \vision_sdk\apps\src\rtos\alg_plugins\framecopy, But no printouts come out. Regards Xie Baojian + +where is the alg created , i mean which core, If its hlos (a15) then apps\src\hlos\adas\src\alg_plugins\framecopy if in other than a15 then apps\src\rtos\alg_plugins\framecopy To dump the frame you need to use ccs and halt in process function of the alg and dump the buffer regards Chetan.M + +Hi, Are you able to resolve the issue? Regards, Anuj + diff --git a/sample_embedding_folder2/0703591.txt b/sample_embedding_folder2/0703591.txt new file mode 100644 index 0000000000000000000000000000000000000000..0180880bf71d09abcce84f3a6313fe990582cb4b --- /dev/null +++ b/sample_embedding_folder2/0703591.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: EDA2x EVM CPU Board + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: X5777BXGABC, Hi, I was looking into the evaluation Board TDA2x EVM CPU Board. (Literature Number: SPRUI51) The Processor in the EVM CPU Board is X5777BXGABC ( Jacinto 6) which is not TDA2x (TDA2SG or TDA2P) Can I use the Schematics and Layout reference on This EVM as Reference Design for my Hardware PCB Schematics design? Are Both Pin To Pin, drive strength, thermal Compatiable? + +Responses: +Hi Lee, You are free to borrow good ideas from EVMs, however keep in mind that EVMs are designed to evaluate as much of SoC functions as possible. They are full of discrete logic and muxing which normally are not needed in a field design. X5777 is a pre-production, test device, therefore drive strength and thermal are not compatible with production devices. I think they are pin-to-pin compatible, but kindly check your TDA2's silicon revision pins in the respective datasheet. Or, use an EVM schematic with your silicon revision SoC. Regards, Stan + +Hi Stan, Just to verify , X5777 is a pre-production for TDA2? Presently, the system and software guys use the existing EVM CPU Board ( with X5777BXGABC) to test all the necessary features. The EVM is connected to 4 cameras. 1. If my HW is build with TDA2AG (I re- use the sDDR3 and VIP inputs as EVM ) will the system speed performance affected ? 2. The software can just port in to my TDA2AG Board without modification? + +Hi, Correct, X5777 timings, thermal, and performance are not all characterized and may not meet those of TDA2. This is an early silicon for software test. 1. Speed performance - as per TDA2AG datasheet. 2. I think yes. Provided that same TDA2 pins are used on the new board. Otherwise pinmux will need to be modified as required. Regards, Stan + diff --git a/sample_embedding_folder2/0703622.txt b/sample_embedding_folder2/0703622.txt new file mode 100644 index 0000000000000000000000000000000000000000..8ebe425dad7e416d558d1f065769ad52b67ced13 --- /dev/null +++ b/sample_embedding_folder2/0703622.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: New version of OpenCV library (v3.4.1) for Cortex A15 in TDA2x. + +Query Text: +Part Number: TDA2 Dear Sir, Vision SDK (and later PROCESSOR_SDK_VISION_03_03_00_00) contains OpenCV pre-built library for Cortex A15 and currently available version of OpenCV library is v3.1.0. Here are my questions: (1) There are two pre-built OpenCV v3.1.0 libraries, one is for Linux and the other is for SYS-BIOS. Does that mean thoseTI pre-built OpenCV library itself may call some OS-dependent specific software component? (2) Is there Open CV 3.4.1 pre-built library for Cortex A15 in TDA2x? If not, does TI have plan to support it? Best reagards. Mark. + +Responses: +Hi Mark Yes, TI has 2 separate pre-built OpenCV library, one is for Linux and the other is for SYS-BIOS. This is because on RTOS (BIOS) side we need a couple of additional patches and some OS dependent implementations. TI do not have any plans to support/migrate Open CV 3.4.1 Please use the current pre-built library of openCV. It will not be possible to support you on how to migrate/re-build it because the openCV support infrastructure is deprecated. regards, Shiju + diff --git a/sample_embedding_folder2/0703640.txt b/sample_embedding_folder2/0703640.txt new file mode 100644 index 0000000000000000000000000000000000000000..76d87039ced2ed0768429dd13935011cb004ce65 --- /dev/null +++ b/sample_embedding_folder2/0703640.txt @@ -0,0 +1,26 @@ +Ticket Name: Linux/TDA2: TDA2x ADAS data flow -LVDS surround view could not output display + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, We would like to run the use-case via 4 LVDS cameras capture (OV10635 sensor) in Vision SDK to output display on TDA2X boards. But it outputs black screen even though burned prebuilt image(software-dl.ti.com/.../index_FDS.html) Could you help provide some suggestion to look into the problem? Thanks. BTW, my configuration: "tda2xx_evm_linux_all", why the default config (tda2xx_evm_linux_all/cfg.mk) is "no"? PROC_IPU1_0_INCLUDE=no PROC_IPU1_1_INCLUDE=no Could you also help teach me how to makeconfig for the use-case? Thanks. regards, Sam Hsieh + +Responses: + + +In case of linux we have moved code running on ipu 1_0 and ipu1_1 to ipu2 ipu2 operates in smp mode. Please check the pin settings of video conf to check why blan screen. Refer user guide Regards Chetan.M + +log_app.txtHi @Chetan.M I don't understand clearly how to migrate from ipu1 dual core to ipu2, and ipu2 operated in smp mode. Could you help instruct me how to configure it in details ? Thanks. As user guide descripted : modify the tda2xx_evm_linux_all/cfg.mk , Include: PROC_IPU1_0_INCLUDE=yes PROC_IPU1_1_INCLUDE=yes PROC_IPU2_INCLUDE=yes PROC_DSP1_INCLUDE=yes PROC_DSP2_INCLUDE=yes PROC_EVE1_INCLUDE=yes PROC_EVE2_INCLUDE=yes PROC_EVE3_INCLUDE=yes PROC_EVE4_INCLUDE=yes PROC_A15_0_INCLUDE=yes but it got the compilation failure which error message as attached: At the same time, I observed that the comment in cfg.mk file # IPU1 (core 0 & 1 are) not supported when IPU_PRIMARY_CORE=ipu2 Do you think whether if I need to modify the IPU_PRIMARY_CORE & IPU_SECONDARY_CORE ? BR, Sam Hsieh >>>>> Compilation failure /home/sam/ADAS/VISION_SDKv3_3/vision_sdk/build/rtos/makerules/rules_m4.mk:172: recipe for target '/home/sam/ADAS/VISION_SDKv3_3/visi 1877 make[6]: *** [/home/sam/ADAS/VISION_SDKv3_3/vision_sdk/binaries/apps/tda2xx_evm_linux_all/obj/links_ipu_iva/tda2xx-evm/ipu2/release/ 1878 make[6]: Leaving directory '/home/sam/ADAS/VISION_SDKv3_3/vision_sdk/links_fw/src/rtos/links_ipu/iva' 1879 /home/sam/ADAS/VISION_SDKv3_3/vision_sdk/build/rtos/makerules/common.mk:235: recipe for target 'ipu2' failed 1880 make[5]: *** [ipu2] Error 2 1881 make[5]: Leaving directory '/home/sam/ADAS/VISION_SDKv3_3/vision_sdk/links_fw/src/rtos/links_ipu/iva' 1882 Makefile:19: recipe for target 'links_ipu_iva' failed >>>> + +In case of linux , IPU1_0 and ipu1_1 should be disabled . IPU2 is enabled . Your device has 2 dual core ipu hence in case of linux we enable the ipu2 as SMP . User need not change any configuration . Regards Chetan.M + +Hi @Chetan.M, It shows error message when configured "PROC_IPU1_0_INCLUDE=no" ERROR: IPU1_0 MUST be included in application: and I observed that "NEED_PROC_IPU1_0=yes" in vision_sdk/apps/src/rtos/usercases/lvds_vip_multi_cam_vie/cfg.mk. It seems like the configuration of use-case is conflict. Could you help correct me if there is any mistake in the configuration? Thanks. BR, Sam Hsieh + +Sam, These errors can be ignored , In case of linux IPU1_0 and ipu1_1 will not be used , it is disabled . Internally there are changes in the code which will run all the links created on IPU1_0 and ipu1_1 to ipu2 Regards Chetan.M + +Hi @Chetan.M, Thanks for your suggestion. I disabled IPU1_0 and IPU1_1, try to move the codes implementation from IPU1 to IPU2 then try to rebuild it. If there is any further update, I also post the result. BR, Sam Hsieh + +Hi @Chetan.M, I observed that there is some package (PDK) default core "ipu1_0" which configured in cfg.mk Then revise it by CORE=ipu2 But I still got the compiling failure when make links_fw_libs: make[5]: *** [arp32_4] Error 2 make[5]: Leaving directory '/home/sam/ADAS/VISION_SDKv3_3/vision_sdk/links_fw/src/rtos/links_common/system' Makefile:19: recipe for target 'links_common_system' failed make[4]: *** [links_common_system] Error 2 Could you help solve the compiler failure ? Thanks. BR,log_app_07_05_2018.txt Sam Hsieh + +Hello Sam Hsieh Can you please help me understand , You are trying to run the default usecase .? Please revert all the changes and do a build and run . Regards Chetan.M + +Hi @Chetan.M, I could rebuild successfully after refresh install all packages. including tda2xx_evm_bios_all and tda2xx_evm_linux_all usecase. But I don't why the compileration failure occurred, it perhaps I made a mistake in makerules. Thanks for your instruction. :) regards, Sam. + diff --git a/sample_embedding_folder2/0703672.txt b/sample_embedding_folder2/0703672.txt new file mode 100644 index 0000000000000000000000000000000000000000..3578b7a4e236d0593c81627abf982563dd150c30 --- /dev/null +++ b/sample_embedding_folder2/0703672.txt @@ -0,0 +1,37 @@ +Ticket Name: Linux/TDA2: TDA2xx Linux make install error + +Query Text: +Part Number: TDA2 Tool/software: Linux Dear All, I have a problem, when i set make linux_install command have error ; this is my error, sdk vision: PROCESSOR_SDK_VISION_03_03_00_00 , felllow doc : VisionSDK_Linux_UserGuide.pdf log_tda2error.txt owen@owen-VirtualBox:~/Desktop/TDA2/Linux/vision_sdk/build$ make linux | grep "error" + WRAP tools/lib/libfdt/fdt_strerror.c + HOSTCC tools/lib/libfdt/fdt_strerror.o + CC lib/libfdt/fdt_strerror.o + CC spl/lib/libfdt/fdt_strerror.o + CC lib/fdt_strerror.o + CC [M] drivers/scsi/scsi_error.o +configure: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used. +owen@owen-VirtualBox:~/Desktop/TDA2/Linux/vision_sdk/build$ make linux_install | grep "error" +/bin/sh: 1: mkimage: not found +make[1]: *** [kernel_install] Error 127 +make: *** [linux_install] Error 2 +owen@owen-VirtualBox:~/Desktop/TDA2/Linux/vision_sdk/build$ make linux_install +make -C ./hlos/makerules/linux -f build_kernel.mk kernel_install +make[1]: Entering directory `/home/owen/Desktop/TDA2/Linux/vision_sdk/build/hlos/makerules/linux' +make -fbuild_kernel.mk kernel_build KERNEL_TARGET=modules_install INSTALL_MOD_PATH=/home/owen/Desktop/TDA2/Linux/vision_sdk/../ti_components/os_tools/linux/targetfs +make[2]: Entering directory `/home/owen/Desktop/TDA2/Linux/vision_sdk/build/hlos/makerules/linux' +make -C /home/owen/Desktop/TDA2/Linux/vision_sdk/../ti_components/os_tools/linux/kernel/omap ARCH=arm CROSS_COMPILE=/home/owen/Desktop/TDA2/Linux/ti_components/os_tools/linux/linaro/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- modules_install +make[3]: Entering directory `/home/owen/Desktop/TDA2/Linux/ti_components/os_tools/linux/kernel/omap' + +Responses: +Hi Owen, it seems that the problem was caused by missing 'mkimage' program. Please follow chapter "2.2.3 Other mandatory software packages for build" from VisionSDK_Linux_UserGuide.pdf to install additional packages needed for Linux build. Regards, Yordan + +Hi Owen, The "mkimage" tool is built by "make uboot" If it still could not fix the issue, recommend you had better "make clean" and manually delete $INSTALL_DIR/vision_sdk/binaries/$(MAKEAPPNAME)/$(MAKECONFIG) then rebuilt it. BR, Sam Hsieh + +Dear Sam & Yordan, thanks ur information. i'm install sudo apt-get install u-boot-tools cansolve this problem + +Dear Sam & Yordan, thanks ur information. i'm install sudo apt-get install u-boot-tools cansolve this problem delete and rebuild, can ignored warning message or not? + +Hi Owen, As for solved by install u-boot-tools, remind you that compile successfully, not means that run ok. you had better to build it by the cross compiler (ARM) and refer to the Vision SDK(v03.03.00) Linux User Guide. BR, Sam Hsieh + +Dear Sam, I'm fellow sdk3.3.0 to build & run , thanks for your valuable suggestion. + diff --git a/sample_embedding_folder2/0703809.txt b/sample_embedding_folder2/0703809.txt new file mode 100644 index 0000000000000000000000000000000000000000..c8084727210b749d8c6729850769da18852b19df --- /dev/null +++ b/sample_embedding_folder2/0703809.txt @@ -0,0 +1,10 @@ +Ticket Name: Compiler/TDA2: Vision SDK TDA2xx (v03.03.00) + +Query Text: +Part Number: TDA2 Tool/software: TI C/C++ Compiler Hello, I am referring to Vision SDK TDA2xx (v03.03.00) User Guide 2 System Requirements 2.1 Windows Installation 2.1.2.1 A15 Compiler, Linker The windows installer for the GCC ARM tools should be downloaded from below link launchpad.net/.../4.9-2015-q3-update The tools need to be installed under “/ti_components/cg_tools/windows/”. IMPORTANT NOTE: A15 Compiler and linker MUST be installed before proceeding else compile will fail. Also make sure the compiler is installed at the exact path mentioned above Observing error while creating dependencies as shown in log: --- $ gmake -s -j depend # makeconfig: Config is [ tda2xx_evm_bios_all ] # makeconfig: Output file is @ C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/links_fw/include/config/sample_app/tda2xx_evm_bios_all/system_cfg.h # makeconfig: Input file is @ C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/build/configs/tda2xx_evm_bios_all/cfg.mk # makeconfig: Generating header ... # makeconfig: Generating alg plugin config ... # makeconfig: Generating usecase config ... # makeconfig: Generating footer ... # makeconfig: Done !!! # # CPUs that are NOT required but included in config [ tda2xx_evm_bios_all ], # # WARNING: IPU1_1 can be excluded from application # WARNING: A15_0 can be excluded from application # # CPUs that are required but not included in config [ tda2xx_evm_bios_all ], # # # Edit C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/build/configs/tda2xx_evm_bios_all/cfg.mk to include or exclude CPUs in an application # # Compiling tda2xx-evm:a15_0:release:edma3lld_drv: src/edma3_drv_init.c # Compiling tda2xx-evm:a15_0:release:edma3lld_drv: src/edma3_drv_basic.c process_begin: CreateProcess(NULL, C:/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/cg_tools/windows/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc -MD -MF C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_bios_all/obj/edma3lld_drv/tda2xx-evm/a15/release/.deps/edma3_drv_basic.P -c -mcpu=cortex-a15 -g -mfpu=neon -mfloat-abi=hard -mabi=aapcs -mapcs-frame -ffunction-sections -fdata-sections -DSYSBIOS -DCGT_GCC -DCPU_IDLE_ENABLED -O2 -s -DNDEBUG -Werror -Dxdc_target_types__=gnu/targets/arm/std.h -Dxdc_target_name__=A15F -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_4_9_3 -DBIOS_BUILD -Dfar= -D__DYNAMIC_REENT__ -DTDA2XX_BUILD -DTDA2XX_FAMILY_BUILD -DPLATFORM_EVM_SI -DVPS_VIP_BUILD -DVPS_VPE_BUILD -DVPS_DSS_BUILD -IC:/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/os_tools/bios_6_46_04_53/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/include -IC:/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/cg_tools/windows/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include -I. -I../../../.. -Isrc -IC:/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/networking/ndk_2_24_02_31/packages -IC:/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/networking/nsp_gmacsw_4_15_00_00/packages -IC:/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/open_compute/opencl_rtos_am57xx_01_01_10_00/packages -I/packages -IC:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/links_fw/include/config/sample_app/tda2xx_evm_bios_all -o C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_bios_all/obj/edma3lld_drv/tda2xx-evm/a15/release/edma3_drv_basic.oa15fg src/edma3_drv_basic.c, ...) failed. make (e=2): The system cannot find the file specified. --- Default installation creates a path: /ti_components/cg_tools/windows/4_9-2015q3 But the folder 4_9-2015q3 should be renamed to "gcc-arm-none-eabi-4_9-2015q3". This creates a path as: /ti_components/cg_tools/windows/gcc-arm-none-eabi-4_9-2015q3 With this new path, the command is working okay. Could you review, if this okay? Regards, KK + +Responses: +Hi KK, Renaming the directory to "gcc-arm-none-eabi-4_9-2015q3" is correct solution. You can check CODEGEN_PATH_A15 variable which is set to point to this path in file "vision_sdk/build/tools_path.mk". Regards, Yordan + +Hello Yordan, The information about the variable and the path is helpful. Thank you for confirming that rename is requried. Hope TI team will be info the users to rename to "gcc-arm-none-eabi-4_9-2015q3" in default user guide. Since the renaming is confirmed to be correct. I resolve the issue. Regards, KK + diff --git a/sample_embedding_folder2/0704385.txt b/sample_embedding_folder2/0704385.txt new file mode 100644 index 0000000000000000000000000000000000000000..d082dbe2542eecd1a5dbcceba44d298b2675904b --- /dev/null +++ b/sample_embedding_folder2/0704385.txt @@ -0,0 +1,105 @@ +Ticket Name: Linux/TDA2: Build first Linux set make –s –j have error + +Query Text: +Part Number: TDA2 Tool/software: Linux Dear All, When I set make -s have this question how can solve? SDK: PROCESSOR_SDK_VISION_03_03_00_00_setuplinux 2742.Rules.make.txt # file name: Rules.make +# set up the build environment + +ifeq ($(vision_sdk_PATH), ) + +# +# Application to build for +# +# Supported Applications are: +# sample_app +# apps + +MAKEAPPNAME?=apps + +# +# Config to use +# +# Selecting a config selects the system config and modules to include +# in the build +# +# Edit the detailed config in file +# $(vision_sdk_PATH)/$(MAKEAPPNAME)/configs/$(MAKECONFIG)/cfg.mk +# +# Supported "out of box" configs are listed below +# - TDA2x Configs, +# tda2xx_evm_bios_all +# tda2xx_evm_bios_opencx +# tda2xx_evm_bios_radar +# tda2xx_evm_linux_all +# tda2xx_rvp_linux_all +# tda2xx_evm_linux_infoadas +# tda2xx_evm_linux_opencl +# tda2xx_evm_linux_opencx +# tda2xx_evm_robust_rvc +# +# - TDA3x Configs, +# tda3xx_alps_bios_radar +# tda3xx_evm_bios_all +# tda3xx_evm_bios_radar +# tda3xx_rvp_bios_all +# tda3xx_evm_bios_iss +# tda3xx_rvp_bios_iss +# +# - TDA2Ex Configs, +# tda2ex_17x17_evm_linux_all +# tda2ex_evm_bios_all +# tda2ex_evm_linux_all +# tda2ex_evm_linux_infoadas +# tda2ex_evm_robust_rvc +# +# - TDA2Px Configs, +# tda2px_evm_bios_all +# tda2px_evm_bios_radar +# tda2px_evm_linux_all +# tda2px_evm_linux_infoadas +# tda2px_evm_bios_iss +# +# +MAKECONFIG?=tda2xx_evm_linux_all + +# Default build environment +# Options: Windows_NT or Linux +BUILD_OS ?= Linux +ifeq ($(OS),Windows_NT) + BUILD_OS=Windows_NT +endif + +# +# Set BUILD_MACHINE to 32BIT as required, this is needed only +# if A15_TARGET_OS is going to be Linux +# +# Options: 32BIT or 64BIT +BUILD_MACHINE ?= 64BIT + +vision_sdk_RELPATH = vision_sdk +vision_sdk_PATH := $(abspath ..) + +# Application paths +$(MAKEAPPNAME)_PATH := $(vision_sdk_PATH)/$(MAKEAPPNAME) + +include $($(MAKEAPPNAME)_PATH)/configs/defaults.mk +include $($(MAKEAPPNAME)_PATH)/configs/cfg.mk +include $($(MAKEAPPNAME)_PATH)/configs/autorules_header_cfg.mk +include $(vision_sdk_PATH)/build/tools_path.mk +include $($(MAKEAPPNAME)_PATH)/configs/autorules_footer_cfg.mk + +endif + +include $(MAKERULEDIR)/build_config.mk +include $(MAKERULEDIR)/platform.mk +include $(MAKERULEDIR)/env.mk +include $(MAKERULEDIR)/component.mk + +export MAKEAPPNAME +export $(MAKEAPPNAME)_PATH +export MAKECONFIG + +Responses: +refer linux user guide 2.4.2.1.4 File system patch for Vision SDK Copy “install-extra.tar.gz” from $INSTALL_DIR/ti_components/os_tools/linux/kernel/linux-kernel-addon/fs-patches into $ INSTALL_DIR/ti_components/os_tools/linux/targetfs and untar tar –xvzf install-extra.tar.gz + +Hi Owen, thanks for updating the thread. Regards, Yordan + diff --git a/sample_embedding_folder2/0704430.txt b/sample_embedding_folder2/0704430.txt new file mode 100644 index 0000000000000000000000000000000000000000..349c1e56e21807b9975464ebef2281e219ebbfcb --- /dev/null +++ b/sample_embedding_folder2/0704430.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2EVM5777: Linux Boot Halt Issue + +Query Text: +Part Number: TDA2EVM5777 Tool/software: Linux Hello, I am running PROCESSOR_SDK_VISION_03_01_00_00 Linux on the tda2evm5777 and I am having an issue when I try to run it on another hardware (Part 1 below). I also tried to recreate the issue on the tda2evm5777 hardwaren(see part 2). Part 1 Linux starts to boot but will stop after these print statements: [ 2.653974] dmm 4e000000.dmm: initialized all PAT entries [ 2.661366] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [ 2.668038] [drm] No driver support for vblank timestamp query. [ 2.674367] [drm] Initialized omapdrm 1.0.0 20110917 on minor 0 [ 2.693383] pcf857x: probe of 0-0020 failed with error -121 [ 2.699149] pcf857x: probe of 0-0021 failed with error -121 [ 2.705199] omap_hsmmc 4809c000.mmc: Got CD GPIO [ 2.824026] asoc-simple-card sound0: tlv320aic3x-hifi <-> 48468000.mcasp mapping ok [ 2.846947] omap_hsmmc 480d1000.mmc: card claims to support voltages below defined range [ 2.856117] omap_hsmmc 4809c000.mmc: Got CD GPIO [ 2.861575] hctosys: unable to open rtc device (rtc0) [ 2.875008] evm_1v8: disabling [ 2.878099] aic_dvdd: disabling [ 2.881432] ldousb: disabling [ 2.884702] pbias_mmc_omap5: disabling [ 2.888628] ALSA device list: [ 2.891624] #0: DRA7xx-EVM [ 2.895222] Waiting for root device PARTUUID=adadfbee-02... [ 2.906404] mmc1: queuing unknown CIS tuple 0x91 (3 bytes) [ 2.912637] mmc1: new high speed SDIO card at address 0001 Part 2 I tried to recreate the issue on the evaluation board (tda2evm5777) by disabling i2c1 in the dra7-evm-common.dts file. we can create a similar boot up halt. Here are the ending print statements for that: [ 2.261911] Power Management for TI OMAP4+ devices. [ 2.267080] Registering SWP/SWPB emulation handler [ 2.274549] dmm 4e000000.dmm: initialized all PAT entries [ 2.295529] omapdss_dss 58000000.dss: master bind failed: -517 [ 2.302038] omap_hsmmc 4809c000.mmc: Got CD GPIO [ 2.307889] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr25 mode [ 2.314316] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr12 mode [ 2.433424] Adding alias for supply vdd,cpu0 -> vdd,4a003b20.oppdm [ 2.439631] Adding alias for supply vbb,cpu0 -> vbb,4a003b20.oppdm [ 2.445917] ti_oppdm 4a003b20.oppdm: Unable to get vdd regulator:-517 [ 2.453691] omapdss_dss 58000000.dss: master bind failed: -517 [ 2.461362] omap_hsmmc 4809c000.mmc: Got CD GPIO [ 2.469302] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr25 mode [ 2.475754] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr12 mode [ 2.483051] hctosys: unable to open rtc device (rtc0) [ 2.501201] evm_1v8: disabling [ 2.504305] evm_3v3_sw: disabling [ 2.507636] aic_dvdd: disabling [ 2.510794] pbias_mmc_omap5: disabling [ 2.514580] vmmcwl_fixed: disabling [ 2.518280] ALSA device list: [ 2.521259] No soundcards found. [ 2.525593] Waiting for root device PARTUUID=adadfbee-02... Questions What is Linux trying to do or waiting on that would make it pause at this point in the bootup sequence? Does Linux require ECC DDR? Why would disabling I2C1 on a Vayu result in a similar boot halt? Please let me know if you need any information. I can also provide more boot print statements if it helps. Thank you in advance! -iFer + +Responses: +Hi Have you reviewed the HW differences between the TI EVM and other HW - you will need to make appropriate changes to enable/ disable device nodes in the Linux Device tree file that describes your platform HW Does Linux require ECC DDR? No, Linux does not require ECC for DDR you can review your complete boot log - typically the boot flow includes probing of connecting devices and driver modules registered with the kernel. Following this the initialization scripts from the root FS are executed for configuring rest of your system.If either the device probe is stuck or you have some unfulfilled dependencies , you might see behavior similar to the one above You will need to carefully analyse the HW differences and make appropriate changes From the logs above, in both places the init seems to be stuck after initial MMC driver probe. Before disabling the I2C instance also review for devices connected to the I2C1 bus and ensure that the driver/software doesnt depend on that I2c instance anymore + +Hi, I2C1 is where TPS659039(PMIC) is connected. MMC requires ldo1 regulator which is on TPS659039 PMIC. Hence you see the boot hang when you disable I2C1. - Keerthy + +Hello, Thank you for your help. I have several differences between Vayu EVM and the other hardware. For more specifics on the other hardware, I have successfully booted Starterware and RTOS applications fine on the other hardware. Specifics about other hardware: 1) Boot device is MMC1. 2) EMMC is not present. 3) MMC regulator is always enabled. 4) SYS_BOOT is configured for sd boot. What I do not know, is what components on the Vayu board (and dtsi entries) does the default Vision SDK Linux kernel require to be there/enabled by default for Linux to not halt. That will help me narrow it down, as there are various differences. For example, on the Vayu board, the gpio expander is used for the vayu mmc reg enable, but on the other hardware, it is hard wired on. Would this cause the default Linux kernel to halt booting? If so, what DTSI entries do I disable/modify? What are the other components/dtsi entries that the default Vision SDK Linux kernel require to boot that RTOS/Starterware do not require to boot? Thank you for your help! -iFer + +Hi With Linux, your device tree file describes your board/hardware configuration. The default from our release would have enabled all the peripherals that need to be controlled from Linux - typically the video capture(and possibly display) related peripherals are controlled from RTOS side. depending on your case requirements, you need to finalize the peripherals that need to be controlled from Linux - for purpose of debugging you can mark a device node in the DT file as being disabled if you do not want to enable access to that from the Linux side. typical (but not complete - refer standard device tree file again) list of peripherals handled by linux include uart, usb, ethernet, mmc, i2c instances for interacting with PMIC, audio codec, video display output devices etc + diff --git a/sample_embedding_folder2/0704519.txt b/sample_embedding_folder2/0704519.txt new file mode 100644 index 0000000000000000000000000000000000000000..95412a5f03ffd38119cc3224119136779ae9c343 --- /dev/null +++ b/sample_embedding_folder2/0704519.txt @@ -0,0 +1,12 @@ +Ticket Name: RTOS/TDA2: how does the four eve cores compute in parallel? and what does the link Alg_tidl_Dsp doing? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS + +Responses: +Each EVE core is running TIDL inference of SSD based objectedtion CNN network (expect the detection output layer). 4 images in parallel The last layer in the network ( detection output) layer is executed by DSP. For 4 images in sequentail. + +Thank you, Kumer, I have trained a small CNN network (based on JacintoNet, with less layers and channels), which can run in 40ms on a EVE core. As you recommended, the DetectionOut layer should run on the DSP, My use case is as follows, is it right? Thank you, Jianjun. + +Yes. This looks right + diff --git a/sample_embedding_folder2/0704537.txt b/sample_embedding_folder2/0704537.txt new file mode 100644 index 0000000000000000000000000000000000000000..b0288b37cb097d6cc6c8fc7b30dd625078aa926c --- /dev/null +++ b/sample_embedding_folder2/0704537.txt @@ -0,0 +1,18 @@ +Ticket Name: Linux/TDA2: TDA2xx Run in mnt mode, how to update the firmware + +Query Text: +Part Number: TDA2 Tool/software: Linux I run the apps.out by mount my virtual machine path to my board,and my Startup script is: ifconfig eth0 172.17.123.117 netmask 255.255.224.0 mount -t nfs -o nolock,nfsvers=3,vers=3 172.17.123.14:/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/targetfs /mnt cd /mnt/opt/vision_sdk/ ./load_ocl_kos.sh source ./vision_sdk_load.sh ./apps.out and my SD card uenv.txt file is fdtfile=dra7-evm-infoadas.dtb args_mmc=part uuid mmc 0:2 uuid; setenv bootargs "console=ttyO0,115200n8 vram=16M root=PARTUUID=${uuid} rw rootwait ip=none mem=1024M" But Only usecase level changes can be displayed in this way. When I modify the file under the path \vision_sdk\apps\src\rtos\alg_plugins,My changes don't work. E.g I added the print does not come out。 But I put the folder under the path \ti_components\os_tools\linux\targetfs copy to the path of rootfs in SD card,My plus print can print it out. It seems that something compiled under alg_plugins is not mounted, or when the system is running, it didn't go to my mount path to find firware. I want that what I am modifying under the path can take effect by means of mounting. Because it takes too long to copy the targets folder to SD card every time. How should I do? + +Responses: +Please use nfs boot mode + +Hi, I have changed to nfs mode , my uenv.txt file is: fdtfile=dra7-evm-infoadas.dtb args_mmc=setenv bootargs 'console=ttyO0,115200n8 vram=16M root=/dev/nfs rw nfsroot=172.17.218.38:/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/targetfs rootwait ip=dhcp mem=1024M' But in this mode i cannot log in the system, the info is : | _ |__ __ __ _ | |__ __ |_|__ __| |_ | | | .'| . | . | | | | . | | | -_| | | |__|__|_| |__,|_ |___| |__| |_| |___|_| |___|___|_| |___| |___| Arago Project http://arago-project.org dra7xx-evm ttyS0 Arago 2016.12 dra7xx-evm ttyS0 dra7xx-evm login: root Login incorrect dra7xx-evm login: it report Login incorrect. Regards, Xie Baojian + +when you created the file system you have given full permission to the files within the filesystem . You need to give permission to targetfs folder alone. 2.4.2.1.4 Download and untar file system Download Linux file system tisdk-rootfs-image-dra7xx-evm_vsdk_3_4.tar.xz, from ti.com - http://softwaredl. ti.com/processor-sdk-vision/esd/TDAx/vision-sdk/latest/index_FDS.html And keep under following directory $INSTALL_DIR/ti_components/os_tools/linux/targetfs Untar file system $> bash $> export INSTALL_DIR= $> cd $INSTALL_DIR/ti_components/os_tools/linux/targetfs $> chmod 777 ../targetfs NOTE: Only targetfs folder needs to have full permission not the files within $> tar xf tisdk-rootfs-image-dra7xx-evm_vsdk_3_4.tar.xz $> exit Regards Chetan.M + +Hello , Any updates on this thread Regards Chetan M + +Hi Chetan M, I am sure that i have done the 2.4.2.1.4 Download and untar file system, and have chmod 777 ../targetfs. and i have done env default -fa saveenv in uboot stage But it still cannot log in use root. Is it logged in with another account in the mnt mode? Regards, Xie Baojian + +No , This issue is seen if there are permission mismatch , Please retry with a new filesystem folder Regards Chetan.M + diff --git a/sample_embedding_folder2/0704578.txt b/sample_embedding_folder2/0704578.txt new file mode 100644 index 0000000000000000000000000000000000000000..620d5a196bb7d34e5a5cbd57d1bc374d6ddca34f --- /dev/null +++ b/sample_embedding_folder2/0704578.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: TDA2 DDR3 layout rule + +Query Text: +Part Number: TDA2 Hello I read from DM that routing specification about DDR the Table 8-51 mention the length between SoC & DDR3, but the unit is in ps. How to transfer the ps to mil ? thank you + +Responses: +Hi, can you check the answer in this thread for the same question: e2e.ti.com/.../611865 Regards, Yordan + diff --git a/sample_embedding_folder2/0704630.txt b/sample_embedding_folder2/0704630.txt new file mode 100644 index 0000000000000000000000000000000000000000..1ed8dbbde4e19f43d9d104c73160ecb30a2367db --- /dev/null +++ b/sample_embedding_folder2/0704630.txt @@ -0,0 +1,63 @@ +Ticket Name: RTOS/TDA2: DCAN2 external loopback test mode stuck at Utils_dcanWaitForTxComplete() + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, I'm using dcan example with tda2xx_evm_bios_all config on tda2xx evm board with Vision SDK (PROCESSOR_SDK_VISION_03_01_00_00). After turning on DCAN_INCLUDE(DCAN_INCLUDE=yes) in vision_sdk\apps\configs\tda2xx_evm_bios_all\ cfg.mk, dcan1 can be tested as expected in external loopback mode. In order to test dcan2, vision_sdk\apps\src\rtos\modules\dcan\utils_dcan.c is modified, since utils_dcan.c only support dcan1 . The modification can be seen bellow. But it seems that the dcan ISR is not entered, causing the code stuck at Utils_dcanWaitForTxComplete(). Is the modification correct? Did I miss some configuration? Thanks! --- utils_dcan_original.c 2018-06-14 18:05:18.280695070 +0800 ++++ utils_dcan_modified.c 2018-06-14 18:09:01.520685249 +0800 +@@ -121,7 +121,8 @@ +-#define UTILS_DCAN_INST (SOC_DCAN1_BASE) ++#define UTILS_DCAN_INST (SOC_DCAN2_BASE) + +@@ -553,7 +554,9 @@ + Utils_dcanWaitForIfReg(UTILS_DCAN_INST, UTILS_DCAN_TX_IF_REG); ++ Vps_printf("Utils_dcanWaitForTxComplete\n"); + Utils_dcanWaitForTxComplete(mbxIndex); ++ Vps_printf("Utils_dcanWaitForTxComplete done\n"); + + +@@ -1088,13 +1091,19 @@ + PlatformUnlockMMR(); + + /* Clock Configuration. */ +- PlatformDCAN1PrcmEnable(); ++ if(UTILS_DCAN_INST == SOC_DCAN1_BASE) ++ PlatformDCAN1PrcmEnable(); ++ else ++ PlatformDCAN2PrcmEnable(); + + /* Perform the DCAN pinmux. */ +- PlatformDCAN1SetPinMux(); ++ if(UTILS_DCAN_INST == SOC_DCAN1_BASE) ++ PlatformDCAN1SetPinMux(); ++ else ++ PlatformDCAN2SetPinMux(); + + /* Initialize the DCAN message RAM. */ +- PlatformDcanMessageRamInit(0); ++ PlatformDcanMessageRamInit(UTILS_DCAN_INST == SOC_DCAN1_BASE? 0 : 1); + } + + /** +@@ -1638,7 +1647,7 @@ + UInt32 cookie = 0; + const UInt32 intrId = dcanConfig.dcanCntrlIntrId; + +- IntXbar_connectIRQ(intrId, DCAN1_IRQ_INT1); ++ IntXbar_connectIRQ(intrId, UTILS_DCAN_INST == SOC_DCAN1_BASE? DCAN1_IRQ_INT1 : DCAN2_IRQ_INT1); + + /* Disabling the global interrupts */ + cookie = Hwi_disable(); +@@ -1785,6 +1794,7 @@ + ++ Vps_printf("dqy dcan: init can%d!!!\n", UTILS_DCAN_INST == SOC_DCAN1_BASE? 1 : 2); ++ PlatformDcanClkConfig(UTILS_DCAN_INST == SOC_DCAN1_BASE? 0 : 1); + + Utils_dcanPlatformInit(); + /* Register Crossbars and IRQ numbers */ + Utils_dcanConfigIntr(); + Dong + +Responses: +Hi Dong, Is it possible for you to take a dump of DCAN2 registers and DCAN2 message RAM? Thanks & Regards, Vivek Dhande. Texas Instruments (India) Pvt Ltd + +Hi Dong, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Thanks & Regards, Vivek Dhande. Texas Instruments (India) Pvt Ltd + diff --git a/sample_embedding_folder2/0704912.txt b/sample_embedding_folder2/0704912.txt new file mode 100644 index 0000000000000000000000000000000000000000..756b891acfb3e98e81b2fb5f553ee1ffeeacbbbb --- /dev/null +++ b/sample_embedding_folder2/0704912.txt @@ -0,0 +1,14 @@ +Ticket Name: Compiler/TDA2: Advantage and disadvantage using JTAG XDS110 vs XDS560v2 on TDA2 platform and other question. + +Query Text: +Part Number: TDA2 Tool/software: TI C/C++ Compiler Dear TI, i am currently doing some development on this TDA2 EVM board and i am not sure which debugger kit is useful on it. Question 1) i found currently there are 2, XDS110 and XDS560v2 are you able to help to list the advantage over it? so i am able to decided which one to purchase over it. Question 2) is it a must to use the debugger in order to do programming onto the in EVM? + +Responses: +Hello Willson Toh59, Willson Toh59 said: Question 1) i found currently there are 2, XDS110 and XDS560v2 are you able to help to list the advantage over it? so i am able to decided which one to purchase over it. See my post here. It should give you guidance deciding over which jtag to buy. Willson Toh59 said: Question 2) is it a must to use the debugger in order to do programming onto the in EVM? Without Jtag, the CCS leverages and debugging options are very limited. Though, you should be able to use a UART console for example. Thanks, Alex + +Hi, In addition to what Alex said I would suggest you to prefer XDS560v2 over XDS100 during development phase due to considerable speed advantage while loading big applications on multiple CPUs. Regards, Rishabh + +Dear Rishabh So i other word i can still do the development by using the existing demo project to edit and re-compile and generate the MLO and Applmage and transfer it to the SDcard as well without the JTAG. I am correct? + +Hi Wilson, Yes this is correct. But you need JTAG in case you want to single step in order to debug. Regards, Rishabh + diff --git a/sample_embedding_folder2/0704913.txt b/sample_embedding_folder2/0704913.txt new file mode 100644 index 0000000000000000000000000000000000000000..8ce000b92bfb8d621e7847f017a1884e69c7d95f --- /dev/null +++ b/sample_embedding_folder2/0704913.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: a15 and c66 optimization which is faster for algorithm + +Query Text: +Part Number: TDA2 Tool/software: Linux The same algorithm was optimized in A15 (NEON multithreading) and C66 (data DMA to L2 and Instruction Optimization) respectively. The result is obviously fast on A15. Is this normal? C66 should be specialized in making algorithms faster. + +Responses: +Hi Shuai, can you check this answer by Jesse for a list of documents related to DSP optimization and see if you can improve the performance of your DSP algorithm: e2e.ti.com/.../2371691 Regards, Yordan + diff --git a/sample_embedding_folder2/0705002.txt b/sample_embedding_folder2/0705002.txt new file mode 100644 index 0000000000000000000000000000000000000000..cd53189b333478f92295d6ec31ea6071bd0ee553 --- /dev/null +++ b/sample_embedding_folder2/0705002.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: TDA2P functional safety + +Query Text: +Part Number: TDA2 As we know TDA2P-ACD pass ISO26262 ASIL B functional safety, if the product comply with ISO26262 ASIL B, which application notes for hardware and software design ? Could you please provide relevant functional safety documents to us? + +Responses: +Joseph, You can start with www.ti.com/.../sprui16a.pdf Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0705137.txt b/sample_embedding_folder2/0705137.txt new file mode 100644 index 0000000000000000000000000000000000000000..9d4662e68a8af90f9c251202645fd9812c477750 --- /dev/null +++ b/sample_embedding_folder2/0705137.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: c66 how to save file + +Query Text: +Part Number: TDA2 Tool/software: Linux i am use PROCESSOR_SDK_VISION_03_02_00_00 ,in DSP link i want to save imgdata in a file FILE * landmarks_data = fopen("./handdata_dsp.txt", "wb"); but i cannot find the file , how to save file in DSP link? + +Responses: +Hi Shuai , As filesystem is in A15 , you will have to get the buffer to write to A15 using null in A15 and write the buffer. DSP Link | | DUP Link | | | | Orig path | | Null (a15) ( do file write here) Regards Chetan.M + diff --git a/sample_embedding_folder2/0705474.txt b/sample_embedding_folder2/0705474.txt new file mode 100644 index 0000000000000000000000000000000000000000..d519ed5a116deb1fa82ec34b60c2fc7385c775d4 --- /dev/null +++ b/sample_embedding_folder2/0705474.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2EVM5777: TDA2 PCB footprint + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hello I found package outline of TDA2 on the spec. But I don't know how to build a pcb footprint of it. Is there PCB recommend document? thank you + +Responses: +Hi, Here is the TDA2's PCB: www.ti.com/.../sprr209 Regards, Yordan + +Hello I have this PCB file. But the outline of TDA footprint is too big , the board space is too small to place all components in. If we don't need the 4 NPTH holes on the outline due to there is no necessary to put on the heat sink, what is the clearance "x" should be? thank you + +Hi, sorry for the delayed response. We are working on this and will update as soon as we have results. Regards, Yordan + +The CAD/CAE symbols are now available on the web at http://www.ti.com/product/TDA2/pinout-quality The .bxl file can now be downloaded from https://webench.ti.com/cad/dlbxl.cgi/TI_BXL/TDA2_ABC_760.bxl Let us know if that doesn't meet your needs. Regards, Kyle + diff --git a/sample_embedding_folder2/0705475.txt b/sample_embedding_folder2/0705475.txt new file mode 100644 index 0000000000000000000000000000000000000000..81d14851becfd5a96ce916b583f54d77400bf21a --- /dev/null +++ b/sample_embedding_folder2/0705475.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2EXEVM: Object Detection on DSP + +Query Text: +Part Number: TDA2EXEVM Tool/software: Linux Dear Sir: Base on the usecase lvds_vip_single_cam_analytics inside VSDK 03_03_00_00, the Object Detection algorithm running on the DSP always needs the FPCompute output from the EVE processor. Is it possible to run the FPCompute on DSP? Does TI have any plane to move the FPCompute into DSP? If the EVE is necessary, it seems that the OD demo can not run on a DRA71x/72x EVM board Am I correct? Regards, /ckhsu + +Responses: +Yes EVE is necessary for OD demo. + diff --git a/sample_embedding_folder2/0705552.txt b/sample_embedding_folder2/0705552.txt new file mode 100644 index 0000000000000000000000000000000000000000..94c6ad4d4f789864e2143d3bfddd85316525b060 --- /dev/null +++ b/sample_embedding_folder2/0705552.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: c66 alg_plugins structures contain each other compilation problem + +Query Text: +Part Number: TDA2 Tool/software: Linux i add a new in vision_sdk\apps\src\rtos\alg_plugins ,but compil failed in linux ,follow is the log "framecopy/Arcsoft_AHD_Utils.h", line 172: warning: declaration is not visible outside of function "framecopy/Arcsoft_AHD_Layer.h", line 42: warning: typedef name has already been declared (with same type) "framecopy/Arcsoft_AHD_Net.c", line 157: error: argument of type "Network *" is incompatible with parameter of type "struct __tag_network *" "framecopy/Arcsoft_AHD_Net.c", line 157: error: argument of type "AHDGlobalHandle *" is incompatible with parameter of type "struct AHDGlobalHandle *" "framecopy/Arcsoft_AHD_Net.c", line 184: error: argument of type "Network *" is incompatible with parameter of type "struct __tag_network *" "framecopy/Arcsoft_AHD_Net.c", line 184: error: argument of type "AHDGlobalHandle *" is incompatible with parameter of type "struct AHDGlobalHandle *" "framecopy/Arcsoft_AHD_Net.c", line 220: error: argument of type "Network *" is incompatible with parameter of type "struct __tag_network *" "framecopy/Arcsoft_AHD_Net.c", line 220: error: argument of type "AHDGlobalHandle *" is incompatible with parameter of type "struct AHDGlobalHandle *" is calling MVoid forward_convolutional_layer(MCONV_LAYER *l,Network *net,AHDGlobalHandle *pHandle) structures contain each other typedef struct __tag_layer{ LAYER_TYPE type; ACTIVATION activation; COST_TYPE cost_type; MVoid(*forward) (struct __tag_layer *, struct __tag_network *, struct AHDGlobalHandle *); //MVoid(*forward) (struct __tag_layer *, Network *, AHDGlobalHandle *); MInt32 i32Batch_normalize; MInt32 i32Shortcut; MInt32 i32Batch; MInt32 i32Flipped; MInt32 i32Inputs; MInt32 i32Outputs; MInt32 i32Truths; MInt32 i32h, i32w, i32c; MInt32 i32out_h, i32out_w, i32out_c; MInt32 i32N; MInt32 i32Max_boxes; MInt32 i32Groups; MInt32 i32Size; MInt32 i32Stride; MInt32 i32Reverse; MInt32 i32Pad; MInt32 i32Sqrt; MInt32 i32Index; MFloat fDot; MFloat fJitter; MInt32 i32Softmax; MInt32 i32Classes; MInt32 i32Coords; MInt32 i32Background; MInt32 i32Rescore; MInt32 i32Log; //*** adam param MInt32 i32Adam; MFloat fB1; MFloat fB2; MFloat fEps; MFloat * pfm; MFloat * pfv; //*** normalization_layer param MFloat fAlpha; MFloat fBeta; MFloat fKappa; MFloat fCoord_scale; MFloat fObject_scale; MFloat fNoobject_scale; MFloat fClass_scale; MInt32 i32Bias_match; MInt32 i32Random; MFloat fThresh; MInt32 i32Classfix; MInt32 i32Absolute; MInt32 i32Dontload; MInt32 i32Dontloadscales; MFloat fTemperature; MInt32 * pi32Indexes; // max-pool param MInt16 * pi16Biases; MFloat * pfBiases; MFloat * pfScales; MInt16 * pi16Weights; MFloat * pfWeights; //*** local layer param MFloat * pfCol_image; MInt32 * pi32Input_layers; MInt32 * pi32Input_sizes; MInt16 * pi16Output; MFloat * pfOutput; MFloat * pfSquared; MFloat * pfNorms; //*** batch_norm param MFloat * pfSpatial_mean; MFloat * pfMean; MFloat * pfVariance; MFloat * pfRolling_mean; MFloat * pfRolling_variance; MFloat * pfX; MFloat * pfX_norm; MInt32 i32Workspace_size; //*** for dsp MInt16 *conv_buffer; }MLAYER,*PMLAYER; typedef struct __tag_network { MInt32 i32N; MInt32 i32Batch; MInt32 *pi32Seen; MInt32 i32Subdivisions; MFloat fMomentum; MFloat fDecay; MLAYER *psLayers; MInt32 i32Outputs; MFloat *pfOutput; LEARNING_RATE_POLICY ePolicy; MFloat fLearning_rate; MFloat fGamma; MFloat fScale; MFloat fPower; MInt32 i32Time_steps; MInt32 i32Step; MInt32 i32Max_batches; MFloat *pfScales; MInt32 *pi32Steps; MInt32 i32Num_steps; MInt32 i32Burn_in; MInt32 i32Adam; MFloat fB1; MFloat fB2; MFloat fEps; MInt32 i32Inputs; MInt32 i32h, i32w, i32c; MInt32 i32Max_crop; MInt32 i32Min_crop; MFloat fAngle; MFloat fAspect; MFloat fExposure; MFloat fSaturation; MFloat fHue; //*** net-net param MFloat *pfTruth; MInt16 *pi16Input; MFloat *pfInput; MFloat *pfWorkspace; MInt32 i32Index; }Network,*PNetwork; typedef struct AHDGlobalHandle { MHandle hMemMgr; // memory handle of global handle MUInt64 nFrameNum; MInt32 i32Width; // video width MInt32 i32Height; // video height MUInt32 u32PixelArrayFormat; // video pixel array format AHD_ENUM_MODEL eModel; MInt32 i32Roll; MInt32 i32SignMaxNum; // max number of hands to be detected MImageStore sImgStore; // skip frame Network sNet; MFloat fThresh; MBOX *psBoxes; MFloat **pfProbs; AHD_SIGNS *psHandsInner; // internal hands detected result MLong *plTmpBuf; // image resize buffer MUInt32 u32BufSize; // buffer size ASVLIMAGE sImgGray; MHandle hmcvParallelMonitor; // convolution multi thread MHandle hmcvParallelMonitor2; // detect multi thread MInt32 i32taskId; }AHDGlobalHandle; + +Responses: +Hi Shuai, I am not sure that I completely understand the code, but in the declaration of "struct __tag_layer" there is: MVoid(*forward) (struct __tag_layer *, struct __tag_network *, struct AHDGlobalHandle *); //MVoid(*forward) (struct __tag_layer *, Network *, AHDGlobalHandle *); the commented function expects second argument of type "Network *" which matches the function "forward_convolutional_layer()" and also what is passed as paraeter on line 157. What is the result when you use the second definition of MVoid(*forward)() in the "struct __tag_layer"? Regards, Yoradn + diff --git a/sample_embedding_folder2/0705576.txt b/sample_embedding_folder2/0705576.txt new file mode 100644 index 0000000000000000000000000000000000000000..03005e3d796bbc1a3527d0f1ee873b6dcd0deb1a --- /dev/null +++ b/sample_embedding_folder2/0705576.txt @@ -0,0 +1,57 @@ +Ticket Name: RTOS/TDA2: Running a model on multiple cores + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, I can not find the use of "coreID" on the vision sdk. I want to know when I read the NET.BIN and the PRM.bin, what is the role of the "coreID"? If I set the layersGroupId = 4, what's the mean on the vision sdk? Thank you. BR, Tianxing + +Responses: +Hi, This "coreID" is not used in VSDK for TIDL usecases, so you can ignore it. The "layersGropuId" is not a single value, it indicates group of layers in the net are processed together, so this parameter needs to be set for all the layers in the net. Please refer to config files in TIDL OD usecase + +Hi, Could I set the layer execute on the dsp or eve, when the tidl usecase run? Thank you. + +Hi, That depends on the use case, for TIDL OD usecase you can set all layers to run on EVE except Concat, Flatten and detectionOutput layers. How set this is shown in the import config files of SSD. Thanks, Praveen + +Hi Praveen, Could you give me a sample, thank you. BR, Tianxing + +Attached the sample import config file.. tidl_import_JDetNet.txt # Default - 0 +randParams = 0 + +# 0: Caffe, 1: TensorFlow, Default - 0 +modelType = 0 + +# 0: Fixed quantization By tarininng Framework, 1: Dyanamic quantization by TIDL, Default - 1 +quantizationStyle = 1 + +# quantRoundAdd/100 will be added while rounding to integer, Default - 50 +quantRoundAdd = 25 + +numParamBits = 8 +# 0 : 8bit Unsigned, 1 : 8bit Signed Default - 1 +inElementType = 0 + +inputNetFile = "..\..\test\testvecs\config\caffe_jacinto_models\trained\image_detection\jdetNet_768x320\deploy.prototxt +inputParamsFile = "..\..\test\testvecs\config\caffe_jacinto_models\trained\image_detection\jdetNet_768x320\ti-jdetNet_768x320.caffemodel" +outputNetFile = "..\..\test\testvecs\config\tidl_models\jdetnet\tidl_net_jdetNet_ssd.bin" +outputParamsFile = "..\..\test\testvecs\config\tidl_models\jdetnet\tidl_param_jdetNet_ssd.bin" + +rawSampleInData = 1 +preProcType = 4 +sampleInData = "..\..\test\testvecs\input\trace_dump_0_768x320.y" +tidlStatsTool = "..\quantStatsTool\eve_test_dl_algo.out.exe" +layersGroupId = 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 2 2 2 2 2 2 0 +conv2dKernelType = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + + + Thanks, Praveen + +Hi Praveen, If means that layer run on which core to be set by the layersGroupId of the config file, I see the 1 for EVE and the 2 for DSP? When I read the source code of tidlModelImport, the layersGroupId is assignment to coreID as follow: tIDLNetStructure.TIDLLayers[tiLayerIndex].coreID = gParams.layersGroupId[tiLayerIndex]; tIDLNetStructure.TIDLLayers[tiLayerIndex].layersGroupId = gParams.layersGroupId[tiLayerIndex]; On line 4161 of function caffe_import() Could I set the layers run on EVE1, EVE2 or DSP1, DSP2 by the layerGroupId. BR, Tianxing + +Yes, you can do that by assigning unique layersGroupId for each of the cores. For example, if you wish to run your network on two EVE and two DSP cores, then you can assign layersGroupId as follows.. 1 for EVE1, 2 for EVE2, 3 for EVE3, 4 for DSP. Please note that same mapping should used in running inference. Thanks, Praveen + +Hi Praveen, Thank you for your reply. What' s the mean that "same mapping should used in running inference"? That' s mean when I create chain, I should used the EVE1, EVE2, DSP1 and DSP2? Best Regard, Tianxing + +Yes. Thanks, Praveen + +Hi Praveen, However, I can't find the relationship between the config fie and sdk code. Best Regards, Tianxing + +Please refer to tidl and VSDK documents to better understanding. Also, search in the e2e forum you may get some more information you are looking for. Thanks, Praveen + diff --git a/sample_embedding_folder2/0705767.txt b/sample_embedding_folder2/0705767.txt new file mode 100644 index 0000000000000000000000000000000000000000..49cabceae8151c70f8ba480a47ff3c183c7fd581 --- /dev/null +++ b/sample_embedding_folder2/0705767.txt @@ -0,0 +1,16 @@ +Ticket Name: RTOS/TDA2: TDA2xx: null source decode display issue + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, I using the SDK 3.03 version now How can I get the sizeBin.exe this tool? Is it exist in SDK 3.03? BR Allen + +Responses: +Please find attached. Remove .txt from the executable name. /cfs-file/__key/communityserver-discussions-components-files/791/5657.sizeBin.exe.txt + +hi, Prasad we can't get the executable file have other method can download it?or can you provide different resolution inData and inHeader BR Allen + +Hello Allen, Can you please try below? If this doesnt work i will upload on TI dropbox and share link. Thanks /cfs-file/__key/communityserver-discussions-components-files/791/2844.sizeBin.txt + +Hi, Prasad Yes I can download it but it look not like an executable file BR Allen + +Hi Allen, Please rename it to sizeBin.exe (the forum engine do not allow to attach .exe files) Regards, Yordan + diff --git a/sample_embedding_folder2/0706400.txt b/sample_embedding_folder2/0706400.txt new file mode 100644 index 0000000000000000000000000000000000000000..e3715ad9d31e99802fe4aeed71f42436c3df984d --- /dev/null +++ b/sample_embedding_folder2/0706400.txt @@ -0,0 +1,10 @@ +Ticket Name: CCS/TDA2: ddr l2 l1 Speed comparison + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio from spna165.pdf L1 cache 600 MHz L2 cache 300 MHz External memory~100 MHZ memory so i test this use the same function ,change site of the in put buffer and comparison use cycles this is the cmd -stack 0x4000 -heap 0x2000000 MEMORY { L1P_SRAM : origin = 0x00E00000, len = 0x8000 L1D_SRAM : origin = 0x00F00000, len = 0x8000 /* 16 KB SRAM */ // L1D_CACHE : origin = 0x00F04000, len = 0x4000 /* 16 KB cache */ // L1D_CACHE : origin = 0x00F00000, len = 0x8000 /* 16 KB cache */ L2_SRAM : origin = 0x00800000, len = 0x48000 /* SARAM in L2, = 256 + 32 - 128 = 160 KB*/ // L2_CACHE : origin = 0x00828000, len = 0x20000 /* Cache for L2, which is configured as 128 KB*/ DSP2_L2_SRAM : origin = 0x40800000, len = 0x48000 SL2_SRAM : origin = 0x5B000000, len = 0x40000 EXT_MEM_CACHE : origin = 0x80000000, len = 0x06000000 /* DSP Used cachable area */ EXT_MEM_heap : origin = 0x86000000, len = 0x02000000 /* DSP Used cachable area */ } SECTIONS { vectors :> EXT_MEM_CACHE .cio :> EXT_MEM_CACHE .bss :> EXT_MEM_CACHE ////usually reserves space for uninitialized variables .text :> EXT_MEM_CACHE //////contains executable code .cinit :> EXT_MEM_CACHE .const :> EXT_MEM_CACHE .far :> EXT_MEM_CACHE .fardata :> EXT_MEM_CACHE /////usually contains initialized data .neardata :> EXT_MEM_CACHE ///////usually contains initialized data .rodata :> EXT_MEM_CACHE .sysmem :> EXT_MEM_CACHE .switch :> EXT_MEM_CACHE .L2SramSect :> L2_SRAM .stack :> L2_SRAM .heap :> EXT_MEM_heap } input = (int *)0x00F00000; for L1 1300000 input = (int *)0x00800000; for L2 1300000 input = (int *)0x80000000; for DDR 12000000 result is L1 and L2 same DDR much more so problem is why L1 not faster than L2? + +Responses: +The cycles depend very much on what we are trying to do in the function. If you have to measure acutal cycles then you need to write a specific test case. For measuring L1D performance, 1. Partition L1D as SRAM and cache. 2. Declare an array of lengh (say 1KB) and pipe it to L1DSRAM using #pragma DATA_SECTION 3. Verify in .map file that array is piped to L1DSRAM section. 4. Write a function which reads the array in a loop and accumulate contents. Send the accumulated value as the return value of the funciton. 5. Profile the function. For measuring L2 performance, 1. Partition L1D and L2 as SRAM and cache. 2. Declare an array of lengh (say 1KB) and pipe it to L2SRAM using #pragma DATA_SECTION 3. Verify in .map file that array is piped to L2SRAM section. 4. Write a function which reads the array in a loop and accumulate contents. Send the accumulated value as the return value of the funciton. 5. Profile the function. For measuring DDR performance, 1. Partition L1D and L2 as SRAM and cahe. 2. Cache DDR space by setting appropriate MAR bits 3. Declare an array of lengh (say 1KB) and pipe it to L2SRAM using #pragma DATA_SECTION 4. Verify in .map file that array is piped to L2SRAM section. 5. Write a function which reads the array in a loop and accumulate contents. Send the accumulated value as the return value of the funciton. 6. Profile the function. Hope this shows the difference bettwen L1D, L2 and DDR performance. The performance can vary depending on L1D, L2 cache sizes and also if DDR cached or not. + +Have you confirmed that you can properly read/write proper data in L1 and L2? The reason I ask is because access to these is dependent on the configuration. For example, at reset, the L1D is configured as full cache. The L2SRAM is configured as full RAM. So unless you change the configuration, L1D is not accessible as memory mapped RAM. If you are seeing same for L1D and L2, it might be because the L1D access is not actually reading/writing to the L1D RAM. Without seeing your code, I can only ask the question. I would also expect the L1D access to be faster than the L2 access. + diff --git a/sample_embedding_folder2/0706734.txt b/sample_embedding_folder2/0706734.txt new file mode 100644 index 0000000000000000000000000000000000000000..9d0257c773f113141c7609e49c13de76abbdc05f --- /dev/null +++ b/sample_embedding_folder2/0706734.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: For upgrading and booting + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: X5777BXGABC Tool/software: Linux Because the OTA function requires software to handle the bad block capability of NAND FLASH, Question 1:the TDA2 software supports the ability to store Linux Fs in NAND FLASH, right? Question 2: What is the flow diagram of the Ethernet OTA function on TDA2? + +Responses: +Hi Can you clarify the exact part number for your device. NAND flash is not supported out of the box for the Linux SDK For the Ethernet OTA function - is this being exercised from Linux? Liux SDK also does not support OTA functionality, customers typically build this on their own + +part number: X5777BXGABC But why is there a NANDFLASH on the (DRA74*) DEMO board? + +Hi for supporting NANDFLASH out of the box, we need to select pin mux configuration that overlaps with some of the peripherals that we would like to support out of the box from SDK perspective. Also, most customers use eMMC for their non-volatile storage needs - hence we have not enabled/validated support for NAND in our SDK releases + diff --git a/sample_embedding_folder2/0706851.txt b/sample_embedding_folder2/0706851.txt new file mode 100644 index 0000000000000000000000000000000000000000..fa11636025620d8f10d2d9b6343c72442ed51f4c --- /dev/null +++ b/sample_embedding_folder2/0706851.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: Facing issue while building Vision SDK 3.03 + +Query Text: +Part Number: TDA2 Tool/software: Linux While I trying to build vision SDK 3.03, we were getting the following errors, after following the steps of installation provided : system_gbm_allocator.c: In function 'gbm_wrap_native_buffers': system_gbm_allocator.c:175:9: error: implicit declaration of function 'gbm_surface_import' [-Werror=implicit-function-declaration] surf = gbm_surface_import(dev, ^ system_gbm_allocator.c:175:7: error: assignment makes pointer from integer without a cast [-Werror=int-conversion] surf = gbm_surface_import(dev, why? I have already tar the " install-extra.tar.gz” into $ INSTALL_DIR/ti_components/os_tools/linux/targetfs . using tar –xvzf install-extra.tar.gz Thanks and regards. ^ + +Responses: +Hi Jacinda, Can you send me this file from your targetfs? /usr/include/gbm/gbm.h Regards Surya + +Hi Surya I have solve this problem. Thanks and Regards Jacinda + +Good to hear that issue is resolved Could you please post how you solved the issue ? It will help others Regards Surya + diff --git a/sample_embedding_folder2/0707418.txt b/sample_embedding_folder2/0707418.txt new file mode 100644 index 0000000000000000000000000000000000000000..4fdcf2db05ca42e712aa35b225aba4d3557a28f6 --- /dev/null +++ b/sample_embedding_folder2/0707418.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: Windows CCS failed to connect to the board through the emulator + +Query Text: +Part Number: TDA2 Tool/software: Linux hi, Windows CCS failed to connect to the board through the emulator, the error info is : The explanation is: The controller has detected a target power loss. The user must turn-on or connect the power supply for the target. How to solve the problem of power loss? + +Responses: +Can you make sure the board is powered correctly, also power cycle it? Can you try first the "Test connection" option while creating the target configuration first? Thanks, Alex + diff --git a/sample_embedding_folder2/0707490.txt b/sample_embedding_folder2/0707490.txt new file mode 100644 index 0000000000000000000000000000000000000000..16dae018b6604711e3ebc541122fb58e0736e779 --- /dev/null +++ b/sample_embedding_folder2/0707490.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2: SSD based TIDL OD use case in Vision SDK with pre-trained model + +Query Text: +Part Number: TDA2 Hi, In this thread https://e2e.ti.com/support/arm/automotive_processors/f/1021/p/689617/2542976?tisearch=e2e-sitesearch#pi320098=2 It said (original use case had only 4 classes, but this new model as 21 classes) so it need to change like below File : vision_sdk\apps\src\rtos\alg_plugins\objectdetection\objectDrawLink_algPlugin.c Line : tempoutPutList->objDesc[tempoutPutList->numObjects].objType = (label - 1)%3; How to decide which class you want to detect in TDA2x ? The original have 21 classes , TDA2x only can detect 4 classes If I don't want to detect car 、pedestrian、traffic sign How can I do to choose 4 classes in the other 17 classes ? Best Regards, Andy Dong + +Responses: +Hi Andy Dong, It is not that TIDL will not detect 21 classes, TIDL usecase can detect 21 classes but can only display first four classes. So, you can train a model to have your interested 4 classes or have them as first 4 classes. Thanks, Praveen + +Hi, Praveen 1. Is there a way to show another 4 classes not just the first 4 classes ? 2. Line : tempoutPutList->objDesc[tempoutPutList->numObjects].objType = (label - 1)%3; the output of this line will be 0~3 ( 0~2 ? ) Is the number match classes with 0~3 or just mean it can display 4 classes ? If output be 4~7 , is it possible to display another 4 classes not the first 4 classes ? 3. How can I do to display more than 4 classes on TIDL usecase ? Thanks! Andy Dong + +Hi, Is there any updates ? Thanks Andy Dong + +Hi Andy, To answer your questions, let me start with explain what below line of code will do, >> Line : tempoutPutList->objDesc[tempoutPutList->numObjects].objType = (label - 1)%3; This modulo 3 is because, currently VSDK supports only four colour codes for display. This means it can display all the 21 objects but can use only 4 colours as below, Class 0, 4 , 8... uses first colour Class 1, 5, 9... uses second colour Class 2, 6, 10..uses third colour Class 3, 7, 11... uses the fourth colour coding. Hope this explanation answer all your questions. Thanks, Praveen + diff --git a/sample_embedding_folder2/0708105.txt b/sample_embedding_folder2/0708105.txt new file mode 100644 index 0000000000000000000000000000000000000000..b447e22e48f63c046fd3adc90138cb8443953347 --- /dev/null +++ b/sample_embedding_folder2/0708105.txt @@ -0,0 +1,10 @@ +Ticket Name: CCS/TDA2: CCS Load test_eveMedianFilter.eve.out no response + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio Hi, I load the test_eveMedianFilter.eve.out in the path of \PROCESSOR_SDK_VISION_03_02_00_00\ti_components\algorithms\eve_sw_01_18_00_00\apps\median_filter\test\elf_out by the windows CCS, But it is nothing printed out,and Resume Button No change to green. But My colleague's machine is able to run and print out, and his Resume Button is green after load. What is wrong with my environment? + +Responses: +Hi, Have you followed all steps to load and run the binary on CCS as mentioned in evesw_getting_started.pdf? Before loading the binary you should reset the EVE core, let me know if you have done this step? Regards, Anshu + +Hi I have solved this problem , I forget to modify the config file. Thanks, Xie Baojian + diff --git a/sample_embedding_folder2/0708145.txt b/sample_embedding_folder2/0708145.txt new file mode 100644 index 0000000000000000000000000000000000000000..b062b42dde0c53c68fdf48afbb7820c5afaf0a53 --- /dev/null +++ b/sample_embedding_folder2/0708145.txt @@ -0,0 +1,26 @@ +Ticket Name: Linux/TDA2EX17EVM: I want to start system from USB like SD card,what should I do? + +Query Text: +Part Number: TDA2EX17EVM Tool/software: Linux Hi: Now the EVM board can start from SD card normally.But I want to start from USB now,So what should I do? 1.Which usb port should I insert USB into?USB1 or USB2 port? 2.If the EVM board can detect USB,where will it be mounted after bringing up? + +Responses: +Hi, TDA2 ROM bootloader does not support loading SBL from an USB pen drive. Regards, Stan + +Hi, But I find that it can boot linux from USB storage in the Linux Core U-Boot User's Guide P14, + +Yes, this should be possible, but first you need to load SBL/u-boot from different source. Regards, Stan + +Hi Stanislav: So you mean SBL/u-boot should be located in SD or emmc,and kernel can be loaded from USB device? And another question is that my custom board cannot detect USB device.After it comes into Uboot,the log is as following: => usb reset resetting USB... USB0: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.00 scanning bus 0 for devices... Kyle:tries == MAX_TRIES error!!! cannot reset port 1!? 1 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found In EVM board,I find that there is a signal called DET_USB2_VBUS.Does the TDA2 will detect the signal? I also want to know how EVM board will detect USB device after I excute "usb start" ,which signals does EVM will detect? Thanks ! + +HI, Could you help to answer my question? + +HI, Sorry,I still have some questions to ask you! + +Hi, Do you observe the 5 volts on the USB connector after usb initializes? + +Yes, I measure VBUS's voltage,it will become 5V from 0V + +Hi, It is possible to boot direct using USB. Note there are 2 stages as described in the link: http://processors.wiki.ti.com/index.php/Linux_Core_U-Boot_User's_Guide#Using_USB_Device_Firmware_Upgrade_.28DFU.29:1230:0 . In the above method, the TDA2x EVM is configured as USB device and the PC is the USB host. As mentioned previously in the above thread, alternative to this is to boot the SBL/U-Boot using other boot mode (like SDcard), and then connect USB pen-drive to load the kernel. Here we trying to configure TDA2x EVM is configured as USB host which interacts with the device (USB pen-drive). See this link for more details: http://processors.wiki.ti.com/index.php/Linux_Core_U-Boot_User's_Guide#Booting_Linux_from_USB_storage This answers the original question of this post. The subsequent question on the " cannot detect USB device" when calling "usb reset" is being discussed here: https://e2e.ti.com/support/arm/automotive_processors/f/1021/t/711806 . + +HI, Thanks for your reply!Because I realized that the question "cannot detect USB device" is different from the original question,so I create another thread.Could you help to answer my new question on e2e.ti.com/.../711806 . Kyle + diff --git a/sample_embedding_folder2/0708176.txt b/sample_embedding_folder2/0708176.txt new file mode 100644 index 0000000000000000000000000000000000000000..78cf488590ae2762f7c344386f6e5bfc457db981 --- /dev/null +++ b/sample_embedding_folder2/0708176.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: DDR address signal swapping rules + +Query Text: +Part Number: TDA2 Hello TDA2 support DDR DQ pin swap for better PCB routing, But the address also can be swap? What is swap rule? Thank you + +Responses: +Hi, Address pins cannot be swapped because they are used to program the DDR Mode Registers. Only data pins can be swapped and they can only be swapped within a byte. As an example, DQ0 could be swapped with any of the pins DQ1 - DQ7. Best regards, Kevin + diff --git a/sample_embedding_folder2/0708182.txt b/sample_embedding_folder2/0708182.txt new file mode 100644 index 0000000000000000000000000000000000000000..0e062a59d7e474619c262ddd25f07141203f2c12 --- /dev/null +++ b/sample_embedding_folder2/0708182.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2: Error in building tda2pxx vision sdk + +Query Text: +Part Number: TDA2 Hi, I am building TDA2PXX vision sdk but i am getting the following error: Nothing to be done for tda2px a15_0 bsp_uart Nothing to be done for tda2px a15_0 bsp_mcspi /bin/echo: not found gmake[3]: *** [header] Error 127 /bin/echo: not found gmake[3]: *** [header] Error 127 /bin/echo: not found gmake[3]: *** [header] Error 127 /bin/echo: not found gmake[3]: *** [header] Error 127 /bin/echo: not found gmake[3]: *** [header] Error 127 /bin/echo: not found gmake[3]: *** [header] Error 127 /bin/echo: not found gmake[3]: *** [header] Error 127 /bin/echo: not found gmake[3]: *** [header] Error 127 gmake[2]: *** [depend] Error 2 gmake[1]: *** [links_fw_depend] Error 2 gmake: *** [depend] Error 2 C:\PROCESSOR_SDK_VISION_03_03_00_00\vision_sdk\build> I have followed each and every step in vision sdk user guide. I have tried many approaches to fix the above error but i am still getting it. Regards Mayank + +Responses: +Hi Mayank, Can you run build command "gmake depend" without -s & -j and share ? Note: gmake path should point to xdc path under ti_components (run where gmake & confirm) Regards Surya + +Hi Surya, Thanks for your mail. Please find below the output after running the command suggested by you. C:/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/os_tools/windows/xdctools_3_32_01_22_core/bin/rm -rf C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/links_fw/include/config/apps/tda2px_evm_bi gmake -fMAKEFILE.MK HeaderCORE=ipu1_0 header ; gmake -fMAKEFILE.MK HeaderCORE=ipu1_1 header ; gmake -fMAKEFILE.MK HeaderCORE=ipu2 header ; gmake -fMAKEFILE.MK HeaderCORE=a15_0 header ; gma gmake[3]: Entering directory `C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/links_fw/src/rtos' /bin/echo: not found gmake[3]: *** [header] Error 127 gmake[3]: Leaving directory `C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/links_fw/src/rtos' gmake[3]: Entering directory `C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/links_fw/src/rtos' /bin/echo: not found gmake[3]: *** [header] Error 127 gmake[3]: Leaving directory `C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/links_fw/src/rtos' gmake[3]: Entering directory `C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/links_fw/src/rtos' /bin/echo: not found gmake[3]: *** [header] Error 127 gmake[3]: Leaving directory `C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/links_fw/src/rtos' gmake[3]: Entering directory `C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/links_fw/src/rtos' /bin/echo: not found gmake[3]: *** [header] Error 127 gmake[3]: Leaving directory `C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/links_fw/src/rtos' gmake[3]: Entering directory `C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/links_fw/src/rtos' /bin/echo: not found gmake[3]: *** [header] Error 127 gmake[3]: Leaving directory `C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/links_fw/src/rtos' gmake[3]: Entering directory `C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/links_fw/src/rtos' /bin/echo: not found gmake[3]: *** [header] Error 127 gmake[3]: Leaving directory `C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/links_fw/src/rtos' gmake[3]: Entering directory `C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/links_fw/src/rtos' /bin/echo: not found gmake[3]: *** [header] Error 127 gmake[3]: Leaving directory `C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/links_fw/src/rtos' gmake[3]: Entering directory `C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/links_fw/src/rtos' /bin/echo: not found gmake[3]: *** [header] Error 127 gmake[3]: Leaving directory `C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/links_fw/src/rtos' gmake[2]: *** [depend] Error 2 gmake[2]: Leaving directory `C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/links_fw/src/rtos' gmake[1]: *** [links_fw_depend] Error 2 gmake[1]: Leaving directory `C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/build' gmake: *** [depend] Error 2 C:\PROCESSOR_SDK_VISION_03_03_00_00\vision_sdk\build> Regards Mayank + +Hi Mayank, There could be 2 issues 1. gmake path is incorrect 2. windows 8191 characters limitation 1. set gmake path on cmd prompt where you are building vision_sdk set PATH=C:\PROCESSOR_SDK_VISION_03_03_00_00\ti_components\os_tools\windows\xdctools_3_32_01_22_core;%PATH% 2. From logs, I can see few characters are missing, In such case try git bash to build C:/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/os_tools/windows/xdctools_3_32_01_22_core/bin/rm -rf C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/links_fw/include/config/apps/tda2px_evm_bi gmake -fMAKEFILE.MK HeaderCORE=ipu1_0 header ; gmake -fMAKEFILE.MK HeaderCORE=ipu1_1 header ; gmake -fMAKEFILE.MK HeaderCORE=ipu2 header ; gmake -fMAKEFILE.MK HeaderCORE=a15_0 header ; gma gmake[3]: Entering directory `C:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/links_fw/src/rtos' /bin/echo: not found gmake[3]: *** [header] Error 127 Regards Surya + +Hi Mayank, If the issue is resolved, Can we close this thread ? Regards Surya + diff --git a/sample_embedding_folder2/0708212.txt b/sample_embedding_folder2/0708212.txt new file mode 100644 index 0000000000000000000000000000000000000000..3173dda1993b9c651e3e0b46a061e5c95dbe52a0 --- /dev/null +++ b/sample_embedding_folder2/0708212.txt @@ -0,0 +1,52 @@ +Ticket Name: Linux: USB 3.0 device tree configuration + +Query Text: +Other Parts Discussed in Thread: TDA2 Tool/software: Linux Hi, We have custom tda2px board and want to enable USB 3.0 in device tree. This is schematic for USB module: I have 5V on VBUS on CN8. Is everything ok with schematic? If everything is ok which changes should I implement in device tree to enable this module? Regards, Suzana Komarcevski + +Responses: +Hi Suzana, One little comment about the schematic - USB2.0 data pins also need an ESD protection. Regards, Stan + +Hi Suzana, Few questions: Looking at the schematics, it has the USB-A 3.0 receptacle. So we assume you are planning to have the USB Host mode functionality only. Is that correct? To comment on the device tree entries, Can you tell us which TI SDK release version are you using/referring. So that we can point you to the correct file to refer? Thanks, Praveen + +Hi Praveen, Yes, you are correct. We are planning to have host mode functionality only. We are using PROCESSOR_SDK_VISION_03_03_00_00. Thanks, Suzana + +Hi Suzana, I am assuming that along with the PROCESSOR_SDK_VISION_03_03_00_00,you are using one of the TI Linux SDKs to run the Linux OS on the A15 core. If this is correct, then the device tree files can be found in the the Linux Kernel path ./arch/arm/boot/dts. Please identify the correct dts files to use for your platform. Please refer the vision sdk release documentation for this information. For USB1 DT entry example: Refer to dra7.dtsi file - Search for the section start with line: omap_dwc3_1: omap_dwc3_1@48880000 { The only change required for your case is: dr_mode = "host"; Thanks, Praveen + +Hi, I made following change in dra76-evm.dts but usb device is not detected: &usb1 { dr_mode = "host"; }; When I plug in usb 2.0 (4GB) this is the output of lsusb and lsblk commands: Do I need to set USB1_DRV_VBUS as GPIO in oreder to get 5V output? Do I need to use extcon driver? Regards, Suzana + +Suzana, In your initial post you said: "I have 5V on VBUS on CN8. ". Did you mean "I don't have..."? + +Stanislav, I have 5V when I change muxmode for USB1_DRV_VBUS to 14. Sorry, my mistake, I did not explain well. + +Suzana, The default muxmode 0 for USB1_DRVVBUS is sufficient to get the VBUS ON. Once the USB1 is configured in host mode, the usb1_drvvbus line is asserted such that it enables the external charge pump/power switch. There is no need to configure it is as GPIO (muxmode 14). In your case, extcon driver is not need. This is only required if there is a need for vbus detect and/or ID detect logic. In the attached schematics we does not see that this is present. Since your need is to have the USB1 is host mode only, this is not necessary. For more detailed undersanding, please refer the "Figure 24-142. SuperSpeed USB Controller Application: USB3.0 DRD" of the TDA2 TRM. Regarding the usb device not getting detected , have you made sure that the clock and power to the USB2 PHY are properly taken care? Can you share the kernel log by running "dmesg"? Thanks, Praveen + +Praveen, I refered to Linux_kernel _path/arch/arm/boot/dts/dra72-evm-common.dtsi and made similar changes in dra76-evm.dts: extcon_usb1: extcon_usb1 { + compatible = "linux,extcon-usb-gpio"; + id-gpio = <&gpio6 12 GPIO_ACTIVE_HIGH>; + }; + +&dra7_pmx_core { + gpio6_pins: gpio6_pins { + pinctrl-single,pins = < + 0x280 (PIN_OUTPUT_PULLUP | MUX_MODE14) + >; + }; +}; + +&gpio6 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&gpio6_pins>; +}; + +&omap_dwc3_1 { + status = "okay"; + extcon = <&extcon_usb1>; +}; + +&usb1 { + dr_mode = "host"; +}; This resolved my issue. From your previous post I conclude that this is the wrong way but it works in my case, so my question is should I leave it like this or not? Thanks, Suzana + +Suzana, Good to know that the issue is resolved. Would like to leave the decision to you if you want to go with this or analyze further why this works. In case, you are happy with the resolution, suggest you to close this thread. Thanks, Praveen + diff --git a/sample_embedding_folder2/0708263.txt b/sample_embedding_folder2/0708263.txt new file mode 100644 index 0000000000000000000000000000000000000000..16bcbf1ad73089da70558b221066835c4908c114 --- /dev/null +++ b/sample_embedding_folder2/0708263.txt @@ -0,0 +1,20 @@ +Ticket Name: TDA2: TDA2SXBTQABCRQ1 + +Query Text: +Part Number: TDA2 We are using SOC TDA2SXBTQABCRQ1 in our ADAS project. Could you please provide AVS voltage (typ, min & Max), current and power dissipation for all voltage rails. Camera Interface: 4 Camera 4XDe-Serializer data format: 1280X800@30fps YUV422 BT.656 format 1XSerializer: LVDS out 1024X768@30fps RGB888 Please find the attached document to know the operating frequency for all the core. + +Responses: +Hi Raja, the attached documents is not visible, can you try to reattach it? Regards, Yordan + +TDA2SXBTQABCRQ1.pdf Hi Yordan, Please check now. + +Hi Raja, they are visible now. I have pinged power experts to comment. Regards, Yordan + +Hi Yordan, Thanks. Actually this information is blocking the PI simulation. If possible please provide ASAP. + +Raju, For the AVS values for the different OPPs: The AVS voltages are device-dependent, voltage domain-dependent, and OPP-dependent. They must be read from the STD_FUSE_OPP. For information about STD_FUSE_OPP Registers address, please refer to Control Module Section of the TRM. The power supply should be adjustable over the following ranges for each required OPP: – OPP_NOM for MPU: 0.85 V - 1.15 V – OPP_NOM for CORE and Others: 0.85 V - 1.15 V – OPP_OD: 0.885 V - 1.15 V – OPP_HIGH: 0.95 V - 1.25 V The AVS voltages will be within the above specified ranges For the power dissipation based on the usecase, can you please post this question with your TI contact? We can help you evaluate the power dissipation through the private forums. Thanks and Regards, Piyali + +Hi Piyali, Thanks. I will request power dissipation to our TI contact. I need exact min, Typ and Max voltage for all the cores. Is it possible to provide these values If I share STD_FUSE_OPP Registers settings? Kind Regards, Raja + +Hi Raja, The min and max is as per the data manual information I had shared in the earlier post. I see from the picture of the table you are looking at OPP_HIGH configuration. The min for all rails for OPP_HIGH is 0.95 V, the max for OPP_HIGH is 1.25 V. The distribution is usually like a gaussian bell curve, so the "typ" value is concentrated near the mid point of these two values. Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0708303.txt b/sample_embedding_folder2/0708303.txt new file mode 100644 index 0000000000000000000000000000000000000000..a9a4e2814d7e7cf5a2d509291d1fb63dc9f64aa5 --- /dev/null +++ b/sample_embedding_folder2/0708303.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2: Error in building TestAppOmap4 from ivahd_h264enc_02_00_09_01_production package + +Query Text: +Part Number: TDA2 Hi I am trying to build the TestAppOmap4 from ivahd_h264enc_02_00_09_01_production package but i am getting the following error: C:\PROCESSOR_SDK_VISION_03_03_00_00\ti_components\codecs\ivahd_h264enc_02_00_09_01_production\packages\ti\sdo\codecs\h264enc\app\build\TestAppOmap4\make>gmake -s deps Scaning dependencies... process_begin: CreateProcess(NULL, del /f libs.dep, ...) failed. make (e=2): The system cannot find the file specified. Some_path/Local/Temp/make10828-1.sh: 1: Syntax error: "(" unexpected gmake: *** [deps] Error 2 I am following the instructions as mentioned in H264_Encoder_HDVICP2_UserGuide.pdf for build steps. Please help in resolving the issue. Regards Mayank + +Responses: +Hi Mayank, I Hope all the environmental variable setting done as mentioned in ReleaseNotes. from path : \h264enc\app\build\TestAppOmap4\make gmake -s -k clean gmake -s -k deps gmake -s -k all -> This will build the TestAppEncoder.out @ ..\h264enc\app\build\TestAppOmap4\out I have verified building this at my setup. + +Hi Prasanth, Thanks for your reply. After executing the commands you have listed in your mail i got the following output: C:\PROCESSOR_SDK_VISION_03_03_00_00\ti_components\codecs\ivahd_h264enc_02_00_09_01_production\packages\ti\sdo\codecs\h264enc\app\build\TestAppOmap4\make>gmake -s -k clean process_begin: CreateProcess(NULL, del /f alg_control.PP alg_create.PP alg_malloc.PP buffermanager.PP h264enc_ti_config.PP h264enc.PP H264EncRmanConfig.PP H264EncTest.PP h264enc_ti_trace.PP t libs.dep, ...) failed. make (e=2): The system cannot find the file specified. C:\PROCESSOR_SDK_VISION_03_03_00_00\ti_components\codecs\ivahd_h264enc_02_00_09_01_production\packages\ti\sdo\codecs\h264enc\app\build\TestAppOmap4\make>gmake -s -k deps Scaning dependencies... C:/Users/magarwa1/AppData/Local/Temp/make2336-1.sh: 1: Syntax error: "(" unexpected gmake: *** [deps] Error 2 C:\PROCESSOR_SDK_VISION_03_03_00_00\ti_components\codecs\ivahd_h264enc_02_00_09_01_production\packages\ti\sdo\codecs\h264enc\app\build\TestAppOmap4\make>gmake -s -k all Compiling C:ticgtoolsbinarmcl: not found gmake: *** [..\..\..\..\app\Build\TestAppOMAP4\Obj\alg_control.obj] Error 127 Compiling C:ticgtoolsbinarmcl: not found gmake: *** [..\..\..\..\app\Build\TestAppOMAP4\Obj\alg_create.obj] Error 127 Compiling C:ticgtoolsbinarmcl: not found gmake: *** [..\..\..\..\app\Build\TestAppOMAP4\Obj\alg_malloc.obj] Error 127 Compiling C:ticgtoolsbinarmcl: not found gmake: *** [..\..\..\..\app\Build\TestAppOMAP4\Obj\buffermanager.obj] Error 127 Compiling C:ticgtoolsbinarmcl: not found gmake: *** [..\..\..\..\app\Build\TestAppOMAP4\Obj\h264enc_ti_config.obj] Error 127 Compiling C:ticgtoolsbinarmcl: not found gmake: *** [..\..\..\..\app\Build\TestAppOMAP4\Obj\h264enc.obj] Error 127 Compiling C:ticgtoolsbinarmcl: not found gmake: *** [..\..\..\..\app\Build\TestAppOMAP4\Obj\H264EncRmanConfig.obj] Error 127 Compiling C:ticgtoolsbinarmcl: not found gmake: *** [..\..\..\..\app\Build\TestAppOMAP4\Obj\H264EncTest.obj] Error 127 Compiling C:ticgtoolsbinarmcl: not found gmake: *** [..\..\..\..\app\Build\TestAppOMAP4\Obj\h264enc_ti_trace.obj] Error 127 Compiling C:ticgtoolsbinarmcl: not found gmake: *** [..\..\..\..\app\Build\TestAppOMAP4\Obj\InterruptVecTable.obj] Error 127 Compiling C:ticgtoolsbinarmcl: not found gmake: *** [..\..\..\..\app\Build\TestAppOMAP4\Obj\h264e_host_scalingmatrix.obj] Error 127 gmake: Target `all' not remade because of errors. C:\PROCESSOR_SDK_VISION_03_03_00_00\ti_components\codecs\ivahd_h264enc_02_00_09_01_production\packages\ti\sdo\codecs\h264enc\app\build\TestAppOmap4\make> Regards Mayank + +Hi Mayank, I will let Prashant look into this further. However, my two cents is that the "/" does not seem to be taking effect in your case. Notice "C:ticgtoolsbinarmcl" Thanks and Regards, Piyali + +Hi Mayank, Please check the environmental variables(said in the release notes) are set correct and the paths set have taken effect. + +Hi, Thanks Prashanth and Piyali.I am able to build now. Regards Mayank + diff --git a/sample_embedding_folder2/0708306.txt b/sample_embedding_folder2/0708306.txt new file mode 100644 index 0000000000000000000000000000000000000000..8c8680b307b434f1bd77b0b4e23997aa586035da --- /dev/null +++ b/sample_embedding_folder2/0708306.txt @@ -0,0 +1,20 @@ +Ticket Name: Linux/TDA2: #pragma DATA_SECTION (L2SRAM,"DSP1_L2_SRAM_ADDR"); + +Query Text: +Part Number: TDA2 Tool/software: Linux i add my algorithm code in (vision_sdk\sample_app\src\rtos\alg_plugins\framecopy\frameCopyAlgoLocalDma.c ) ,after copy do my algorithm. but int BUFFER_SIZE = (1024 * 1024 * 20 * sizeof(char)); failed canot get buffer. another problem is #pragma DATA_SECTION (L2SRAM,"DSP1_L2_SRAM_ADDR"); warning: creating output section "DSP1_L2_SRAM_ADDR" without a SECTIONS specification Does this warning need to be ignored? + +Responses: +Hi, Please refer to the below threads to get more idea about #pragma DATA_SECTION e2e.ti.com/.../277661 e2e.ti.com/.../773554 Regards, Anuj + +Hi: Anuj then how about int BUFFER_SIZE = (1024 * 1024 * 20 * sizeof(char)); //3M is OK g_pBuffer = (unsigned char *)malloc(BUFFER_SIZE); i try to get buffer in vision_sdk\sample_app\src\rtos\alg_plugins\framecopy\frameCopyAlgoLocalDma.c Alg_FrameCopyProcess function but failed! cloud you give me some advice? BESTWISHES! shuai + +Hi, You are trying to allocate a large memory using malloc which is not correct. Please use Utils_memAlloc() API to allocate large buffers. Regards, Anuj + +Hi Anuj in ccs this is my CMD , #pragma DATA_SECTION (L2SRAM,".L2SramSect"); is successful! -stack 0x4000 -heap 0x2000000 MEMORY { L1P_SRAM : origin = 0x00E00000, len = 0x8000 L1D_SRAM : origin = 0x00F00000, len = 0x4000 /* 16 KB SRAM */ L1D_CACHE : origin = 0x00F04000, len = 0x4000 /* 16 KB cache */ // L1D_CACHE : origin = 0x00F00000, len = 0x8000 /* 16 KB cache */ L2_SRAM : origin = 0x00800000, len = 0x48000 /* SARAM in L2, = 256 + 32 - 128 = 160 KB*/ // L2_CACHE : origin = 0x00828000, len = 0x20000 /* Cache for L2, which is configured as 128 KB*/ DSP2_L2_SRAM : origin = 0x40800000, len = 0x48000 SL2_SRAM : origin = 0x5B000000, len = 0x40000 EXT_MEM_CACHE : origin = 0x80000000, len = 0x06000000 /* DSP Used cachable area */ EXT_MEM_heap : origin = 0x86000000, len = 0x02000000 /* DSP Used cachable area */ } SECTIONS { vectors :> EXT_MEM_CACHE .cio :> EXT_MEM_CACHE .bss :> EXT_MEM_CACHE ////usually reserves space for uninitialized variables .text :> EXT_MEM_CACHE //////contains executable code .cinit :> EXT_MEM_CACHE .const :> EXT_MEM_CACHE .far :> EXT_MEM_CACHE .fardata :> EXT_MEM_CACHE /////usually contains initialized data .neardata :> EXT_MEM_CACHE ///////usually contains initialized data .rodata :> EXT_MEM_CACHE .sysmem :> EXT_MEM_CACHE .switch :> EXT_MEM_CACHE .L2SramSect :> L2_SRAM .stack :> L2_SRAM .heap :> EXT_MEM_heap } but in the SDK #pragma DATA_SECTION(L2SRAM, ".bss:taskStackSection") it have some problem ,,follow is the log [HOST] [DSP1 ] 91.979930 s: wordWidth2: DMA: height2 CH (TCC) = 192 (576) [HOST] [DSP1 ] 91.980021 s: L2SRAM: DMA: L2TMP CH (TCC) = a16646e0 (a85.545478] omap-iommu 40d01000.mmu: iommu fault: da 0x20202020 flags 0x0 [ 85.622270] remoteproc1: crash detected in 40800000.dsp: type mmufault [ 85.628923] omap-iommu 40d01000.mmu: 40d01000.mmu: errs:0x00000002 da:0x20202020 pgd:0xed514808 *pgd:px00000000 616c6e0) [ 85.639260] remoteproc1: handling crash #1 in 40800000.dsp (TCC) = 84600000 (84600000) [HOST] [DSP1 ] 92.229488 s: ppu8Plane[0]: DMA: height4 C (TCC) = 8448b000 (576) [HOST] [DSP1 ] 92.229518 s: wordWidth42: DMA: height42 CH (TCC) = 192 (576) [ 85.653811] remoteproc1: recovering 40800000.dsp [ 85.681217] omap_hwmod: timer5: _wait_target_disable failed [ HOST] [HOST ] 92.359635 s: SYSTEM: IPC: [DSP1] Notify recfrom failed (Link has been severed, 67) !!! [HOST] [HOST ] 92.359665 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!! [HOST] [HOST ] 92.359665 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!! [HOST] [HOST ] 92.359665 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!! i dont know what is problem mean! BESTWISHES! SHUAI + +Hi Anuj get buf is like this? g_pBuffer=Utils_memAlloc(UTILS_HEAPID_DDR_CACHED_LOCAL,BUFFER_SIZE,32); BESTWISHES shuai + +Hi Anuj g_pBuffer=Utils_memAlloc(UTILS_HEAPID_DDR_CACHED_LOCAL,BUFFER_SIZE,32); have ERROR out of memory: handle=0xa1561ab0, size=20971520 BESTWISHES shuai + +Hi Shuai, Please try this g_pBuffer=Utils_memAlloc(UTILS_HEAPID_DDR_CACHED_SR,BUFFER_SIZE,32); And in the below line your buffer size is 20M not 3M int BUFFER_SIZE = (1024 * 1024 * 20 * sizeof(char)); //3M is OK Please replace the 20 with 3. Regards, Anuj + diff --git a/sample_embedding_folder2/0708316.txt b/sample_embedding_folder2/0708316.txt new file mode 100644 index 0000000000000000000000000000000000000000..aa46048fbace42dfffcaf0db5eb51d9fb98e2656 --- /dev/null +++ b/sample_embedding_folder2/0708316.txt @@ -0,0 +1,20 @@ +Ticket Name: Linux/TDA2: cannot print inf + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: SYSBIOS Tool/software: Linux i add my algorithm code in (vision_sdk\sample_app\src\rtos\alg_plugins\mycode.c ) make is pass , in frameCopyAlgoLocalDma.c i add Vps_printf(" wordWidth: DMA: height CH (TCC) = %d (%d)\n", pAlgHandle->frameCopyObj.maxWidth,pAlgHandle->frameCopyObj.maxHeight ) is done, but in mycode.c i use Vps_printf never print anything! + +Responses: +Please add a sleep after the print and see if it appears Regards Chetan.M + +Hi Chetan.M but sleep is undifined, Regards shuai + +Hi, Use Task_sleep() Regards, Anuj + +Hi: Anuj I use Task_sleep(),but undefined symbol Task_sleep , i have add #include #include Regards, shuai + +Hi, I did not understand your question. if you are getting any compilation error then please take a refrence of a file where TAsk_sleep has been used. Regards, Anuj + +Hi:Anuj Task_sleep() is undefined , What header should be included? Regards, Shuai + +#include Regards, Anuj + diff --git a/sample_embedding_folder2/0708405.txt b/sample_embedding_folder2/0708405.txt new file mode 100644 index 0000000000000000000000000000000000000000..c304c2808a5a866cafdc7d709dad9915f2abf9b1 --- /dev/null +++ b/sample_embedding_folder2/0708405.txt @@ -0,0 +1,18 @@ +Ticket Name: RTOS/TDA2: TDA2xx rvp: Null source + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Dear All, We are working on TI TDA2X (Both RVP and EVM). So far: 1. Able to run "apps" use cases. 2. Able to run "sample_app" config use case. i.e The "sample_apps" i.e. from file of /vision_sdk/sample_app/src/rtos/* has "NullSource -> Alg_FrameCopy (DSP1) ->Display" We are able to see the "TI logo" in the center of the HDMI output display. Question: Where is the nullsource center "TI logo" frame buffer or source buffer? We tried to look into the links of nullsrc i.e. links_fw/src/rtos/links_common/nullSrc/nullSrcLink_tsk.c but not much progress could be made. Need your support in explaining the "NullSource" input buffer and where is the buffer filled for the first time. Knowing this would help us to give our own predefined test scenario buffer data. Regards, KK + +Responses: +Ti Logo is included as a static array from the following header file #include Regards Chetan.M + +Hello Chetan, The information was helpful, I see that : null_src_display/chains_nullSrcDisplay.c 223 static Void fillSrcBuf(chains_nullSrcDisplayObj *pObj) 224 { ... 236 status = System_linkControl( 237 pObj->NullSourceLinkID, 238 NULL_SRC_LINK_CMD_GET_BUF_INFO, 239 &getBufInfoPrm, 240 sizeof(NullSrcLink_GetBufInfoParams), //==> where is this destination buf created? 241 TRUE); 244 for (bufCnt = 0;bufCnt < getBufInfoPrm.numBuf;bufCnt ++) 245 { 262 offset = (logoStartY * NULLSRC_OUT_WIDTH) + logoStartX; 263 dstAddr = (UInt8*)((UInt32)pVideoFrame->bufAddr[0] + offset); //==>destination buffer address. 264 srcAddr = tiLogo_640_224; //==> This is where it is used as a source .. 283 Cache_wb(); //==> What is the role of this? 294 } 295 } Thanks, KK + +Hi KK, Please find answers below: Que 1 : where is this destination buf created? destination buffers has been created by the Null_src link at the create time. In line no 240 its a size of buffer information structures. by calling the api at line 236 with the given params its asking the link about how many no of buffers has been created and information of all buffers. Que 2 : destination buffer address. this is the destination address from where the Ti logo will start. Que 3 : This is where it is used as a source Yes that is the address of source buffer. Que 4 : What is the role of this? this api is called to write back the cache data on the ddr so that it will be shown to other cores as well. Regards, Anuj + +Thanks Anuj, The information was helpful and understood Q2 , Q3, Q4. Que 1 : where is this destination buf created? "its asking the link about how many no of buffers has been created and information of all buffers." Q 1.1. Which source file should we refer to understand the NullSource link. Q1.2. If design needs to change the Number of buffer and the size of the buffer, where/what is the procedure? Thanks for the support, Regards, KK + +Hi, Q 1.1. Which source file should we refer to understand the NullSource link vision_sdk\links_fw\src\rtos\links_common\nullSrc\ vision_sdk\links_fw\include\link_api\nullSrcLink.h Q1.2. If design needs to change the Number of buffer and the size of the buffer, where/what is the procedure This things you need to change in usecase file (vision_sdk\apps\src\rtos\usecases\null_src_display\chains_nullSrcDisplay.c) check the implemetation of this function chains_nullSrcDisplay_SetAppPrms() Please go through the below doc for more information vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_DevelopmentGuide.pdf Regards, Anuj + +Hello Anuj, Information about the SetAppPrms and document is helpful. I will read through the document and will get back if still there are some questions. Thanks, KK + diff --git a/sample_embedding_folder2/0708594.txt b/sample_embedding_folder2/0708594.txt new file mode 100644 index 0000000000000000000000000000000000000000..99226d50910bede4a40c097fc18d21a8adeee274 --- /dev/null +++ b/sample_embedding_folder2/0708594.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: Running a model on multiple cores + +Query Text: +Part Number: TDA2 Need more clarification on this: From Previous Conversation: Yes, we can do that by assigning unique layersGroupId for each of the cores, let's say 1 for EVE1, 2 for EVE2, 3 for EVE3 and 4 for DSP. Note that this layersGroupIds 1 for EVE and 2 for DSP is just an example, you can assign any unique layersGroupId and same mapping should used in running inference. Query: How to map it? Where i need to define it 1 for EVE1, 2 for EVE2, 3 for EVE3, 4 for EVE4, 5 for DSP1 and 6 for DSP2. Regards, Sagar + +Responses: +Hi Sagar, We had explained about this in the user guide of TIDL latest release (REL.TIDL.01.01.01.00). Refer to FAQ 21 and 22 in the user guide, where the example considered only two cores but it can be applicable to any number of cores. Thanks, Praveen + +No. It is not explained in the UserGuide, not the case which i am referring. I am quoting your reply from previous conversation https://e2e.ti.com/support/arm/automotive_processors/f/1021/t/685827 : "Yes, we can do that by assigning unique layersGroupId for each of the cores, let's say 1 for EVE1, 2 for EVE2, 3 for EVE3 and 4 for DSP. Note that this layersGroupIds 1 for EVE and 2 for DSP is just an example, you can assign any unique layersGroupId and same mapping should used in running inference." Please Consider following Example (first few layers on EVE1 and next few layers on EVE2 and last layer on DSP1): Layer 1 : EVE1 Layer 2: EVE1 Layer 3: EVE2 Layer 4: EVE2 Layer 5: DSP So, while importing this model I will update import config file layersGroupId = 1 1 2 2 4 Is this right ? How 4 will be identified as to use DSP. Because, in the current version of TIDL layersGroupId 1 means EVE and layersGroupId 2 means DSP. Regards, Sagar + +>> So, while importing this model I will update import config file >> layersGroupId = 1 1 2 2 4 >> Is this right ? Yes. This is right. >> How 4 will be identified as to use DSP. Because, in the current version of TIDL layersGroupId 1 means EVE and layersGroupId 2 means DSP This is not correct, that is just an example. We need to mention in infer config as below to run on EVE1, EVE2 and DSP to run above configuration, 1. Set layersGroupId = 1, runFullNet = 0 in the infer config file for EVE1, this will execute only layer1 and layer2 on this core. 2. Set layersGroupId = 2, runFullNet = 0 in the infer config file for EVE2, this will execute only layer3 and layer4 on this core. 3. Set layersGroupId = 4, runFullNet = 0 in the infer config file for DSP, this will execute only layer5 on this core. So, this layersGroupId is just a number to map between import and inference. So, number used in import for specific layers will run together on that specified core. Thanks, Praveen + diff --git a/sample_embedding_folder2/0708658.txt b/sample_embedding_folder2/0708658.txt new file mode 100644 index 0000000000000000000000000000000000000000..3a6ba84e33ae7a5dace85df5f4aebe69aa3dfd59 --- /dev/null +++ b/sample_embedding_folder2/0708658.txt @@ -0,0 +1,26 @@ +Ticket Name: RTOS/TDA2: Bit-stream input files for running NullSrc, Decode and Display UC of VSDK Linux + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hello, We are using the standard TDA2 RVP image and execute the network use cases. We are able to capture and stream the RAW/YUV and MJPEG format to TDA2 RVP board. Now we would like to execute H246 format. Found the related ticket and H246 binary "streams_1920x1080/1920x1080_00.h264" at "e2e.ti.com/.../693296" We are able to see the video using VLC with H246 demux. On TDA2 RVP: Selected: " 2: Network RX + Decode + Display (TDA2x ONLY)" On PC tool side exectued command: ./network_tx.out --host_ip 192.168.1.101 --target_ip 192.168.1.201 --port 29171 --verbose --files ./streams_1920x1080/1920x1080_00.h264 We are getting following errors: [IPU1-0] 407.492954 s: DECLINK:ERROR in Declink_jpegDecodeFrame.Status[-1] [IPU1-0] 407.507350 s: DECODE: ERROR: ALGPROCESS FAILED (status=0xffffffff) !!! [IPU1-0] 407.507472 s: DECLINK:ERROR in Declink_jpegDecodeFrame.Status[-1] [IPU1-0] 407.569389 s: DECODE: ERROR: ALGPROCESS FAILED (status=0xffffffff) !!! [IPU1-0] 407.569541 s: DECLINK:ERROR in Declink_jpegDecodeFrame.Status[-1] [IPU1-0] 407.588696 s: DECODE: ERROR: ALGPROCESS FAILED (status=0xffffffff) Please let us know how to execute the H246 data steaming. Thanks, KK + +Responses: +KK The streams that you used is meant for below Vision SDK Linux UC 5: NullSrc + Decode + Display (Only 1920x1080 H264/MJPEG Video Input Bit-Stream Supported) for Bios based file read from SD card or Network, you need the .hdr file in binary format. so I would suggest you to first try 4: 1CH VIP Capture + Encode + Network TX (TDA2x ONLY) get the bit stream files stored on PC, use this files to run 2: Network RX + Decode + Display (TDA2x ONLY) regards, Shiju + +Hello Shiju, Thanks for the information, As mentioned, I am able to work with YUV and MJPEG. Out test trials can be found in ticket: e2e.ti.com/.../707133 Is H246 support available in BIOS or only in Linux? Regards, KK + +Hi KK H264 is available on both VSDK Bios and Linux regards, Shiju + +Hello Shiju, Thanks for the information, Could you provide steps to test the H246 (receive and transmit) on BIOS. Thanks, KK + +Hi KK please refer VisionSDK_UserGuide_NetworkTools.pdf regards, Shiju + +Hello Shiju, We read through the doc vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_UserGuide_NetworkTools.pdf We have info about RAW/YUV/MJPEG, which we have tested okay, We were not able to find H246 (Tx and Rx)details, let us know the section or the procedure. Thanks, KK + +KK please refer the UC under \vision_sdk\apps\src\rtos\usecases\network_rx_tx how run is explained in VisionSDK_UserGuide_NetworkTools.pdf regards, Shiju + +Hello Shiju, UC tried under \vision_sdk\apps\src\rtos\usecases\network_rx_tx are: 1. networkRxDisplay 2. networkRxDecDisplay 3. networkTxCapture 4. networkTxEncCapture Dec and Enc uses MJPEG format. All this are working okay, please refer to link : e2e.ti.com/.../707133 We did not find H246 in doc of VisionSDK_UserGuide_NetworkTools.pdf. Could you please guide us Thanks, KK + +since the discussion is in progress, it is not yet resolved. + +Hi KK You are right the Network UC 2. networkRxDecDisplay only support MJPEG decode as of today. But the FW support both H264 and MJPEG, its only a matter of modifying the UC to use H264. Please modify 2. networkRxDecDisplay UC to use H264 instead of MJPEG Please refer another UC \vision_sdk\apps\src\rtos\usecases\vip_single_cam_view_encdec, file name" chains_vipSingleCam_EncDec_Display.c to know how you can configure H264 code. regards, Shiju + diff --git a/sample_embedding_folder2/0708705.txt b/sample_embedding_folder2/0708705.txt new file mode 100644 index 0000000000000000000000000000000000000000..c88c0e81305017721c2dc270411c5620e733c554 --- /dev/null +++ b/sample_embedding_folder2/0708705.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2EVM5777: TDA2EVM5777 EVM_3V3_SD + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hello Why the R823 in TDA2 EVM is no-pop? Why the TPD2E001DRL need power supply? And why shouldn't R823 connect to EVM_3V3 for continue power for card detection function but EVM_3V3_SD? Thank you + +Responses: +Hi, I'm not aware of the exact reason, my presumption is that INSERT pins being a card-present-contact away from human fingers would not need ESD protection. See more about SD card ESD here: Regards, Stan + diff --git a/sample_embedding_folder2/0708850.txt b/sample_embedding_folder2/0708850.txt new file mode 100644 index 0000000000000000000000000000000000000000..374a0803e007991d17353e2a6e286ef225946df8 --- /dev/null +++ b/sample_embedding_folder2/0708850.txt @@ -0,0 +1,16 @@ +Ticket Name: Compiler/TDA2PXEVM: Missing binary file for CortexA15_0 + +Query Text: +Part Number: TDA2PXEVM Tool/software: TI C/C++ Compiler Hello TI Applications Engineers, I am currently developing on the TDA2PXEVM with fusion application board using the vision SDK, and attempting to interface with the DS90UB953EVM. By loading the prebuilt binaries for version 3.04 of the SDK onto an SD card, I can reach the demo usecases menu via serial terminal. However, when I try to run Single Camera Usecases -> 1 CH UIP Capture + Display to talk to the image sensor on the DS90UB953EVM, I get the error "i2c4 transfer to slave address 0x30 failed". This is after setting up the DS90UB953EVM according to its user guide. I tried modifying the slave ID and slave ID alias registers on the DS90UB953EVM via Analog Launchpad, but that didn't seem to help. My thought was that the deserializer i2c addressing registers on the fusion application board need to be configured to match those of the serializer on the DS90UB953EVM. I attempted to gain access to these registers by loading version 3.03 of the SDK (version 3.04 failed to compile, I kept getting "system cannot find file specified" errors) from CCS (version 8.1.0) rather than booting from SD card. Following the user guide, I was able to load all the specified binaries onto their respective cores, except for "vision_sdk_a15_0_debug.xa15fg", which is supposed to go on CortexA15_0, but doesn't show up when I search for it in windows explorer. Any help with these issues would be greatly appreciated. Thanks, Richard + +Responses: +Hi Richard, Which version of vision sdk are you trying to build? Which config have you selected in Rules.make for building it for TDA2Px? Can you check in cfg.mk file whether you A15 core is included or not? Have you made any changes in vision sdk? if yes.then can you brief all those changes. Regards, Anuj + +Hi Anuj, I am trying to build version 3.03 of the vision SDK. I am using the config "tda2xx_evm_bios_all". Yes, I have included the A15 core in the cfg.mk file. I have not made any changes in vision sdk. Thanks, Richard + +Hi Richard, Can you check if you have vision_sdk_a15_0_release.xa15fg in the binary folder. Regards, Rishabh + +Hi Rishabh, I do have that file in the binary folder, I will try loading it alongside the others. Thanks, Richard + +Hi Richard, I would suggest you to build Vision SDK in debug mode in order to debug as it will have all symbols and compiler would not have optimized the code. You should set PROFILE in vision_sdk\apps\configs\tda2xx_evm_bios_all\cfg.mk to debug for this. Regards, Rishabh + diff --git a/sample_embedding_folder2/0708924.txt b/sample_embedding_folder2/0708924.txt new file mode 100644 index 0000000000000000000000000000000000000000..53de8a4fc50a197725b735b17bd59fe834f98a6c --- /dev/null +++ b/sample_embedding_folder2/0708924.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2: PROCESSOR_SDK_VISION_03_03_00_00 when i do : make linux , it ouucr /autorules_footer_cfg.mk:69: *** CODEGEN_PATH_M4 does not exist! + +Query Text: +Part Number: TDA2 Tool/software: Linux Afterr i install the PROCESSOR as the VisionSDK_Linux_UserGuide.pdf write , I find that i don't have the directory : $INSTALL_DIR/ti_components/codecs . and when i build as chapter 3.1 make linux ,it oucur this error blow : /home/fee/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/apps/configs/autorules_footer_cfg.mk:69: *** CODEGEN_PATH_M4 does not exist! (/home/fee/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/cg_tools/linux/ti-cgt-arm_16.9.2.LTS). Stop. thanks! + +Responses: +Hi Jacinda, It looks like some issue during installation. Can you please download the installer again and retry. Regards, Rishabh + +Hi Jacinda, Can we close the thread if this issue is resolved. Regards, Rishabh + diff --git a/sample_embedding_folder2/0708990.txt b/sample_embedding_folder2/0708990.txt new file mode 100644 index 0000000000000000000000000000000000000000..7f7788542fb80fc9d5c2a0bc066c8240477afbc0 --- /dev/null +++ b/sample_embedding_folder2/0708990.txt @@ -0,0 +1,38 @@ +Ticket Name: Compiler/TDA2: Open the Demo project onto CCS + +Query Text: +Part Number: TDA2 Tool/software: TI C/C++ Compiler Dear TI Can you advise how can i open the demo project file which is generated by you onto the CCS IDE platform + +Responses: +Hello, Which demo project are you looking at? If it's a binary, you can create a target configuration, connect to a core and load the binary to run it on. thanks Alex + +Hi Alex I sorry to say still dont understand your reply as i am new in this SOC area. Could you explain further. As for which demo project, there is no specify i am trying to link the function together to understand the codes. So i have where to modify on the codes to develop my own project. + +Ok, are you going to be using the Vision SDK? Can you try some Vision SDK demos? You can download it from here www.ti.com/.../PROCESSOR-SDK-TDAX, after you install it there are gettings started gides in vision_sdk\docs\UserGuides. Perhaps it will help you boost your understanding of the code and demos. Please try it and let us know. Thanks, Alex + +Hello Willson Toh , We have not heard back from you on this one. I assume you were able to move ahead. Please let us know if otherwise. The thread would be closed automatically if there is no reply. Thanks, Alex + +Dear Alex We would like to know which is the 1st file that TDA2 execute upon power up as we are trying to remove some of the un-used component for our project to make the board smaller. + +Willson Toh59 said: We would like to know which is the 1st file that TDA2 execute upon power up I am not sure about that, we will bring in more experts for help on this. They will comment here directly soon. thanks Alex + +Hi Wilson, As such there is no file that is executed. When the TDA device is powered up first code that is executed is RBL. RBL (present on SoC itself) will initialize the device depending on the SYSBOOT. RBL will then load the SBL depending on boot mode. In case you load using CCS and there are gel files in the target configuration then gel files will initialize SoC. Regards, Rishabh + +Dear Rishabh I would like to know how should we go about which components we are able to remove to implement for our project development. + +Hi Wilson, It is not very clear to me what you want to do. You can remove all SW components except RBL. If you set the SYSBOOT to one of the reserved boot modes, SBL won't be loaded. Please see Initialization chapter from the TRM. Regards, Rishabh + +Dear Rishabh, My colleague is now working on a new hardware based on TDA2x evaluation kit design. You mentioned that RBL (present on SoC) will initialize the device depending on the SYSBOOT. For proper boot up of our new hardware, do we need to do any programming on this SoC? Can we safely assume that this part of first code for SoC is already programmed by TI when we purchase the SoC component from TI? + +Hi, RBL is already present inside the SoC. Can you please read chapter Initialization from the TRM. Regards, Rishabh + +Dear Rishabh, Where to find the initialization chapter from the TRM? + +Hi, It is chapter 29 from TDA2 TRM. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +noted. thanks + +Hi, Kindly mark the post that answers your query as "This resolved my issue" and close the thread. Regards, Rishabh + diff --git a/sample_embedding_folder2/0709049.txt b/sample_embedding_folder2/0709049.txt new file mode 100644 index 0000000000000000000000000000000000000000..22dc05398b9af83462f74a7ffcf9545754a4e77f --- /dev/null +++ b/sample_embedding_folder2/0709049.txt @@ -0,0 +1,18 @@ +Ticket Name: Compiler/TDA2: TDA2 + +Query Text: +Part Number: TDA2 Tool/software: TI C/C++ Compiler Hi, I made new usecase one. But, the log shows below. [HOST] [EVE1 ] 77.188769 s: IPC_IN_0 : Create in progress !!! [HOST] [EVE1 ] 77.189867 s: IPC_IN_0 : Create Done !!! [HOST] [EVE1 ] 77.190752 s: ALG: ERROR: No alg create function specified (algId = 6) !!! [HOST] [IPU2 ] 77.187915 s: IPC_OUT_0 : Create in progress !!! [HOST] [IPU2 ] 77.188251 s: IPC_OUT_0 : Create Done !!! The algID 6 is census algorithm. In cfg.mk, I added ALG_census = yes. So, In App_init(), AlgorithmLink_census_initPlugin() will be called. What is problem? Thanks, Best regards, Heechang + +Responses: +Hi Heechang, Please use the below command to check whether your algorithm is getting build or not? make showconfig Please follow the below doc to know how to build or integrate an algorithm link. vision_sdk\docs\FeatureSpecificUserGuides (section 4) + +Hi Anuj >make showconfig ....... ....... # Alg plugins included in build, # ALG_autocalibration ALG_census ALG_disparityhamdist ALG_dmaSwMs ALG_framecopy ALG_remapmerge ALG_sceneobstruction ALG_stereo_postprocessing ALG_surroundview ALG_iss_aewb # # Use-cases included in build, # UC_iss_capture_isp_simcop_display UC_srv_calibration UC_iss_multi_capture_isp_simcop_stereo UC_lvds_vip_multi_cam_3d_srv UC_csi2Cal_multi_cam_3d_srv UC_csi2Cal_multi_cam_view UC_lvds_vip_multi_cam_view_sgx_display UC_vip_single_cam_connectorLinksA15_sgx_display UC_vip_single_cam_enc_dec_sgx_display UC_vip_single_cam_framecopy_sgx_display UC_vip_single_cam_framecopyEve_sgx_display UC_vip_single_cam_sgx_display UC_iss_multi_cam_isp_sgx_3d_srv_display UC_iss_multi_cam_isp_sgx_2mp_3d_srv UC_iss_multi_cam_isp_sgx_2mp_3d_srv_adaptive Algorithms is getting build(ALG_census) and my use-case is getting build too. The status return value is -7 when the census algorithm link is created. And, the census algorithm parameters are below. [HOST] [HOST ] 126.605319 s: imDim->disparityInputImageWidth:720, imDim->disparityInputImageHeight:376 [HOST] [HOST ] 126.605319 s: imDim->disparityInputLeftImageStartX:68, imDim->disparityInputLeftImageStartY:5 [HOST] [HOST ] 126.605319 s: imDim->disparityInputRightImageStartX:5, imDim->disparityInputRightImageStartY:5 [HOST] [HOST ] 126.605349 s: imDim->censusOutputRoiWidth:720, imDim->censusOutputRoiHeight:376 [HOST] [HOST ] 126.605349 s: imDim->censusInputImageWidth:800, imDim->censusInputImageHeight:384 [HOST] [HOST ] 126.605349 s: imDim->censusInputImageStartX:4, imDim->censusInputImageStartY:4 [HOST] [HOST ] 126.605349 s: imDim->remapImageWidth:800, imDim->remapImageHeight:384 [HOST] [HOST ] 126.605349 s: imDim->origRoiStartX:72, imDim->origRoiStartY:9 Thanks, Best regards, Heechang + +Hi, This error will come when it do not find the create function of the algorithm. Can you make sure by adding some logs inside AlgorithmLink_census_initPlugin() whether the create function is null or not? Please make sure you have added the algorithm as yes in usecase cfg.mk Regards, Anuj + +Hi, I cannot see log though I inserted the print log in App_init(). I have a question. The Census Algorithm run on EVE. In case of A15(Linux) <-> IPU(BIOS) <->EVE(BIOS), should I modify makefile for this case(using EVE and linux build)? Thanks, Best regards, Heechang + +Hi, To run linux on A15 please follow the below doc vision_sdk\docs\Linux\VisionSDK_Linux_UserGuide.pdf And please add log inside AlgorithmLink_census_initPlugin() to verify whether create is called or not. Regards, Anuj + +Hi, I resolved this issue by uploading EVE firmware which is modified. Thanks, Best regards, Heechang + diff --git a/sample_embedding_folder2/0709062.txt b/sample_embedding_folder2/0709062.txt new file mode 100644 index 0000000000000000000000000000000000000000..cc7092ec96080561557a28b45818b10022f30ad6 --- /dev/null +++ b/sample_embedding_folder2/0709062.txt @@ -0,0 +1,10 @@ +Ticket Name: RTOS/TDA2: How to capture image and record video + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Using TDA2x with TI-RTOS, we can get live hdmi output. May I know 1) How to capture an image to sdcard? 2) How to capture an video to sdcard? Thank you very much. + +Responses: +Hi, You can use a null link in your usecase to dump the video into your sd card. Please refer to null_src_display usecase. In images what you want to dump? Encoded frame or a raw yuv frame? Regards, Anuj + +Hi, Are you able to dump the video. If yes then please close the thread. Regards, Anuj + diff --git a/sample_embedding_folder2/0709091.txt b/sample_embedding_folder2/0709091.txt new file mode 100644 index 0000000000000000000000000000000000000000..5ee7e6c865c6837ebb16b0314fc06849381b5bdf --- /dev/null +++ b/sample_embedding_folder2/0709091.txt @@ -0,0 +1,28 @@ +Ticket Name: TDA2: Use case generate tool + +Query Text: +Part Number: TDA2 Hi Rishabh, I am from the previous post by you what doing u mean by rebuilt 64bit machine? + +Responses: +Hi Wilson, The executable present is for a 32 bit machine. In order to run it on 64 bit machine the tool needs to be recompiled. See e2e.ti.com/.../692787 Regards, Rishabh + +Dear Rishabh I have error while generating the file + +Hi Wilson, You need to install GraphViz. See requirements chapter in vision_sdk\apps\tools\vision_sdk_usecase_gen\docs\VisionSDK_UserGuide_UsecaseGen.docx. Regards, Rishabh + +Hi Wilson, Try without "-img" option, without this option the image will not be generated but the usecase would be. Regards, Sujith + +Dear Rishabh I have already installed the software when executing it. + +Dear Rishabh Can i also ask i am suppose to use this (usecase) method to develop to algorithmic example face recognition ? + +Hi Wilson, Did you try after removing "-img" as suggested by Sujith. Regards, Rishabh + +Hi Rishabh I just manage to settle it by setting the PATH of GraphViz dot then after that execute with the win64.exe and it is able to generate most of the files including the img. This problem is due the GraphViz have to set the PATH pointing to "dot" . So can i ask i am suppose to follow this usecase to develop my own program? Because it quite difficult platform to understand + +Hi Wilson, This is use case generation tool. This tool will not generate algorithms for you. I would suggest you to go through the documentation. Also Vision SDK does not support face recognition algorithm. Regards, Rishabh + +Dear Rishabh I understand that the algorithm is not support and we have to code it in. My question was is this the place to being to write the program for my project. + +Hi Wilson, Kindly go through PROCESSOR_SDK_VISION_03_03_00_00\vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_DevelopmentGuide.pdf on how to develop a new algorithm link in Vision SDK. Regards, Rishabh + diff --git a/sample_embedding_folder2/0709101.txt b/sample_embedding_folder2/0709101.txt new file mode 100644 index 0000000000000000000000000000000000000000..dad52a1ac9f72dc8d1edd49dbad0154068817caa --- /dev/null +++ b/sample_embedding_folder2/0709101.txt @@ -0,0 +1,24 @@ +Ticket Name: Linux/TDA2: Measuring load + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi Expert, I'm running Linux Vision SDK v03.02.00(4.4.84) on TDA2Ex. run usecase: "chains_lvdsVipMultiCam_Sgx3Dsrv" Can get the load of DSP1 and M4-2 as the picture below. But the value of A15 is fixed, How to modify? grpxSrcLink_svStandalone_layout.c Int32 GrpxSrcLink_displaySurroundViewStandaloneStats(GrpxSrcLink_Obj *pObj) Delete line 449, 450, The value of A15 is 0. Could you please give some suggestion here? Thanks in advance. + +Responses: +Hi, Currently there isn't support in the VSDK-Linux framework to measure the B/W of A15. To measure the load of A15, Linux itself provides several tools such as top, htop, vmstat etc. It is feasible to monitor the CPU load while the application is running by launching a separate session (using telnet, ssh etc.) and running these commands. Regards Shravan + +HI, It is expected to use the "load average" in the "top" command as the A15 load monitoring. But don't know how to convert "load average" to percentage(%). How does the value in the top command translate to the load percentage? Figure1,red line → load average: 0.43 Figure2,red line → load average: 14.82 Figure3,red line → load average: 157.15 Figure1,Before executing app.out. Figure2,After executing app.out Figure3,Execute many bc commands Thanks in advance. + +Hi, You may find the script provided in this link useful. github.com/.../How-Linux-CPU-Usage-Time-and-Percentage-is-calculated Regards Shravan + +Hi, Use the script inside the link, The result is the same as the "mpuload" command. 100% directly after opening app.out, should this be "usage rate"? I need to know if there is a load limit that has been reached? How much can be used? Figure1,executing app.out. Figure2,exit app.out Thanks in advance. + +Hi, This means the load on the CPU is 100%. When you run apps.out, there is some code running on A15, which makes the load 100%. Regards Shravan + +Hi, As shown below, the load is already 100% when app.out is executed, but the bc command can still be executed. It will only reduce the CPU usage of the app.out(81% → 3.8%) and bc commands. Why is the load already 100% still able to execute other commands? How do evaluate the performance of A15 on app.out? Thanks in advance. + +Hi, I'm not sure what your exact use-case is, however, if you take the VSDK release as is, and run 'apps.out' the A15 load is expected to be 2-3%. 'bc' commands are still able to run, despite 'apps.out' being 100% load, because the scheduler in Linux, schedules processes to run on the core, using various factors. You can find more information here. To determine the load on A15, please use the top command, and the value (100-idle) (present at the head of the top command), will give you the CPU load. Regards Shravan + +Hi, test bc command: # Echo "scale=5000; 4*a(1)" | bc -l -q As shown in Figure 1, A15 does not execute the bc command. As shown in Figure 2 below, A15 executes a bc command. As shown in Figure 3 below, A15 executes multiple bc commands. How do know how many bc commands can execute on A15? Thanks in advance. + +Hi, Theoretically it should be possible to run as many tasks as possible, however beyond a certain number of processes more time is spend switching process than executing it. I think the issue pertaining to measuring load on A15 has been addressed. For any further queries, please create a new thread. Regards Shravan + diff --git a/sample_embedding_folder2/0709140.txt b/sample_embedding_folder2/0709140.txt new file mode 100644 index 0000000000000000000000000000000000000000..4a662f548d0834ef31b004f808f53cebfcbfad9a --- /dev/null +++ b/sample_embedding_folder2/0709140.txt @@ -0,0 +1,18 @@ +Ticket Name: TDA2EVM5777: TDA2 EVM TMDS single end 60 ohm + +Query Text: +Part Number: TDA2EVM5777 Hello I read from GPIO_Revision 2.0 8.5.4.2 TMDS General Routing Guidelines single end impedance control should be 60 ohm, why is 60 ohm not 50 ohm? thank you + +Responses: +Hi, I've pinged documentation team and they said 60 ohm is correct. By the way, HDMI spec doesn't specify the single-end impedance. It only specifies the differential impedance of 100 ohms. Regards, Stan + +Hello So the document says the 60 ohm, what signal should we follow the 60 ohm impedance? thank you + +I'm not sure I understand enough your question. If it is related to routing, I find this guidance in the EVM schematic: DIFFERENTIAL PAIR 100 OHM DIFFERENTIAL IMPEDANCE SHORT AND STRAIGHT AS POSSIBLE, MINIMUM NUMBER OF VIAS + +Hello So there is no HDMI trace need to route in 60 ohm ? Thanks + +Locust, From 'HDMI Board Design and Layout Guidelines' section of the TDA2x Data Manual: "The TMDS differential signal traces must be routed to achieve 100 Ohms (+/- 10%) differential impedance and 60 ohms (+/-10%) single ended impedance. Single ended impedance control is required because differential signals can’t be closely coupled on PCBs and therefore single ended impedance becomes important." I think there is a misunderstanding between single ended impedance and differential impedance, in your original question. -Colin -Colin + +Hi Locust, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Yordan + diff --git a/sample_embedding_folder2/0709147.txt b/sample_embedding_folder2/0709147.txt new file mode 100644 index 0000000000000000000000000000000000000000..703c9c21e1e1a01b7ffc7d1c762c2b55a10f2704 --- /dev/null +++ b/sample_embedding_folder2/0709147.txt @@ -0,0 +1,82 @@ +Ticket Name: RTOS/TDA2: VIP, Monochrome Sensor Capture and Display + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Dear Champs, My customer is developing DMS (driver monitoring system) on TDA2x. A monochrome sensor will be used for this application. The output format of this sensor is 12-bit raw (luma-only) with discrete sync. 1. My customer did below settings on VIP to capture the output. Could you help check if the setting can work or not? SDK: PPROCESSOR_SDK_VISION_03_04_00_00. File: \vision_sdk\apps\src\rtos\usecases\common\chains_common_vision.c Original: + + pInstPrm->videoIfMode = SYSTEM_VIFM_SCH_DS_HSYNC_VSYNC; + pInstPrm->videoIfWidth = SYSTEM_VIFW_8BIT; + pInstPrm->bufCaptMode = SYSTEM_CAPT_BCM_FRM_DROP; + pInstPrm->numStream = 1; + + pInprms->width = captureInWidth; + pInprms->height = captureInHeight; + pInprms->dataFormat = SYSTEM_DF_YUV422P; + pInprms->scanFormat = SYSTEM_SF_PROGRESSIVE; + + + pOutprms->width = captureOutWidth; + pOutprms->height = captureOutHeight; + pOutprms->dataFormat = SYSTEM_DF_YUV420SP_UV; + pOutprms->maxWidth = pOutprms->width; + pOutprms->maxHeight = pOutprms->height; + + + pPortCfg->syncType = SYSTEM_VIP_SYNC_TYPE_DIS_SINGLE_YUV; + pPortCfg->ancCropEnable = FALSE; + pPortCfg->intfCfg.clipActive = FALSE; + pPortCfg->intfCfg.clipBlank = FALSE; + pPortCfg->intfCfg.intfWidth = SYSTEM_VIFW_16BIT; + + +Modified: + + pInstPrm->videoIfMode = SYSTEM_VIFM_SCH_DS_HSYNC_VSYNC; + pInstPrm->videoIfWidth = SYSTEM_VIFW_12BIT; // modified for 12-bit + pInstPrm->bufCaptMode = SYSTEM_CAPT_BCM_FRM_DROP; + pInstPrm->numStream = 1; + + pInprms->width = captureInWidth; + pInprms->height = captureInHeight; + pInprms->dataFormat = SYSTEM_DF_RAW12; // modified for 12-bit RAW + pInprms->scanFormat = SYSTEM_SF_PROGRESSIVE; + + + pOutprms->width = captureOutWidth; + pOutprms->height = captureOutHeight; + pOutprms->dataFormat = SYSTEM_DF_RAW12; //modified to prevent VIP from processing data + pOutprms->maxWidth = pOutprms->width; + pOutprms->maxHeight = pOutprms->height; + + pPortCfg->syncType = SYSTEM_VIP_SYNC_TYPE_DIS_SINGLE_YUV; // should this be changed too? + pPortCfg->ancCropEnable = FALSE; + pPortCfg->intfCfg.clipActive = FALSE; + pPortCfg->intfCfg.clipBlank = FALSE; + pPortCfg->intfCfg.intfWidth = SYSTEM_VIFW_16BIT; // should this be changed too? + + + I attached original and modified files for your convenience to compare. chains_common_vision.zip 2. The captured 12-bit raw data will not only be proceed in DSP but also be sent to Display. Unfortunately the display controller supports only RGB or YUV input. Is there any hardware (like VPE) can be used to convert 12-bit raw to YUV/RGB? Thanks. + +Responses: +The VIP natively doesn't support 12-bit capture. Kindly configure VIP for 16-bit capture. In this case the upper 4-bit MSB will be set to zero in the buffer. Kindly use below settings. Also there is no other HW block in the system that can convert 12-bit to 16-bit or 8-bit pInstPrm->videoIfMode = SYSTEM_VIFM_SCH_DS_HSYNC_VSYNC; + pInstPrm->videoIfWidth = SYSTEM_VIFW_16BIT; pInstPrm->bufCaptMode = SYSTEM_CAPT_BCM_FRM_DROP; + pInstPrm->numStream = 1; + + pInprms->width = captureInWidth; + pInprms->height = captureInHeight; + pInprms->dataFormat = SYSTEM_DF_RAW16; + pInprms->scanFormat = SYSTEM_SF_PROGRESSIVE; + + pOutprms->width = captureOutWidth; + pOutprms->height = captureOutHeight; + pOutprms->dataFormat = SYSTEM_DF_RAW16; + pOutprms->maxWidth = pOutprms->width; + pOutprms->maxHeight = pOutprms->height; + + pPortCfg->syncType = SYSTEM_VIP_SYNC_TYPE_DIS_SINGLE_YUV; + pPortCfg->ancCropEnable = FALSE; + pPortCfg->intfCfg.clipActive = FALSE; + pPortCfg->intfCfg.clipBlank = FALSE; + pPortCfg->intfCfg.intfWidth = SYSTEM_VIFW_16BIT; + +Hi, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Sivaraj R + diff --git a/sample_embedding_folder2/0709397.txt b/sample_embedding_folder2/0709397.txt new file mode 100644 index 0000000000000000000000000000000000000000..ff02ce00ef2f06e3c1045d31fa90018f7e96537b --- /dev/null +++ b/sample_embedding_folder2/0709397.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2: remoteproc1: handling crash #1 in 40800000.dsp omap_hwmod: timer5: _wait_target_disable failed + +Query Text: +Part Number: TDA2 Tool/software: Linux i am using SDK_VISION_03_02_00_00\vision_sdk\sample_app\src\rtos\alg_plugins\framecopy , i add my work after framecopy, #define L2SRAM_SIZE (32*1024) unsigned char L2SRAM[L2SRAM_SIZE]; #define L2TMP_SIZE (180*1024) unsigned char L2TMP[L2TMP_SIZE]; this can cause some problem , log is follow [ 52.906434] remoteproc1: crash detected in 40800000.dsp: type mmufault [ 52.913086] omap-iommu 40d01000.mmu: 40d01000.mmu: errs:0x00000002 da:0x20202020 pgd:0xed7bc808 *pgd:px00000000 000) [ 52.923429] remoteproc1: handling crash #1 in 40800000.dsp (TCC) = 8448b000 (8448b000) + +Responses: +Hi, These variables names has been used by the system. so please do not use them. What are you modifying inside SDK_VISION_03_02_00_00\vision_sdk\sample_app\src\rtos\alg_plugins\framecopy ? Regards, Anuj + +Hi Anuj I test my algorithm using this link . I have find it cause by follow code. i get cycles in many place like this in my code. but why it handling crash? //unsigned long long WH_time[10]; // double WH_cost[10]; // TSCH = 0; //TSCL = 0; // WH_time[0] = _itoll(TSCH, TSCL); Image_Resize(pHandle, (ASVLOFFSCREEN*)psImgSrc); // WH_time[1] = _itoll(TSCH, TSCL); //WH_cost[0] = (double)(WH_time[1] - WH_time[0]) / 1000000.0; // printf("Image_Resize = %f ms\n", WH_cost[0]); // Vps_printf("forward_neImage_Resize = %f ms\n",WH_cost[0]); Regards, shuai + +Hi, I did not understand your last message. Can you explain in more detail. And what are you trying to do in this link. Can you share the changes. Regards, Anuj + +Hi: Anuj in framecopy link, i add my algorithm Interface function after framecopy is done, Initialization add in Alg_FrameCopyCreate . it Include 10 .c file and 8 .h file , i add .c file name in SRC_FILES.MK to Compile them. but in the 10 .c i add follow code to get functions cycles in many place . and i think this caused the problem, now it move away my algorithm is run successful. unsigned long long WH_time[10]; double WH_cost[10]; TSCH = 0; TSCL = 0; WH_time[0] = _itoll(TSCH, TSCL); WH_time[1] = _itoll(TSCH, TSCL); WH_cost[0] = (double)(WH_time[1] - WH_time[0]) / 1000000.0 befor this i use ccs Compile the 10 .c and 8.h ,create my.lib. i make a lib Folder in framecopy and put my.lib in it . but when i Compile the sdk it looks like canot find functions in my.lib so i changed i add all souce code in . then can you tell me what is the problem? i think make a lib first is nice . BESTWISHES SHUAI + diff --git a/sample_embedding_folder2/0709450.txt b/sample_embedding_folder2/0709450.txt new file mode 100644 index 0000000000000000000000000000000000000000..1e162a2255b4a18045e79a16ae7f453dc145ed98 --- /dev/null +++ b/sample_embedding_folder2/0709450.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2: Do not boot the board using vsdk 3.04 linux + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: DRA742, PMP Tool/software: Linux I built the vsdk 3.04 linux version and ran it on the tda2x evm board. However, the following log is displayed and it does not boot. What should I do? U-Boot SPL 2016.05-00010-g9551b3d-dirty (Jul 16 2018 - 21:55:52) DRA752-GP ES1.1 no pinctrl for ddr_1_8v ** First descriptor is NOT a primary desc on 1:1 ** *** Warning - bad CRC, using default environment Trying to boot from MMC1 reading dra7-ipu2-fw.lzop spl_load_file_fat: error reading file dra7-ipu2-fw.lzop, err - -1 spl: error reading image dra7-ipu2-fw.lzop, err - -1 Error loading remotecore IPU2!,Continuing with boot ... reading dra7-dsp1-fw.lzop spl_load_file_fat: error reading file dra7-dsp1-fw.lzop, err - -1 spl: error reading image dra7-dsp1-fw.lzop, err - -1 Error loading remotecore DSP1!,Continuing with boot ... reading dra7-dsp2-fw.lzop spl_load_file_fat: error reading file dra7-dsp2-fw.lzop, err - -1 spl: error reading image dra7-dsp2-fw.lzop, err - -1 Error loading remotecore DSP2!,Continuing with boot ... reading dra7-ipu1-fw.lzop spl_load_file_fat: error reading file dra7-ipu1-fw.lzop, err - -1 spl: error reading image dra7-ipu1-fw.lzop, err - -1 Error loading remotecore IPU1!,Continuing with boot ... *** Warning - bad CRC, using default environment reading u-boot.img reading u-boot.img reading u-boot.img reading u-boot.img U-Boot 2016.05-00010-g9551b3d-dirty (Jul 16 2018 - 21:55:52 -0400) CPU : DRA752-GP ES1.1 Model: TI DRA742 Board: DRA74x EVM REV E.0 DRAM: 1.5 GiB MMC: mmc@4809c000: fail to find hs-rev11 mode FDT_ERR_NOTFOUND mmc@4809c000: fail to find sdr25-rev11 mode FDT_ERR_NOTFOUND mmc@4809c000: fail to find sdr12-rev11 mode FDT_ERR_NOTFOUND mmc@480b4000: fail to find hs-rev11 mode FDT_ERR_NOTFOUND OMAP SD/MMC: 0, OMAP SD/MMC: 1 ** First descriptor is NOT a primary desc on 1:1 ** *** Warning - bad CRC, using default environment GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645 part_get_info_efi: *** ERROR: Invalid GPT *** GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645 part_get_info_efi: *** ERROR: Invalid Backup GPT *** ERROR: cannot find partition: 'userdata' at arch/arm/cpu/armv7/omap-common/utils.c:199/mmc_get_part_size() Warning: fastboot.userdata_size: unable to calc SCSI: SATA link 0 timeout. AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode flags: 64bit ncq stag pm led clo only pmp pio slum part ccc apst scanning bus for devices... Found 0 device(s). Net: Warning: ethernet@48484000 using MAC address from ROM eth0: ethernet@48484000 Hit any key to stop autoboot: 0 ## Error: "board_findfdt" not defined switch to partitions #0, OK mmc0 is current device SD/MMC found on device 0 reading boot.scr ** Unable to read file boot.scr ** reading uEnv.txt ** Unable to read file uEnv.txt ** switch to partitions #0, OK mmc0 is current device SD/MMC found on device 0 ** File not found /boot/zImage ** ** First descriptor is NOT a primary desc on 1:1 ** switch to partitions #0, OK mmc1(part 0) is current device ** First descriptor is NOT a primary desc on 1:1 ** mmc - MMC sub system Usage: mmc info - display info of the current MMC device mmc read addr blk# cnt mmc write addr blk# cnt mmc erase blk# cnt mmc rescan mmc part - lists available partition on current mmc device mmc dev [dev] [part] - show or set current mmc device [partition] mmc list - lists available devices mmc hwpartition [args...] - does hardware partitioning arguments (sizes in 512-byte blocks): [user [enh start cnt] [wrrel {on|off}]] - sets user data area attributes [gp1|gp2|gp3|gp4 cnt [enh] [wrrel {on|off}]] - general purpose partition [check|set|complete] - mode, complete set partitioning completed WARNING: Partitioning is a write-once setting once it is set to complete. Power cycling is required to initialize partitions after set to complete. mmc bootbus dev boot_bus_width reset_boot_bus_width boot_mode - Set the BOOT_BUS_WIDTH field of the specified device mmc bootpart-resize - Change sizes of boot and RPMB partitions of specified device mmc partconf dev boot_ack boot_partition partition_access - Change the bits of the PARTITION_CONFIG field of the specified device mmc rst-function dev value - Change the RST_n_FUNCTION field of the specified device WARNING: This is a write-once field and 0 / 1 / 2 are the only valid values. mmc setdsr - set DSR register value mmc - MMC sub system Usage: mmc info - display info of the current MMC device mmc read addr blk# cnt mmc write addr blk# cnt mmc erase blk# cnt mmc rescan mmc part - lists available partition on current mmc device mmc dev [dev] [part] - show or set current mmc device [partition] mmc list - lists available devices mmc hwpartition [args...] - does hardware partitioning arguments (sizes in 512-byte blocks): [user [enh start cnt] [wrrel {on|off}]] - sets user data area attributes [gp1|gp2|gp3|gp4 cnt [enh] [wrrel {on|off}]] - general purpose partition [check|set|complete] - mode, complete set partitioning completed WARNING: Partitioning is a write-once setting once it is set to complete. Power cycling is required to initialize partitions after set to complete. mmc bootbus dev boot_bus_width reset_boot_bus_width boot_mode - Set the BOOT_BUS_WIDTH field of the specified device mmc bootpart-resize - Change sizes of boot and RPMB partitions of specified device mmc partconf dev boot_ack boot_partition partition_access - Change the bits of the PARTITION_CONFIG field of the specified device mmc rst-function dev value - Change the RST_n_FUNCTION field of the specified device WARNING: This is a write-once field and 0 / 1 / 2 are the only valid values. mmc setdsr - set DSR register value Booting from eMMC ... Wrong Image Format for bootm command ERROR: can't get kernel image! => + +Responses: +Hi, can you check chapter "4.2 Preparing SD card & Boot" in VisionSDK_Linux_UserGuide.pdf and make sure your SD card was created without errors and also your SYSBOOT settings are correct? Regards, Yordan + +I used mksdboot.sh. it does not occur any error. + +Hi, have you downloaded the right sources and checkout the right tags (chapter "2.4.2 Install Linux Components" in user guide)? Did everything build without errors? Regards, Yordan + +I have worked at ubuntu 18.04 machine. It is the problem. It works well on ubuntu 16.04. thanks for your help + diff --git a/sample_embedding_folder2/0709464.txt b/sample_embedding_folder2/0709464.txt new file mode 100644 index 0000000000000000000000000000000000000000..28c0ce3976e533bdc3c699fdb336d0e433d6f2fc --- /dev/null +++ b/sample_embedding_folder2/0709464.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: Load program failed for TestAppEncoder.out file for TDA2PX device + +Query Text: +Part Number: TDA2 Hi, I am getting the following error on loading the TestAppEncoder.out file from h264enc\app\build\TestAppDM816x\out in ti ivahd_h264 encoder package. CortexA15_0: File Loader: Verification failed: Values at address 0x00000000 do not match Please verify target memory and memory map. Code Composer Studio Version Used 8.0 Target configuration file TDA2PX device Please help me to resolve this error. Regards Mayank + +Responses: +Hi Mayank, Data Verification errors are described here: software-dl.ti.com/.../troubleshooting-data_verification_errors.html Can you check if you can find any directions for resolving your issue in this document? Regards, Yordan + +Hi Mayank, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Yordan + diff --git a/sample_embedding_folder2/0709572.txt b/sample_embedding_folder2/0709572.txt new file mode 100644 index 0000000000000000000000000000000000000000..232142155c6e7107766143c620bc131d333553c2 --- /dev/null +++ b/sample_embedding_folder2/0709572.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Unable to clone opencv source + +Query Text: +Part Number: TDA2 Dear TI I am able to clone the opencv source from the give link from the document The given link is from page 5 pointer 1.4 of document VisionSDK_UserGuide_opencx. please advise + +Responses: +Hi Willson, can you try to clone from http://git.ti.com/opencv: git clone git://git.ti.com/opencv/tiopencv.git Regards, Yordan + diff --git a/sample_embedding_folder2/0709640.txt b/sample_embedding_folder2/0709640.txt new file mode 100644 index 0000000000000000000000000000000000000000..955deba89ac5032ecdbb34f40cfd6bfb879f4668 --- /dev/null +++ b/sample_embedding_folder2/0709640.txt @@ -0,0 +1,16 @@ +Ticket Name: RTOS/TDA2: TDA2X Booting process + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Dear All, We are using EVM and RVP board for Objection detection and data logger project. Due to required customization, need to understand the booting processing of TDA2X. We did not find the document which can provide the booting flow procedure, we attempted to analyze the source code. Considering the DSP1 core got the flow as: vision_sdk/sample_app/src/common/main_app/tda2xx/dsp1/src/main_c6xdsp1.c 91 /** 92 ******************************************************************************* 93 * 94 * \brief This is the main() implementation of DSP1. 95 * 96 * This is the first function and entry point to DSP1, does 97 * - Set the correct/required CPU frequency 98 * - Call the System_start with C6XDSP_main() and loops there 99 * 100 * \return SYSTEM_LINK_STATUS_SOK 101 * 102 ******************************************************************************* 103 */ 104 Int32 main(void) 105 { 106 Uint32 status; 107 108 status = main_common(); 109 110 return (status); 111 } This in turn calls main_common_c6xdsp1.c, i.e. vision_sdk/links_fw/src/rtos/bios_app_common/tda2xx/dsp1/src/main_common_c6xdsp1.c 167 Int32 main_common(void) 168 { 169 /* This is for debug purpose- see the description of function header */ 170 StartupEmulatorWaitFxn(); . . . //code truncated 207 System_start(C6XDSP_main); 208 BIOS_start(); // Q1: Where is the defination of BIOS_start() function? 209 210 return (SYSTEM_LINK_STATUS_SOK); 211 } Q2. Document or guide on the booting process of DSP or EVE to the point where application is started. Thanks, KK + +Responses: +Hi, Please find your answers below Q1: Where is the defination of BIOS_start() function? This function will start the TI-RTOS and do the necessary initializationfor DSP core. Q2. Document or guide on the booting process of DSP or EVE to the point where application is started. There is no such document which explains about the details of all files. you can start with Chains_main() function available in vision_sdk\apps\src\rtos\common\chains_main_bios_vision.c for bios_all config. And main() available in vision_sdk\apps\src\hlos\adas\src\common\chains_main.c file for linux all config. These are the files from where the usecases starts. Regards, Anuj + +Hello Anuj, Q1. Could you guide us to the source code? Q2. The source path and the description are helpful. We will go through it and get back. Thanks, KK + +Hi, These are c codes and that you need to go through yourself. If you face any issue in running any usecase or in order to modify that usecase , you can post a new question. Regards, Anuj + +Hello Anuj, We will go through the C code, we have expertise on it. Q1. Was referring to " BIOS_start() function definition. We could not find it. Could you guide us to the file containing the function BIOS_start() definition?. Regards, KK + +Hi, BIOS_start() is a library function. Please go through the below docs to understand the VSDK framework VisionSDK_SW_Architecture_Overview.pdf VisionSDK_SW_Architecture_Details.pdf VisionSDK_DevelopmentGuide.pdf Regards, Anuj + diff --git a/sample_embedding_folder2/0709811.txt b/sample_embedding_folder2/0709811.txt new file mode 100644 index 0000000000000000000000000000000000000000..2da184f99159e046f818e2da9a61893d884b1fc2 --- /dev/null +++ b/sample_embedding_folder2/0709811.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: BGA Ball footprint + +Query Text: +Part Number: TDA2 Hello expert, Customer asked a question about footprint of TDA2 BGA (TDA2_ABC 23x23mm package S-PBGA-N760). Can you send the below footprint information regarding PCB design? 1. To design PCB, how much size of ball footprint is recommended? 0.35mm ~ 0.45mm would be okay? 2. There is no description about NSMD (Non-Solder Mask Defined) or SMD (Solder Mask Defined) in data manual. Is it okay to design PCB with SMD type? Thanks, Lloyd + +Responses: +Recommended ball footprint is 0.35mm. If SMD, recommended opening is 0.35mm. Thanks Robert + diff --git a/sample_embedding_folder2/0709833.txt b/sample_embedding_folder2/0709833.txt new file mode 100644 index 0000000000000000000000000000000000000000..5efa68dd000fd89a9da4a1276cf3368dcbb4522e --- /dev/null +++ b/sample_embedding_folder2/0709833.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2: Some issues about the usage of TIDL + +Query Text: +Part Number: TDA2 Hello, I met some problems when using TIDL, 1. Convolution Layer 1.1 Can numGroups support from 1 to size of kernel(eg, kernel size is 3*3*32, numGroups can support from 1 to 32) ? 1.2 The dilation is the same thing to rate of atrous convolution? (eg, in the flowing case, dilation should be 1, 2, 4 ) 2 Spatial Pooling layer 2.1 In TIDL user guide, pooling can support with strideW 4, but in the spatial_pooling.cpp, strideW 4 is not supported. If I modify the cpp code to supporting strideW 4(similar to strideH), is it OK? 3 In tidl_ModelImport tool, it can generate the trace_dump file ,such as trace_dump_0_32x32.y. Then how can I get the similar file in TIDL(tidl_tb.c)? For I get the different result between tidl_ModelImport tool and TIDL, I want to do some checks. Thanks~ + +Responses: +Hi, 1.1 TIDL can support numGroups from 1 to 32, but we did not tested with larger number of groups. 1.2 TIDL can support dilation values 1, 2, 4 2.1 Pooling can support with stride 4. Please try modifying the code though we did not tested, it should work. 3. Change #define ENABLE_TRACE_DUMP (0) to #define ENABLE_TRACE_DUMP (1) at line no 40 in tidl_alg.c file to dump traces from TIDL. Thanks, Praveen + +Hi, Do you use the CCS in using TIDL? + +Can I ask where do find the spatial_pooling.cpp file, is it in the PROCESSOR_SDK_VISION_03_04_00_00? + +Hi, Source files will not be released as part of VISION SDK. For source file access you should get the source releases of each component from TI, for that please contact your local TI FAE. Thanks, Praveen + diff --git a/sample_embedding_folder2/0709889.txt b/sample_embedding_folder2/0709889.txt new file mode 100644 index 0000000000000000000000000000000000000000..9211c6350c6b759aaaf041adc6d31396da52ea06 --- /dev/null +++ b/sample_embedding_folder2/0709889.txt @@ -0,0 +1,28 @@ +Ticket Name: TDA2: IVAHD encoder sample application hangs at H264ENC_create + +Query Text: +Part Number: TDA2 Hi I am trying to generate the encoded output file by running the TI ivahd encoder sample application TestAppDM816x/TestAppOmap4 on TDA2PX evm board but the application hangs at handle[insChanid] = H264ENC_create((H264ENC_Fxns *)&H264ENC_TI_IH264ENC, &gParams[insChanid]); I haven't modified any encoder configuration and i am running the default application. On suspend the running i am seeing the following error message in diassembly window: Memory map prevented reading 0xFEF4000C [code=0x20000] Any workarounds so that i should be able to generate the output file. Regards Mayank + +Responses: +Hi Mayank, Can you please single step through the code to localize where inside the H264ENC_create you are crashing? Typical reasons for a crash would be access to a memory space which is not mapped/understood by the CPU core. Thanks and Regards, Piyali + +Hi, It is hanging in AlgInit function.Currently i am trying to run it on A15 core. Is there any procedure to run the sample application on multiple core or any other particular core. I tried running it on m4_0 and m4_1 core but with both it is giving similar results. Has anybody tried successfully running it.Please write in detail the procedure. Regards Mayank + +Hi Mayank, I think you will have modify the Base address in \codecs\h264enc\app\test\inc\h264enc_ti_config.h The existing is for OMAP4 & NETRA. #define M3_HZ change this;//(250000000) #define MEM_BASE_IVAHD0 change this;//0xBB000000 #define REG_BASE_IVAHD0 change this;//0xBA000000 #define RST_CNTL_BASE_IVAHD0 change this;//0xAA306F10 + +Hi Prashant, Thanks for your mail.You mentioned in your mail that the above macros needs to be changed. Currently i am working on TDA2PX evm board,what would be the correct values of above macros for the evm that i am using. Regards Mayank + +Hi Mayank, The base address will be present in the TRM of this target. Do you have the TRM? + +Hi Mayank, The TRM is at http://www.ti.com/lit/ug/spruif0a/spruif0a.pdf The addresses would be #define MEM_BASE_IVAHD0 change this;//0x5B000000 #define REG_BASE_IVAHD0 change this;//0x5A000000 #define RST_CNTL_BASE_IVAHD0 change this;//0x4AE06F10 Regards, Piyali + +Hi Prashant, Thanks for your continuous support. In the TRM that i am having for TDA2PX evm in the iva subssytem following lines are mentioned: NOTE: The IVA-HD subsystem is a set of video encoder and decoder hardware accelerators. The list of supported codecs can be found in the software development kit (SDK) documentation. The IVA-HD subsystem availability is device part number dependent. Refer to device Data Manual, for more information I could not find the register settings that you have mentioned in the TRM. Are you sure that these register settings will fix the crash issue. Regards Mayank + +Hi Mayank, Please refer the above post from Piyali on the Address you need to set. I have not tried running the sample testapp on TDA2PX. But to run this code on different targets we will be using respective Base address. So, theoretically it should work. + +Hi Prashant, Thanks for your continuous support.I configured the register settings as suggested by Piyali but i am getting the same crash at H264Enc_Create. Regards Mayank + +Hi Mayank, Can you tell me the detailed procedure you followed to run this on TDA2PX? It would help to debug further. + +Hi Mayank, We have not heard back from you on this one. I assume you were able to move ahead. Please let us know if otherwise. The thread would be closed automatically if there is no reply. Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0709917.txt b/sample_embedding_folder2/0709917.txt new file mode 100644 index 0000000000000000000000000000000000000000..a090028adc988d50a1046c471c607e804a53939a --- /dev/null +++ b/sample_embedding_folder2/0709917.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: can not add --debug_software_pipeline + +Query Text: +Part Number: TDA2 Tool/software: Linux i test my code use CCS and get the cycle, then i add this code in vision sdk ,but the same code use more cycles , i may be diffrent Linker options and rules. so i thy to change rules_66.mk according CCS options, LNKFLAGS_INTERNAL_COMMON i add some options here fatal error #10000: invalid option: --symdebug:none fatal error #10000: invalid option: --debug_software_pipeline this is my CCS options -mv6600 -O3 --opt_for_speed=5 --symdebug:none --diag_warning=225 --diag_wrap=off --display_error_number --debug_software_pipeline --sat_reassoc=off --program_level_compile --auto_inline=1 --gen_opt_info=2 -z + +Responses: +Hi, This could happen if the toolchain use by ccs and vision are different. Please 1st make sure the toolchains are same. Regards, Anuj + +Hi Anuj CCS is C6000_8.2.2 and vision SDK is cg_tools/linux/ti-cgt-c6000_8.1.0 , how can i update cg_tools/linux/ to c6000_8.2.2?? Regards, shuai + +Hi, Its not recomended to change the toolchain of VSDK. So please try to change your CCS version or change the ttolchain of ccs and have the same toolchain as VSDK. And we do not recommend to build using CCS. CCS is being used only for debug purpose. Regards, Anuj + diff --git a/sample_embedding_folder2/0710219.txt b/sample_embedding_folder2/0710219.txt new file mode 100644 index 0000000000000000000000000000000000000000..8b736fd6d3658ed52107fe62e8160f29b6a76d07 --- /dev/null +++ b/sample_embedding_folder2/0710219.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: TDA2P functional safety + +Query Text: +Part Number: TDA2 Dear, Please provide safety analysis reports and FMEDAs ? Thanks + +Responses: +Hello Joseph, Can you please get in touch with your TI representative for these details? You would need an NDA to access this information. Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0710313.txt b/sample_embedding_folder2/0710313.txt new file mode 100644 index 0000000000000000000000000000000000000000..6f4a4462ea1c3aa32d69068042ad2b3f973566b9 --- /dev/null +++ b/sample_embedding_folder2/0710313.txt @@ -0,0 +1,16 @@ +Ticket Name: Linux/TDA2: 3D surround view Camera Calibration tool + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, I am using TDA2X vision EVM board to develop 3D surround view function. We run the calibration using the calibration tool. We found front and rear cameras can not be calibrated perfectly. Look at the picture below. The straight line becomes curved when it passes the front camera. I think it is because the lens distortion is not completely corrected. In the lens LUT generation tool, the maximum angles are limited to below 90. Will this be a problem? In another thread, you said you can provide the calibration tool source code. Can you provide that to me so we can debug what is wrong? Thanks. 1. front camera can not be calibrated perfectly. + +Responses: +Another strange thing is that the birdview image generated by calibration tool is good. But the online birdview image has distortion. This picture is generated by calibration tool. The numbers in red circle has no distortion. This picture is captured online, the numbers in red circle has large distortion + +Those above pictures are captured in 3d adaptive surround view function (has bowl view). I also captured some images in normal 3D surround view. There are also distortions in front and rear camera area. But the curve direction is opposite to that in 3D adaptive view. Following is the picture. Notice the curve direction in red circle. Theoretically, bird view of normal surround view should have no distortion. Why it still has distortion? Thanks. + +Hi Tao, For access to SRV calibration source code, please ask the respective region TI Field representative to raise a request with me. We can pass it through the approval system and provide it to you. (I can provide the source code in public forum). This would be the source code of the embedded calibration tool. Regarding your questions Limiting the FOV to 90degrees is not an issue, this is the radial angle, so the FOV of the lens we would capture would be 180 degrees Its hard for me to debug this just looking at pictures, and I'm not sure why the calibration works fine on the offline tool but not on the device. It maybe related to the bowl shape, please make sure the bowl shape is as flat by extending the offsets to the far regions (Typically around +/-400 or so) and keep the adaptive logic turned off.Can you also mention which two usecases you tried on the device and more information on your setup (Which sensor/camera etc) Regards Shashank + +Hi Shashank , I have figured out the cause of issues listed above. It is because the limitation of the max angle. After I remove that limitation. Those issue disappears. But the stitched image is still not so good. Please look at the image attached below. I am using the cameras from spectrumdigital in this link: www.spectrumdigital.com/.../. The cameras don't have lenses. We bought the that and installed by ourselves. According to your experience, will those cameras be a problem? Thanks. + +Hi Tao, Typically you need machine aligned camera modules to get good calibration. Hand screwed lenses may have issues but you may be able to get better calibration than this. You can try running the lens center detection tool from the manual calibration tool prior to generating the LENS.bin. In this case, the Lens.bin will encode the centers (I am assuming the image center and lens center do not align in this case). Modifying the lens center with the tool might help. Regards Shashank + diff --git a/sample_embedding_folder2/0710784.txt b/sample_embedding_folder2/0710784.txt new file mode 100644 index 0000000000000000000000000000000000000000..39d1b03c16364d3be7810605ae496a306197fa0e --- /dev/null +++ b/sample_embedding_folder2/0710784.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Direct connection VIN signal into VIP without isolation? + +Query Text: +Part Number: TDA2 1. Can I connect VIN signal directly into VIP without isolation using SN74CBTLV16212GR? Does SN74CBTLV16212GR served any purpose, like isolation from backflow current, other than multiplexer? + +Responses: +In case of TI EVM, this is used as both a mux as well as a driver buffer. Depending on the drive capacity of the sensor/decoder you may have this or not in your board. + diff --git a/sample_embedding_folder2/0711215.txt b/sample_embedding_folder2/0711215.txt new file mode 100644 index 0000000000000000000000000000000000000000..125ce84c6184e3f97cf6c1bd535967f7a61b15bd --- /dev/null +++ b/sample_embedding_folder2/0711215.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2: Enquiry on TI device translator tool and other question + +Query Text: +Part Number: TDA2 Dear TI Below are some of my question. Q1) We are try to using some of the third party software like caffe and tensorflow. I had read one of your document "Embedded low-power deep learning with TIDL" there is tool call TI device translator tool where can i find these tools? Q2) On top do we are try to bring Dlib and RPPG to the TDA2 are we able to accomplish using the TIDL deceive translator tool? Q3) Where can i find this TIDL deceive translator tool user guide? Q4) What is the latest version use in VisionSDK for opencv and are we to upgrade the opencv to the lastest version which is 3.3.1 ? + +Responses: +Hi, 1) This tool is name is "tidlModelImport" and is part of TIDL component in VSDK release and you can find this in "ti_dl\utils" folder in TIDL 2) Please refer to "TIDeepLearningLibrary_DataSheet.pdf" for supported layers with this tool and with TIDL library. Note that this tool source code is also available in the package so that it can be extended as per your requirements. 3) For this, refer to section 3.6 in the "TIDeepLearningLibrary_UserGuide.pdf". 4) Refer to user guide in latest Vision SDK release( www.ti.com/.../PROCESSOR-SDK-TDAX) Thanks, Praveen + +Dear Praveen The link for answer 4 is unable to be found please advise + +I think it is adding extra closing brace at the end, so not opening, try this.. www.ti.com/.../PROCESSOR-SDK-TDAX Thanks, Praveen + +Dear Praveen As for the reply for question 2 you mean that i am able to import DLib and rppg to this TDA2 ? + +Hi, I don't know the network layers structure used in Dlib and rppg, so as long as any network which has the layers supported by tool (mentioned in the user guide), then our tool can import those networks. More ever source code is open to user, so any one can add any missing layers for this tool to import their own models. Thanks, Praveen + diff --git a/sample_embedding_folder2/0711232.txt b/sample_embedding_folder2/0711232.txt new file mode 100644 index 0000000000000000000000000000000000000000..d1f1256ba9c0ef6f04513efa63fdf0ddaddccd48 --- /dev/null +++ b/sample_embedding_folder2/0711232.txt @@ -0,0 +1,22 @@ +Ticket Name: TDA2: How to Updating latest vision sdk + +Query Text: +Part Number: TDA2 Dear TI I just notice you are just release a newer visionsdk version 3.4. I am using 3.3 are you able to advise how is should update to this latest vision? + +Responses: +Hi Wilson, You should refer to release notes for the list of new features, upgrade and compatibility information, etc. The release notes can be downloaded here: software-dl.ti.com/.../VisionSDK_ReleaseNotes.pdf Regards, Rishabh + +Dear Rishabh I mean i want to update my version from 3.3 to version 3.4. Can i just copy the file and replace with the old version just like that? + +Hi Wilson, Have you made any changes on top of Vision SDK 3.3 or you are using default SDK. Regards, Rishabh + +Dear Rishabh There is no changes but it compile to for see the demo + +Hi WIlson, In that case you can just download SDK 3.4 and install it in a different folder as compared to SDK 3.3. By default the folders should be PROCESSOR_SDK_VISION_03_03_00_00 and PROCESSOR_SDK_VISION_03_04_00_00. Regards, Rishabh + +Hi Wilson, Is this issue resolved? Can we close the thread. Regards, Rishabh + +Yes i just close this + +Ok thanks for the confirmation. Regards, Rishabh + diff --git a/sample_embedding_folder2/0711320.txt b/sample_embedding_folder2/0711320.txt new file mode 100644 index 0000000000000000000000000000000000000000..39a59590a2afd5f531c8e44eb69d4cb8338b0f38 --- /dev/null +++ b/sample_embedding_folder2/0711320.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: a15 Multithreading + +Query Text: +Part Number: TDA2 Tool/software: Linux i run my algorithm on A15 ,double thread time is half of Single thread. thread num is 4 or 8 time is same with double thread. Multithreading is use 2 A15 is run ? + +Responses: +Hi, If you're using a TDA2x then there's a dual-core A15, which enables running a thread on each core, so you should almost see a linear decrease in the time. However, when the number of threads increases, they are scheduled between the two cores, and there may not necessarily be a linear decrease in time. Regards Shravan + +Hi Shravan what about TDA2Ex? a dual-core A15 also? BESTWISHES SHUAI + +Hi Shuai, TDA2Ex is single core A15. Regards Shravan + diff --git a/sample_embedding_folder2/0711806.txt b/sample_embedding_folder2/0711806.txt new file mode 100644 index 0000000000000000000000000000000000000000..54d1eec52e99619c7377a12825988225abc3d607 --- /dev/null +++ b/sample_embedding_folder2/0711806.txt @@ -0,0 +1,26 @@ +Ticket Name: Linux/TDA2EG-17: Cannot detect USB flash disk in host mode ! + +Query Text: +Part Number: TDA2EG-17 Other Parts Discussed in Thread: TDA2, PCF8575 Tool/software: Linux Hi, Now I have a problem that my custom board cannot detect USB flash disk in host mode when excuted "usb start" in Uboot mode.The log is attached. And I open debug in Uboot mode .How can I resolve it ? Uboot_with_debug2.txt + +Responses: +Hello, Can you confirm the USB flash disk is connected to the USB2 port on your custom board? Also can you please tell us what kind of USB flash disk is used here? Manufacture, make, speed? Is this flash disk working properly when connected to PC? Also, have you tried different USB flash disk? Looking at the u-boot log provided, the USB host driver in the u-boot got initialized properly and from you debug log, we could see that the device enumerate did not start at all. So are you seeing VBUS on the USB connection once the "usb start" is called? Thanks. + +Hi, 1. Yes,USB falsh disk is connected to USB2 port.And USB flash disk can be detected on TDA2EG17 EVM board,also it can work properly on PC. So it is not that USB causes the problem 2. The differences between EVM board and our custom board is that: 2.1 First,in our custom board,TDA2 don't detect the level of USB2_VBUS; 2.2 Second,in our custom board,TDA2 detects ID pin of USB port ,but we don't use PCF8575,we use AA3 as following picture. 2.3 After I excute "USB start",I measure VBUS's voltage,it will become 5V from 0V + +Hi, Good to know the VBUS voltage is proper. Since the USB mode we trying is HOST, the ID pin is not a concern. Can you share the complete schematic of USB connection b/n the TDA2 and the USB port. Also, what kind of USB receptacle is used on the board? Have you tried connecting USB flash driver after the kernel boots up? Or you still at the u-boot level? Thanks. + +Hi, 1. The complete schematic of USB connection is as following: 2.The type of USB receptacle is Micro USB as following: 3. I also have tried to connect USB after kernel boots up,it also failed.So I'd like to start to resolve it from Uboot mode. I am looking forward to your reply. Thanks! + +Thanks for the details and sharing the schematics. I am checking with the h/w expert to confirm the schematics are fine, especially the requirements to have choke and esd are properly taken care. Thanks + +Hi, Could you give some advise?And I think it's not the hardware which causes the problem,I still doubt the detection of ID pin. + +The detection of ID pin is required only if the USB is configured for OTG mode. For Host mode functionality, this pin is not used. BTW, are you still seeing the issue? As previously noted, the device was not detected by the USB2 configured as HOST. You would notice in the u-boot log that the portstatus always return value 0x101 and stayed at FULLSPEED. In case of device detection, the value returned will be 0x503 (USB_PORT_STAT_ENABLE=1) and speed will switch to HIGHSPEED. This clearly says that the device was not detected by the USB controller. Suggest you to connect the USB protocol analyzer between the USB port an the USB flash drive and provided us the protocol log to analyze the issue. Thanks. + +Hi Praveen: Yes,I'm still seeing the issue.But I cannot provide the log because I don't have USB protocol analyzer. + +Looking at your log, it looks like the USB goes into Full speed. We will need USB protocol logs to understand why high speed fails and full speed is entered, otherwise it limits our debug. Also I noticed you mention you are connecting to USB2 port, but your schematic s showing USB1, can you share the USB2 schematic? + +Hi! I haven't heard back from you in awhile, so I am assuming you have resolved your issue. If not just post a reply (or new thread if this thread if locked) Best Regards, Yining + diff --git a/sample_embedding_folder2/0711968.txt b/sample_embedding_folder2/0711968.txt new file mode 100644 index 0000000000000000000000000000000000000000..b0eb71c75d509c5a05a7f046b3e8ae70e5ffe5da --- /dev/null +++ b/sample_embedding_folder2/0711968.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: how to use lib in alg_plugins + +Query Text: +Part Number: TDA2 Tool/software: Linux vision_sdk\sample_app\src\rtos\alg_plugins\framecopy in framecopy link, i add my algorithm Interface function after framecopy is done, Initialization add in Alg_FrameCopyCreate . it Include 10 .c file and 8 .h file , i add .c file name in SRC_FILES.MK to Compile them. so add my souce code is success, now i first use ccs Compile my souce code create my.lib. then in vision_sdk\sample_app\MAKEFILE.MK i add APP_LIBS_c66xdsp_1 += $(ROOTDIR)/my.lib APP_LIBS_c66xdsp_2 += $(ROOTDIR)/my.lib but failed follow is the log # Making tda2xx-evm:c66xdsp_1:release:vision_sdk_lib... make[7]: *** No rule to make target `/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/my.lib', needed by `/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/vision_sdk/bin/tda2xx-evm/vision_sdk_c66xdsp_1_release.xe66'. Stop. make[6]: *** [c66xdsp_1] Error 2 make[5]: *** [apps_dsp1] Error 2 make[5]: *** Waiting for unfinished jobs.... # Making tda2xx-evm:arp32_2:release:vision_sdk_lib... # Configuro done! # Configuro done! BESTWISHES! + +Responses: +Hi, What you want to do? 1> Build your lib using your .c and .h files? 2> Use the lib built by CCS in framecopy algorithm? Regards, Anuj + +Hi: Anuj framecopy algorithm is a algorithm link ,now it done framecopy algorithm then add myself algorithm. so i donot have to make a new algorithm link. Now do you understand what i have to do ? then i put all my source file(10 .c file and 8 .h file) in vision_sdk\sample_app\src\rtos\alg_plugins\framecopy , i add .c file name in SRC_FILES.MK to Compile them , i add my algorithm Interface function after framecopy is done, Initialization of my algorithm add in Alg_FrameCopyCreate . this way is success, my algorithm is run ,result is correct. promblem is come in. i have to compile my source into libraries, in framecopy algorithm call the lib(i use CCS compiled it and creat my.lib, and put my.lib in vision_sdk Folder), in vision_sdk\sample_app\MAKEFILE.MK i add APP_LIBS_c66xdsp_1 += $(ROOTDIR)/my.lib APP_LIBS_c66xdsp_2 += $(ROOTDIR)/my.lib when i make the vision_sdk it have some problem follow is the LOG. # Making tda2xx-evm:c66xdsp_1:release:vision_sdk_lib... make[7]: *** No rule to make target `/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/my.lib', needed by `/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/vision_sdk/bin/tda2xx-evm/vision_sdk_c66xdsp_1_release.xe66'. Stop. make[6]: *** [c66xdsp_1] Error 2 make[5]: *** [apps_dsp1] Error 2 make[5]: *** Waiting for unfinished jobs.... # Making tda2xx-evm:arp32_2:release:vision_sdk_lib... # Configuro done! # Configuro done! do you know what is my problem? BESTWISHES! shuai + +Hi, 1st thing where you have added your lib in makefile thats not correct. If you add there then it will try to create that lib using your source file. Please go through the makefiles and try to undertsand how it works. 2nd thing, you said that you are building your library in ccs so that is not right way as CCS might use different toolchain than VSDK. So try to create your library using VSK toolchains only 3rd if you want to use your lib in a link then take reference of encoder module, How an encoder link uses encoder lib. You can find the path of encoder libs in build/tools_path.mk Please go through below docs vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_DevelopmentGuide.pdf vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_UserGuide_BuildSystem.pdf Regards, Anuj + diff --git a/sample_embedding_folder2/0711973.txt b/sample_embedding_folder2/0711973.txt new file mode 100644 index 0000000000000000000000000000000000000000..65ea13e0222e4476860d02c070e55ba87a0efc44 --- /dev/null +++ b/sample_embedding_folder2/0711973.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: Object detection usecase + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Everyone, I am working on Object detection usecase with VSDK 3.1 on TDA2X , I need to add some more objects to detect . 1) i wanted to know how to train / add new object data for the usecase to run 2) I have tried tidl od usecase with some random videos I had and default bin files (NET.BIN,PRM.BIN) from the PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/apps/tools/TIDL_files path , it created the output bin file but I am not sure what to do with it ?? 3) I couldn't find any documents other than VisionSDK_UserGuide_TI_DeepLearning.pdf in feature specific guides in the docs , is there any other documents available for deep learning in tda2x processor ? Thanks & regards , V.B.Surendar + +Responses: +Hi, Please migrate to latest VSDK release from www.ti.com/.../PROCESSOR-SDK-TDAX 1. Please refer to the steps mentioned here ( github.com/.../caffe-jacinto-models ) 2. Refer to below e2e thread for visualisation code, use that to visualise the output. e2e.ti.com/.../2502331 3. Please refer to FAQ's in "TIDeepLearningLibrary_UserGuide.pdf " in TIDL package. Thanks, Praveen + diff --git a/sample_embedding_folder2/0712236.txt b/sample_embedding_folder2/0712236.txt new file mode 100644 index 0000000000000000000000000000000000000000..b666b7a2093e03e0e83e35e1647126a5ec3b9bd5 --- /dev/null +++ b/sample_embedding_folder2/0712236.txt @@ -0,0 +1,20 @@ +Ticket Name: TDA2: Math.h and vector file advise + +Query Text: +Part Number: TDA2 Dear TI Hi I would like to ask there since to have a few math.h and vector file in the visionsdk but i am not sure which one i should be using. Are you able to advise which math.h and vector file i am suppose to use ? + +Responses: +Hi, You can find these inside code generation tool paths for your sdk. Please check vision_sdk/build/tools_path.mk and check for the cg_tools, in that path you will find all the necessary header files. Regrads, Anuj + +Dear Anuj Thanks for the reply but may question was there are different math.h and vector file under these folder (cg_tool/window/)but i am not sure which one i am suppose to use or these different math.h and vector file under these different. On top of these follow what does folder name referring to? Is it the processor ? folder : arp32_1.0.7 ,C6000_7.4.2, gcc-arm_none_eabi-4_9-2015q3 and ti-cgt-arm_16.9.2.LTS + +Hi, arp32_1.0.7 ,C6000_7.4.2 -> Eve core C6000_7.4.2 -> DSP core gcc-arm_none_eabi-4_9-2015q3 -> A15 ti-cgt-arm_16.9.2.LTS -> M4 All the 4 toolchains are 4 different cores So it depends on which core you are adding these header files,it will be picked from restective toolchains. Regards, Anuj + +Dear Anuj If i am running a new usecase but the algo is running on A15 core but require a math.h and vector, it i possible if i use math.h and vector under DSP core ? + +Hi, if the algorithm link is running on DSP and uses any math or vector header file then it will able to pick up from toolchain of DSP. Regards, Anuj + +Dear Anuj In another words, if i run my algorithm link on A15 ( as i am using to opencv) then i cant just simply just include the header file as shown below ? #include #include + +Hi, Have to tried to add only ? Fir all cores this toolchain paths are already defined, so it will automatically pick from the respective toolchain. you do not need to specify the path explicitly. Regards, Anuj + diff --git a/sample_embedding_folder2/0712342.txt b/sample_embedding_folder2/0712342.txt new file mode 100644 index 0000000000000000000000000000000000000000..4b543d91a33d2a4a68dfc948e84bf7a5871ecf6b --- /dev/null +++ b/sample_embedding_folder2/0712342.txt @@ -0,0 +1,18 @@ +Ticket Name: RTOS/TDA2: How to configure VIN1A, VIN3A and VIN5A for direct use without making use of multiplexer control logic block? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS My colleague is now making a hardware based on TDA2x reference design. It is presumed that we can still make use VIN1A, VIN3A and VIN5A if we do not add in the multiplexer control logic block in our hardware circuitry. In this case, how do we configure VIN1A, VIN3A and VIN5A in this case? Thanks + +Responses: +When you say multiplexer logic, you meant the mux present in TI EVM? In this case there is no special programming required. You can connect the VIN pins directly to TDA2xx and configure the pinmux accordingly. + +Hi Sivaraj, Thanks. Basically my colleague intends to remove the MUX hardware block entirely. With Vin directly connect to TDA2x directly, do we need to do any special configuration? Does this type of hardware change will impact on our use on TI SDK? + +No impact. We need to just bypass the mux programming (IO expander) code in SDK board module. + +Hi, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Sivaraj R + +Thanks for the reply. I see your reply is to bypass the mux programming (IO expander) code in SDK board module. I can only try it out when the board being modified by my colleague, is ready for my testing + +I will close this thread. You can create a new one if you have any further queries + diff --git a/sample_embedding_folder2/0712394.txt b/sample_embedding_folder2/0712394.txt new file mode 100644 index 0000000000000000000000000000000000000000..77309166e214c1b7a981525e01d8395f58ac525a --- /dev/null +++ b/sample_embedding_folder2/0712394.txt @@ -0,0 +1,46 @@ +Ticket Name: Downscaled image looks not proper when compared with original image + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi All, We have down-scaled a picture of lines in VID2 pipeline of DSS from 1280*720 to 1120*630.But we see the down-scaled picture looks distorted than the original image. The original image format is ARGB. In original picture lines are smooth but in the downscaled image ,the lines look discontinuous with some minor breaks at some interval. Following are the registers configured in DSS. reg_write(DISPC_VID2_FIR, 0x04920492);//downscaling ratio FIR_Coefficients : 5 taps reg_write(DISPC_VID2_FIR_COEF_H_0, 0xA720AFD); reg_write(DISPC_VID2_FIR_COEF_H_1, 0x186F00FF); reg_write(DISPC_VID2_FIR_COEF_H_2, 0x2867F900); reg_write(DISPC_VID2_FIR_COEF_H_3, 0x3A5BF501); reg_write(DISPC_VID2_FIR_COEF_H_4, 0xF44C4CF4); reg_write(DISPC_VID2_FIR_COEF_H_5, 0xF55B3AF5); reg_write(DISPC_VID2_FIR_COEF_H_6, 0xF96728F8); reg_write(DISPC_VID2_FIR_COEF_H_7, 0x6F18FA); reg_mod(DISPC_VID2_FIR_COEF_HV_0, 0xA720AFD, 31, 8); reg_mod(DISPC_VID2_FIR_COEF_HV_1, 0x186F00FA, 31, 8); reg_mod(DISPC_VID2_FIR_COEF_HV_2, 0x2867F9F8, 31, 8); reg_mod(DISPC_VID2_FIR_COEF_HV_3, 0x3A5BF5F5, 31, 8); reg_mod(DISPC_VID2_FIR_COEF_HV_4, 0xF44C4C00, 31, 8); reg_mod(DISPC_VID2_FIR_COEF_HV_5, 0xF55B3A01, 31, 8); reg_mod(DISPC_VID2_FIR_COEF_HV_6, 0xF9672800, 31, 8); reg_mod(DISPC_VID2_FIR_COEF_HV_7, 0x6F18FF, 31, 8); reg_mod(DISPC_VID2_FIR_COEF_V_0, 0xFDFD, 15, 0); reg_mod(DISPC_VID2_FIR_COEF_V_1, 0xFAFF, 15, 0); reg_mod(DISPC_VID2_FIR_COEF_V_2, 0xF800, 15, 0); reg_mod(DISPC_VID2_FIR_COEF_V_3, 0xF501, 15, 0); reg_mod(DISPC_VID2_FIR_COEF_V_4, 0xF4, 15, 0); reg_mod(DISPC_VID2_FIR_COEF_V_5, 0x1F5, 15, 0); reg_mod(DISPC_VID2_FIR_COEF_V_6, 0xF8, 15, 0); reg_mod(DISPC_VID2_FIR_COEF_V_7, 0xFFFA, 15, 0); reg_mod(DISPC_VID2_ATTRIBUTES, 0x1, 21, 21); // 5 -vertical taps reg_mod(DISPC_VID2_ATTRIBUTES, 0x3, 6, 5); // resize both horizontal & vertical Please find attached the original and the down-scaled images attached. Can you let us know what could be the issue. Is all the configuration Ok or else any other additional configuration also needed to be done? With regards, Jeyaseelan + +Responses: +Hi Jeyaseelan, What is the SoC you are using: TDA2 or TDA3? Regards, Rishabh + +Hi Rishabh, We use DRA74xx SoC only. It is for back camera(reverse gear) application. With regards, Jeyaseelan + +Hi Jeyaseelan, Ok. Have you tried using the same coefficients that you were using earlier: e2e.ti.com/.../704763 Sometime back I had faced same issue during driver development on a different SoC. It was an issue with coefficients and I got proper output with correct coefficients. Regards, Rishabh + +Hi Jeyaseelan, You might also want to check if you have set input and output height and width appropriately. Regards, Rishabh + +FIR_Calculation.zipHi Rishabh, For FIR co-efficients we have used the file referred by you on the processor_sdk only . coeff = halDssVidGetScalarCoeff(1280,1120); v_coeff = halDssVidGetScalarCoeff(720,630); It returns the table {9, 9, coefM9 }, for the downscaling ratio of 1280->1120 and 720->630 static const VpsHal_DssScCoeff coefM9[8] = { {-((Int16) 3), 10, 114, 10, -((Int16) 3)}, {-((Int16) 6), 24, 111, 0, -((Int16) 1)}, {-((Int16) 8), 40, 103, -((Int16) 7), 0}, {-((Int16) 11), 58, 91, -((Int16) 11), 1}, {0, -((Int16) 12), 76, 76, -((Int16) 12)}, {1, -((Int16) 11), 91, 58, -((Int16) 11)}, {0, -((Int16) 7), 103, 40, -((Int16) 8)}, {-((Int16) 1), 0, 111, 24, -((Int16) 6)}, }; Using the above table only coefficients are calculated.Have attached the test files used.Can you confirm if the calculation is fine? With regards, Jeyaseelan + +Hi Jeyaseelan, Kindly ignore my previous reply (I have deleted it to avoid confusion). I have a simple suggestion. Can you use the TI DSS driver and see if you get the correct output. You should run the TI driver and take DSS register dump and compare with dump of custom driver. You can easily check if you have a driver issue from the comparison of two dumps. The turnaround time will be very low with this approach. If you see the wrong output even with TI driver kindly post a reply here. Regards, Rishabh + +Hi Rishabh, TI DSS driver ,you mean running file "vpshal_dssDispcVid.c"directly? If so i will try to do run this and feedback in a couple of days. With regards, Jeyaseelan + +Hi, Display example is present here: PROCESSOR_SDK_VISION_03_04_00_00\ti_components\drivers\pdk_01_10_00_08\packages\ti\drv\vps\examples\dss\displayDss. This example works on TI EVM. You can modify this example to use the custom input parameters. You can run this to get the register dump. Regards, Rishabh + +Hi Rishabh, I am trying to set up for CCS for building the above source.Once done ,i will share the updates. With regards, Jeyaseelan + +Hi Jeyaseelan, To build the source you don't need CCS. This example is makefile based. Regards, Rishabh + +Hi Rishabh, I am trying to install vision sdk (PROCESSOR_SDK_VISION_03_04_00_00_setuplinux.bin)in linux systems.But it says unsupported file type.Please find the attached screen shot of installing.Can you let know to do installation in Linux side With regards, Jeyaseelan + +Hi, Can you try "sudo chmod +x ./PROCESSOR_SDK_VISION_03_04_00_00_setuplinux.bin" and then "sudo ./PROCESSOR_SDK_VISION_03_04_00_00_setuplinux.bin". Regards, Rishabh + +Hi Jeyaseelan, Are you able to get the proper image using Vision SDK? Regards, Rishabh + +Hi Rishabh, Now i can able to install with the steps you told above and make the vision sdk example -displayDss with default settings. It generated the below file vps_examples_displayDss_ipu1_0_release.xem4 Have the below questions. 1. Now i have to customize this for SoC DRA7xx and for custom board. Do you have any suggestion which files needed to be changed for this change 2. The bin file generated is in .xem4 extension. But we have it to be .out file for flashing.Can i directly rename it into .out file With regards, Jeyaseelan + +Hi Jeyaseelan, The answers are given below: 1. Can you check if this binary is under tda2xx folder. If yes then you don't need to customize it for SoC. The idea is that you should use this binary on TDA2xx EVM. Customizing the example for board requires a tangible effort and will not be useful to you. You can modify one of the test cases of this example depending on the display setup you have to exactly match the input and output height/width. 2. .xem4 is same as .out. You can use CCS to load and run this binary. Regards, Rishabh + +Hi Rishabh, Thanks for your reply. Currently in our board JTAG port is disabled and do not have access to CCS as well.Normally we flash the .out file and during u-boot time(A15) ,m4-IPU1 reset line is released after image is copied from flash to ram. So i changed the extension from .xem4 to .out and did our regular type of flashing and IPU1 run. But when tried to take register dump of DSS FIR co-efficient registers, all looks not initialized. => md.size 0x580010F0 580010f0: 00000000 00000000 00000000 00000000 ................ 58001100: 00000000 00000000 00000000 00000000 ................ 58001110: 00000000 00000000 00000000 00000000 ................ 58001120: 00000000 00000000 00000000 00000000 ................ 58001130: 00000000 00000000 00000000 00000000 ................ 58001140: 00000000 00000000 00000000 00000000 ................ 58001150: 00000000 00000000 00000000 00008400 ................ 58001160: 07ff07f8 00000800 00000001 00000001 ................ 58001170: 04000400 00000000 00000000 00000000 ................ 58001180: 00000000 00000000 00000000 00000000 ................ 58001190: 00000000 00000000 00000000 00000000 ................ 580011a0: 00000000 00000000 00000000 00000000 ................ 580011b0: 00000000 00000000 00000000 00000000 ................ 580011c0: 00000000 00000000 00000000 00000000 ................ 580011d0: 00000000 00000000 00000000 00000000 ................ 580011e0: 00000000 00000000 00000000 00000000 So i have a doubt if this binary is running. I will try to debug further and keep you updated. With regards, Jeyaseelan + +Hi Jeyaseelan, You can run this binary using SBL MLO (not uboot). Can you check Vision SDK documentation for details on how to create app image and run using SBL. Regards, Rishabh + +Hi, Can we close this thread if the issue is resolved. Regards, Rishabh + +Hi Rishabh, I am yet to validate the solution with SDK example . Still we can close this thread with the resolution "FIR Coefficient".If needed i will open a new thread in continuation when try to run the Vision example. With regards, Jeyaseelan + +Hi Jeyaseelan, Ok thanks for the update. Let me know if you face any issues with Vision example. Regards, Rishabh + diff --git a/sample_embedding_folder2/0712517.txt b/sample_embedding_folder2/0712517.txt new file mode 100644 index 0000000000000000000000000000000000000000..3de30366549bce12e87a6b0d7ad77c95d85c0fa2 --- /dev/null +++ b/sample_embedding_folder2/0712517.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: EVE/VCOP/KernelC : I am new to VCOP Programming, How the VCOP Kernel-C code taking Less time than Natural-C. + +Query Text: +Part Number: TDA2 # 2D Block Addition for Unsigned Byte Arrays : Natural C Code : -------------------------------------------------------------------------------- void vcop_vec_array_add_uns_char_cn (unsigned char a[], unsigned char b[], unsigned char c[], int blk_h, int blk_w) { int i3; int i4; for (i3=0; i3 /lib/firmware/pru/PRU_RPMsg_Echo_Interrupt1_0.out lrwxrwxrwx 1 root root 49 Jun 27 00:37 am57xx-pru1_1-fw -> /lib/firmware/pru/PRU_RPMsg_Echo_Interrupt1_1.out lrwxrwxrwx 1 root root 49 Jun 27 00:37 am57xx-pru2_0-fw -> /lib/firmware/pru/PRU_RPMsg_Echo_Interrupt2_0.out lrwxrwxrwx 1 root root 49 Jun 27 00:37 am57xx-pru2_1-fw -> /lib/firmware/pru/PRU_RPMsg_Echo_Interrupt2_1.out -rwxr-xr-x 1 root root 9941039 Jun 27 00:37 dra7-dsp1-fw-radio.xe66* -rw-r--r-- 1 root root 7438272 Jun 27 00:37 dra7-dsp1-fw.xe66 -rw-r--r-- 1 root root 889276 Jun 27 00:37 dra7-dsp1-fw.xe66.dspdce-fw -rw-r--r-- 1 root root 21810444 Jun 27 00:37 dra7-dsp1-fw.xe66.opencl-monitor -rw-r--r-- 1 root root 7438272 Jun 27 00:37 dra7-dsp2-fw.xe66 -rw-r--r-- 1 root root 21810444 Jun 27 00:37 dra7-dsp2-fw.xe66.opencl-monitor -rw-r--r-- 1 root root 9499744 Jun 27 00:37 dra7-ipu2-fw.xem4 -rw-r--r-- 1 root root 3743108 Jun 27 00:37 dra7-ipu2-fw.xem4.ipumm-fw -rw-r--r-- 1 root root 576565 Jun 27 00:37 dra7-ipu2-fw.xem4.map -rw-r--r-- 1 root root 186 Jun 27 00:37 goodix_9271_cfg.bin drwxr-xr-x 6 root root 4096 Jun 27 00:37 ipc/ drwxr-xr-x 2 root root 4096 Jun 27 00:37 pru/ drwxr-xr-x 2 root root 4096 Jun 27 00:37 ti-connectivity/ drwxr-xr-x 2 root root 4096 Jun 27 00:37 tigon/ -rw-r--r-- 1 root root 4002 Jun 27 00:37 vpdma-1b8.bin The files you were referencing do exist, but it seems that they are not linked. How do I proceed from here? Thank you!, -iFer + +Hi iFer, Please refer this link to link processors.wiki.ti.com/index.php to dynamically link multimedia ipumm firmware to IPU2 and check if it works. Note: OpenCV rtsc capture is not a tested usecase in vision-sdk. Thanks Ramprasad + +Hello, Thank you for your help! I attempted to follow the instructions to link firmware correctly by running these commands: cd /sys/bus/platform/drivers/omap-rproc/ echo 55020000.ipu > unbind rm /lib/firmware/dra7-ipu2-fw.xem4 ln -s /lib/firmware/dra7-ipu2-fw.xem4.ipumm-fw /lib/firmware/dra7-ipu2-fw.xem4 echo 55020000.ipu > bind I rebooted linux and double checked to see if the link stayed and that 55020000.ipu is still bounded and they were. I then attempted to rerun my code to open up an RTSP stream, but it still gives me these error messages: MmRpc_create: Error: open failed, name=/dev/rpmsg-dce ../git/libdce.c:416: dce_ipc_init ERROR: Failed eError == DCE_EOK error val -4../git/libdce.c:479: Engine_open ERROR: Failed dce_ipc_init(coreIdx) == DCE_EOK error val -4MmRpc_create: Error: open failed, name=/dev/rpmsg-dce ../git/libdce.c:416: dce_ipc_init ERROR: Failed eError == DCE_EOK error val -4../git/libdce.c:479: Engine_open ERROR: Failed dce_ipc_init(coreIdx) == DCE_EOK error val -4 Here is the output of ls -lF in the /lib/firmware directory: root@dra7xx-evm:/lib/firmware# ls -lF lrwxrwxrwx 1 root root 49 Jun 27 00:37 am57xx-pru1_0-fw -> /lib/firmware/pru/PRU_RPMsg_Echo_Interrupt1_0.out lrwxrwxrwx 1 root root 49 Jun 27 00:37 am57xx-pru1_1-fw -> /lib/firmware/pru/PRU_RPMsg_Echo_Interrupt1_1.out lrwxrwxrwx 1 root root 49 Jun 27 00:37 am57xx-pru2_0-fw -> /lib/firmware/pru/PRU_RPMsg_Echo_Interrupt2_0.out lrwxrwxrwx 1 root root 49 Jun 27 00:37 am57xx-pru2_1-fw -> /lib/firmware/pru/PRU_RPMsg_Echo_Interrupt2_1.out -rwxr-xr-x 1 root root 9941039 Jun 27 00:37 dra7-dsp1-fw-radio.xe66* -rw-r--r-- 1 root root 7438272 Jun 27 00:37 dra7-dsp1-fw.xe66 -rw-r--r-- 1 root root 889276 Jun 27 00:37 dra7-dsp1-fw.xe66.dspdce-fw -rw-r--r-- 1 root root 21810444 Jun 27 00:37 dra7-dsp1-fw.xe66.opencl-monitor -rw-r--r-- 1 root root 7438272 Jun 27 00:37 dra7-dsp2-fw.xe66 -rw-r--r-- 1 root root 21810444 Jun 27 00:37 dra7-dsp2-fw.xe66.opencl-monitor lrwxrwxrwx 1 root root 26 Jul 24 20:19 dra7-ipu2-fw.xem4 -> dra7-ipu2-fw.xem4.ipumm-fw -rw-r--r-- 1 root root 3743108 Jun 27 00:37 dra7-ipu2-fw.xem4.ipumm-fw -rw-r--r-- 1 root root 576565 Jun 27 00:37 dra7-ipu2-fw.xem4.map -rw-r--r-- 1 root root 186 Jun 27 00:37 goodix_9271_cfg.bin drwxr-xr-x 6 root root 4096 Jun 27 00:37 ipc/ drwxr-xr-x 2 root root 4096 Jun 27 00:37 pru/ drwxr-xr-x 2 root root 4096 Jun 27 00:37 ti-connectivity/ drwxr-xr-x 2 root root 4096 Jun 27 00:37 tigon/ -rw-r--r-- 1 root root 4002 Jun 27 00:37 vpdma-1b8.bin Here is the output of ls -lF in the /sys/bus/platform/drivers/omap-rproc directory root@dra7xx-evm:/sys/bus/platform/drivers/omap-rproc# ls -lF lrwxrwxrwx 1 root root 0 Jul 24 19:50 40800000.dsp -> ../../../../devices/platform/44000000.ocp/40800000.dsp/ lrwxrwxrwx 1 root root 0 Jul 24 19:50 41000000.dsp -> ../../../../devices/platform/44000000.ocp/41000000.dsp/ lrwxrwxrwx 1 root root 0 Jul 24 19:53 55020000.ipu -> ../../../../devices/platform/44000000.ocp/55020000.ipu/ --w------- 1 root root 4096 Jul 24 19:53 bind lrwxrwxrwx 1 root root 0 Jul 24 19:50 module -> ../../../../module/omap_remoteproc/ --w------- 1 root root 4096 Jul 24 19:50 uevent --w------- 1 root root 4096 Jul 24 19:53 unbind I need to open up an RTSP stream from an IP camera. Is there anyway for me to do that? If not, then is there a way for me to grab a frame from the IP camera using C++ code with the OpenCV libraries already on the visionSDK linux? Thank you!, -iFer + diff --git a/sample_embedding_folder2/0712818.txt b/sample_embedding_folder2/0712818.txt new file mode 100644 index 0000000000000000000000000000000000000000..c5bd7ba26633c0bb211b9a6632d752b86d013951 --- /dev/null +++ b/sample_embedding_folder2/0712818.txt @@ -0,0 +1,56 @@ +Ticket Name: TDA2: Tda2x VisionSDK + +Query Text: +Part Number: TDA2 Dear TI officer: We are developing the DMS (driver monitor system ) on TI tda2x ADAS SDK. and I am working on PROCESSOR_SDK_VISION_03_04_00_00, For our use case, beside openCV, we also need to have dlib, caffe and rppg libs. Can you guide us how to integrate these libs into TI tda2x VisionSDK? Is there pre-build and ready libs for us to direct integrate on the TI tda2x platform? Thanks and best regards He Wei Team leader for System architectures and deep learning Liteon Singapore + +Responses: +Hello Thanks for picking TI TDA2x and vision SDK for your DMS program. With respect to OpenCV, please note that you will have to use the pre-built library of openCV along with VSDK. It will not be possible to support you on how to build, adding new libs etc. to it, because the openCV support infrastructure is deprecated. I would suggest you to use the native "Links and Chain" architecture of Vision SDK rather than OpenCV to build your DMS application. Kumar, Kindly answer the queries related to dlib, caffe and rppg libs etc.? Regards, Shiju + +Dear officer, Any updated on dlib, caffe and rppg? Any pre-build libs? Is there any restriction on bios or linux? Thanks and best regards He Wei Team leader for System architectures and deep learning Liteon Singapore + +We do not support direect caffe library linking. Please refer below for TI's deep learning software offering. www.ti.com/.../spry314.pdf Also refer the user guide in the TIDL SW package (Available part of PROCESSOR_SDK_VISION_03_04_00_00 + +Dear Kumar, So "caffe is not linking directly" but its funcationality can be achieved by TIDL and TIDL is part of standard SDK release,e .g . PROCESSOR_SDK_VISION_03_04_00_00? Am I correct? Thanks and best regards He Wei Team leader for System architectures and deep learning Liteon Singapore + +Yes. you are right + +Dear Kumar, Firstly we are trying to use the OpenCV, based on the report from \ti_components\open_compute\opencv\opencv-3.1.0\docs , it shows some test cases are failure or not supported by bios, e.g. objdetect is not showing in bios, So Can i say Linux openCV provide better support/features than bios? And Can I direct build Linux openCV in windows environment by gmake? e.g. set the below in windows environment: MAKECONFIG=tda2xx_evm_linux_opencx I got complilation error when doing this. So To build linux opencv app, I must build it in native Linux host? i.e. I need to do : MAKECONFIG=tda2xx_evm_linux_opencx In native Linux host only? Thanks and best regards He Wei + +Hello If you use vision SDK Linux, then only Linux build environment is supported VSDK Bios can be built with either windows or Linux PC regards, Shiju + +Dear Shiju, Ok. I got question regarding on Linux build on PROCESSOR_SDK_VISION_03_04_00_00 by following VisionSDK_Linux_UserGuide.pdf: 1. Based on default configuration: MAKECONFIG=tda2xx_evm_linux_all The build is successfully and the corresponding 2 partition is generated in SD Card: a. boot: MLO u-boot.img uenv.txt b. rootfs: bin etc lib mnt opt sbin usr boot home lost+found opencl_fs_patches proc sys var dev include media opencl_fs_patches.tar.gz run tmp But when running from tdax2 board, it shows error: Booting from eMMC ... Wrong Image Format for bootm command ERROR: can't get kernel image! => Any advise on the error? Take note that: I am using "make" to build the sdk in my Linux host instead of "gmake" as indicated in user guild, is this typo in Linux user guild? Or I should install gmake in Linux? 2. Then If I change the build configure as: MAKECONFIG=tda2xx_evm_linux_opencx, Then I got build error: /home/hewei/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/../ti_components/os_tools/linux/targetfs/usr/share/ti/opencl/bin/x86/clocl: Command not found Makefile:5: recipe for target 'copy.dsp_h' failed make[7]: *** [copy.dsp_h] Error 127 Do I miss some things? Thanks and best regards He Wei + +Hello for building & testing VSDK Linux on TI EVM, kindly refer \vision_sdk\docs\Linux\VisionSDK_Linux_UserGuide.pdf for building and running OpenCV usecases refer \vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_UserGuide_opencx.pdf regards, Shiju + +Dear Shiju Tks and few questions: 1. In \vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_UserGuide_opencx.pdf, it means to build the openCV source code, (section 1.4), I thought the OpenCV is pre-build in the SDK already and no need to re-build from the source code, am I right? 2. Must to rebuild the cmem too? 3. In my build case, I set: MAKECONFIG=tda2xx_evm_linux_opencx, The error is that it can find the clocl cmd in the below path: home/hewei/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/../ti_components/os_tools/linux/targetfs/usr/share/ti/opencl/bin/x86/clocl: Command not found Should I install the "clocl" cmd in that path and build? Thanks and best regards He Wei + +Typo: The error is that it can not find the clocl cmd in the below path: home/hewei/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/../ti_components/os_tools/linux/targetfs/usr/share/ti/opencl/bin/x86/clocl: Command not found Should I install the "clocl" cmd in that path and build? + +Please make sure you untar the open CL tarball into the file system. Follow the steps in VisionSDK_Linux_UserGuide.pdf 2.4.2.2.4 Opencl supported package regards, Shiju + +Please make sure you untar the open CL tarball into the file system. Follow the steps in VisionSDK_Linux_UserGuide.pdf 2.4.2.2.4 Opencl supported package regards, Shiju + +Dear Shiju, We had done this 2.4.2.2.4 already. and Can I confirm if the "object detection" is supported by this Linux openCV build? (We understood the object detection is not supported in BIOS openCV, this is the reason we want to build in this Linux build.) Thanks and best regards He Wei + +Hello object detection is not supported in OpenCV build, neither Bios nor Linux build regards, Shiju + +Dear Shiju, So we won't get any additional openCV features support if switching from TI Bios build to TI Linux build, am I right? Based on the test report from ti_components\open_compute\opencv\opencv-3.1.0\docs: there is one sheet "objdetect" in vayu_arm_linux_opencv_test_report.xlsx but this sheet is not shown in vayu_arm_bios_opencv_test_report.xlsx. Actually this is the reason we thought objection detection is supported in Linux build . So this is not the case? Thanks and best regards He Wei + +He Wei You are right, there is an OD present in opencv\opencv-3.1.0 lib, but not tested with vision SDK. VSDK have OD usecase without OpenCV in Bios build, just see if you can use this \vision_sdk\apps\src\rtos\usecases\vip_single_cam_object_detection2 The same UC can be ported to VSDK Linux also (with out OpenCV) Regards, Shiju + +Dear Shiju, More clear now. Normally OD is a standard feature/package in OpenCV, any reason why it is not in the TI SDK OpenCV pre-build? Any constraint? (I am asking to check if it is worth for us to do the cross-compile to add OD in). Or there is already a alternate away as you mentioned to preform the OD already hence there is no need for OpenCV OD? Further, what is the exact list of supported OpenCV features in ths VSDK ? e.g. Feature2D, imgproc, etc. - by knowing this, we could know what we can use and we can't use for the TI VSDK prebuild OpenCV. Thanks and best regards He Wei + +Dear Shiju, In addition, I notice in: \vision_sdk\apps\src\rtos\usecases\vip_single_cam_object_detection2 It is based on TDA3xx, actually we are workin gon TDA2xx board, hence this UC will not be usefully for us? Any OD UC is based on TDA2xx? Thanks and best regards He Wei + +Hi He Wei No, we do not support any of this features (OD, Feature2D, imgproc, etc.) in recompiled open CV lib. Very basic kernel/functions like cannyedge & dilation are only supported. Please use pre-built library of openCV. It will not be possible to support you to add new libs and on how to build it etc. because the openCV support infrastructure with VSDK is deprecated. regards, Shiju + +Hello He Wei \vision_sdk\apps\src\rtos\usecases\vip_single_cam_object_detection2 is supported on both TDA2x and TDA3x regards, Shiju + +Dear Shiju Noticed and Can I ask what is detail kernel/functions for TI VSDK pre-build OpenCV supported? (The reason I am asking is because we have some algo./function developed in Windows based on OpenCV, now we need to re-design/re-implement rather than direct porting as thought before, but we need to know what is exactly the TI SDK pre-build OpenCV can support..) Thanks and best regards He Wei + +This seems like a duplication , thread we are discussing same issue in another thread e2e.ti.com/.../2635980 So closing this thread + +Dear Shiju, I noticed that in PROCESSOR_SDK_VISION_03_04_00_00\ti_components\open_compute\opencv\opencv-3.1.0, it contains both openCV ibs_bios and libs_linux, So does it means TI has done the OpenCV cross-compile for both ARM bios and Linux? If this is the case, Can I just include these lib (+header files) into SDK then I can have entire set of OpenCV? Thanks and best regards He Wei + +Hi He Wei Yes, VSDK support openCV on A15 Bios and Linux, But only very basic features with limited testing. Please note that, VSDK release note stated as "For OpenCV, OpenCL & OpenVX, this is a preliminary release with limited testing (Alpha Quality)" VSDK OpenCV support infrastructure is deprecated and we would't be able to support you if any issues you face later when adding new libs or rebuilding the libs Regards, Shiju + diff --git a/sample_embedding_folder2/0712905.txt b/sample_embedding_folder2/0712905.txt new file mode 100644 index 0000000000000000000000000000000000000000..d366883c1885d3a6a320ed93ea466e1f4f52f522 --- /dev/null +++ b/sample_embedding_folder2/0712905.txt @@ -0,0 +1,22 @@ +Ticket Name: TDA2: VYUY format to YUYV or UYVY or YUV420SP Color Conversion + +Query Text: +Part Number: TDA2 Hi, We have used the VSDK 3.04. I know converting YUYV to UYVY or YUV420SP, UYVY to YUYV or YUV420SP in VSDK. But I don't know converting VYUY to UYVY or YUV420SP, VYUY to YUYV or YUV420SP in VSDK The color format input from our Camera is VYUY. So we want to convert VYUY color format to YUYV or UYVY or YUV420SP using VPE for display. Please Let me know how to convert VYUY color format to YUYV or UYVY or YUV420SP. Regards, JP Park + +Responses: +As far as I know this is not possible. Let me check this again once more if by using VPDMA we can swap these bytes. + +Hi Sivaraj Thank you for your quick response. Please Let us know if you can use VPDMA to swap this byte or not. I have tried to test it after modifying as below. chains_common_vision.c : pInprms->dataFormat = SYSTEM_DF_YUV422I_VYUY; : pOutprms->dataFormat = SYSTEM_DF_YUV422I_YUYV; vpscore_vip.c if (FVID2_DF_YUV422I_VYUY == pathObj->srcColorSpace) { /* Special handling for 420SP and 422SP only for UV order. * Y and UV channel swap will be done in * VpsCore_vipPathCheck422SPOut() */ if (FVID2_DF_YUV422I_YUYV == pathObj->dstColorSpace[strm]) { pathObj->dstColorSpace[strm] = FVID2_DF_YUV422I_YVYU; -> FVID2_DF_YUV422I_YUYV : modify } However, it has not been converted to the normal color format. Regards, JP Park + +Can you test once again without changing any driver and just by setting output data format to FVID2_DF_YUV422I_VYUY? VIP assumes 8-bit data to come in as U0 Y0 V1 Y1. When we select FVID2_DF_YUV422I_VYUY output format, we typically get V1 Y0 U0 Y1. Since your inout is U and V swapped (V0 Y0 U1 Y1), when you do this you should get U1 Y0 V0 Y1. That is 422I_UYVY. + +Hi Sivaraj I have tried to set output data format to FVID2_DF_YUV422I_VYUY but occuerrd format error in display driver. So i tried as below. if (FVID2_DF_YUV422I_YUYV == pathObj->dstColorSpace[strm]) { pathObj->dstColorSpace[strm] = FVID2_DF_YUV422I_YVYU; -> FVID2_DF_YUV422I_YUYV : modify } and i have tried to modify various format but failed. Please give me other infrom solving VYUY input format. e2e.ti.com/.../2629593 Regards, JP Park. + +Park, Display does not support this format. First can you check if are you able to capture correct data with the suggested format? Then we need to modify display link to change format accordingly. Rgds, Brijesh + +Hi JP, I am closing thread due to inactivity. Please open it if you have further questions. Rgds, Brijesh + +Hi Brijesh, I have tested it with the following modifications, but this problem has not been solved. - chains_common_vison.c pInstPrm->videoIfMode = SYSTEM_VIFM_SCH_DS_HSYNC_VSYNC; pInstPrm->videoIfWidth = SYSTEM_VIFW_8BIT; pInstPrm->bufCaptMode = SYSTEM_CAPT_BCM_FRM_DROP; pInstPrm->numStream = 1; pInprms = &pInstPrm->inParams; pInprms->width = captureInWidth; pInprms->height = captureInHeight; pInprms->dataFormat = SYSTEM_DF_YUV422P; pInprms->scanFormat = SYSTEM_SF_PROGRESSIVE; for (streamId = 0; streamId < CAPTURE_LINK_MAX_OUTPUT_PER_INST; streamId++) { pOutprms = &pInstPrm->outParams[streamId]; pOutprms->width = pInprms->width; pOutprms->height = pInprms->height; pOutprms->dataFormat = SYSTEM_DF_YUV422I_VYUY; //modify pOutprms->maxWidth = pOutprms->width; pOutprms->maxHeight = pOutprms->height; pOutprms->scEnable = FALSE; - and modify displayLink_drv.c to avoid display format error dssPrms->inFmt.height = pInChInfo->height; dssPrms->inFmt.pitch[0u] = pInChInfo->pitch[0]; dssPrms->inFmt.pitch[1u] = pInChInfo->pitch[1]; dssPrms->inFmt.pitch[2u] = pInChInfo->pitch[2]; dssPrms->inFmt.dataFormat = SYSTEM_DF_YUV422I_UYVY; //modify //System_Link_Ch_Info_Get_Flag_Data_Format(pInChInfo->flags); if(dssPrms->inFmt.dataFormat == SYSTEM_DF_ARGB32_8888) { /* Convert to equivalent Display format */ dssPrms->inFmt.dataFormat = SYSTEM_DF_BGRA32_8888; } dssPrms->inFmt.fieldMerged[0] = FALSE; dssPrms->inFmt.scanFormat = FVID2_SF_PROGRESSIVE; if (pObj->createArgs.displayScanFormat == SYSTEM_SF_INTERLACED) { dssPrms->inFmt.fieldMerged[0] = (UInt32)TRUE; dssPrms->inFmt.scanFormat = FVID2_SF_INTERLACED; } Do you support the VYUY format ? Regards, JP Park. + +Hi Park, It seems to be supported. Can you please dump one capture frame and share it across? Rgds, Brijesh + diff --git a/sample_embedding_folder2/0713169.txt b/sample_embedding_folder2/0713169.txt new file mode 100644 index 0000000000000000000000000000000000000000..8a150c824ead70db8970326bd8383ae0385ed41a --- /dev/null +++ b/sample_embedding_folder2/0713169.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2: how to get DSP algorithm use time + +Query Text: +Part Number: TDA2 Tool/software: Linux how to getting the actual time consuming of the DSP algorithm? i have use WH_time[0] = _itoll(TSCH, TSCL); to get the circles of fuctions ,but i donot know how to get the actual time! BESTWISHES shuai + +Responses: +follow is the log , i use _itoll(TSCH, TSCL) and get the time is about 104ms , but i sub 80.123833 s: AHD_Detect_times2 = 104.159703 ms - [HOST] [DSP1 ] 79.984444 s: AHD_Detect_times2 = 104.099196 ms is about 140 ms, so is there anyway to get the fuction actual time not circles. [HOST] [DSP1 ] 79.845604 s: g_sImage.pi32Pitch[0]: DMA: width CH (TCC) = 768 (768) [HOST] [DSP1 ] 79.845635 s: wordWidth42: DMA: height42 CH (TCC) = 107 (107) [HOST] [DSP1 ] 79.846489 s: Af▒ [HOST] [DSP1 ] 79.984444 s: AHD_Detect_times2 = 104.099196 ms [HOST] [DSP1 ] 79.984505 s: i32SignNumber: DMA: height5 CH (TCC) = 1 (576) [HOST] [DSP1 ] 79.984536 s: 2 593 714 335 520 [HOST] [DSP1 ] 79.984810 s: inPitch[0]: DMA: outPitch[0] CH (TCC) = 768 (4096) [HOST] [DSP1 ] 79.984841 s: wordWidth2: DMA: height2 CH (TCC) = 768 (576) [HOST] [DSP1 ] 79.984871 s: g_sImage.pi32Pitch[0]: DMA: width CH (TCC) = 768 (768) [HOST] [DSP1 ] 79.984902 s: wordWidth42: DMA: height42 CH (TCC) = 107 (107) [HOST] [DSP1 ] 79.985756 s: Af▒ [HOST] [DSP1 ] 80.123833 s: AHD_Detect_times2 = 104.159703 ms [HOST] [DSP1 ] 80.123863 s: i32SignNumber: DMA: height5 CH (TCC) = 1 (576) [HOST] [DSP1 ] 80.123924 s: 2 593 714 335 520 [HOST] [DSP1 ] 80.124229 s: inPitch[0]: DMA: outPitch[0] CH (TCC) = 768 (4096) [HOST] [DSP1 ] 80.124260 s: wordWidth2: DMA: height2 CH (TCC) = 768 (576) [HOST] [DSP1 ] 80.124290 s: g_sImage.pi32Pitch[0]: DMA: width CH (TCC) = 768 (768) [HOST] [DSP1 ] 80.124290 s: wordWidth42: DMA: height42 CH (TCC) = 107 (107) [HOST] [DSP1 ] 80.125175 s: Af▒ [HOST] [DSP1 ] 80.263039 s: AHD_Detect_times2 = 104.039445 ms [HOST] [DSP1 ] 80.263100 s: i32SignNumber: DMA: height5 CH (TCC) = 1 (576) [HOST] [DSP1 ] 80.263130 s: 2 593 714 335 520 [HOST] [DSP1 ] 80.263405 s: inPitch[0]: DMA: outPitch[0] CH (TCC) = 768 (4096) [HOST] [DSP1 ] 80.263435 s: wordWidth2: DMA: height2 CH (TCC) = 768 (576) [HOST] [DSP1 ] 80.263435 s: g_sImage.pi32Pitch[0]: DMA: width CH (TCC) = 768 (768) [HOST] [DSP1 ] 80.263466 s: wordWidth42: DMA: height42 CH (TCC) = 107 (107) [HOST] [DSP1 ] 80.264350 s: Af▒ [HOST] [DSP1 ] 80.402488 s: AHD_Detect_times2 = 104.230851 ms [HOST] [DSP1 ] 80.402519 s: i32SignNumber: DMA: height5 CH (TCC) = 1 (576) [HOST] [DSP1 ] 80.402549 s: 2 593 714 335 520 [HOST] [DSP1 ] 80.402854 s: inPitch[0]: DMA: outPitch[0] CH (TCC) = 768 (4096) [HOST] [DSP1 ] 80.402915 s: wordWidth2: DMA: height2 CH (TCC) = 768 (576) [HOST] [DSP1 ] 80.402946 s: g_sImage.pi32Pitch[0]: DMA: width CH (TCC) = 768 (768) [HOST] [DSP1 ] 80.402976 s: wordWidth42: DMA: height42 CH (TCC) = 107 (107) [HOST] [DSP1 ] 80.403800 s: Af▒ [HOST] [DSP1 ] 80.541725 s: AHD_Detect_times2 = 104.039919 ms + +Using TSCH/TSCL we can get the DSP cycles across a function. But to get the time you will have to divide by CPU frequency t0 = _itoll(TSCH, TSCL); funcABC(); t1 = _itoll(TSCH, TSCL); cycles = t1 - t0; time = (cycles / CPU_frequency) * 1000 Eg. lets cycles = 20,000,000 and CPU freq = 600,000,000 So time - (20,000,000 / 600,000,000) * 1000 = 33ms Regards, Shyam + +Hi Shyam question1 from this boot inf my cpu Frequency is 750000000 Hz?? [HOST] [HOST ] 30.213292 s: SYNC_2 : Init done - linkid-0x0 [HOST] [HOST ] 30.213444 s: SYNC_3 : Init done - linkid-0x0 [HOST] [HOST ] 30.216403 s: MERGE_0 : Init done - linkid-0x0 [HOST] [HOST ] 30.216555 s: MERGE_1 : Init done - linkid-0x0 [HOST] [HOST ] 30.216708 s: MERGE_2 : Init done - linkid-0x0 [HOST] [HOST ] 30.216860 s: MERGE_3 : Init done - linkid-0x0 [HOST] [HOST ] 30.219849 s: MERGE_4 : Init done - linkid-0x0 [HOST] [HOST ] 30.220002 s: SELECT_0 : Init done - linkid-0x0 [HOST] [HOST ] 30.220124 s: SELECT_1 : Init done - linkid-0x0 [HOST] [HOST ] 30.220215 s: GATE_0 : Init done - linkid-0x0 [HOST] [HOST ] 30.220276 s: GATE_1 : Init done - linkid-0x0 [HOST] [HOST ] 30.220368 s: GATE_2 : Init done - linkid-0x0 [HOST] [HOST ] 30.220490 s: GATE_3 : Init done - linkid-0x0 [HOST] [HOST ] 30.220581 s: SGXFRMCPY_0 : Init done - linkid-0x2000040 [HOST] [HOST ] 30.220612 s: SYSTEM: Initializing A15 Links ... DONE !!! [HOST] [HOST ] 30.220978 s: OSA: Adjusting global time, timeH by 0 units!!! [HOST] [HOST ] 30.221008 s: SYSTEM: System A15 Init Done !!! [HOST] [DSP1 ] 16.392423 s: ***** DSP1 Firmware build time 17:35:58 Jul 26 2018 [HOST] [DSP1 ] 16.392484 s: *** SYSTEM: CPU Frequency , [HOST] [DSP1 ] 16.392728 s: SYSTEM: System Common Init in progress !!! [HOST] [DSP1 ] 16.392911 s: SYSTEM: IPC init in progress !!! [HOST] [DSP1 ] 16.392942 s: SYSTEM: Attaching to [IPU2] ... [HOST] [DSP1 ] 16.675959 s: SYSTEM: Attaching to [IPU2] ... SUCCESS !!! [HOST] [DSP1 ] 16.725645 s: SYSTEM: Attaching to [DSP2] ... SUCCESS !!! [HOST] [DSP1 ] 16.750106 s: SYSTEM: Attaching to [EVE1] ... SUCCESS !!! [HOST] [DSP1 ] 16.770054 s: SYSTEM: Attaching to [EVE2] ... SUCCESS !!! [HOST] [DSP1 ] 16.790154 s: SYSTEM: Attaching to [EVE3] ... SUCCESS !!! [HOST] [DSP1 ] 16.810101 s: SYSTEM: Attaching to [EVE4] ... SUCCESS !!! [HOST] [DSP1 ] 16.810162 s: SYSTEM: Notify register to [IPU2] line 0, question2 from follow inf i sub 80.123833 s-79.984444 s=140ms ([HOST] [DSP1 ] 79.984444 s: AHD_Detect_times2 = 104.099196 ms [HOST] [DSP1 ] 80.123833 s: AHD_Detect_times2 = 104.159703 ms ) so i think AHD_Detect_times2 is small than 140ms?? right ? HOST] [DSP1 ] 79.845604 s: g_sImage.pi32Pitch[0]: DMA: width CH (TCC) = 768 (768) [HOST] [DSP1 ] 79.845635 s: wordWidth42: DMA: height42 CH (TCC) = 107 (107) [HOST] [DSP1 ] 79.846489 s: Af▒ [HOST] [DSP1 ] 79.984444 s: AHD_Detect_times2 = 104.099196 ms [HOST] [DSP1 ] 79.984505 s: i32SignNumber: DMA: height5 CH (TCC) = 1 (576) [HOST] [DSP1 ] 79.984536 s: 2 593 714 335 520 [HOST] [DSP1 ] 79.984810 s: inPitch[0]: DMA: outPitch[0] CH (TCC) = 768 (4096) [HOST] [DSP1 ] 79.984841 s: wordWidth2: DMA: height2 CH (TCC) = 768 (576) [HOST] [DSP1 ] 79.984871 s: g_sImage.pi32Pitch[0]: DMA: width CH (TCC) = 768 (768) [HOST] [DSP1 ] 79.984902 s: wordWidth42: DMA: height42 CH (TCC) = 107 (107) [HOST] [DSP1 ] 79.985756 s: Af▒ [HOST] [DSP1 ] 80.123833 s: AHD_Detect_times2 = 104.159703 ms BESTWISHES SHUAI + +Hi Shuai, 1. Yes 2. Yes Regards, Shyam + diff --git a/sample_embedding_folder2/0713226.txt b/sample_embedding_folder2/0713226.txt new file mode 100644 index 0000000000000000000000000000000000000000..87d725e0c9a7d5083df1a34d4627bc79bb50fc50 --- /dev/null +++ b/sample_embedding_folder2/0713226.txt @@ -0,0 +1,191 @@ +Ticket Name: RTOS/TDA2: Unable to compile opencv + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Dear TI I am try to compile the VisionSDK with the the opencv that i can see the canny function. below is the setting under Rules.mk MAKECONFIG=tda2xx_evm_bios_all The attach is the cfg.mk which i had set.. After compile i have the error 4743.cfg.txt # +# This file defines the modules included in $(MAKECONFIG) config +# +# Modules are split into, +# - Use-cases specified in uc_cfg.mk +# - Other system config/feature, specified in this file +# +# Any specific overrides are also specified in this file +# Example, for TDA3x SoC EVE2/3/4 are not present and hence force marked as , i.e disabled +# + +# +# Additional config options +# + +# +# CPUs to included in build +# +PROC_IPU1_0_INCLUDE=yes +PROC_IPU1_1_INCLUDE=yes +PROC_IPU2_INCLUDE=yes +PROC_A15_0_INCLUDE=yes +PROC_DSP1_INCLUDE=yes +PROC_DSP2_INCLUDE=yes +PROC_EVE1_INCLUDE=yes +PROC_EVE2_INCLUDE=yes +PROC_EVE3_INCLUDE=yes +PROC_EVE4_INCLUDE=yes + + +VSDK_BOARD_TYPE=TDA2XX_EVM + +DUAL_A15_SMP_BIOS=no + +# Supported values: DDR_MEM_512M +DDR_MEM=DDR_MEM_512M + +# Supported values: ipu1_0 ipu1_1 a15_0 none +NDK_PROC_TO_USE=a15_0 + +#Used to control TFDTP stack (supported only when NDK_PROC_TO_USE = ipu1_1) +NSP_TFDTP_INCLUDE=no + +# Supported values: ipu1_0 none +FATFS_PROC_TO_USE=ipu1_0 + +# +# Used to control building of algorithm source. +# By default algorithm source not included in Vision SDK +# +BUILD_ALGORITHMS=no + +# +# Applies profile to all cores +# +# Supported profiles: release debug +#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) + +# +# For TDA2xx & TDA2Ex - vision SDK can run on either IPU1 or IPU2 subsystem +# For TDA3xx - We have only IPU1 and hence IPU1 is the only option +# Select IPU primary core from the available IPU1 & IPU2 subsytems +# +# Supported values: ipu1_0 ipu2 +IPU_PRIMARY_CORE=ipu1_0 +IPU_SECONDARY_CORE=ipu2 + +# +# Set A15_TARGET_OS +# A15 can run Linux or Bios +# +# A15_TARGET_OS support +# Platform BIOS Linux +# +# TDA2XX_EVM yes yes +# TDA3XX_EVM yes no +# TDA2EX_EVM yes yes +# +# Supported values: Bios Linux +A15_TARGET_OS=Bios + +IVAHD_INCLUDE=yes +VPE_INCLUDE=yes +DSS_INCLUDE=yes + +# +# EMIF ECC and Freedom from Interference (FFI) are clubbed together as they +# involve consolidated memory map changes +# ECC_FFI_INCLUDE=yes is not supported for DDR_MEM_128M +# If ECC_FFI_INCLUDE is set to no - memory map will match older versions. +# Firewall configuration and DSP XMC configuration is enabled/disabled using this +# flag +# Vision SDK does not enable EMIF ECC but expects SBL to enable it. +# Vision SDK sets up ECC error handlers irrespective of value of ECC_FFI_INCLUDE. +# +ECC_FFI_INCLUDE=no + +AVB_INCLUDE=no + +# +# Enable below macro to enable DCAN integration into Vision SDK. +# +DCAN_INCLUDE=no + +# +# Enable below macro to enable Radar integration into Vision SDK +# +RADAR_INCLUDE=no + +# +# Enable below macro to enable OPENVX into Vision SDK +# +OPENVX_INCLUDE=yes + +CIO_REDIRECT=yes + +CPU_IDLE_ENABLED=yes + +# +# Enable below macro to view the bandwidth used by different IPs in the device +# as a graphical plot on the display screen. +# +DATA_VIS_INCLUDE=no + +OPENCL_INCLUDE=yes +ENABLE_OPENCV=yes + +HS_DEVICE=no + +# +# Enable this macro to enable Ultra sonic based initialization +# This is added as the power measurement and Ultra sonic use the same +# pad on the device. Kindly note the Ultrasonic and power measurement +# use the same GPIO6_14/15 pads with different functionalities. Ultrasonic configures +# UART10 on those pads and power measurement configures I2C3. Hence when this +# macro is yes the power measurement functionality is not supported. +# +ULTRASONIC_INCLUDE=no + +# Enable this macro to enable profiling features through system analyzer on CCS +ENABLE_UIA_PROFILING=no + +# +#Flag for task profiling +# +ENABLE_TASK_PROFILE_UTIL=yes + +include $($(MAKEAPPNAME)_PATH)/configs/$(MAKECONFIG)/uc_cfg.mk + +Responses: +Hi Wilson, Please use MAKECONFIG=tda2xx_evm_bios_opencx under Rules.make for OpenCV Regards Surya + +Dear Surya I also have a feel its that but i have try to compile and run and got these message + +Hi Wilson, Did you install all the components while installing vision sdk release ? Looking like "highgui.h" file is missing which is part of openCV release lib Could you please confirm "highgui.h" file is present under \ti_components\open_compute\opencv\opencv-3.1.0\include\opencv Regards Surya + +Dear Surya I had install the it already when i compile this + +Dear Surya I try to do a gmake -s -j showconfig and notice this is. please see pic. could this be a problem? + +Hi Wilson, No, this is nothing to do with TARGET_ROOTDIR I misinterpreted the issue, This is looking like windows 8191 characters limitation issue & is documented in TDA2xx UserGuide section 3.2 Please refer below statement IMPORTANT NOTE: If the installation folder depth is high then windows cmd prompt fails with error that it cannot find a file, even in file is present in mentioned path, this is because Windows has a limitation of 8191 characters for the commands that can execute. In such a situation as a workaround either restrict the folder depth to d:/ or if it cannot be restricted use git bash to build. Refer support.microsoft.com/.../830473 for more details. Git version used for testing is 2.13 (Always point to xdc path gmake only) Regards Surya + +Dear Surya Can you advise how to do build it using git bash + +Hi wilson, Same gmake command you can use to build gmake -s -j depend gmake -s -j Regards Surya + +Dear Surya I am still have the same error + +Hi Wilson, Try a clean build Also please run "where gmake" or "which gmake" & confirm it is pointed to xdc tool remove below folders before building 1. vision_sdk\binaries 2. vision_sdk\links_fw\include\config then run below commands gmake clean gmake -s -j depend gmake -s -j Regards Surya + +Dear Surya after following what you mention. it still the same error. I have try it on git bash and git cmd the error is the same. + +Hi Wilson, Can you try building without -j option ? I tried with both (with and without -j option, it built successfully) Regards Surya + +Dear Surya Not sure why. i have create new visionsdk after setting some of the parameter i has no error. + diff --git a/sample_embedding_folder2/0713232.txt b/sample_embedding_folder2/0713232.txt new file mode 100644 index 0000000000000000000000000000000000000000..ba33548ea2db43c5506a1ebf328a34971fc1e29d --- /dev/null +++ b/sample_embedding_folder2/0713232.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: VPE scale function + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS We successfully used the hardware VPE on the TDA2 to scale the image. We want to simulate VPE scaling on the PC side. Can you provide me with the C code or algorithm principle for analog VPE image scaling? + +Responses: +We don;t have C model for VPE + diff --git a/sample_embedding_folder2/0713318.txt b/sample_embedding_folder2/0713318.txt new file mode 100644 index 0000000000000000000000000000000000000000..9362ea4ddb157d0f9536f8acf8bf7464d35fea2b --- /dev/null +++ b/sample_embedding_folder2/0713318.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: tda2x + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: AWR1642, AWR1243, Dear officer, We are developing both tda2x and mmWave sensor module AWR1642, and I notice that the tda2x support radar input module AWR1243 from the tda2x doc. So What is main difference between AWR1642 and AWR1243? It is true that AWR1642 will do all the data process such as range, velocity and angle etc by itself while AWR1243 will only output raw data to tda2x and let tda2x to perform the data processing? Thanks and best regards He Wei Team leader for System architectures and Deep learning. + +Responses: +Hi He Wei, The nut shell description is correct. The AWR16 does the processing in the integrated C67x DSP and can send processed data output to TDA2 via CAN/SPI. AWR12 would sendout raw data out through CSI. You would need to convert the CSI format to VIP to capture on TDA2, or directly connect to the CSI interface on TDA3x/TDA2px. A high level comparisson between AWR16 and AWR12 is as below: www.ti.com/.../compare.html Thanks and Regards, Piyali + +Dear Piyali, Thanks a lot for the clear explanation. Thanks and best regards He Wei Team leader for System architectures and Deep learning LiteOn Singapore Automotive Electronics + +Hi He wei, Glad your query is resolved. Please feel free to mark the post which answered your question for the benefit of others and post any new questions in a separate post. Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0713332.txt b/sample_embedding_folder2/0713332.txt new file mode 100644 index 0000000000000000000000000000000000000000..c4e76a186053dbbba4ef66c47b602f9ddbd3e2a9 --- /dev/null +++ b/sample_embedding_folder2/0713332.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: Matrix transposed + +Query Text: +Part Number: TDA2 Tool/software: Linux how can i make Matrix transposed fast can EDMA done? 256*64 to 64*256 thanks! + +Responses: +Hi Shuai, can you check this post and see if it can give you some directions: e2e.ti.com/.../1447538 Regards, Yordan + diff --git a/sample_embedding_folder2/0713650.txt b/sample_embedding_folder2/0713650.txt new file mode 100644 index 0000000000000000000000000000000000000000..4e28c3736dff20ab2bf74b6c43dfb43562edd6e3 --- /dev/null +++ b/sample_embedding_folder2/0713650.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: TDA2 supported Image Format + +Query Text: +Part Number: TDA2 Tool/software: Linux Does TDA2 support output format of AR0132AT6C00XPEA0 as below, 30fps? Does it need any buffer in between? + +Responses: +Hi, Well it can capture these RAW images formats, but it cannot convert into YUV. There is no hardware module to convert RAW to YUV. You need to write your own SW algo for the same. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0713737.txt b/sample_embedding_folder2/0713737.txt new file mode 100644 index 0000000000000000000000000000000000000000..eeea9ea7b27f6b77d863a64cb0c30a702e63b284 --- /dev/null +++ b/sample_embedding_folder2/0713737.txt @@ -0,0 +1,20 @@ +Ticket Name: Compiler/TDA2: Fail to linking openCV file (objdetect) + +Query Text: +Part Number: TDA2 Tool/software: TI C/C++ Compiler Dear TI So in another words if i need to use objdetect then i have to use it in linux. am i correct? In future will TI look into this area to enable bios to use objdetect? + +Responses: +Hi, TI does not support object detection using OPENCV and there is no such plan in future to add support for it. If you want to use object detection then you can use BIOS usecases vip_single_cam_lane_detection vip_single_cam_object_detection2 Regards, Anuj + +Dear Anuj Just to verify then if we using linux instead we should be able to use objdetect.hpp in openCV + +Hi, In VSDK we have a prebuilt OPENCV library. We do not support building of OPENCV library. regards, Anuj + +Dear Anuj I am working in same team as Winson, I got 3 questions: 1. Because BIOS did't support object detection, so we want to build SDK in Linux host, i.e. using OpenCV in Linux version, Can I confirm if the openCV in TI Linux build will support object detection? 2. As suggested, to use openCV in TI linux build, we follow the VisionSDK_UserGuide_opencx.pdf, but this doc tell us that we need to rebuild the OpenCV from source code and also need to rebuild cmem, Do we really need to rebuild these from source code? 3. In my Linux host, I set the build config as: MAKECONFIG=tda2xx_evm_linux_opencx, The error is that it can not find the clocl cmd in the below path: home/hewei/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/../ti_components/os_tools/linux/targetfs/usr/share/ti/opencl/bin/x86/clocl: Command not found Should I install the "clocl" cmd in that path and build? Please advise Thanks and best regards He Wei + +Hi, TI does not support object detection using OPENCV. Bios suppport object detection using some algorithm running on bios. Please use the above suggested usecases. Regards, Anuj + +Dear Anuj So we won't get any additional openCV features support if switching from TI Bios build to TI Linux build, am I right? Based on the test report from ti_components\open_compute\opencv\opencv-3.1.0\docs: there is one sheet "objdetect" in vayu_arm_linux_opencv_test_report.xlsx but this sheet is not shown in vayu_arm_bios_opencv_test_report.xlsx. Actually this is the reason we thought objection detection is supported in Linux build . So this is not the case? Thanks and best regards He Wei + +Yes, you are right. If its been supported in VSDk then a supported usecase will be there for linux. Regards, Anuj + diff --git a/sample_embedding_folder2/0713749.txt b/sample_embedding_folder2/0713749.txt new file mode 100644 index 0000000000000000000000000000000000000000..d64d8447e2b8c84b9fe35299e94d1f3baad6889c --- /dev/null +++ b/sample_embedding_folder2/0713749.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: dsp and eve real-time control and algorithm partition + +Query Text: +Part Number: TDA2 Hi , One question, is there any paper or link about how to code into both dsp and eve together? I mean some example code and the responding detailed paper. Even more, I want to run many tasks onto both dsp and eve, so how to partition so many task or algorithm to different cores? Could you please show me the paper and code about what I am so interested in? Looking forward to your reply! Yours Lv + +Responses: +Any one can answer this question? + +Hi, I can not provide you some paper but you can take refrence of some docs available with vision sdk and understand the MCFW framework. You have to develope your link which can run on both dsp and eve cores. For code you can refer to vision_sdk\apps\src\rtos\alg_plugins\tidl For docs vision_sdk\docs\Architecture vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_DevelopmentGuide.pdf Regards, Anuj + diff --git a/sample_embedding_folder2/0714062.txt b/sample_embedding_folder2/0714062.txt new file mode 100644 index 0000000000000000000000000000000000000000..ecd5dbecf1de8c15f50828e66c37d1d667727961 --- /dev/null +++ b/sample_embedding_folder2/0714062.txt @@ -0,0 +1,20 @@ +Ticket Name: Linux/TDA2: float data exp optimization + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: MATHLIB Tool/software: Linux i have a func have to do many exp , how can i optimization it make it fast! + +Responses: +i use expsp_i in SDK_VISION_03_02_00_00\ti_components\algorithms\mathlib_c66x_3_1_0_0\packages\ti\mathlib\src\expsp replace exp,but i think result is not similar . + +Hi Shuai, I am not familiar with that, but I see there are also "expsp" and "expsp_c" functions, can you try with them? Regards, Yordan + +Hi:Yordan exp2sp is similar with exp ,,expsp and exp have big diffrence! what is expsp and exp2sp mean? BESTWISHES shuai + +Hi Shuai, exp2sp(a) calculates 2 raised to the power a, expsp(a) calculates number 'e' raised to power a. Regards, Yordan + +Hi Yordan i compare expsp(a) and exp(a) , have some problem , some time is right but for negative is error. follow is the print x2 x3 is input ahi and alo is expsp(x2 ) expsp(x3) ahi1 and alo1 is exp(x2) exp(x3) . x2 = -0.013672, x3 = 0.005859, ahi = 0.986421, alo = 1.005877, ahi1 = 0.986421, alo1 = 1.005877 x2 = -0.423828, x3 = -0.275391, ahi = 0.574765, alo = 0.585481, ahi1 = 0.654536, alo1 = 0.759275 x2 = 0.112305, x3 = -0.017578, ahi = 1.118854, alo = 0.982575, ahi1 = 1.118854, alo1 = 0.982575 x2 = 0.125000, x3 = 0.017578, ahi = 1.133148, alo = 1.017734, ahi1 = 1.133148, alo1 = 1.017734 x2 = 0.107422, x3 = -0.223633, ahi = 1.113404, alo = 0.616583, ahi1 = 1.113404, alo1 = 0.799609 x2 = 0.026367, x3 = -0.041016, ahi = 1.026718, alo = 0.649917, ahi1 = 1.026718, alo1 = 0.959814 x2 = -0.368164, x3 = -0.253906, ahi = 0.533608, alo = 0.598196, ahi1 = 0.692004, alo1 = 0.775765 x2 = 0.138672, x3 = -0.015625, ahi = 1.148747, alo = 0.984496, ahi1 = 1.148747, alo1 = 0.984496 x2 = 0.125000, x3 = -0.011719, ahi = 1.133148, alo = 0.988350, ahi1 = 1.133148, alo1 = 0.988350 x2 = 0.099609, x3 = -0.235352, ahi = 1.104739, alo = 0.609399, ahi1 = 1.104739, alo1 = 0.790293 x2 = 0.056641, x3 = -0.033203, ahi = 1.058275, alo = 0.655014, ahi1 = 1.058275, alo1 = 0.967342 x2 = -0.150391, x3 = -0.248047, ahi = 0.582582, alo = 0.601712, ahi1 = 0.860372, alo1 = 0.780323 x2 = 0.133789, x3 = -0.013672, ahi = 1.143152, alo = 0.986421, ahi1 = 1.143152, alo1 = 0.986421 x2 = 0.091797, x3 = 0.013672, ahi = 1.096142, alo = 1.013766, ahi1 = 1.096142, alo1 = 1.013766 x2 = 0.057617, x3 = -0.174805, ahi = 1.059309, alo = 0.568531, ahi1 = 1.059309, alo1 = 0.839621 x2 = 0.162109, x3 = -0.076172, ahi = 1.032666, alo = 0.627465, ahi1 = 1.175989, alo1 = 0.926657 x2 = -0.052734, x3 = -0.372070, ahi = 0.642345, alo = 0.605297, ahi1 = 0.948632, alo1 = 0.689306 x2 = 0.110352, x3 = -0.056641, ahi = 1.116671, alo = 0.639841, ahi1 = 1.116671, alo1 = 0.944934 x2 = 0.087891, x3 = 0.039063, ahi = 1.091869, alo = 1.039835, ahi1 = 1.091869, alo1 = 1.039835 x2 = -0.005859, x3 = -0.186523, ahi = 0.994158, alo = 0.561907, ahi1 = 0.994158, alo1 = 0.829839 x2 = 0.176758, x3 = -0.078125, ahi = 1.047905, alo = 0.626241, ahi1 = 1.193342, alo1 = 0.924849 x2 = -0.077148, x3 = -0.339844, ahi = 0.626853, alo = 0.548936, ahi1 = 0.925752, alo1 = 0.711882 x2 = 0.157227, x3 = -0.104492, ahi = 1.027636, alo = 0.609944, ahi1 = 1.170261, alo1 = 0.900782 x2 = 0.101563, x3 = 0.013672, ahi = 1.106899, alo = 1.013766, ahi1 = 1.106899, alo1 = 1.013766 x2 = 0.108398, x3 = -0.165039, ahi = 1.114492, alo = 0.574110, ahi1 = 1.114492, alo1 = 0.847861 x2 = 0.120117, x3 = -0.087891, ahi = 1.127629, alo = 0.620155, ahi1 = 1.127629, alo1 = 0.915861 x2 = -0.093750, x3 = -0.291016, ahi = 0.616532, alo = 0.576404, ahi1 = 0.910510, alo1 = 0.747504 x2 = 0.135742, x3 = -0.132813, ahi = 1.145386, alo = 0.592913, ahi1 = 1.145387, alo1 = 0.875629 x2 = 0.101563, x3 = 0.011719, ahi = 1.106899, alo = 1.011788, ahi1 = 1.106899, alo1 = 1.011788 x2 = 0.182617, x3 = -0.096680, ahi = 1.054063, alo = 0.614728, ahi1 = 1.200355, alo1 = 0.907847 x2 = 0.114258, x3 = -0.059570, ahi = 1.121041, alo = 0.637969, ahi1 = 1.121041, alo1 = 0.942169 x2 = -0.082031, x3 = -0.249023, ahi = 0.623799, alo = 0.601124, ahi1 = 0.921243, alo1 = 0.779562 x2 = 0.140625, x3 = -0.090820, ahi = 1.150993, alo = 0.618341, ahi1 = 1.150993, alo1 = 0.913182 x2 = 0.095703, x3 = 0.008789, ahi = 1.100432, alo = 1.008828, ahi1 = 1.100432, alo1 = 1.008828 x2 = 0.138672, x3 = -0.102539, ahi = 1.148747, alo = 0.611137, ahi1 = 1.148747, alo1 = 0.902543 x2 = 0.101563, x3 = -0.064453, ahi = 1.106899, alo = 0.634862, ahi1 = 1.106899, alo1 = 0.937580 x2 = -0.080078, x3 = -0.192383, ahi = 0.625019, alo = 0.558624, ahi1 = 0.923044, alo1 = 0.824991 x2 = 0.166016, x3 = -0.053711, ahi = 1.036708, alo = 0.641718, ahi1 = 1.180592, alo1 = 0.947706 x2 = 0.085938, x3 = 0.007813, ahi = 1.089738, alo = 1.007843, ahi1 = 1.089738, alo1 = 1.007843 x2 = 0.104492, x3 = -0.099609, ahi = 1.110147, alo = 0.612930, ahi1 = 1.110147, alo1 = 0.905191 x2 = 0.116211, x3 = -0.053711, ahi = 1.123233, alo = 0.641718, ahi1 = 1.123233, alo1 = 0.947706 x2 = -0.046875, x3 = -0.181641, ahi = 0.646120, alo = 0.564658, ahi1 = 0.954207, alo1 = 0.833901 x2 = 0.145508, x3 = -0.041016, ahi = 1.156627, alo = 0.649917, ahi1 = 1.156627, alo1 = 0.959814 x2 = 0.079102, x3 = 0.028320, ahi = 1.082314, alo = 1.028725, ahi1 = 1.082314, alo1 = 1.028725 x2 = 0.079102, x3 = -0.081055, ahi = 1.082314, alo = 0.624409, ahi1 = 1.082314, alo1 = 0.922143 x2 = 0.160156, x3 = -0.060547, ahi = 1.030651, alo = 0.637346, ahi1 = 1.173694, alo1 = 0.941250 x2 = 0.015625, x3 = -0.269531, ahi = 1.015748, alo = 0.588922, ahi1 = 1.015748, alo1 = 0.763737 x2 = 0.179688, x3 = -0.074219, ahi = 1.050979, alo = 0.628692, ahi1 = 1.196843, alo1 = 0.928469 x2 = 0.122070, x3 = 0.019531, ahi = 1.129833, alo = 1.019723, ahi1 = 1.129834, alo1 = 1.019723 x2 = 0.087891, x3 = -0.110352, ahi = 1.091869, alo = 0.606381, ahi1 = 1.091869, alo1 = 0.895519 x2 = 0.185547, x3 = -0.065430, ahi = 1.057155, alo = 0.634242, ahi1 = 1.203877, alo1 = 0.936665 x2 = 0.039063, x3 = -0.328125, ahi = 1.039835, alo = 0.555406, ahi1 = 1.039835, alo1 = 0.720273 x2 = 0.228516, x3 = -0.111328, ahi = 1.103570, alo = 0.605789, ahi1 = 1.256733, alo1 = 0.894645 x2 = 0.158203, x3 = 0.007813, ahi = 1.028641, alo = 1.007843, ahi1 = 1.171404, alo1 = 1.007843 x2 = 0.106445, x3 = -0.157227, ahi = 1.112317, alo = 0.578613, ahi1 = 1.112317, alo1 = 0.854510 x2 = 0.168945, x3 = -0.075195, ahi = 1.039750, alo = 0.628078, ahi1 = 1.184055, alo1 = 0.927562 x2 = 0.006836, x3 = -0.348633, ahi = 1.006859, alo = 0.544132, ahi1 = 1.006859, alo1 = 0.705652 x2 = 0.213867, x3 = -0.116211, ahi = 1.087522, alo = 0.602838, ahi1 = 1.238458, alo1 = 0.890287 BESTWISHES SHUAI + +Hi Shuai, I am not familiar with mathlib, I will try to find someone who can help. Regards, Yordan + +Hi Yordan i make some mistake! it is ok now! thanks! shuai + diff --git a/sample_embedding_folder2/0714068.txt b/sample_embedding_folder2/0714068.txt new file mode 100644 index 0000000000000000000000000000000000000000..17febe32d874c0ba04609fc490f5d5a23062caf7 --- /dev/null +++ b/sample_embedding_folder2/0714068.txt @@ -0,0 +1,8 @@ +Ticket Name: Compiler/TDA2: Tda2x VisionSDK + +Query Text: +Part Number: TDA2 Tool/software: TI C/C++ Compiler Dear Officer, Understood TI provide 2 set of build system: one is bios/rtos and another one is Linux. Can I check if I can build Linux option in windows environment by gmake? e.g. Is this below case OK? In Rules.make, set: MAKECONFIG=tda2xx_evm_linux_opencx Then go to Windows cmd prompt and run "gmake" Or all the Linux configuration must be build in native Linux host machine? Thanks and best regards He Wei Team leader for System Architectures and deep learning + +Responses: +Hi He Wei, you can build VisionSDK Linux only on Linux host (but you should be able to use virtual machine). You can build VisionSDK BIOS on either Linux or Windows. Regards, Yordan + diff --git a/sample_embedding_folder2/0714276.txt b/sample_embedding_folder2/0714276.txt new file mode 100644 index 0000000000000000000000000000000000000000..a78ca78d9f0a5012f325f90e428657e26e9079da --- /dev/null +++ b/sample_embedding_folder2/0714276.txt @@ -0,0 +1,26 @@ +Ticket Name: RTOS/TDA2: tidl_OD Usecase error + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Everyone, I am trying to run "TIDL OD usecase" on VSDK 3.4 , I believe the following bin files are required for the successful execution of usecase > TIDL OD Network file (NET_OD.bin) > TIDL OD Parameter file (PRM_OD.bin) > TIDL OD Usecase input data file (inData_OD) > TIDL OD Usecase input header file (inHeader_OD) For the network file and parameter file I have copied below files from the path , vision_sdk\apps\tools\TIDL_files\ > tidl_net_jdetNet_ssd.bin > tidl_param_jdetNet_ssd.bin For the Use case input data , I have downloaded the clip files from CDDS (currently trying with clip2.avi under single_cam_video_input_clips) and followed the below procedure to generate header file and data file 1) inData_OD generation > ffmpeg -i clip2.avi -y -c:v libx264 -vframes 50 inData_OD 2) inHeader_OD generation >ffprobe -show_packets ./inData_OD >index.idx >PAT=size >sed -n "/$PAT/p" index.idx | cut -d' ' -f3 >> size_extracted.txt After this step, size_extracted.txt will contain size of the frames. Remove the string "size=" from each line in the file and save only the numbers in size_extracted_jelly.txt. >cat size_extracted_jelly.txt | perl -n -e 'printf("%08x\n",$_)' | sed 's/\(..\)\(..\)\(..\)\(..\)/0x\4\n0x\3\n0x\2\n0x\1/' | xxd -r -p > Size_test.bin && du -b Size_test.bin >cp Size_test.bin inHeader_OD I have also copied the respective text file with below details TIDL Configuration parameters ----------------------------- inputWidth=736 inputHeight=320 inputFile=inData_OD inputHDRFile=inHeader_OD netFileName=tidl_net_jdetNet_ssd.bin paramFileName=tidl_param_jdetNet_ssd.bin fps=30 threshold=0.3 However , I am getting following error while running the usecase DECODE: ERROR: ALGPROCESS FAILED (status=0x20208001) !!! DEC_LINK: outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x20208001 DEC_LINK: Sequence called number 1 Kindly help me on resolving this issue . I have tried same for Semantic segmentation usecase with net and param bin files from the path /ti_components/algorithms/REL.TIDL.01.01.01.00/modules/ti_dl/test/testvecs/config/tidl_models/jsegnet21/ but i got the same error. I have referred below forum links for it + +Responses: +Hi Surendra, Could you please verify inputWidth & inputHeight of the file you generated is same as you are passing in .txt file ? TIDL inData_OD & inHeader_OD file also available in CDDS Could you please download & verify with that ? cdds.ext.ti.com/.../emxNavigator.jsp Regards Surya + +Hi Surya, I have used input files from the same CDDS link which you mentioned only , I am using single cam video input files for my testing . I have performed the steps I mentioned before to create the inData and inHeader files . I couldn't find inHeader_OD files in the link so I have generated it . In .txt file I have metioned the width and height as 736 & 320 respectively . The resolution of the video is 1920x1080 will that cause issue . Regards, Surendar + +Hi Surya , I have fousnd inHeader and inData under xcam folder , I am not sure whether that is the file you are mentioning about . Anyway I have renamed both as inHeader_OD and inData_OD and copied into SD card . When I ran the tidl_OD usecase I am getting the following error : Assertion @ Line: 220 in nullSrcLink_tsk.c: frameLength < bitstreamBuf->bufSize : failed !!! Regards, Surendar + +Hi, The difference in resolution will cause issue. You can find the files in below link cdds.ext.ti.com/.../emxNavigator.jsp Regards, Anuj + +Hi Anuj , I have downloaded the files from the link you mentioned only , I am using clips under "single cam video input" . I am maintaining the resolution of the video in txt file as 736x320 , if I change that to 1920 x 1080 which is resolution of the clips given in the link , assertion is throwing out as below Set DSS parameter failed [IPU1-0] 26.733910 s: Assertion @ Line: 459 in displayLink_drv.c: status==SYSTEM_LINK_STATUS_SOK : failed !!! [IPU1-0] 26.734398 s: Assertion @ Line: 459 in displayLink_drv.c: status==SYSTEM_LINK_STATUS_SOK : failed !!! Kindly help me in sorting out this issue + +Hi Anuj & Surya, Is there any update on this Regards, V.B.Surendar + +Hi, Please check for the correct files in that link. You are using wrong files. Regards, Anuj + +Hi Anuj, I have used the files from the following path , please verify it is wrong or not : VISION_SDK_02.XX.XX.XX_INPUTS -> single_cam_video_input_clips -> clip2.avi I have used clip2.avi as inData_OD and also created inHeader_OD using this . Kindly guide me on this Regards , Surendar + +Yes. This is wrong. You are searching in wrong folder.there will be a TIDl_files folder. In That folder you will find inData_OD. You do not need to rename any file. Regards, Anuj + +Hi Anuj , Thank you , it is working as you said the files are wrong Regards, surendar + diff --git a/sample_embedding_folder2/0714677.txt b/sample_embedding_folder2/0714677.txt new file mode 100644 index 0000000000000000000000000000000000000000..88d0575a4197c3a8ae3a7c2939b8dd52b1375930 --- /dev/null +++ b/sample_embedding_folder2/0714677.txt @@ -0,0 +1,18 @@ +Ticket Name: RTOS/TDA2: Dynamic changes for VPE + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Everyone , We are working on requirement to dynamically zoom in particular region of the output we are capturing. we have a VPE link in TDA2 which will perform the cropping and resizing , I like to know whether it is possible to change the crop parameters dynamically on runtime for VPE link . If that is possible , kindly suggest me if there are another ways to crop dynamically without rebooting . + +Responses: +Hi Surendar, At which rate do you want to change the parameters? Regards, Brijesh + +Hi Brijesh , I could not understand what you mentioned by "rate" , is it FPS or is it something else . Can you please elaborate on that. Regards, Surendar + +Surendar, I meant, do you want to change it on every frame submission? Regards, Brijesh + +Hi Brijesh, Yes , on every frame submission I want to change the parameters Regards , Surendar + +Hi Surendar, ok, i would suggest you to have a look into the API VpeLink_drvUpdateInputRtPrm in VPE link. This will give idea for how you could change the VPE crop parameters per frame. Rgds, Brijesh + +Hi Brijesh , Thank you , I will check and update you on this Regards , Surendar + diff --git a/sample_embedding_folder2/0714689.txt b/sample_embedding_folder2/0714689.txt new file mode 100644 index 0000000000000000000000000000000000000000..92f301b304d1a2fd9ba570b28cea1776298f7622 --- /dev/null +++ b/sample_embedding_folder2/0714689.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: Measure execution time in A15 link on TDA2xx + +Query Text: +Part Number: TDA2 Tool/software: Linux Hello, I am using TDA2xx and Vision SDK 3.02, build machine is Ubuntu 16.04 with kernel 4.16.7. I have a VSDK link running on A15 core with Linux and would like to find out the execution time of one of the functions. This link used to run on RTOS before and Utils_getCurTimeInUsec() was used. However, I cannot find equivalent function to use with HLOS. Thank you in advance. Regards, Nick + +Responses: +Hi Nick, on HLOS there is "OSA_getCurTimeInMsec" (defined in vision_sdk/links_fw/src/hlos/osa/src/osa.c). If you need microseconds, I think you can use also standard gettimeofday() from "sys/time.h" (OSA_getCurTimeInMsec is implemented using gettimeofday). Regards, Yordan + diff --git a/sample_embedding_folder2/0714767.txt b/sample_embedding_folder2/0714767.txt new file mode 100644 index 0000000000000000000000000000000000000000..7475979dd8075b76247743268943665785669652 --- /dev/null +++ b/sample_embedding_folder2/0714767.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2: TIDL-1.1 SSD model test application in host emulation mode encountered memory leak + +Query Text: +Part Number: TDA2 Dear all: Recently we use TIDL01.01.00.00 doing vehicle detect, we trained a ssd model. We have an input video, using the ssd model detect vehicles in the video, on the target platform the program runs successfully, but in host emulation mode, with the program running, the PC memory usage increasingly, then after some frames, the program dies. After our analysis, we found the memory leak happing in "tidl_conv2d_base.c" file at line 2370 as follow graph: hope your answers, thanks. + +Responses: +Hi, Could you please try with TIDL latest release TIDL01.01.01.00 ? If you still face the issue with new release also, please share your model and prototxt to replicate the issue. Thanks, Praveen + +Dear Praveen: Now we don't have TIDL01.01.01.00 sources, so we couldn't build tidl_alg.lib for pc. + +Hi, Could you please download it from the same CDDS link and try? It is good to have latest release as fixed couple of bugs. Thanks, Praveen + +thanks, i have solved the problem. + diff --git a/sample_embedding_folder2/0714772.txt b/sample_embedding_folder2/0714772.txt new file mode 100644 index 0000000000000000000000000000000000000000..71aad31400925f932cae78576053259231317e9d --- /dev/null +++ b/sample_embedding_folder2/0714772.txt @@ -0,0 +1,131 @@ +Ticket Name: Linux/TDA2: Usecase problem with logs over network + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi everyone, I am working to enable sending execution logs via network instead of uart. This is implemented on RTOS, so I created files for linux which are as on RTOS (network_cons_ipc.c and network_cons_tsk.c). While I managed to get logs over network, now I am unable to run any of usecases. When I start any of usecases, log just freeze and I can't do anything. I tried usecases with cameras and with network links and always same is happening. Does anyone knows what could cause this problem? P.S. I am using Processor SDK 3.03. Thanks in advance, Sasa + +Responses: +Hello Sasa, Are you getting logs continueously or it also freezes? When you disconnect PC console tool, does application recovers? Do you have way to get logs via UART? Also please share output of gmake -s -j showconfig. + +Hello Prasad, while I am going through the usecase menu and submenus, I am getting logs continueously. It freezes when I start some usecase, when it needs to print informations about creating links. If I disconnect PC console tool then I am unable to se if application recovers as it is only way to get logs in that moment. Getting logs over UART is possible and it works fine. I read in documentation that there can be only one way to get logs at one time, so if network is chosen, logs can't be obtained via UART. I am sending output of gmake -s -j showconfig in attachment. Best regards, Sasa showconfig_log.txt # +# Build Config is [ tda2xx_evm_linux_all ] +# Build Config file is @ /home/rtrk/sava/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/configs/tda2xx_evm_linux_all/cfg.mk +# Build Config .h file is @ /home/rtrk/sava/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/links_fw/include/config/apps/tda2xx_evm_linux_all/system_cfg.h +# Build CPUs is @ ipu2 a15_0 dsp1 dsp2 eve1 eve2 eve3 eve4 +# +# CPUs included in application, +# PROC_IPU1_0_INCLUDE=no +# PROC_IPU1_1_INCLUDE=no +# PROC_IPU2_INCLUDE=yes +# PROC_DSP1_INCLUDE=yes +# PROC_DSP2_INCLUDE=yes +# PROC_EVE1_INCLUDE=yes +# PROC_EVE2_INCLUDE=yes +# PROC_EVE3_INCLUDE=yes +# PROC_EVE4_INCLUDE=yes +# PROC_A15_0_INCLUDE=yes +# +# Platform config, +# VSDK_BOARD_TYPE=TDA2XX_EVM [options: TDA2XX_EVM TDA2EX_EVM TDA3XX_EVM TDA3XX_RVP TDA2XX_RVP] +# PLATFORM=tda2xx-evm +# DUAL_A15_SMP_BIOS=no +# DDR_MEM=DDR_MEM_1024M [options: DDR_MEM_128M DDR_MEM_512M DDR_MEM_1024M] +# NDK_PROC_TO_USE=none [options: a15_0 ipu1_0 ipu1_1 ipu2 none] +# NSP_TFDTP_INCLUDE=no [options: yes no] +# TDA2EX_ETHSRV_BOARD=no [options: yes no] +# FATFS_PROC_TO_USE=none [options: ipu1_0 none] +# RADAR_BOARD=none [options: TDA3XX_AR12_ALPS TDA3XX_AR12_VIB_DAB_BOOSTER TDA3XX_RADAR_RVP none] +# +# Build config, +# BUILD_OS=Linux [options: Windows_NT Linux] +# BUILD_DEPENDENCY_ALWAYS=no +# BUILD_ALGORITHMS=no +# BUILD_INFOADAS=no +# PROFILE=release [options: debug release] +# KW_BUILD=no +# CPLUSPLUS_BUILD=no +# IPU_PRIMARY_CORE=ipu2 [options: ipu1_0 ipu2] +# IPU_SECONDARY_CORE=ipu1_0 [options: ipu1_0 ipu2] +# A15_TARGET_OS=Linux [options: Bios Linux Qnx] +# BSP_STW_PACKAGE_SELECT=all [options: all vps-iss-dss-only vps-vip-vpe] +# +# Safety Module config, +# RTI_INCLUDE=no +# ECC_FFI_INCLUDE=no +# DCC_ESM_INCLUDE=no +# +# Video Module config, +# IVAHD_INCLUDE=yes +# VPE_INCLUDE=yes +# CAL_INCLUDE=no +# ISS_INCLUDE=no +# ISS_ENABLE_DEBUG_TAPS=no +# WDR_LDC_INCLUDE=no +# DSS_INCLUDE=yes +# +# Open Compute config, +# OPENCL_INCLUDE=no +# TARGET_ROOTDIR=/home/rtrk/sava/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/../ti_components/os_tools/linux/targetfs +# ENABLE_OPENCV=no +# ENABLE_OPENCV_TESTS=no +# OPENVX_INCLUDE=yes +# +# Log config, +# ENABLE_UART_LOG=no +# ENABLE_NETWORK_LOG=yes +# ENABLE_CCS_LOG=no +# CIO_REDIRECT=yes +# +# IPC config, +# WORKQ_INCLUDE=no +# IPC_LIB_INCLUDE=no +# +# Surround View config, +# SRV_FAST_BOOT_INCLUDE=no +# +# Other Module config, +# AVB_INCLUDE=no +# DCAN_INCLUDE=no +# RADAR_INCLUDE=no +# CPU_IDLE_ENABLED=yes +# FAST_BOOT_INCLUDE=no +# DATA_VIS_INCLUDE=no +# HS_DEVICE=no +# ULTRASONIC_INCLUDE=no +# +# Linux config, +# DEFAULT_UBOOT_CONFIG=dra7xx_evm_vision_config +# DEFAULT_KERNEL_CONFIG=ti_sdk_dra7x_release_defconfig +# DEFAULT_DTB=dra7-evm-infoadas.dtb dra7-evm-infoadas-lcd-lg.dtb alpha_amv_board.dtb +# CMEM_INCLUDE=yes +# IPUMM_INCLUDE=no +# IPU1_EVELOADER_INCLUDE=yes +# ROBUST_RVC_INCLUDE=no +# BUILD_ADAM_CAR=no +# +# Alg plugins included in build, +# ALG_autocalibration ALG_dmaSwMs ALG_framecopy ALG_sparseopticalflow ALG_structurefrommotion ALG_surroundview +# +# Use-cases included in build, +# UC_srv_calibration UC_null_src_display UC_lvds_vip_multi_cam_3d_perception UC_lvds_vip_multi_cam_3d_srv UC_lvds_vip_multi_cam_2mp_3d_srv UC_lvds_vip_multi_cam_3d_adaptive_srv UC_lvds_vip_multi_cam_view_sgx_display UC_lvds_vip_multi_cam_vpe_enc_null UC_null_src_decode_display UC_ov490_vip_multi_cam_3d_srv UC_vip_single_cam_connectorLinksA15_sgx_display UC_vip_single_cam_enc_dec_sgx_display UC_vip_single_cam_framecopy_sgx_display UC_vip_single_cam_framecopyEve_sgx_display UC_vip_single_cam_sgx_display UC_vip_single_cam_ffn_amv UC_pcie_link_rcv UC_pcie_link_send UC_null_src_display UC_nullSrc_null UC_multi_cam_view_alpha_amv UC_capture_null +# +# +# CPUs that are NOT required but included in config [ tda2xx_evm_linux_all ], +# +# +# CPUs that are required but not included in config [ tda2xx_evm_linux_all ], +# +# ERROR: IPU1_0 MUST be included in application +# +# Edit /home/rtrk/sava/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/build/configs/tda2xx_evm_linux_all/cfg.mk to include or exclude CPUs in an application +# + +Hello Sasa, From the showconfig logs, it looks you are running network stack on Linux and not BIOS? Is that true? >>NDK_PROC_TO_USE=none If yes, have you ported the network console application on linux? Have you taken care of priorities of task (NETWORK_CONS_TX_TSK_PRI)? + +More details put in another thread ( e2e.ti.com/.../2638291 and my reply there to keep single thread. >> Thanks for providing all details, this is useful for debug. I will check and let you know if any issues in porting the console tool. Meanwhile can you please try reducing priority of console threads instead of OSA_THR_PRI_DEFAULT? + +Hi Prasad, As you suggested, I have tryed to reduce priority of console threads, so instead of OSA_THR_PRI_DEFAULT I tryed to use OSA_THR_PRI_MIN, but behavior is still the same - I can navigate throught menu, but after some of use-cases is selected to run everything freezes. This is what happens in most of the cases, but if once Use-Case is started successfully - it is possible to stop it, run some other use cases without any problems... Problem apears again after the board is powered off and powered on... Best regards, Nebojsa + +Hello Nebojsa, Could you connect JTAG and see where IPU2 is when stuck happens? You can use ROV feature of CCS to get each tasks state, please check the priorities and states of each task along with network console task. + +Hello Nebojsa, Closing this thread due to inactivity. Please reply below or start new thread if locked. Thanks. + diff --git a/sample_embedding_folder2/0714922.txt b/sample_embedding_folder2/0714922.txt new file mode 100644 index 0000000000000000000000000000000000000000..53e0f23a9391fe152a1eff52f9835818821d6b0c --- /dev/null +++ b/sample_embedding_folder2/0714922.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2EVM5777: TDA2xx Vision SDK Build Error: CODEGEN_PATH_A15 does not exist! + +Query Text: +Part Number: TDA2EVM5777 Hello, I am trying to install and start compiling using the PROCESSOR_SDK_VERSION_03_04_00_00 Linux. When following the Linux User Guide, I was able to compile just fine the first time (running make linux, make linux_install, make -s -j depends, make -s -j all worked just fine initially). After going away for a while and coming back to it, I get a compile error saying: /home/user01/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/apps/configs/autorules_footer_cfg.mk:69: *** CODEGEN_PATH_A15 does not exist! (/home/user01/PROCESSOR_SDK_VISION_03_04_00_00/ti_components/cg_tools/linux/gcc-arm-none-eabi-4_9-2015q3). Stop. I have another installation of PROCECSSOR_SDK_VISION_03_01_00_00 and I can compile just fine without gcc-arm-none-eabi-4_9-2015q3 in the directory /home/user01/PROCESSOR_SDK_VISION_03_01_00_00/ti_components/cg_tools/linux/. For reference, here is what the linux user guide says in section 2.2.1 A15 Compiler Linker for PROCESSOR_SDK_VISION_03_04_00_00 The Linux installer for the GCC Linaro tools should be downloaded from below link https://releases.linaro.org/components/toolchain/binaries/5.3-2016.02/arm-linux-gnueabihf/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf.tar.xz The tools need to be installed under $INSTALL_DIR/ti_components/os_tools/linux/linaro/ IMPORTANT NOTE: A15 Compiler and linker MUST be installed before initiating the build else compilation will fail. Also make sure the compiler is installed at the exact path mentioned above after installation of vision sdk. Use following steps to install the toolchain $> cd $INSTALL_DIR/ti_components/os_tools/linux/linaro $> tar –xvf gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf.tar.xz I noticed that there was no mention of the directory $INSTALL_DIR/ti_components/cg_tools/linux or the file gcc-arm-none-eabi-4_9-2015q3 anywhere in the user guide. What steps must I take to get passed this issue? Thank you, -iFer + +Responses: +Hello, I was successfully able to compile. The reason I had the error before was because on a new installation of PROCESSOR_SDK_VISION_03_04_00_00 the Rules.make file under $INSTALL_DIR/vision_sdk/build/ directory was defaulted to MAKECONFIG?=tda2xx_evm_bios_all. I needed it to be MAKECONFIG?=tda2xx_evm_linux_all otherwise I would run into that error. Thank you, -iFer + +Hi iFer, thanks for updating the thread. Regards, Yordan + diff --git a/sample_embedding_folder2/0714981.txt b/sample_embedding_folder2/0714981.txt new file mode 100644 index 0000000000000000000000000000000000000000..35be6a5a859a43bb92a2a6f4fd97aafdde27d1ce --- /dev/null +++ b/sample_embedding_folder2/0714981.txt @@ -0,0 +1,26 @@ +Ticket Name: Linux/TDA2: function of the IPU1 and IPU2 + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi , I found the following description on TDA2x Technical Reference Manual SPRUI29D chapter 7.1.1: The device instantiates two dual Cortex®-M4 image processor unit (IPU) subsystems. • IPU1 subsystem is available for general purpose usage • IPU2 subsystem is dedicated to IVA support and is not available for other processing And, on the vision_sdk links_fw/include/link_api/system_linkId.h, I can see only the IPU1_0's link id, for example, SYSTEM_LINK_ID_DISPLAY_0, SYSTEM_LINK_ID_VENC_0, SYSTEM_LINK_ID_VDEC_0. What's the function each IPU? Could I create the IPU2 link id to work? Thanks. Regards, Tianxing + +Responses: +Hi Tianxing, Both the IPUs are available for general purpose usage. This paragraph is leftover from a previous generation device and will be removed from the TRM. Regards, Rishabh + +Hi Rishabh, Thanks, that's mean I can used IPU1 and IPU2 equivalent . However, vision sdk has not defined the IPU2 link. For example, SYSTEM_LINK_ID_CAPTURE_0, SYSTEM_LINK_ID_VDEC_0, it only belong to IPU1_0. If I want to used IPU2 to capture or decode, maybe I should define the link used IPU2_LINK? Regards, Tianxing + +Hi Tianxing, Any link that is supported on IPU can be run on either IPU1 or IPU2. Capture, display are supported on both IPUs. Regards, Rishabh + +Hi Rishabh, My question is that, should I define a decode link, display link or capture link id used the macro define: #define IPU2_LINK(x) (SYSTEM_MAKE_LINK_ID(SYSTEM_PROC_IPU2 , (x))) Thanks, Tianxing + +Hi Tianxing, You need to change anything here. You should change only the primary core in cfg.mk and rest will be taken care depending on it. Regards, Rishabh + +Hi Rishabh, Now, I set as follow: PROC_IPU1_0_INCLUDE=yes PROC_IPU1_1_INCLUDE=no PROC_IPU2_INCLUDE=yes PROC_A15_0_INCLUDE=yes PROC_DSP1_INCLUDE=yes PROC_DSP2_INCLUDE=yes PROC_EVE1_INCLUDE=yes PROC_EVE2_INCLUDE=yes PROC_EVE3_INCLUDE=yes PROC_EVE4_INCLUDE=yes IPU_PRIMARY_CORE=ipu1_0 IPU_SECONDARY_CORE=ipu2 I think if I want to create link on ipu2, I should define the ipu2 link Id, is right? And If I only set the ipu2 as primary, I need not care the link id. Regards, Tianxing + +Hi Tianxing, Yes you need not care about the link id. Changing primary core is sufficient. Regards, Rishabh + +Hi Rishabh, The another question is that if I used IPU2 and IPU1 both, the IPU2 link Id maybe defined, is right? Regards, Tianxing + +Hi Tianxing, Please find the new TDA TRM here: www.ti.com/.../sprui29e.pdf Regards, Rishabh + +Hi Tianxing, Is there an update on this issue? Regards, Rishabh + diff --git a/sample_embedding_folder2/0715085.txt b/sample_embedding_folder2/0715085.txt new file mode 100644 index 0000000000000000000000000000000000000000..f261e7283416ee3b8d440b179f88b3acffe09cb7 --- /dev/null +++ b/sample_embedding_folder2/0715085.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: 2D SRV Calibration issue in TDA2X + +Query Text: +Part Number: TDA2 I followed "VisionSDK_UserGuide_SurroundView_Calibration_TDA2xx.pdf" , and updated CHARTPOS.BIN for actual dimensions of the chart used for calibration by using "3d_calibration_tool". The result of Auto Calibration for 3D SRV was good after I replaced CHARTPOS.BIN in Micro SD card. However, the result of Auto Calibration for 2D SRV was worse than before the default CHARTPOS.BIN was replaced. 3D SRV ran on HLOS while 2D SRV ran on RTOS. What should I do next? Regards, Daniel + +Responses: +Hi Daniel, The usecase will work if you follow everything described on the document. Please contact the respective TI field agent assigned to your account. Regards Shashank + +Hi Shashank All right, Thanks for your reply. Regards Daniel + diff --git a/sample_embedding_folder2/0715125.txt b/sample_embedding_folder2/0715125.txt new file mode 100644 index 0000000000000000000000000000000000000000..eac37bfc74a611e1d874c6c7b2ee6416bba728d9 --- /dev/null +++ b/sample_embedding_folder2/0715125.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2: Rear Collision and Detection without RADAR + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Everyone, Is there any use case available in Vision SDK for "rear collision and detection" for TDA2x EVM board without radar fusion . If not available I like to know if there is any algorithm implementation can be done for "Rear Collision and Detection " in TDA2X EVM board . I like to know if there is any possibility to execute the collision and detection without using RADAR data . Regards , Surendar + +Responses: +Hi, Can you check the below usecase vision_sdk\apps\src\rtos\usecases\vip_single_rvc_cam_view_crc vision_sdk\apps\src\rtos\usecases\vip_single_cam_object_detection2 Regards, Anuj + +Hi Anuj, I am trying to run both the usecases on TDA2X board , object detection works fine without any issues . However I could not run the rvc_cam_view_crc usecase in tda2xx board . I have followed following steps for the same. 1) Enabled the usecase in uc_cfg.mk in tda2xx_evm_bios_all 2) Added an option for the usecase in chains common file for selecting the particular usecase 3) changed the SW3 dip switch pin#1 to 1 , previously it was 0 When I ran the usecase , I couldn't find any assertions or error in the console . In the HDMI display I am getting green lines all over the screen Kindly guide me on how to make this usecase work on TDA2xx EVM board. Regards , Surendar + +Hi, You will not be able to run that usecase. You can take refrence from the above 2 usecases and create your own. Regards, Anuj + +Hi, If the issue is resolved then can you close the thread. Regards, Anuj + diff --git a/sample_embedding_folder2/0715156.txt b/sample_embedding_folder2/0715156.txt new file mode 100644 index 0000000000000000000000000000000000000000..4bff78fbc2a265852dd9d33bcb32578e0a84ba4a --- /dev/null +++ b/sample_embedding_folder2/0715156.txt @@ -0,0 +1,18 @@ +Ticket Name: Compiler/TDA2: DSP2 crashed after __c_init00 , before main() was called + +Query Text: +Part Number: TDA2 Tool/software: TI C/C++ Compiler We use TAD2x Hardware platform, VisionSDK 3_03, all Bios system, DSP compiler ti-cgt-c6000_8.1.3. We have an algorithm run on DSP2 within a link. When the DSP2 's program was loaded into DDR and started run from __c_init00, the DSP2 will crash before main() was called (I debug it by JTAG). There is no error when I compile it. When I comment off all the call of our algorithm functions in the link 's "_init: and "_process", DSP2 starts OK. This algorithm runs fine on TDA2x 's DSP1 with visionSDK 2_10, DSP compiler ti-cgt-c6000_8.1.3. Please help me! The DSP2's binary and map file was attached.tda2xx-evm_DSP2_binary_map_file.rar + +Responses: +Hi, Do you get the same result with compiler version 7.4.2? I would suggest you to use the same compiler versions that were used to validate the particular release. Regards, Rishabh + +Dear Rishabh, We can't use compiler C6000_7.4.2 or c6000_7.4.14 in our project. Our project use Opencv 2.3.1 on DSP. Compiler C6000_7.4.2 can't compile Opencv2.3.1 and our algorithm code successful. Compiler C6000_7.4.2 don't support many syntax, but compiler ti-cgt-c6000_8.1.3 support. So, I use compiler ti-cgt-c6000_8.1.3 on visionSDK_2_10 in our project. Now, I need to transplant our algorithm to visionSDK_3_03. When I use compiler ti-cgt-c6000_8.1.3 replace compiler C6000_7.4.2 in visionSDK_3_03, after "make clean", and rebuild again, the system can't bootup(I think the DSP1 and DSP2 both crashed), although I don't add any algorithm in the usercase. When I don't "make clean", just add our algorithm into the usercase, the DSP2 crashed before main. Is it possilbe for me to use compiler ti-cgt-c6000_8.1.3 in the whole visionSDK_3_03, just recompile some basic lib to make it work in short time? This issue have blocked our project for 3 weeks. Please help me. Thank you very much. + +Hi Bao, One point to keep in mind is that compiler change alone is not sufficient in most of the cases. BIOS, XDC and IPC versions usually change when compiler versions are changed. In SDK 2.10 there might be a different version of these components as compared to 3.3 release. Hence I would suggest you to stick to the old SDK version for time being in your project and continue your development. We are moving to C6000_8.2.4 for Vision SDK 3.5 release which will happen at the end of 3Q 2018. You should migrate to this release once it is available on ti.com. Regards, Rishabh + +Hi, I haven’t heard back from you, I’m assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +Hi Rishabh, I 'm thinking other solution for our project temporay. After VisionSDK 3.5 released, I will switch back to DSP. Thanks for your help. + +Hi, Okay thanks for the update. Regards, Rishabh + diff --git a/sample_embedding_folder2/0715270.txt b/sample_embedding_folder2/0715270.txt new file mode 100644 index 0000000000000000000000000000000000000000..5486d4eca342399e9e26fb7ed7b5c8fc26f3ad20 --- /dev/null +++ b/sample_embedding_folder2/0715270.txt @@ -0,0 +1,28 @@ +Ticket Name: RTOS/TDA2: ndk_2_24_00_11 jumbo packet support + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hello, One of customer is trying to enable jumbo packet support on their custom board. They referred to the NDK wiki (http://processors.wiki.ti.com/index.php/Enabling_Jumbo_Packet_Support_for_C6678#NDK_modifications) and also made NSP changes. They see application crashing with this changes. Jumbo is validated on TDA2xx EVM by us but with ndk_2_24_02_31. Customer is using ndk_2_24_00_11 Just wondering if jumbo is supported on this version. Thanks. + +Responses: +Upon further debug, the application fails in the PTP stack which uses NDK Raw socket APIs. Any dependency of raw sockets on jumbo? + +Hi Prasad, Someone will look into this. Todd + +Hello Todd, Just to update, we have jumbo packet working on customer board. But it fails once PTP stack is enabled. + +Prasad, Jumbo packet support should have been working in NDK 2.24.00.11, but we don't validate that. There were many bug fixes between that release and NDK 2.42.02.31. Could be that one of those fixed jumbo packets, but nothing obvious stands out. Jumbo packets should also work with RAW sockets. I guess you already figured that out. Not familiar with PTP stack. Is that Precision Time Protocol? Is customer implementing that on top of NDK RAW sockets with jumbo packets enabled? We don't have any experience with that setup. I don't have much to offer. Let us know more details on the failure, and hopefully we can advise. ~Ramsey + +Hello Ramsey, Do you have the list of releases and bug fixes? Can you please point me to that? Yes, PTP is precision time protocol stack, the customer has implemented it on the top on NDK RAW sockets. It works normally without Jumbo but fails when jumbo enabled. Customer is looking if any issue in their stack. Meanwhile I wanted to check if any known issues with Jumbo and RAW sockets combination. + +Hello Ramsey, New information from customer - In PTP, there is a Raw Ethernet communication using the NDK's api 'recvnc()' which always returns -1. res=recvnc(sockfd, (void **)&ncbuf, MSG_DONTWAIT, &ncbufh); As the raw ethernet receive fails, it tries to re-initialise every time and hence it gets stuck there. Note: Without jumbo frames enabled, this functionality was working normally. Does this NDK package support jumbo frames (for raw ethernet mode) ? + +Prasad, Our expectation is that NDK RAW sockets should work with jumbo Ethernet frames. What is the error code when recvnc() returns -1? Please use the fdError() function (serrno.h) to retrieve the error code. Thanks, ~Ramsey + +Ramsey, Error code returned from fdError() is '9'. I guess this indicates 'Bad file descriptor' ? Regards, Pradyumna + +Pradyumna, I've looked at the code, but I don't see an obvious reason that recvnc() would set error to NDK_EBADF. As this error always happens on the first call to recvnc(), would it be possible to run in the debugger? This would allow you to step through the code and see why an error is being raised. Please note this function is an inline, the actual function name is NDK_recvnc() in the file /ti/ndk/stack/fdt/socket.c. If this is not possible, you will need to instrument the code by adding calls to DbgPrintf(). Then you will need to rebuild the NDK libraries. This post might help with the details. ~Ramsey + +Did this get resolved? + +Hi Ramsey, The issue with recvnc() is resolved. Ethernet frame data buffer was not long enough for incoming packets and the socket was being overwritten with garbage values. Thanks for the support. Regards, Pradyumna + diff --git a/sample_embedding_folder2/0715378.txt b/sample_embedding_folder2/0715378.txt new file mode 100644 index 0000000000000000000000000000000000000000..8993f7ace9e953e573174ce33f3edc7baa51adba --- /dev/null +++ b/sample_embedding_folder2/0715378.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: HDMI signals are not connected via companion IC TPD12S016RKTR + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: TPD1E05U06 Is there any special reason why HDMI differential signal pairs CPU_HDMI_TX[0-2] and CPU_HDMI_TXC do not go through companion IC TPD12S016RKTR prior to external connector? + +Responses: +Hi Lim, Let me check on the reason and get back to you. Regards, Sujith + +The TPD12S016RKTR had too much capacitance for the TDA2 HDMI signals, and could not meet the HDMI electrical specifications. TPS12S016 data sheets states typical capacitance is 1.2pF. The ESD components used on the EVM (TPD1E05U06) has typical capacitance of 0.42pF. Additionally, the EVM implements voids in the ground plane beneath the ESD diodes to minimize the capacitance even more. Thanks Robert + diff --git a/sample_embedding_folder2/0715550.txt b/sample_embedding_folder2/0715550.txt new file mode 100644 index 0000000000000000000000000000000000000000..becc0b5f6dcbbda48291bafd7c3b390722162533 --- /dev/null +++ b/sample_embedding_folder2/0715550.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: Usecase problem with logs over network + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, If somebody could help me with logs over network when linux runs on A15.. I am using PROCESSOR_SDK_VISION_03.03.00.00 on our custom board (RT-RK ALPHA board ). Trying to have logs over network (which I have now) and to run some of the Use-Cases, also over network. I have changed defaults.mk file, where now logs over network are enabled and logs over uart are disabled.. Also, there was no files like network_cons_tsk.c and network_cons_ipc.c linux, so i made them (sendig those as atachment), as proper makefile in same directory.. I looked in RTOS files and made conclusion that there are also 2 more functions that should be implemented in osa_ipc_que.c file (those are: Int32 OSA_ipcQueWriteString(OSA_IpcQueHandle * handle, const char pString[]); and Int32 OSA_ipcQueReadString(OSA_IpcQueHandle * handle, char pString[], UInt32 *strSize);) Problem appeared is that Use-Cases do not start every time i try to run them (when logs go over UART everything works fine). I have menu, but on the command to start UC nothing happends.. UC starts in one of 10 or more attempts, so, could you help me to figure out why is that happening? Thx a lot, Best regards, Nebojsa 1200.files.zip + +Responses: +Hello Nebojsa, Thanks for providing all details, this is useful for debug. I will check and let you know if any issues in porting the console tool. Meanwhile can you please try reducing priority of console threads instead of OSA_THR_PRI_DEFAULT? BTW can we please debug this issue on original thread? I see these two are exactly same. We can close this one. + +Hey, Thx for your quick answer. I'll try your suggestion (to reduce priority of console threads) and will keep you informed about the results. Yes, we can close this thread and continue to work in original one.. Regards, Nebojsa + +I'm continuing to write in the main thread e2e.ti.com/.../714772 + diff --git a/sample_embedding_folder2/0715584.txt b/sample_embedding_folder2/0715584.txt new file mode 100644 index 0000000000000000000000000000000000000000..ad6c3ad2a37d6260eed7ae9e0c55663e6c7511d9 --- /dev/null +++ b/sample_embedding_folder2/0715584.txt @@ -0,0 +1,18 @@ +Ticket Name: CCS/TDA2: CCS5.4 crashes when launching the target configurations ( Vayu simulator, ubuntu 14.04) + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio Hi, I have installed CCS5.4 on ubuntu 14.04, along with the Vayu simulator. When I try to launch a target configuration with Vayu, sometimes CCS crashes without any error and the other times gives the following error. The same scenario happens for Windows as well. I tried making new target configurations but the results are the same. I had posted the same question on CCS forum, but they directed me to ask this in TDA2x. Can anyone please help me resolve this issue? Regards, Shruti Joshi + +Responses: +Hello, Can you try with the latest CCS device support? Download it from here and install it. Hopefully, that will fix the problem, if not we can dig further. processors.wiki.ti.com/.../Device_support_files Thanks, Alex + +Hi Alex, I tried by installing the latest device support files, but I continue to see the problem. Can you please help me with that? One more query , on the device support files page, I downloaded the files for Automotive. But in the targetdb folder I do not see support files for module EVE. The error that I get is for EVE. Are there any latest packages available for EVE? Thanks, Shruti + +Hello Shruti, That I was afraid of. Unfortunately, CCSv5 along with the simulators are not supported/outdated with the latest register. However, it may be possible to fix this. That particular error you see, can you find the to TMS700C4X_regid.xml and delete the vcop.xml references? see if that will work, or you can even replace the reference with \ccs_base\common\targetdb\Modules\TDA2x\EVE1_VCOP.xml which is the latest xml. thanks Alex + +Hello Shruti, Did you manage to solve your issue? Can we close this thread? thanks, Alex + +Hi Alex, Sorry for the late response. Thanks a lot for the help. The issue is resolved and now the simulator is working fine. I had to remove some references from the 'vcop_sim_regs.xml' file as it was giving the same error for other registers as well. After these changes, the simulator started working. Below are the changes which I made: Will these changes affect any other functionality? Once again, thank you for helping me get this issue resolved. Thanks & Regards, Shruti + +Hello Shruti, Shruti Joshi said: Will these changes affect any other functionality? Once again, thank you for helping me get this issue resolved. Sure no problem, glad you got it fixed and thanks for confirming. Regarding the deleted reference: No, the simulator work shouldn't be affected by this as far as I know. Basically, these references are linking to xmls that are used by the CCS register view to display those registers. So if you are using the register view, you won't see the deleted registers(well because they are missing anyway). Thanks, Alex + diff --git a/sample_embedding_folder2/0715862.txt b/sample_embedding_folder2/0715862.txt new file mode 100644 index 0000000000000000000000000000000000000000..b654edf6350eb4eec60db2ce587ed5ae2bf98ef6 --- /dev/null +++ b/sample_embedding_folder2/0715862.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2: Compatible automotive gigabit ethernet phy + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: DP83848Q-Q1 Does TI have any compatible automotive gigabit ethernet phy that works with TDA2SG? What I find in TI with automotive grade is DP83848Q-Q1 but is 100Mbps. + +Responses: +Hello Lim, Please give me some time. I am checking with our PHY team, will let you know once get details from them. Thanks. + +Prasad Jondhale said: I am checking with our PHY team Hello Lim, Can you please let us know the timeline by which you need the auto qualified PHY? + +Hi Prasad, We need it by 2nd week of Oct 2018. If it is not possible to have it by that time, we may consider to use DP83848Q-Q1 for this prototype and change it to Gigabit PHY in next design phase. Has DP83848Q-Q1 been tested with TDA2X? Regards Lim + +Hello Lim, Can you please drop me a mail at a0132233@ti.com so I can share TI auto PHYavailability details? Just want to confirm the our PHY timelines and if it aligns with your schedule. Thanks for understanding. + +Closing this thread as discussions ongoing on mail. + diff --git a/sample_embedding_folder2/0715926.txt b/sample_embedding_folder2/0715926.txt new file mode 100644 index 0000000000000000000000000000000000000000..9d10eb6bee0c0c600dce0436bce2bf4456509c1d --- /dev/null +++ b/sample_embedding_folder2/0715926.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: Lane Detection Algorithm in Rear Camera view + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Everyone , I am trying to understand Lane Detection algorithm and I am referring to the "LaneDetection_DSP_Userguide.pdf" . I like to know whether it is possible to implement Lane detection algorithm in rear view camera . Is there any limitations if we implement the Lane detection algorithm in rear view camera . Regards , Surendar + +Responses: +It is designed for Front Camera configuration. If you have rear view similar to front camera view is should work. However it is not tested for rear view. If you have fisheye lens distortion, you may need to correct it before using this lane detect. + diff --git a/sample_embedding_folder2/0715954.txt b/sample_embedding_folder2/0715954.txt new file mode 100644 index 0000000000000000000000000000000000000000..14f7f8f426a2028f65ee1d5310e7010e622ed8fc --- /dev/null +++ b/sample_embedding_folder2/0715954.txt @@ -0,0 +1,30 @@ +Ticket Name: RTOS/TDA2: opencv cross compile , missing bios cmake. + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS I would like to cross-compile opencv for TDA2x. I follow TI cross compile document. 1) git clone git://git.ti.com/opencv/tiopencv.git 2) git checkout -b opencv_3.1 remotes/origin/tiopencvrelease_3.1 I cannot get cmake file - arm-gnueabi_bios.toolchain.cmake Can you upload the file to here? Thank you + +Responses: +Hi Chee Peng, PFA cmake file Please remember to modify components paths to point before build arm-gnueabi_bios.toolchain.zip Regards Surya + +Hi Surya, Thanks for the file. I edited the path. But when run, it stuck at endiness test. Detected version of GNU GCC: 72 (702) Check if the system is big endian Searching 16 bit integer CMake Error at /usr/share/cmake-2.8/Modules/TestBigEndian.cmake:44 (message): no suitable type found Call Stack (most recent call first): CMakeLists.txt:527 (test_big_endian) I read the cross compile document. It seems TI have some patch. 7. Edit the cmakelists.txt if necessary (optional, not required, taken care in the patch) a. Opencv performs tests to identify if the endianness is big endian. However, this test doesn’t run b. So, similar to setting endianness to IOS and not performing test add the following line (search for BIGENDIAN) i. If (IOS)…. Elseif(GENERIC) set(WORDS_BIGENDIAN 0)  (this is because A15 view memory in little endian fashion in TDA2xx) Could you upload the patch? + +Hi Chee Peng, PFA patch 0001-set-WORDS_BIGENDIAN-to-0-for-TDA2xx-platform.zip Regards Surya + +Hi Chee Peng, Any progress on this Are you able to run ? Regards Surya + +Hi Surya, The patch is working! I can configure and generate cmake now! However, when i try to crosscompile opencv i stuck at In file included from /home/cheepeng/ti/ccsv8/tools/compiler/gcc-arm-none-eabi-7-2017-q4-major/arm-none-eabi/include/dirent.h:7:0, from /home/cheepeng/ti/opencv/tiopencv/modules/core/src/glob.cpp:134: /home/cheepeng/ti/ccsv8/tools/compiler/gcc-arm-none-eabi-7-2017-q4-major/arm-none-eabi/include/sys/dirent.h:10:2: error: #error " not supported" #error " not supported" ^~~~~ /home/cheepeng/ti/opencv/tiopencv/modules/core/src/glob.cpp:140:43: error: 'DIR' has not been declared static bool isDir(const cv::String& path, DIR* dir) What do you think? regards Chee Peng + +Hi Chee Peng, Could you please try with tool chain "gcc-arm-none-eabi-4_9-2015q3" ? Regards Surya + +Hi Chee Peng, Are you able to compile with "gcc-arm-none-eabi-4_9-2015q3" ? Regards Surya + +Hi Surya, Thank you for suggestion I using gcc-arm-none-eabi-4_9-2015q3, but still stuck at dirent,h What do you think? Best regards CHee Peng [ 16%] Building CXX object modules/core/CMakeFiles/opencv_core.dir/src/split.cpp.obj [ 16%] Building CXX object modules/core/CMakeFiles/opencv_core.dir/src/downhill_simplex.cpp.obj [ 16%] Building CXX object modules/core/CMakeFiles/opencv_core.dir/src/tables.cpp.obj [ 16%] Building CXX object modules/core/CMakeFiles/opencv_core.dir/src/glob.cpp.obj In file included from /home/cheepeng/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include/dirent.h:6:0, from /home/cheepeng/ti/opencv/tiopencv/modules/core/src/glob.cpp:134: /home/cheepeng/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include/sys/dirent.h:10:2: error: #error " not supported" #error " not supported" ^ /home/cheepeng/ti/opencv/tiopencv/modules/core/src/glob.cpp:140:43: error: 'DIR' has not been declared static bool isDir(const cv::String& path, DIR* dir) ^ /home/cheepeng/ti/opencv/tiopencv/modules/core/src/glob.cpp: In function 'void glob_rec(const cv::String&, const cv::String&, std::vector&, bool)': /home/cheepeng/ti/opencv/tiopencv/modules/core/src/glob.cpp:222:5: error: 'DIR' was not declared in this scope DIR *dir; ^ /home/cheepeng/ti/opencv/tiopencv/modules/core/src/glob.cpp:222:10: error: 'dir' was not declared in this scope DIR *dir; ^ /home/cheepeng/ti/opencv/tiopencv/modules/core/src/glob.cpp:225:42: error: 'opendir' was not declared in this scope if ((dir = opendir (directory.c_str())) != 0) ^ /home/cheepeng/ti/opencv/tiopencv/modules/core/src/glob.cpp:230:39: error: 'readdir' was not declared in this scope while ((ent = readdir (dir)) != 0) ^ /home/cheepeng/ti/opencv/tiopencv/modules/core/src/glob.cpp:232:39: error: invalid use of incomplete type 'struct glob_rec(const cv::String&, const cv::String&, std::vector&, bool)::dirent' const char* name = ent->d_name; ^ /home/cheepeng/ti/opencv/tiopencv/modules/core/src/glob.cpp:223:12: error: forward declaration of 'struct glob_rec(const cv::String&, const cv::String&, std::vector&, bool)::dirent' struct dirent *ent; ^ /home/cheepeng/ti/opencv/tiopencv/modules/core/src/glob.cpp:252:25: error: 'closedir' was not declared in this scope closedir(dir); ^ /home/cheepeng/ti/opencv/tiopencv/modules/core/src/glob.cpp:255:21: error: 'closedir' was not declared in this scope closedir(dir); ^ make[2]: *** [modules/core/CMakeFiles/opencv_core.dir/src/glob.cpp.obj] Error 1 make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2 + +Hi Surya, In my opinion gcc-arm-none-eabi-4_9-2015q3 is bare-metal without os. Dirent,h operation is based on OS which is TI-RTOS. I review document and found need Bios 6.45.01.29 (fail with 6.46.000.23) May I know where can i find Bios 6.45.01.29? + +Hi Chee Peng, You can download Bios 6.45.01.29 from below TI link software-dl.ti.com/.../index_FDS.html Regards Surya + +Hi Surya, Tried Bios 6.45.01.29. Same error [ 16%] Building CXX object modules/core/CMakeFiles/opencv_core.dir/src/glob.cpp.obj In file included from /home/cheepeng/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include/dirent.h:6:0, from /home/cheepeng/ti/opencv/tiopencv/modules/core/src/glob.cpp:134: /home/cheepeng/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include/sys/dirent.h:10:2: error: #error " not supported" #error " not supported" ^ /home/cheepeng/ti/opencv/tiopencv/modules/core/src/glob.cpp:140:43: error: 'DIR' has not been declared static bool isDir(const cv::String& path, DIR* dir) The file at /home/cheepeng/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include/sys/dirent.h have some comment /* includes , which is this file. On a system which supports , this file is overridden by dirent.h in the libc/sys/.../sys directory. On a system which does not support , we will get this file which uses #error to force an error. */ Gcc-arm-none-eabi-4_9-2015q3 is bare-metal. Dirent.h operation should be supplied by bios..... What do you think? regards cheepeng + +Hi Sorry for late reply Yes you are right "gcc-arm-none-eabi-4_9-2015q3 is bare-metal" You should use linaro tool chain instead Please refer the Linux User guide to install linaro tool chain (the supported one) & then try building Regards Surya + diff --git a/sample_embedding_folder2/0716010.txt b/sample_embedding_folder2/0716010.txt new file mode 100644 index 0000000000000000000000000000000000000000..231d0c3afe7c0e8cc4377329dd7372bbc52e528c --- /dev/null +++ b/sample_embedding_folder2/0716010.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2P-ACD: NAND Flash Configiration in U-boot for TDA2p device + +Query Text: +Part Number: TDA2P-ACD Other Parts Discussed in Thread: TDA2 Tool/software: Linux Hello, We have a custom board with TDA2P SoC and running Linux on A15. There is NAND flash( MX30LF1G18A) connected to TDA and want to access it from U-boot. We have configured the NAND driver in U-boot and also added the gpmc node to the dts file and enabled the pinmux config. When we run the code we see U-Boot log and code hangs at NAND probing. Here is the Uboot log : U-Boot SPL 2016.05-00010-g9551b3d-dirty (Aug 06 2018 - 12:42:11) DRA762-GP ES1.0 board_init ********spl_boot_device******no pinctrl for hs200_1_8v no pinctrl for ddr_1_8v *** Warning - MMC init failed, using default environment i2c_write: error waiting for data ACK (status=0x116) i2c_write: error waiting for data ACK (status=0x116) ********spl_boot_device******Trying to boot from spl MMC1 reading dra7-ipu2-fw.lzop spl_load_file_fat: error reading file dra7-ipu2-fw.lzop, err - -1 spl: error reading image dra7-ipu2-fw.lzop, err - -1 Error loading remotecore IPU2!,Continuing with boot ... reading dra7-dsp1-fw.lzop spl_load_file_fat: error reading file dra7-dsp1-fw.lzop, err - -1 spl: error reading image dra7-dsp1-fw.lzop, err - -1 Error loading remotecore DSP1!,Continuing with boot ... reading dra7-dsp2-fw.lzop spl_load_file_fat: error reading file dra7-dsp2-fw.lzop, err - -1 spl: error reading image dra7-dsp2-fw.lzop, err - -1 Error loading remotecore DSP2!,Continuing with boot ... reading dra7-ipu1-fw.lzop spl_load_file_fat: error reading file dra7-ipu1-fw.lzop, err - -1 spl: error reading image dra7-ipu1-fw.lzop, err - -1 Error loading remotecore IPU1!,Continuing with boot ... spl: falcon_args_file not set in environment, falling back to default reading single-stage-boot.dtb spl_load_image_fat_os: error reading image single-stage-boot.dtb, err - -1 reading u-boot.img reading u-boot.img reading u-boot.img reading u-boot.img U-Boot 2016.05-00010-g9551b3d-dirty (Aug 06 2018 - 12:42:11 +0530) CPU : DRA762-GP ES1.0 Model: TI DRA762 EVM Board: DRA74x EVM REV DRAM: 512 MiB NAND: DTS config for GPMC: &gpmc { /* * For the existing IOdelay configuration via U-Boot we don't * support NAND on dra72-evm. Keep it disabled. Enabling it * requires a different configuration by U-Boot. */ status = "okay"; ranges = <0 0 0x08000000 0x01000000>; /* minimum GPMC partition = 16MB */ nand@0,0 { /* To use NAND, DIP switch SW5 must be set like so: * SW5.1 (NAND_SELn) = ON (LOW) * SW5.9 (GPMC_WPN) = OFF (HIGH) */ compatible = "ti,am3352-gpmc"; reg = <0 0 4>; /* device IO registers */ rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 pin */ /* device IO registers */ ti,nand-ecc-opt = "bch8"; ti,elm-id = <&elm>; nand-bus-width = <8>; gpmc,device-width = <1>; gpmc,sync-clk-ps = <0>; gpmc,cs-on-ns = <0>; gpmc,cs-rd-off-ns = <80>; gpmc,cs-wr-off-ns = <80>; gpmc,adv-on-ns = <6>; gpmc,adv-rd-off-ns = <60>; gpmc,adv-wr-off-ns = <60>; gpmc,we-on-ns = <10>; gpmc,we-off-ns = <50>; gpmc,oe-on-ns = <4>; gpmc,oe-off-ns = <54>; gpmc,access-ns = <40>; gpmc,wr-access-ns = <80>; gpmc,rd-cycle-ns = <80>; gpmc,wr-cycle-ns = <80>; gpmc,wait-on-read = "true"; gpmc,wait-on-write = "true"; gpmc,bus-turnaround-ns = <0>; gpmc,cycle2cycle-delay-ns = <0>; gpmc,clk-activation-ns = <0>; gpmc,wait-monitoring-ns = <0>; gpmc,wr-data-mux-bus-ns = <0>; /* MTD partition table */ /* All SPL-* partitions are sized to minimal length * which can be independently programmable. For * NAND flash this is equal to size of erase-block */ #address-cells = <1>; #size-cells = <1>; partition@0 { label = "NAND.SPL"; reg = <0x00000000 0x000020000>; }; partition@1 { label = "NAND.SPL.backup1"; reg = <0x00020000 0x00020000>; }; partition@2 { label = "NAND.SPL.backup2"; reg = <0x00040000 0x00020000>; }; partition@3 { label = "NAND.SPL.backup3"; reg = <0x00060000 0x00020000>; }; partition@4 { label = "NAND.u-boot-spl-os"; reg = <0x00080000 0x00040000>; }; partition@5 { label = "NAND.u-boot"; reg = <0x000c0000 0x00100000>; }; partition@6 { label = "NAND.u-boot-env"; reg = <0x001c0000 0x00020000>; }; partition@7 { label = "NAND.u-boot-env.backup1"; reg = <0x001e0000 0x00020000>; }; partition@8 { label = "NAND.kernel"; reg = <0x00200000 0x00800000>; }; partition@9 { label = "NAND.file-system"; reg = <0x00a00000 0x0f600000>; }; }; }; Please let us know if we are missing anything. Regards, SwapniL B + +Responses: +Swapnil We have a similar post for NAND support on DRA7/TDA2 - e2e.ti.com/.../2481352 In essence, we validate boot from QSPI, eMMC/SD as part of our regular releases - we used to support NAND in the past, but most customers ended up choosing QSPI flash for boot media instead. we also had to contend with pin mux conflicts (in enabling NAND pins) on the TI EVM: hence we dropped support for NAND in our SDK releases Is there a strong reason for choosing NAND over eMMC + +Hi Srirama, We are working on board bring up activity for customer board. So we need support to enable the Nand flash. Regards, Swapnil + +Swapnil Does NAND support need to be enabled both in uboot(especially if it is your boot media) and also from the kernel(root filesystem from NAND - UBIFS based) We had enabled NAND boot support on DRA71x - and you can refer to patches in uboot, kenel as a reference + +Hi Sriram, Thanks for providing the patches. We have successfully enable the Nand flash from uboot. Regards, Swapnil + diff --git a/sample_embedding_folder2/0716142.txt b/sample_embedding_folder2/0716142.txt new file mode 100644 index 0000000000000000000000000000000000000000..2d6684f5e357336062965a641742a8e706bfc484 --- /dev/null +++ b/sample_embedding_folder2/0716142.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: tidl_OD Usecase on Linux platform + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi Everyone , I like to know whether it is possible to run tidl_OD use case in TDA2xx EVM linux platform . If we could run , I like to know if there is anything we need to modify in the Usecase level to achieve this Regards , Surendar + +Responses: +Hi, Support for tidl_OD usecase is not been integrated in linux. You have run this on bios. Regards, Anuj + diff --git a/sample_embedding_folder2/0716159.txt b/sample_embedding_folder2/0716159.txt new file mode 100644 index 0000000000000000000000000000000000000000..4196e18c21eee367bb5b5adddd841d6c95120aae --- /dev/null +++ b/sample_embedding_folder2/0716159.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: VCOP and memory access + +Query Text: +Part Number: TDA2 Hi, Following is environment detail : Platform - TDA2X - EVM. VisionSDK 3.x I have a Link that runs on EVE and accesses the buffer allocated from shared memory (Say camera buffer from SDRAM) -- allocated via Vision SDK Link and Chain framework. I wanted to use write VCOP kernel and call it from EVE/ARP32, which would execute algorithm/computation on this buffer on VCOP and get the result back on EVE . However, it seems that: 1. VCOP would work always on IBUFLA, IBUFLB, IBUFHA, IBUFHB and WBUF internal memory. 2. VCOP Can not access DMEM of ARP32 3. EVE can access IBUFLA, IBUFLB, IBUFHA, IBUFHB and WBUF Queries : Q1. Can you please confirm understanding on #1, #2 #3? Q2. If this is the case, then is it expected to do memcpy/dma from external memory to VCOP internal memory before executing kernel on VCOP ? Q3. Is there is way to avoid this memory copy / block copy ? Thanks, Uday + +Responses: +Hi Uday, Please find my answers as follows: Q1. Can you please confirm understanding on #1, #2 #3? Understanding of #1 and #2 are correct. Regarding #3, what do you mean by EVE can access? If you meant ARP32 then yes ARP32 can access all the internal memories ( including DMEM) but the access is still dependent on the ownership of the buffer. Both ARP32 and VCOP cannot simultaneously access the same buffer. Q2. If this is the case, then is it expected to do memcpy/dma from external memory to VCOP internal memory before executing kernel on VCOP ? Yes, you need to DMA the data first from external memory to internal memories of EVE subsystem before VCOP can process it. Q3. Is there is way to avoid this memory copy / block copy ? No, this cannot be avoided as VCOP can only work with data being in internal memory of EVE (IBUF's and WBUF). Regards, Anshu + +Hello Uday, Please refer to the attached presentation. It covers the topics you are referring to: Q1. Can you please confirm understanding on #1, #2 #3? Your understanding is correct for #1, #2. For #3, I assume you meant ARP32 can access IBUFLA, IBUFLB, IBUFHA, IBUFHB and WBUF. Q2. If this is the case, then is it expected to do memcpy/dma from external memory to VCOP internal memory before executing kernel on VCOP ? Yes, this is correct. Q3. Is there is way to avoid this memory copy / block copy ? No there isn't any other way for VCOP to access external memory as there is no data cache, neither any direct access to memories other than the image buffers and working buffer. However the copy can be done concurrently with VCOP processing so you are not wasting any cycles as long as your compute cycles exceed the transfer cycles. Implementation of an EVE App.pdf + diff --git a/sample_embedding_folder2/0716319.txt b/sample_embedding_folder2/0716319.txt new file mode 100644 index 0000000000000000000000000000000000000000..f04662f6aeebe262f1fb9c165d0c242a7bfc5f1c --- /dev/null +++ b/sample_embedding_folder2/0716319.txt @@ -0,0 +1,34 @@ +Ticket Name: TDA2: TDA2X: monitor can't display any signal. can't install PROCESSOR_SDK_VISION program. + +Query Text: +Part Number: TDA2 To TI supporter, Our company bought TDA2X system that serial number is VA1 707002(TDA2X), the systematic tool has PCBA, monitor and power adaptor. Our purpose is success to run PROCESSOR_SDK_VISION program that include board test. However, we hit a dead end and need your help: The monitor is always black (no signal output) after system power on/boot up. How to let the system work and display the information on the screen?(We suspected that the system is boot up because the controller became hotter after power on. We do not know how to let the information output on the monitor.) How to install PROCESSOR_SDK_VISION program then execute board test program? We would like to have your fully support to setup TDA2X system. Looking forward to hearing from you soon. Thank you. + +Responses: +Hi, You can download Processor SDK Vision from: http://software-dl.ti.com/processor-sdk-vision/esd/TDAx/vision-sdk/latest/index_FDS.html Look at VisionSDK_Getting_Started_Guide.pdf and VisionSDK_UserGuide_TDA2xx.pdf on how to run Vision SDK. Regards, Rishabh + +Hi Rishabh, Thanks your answer, but my monitor can't display any signal(black screen), how can i do? Regards, Ken Huang + +Hi, Have you gone through the docs as suggested by Rishabh. You first need to build the sdk and prepare sd card then using that you can run the usecase ans see the same on monitor. Regards, Anuj + +Hi Anuj, Ok, got it. I want to know where can find VisionSDK_Getting_Started_Guide.pdf and VisionSDK_UserGuide_TDA2xx.pdf. Thanks Regards, Ken Huang + +Hi, It is in the docs folder. You need to install Vision SDK (both linux and windows versions are available in link given above). Regards, Rishabh + +Hi, Ok, so i just need to install PROCESSOR_SDK_VISION_03_04_00_00.exe by sd card, then the monitor can run. is right? Regards, Ken Huang + +Hi, You need to install and build Vision SDK. Then you should copy MLO and AppImage to SD card and boot TDA2 in SD boot mode. As I mentioned previously refer to docs for details. Regards, Rishabh + +Hi, Sorry, can more detail? I can't understand from docs. can you teach me at here? What is install and build Vision SDK, MLO and AppImage? Thanks Regards, Ken Huang + +Ken, Can you be specific what exactly you did not understand from the docs. I have clearly specified the documents you need to read. "What is install and build Vision SDK, MLO and AppImage?" You need to install PROCESSOR_SDK_VISION_03_04_00_00.exe. Then you need to build the source code. MLO and AppImage are executable generated on building SDK. Regards, Rishabh + +Hi, About "Build VISION SDK" is use computer to run(folder TI components)? Then i can acquire MLO and Applmage,and copy these to SD card. Thanks Regards, Ken Huang + +Hi Ken, You need to build Vision SDK from PROCESSOR_SDK_VISION_03_04_00_00\vision_sdk\build folder. Detailed instructions are given in "Chapter 3 Build and Run" of VisionSDK_UserGuide_TDA2xx.pdf. After that you need to copy MLO and AppImage to SD card and boot the EVM in SD boot mode. Regards, Rishabh + +Hi Rishabh, I only have version of PROCESSOR_SDK_VISION_03_03_00_00 now, i can't found VisionSDK_UserGuide_TDA2xx.pdf from PROCESSOR_SDK_VISION_03_03_00_00_Docs_Only. And this version's install step is same ? Thanks Regaeds, Ken Huang + +Hi Ken, You need to download and install PROCESSOR_SDK_VISION_03_04_00_00.exe from software-dl.ti.com/.../index_FDS.html Regards, Rishabh + +Hi Ken, There has been no activity on this thread for many days. Can we close the thread? Regards, Rishabh + diff --git a/sample_embedding_folder2/0716329.txt b/sample_embedding_folder2/0716329.txt new file mode 100644 index 0000000000000000000000000000000000000000..0b7bfbeacfb8d054f6db3996afddc23b017e55bc --- /dev/null +++ b/sample_embedding_folder2/0716329.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA3XEVM: DCAN Assertion issue.. + +Query Text: +Part Number: TDA3XEVM Other Parts Discussed in Thread: TDA2, SYSBIOS Hello team, One of my customer who are using TDA2/TDA3x is facing issue for DCAN assertion. The issue is similar to the below e2e issue. But they are not resolved after modified that below post recommended. Here're the logs below. [IPU1-1] 30.071188 s: Id[0x739] [IPU1-1] 30.071646 s: Id[0x73A] [IPU1-1] 30.073110 s: Id[0x73B] [IPU1-1] 30.101201 s: Id[0x73C] [IPU1-1] 30.101659 s: Id[0x73D] [IPU1-1] 30.103123 s: Id[0x73E] [IPU1-1] 30.131184 s: Id[0x73F] [IPU1-1] 30.171201 s: Id[0x739] [IPU1-1] 30.171628 s: Id[0x73A] [IPU1-1] 30.173122 s: Id[0x73B] [IPU1-1] 30.201213 s: Id[0x73C] [IPU1-1] 30.202403 s: Id[0x73D] [IPU1-1] 31.102360 s: Assertion @ Line: 400 in C:/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/apps/src/rtos/modules/dcan/utils_dcan.c: status == 0 : failed !!! [IPU1-1] 31.102574 s: [IPU1-1] 31.102635 s: ### XDC ASSERT - ERROR CALLBACK START ### [IPU1-1] 31.102696 s: [IPU1-1] 31.102848 s: assertion failure: A_badContext: bad calling context. See GateMutex API doc for details. [IPU1-1] 31.102940 s: [IPU1-1] 31.102970 s: ### XDC ASSERT - ERROR CALLBACK END ### [IPU1-1] 31.103062 s: [IPU1-1] 31.103367 s: ti.sysbios.gates.GateMutex: line 99: ti.sysbios.gates.GateMutex: line 99: assertion failure: A_badContext: bad calling context. See GateMutex API doc for details. [IPU1-1] 31.103580 s: xdc.runtime.Error.raise: terminating execution Could you please to guide how to fix it? Best Regards, Ernest + +Responses: +Hi Ernest, Can you please ask the customer to step through the code and see where exactly it is failing? Also ask them to increase 'freeQ' and 'rxMsgQ' size to 50 and try it. Please let me know their observation after this. Thanks & Regards, Vivek Dhande. Texas Instruments (India) Pvt Ltd + +H Ernest, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Thanks & Regards, Vivek Dhande. Texas Instruments (India) Pvt Ltd + +Hi Vivek, Sorry for late response and thank you for your consideration. They already did your guides but the issue still happened. But they solved this issue by modifying below. - SDK reference CAN source use 1 mailbox and receive 1 message, so they modified it to use 8 mailbox and changed msgIdentifierMask. Thank you. Best Regards, Ernest + diff --git a/sample_embedding_folder2/0716332.txt b/sample_embedding_folder2/0716332.txt new file mode 100644 index 0000000000000000000000000000000000000000..9436a0b2186b3cec673e87e065627dbce792dce5 --- /dev/null +++ b/sample_embedding_folder2/0716332.txt @@ -0,0 +1,24 @@ +Ticket Name: TDA2: Host emulation build for SDK0304 + +Query Text: +Part Number: TDA2 hi,dear In the paper called deep learning user guide , I could not bringup the host emulation mode ,the ref information and the error as following: The command is so simple, however it did not work. Could you please help me figure out how to set it ? BR + +Responses: +Hi, You need source code release of TIDL to build in host emulation mode. Do you have access to it? Thanks, Praveen + +No,I did not have that code. However I really saw the makefile. There is the ./src directory in the make process. Could you please kind enough to offer me the code? I want to research that and do some important examples to show the capability of tda2x processer. If it can do well (especially DL related algorithm) and develop easily , there will be more cooperation. + +Hi, Source code will be shared only through CDDS. Please contact you local TI FAE to get access to CDDS account and source code release. Thanks, Praveen + +Any other method? The communication process of the FAE in China is too Inefficient. Let me offer you the order of your company's TDA2x EVM, is it OK ? + +No, I cannot help here further. Please contact your local TI representative only, that is the only way many customer got the source code. Thanks, Praveen + +In fact, the representative delayed me so long. I could not get the feedback from him/her. How can I get forward to my work? Could I talk the manager with yours or the departmant manager? + +Hi , The TIDL Host emulation is NOT needed for running a CNN network on TI device (It is only needed for de-bugging purpose). The binary release available in VSDK package could run CNN inference in TI devices, use this binary release for your network deployment. Regards, Kumar.D + +hi, dear Now although I bought serveral tda2x boards, I have only got part service from the TI tech support in Shanghai of China. I could not get the source code of TIDL. So if I want to run my improved cnn model , I can only run it on the tda2x board not on PC simulator. I have imported the cnn model to the bin format which is suitable for TIDL. Yet the input data need to be resize to 368 X 368,and I should resize it by myself( It has to be the TI method to resize). Even worse, the configuration file (only seg , ssd detection included)on the tda2x board looks like that below: TIDL Configuration parameters ----------------------------- ################################################################################ IMP: Make sure the size of the file names (excluding extension) is not more than 8 characters. ################################################################################ inputWidth=1024 inputHeight=512 inputFile=IN.RGB outputFile=OUT.BIN netFileName=NET.BIN paramFileName=PRM.BIN My cnn net is not for detection or classifcation, but pose recognition. I do not know if I can use this demo cfg file to run my cnn model successfully on the tda2x. If not , could you please be kind enough to offer me new cfg file or make some change for me to run? tks, looking forward to your reply. + +Hi, this question is discussed here: e2e.ti.com/.../723315 I will close this thread. Regards, Yordan + diff --git a/sample_embedding_folder2/0716448.txt b/sample_embedding_folder2/0716448.txt new file mode 100644 index 0000000000000000000000000000000000000000..2e47be24f7e209641eebe6fef49a83e98c2f3892 --- /dev/null +++ b/sample_embedding_folder2/0716448.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: TDA2X: monitor can't display any signal. can't install PROCESSOR_SDK_VISION program. + +Query Text: +Part Number: TDA2 To TI suporter: How to install SDK VISION program. I can't understand from docs. What is install and build Vision SDK, MLO and AppImage? We would like to have your fully support to setup TDA2X system. Looking forward to hearing from you soon. Thank you. Regards, Ken Huang + +Responses: +Hi Ken, This query is already supported in another thread. Kindly don't start new threads on same topic. Regards, Rishabh + +Hi, Ok, sorry. I worried about another thread is be resovled and not notice. you can delete it. Regards, Ken Huang + +Hi Ken, Ok I am closing this thread. Regards, Rishabh + diff --git a/sample_embedding_folder2/0716456.txt b/sample_embedding_folder2/0716456.txt new file mode 100644 index 0000000000000000000000000000000000000000..57ea77139ec43ab6934e60c657807ff944c824b4 --- /dev/null +++ b/sample_embedding_folder2/0716456.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: null_src_decode_display test problem + +Query Text: +Part Number: TDA2 Tool/software: Linux I tried to test null src test case for H.264, but it failed and showed error. 1: Single Camera Usecases 5: NullSrc + Decode + Display (Only 1920x1080 H264/MJPEG Video Input Bit-Stream Supported)\ Enter '1' for H.264 1 ASSERT (nullSrcLink_tsk.c|NullSrcLink_create|1083) The print log showed the data file is 1920x1080_00.h264 and index file is 1920x1080_00.hdr. [HOST] [HOST ] FILEREAD NOT DISABLE [HOST] [HOST ] Data file:/home/1920x1080_00.h264 [HOST] [HOST ] Index file:/home/1920x1080_00.hdr Could you please let me know where to get these test files? I had test files 1280x720, or maybe you can let me know how to change the file path? root@dra7xx-evm:/home# ls -al -rw-rw-rw- 1 1000 pulse 615343 Nov 18 2017 1280x720_00.h264 -rw-rw-rw- 1 1000 pulse 200 Nov 18 2017 1280x720_00.hdr Any help will be appreciated. Thank you. Regards, Ellen Shiu + +Responses: +Hi, Please check here where to get .h264 stream and how to generate corresponding index file (.hdr): e2e.ti.com/.../2551574 e2e.ti.com/.../2551636 Regards, Yordan + diff --git a/sample_embedding_folder2/0716621.txt b/sample_embedding_folder2/0716621.txt new file mode 100644 index 0000000000000000000000000000000000000000..2f0f1ef228c7ee4acc4b8038c1c1b7d5d73ac8ad --- /dev/null +++ b/sample_embedding_folder2/0716621.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2: NOR FLASH using TDA2XX and QNX + +Query Text: +Part Number: TDA2 hi, I am using TDA2XX board an qnx software.sd boot is working here but i try to boot based on NOR flash using QNX in tda2xx , its not working so please can u share switch settings for NOR flashing. i tried our vision sdk datasheet and QNX datasheet for NOR FLASH. thanks kalai + +Responses: +The DIP switch on EVM represents the setting for SYSBOOT0~15. Please refer to page 7539 in TDA2x ADAS Applications Processor Public Technical Reference Manual (Rev. E) www.ti.com/.../sprui29 You should find SYSBOOT[5:0] = 110101 is for NOR Flash boot. + +HI, thanks for your reply. NOR FLASH IN TDA2xx with QNX this pin setting is not working .i used TDA2xx vayu evm xc5777x cpu board assy 516580 REV H board, so please tell the pin settings SW2,SW3 and SW5. thanks kalai + +HI, thanks for your reply. NOR FLASH IN TDA2xx with QNX this pin setting is not working .i used TDA2xx vayu evm xc5777x cpu board assy 516580 REV H board, so please tell the pin settings SW2,SW3 and SW5. thanks kalai + +HI , i made all switch combination of this board .i got error like this,so please give the solution. thanks kalai + +Hi Kalai, This is QSPI NOR flash. Hence you should try QSPI boot. Also can you have one thread instead of multiple threads with similar questions. Regards, Rishabh + diff --git a/sample_embedding_folder2/0716752.txt b/sample_embedding_folder2/0716752.txt new file mode 100644 index 0000000000000000000000000000000000000000..fc8d9aca8102c68cd4551cd08ab0bc8ca75f12c7 --- /dev/null +++ b/sample_embedding_folder2/0716752.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: TDA2x + +Query Text: +Part Number: TDA2 Dear TI, We are working on TIDL now, refer to: VisionSDK_UserGuide_TI_DeepLearning.pdf, I can't access the link: https://cdds.ext.ti.com/ematrix/common/emxNavigator.jsp?objectId=28670.42872.30602.25095 stated inside this doc. due to lack of "CDDS user account". Can you advise us how to get the CDDS account? Thanks and best regards He Wei Team leader for System Architectures and Deep Learning + +Responses: +Dear TI, In addition, to try on the TIDL use case in the VSDK, it require the configure file, network file, parameter file and usecase input file, Where can I get these files? He Wei Team leader for System Architectures and Deep Learning + +Hi He Wei, you need to contact your local TI FAE to get access to CDDS (it requires NDA to be signed). The example files for TIDL Usecase can be found in "PROCESSOR_SDK_VISION_03_04_00_00\vision_sdk\apps\tools\TIDL_files". Regards, Yordan + diff --git a/sample_embedding_folder2/0716968.txt b/sample_embedding_folder2/0716968.txt new file mode 100644 index 0000000000000000000000000000000000000000..5bde397c2d1d48e16d406b35a5678767dff4e1e1 --- /dev/null +++ b/sample_embedding_folder2/0716968.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: assembly optimization + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: MATHLIB Tool/software: Linux is there any examples of assembly optimization in SDK? vlib_c66x_3_3_0_3 and vxlib_c66x_1_1_1_0 there examples are use Inline instruction! so i am thy to assembly optimization some fuction,but no sample to follow! + +Responses: +Hi Shuai, Since you are looking at vxlib I assume you are interested in DSP optimization. If so please check this post by Jesse for a list of DSP optimization reference guides and trainings: e2e.ti.com/.../2371691 Regards, Yordan + +Hi: Yordan this is a sample function , document have give out its Linear Assembly code. c code c code i just call it , Assembly code how to call , i put Assembly code in .asm file ? int dot(short a[], short b[]) { int sum0 = 0, sum1 = 0, sum, I; for (I = 0; I < 100/2; I+= 2) { sum0 += a[i] * b[i]; sum1 += a[i + 1] * b[i + 1]; } return sum0 + sum1; } Linear Assembly for Dot Product _dot: .cproc a, b .reg sum0, sum1, I .reg val1, val2, prod1, prod2 MVK 50,i ; I = 100/2 ZERO sum0 ; multiply result = 0 ZERO sum1 ; multiply result = 0 loop: .trip 50 LDW *a++,val1 ; load a[0-1] bank0 LDW *b++,val2 ; load b[0-1] bank2 MPY val1,val2,prod1 ; a[0] * b[0] MPYH val1,val2,prod2 ; a[1] * b[1] ADD prod1,sum0,sum0 ; sum0 += a[0] * b[0] ADD prod2,sum1,sum1 ; sum1 += a[1] * b[1] [I] ADD -1,i,i ; I-- [I] B loop ; if (!I) goto loop ADD sum0,sum1,A4 ; compute final result .return A4 .endproc BESTWISHES SHUAI + +Hi Shuai, you can use separate .asm file for your assembly code or include it in .c file with: asm(" Some Assembly \n\t" " Some Assembly \n\t" ... " Some Assembly \n\t" ); but this option is better suited for small fragments of assembly code. You can check for example "/ti_components/algorithms/mathlib_c66x_3_1_0_0/" - there are quite a lot functions implemented in .asm files. Regards, Yordan + diff --git a/sample_embedding_folder2/0717196.txt b/sample_embedding_folder2/0717196.txt new file mode 100644 index 0000000000000000000000000000000000000000..e308fe89f0c8bb5a4521ba274f2979b9d6c520a8 --- /dev/null +++ b/sample_embedding_folder2/0717196.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2: ABB mode + +Query Text: +Hi sir, Could you pls explain the ABB feature of LDO in detail? Tks so much BR jason_Koo + +Responses: +Please provide complete details - what device are you asking about? + +it is TDA2x, picture as attachment. + +Hi jason_Koo, can you check if you can find what you look for in "ADAS Power Management" application note: www.ti.com.cn/.../sprac22.pdf and also this training: training.ti.com/introduction-adas-power-management-software Regards, Yordan + +Hi Yordan, Thank you for help! BR Jason Koo + diff --git a/sample_embedding_folder2/0717323.txt b/sample_embedding_folder2/0717323.txt new file mode 100644 index 0000000000000000000000000000000000000000..a902cc528b7b70a3738632417e440b1dee1ab6c2 --- /dev/null +++ b/sample_embedding_folder2/0717323.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: Vision SDK 3.03 DDR test resets the board + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hello all, When I run Vision SDK 3.03 PDK example for DDR test on TDA2px board, and when test gets to particular address on EMIF1 (0x9BFF1000) or EMIF2 (0xBDFF1000), it restarts the board and starts executing the test again. When I run DDR test example from Vision SDK 2.12. it executes with no problems. Do you maybe know why that happens, is there a problem with SBL or with the test? Best regards, Bosko + +Responses: +Hi, This looks like a watchdog timer reset. Can you check if watchdog timer is disabled. Regards, Rishabh + diff --git a/sample_embedding_folder2/0717514.txt b/sample_embedding_folder2/0717514.txt new file mode 100644 index 0000000000000000000000000000000000000000..60fc353dacd008452df9b893c41cc4f32b204100 --- /dev/null +++ b/sample_embedding_folder2/0717514.txt @@ -0,0 +1,20 @@ +Ticket Name: TDA2: Configuring MPU MMU + +Query Text: +Part Number: TDA2 Hello, With starterware we are using both MPU A15 cores and want to configure the MPU_MMU to use cache but still retain the ability to use inter-core variables with DSP and IPU cores. We also want to have both A15 cores with MMU enabled running concurently. It seems like this would be possible by programming the MMU with specific tables/descriptors. To start we used the starterware example tables for MMU as a reference (found in mmu_a15_data_validation_app): /* Set level one descriptor attributes */ gAttrs.descriptorType = MMU_A15_DESCRIPTOR_TYPE_BLOCK; gAttrs.attrIndx = MMU_A15_ATTR_INDEX_2; gAttrs.nonSecure = MMU_A15_NON_SECURE_ENABLE; gAttrs.accPerm = MMU_A15_ACC_PERM_RW_ANY_PL; /*Read Write at any PL*/ /* Set level one descriptor */ virtualAddr = 0x0, phyAddr = 0x0; MMUA15SetFirstLevelDesc(&gMmuTable, virtualAddr, phyAddr, &gAttrs); virtualAddr = 0x40000000, phyAddr = 0x40000000; MMUA15SetFirstLevelDesc(&gMmuTable, virtualAddr, phyAddr, &gAttrs); virtualAddr = 0x80000000, phyAddr = 0x80000000; MMUA15SetFirstLevelDesc(&gMmuTable, virtualAddr, phyAddr, &gAttrs); virtualAddr = 0xc0000000, phyAddr = 0x80000000; MMUA15SetFirstLevelDesc(&gMmuTable, virtualAddr, phyAddr, &gAttrs); With the values above if you attempt to print while MMU is enabled nothing gets printed. Similarly any attempt to use mailbox functions while MMU is enabled will fail. We can get both those to work by changing the 0x40000000 entry to MMU_A15_ATTR_INDEX_1. 1. Is it correct in that chaging to MMU_A15_ATR_INDEX_1 it is just disabling cache for this address block? 2. Would this be the recommended way for retaining access to UART, Mailbox, DMA,...? When MMU is enabled we've observed inter-core variables that exist in external DDR mismatch between cores. An example is writing to a variable in DDR space on an A15 with MMU enabled and having an IPU core check the value. When MMU is enabled the IPU core does not read back what A15 just wrote but if MMU is disabled then IPU core reads back the correct value every time. 3. Is the mismatch due to A15 using cache and not actually writing it back to DDR? 4. Is there a way to make sure what A15 writes while MMU is enabled gets written to DDR? 5. What is the correct way to create a 16MiB section in DDR that would have its own table entry and use MMU_A15_ATR_INDEX_1? Couldn't find how to change sizes in the function MMUA15SetFirstLevelDesc(). Thank you, JMG + +Responses: +Hi, What are the values for ATTR_INDEX_1? Can you check the A15 MMU large descriptor documentation for details on page size. Regards, Rishabh + +Hello Rishabh, Not sure I understand your question. The value for ATTR_INDEX_1 is defined as 1 inside the file mmu_a15.h, though it's called MMU_A15_ATTR_INDEX_1. The struct that ATTR_INDEX_1 gets used in is called mmuA15DescriptorAttrs_t and the specific field is attrIndx. That struct field has the following description which I don't really understand. uint32_t attrIndx; /**< Bits[4:2] * Memory Attributes field, for Memory Attriute Indirection Register MAIR * Bit[4]:0 Use MAIR0, 1:Use MAIR1 * AttrIndx[2:0] gives the value of m in Attrm * Attrm[7:4] 0100 Normal memory, outer non-cacheable * 1011 Normal memory, outer write through cacheable * 1111 Normal memory, outer write back cacheable * Attrm[3:0] 0100 Normal memory, inner non-cacheable * 1011 Normal memory, inner write through cacheable * 1111 Normal memory, inner write back cacheable */ If ATTR_INDEX_1 is define as 1 then what does attrIndx=1 mean? I've reviewed the available information for MMU in the TDA2 TRM as well as reviewed MAIR register information provided on ARM's TRM website but I still don't understand how this value affects page size. Is there any chapter and section that you specifically recommend? Thanks, JMG + +Hi, You need to check chapter B3.6 Long-descriptor translation table format of ARM Architecture Reference Manual for A15. TI software supports two level tables. So this means you can either have 1 GB region or 2 MB memory region. For 16 MB you need to map 8 second level entries. Application needs to take care of handling cache operation correctly. One point to keep in mind is that on A15 cache invalidate behaves similar to cache write back invalidate. This can have serious implications as valid data might get overwritten by stale data from cache. Regarding my question on ATTR_INDEX_1, you can use it to set inner and outer cacheable property of A15 cache. You can choose to set any value for index 1 using MMUA15SetMAIR API (like 0xFF is set for index 2 in example). The same should be set while setting mmuA15DescriptorAttrs_t.attrIndx. Regards, Rishabh + +Hi, Is there any update on this? Regards, Rishabh + +Hello Rishabh, Sorry for the delay, I was able to get back on this project and unfortunately I'm still not sure how I need to configure the MMU to accomplish my goal. More specifically, I'm not sure how to program the MMU using the functions provided as part of Starterware. Using the function MMUA15SetMAIR() I've tried to configure the attr[7:0] fields so that only the memory range from 0x8000.0000-0xC000.0000 is cacheable but I don't think I'm configuring it correctly. When I use MMUA15SetMAIR(&gMmuTable, MMU_A15_ATTR_INDEX_2, 0xFF); I see a noticeable increase in speed but I also lose the ability to use some functions, i.e. mailboxsend, uartprint, etc... Changing the third field to anything other than 0xFF, like 0xBB instead, makes it so I don't lose the utility of those functions but I also don't see any speed difference from when MMU is disabled. Since 0xBB would configure it as cacheable but write-through that makes sense that it would be as slow as if no MMU. At least that's how I understand it; is that correct? I've tried programming more than one ATTR_INDEX_# each with their own memory range and specific settings for that range but nothings has worked so far. If write-back settings (0xFF) are the only way I can see an increase in speed then is there a way to force a sync between what's in cache and what's in main memory? It may be that my inability to use the functions when 0xFF is used is only because of the differences between main memory and cached memory. The example provided in starterware (mmu_a15_data_validation_app_main.c) also disable MMU when it uses UART so I'm wondering, is my goal even achievable? Can I have MMU and cache capability enabled and still maintain the ability to use mailbox and uartprint functions? To recap my goal, I want to configure my DDR space as cacheable but still have the ability to use mailbox functions and UART print statements. Additional to that, if possible I'd like to have the same MMU configuration on both A15 cores, A15_0 and A15_1 so that each can operate independently. Can can you confirm that desired is goal is achievable? Also, if it is achievable are there any other examples that help demonstrate the different ways to configure MMU within starterware? Thank you. + +Hi, In order to get performance improvement you should set the policy to write back. You should use the cache write-back/invalidate APIs to make sure the main memory is coherent with cache in case of any critical data access. Please note that the invalidate instruction is treated by A15 as a clean/invalidate instruction. Therefore, calls to Cache_inv()/Cache_invAll() will behave like Cache_wbInv()/Cache_wbInvAll() on A15. Also A15 has different L1D/L1P cache per core and an unified L2 cache. Ideally you should not be facing any issues with Mailbox or UART APIs with cache/MMU enabled. Can you elaborate on the issues you are facing? Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0717612.txt b/sample_embedding_folder2/0717612.txt new file mode 100644 index 0000000000000000000000000000000000000000..4144f0b179af1da0c2af036e102c3d6c5e9241e4 --- /dev/null +++ b/sample_embedding_folder2/0717612.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2EVM5777: Install Packages in VisionSDK Linux + +Query Text: +Part Number: TDA2EVM5777 Tool/software: Linux Helllo, I am running PROCESSOR_SDK_VISION_03_03_00_00 Linux on TDA2x and I need to install packages like minicom or nano. Is it possible to install packages into the rootfs in the compile environment? What is the correct way to install packages into VisionSDK Linux? I attempted two different methods to install packages and was unsuccessful in both methods. Method 1: I attempted to use opkg, but when I try to use the command opkg update the command gives me wget errors: root@dra7xx-evm:~# opkg update Downloading lcpd.gt.design.ti.com/.../Packages.gz. wget: bad address 'lcpd.gt.design.ti.com' Downloading lcpd.gt.design.ti.com/.../Packages.gz. wget: bad address 'lcpd.gt.design.ti.com' Downloading lcpd.gt.design.ti.com/.../Packages.gz. wget: bad address 'lcpd.gt.design.ti.com' Downloading lcpd.gt.design.ti.com/.../Packages.gz. wget: bad address 'lcpd.gt.design.ti.com' Downloading lcpd.gt.design.ti.com/.../Packages.gz. wget: bad address 'lcpd.gt.design.ti.com' Downloading lcpd.gt.design.ti.com/.../Packages.gz. wget: bad address 'lcpd.gt.design.ti.com' Downloading lcpd.gt.design.ti.com/.../Packages.gz. wget: bad address 'lcpd.gt.design.ti.com' Downloading lcpd.gt.design.ti.com/.../Packages.gz. wget: bad address 'lcpd.gt.design.ti.com' Downloading lcpd.gt.design.ti.com/.../Packages.gz. wget: bad address 'lcpd.gt.design.ti.com' Downloading lcpd.gt.design.ti.com/.../Packages.gz. wget: bad address 'lcpd.gt.design.ti.com' Downloading lcpd.gt.design.ti.com/.../Packages.gz. wget: bad address 'lcpd.gt.design.ti.com' Downloading lcpd.gt.design.ti.com/.../Packages.gz. wget: bad address 'lcpd.gt.design.ti.com' Downloading lcpd.gt.design.ti.com/.../Packages.gz. wget: bad address 'lcpd.gt.design.ti.com' Downloading lcpd.gt.design.ti.com/.../Packages.gz. wget: bad address 'lcpd.gt.design.ti.com' Collected errors: * opkg_download_backend: Failed to download lcpd.gt.design.ti.com/.../Packages.gz, wget returned 1. * opkg_download_backend: Failed to download lcpd.gt.design.ti.com/.../Packages.gz, wget returned 1. * opkg_download_backend: Failed to download lcpd.gt.design.ti.com/.../Packages.gz, wget returned 1. * opkg_download_backend: Failed to download lcpd.gt.design.ti.com/.../Packages.gz, wget returned 1. * opkg_download_backend: Failed to download lcpd.gt.design.ti.com/.../Packages.gz, wget returned 1. * opkg_download_backend: Failed to download lcpd.gt.design.ti.com/.../Packages.gz, wget returned 1. * opkg_download_backend: Failed to download lcpd.gt.design.ti.com/.../Packages.gz, wget returned 1. * opkg_download_backend: Failed to download lcpd.gt.design.ti.com/.../Packages.gz, wget returned 1. * opkg_download_backend: Failed to download lcpd.gt.design.ti.com/.../Packages.gz, wget returned 1. * opkg_download_backend: Failed to download lcpd.gt.design.ti.com/.../Packages.gz, wget returned 1. * opkg_download_backend: Failed to download lcpd.gt.design.ti.com/.../Packages.gz, wget returned 1. * opkg_download_backend: Failed to download lcpd.gt.design.ti.com/.../Packages.gz, wget returned 1. * opkg_download_backend: Failed to download lcpd.gt.design.ti.com/.../Packages.gz, wget returned 1. * opkg_download_backend: Failed to download lcpd.gt.design.ti.com/.../Packages.gz, wget returned 1. root@dra7xx-evm:~# Method 2: When I attempt to cross compile the packages on my development computer by downloading them and using ./configure && make, I would get errors where I would need to install something like coreutils, and when I attempt to install that, I would get lower level errors. Thank you, -iFer + +Responses: +Hi iFer, Regarding the Method 1: although the file system supports the ability to derive from Yocto feeds and do an update like the "opkg update", you would need to point it to a relevant publicly accessible feed or a private feed that you set up. As far as I know, there is no public feed that can help you achieve the desired result in this method. Please let me know if you are aware of any public feeds that I can try. Regarding the Method 2: I need more details to comment on the errors that you are facing. but this method wouldn't be my recommendation. The easiest method would be to just add the minicom and nano packages into your Yocto filesystem image, and generate the opkg and transfer/install to the target. Regards Karthik + diff --git a/sample_embedding_folder2/0717622.txt b/sample_embedding_folder2/0717622.txt new file mode 100644 index 0000000000000000000000000000000000000000..9af430521de66596b4c3ff1bcbef1c7d4893d08e --- /dev/null +++ b/sample_embedding_folder2/0717622.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: TIDL: NET_OD.bin and PRM_OD.bin are missing in SDK v3.4 + +Query Text: +Part Number: TDA2 Dear support staff, NET_OD.bin and PRM_OD.bin are required to run TIDL OD demo. They could be found in SDK v3.3 but there are missing in SDK v3.4. Could you help check? Below lists the files under \PROCESSOR_SDK_VISION_03_04_00_00\vision_sdk\apps\tools\TIDL_files IN.RGB NET.BIN NET_SEMSEG.BIN PRM.BIN PRM_SEMSEG.BIN Ref_out.bin TIDLCFG.TXT tidl_net_jdetNet_ssd.bin tidl_param_jdetNet_ssd.bin TIDL_SSD_CFG.TXT Below lists the files under \PROCESSOR_SDK_VISION_03_03_00_00\vision_sdk\apps\tools\TIDL_files IN.RGB NET.BIN NET_OD.BIN NET_SEMSEG.BIN PRM.BIN PRM_OD.BIN PRM_SEMSEG.BIN Ref_out.bin TIDLCFG.TXT + +Responses: +Hi Luke, TIDL OD use-case uses TIDL_SSD_CFG.TXT file to read & parse information of required input files You can specify the netFileName & paramFileName depending on which one you want to use With VSDK 3.4 release below files are used netFileName - tidl_net_jdetNet_ssd.bin paramFileName - tidl_param_jdetNet_ssd.bin Regards Surya + +Surya, Thanks for the prompt reply. I'm not aware of the change in SDK v3.4, sorry. + diff --git a/sample_embedding_folder2/0717657.txt b/sample_embedding_folder2/0717657.txt new file mode 100644 index 0000000000000000000000000000000000000000..99899aca00a148fb93d41b7d54f5b1857d0c4d30 --- /dev/null +++ b/sample_embedding_folder2/0717657.txt @@ -0,0 +1,18 @@ +Ticket Name: Linux/TDA2: TDA2 - 'Undefined reference Error' + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, I am working with VisionSDK 3.1. I am trying to add a new usecase in vision_sdk/apps/src/hlos/adas/src/usecases. The main function that I have used is Void chains_lvdsVipMultiCam_opencvcanny_SgxDisplay(Chains_Ctrl *chainsCfg) which is defined in the corresponding usecase .c file. This function was called in vision_sdk/apps/src/hlos/adas/src/common/chains_main.c which includes a header #include . The function was declared in the above mentioned header. While compiling I am getting the following error. # apps: tda2xx-evm: Creating archive apps.a # apps: tda2xx-evm: Linking /home/vkchlt0160/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_all/lib/tda2xx-evm/a15_0/release/apps.a(chains_main.o): In function `main': chains_main.c:(.text.startup+0x1ee): undefined reference to `chains_lvdsVipMultiCam_opencvcanny_SgxDisplay' /home/vkchlt0160/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_all/lib/tda2xx-evm/a15_0/release/links_a15_algorithm.a(algorithmLink_cfg.o): In function `AlgorithmLink_initAlgPlugins': algorithmLink_cfg.c:(.text+0x18): undefined reference to `AlgorithmLink_OpenCVCanny_initPlugin' collect2: error: ld returned 1 exit status make[6]: *** [exe] Error 1 make[5]: *** [demo] Error 2 make[4]: *** [apps] Error 2 make[3]: *** [apps_exe_hlos] Error 2 make[2]: *** [apps_hlos] Error 2 make[1]: *** [apps] Error 2 make: *** [vision_sdk] Error 2 How can I solve this. + +Responses: +Hi Blessy, Better to use tda2xx_evm_linux_opencx config while building OpenCV applications Ensure your new use-case added to uc_cfg.mk file & to LINUX_TDA2XX_UC_LIST under vision_sdk\apps\configs\cfg.mk file Regards Surya + +Hi Surya, I tried compiling with tda2xx_evm_linux_opencx. I am still facing the same issue. Infact the number of errors increased. Usecase is defined in cfg.mk and uc_cfg.mk # apps: tda2xx-evm: Linking /home/vkchlt0160/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencx/lib/tda2xx-evm/a15_0/release/apps.a(chains_main.o): In function `main': chains_main.c:(.text.startup+0x1b6): undefined reference to `chains_lvdsVipMultiCam_opencvcanny_SgxDisplay' chains_main.c:(.text.startup+0x1fa): undefined reference to `chains_vipSingleCamOpenCVOpenCLDilationSgxDisplay' /home/vkchlt0160/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencx/lib/tda2xx-evm/a15_0/release/links_a15_algorithm.a(algorithmLink_cfg.o): In function `AlgorithmLink_initAlgPlugins': algorithmLink_cfg.c:(.text+0x14): undefined reference to `AlgorithmLink_FrameCopy_initPlugin' algorithmLink_cfg.c:(.text+0x18): undefined reference to `AlgorithmLink_OpenCVCanny_initPlugin' algorithmLink_cfg.c:(.text+0x1c): undefined reference to `AlgorithmLink_OpenCVOpenCLDilation_initPlugin' + +Hi Blessy, You need to add "chains_lvdsVipMultiCam_opencvcanny_SgxDisplay" to MAKEFILE_adas.MK file under vision_sdk/apps/src/hlos All algorthim link init plugins are under #ifdef in algorithmLink_cfg.c file Could you share your cfg.mk file in use-case folder (need to check which all ALG enabled) ? Regards Surya + +Hi Surya, The new use-case i have added is "lvds_vip_multi_cam_opencvcanny_sgx_display". I have included this use-case in MAKEFILE_adas.MK as ifeq ($(UC_lvds_vip_multi_cam_opencvcanny_sgx_display),yes) $(MAKE) -fMAKEFILE.MK -C$($(MAKEAPPNAME)_PATH)/src/hlos/adas/src/usecases/lvds_vip_multi_cam_opencvcanny_sgx_display MODNAME=$(MAKEAPPNAME) CORE=a15_0 $(TARGET) endif I am not able to attach the cfg. mk file. Below are the contents of cfg.mk ALG_dmaSwMs=yes ALG_opencvcanny=yes NEED_PROC_IPU1_0=yes NEED_PROC_A15_0=yes + +Hi, 1st make sure your build system is not broken. Try a clean build without adding the new usecase. I hope after changing any cfg file you are doing a clean build. Please share the output of make showconfig. Regards, Anuj + +Hi, Is the issue resolved? If yes, then please close the thread as there is no activity since a long time. Regards, Anuj + diff --git a/sample_embedding_folder2/0717713.txt b/sample_embedding_folder2/0717713.txt new file mode 100644 index 0000000000000000000000000000000000000000..b267774324a056bcc95b1b035c639c3701a8f202 --- /dev/null +++ b/sample_embedding_folder2/0717713.txt @@ -0,0 +1,28 @@ +Ticket Name: TDA2EVM5777: how to add new sensor to TDA2 + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2, TDA2PXEVM Dear TI I would like to include in new sensor to the TDA2. How or where can i create it to do that? + +Responses: +Hi Wilson, You can check this Application Note: processors.wiki.ti.com/.../PDK_Application_Notes_Video_Driver_Porting and also Chapter 3 in "vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_UserGuide_ISS_SensorFrameWork.pdf" Regards, Yordan + +Hi Yordan Can i ask what is ISS stands for? + +Hi Wilson, It's Imaging Sub-System. Regards, Yordan + +Hi Yordan I wouls like to ask what is the follow abbreviation DCC H3A GLBCE AEWB Also is it a must for me to code them? On top of this ISS is it suitable to run in TAD2EVM5777 if i am going to add this new sensor? From the VisionSDK it seem like its for the TDA3xxEVm and TDA2PxEVM instead. + +Hi Wilson, These components are used in the ISS usecase, ISS is present in TDA3x and TDA2Px It is not supported in TDA2Ex. DCC = Dynamic Camera Configuration H3A = Statistics generation module for AE and AWB. GLBCE = Global and Local Contrast and brightness Enhancement AEWB = Auto Exposure and White Balance Rgds, Brijesh + +Hi Brijesh So if that the case how can i should i go about for the a new sensor then? + +Wilson, You could capture from RAW Bayer data from the new sensor on TDA2x/TDA2Ex, but since there is no ISS, you will require SW solution to process and convert RAW data into YUV. The other way is, you could use YUV sensor. Rgds, Brijesh + +The Brijesh in other words can i say there is no algo in the SDK to help us to process this Ray Bayer. I have to code it myself. + +yes + +Dear Brijesh I notice there are 2 type of yuv which format i should be convering the bayer to? + +Wilson, DSS supports both YUV420 (Semi-planar) and YUV422 (Interleaved) data format. So if you could convert RAW to one of these data format, dss will be able to display it. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0717746.txt b/sample_embedding_folder2/0717746.txt new file mode 100644 index 0000000000000000000000000000000000000000..5c949933c4f4fa46a5835b94ed8d517fed98902f --- /dev/null +++ b/sample_embedding_folder2/0717746.txt @@ -0,0 +1,16 @@ +Ticket Name: Linux/TDA2: [VISION SDK] Running a TIDL usecase in LINUX+BIOS mode. + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, I am trying to make very much the same thing like guys in main thread ... First, to avoid porting of tidl_preproc alg on A15, I want to run it on IPU until I have TIDL UC functional and then to port it on A15.. I am using PROCESSOR_SDK_VISON_03_03_00_00 and I am working on custom board that has TDA2xx chips on it (RT-RK Alpha board) UC that I am trying to make looks like this: UseCase: chains_tidlDsp NullSource (A15) -> Alg_tidlpreproc (IPU1_0) Alg_tidlpreproc (IPU1_0) -> Alg_tidl_1 (DSP1) Alg_tidl_1 (DSP1) -> Merge (IPU1_0) Merge (IPU1_0) -> Null (A15) So, here are steps I have made: - Generated UC that runs preproc alg on IPU - TIDL UC files are placed in PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/apps/src/hlos/adas/src/usecases/tidl (and corresponding MAKEFILE.MK is placed here) - chains_main_linux_tidl.c placed in PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/apps/src/hlos/adas/src/common/ (menu and call for Chains_tidl(&gChains_usecaseCfg) ) - Void Chains_tidl(Chains_Ctrl *chainsCfg) function declared in PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/apps/src/hlos/adas/include/chains.h - includes for tidl alg plug added in /PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/apps/src/hlos/common/chains_common.h #include #include - in PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/apps/src/hlos/*MAKEFILE_adas.MK* added lines: ifeq ($(UC_tidl),yes) $(MAKE) -fMAKEFILE.MK -C$($(MAKEAPPNAME)_PATH)/src/hlos/adas/src/usecases/tidl MODNAME=$(MAKEAPPNAME) CORE=a15_0 $(TARGET) endif - in PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/apps/configs/tda2xx_evm_linux_all/*uc_cfg.mk* added line: UC_tidl=yes - File chains_common_tidl.c copied in: PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/apps/src/hlos/common/ and following line added in it: #include - run: make -s makeconfig make linux make linux_install make -s -j -k depend make -s -j -k Error that stil appears after make -s -j -k is: osa: tda2xx-evm: Creating archive osa.a In file included from chains_common_tidl.c:69:0: /home/rtrk/SAVA/tidl_uc/sava/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/apps/src/include/chains_common_tidl.h:89:22: fatal error: itidl_ti.h: No such file or directory compilation terminated. /home/rtrk/SAVA/tidl_uc/sava/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/build/hlos/makerules/linux/common_footer_a15.mk:81: recipe for target 'depend' failed make6: *** [depend] Error 1 So, could you please help me about this issue? I saw for bios it is solved in env.mk for those files to be visible, but I am not sure how to do it properly when I'm using Linux+BIOS Thx in advance, regards, Nebojsa + +Responses: +Hi, Please follow the section 6.2 of the below doc vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_UserGuide_BuildSystem.pdf Regards, Anuj + +Hi, Thx for your answer. This was usefull to read again to see that I should generate UC which use Preproc on IPU2 instead of IPU1_0 ... but issu I have appears before this, but I didn't find what I needed... I am using existing Algorithm (TIDL)... only change i am making here is that - I'm trying to make TIDL UC to be functional when I'm using Linux+BIOS I think I did everything that are standard steps for this to work, but still having issue that I mentioned in previous post ... It is posible maybe to solve it if i put following: INCLUDE+= -I$(vision_sdk_PATH)/../ti_components/algorithms/REL.TIDL.01.01.00.00 -I$(vision_sdk_PATH)/../ti_components/algorithms/REL.TIDL.01.01.00.00/modules INCLUDE+= -I$(vision_sdk_PATH)/../ti_components/algorithms/REL.TIDL.01.01.00.00/modules -I$(vision_sdk_PATH)/../ti_components/algorithms/REL.TIDL.01.01.00.00/modules/ti_dl INCLUDE+= -I$(vision_sdk_PATH)/../ti_components/algorithms/REL.TIDL.01.01.00.00/modules/ti_dl/inc -I$(vision_sdk_PATH)/../ti_components/algorithms/REL.TIDL.01.01.00.00/common INCLUDE+= -I$(vision_sdk_PATH)/../ti_components/codecs/xdais_7_24_00_04/packages -I$(vision_sdk_PATH)/../ti_components/codecs/xdais_7_24_00_04/packages/ti in MAKEFILE.MK in use-case, but then i have more similar errors - so I assume it is not the right way to do this... If you have idea what I should do it would be very helpfull Thx in advance, Nebojsa + +Hi, If you have followed the doc then from where you got chains_main_linux_tidl.c file as this is not mentioned in doc. You have to call your usecase funtion from \vision_sdk\apps\src\hlos\adas\src\common\chains_main.c file. Can you tell what all steps you have followed as per steps and what all you have done extra. Regards, Anuj + +Hi, Is the issue resolved. If yes, then please close the thread as there is no activity since along time. Regards, Anuj + +Hello, Sorry, I was not able to work on this for some time, so I was not active here ... Problem I mentioned above has been solved when files that was not visible to the UC are copied into UC folder. Those are following files: - ialg.h, ires.h, ires_common.h, itidl_ti.h, ivision.h, xdais_types.h, xdais.h Not good solution, but it solved my issue... TIDL UC still does not work on hlos (dma functions and some others has to be replaced with corresponding functions for the hlos, but it is no the same issue any more) By the way, chains_main_linux_tidl.c is simple file with UC menu (this is menu where you can choose tidl, semSeg or tidlOD usecase to run - not so much important here, so maybe I should not menition it above) Thx and Regards, Nebojsa + diff --git a/sample_embedding_folder2/0717777.txt b/sample_embedding_folder2/0717777.txt new file mode 100644 index 0000000000000000000000000000000000000000..c1283b095d850b11766575adcb973a2c12810d98 --- /dev/null +++ b/sample_embedding_folder2/0717777.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: EVM footprint library file + +Query Text: +Part Number: TDA2 Could TI share with me the EVM footprint library file to ease my development with time saving by re-use the footprint? + +Responses: +Hi, You can find EVM's Design files (PCB drawings, assembly drawing, schematic, etc.) here: www.ti.com/.../tda2evm5777 Regards, Yordan + diff --git a/sample_embedding_folder2/0717790.txt b/sample_embedding_folder2/0717790.txt new file mode 100644 index 0000000000000000000000000000000000000000..70eb44d82cec7680750e8f11bc656462c0971f38 --- /dev/null +++ b/sample_embedding_folder2/0717790.txt @@ -0,0 +1,14 @@ +Ticket Name: DRA74: TDP of DRA74 + +Query Text: +Part Number: DRA74 For the TDP on DRA74 or TDA2 If we already have the power consumption of the chip, how do we get the TDP value? What is the conversion efficiency between the two? We downloaded the model data of TDA2 on the official website as follows, can the Power(W) value of 2.568 be fixed? Should we fill in the power consumption or TDP? + +Responses: +waiting + +Feng, The thermal design power estimate should be based on a realistic load for your application running on the SoC, generally considering a run-time in the 'minutes' range. You should contact your local TI representative to fill out a "resource loading" for your application, and we can use that to provide a power estimate. Is that how you got the 2.568W number that you quote? Regards, Kyle + +Hi Kyle 2.568W is a default value in the thermal simulation model of the official website. We have already filled in the "resource loading" you mentioned. According to the basic principle of the circuit, power (P) = current (A) × voltage (V).we calculate that the total power (P) is 15W. But you know, thermal design power (TDP) is not the same as power (P). TDP refers to the thermal effect of CPU current and other forms of heat. We want to know the TDP value for the thermal design. + +Feng, We do not specify a single TDP value for the SoC. You are right that 15W is almost certainly too high of a power estimate to make sense for thermal analysis. In general, the Resource Loading (and resulting power estimate) can be populated with different analysis types in mind. From a PMIC capacity perspective, the load on any given processor(s) and domain(s) whether concurrent or serialized must be met by the PMIC so in this case configuring all cores active with relatively high load may make sense. From a thermal analysis perspective, a different approach should be followed. There is no single right answer. You can either reduce the utilization for each core to a value that makes sense over an extended period of time (minutes). Or you can define multiple resource loadings representing different time slices of activity for the SoC (1 second high activity, 5 second moderate activity 10 second idle, repeat...). This must be done with a knowledge of the application, and can't simply be derated based on a TDP value. Regards, Kyle + diff --git a/sample_embedding_folder2/0717841.txt b/sample_embedding_folder2/0717841.txt new file mode 100644 index 0000000000000000000000000000000000000000..013f717b2d973920ce3abbbf42a35cdb164785dd --- /dev/null +++ b/sample_embedding_folder2/0717841.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: How configured the message object for receive data frame + +Query Text: +Part Number: TDA2 Hi , I used vision sdk 03.03.00.00, and I want to know how configured the message object for receive data frame. As followed the TRM chapter 24.9.4.7.3, I must set the arbitration bits (ID[28:0] and Xtd bit) before I received the frame. However, I could not know the identifier of the frame. Regards, Tianxing + +Responses: +Hi Tianxing, VSDK have DCAN demo available. You can enable it by 'DCAN_INCLUDE=yes' in '\vision_sdk\apps\configs\tda2xx_evm_bios_all\cfg.mk' This demo is available in '\vision_sdk\apps\src\rtos\modules\dcan'. Please refer this for more details as it contains how to configure DCAN message RAM/mailboxes. This will also have CAN messages IDs for sent and received messages. Thanks & Regards, Vivek Dhande. Texas Instruments (India) Pvt Ltd + diff --git a/sample_embedding_folder2/0718022.txt b/sample_embedding_folder2/0718022.txt new file mode 100644 index 0000000000000000000000000000000000000000..6c326a913d9e26660b16025f9633040b52b18087 --- /dev/null +++ b/sample_embedding_folder2/0718022.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2: Dose TDA2X have an autorun script? + +Query Text: +Part Number: TDA2 Hi, I want TDA2X to be able to select sensor I specify and load SRV usecase automatically when power on. What do I need to do? \ Regards, Daniel + +Responses: +Hi, Do you want to enable in case of BIOS or Linux ? Regards Surya + +Hi, Surya, Both of them are needed. Regards, Daniel + +Hi Daniel, No such script is there But with few modifications i.e by disabling read char and hard coding the demo use-case number you can still do it In case of BIOS: ------------------------- 1. Define CHAINS_DISABLE_GET_CHAR in file chains_main_bios.c (under vision_sdk\apps\src\rtos\common) 2. Copy the SRV UC config (refer chains_main_bios_multi_cam.c --> switch case 2) inside below block in file chains_main_bios_viison.c (under vision_sdk\apps\src\rtos\common) #ifdef CHAINS_DISABLE_GET_CHAR #endif 3. Rebuild the vision_sdk In case of Linux: ------------------------- 1. Instead of ch = getchar() in file chains_main.c (under vision_sdk\apps\src\hlos\adas\src\common) hard code the demo use-case number ch = 2 (to select mulicam uc ) ch = 3 (to select srv uc) 2. Rebuild the vision sdk Regards Surya + +Hi Surya, Thanks for your reply. I will try it. Regards, Daniel + diff --git a/sample_embedding_folder2/0718036.txt b/sample_embedding_folder2/0718036.txt new file mode 100644 index 0000000000000000000000000000000000000000..d9f5c997925f5345a7861193b7ecbb29325a2457 --- /dev/null +++ b/sample_embedding_folder2/0718036.txt @@ -0,0 +1,56 @@ +Ticket Name: TDA2: Lens displacement in Linux but normal in RTOS + +Query Text: +Part Number: TDA2 Hi, I built for tda2x-rvp-linux-all and tda2x-rvp-bios-all by using TI's original Vision SDK(PROCESSOR_SDK_VISION_03_04_00_00). They can work. Howerver, the cameras seem to point to different place. As shown in photos, the first one comes from RTOS system, the second one comes from Linux system. I did change angle and position of any camera, but the display indicates that the angle of camera has decreased. Not just this usecase, but all other usecases ( in tda2x-rvp-linux-all ver. 3.04) are the same. I wonder how I can solve this issue? Regards, Daniel + +Responses: +Hi User5227399, Can you please check the configuration parameters provided to VPE and Alg_DmaSwMs links? Regards, Sujith + +Hi Sujith, Which file should I check? Regards, Daniel + +Hi Daniel, In case of RTOS file \apps\src\rtos\usecases\srv_calibration\chains_srvCalibration_Display.c and function chains_srvCalibration_vip_SetAppPrms /setVpeLinkParams () is used to configure VPE params In case of HLOS file \apps\src\hlos\adas\src\usecases\srv_calibration\chains_srvCalibration_Display.c and function chains_srvCalibration_vip_SetAppPrms /setVpeLinkParams () is used to configure VPE params please check the chPrms->outParams[outId].width, height, chPrms->scCropCfg.cropWidth and Height. Regards, Sujith + +Hi Daniel, Hope the issue was resolved or you have the steps to resolve. Regards, Sujith + +Hi Sujith, Sorry for the late reply. I couldn't verify that your answer will solve my issue because I have to go on a business trip a few days ago. Now I will follow your suggestions and give you feedback as soon as possible. Thank you. Regards, Daniel + +Thanks for the update Daniel. Regards, Sujith + +Hi Daniel, Is this issue resolved? Regards, Sujith + +Hi Sujith, Sorry to keep you waiting. I checked params you mentioned. Params chPrms->outParams[outId].width and height were assigned by OutWith and OutHeight. Then OutWidth and OutHeight were assigned by swMsWinWidth and swMsWinHeight. There is no difference between HLOS and RTOS for everything above. Finally swMsWinWidth and swMsWinHeight were assigned by pObj->displayHeight/2 and pObj->displayWidth/2. It's hard to find the exact value of pObj->displayHeight and pObj->displayWidth, so I'm not sure if that's the problem. Params chPrms->scCropCfg.cropWidth and Height were assigned by inCropWidth and inCropHeight. Then inCropWidth and inCropHeight were assigned by pObj->calibrationPrm.captureOutWidth and pObj->calibrationPrm.captureOutHeight. Params pObj->calibrationPrm.captureOutWidth and pObj->calibrationPrm.captureOutHeight were assigned by SRV_CAPT_SENSOR_OV10640_WIDTH(HEIGHT) and pUcObj->IssCapturePrm.outParams[0U].width(height). There is no difference between HLOS and RTOS for SRV_CAPT_SENSOR_OV10640_WIDTH(HEIGHT). It's also hard to find the exact value of pUcObj->IssCapturePrm.outParams[0U].width(height). Can you give me more directions? Thank you. Regards, Daniel + +Hi Daniel, Can you add prints and figure out the size? Regards, Sujith + +Hi Sujith, I will try it. It may take some time to modify codes and re-compile. I will give you feedback as soon as possible. Regards, Daniel + +Okay Regards, Sujith + +Hi Sujith, I added Vps_printf("OutWidth, OutHeight", OutWidth, OutHeight) and Vps_printf("inCropWidth, inCropHeight", inCropWidth, inCropHeight) in function setVpeLinkParams. I only got "OutWidth, OutHeight" and " inCropWidth, inCropHeight" four times after executed srv calibration, no any other values. Then I changed to Vps_printf("swMsWinWidth, swMsWinHeight", swMsWinWidth, swMsWinHeight) and Vps_printf("pObj->calibrationPrm.captureOutWidth, pObj->calibrationPrm.captureOutHeight", pObj->calibrationPrm.captureOutWidth, pObj->calibrationPrm.captureOutHeight). I still only got "swMsWinWidth, swMsWinHeight" and "pObj->calibrationPrm.captureOutWidth, pObj->calibrationPrm.captureOutHeight" after executed srv calibration, no any other values. Can you give me more directions? Thank you. Regards, Daniel + +Hi Daniel, I am not sure i understand. Did the values match in both the usecases? Regards, Sujith + +Hi Sujith, I only added code in RTOS usecase for test. The values of OutWidth, OutHeight, etc. are not shown in terminal. Only these characters ( "OutWidth, OutHeight" etc. )are displayed. I don't know the reason. Regards, Daniel + +Hi Daniel, These variables might be optimized out, can you print the values from the VPE structure directly? Regards, Sujith + +Hi Sujith, You mean not in function setVpeLinkParams but in function chains_srvCalibration_vip_SetAppPrms? Regards, Daniel + +You could do that or in startCalibUseCase () Regards, Sujith + +Hi Sujith, I added codes in function chains_srvCalibration_vip_SetAppPrms() and startCalibUseCase (), I still couldn't get any values of OutWidth, OutHeight, etc. so I guess that won't work. Then I tried to adjust cropping image parameters. I changed chPrms->scCropCfg.cropStartY in function setVpeLinkParams() and setVpeSv_CscPrm(). But no any obvious change. What does chPrms->scCropCfg.cropStartY do? I found this problem was not present in the 3.02 hlos version of the SDK. So I want to know what's the difference between 3.02 and 3.04 in hlos? Thank you. Regards, Daniel + +Hi Daniel, I will have to check on this and get back to you. Regards, Sujith + +Hi Sujith, Thank you, I will wait for your response. Regards, Daniel + +Hi Sujith, Do you have any update about this problem? Regards, Daniel + +Daniel, The difference is due to different cropping parameters. The camera outputs a 1280x1080 image. The BIOS sw is cropping the central 1280x720 portion of the 1280x1080 input image, the Linux version appears to be taking the top 1280x720 portion. The code that is doing this is if (pObj->chainsCfg->captureSrc == CHAINS_CAPTURE_SRC_OV490) { ChainsCommon_MultiCam_SetCroppingPrms(&pUcObj->CapturePrm, SRV_OV490_SENSOR_WIDTH, SRV_OV490_SENSOR_HEIGHT, SRV_LVDS_CAPTURE_WIDTH, SRV_LVDS_CAPTURE_HEIGHT ); } located on line 307 of vision_sdk/apps/src/rtos/usecases/lvds_vip_sv_standalone/chains_lvdsVipSurroundViewStandalone.c Cheers, Ben + +Hi Ben, Thank you, please give me some time to check it. Regards, Daniel + +Hi Daniel, Could you please let us know the status ? Regards Surya + +Hi Daniel, For the time being, I am closing this thread If the issue still exist after trying the changes suggested by Ben, Please re-open a new thread Regards Surya + diff --git a/sample_embedding_folder2/0718243.txt b/sample_embedding_folder2/0718243.txt new file mode 100644 index 0000000000000000000000000000000000000000..58d6b813c89e9a435685fce631362fb1d4ee8f06 --- /dev/null +++ b/sample_embedding_folder2/0718243.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: Print Statics is not showing results about A15 core + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi Everyone, I am running linux platform VSDK 3.4 on TDA2XX ,Usecases and all are working fine without any hassles . However when I try to print performance statics after every usecase ("P" in the console) I am not getting logs usage statics on A15 core and it starts from DSP1 only . How can I get A15 core usage statics or is there any limitations in VSDK3.4 . Regards , Surendar + +Responses: +Hi Surendar, Linux itself provides multiple tools to display the A15 load (such as top, mpuload etc.). Thus, the print-statistics option on VSDK doesn't record the load on A15. You may find this thread useful. e2e.ti.com/.../709101 Regards Shravan + diff --git a/sample_embedding_folder2/0718244.txt b/sample_embedding_folder2/0718244.txt new file mode 100644 index 0000000000000000000000000000000000000000..5ec749aea071f08ebe58df5fc725786dbe9e0201 --- /dev/null +++ b/sample_embedding_folder2/0718244.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Why crystal for xi_osc1 input is different from xi_osc0? + +Query Text: +Part Number: TDA2 I am referring to VAYU EVM schematic, is there any special reason why xi_osc1 uses 22.5792MHz crystal but not 20MHz crystal, same as what is used at xi_osc0? Notice that the 20MHz crystal specification can fulfill the requirements stated for xi_osc1. + +Responses: +Hi, OSC1 is optional and only OSC0 is mandatory for the device. OSC1 is useful for on-chip audio peripherals and allows you to use an 'audio frequency', one example of such is 22.5792MHz. If you are currently designing a PCB, place a crystal footprint for OSC1 - you can decide for the crystal frequency or for no-pop at later time. Regards, Stan + diff --git a/sample_embedding_folder2/0718362.txt b/sample_embedding_folder2/0718362.txt new file mode 100644 index 0000000000000000000000000000000000000000..b5fdc59fcb8b8b047419997e381db2a7f42e753f --- /dev/null +++ b/sample_embedding_folder2/0718362.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Source code of SFM + +Query Text: +Part Number: TDA2 Recently,I have been reading the vision SDK of TDA2 ,and know TI has finished SFM(structure-from-motion)algorithm based eve and DSP,I found some core module is not open source,and some question to ask as shown below 1.Whether or not all code of SFM is open soure , and any open plan? 2.How can I get down these open source? Thank you ! + +Responses: +SFM algorithm only available as object form (Libarary). No plans to make it open source. Regards, Kumar.D + diff --git a/sample_embedding_folder2/0718464.txt b/sample_embedding_folder2/0718464.txt new file mode 100644 index 0000000000000000000000000000000000000000..e066b230ea6683836a62b448ea15ef4c27b36ac7 --- /dev/null +++ b/sample_embedding_folder2/0718464.txt @@ -0,0 +1,27 @@ +Ticket Name: Linux/TDA2: How to run demo program (apps.out) automatically after boot up? + +Query Text: +Part Number: TDA2 Tool/software: Linux Dear Support, I'm running Processor SDK Vision Linux on TDA2x. The following are the steps to run demo program, 1. login as root 2. manually input below commands a. cd /opt/vision_sdk b. source ./vision_sdk_load.sh c. ./apps.out Is there any way to run the program automatically after boot up? If yes, could you provide a verified example? I'm seeing the following similar post (for AM437x) but I'm not sure if it is applicable for TDA2x. + +Responses: +Hi, Which VSDK version are you using? Regards, Anuj + +Hi, Anuj I'm using Processor SDK Vision Linux v3.4. The steps to run demo program is the same since v3.1. + +Hi, Attached a couple of files that need to be copied to the root-fs to autolaunch the VSDK app on startup (remove the .txt from the filenames from both files when adding to the file-system). Please note the logs don’t show up on UART and the VSDK app needs to be modified to select a chain by default and user input needs to be disabled (else the menu will keep printing in a loop and increase CPU load). The vsdk.service file needs to be copied to /etc/systemd/system/multi-user.target.wants/ and the autorun.sh needs to be copied to /opt/vision_sdk/. Ensure both files have executable permissions. The logs are redirected to /tmp/vsdk.log. Regards Shravan vsdk.service.txt [Unit] +Description=Launching Vision SDK App +After=rc.pvr + +[Service] +ExecStart=/bin/sh /opt/vision_sdk/autorun.sh +Restart=always +Type=simple + +[Install] +WantedBy=multi-user-target + + autorun.sh.txt echo "Inside the script" > /tmp/vsdk.log +cd /opt/vision_sdk +./vision_sdk_load.sh >> /tmp/vsdk.log +./apps.out >> /tmp/vsdk.log + diff --git a/sample_embedding_folder2/0718574.txt b/sample_embedding_folder2/0718574.txt new file mode 100644 index 0000000000000000000000000000000000000000..b1c596148272e8258915ba3bd49260f2fba4272e --- /dev/null +++ b/sample_embedding_folder2/0718574.txt @@ -0,0 +1,18 @@ +Ticket Name: RTOS/TDA2PXEVM: Video display and network transmission runtime error + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS Hi, I am developing with the fusion application board and SDI OV2775 camera module. My objective is to read in the video stream from the image sensor at 1080p 30 fps and simultaneously send it to the HDMI output for display and over Ethernet to be saved on my computer. Below is configuration file I have used to generate this usecase: I was running into the procId < SYSTEM_PROC_MAX error, but I was able to resolve that thanks to the previous related post. However, now I am stuck on a runtime error in which the video displayed is very dark i.e., overhead fluorescent lights appear as dim neon green strips. When I run the included 1 channel ISS usecase, the video looks normal. My bigger issue, however, is that when I run the network RX tool to save the incoming frames, then try to view the resulting YUV files, they show up as completely blank, unlike the dark images that are displayed on the monitor. Attached are the associated files for my usecase: chains_iss_Capture_NetworkTx.zip Help with either of these issues would be greatly appreciated. Thanks, Richard + +Responses: +Hi Richard, Please note that the capture output is in Bayer Raw format, so it might not be viewable, unless sensor has good exposure. Are you sure that adding network link is causing artifacts in the output? Can you disable network write (essentially do not connect) and see if it gives good output? Rgds, Brijesh + +Hi Brijesh, I am aware that the IssCapture output is in Bayer Raw format, which is why I feed its output into the IssM2mIsp, which converts into YUV format, which can be displayed? Would I need to also add the IssM2mSimcop link to increase exposure? I am not saying that adding the network link is causing artifacts in the output, I am saying that the frames I save over the network while my usecase is running don't seem to contain viewable data. Attached is such a frame: 2318.test.zip The display output is the same when I disable the network write. Thanks, Richard + +Hi Brijesh, After adding the AEWB link, the video feed looks fine now. However, now I am no longer able to save frames over the network at all, when I try to do so, the following connnection error appears: At first I thought I had neglected to enable the relevant output queue, but my app_util_iss.c settings looked fine: I know the RSZ_A and H3A queues are working because the video feed is displayed and the automatic exposure/white balance is applied. Would a data transmission rate greater than that supported by the connection cause the server connect failure? Currently both my PC and TDA2 board are on a 100 Mbps network, but streaming 1080p video at 30 fps would take up ~1 Gbps? I have tried adding in both MJPEG and H264 compression before transmission, but I get the same error. Attached are the files for my usecase: iss_capture_network_tx.zip Thanks, Richard + +Richard, Yes, without AEWB, the output will not look good. Could you please check if NDK is enabled in your build? Please note that NDK and SD card both can not be enabled. Please check this. Rgds, Brijesh + +Hi Brijesh, NDK was enabled in my build, and now I have disabled the FAT. However, the network error persists. Thanks, Richard + +Hi Brijesh, My usecase is working now, I think my problem was a combination of missing some analagous code from the example usecases and having some unnecessary analagous code from the example usecases. Thanks, Richard + diff --git a/sample_embedding_folder2/0718622.txt b/sample_embedding_folder2/0718622.txt new file mode 100644 index 0000000000000000000000000000000000000000..73a484ed37d61be2294c26bb661b21e69d5b2364 --- /dev/null +++ b/sample_embedding_folder2/0718622.txt @@ -0,0 +1,40 @@ +Ticket Name: Linux/TDA2: Difference between vip_Single_Cam_objectdetection2 and tidl_OD + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi , I have few questions to get clarified on 1) I like to know what is difference between vip_Single_Cam_objectdetection2 and tidl_OD . I believe both are doing the same TSR+PD+VD ? On what basis it is differentiated 2) Vip_single_cam_object detection2 requires any bin file? (like NET.prm which we use in tild_OD). If it requires I like to know where it is used in the usecase. if not how it is detecting the vehicles 3) Is it possible to port vip_Single_Cam_objectdetection2 into linux platform? is there any dependencies on this + +Responses: +1. vip_Single_Cam_objectdetection2 Uses HOG + Adaboost for Object detction , tidl_OD uses SSD for object detction. 2. No it Vip_single_cam_object detection2 does not need net NET.prm 3. Yes you can. Refer the vip_Single_Cam_objectdetection2 use case doc for modules and used by this use case + +Hi Kumar , thank you for clarifying it , I like to know whether it is possible to port tidl_OD in linux . We feel that tidl_OD will be better than objectdetection2 . So can you kindly suggest that porting tidl_OD is possible or not in linux . Regards, Surendar + +Hi, Porting of tidl_OD usecase on linux is not been integrated or tested. If you want to do then you can start and let me know if you face any issue. Regards, Anuj + +Hi, There is no update on this thread since a long time. Is there issue resolved? Regards, Anuj + +Hi , I am working on it , if there is any issues Ill update on this same thread Regards , Surendar + +Hi Anuj , I have followed following steps to run tidl_OD usecase on linux platform 1) Copied tidl_OD usecase and paste it in under adas/src/usecase folder 2) Copied object detection and tidl algplugins and paste it in under adas/src/alg_plugins 3) for the above folders I have modified the makefile respectively 4) In apps/src/hlos/adas/include/chains.h added "Chains_tidlOD" 5) in vision_sdk/apps/src/hlos/MAKEFILE_adas.mk added the path for tidl usecase like below $(MAKE) -fMAKEFILE.MK -C$($(MAKEAPPNAME)_PATH)/src/hlos/adas/src/usecases/tidl_OD MODNAME=$(MAKEAPPNAME) CORE=a15_0 $(TARGET) 6) in vsdk/apps/configs/tda2xx_evm_linux_all/uc_cfg.mk added tidl_OD folder usecase as "yes" 7) in vsdk/apps/configs/cfg.mk added tidl_OD usecae under "LINUX_TDA2XX_UC_LIST" when i compiled using "make -s -j depend && make -s -j " I am getting the following error : PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/apps/src/include/chains.h:125:55: fatal error: ti/drv/vps/include/platforms/bsp_platform.h: No such file or directory kindly help me in resolving this issue Regards, Surendar + +Hi , I resolved that issue by changing the path of header files from to . Now I got the following error PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/apps/src/include/chains_common_tidl.h:92:22: fatal error: itidl_ti.h: No such file or directory This has to do the with path , I have set the environment for tidl in /home/vkchlt0206/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/build/hlos/makerules/linux/env.mk as same below tidl_INCLUDE= $(tidl_PATH)/modules/ti_dl/inc export tidl_INCLUDE Still I am getting the same error . Kindly advise did I miss any thing Regards , Surendar + +Hi, Any updates on this + +Hi, Have you added the tidl path as include in includes_a15.mk file. You have to add as -I option. Please take rtos reference. Regards, Anuj + +Hi Anuj , can you tell me rtos reference file so that i could add tidl path as similar to that in includes_A15 file. I couldn't find the path Regards , Surendar + +Hi Anuj , Any updates on this Regards, Surendar + +Hi Anuj , Any updates on this + +Hi, Sorry for the delayed reply. Please add below line in includes_a15.mk as done in rules_m4.mk INCLUDES += -I$(tidl_INCLUDE) Regards, Anuj + +Hi Anuj, I have added the line you mentioned in includes_a15.mk . I have clean compiled and still I am getting the same error as below /PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/apps/src/include/chains_common_tidl.h:92:22: fatal error: itidl_ti.h: No such file or directory I have also tried adding the line in the UC MAKEFILE.MK and I am getiing the same error . Kindly advise me where I went wrong Regards , Surendar. + +Hi, Try to build without -s option and check while building chains_tidlOD.c what all package are getting include. Check how the path for those packages has been provided in the makerules and add similarly for the tidl. Regards, Anuj + +Hi, Are you able to resolve the issue. Regards, Anuj + +Hi Anuj , I am not currently working on this . So we can close this issue as of now + diff --git a/sample_embedding_folder2/0718669.txt b/sample_embedding_folder2/0718669.txt new file mode 100644 index 0000000000000000000000000000000000000000..c7344161a1894e7e496809c3551bd7d08e9e0148 --- /dev/null +++ b/sample_embedding_folder2/0718669.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: Are there any step by step tutorials regarding how to use TI's deep learning Libs + +Query Text: +Part Number: TDA2 Hi, I'm new in TDA2. So far, I'd like to use TI's deep learning Libs to fulfil some applications. Are there any step by step tutorials regarding how to use this Libs or any suggestions? Thanks. + +Responses: +Hi, Refer below User guides 1. \ti_components\algorithms\REL.TIDL.01.01.01.00\modules\ti_dl\docs\TIDeepLearningLibrary_UserGuide.pdf 2. \vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_UserGuide_TI_DeepLearning.pdf Regards Surya + +Hi, Referring User guides, are you able to build & integrate TIDL libs to your application ? Can We close this thread ? Regards Surya + +Yes, thanks. + diff --git a/sample_embedding_folder2/0718684.txt b/sample_embedding_folder2/0718684.txt new file mode 100644 index 0000000000000000000000000000000000000000..1d553ed20660a296f76837ca5898d4cc7bf7151b --- /dev/null +++ b/sample_embedding_folder2/0718684.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: TDA2x TIDL Deep learning setup + +Query Text: +Part Number: TDA2 Dear TI, I am trying to setup the TIDL deep learning framework. Firstly I set up the below from github in Linux Ubuntu: caffe-jacinto caffe-jacinto-models Based on the instruction, I need to build (make) for caffe-jacinto but face face different build error due to various dependency from either cuDNN or other dependncy, e.g. the current error is: CXX src/caffe/blob.cpp In file included from ./include/caffe/common.hpp:48:0, from ./include/caffe/util/cudnn.hpp:7, from src/caffe/blob.cpp:4: ./include/caffe/util/device_alternate.hpp:10:20: fatal error: nvml.h: No such file or directory #include ^ compilation terminated. Can you provide a pre-build package? (So we can focus on our the DL traning and parameter generation) Thanks and best regards He Wei + +Responses: +Hi He Wei, TIDL prebuilt libs are part of Vision SDK release You can find in below folder \ti_components\algorithms\REL.TIDL.01.01.01.00 Regards Surya + +Hi He Wei, Are you able to get VSDK working with TIDL prebuilt package ? Regards Surya + +Dear Surya, We decide to use general Caffe and TensorFlow on PC Host for training due to some limitation on TIDL caffe-jacinto, e.g. must be in Linux and must use GPU.. Thanks and best regards He Wei + diff --git a/sample_embedding_folder2/0718698.txt b/sample_embedding_folder2/0718698.txt new file mode 100644 index 0000000000000000000000000000000000000000..2699865fd652985c1366dcc7ca85f32f1f2a56fc --- /dev/null +++ b/sample_embedding_folder2/0718698.txt @@ -0,0 +1,16 @@ +Ticket Name: Linux/TDA2PXEVM: TDA2P custom board - NVMe SSD - DMA Usage + +Query Text: +Part Number: TDA2PXEVM Tool/software: Linux Hi TI, we are having issues while writing files to SSD (Intel Optane 900P) over NVMe using our custom TDA2P board. Write speed is good but the CPU load is around 80 percent. We would like to see if we are using DMA/eDMA for this transfer. The SW running on TDA2p is linux/SDK. Do you have propositions for lowering this CPU load? Regards, Stefan. + +Responses: +Hi Stefan, Can you please provide the commands used to write to SSD? Reason I ask is if commands such as dd are used it could involve mem copy increasing the load. Also can you provide a snapshot of top when the writes are performed. DMA can be used to write to the SSD, however with the SSD servicing as an EP the DMA writes must be triggered by the SSD (most end-points trigger DMA read / writes, host only programs registers to trigger events such as DMA copy). Regards Shravan + +Hey Shravan, we are writing to a preallocated 8GB file (fallocate) and then just write (system write) to it. root@dra7xx-evm:/# top top - 12:01:23 up 6 min, 2 users, load average: 1.50, 0.66, 0.27 Tasks: 106 total, 3 running, 103 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.2 us, 85.4 sy, 0.0 ni, 12.1 id, 2.1 wa, 0.0 hi, 0.2 si, 0.0 st KiB Mem : 1819728 total, 133908 free, 58388 used, 1627432 buff/cache KiB Swap: 0 total, 0 free, 0 used. 1715276 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1214 root 20 0 1208 456 288 R 75.0 0.0 0:35.31 a.out 75 root 20 0 0 0 0 R 70.1 0.0 0:08.41 kworker/u4:3 Regards, Stefan. + +Hi Stefan, Can you confirm that you're A15 is running at 1.8GHz? Please set the scaling governor to "performance" by running the below command. echo "performance" > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor Regards Shravan + +Hi Shravan, we have modified our .dts file so it runs on 1800MHz. Please note the bolded part of the following command. root@dra7xx-evm:~# omapconf show opp OMAPCONF (rev v1.73-17-g578778b built Thu Aug 31 13:16:54 IST 2017) HW Platform: Generic DRA74X (Flattened Device Tree) DRA76X ES1.0 GP Device (STANDARD performance (1.0GHz)) Error: I2C Read failed Error: I2C Read failed Error: I2C Read failed UNKNOWN POWER IC SW Build Details: Build: Version: _____ _____ _ _ Kernel: Version: 4.4.84 Author: root@rtrkn096-lin Toolchain: gcc version 5.3.1 20160113 (Linaro GCC 5.3-2016.02) Type: #5 SMP PREEMPT Date: Thu Aug 16 14:47:18 CEST 2018 |-----------------------------------------------------------------------------------| | | Temperature | Voltage | Frequency | OPerating Point | |-----------------------------------------------------------------------------------| | VDD_CORE / VDD_CORE0 | 42C / 107F | NA | | NOM | | L3 | | | 266 MHz | | | DMM | | | 266 MHz | | | EMIF1 | | | 266 MHz | | | EMIF2 | | | 266 MHz | | | LP-DDR2 | | | 666 MHz | | | L4 | | | 266 MHz | | | IPU1 | | | (2128 MHz) (1) | | | Cortex-M4 Cores | | | (1064 MHz) (1) | | | IPU2 | | | 2128 MHz | | | Cortex-M4 Cores | | | 1064 MHz | | | DSS | | | 192 MHz | | | BB2D | | | (2128 MHz) (1) | | | | | | | | | VDD_MPU / VDD_CORE1 | 43C / 109F | NA | | PLUS | | MPU (CPU1 ON) | | | 1800 MHz | | | | | | | | | VDD_GPU / VDD_CORE2 | 42C / 107F | NA | | HIGH | | GPU | | | 532 MHz | | | | | | | | | VDD_DSPEVE / VDD_CORE3 | 41C / 105F | NA | | NOM | | DSP1 | | | 750 MHz | | | DSP2 | | | 750 MHz | | | EVE1 | | | 535 MHz | | | EVE2 | | | 535 MHz | | | | | | | | | VDD_IVA / VDD_CORE4 | 43C / 109F | NA | | HIGH | | IVA | | | 532 MHz | | | | | | | | |-----------------------------------------------------------------------------------| Notes: (1) Module is disabled, rate may not be relevant. Regards, Stefan. + +Hi Stefan, I've had the look at the driver and below are some observations / comments: 1. I don't think using DMA will decrease the sytem load. Since the SSD card acts as an endpoint, DMA is initiated from the SSD (and not the TDA2P board) 2. The load in the system could be due to the copies involved between user and kernel space To avoid user-space copies, you can use the splice commands. In your final use-case, you want to write camera streams to the SSD, the data from the camera streams is exported to Linux as a DMA-buf file-descriptor (refer Documentation/virt-mem-export.txt in the Linux kernel and /hlos/src/links/ipcIn/ipcInLink_drv.c in VSDK). Since the input is also a file, splice is a classic command to copy data between two files without copy between user-space and kernel space. You can find more information here. blog.plenz.com/.../so-you-want-to-write-to-a-file-real-fast.html Please note let the output file (file written to SSD), needs to still be pre-allocated using fallocate (in-fact comparison with and without fallocate is mentioned in the above blog-post). Regards Shravan + diff --git a/sample_embedding_folder2/0718825.txt b/sample_embedding_folder2/0718825.txt new file mode 100644 index 0000000000000000000000000000000000000000..e949b3522e5baae38834b586c16d0c9cd339628f --- /dev/null +++ b/sample_embedding_folder2/0718825.txt @@ -0,0 +1,62 @@ +Ticket Name: Linux/DRA76P: Usage of Mailbox Framework in own driver... + +Query Text: +Part Number: DRA76P Other Parts Discussed in Thread: TDA2 Tool/software: Linux Hello! Today I've got a quite simple question, because I got a knowledge gap with the flattened device tree: I would like to write a simple Linux driver, which handles the HW-Mailbox of the TDA2+ device. (We are not able to use the TI-SDK and its "IPC" over RPMSG. So: NO sdk is used!) We have to adapt in-house-software to this new SoC and I stuck on the following, may be very simple problem: How to setup device tree to fulfill the needs of the omap-mbox and mailbox framework inside the linux? I want to write a driver which handles Mailboxes - the mbox Framework on one side, a userland-API on the other. Driver is setup as following: probe....{ +... +tdev->tx_channel = mbox_sms_request_channel(pdev, "tx"); +tdev->rx_channel = mbox_sms_request_channel(pdev, "rx"); +if (!tdev->tx_channel && !tdev->rx_channel) +return -EPROBE_DEFER; +tdev->dev = &pdev->dev; +platform_set_drvdata(pdev, tdev); + +... + +} + +static const struct of_device_id mbox_sms_match[] = { + { .compatible = "sms-icc-mbox" }, + {}, +}; + +static struct platform_driver mbox_sms_driver = { + .driver = { + .name = "mailbox-sms-icc", + .of_match_table = mbox_sms_match, + }, + .probe = mbox_sms_probe, + .remove = mbox_sms_remove, +}; + And in the DTS File (I do not change anything in the "dtsi") I would like to use the "free" mailbox No. 10 of the TDAX and try to set it up like this: Contend of the "mygadget.dts" (relating lines): \{ +... + mailboxsms { + compatible = "sms-icc-mbox"; + #mbox-cells = <1>; + mboxes = <&mailbox10 &mbox_sms>; + mbox-names = "rx", "tx"; + status = "okay"; + }; +... +} + +... +&mailbox10 { + #mbox-cells = <1>; + status = "okay"; + mbox_sms: mbox_sms { + ti,mbox-tx = <10 0 0>; + ti,mbox-rx = <10 1 0>; + status = "okay"; + }; +}; + This do not work... the driver runs into the probing function (fine!), but is not able to request the channels. I got the following error message: mbox_request_channel: can't parse "mboxes" property after: could not get #mbox-cells for /ocp/mailbox@48860000/mbox_sms Please tell me how I have to set and bind: mboxes #mbox-cells mbox-names (something forgotten?) The Documentation in the Kernel wasn't helpful for me and I didn't found any information about how to handle the mbox framework in the net. Thank you for your help... Marco. + +Responses: +Hi Marco, There is a slight difference between Mailbox Controller and Consumer. The OMAP Mailbox driver is the controller (drivers/mailbox/omap-mailbox.c) and you (mailbox_sms_icc) are the mailbox client/consumer driver in this case. The API to use is provided by the mailbox core. See include/linux/mailbox_client.h for the API provided by the Mailbox core. The OMAP Mailbox usage details are explained in the OMAP Mailbox binding. Please look into your kernel's Documentation/devicetree/bindings/mailbox/omap-mailbox.txt file. The following is a quick reference to the binding on our 4.4 kernel feature branch. git.ti.com/.../ Here are the issues with your code snippet, 1. You have the mbox_sms added in the right place, but you are using the same first-cell value of 10 in ti,mbox-rx and ti,mbox-tx properties. Unless this is a MPU loopback device, this is wrong. We expect the fifo ids to be different if you are talking between two different processors. 2. The #mbox-cells property needs to be added only in controller nodes. The mailboxsms is a client/user, so you shouldn't have the #mbox-cells. 3. You have two mbox-names while you only have one mbox device used in the mboxes property. The mbox_sms is a duplex communication device, so you only need to use one mbox-names value in your mailboxsms node. 4. Use the Mailbox framework provided API, mbox_request_channel() or mbox_request_channel_byname() instead of your mbox_sms_request_channel() API in your probe. You only need to use a single call. You can use the returned handle to send messages using mbox_send_message() API. Any messages you receive will be provided to you through the callback you supplied in mbox_request_channel() Please look at the drivers/remoteproc/omap_remoteproc.c to see example usage of the OMAP Mailboxes. This is the kernel-side interface. Providing an interface to userspace has to be done within your driver. For your reference, there is an example test driver, drivers/mailbox/mailbox-test.c, in the kernel that uses simplex communication devices and debugfs interface to userspace for reading and writing to mailboxes, but this needs some changes to use with OMAP Mailboxes since all OMAP sub-mailboxes are duplex devices. regards Suman + +Thank you for quick response. Some question are open: (1) Would you please explain, what is the meaning/functionality of the three values "ti,mbox-XX"? As far as I understood, the first value is the "mailbox" number, and our usecase is the following: We only use one mailbox for RX and TX. (Requirement is given...) And RX/TX will use two different channels of the mailbox. Communication will be between ARM and M4 Core. (2) I will fix this and have a try again. (3) I took the file "mailbox-test.c" out of the driver/mailbox directory as a skeleton of my own driver; mbox_request_channel_byname is called in mbox_sms_request_channel.... again some Questions: (a) Easier to use mbox_request_channel_byname without the strings? (b) In the example " drivers/mailbox/mailbox-test.c" There is a channel for rx, another for tx - Thre are two calls of mbox_request_channel_byname, you told me only to use one... What I thought: I need two channels - One for TX and another for RX... how this schould work calling a request_channel only once? Thank you for your efforts... Marco. + +Hi Marco, Responses to your questions: (1) I think there is some confusion on the terms. We refer to the term "mailbox" as the name for the IP instance. There are 12 instances on the DRA7x family. Each IP instance has a number (16 on most) of unidirectional hardware fifos. Each Mailbox IP has 4 interrupt outputs, with each interrupt output used by a processor core (called a User, partitioning defined through software, so totally flexible). For example, if you are communicating between ARM and DSP1 and using Mailbox 10 IP instance, you can assign ARM as User 0 and DSP1 and User 1. You could have communications to a DSP2 using User 2, and using different FIFO pairs between all three processors. Please look through the Mailbox chapter in the TRM for additional details. The three cells are explained well in the binding - first cell is the FIFO number, second cell is index of the interrupt to be used by MPU (from the interrupts property, so this will typically be same between ti,mbox-rx and ti,mbox-tx) and the third cell is the User id (I expect second cell and third cells to typically match value as the interrupts are listed in the same order as the 4 User interrupt outputs). Note that these assignments only define the Rx and Tx from MPU perspective. The exceptions to the typical usage is if you assign multiple User interrupts towards MPU and separate them out between Rx and Tx. (3).(a) I am not quite sure I understand your question. mbox_request_channel_byname() is designed to be able to request a mailbox channel when your client DTS node has multiple mboxes defined in the "mboxes" property. The name you pass in should match one of the names used in the "mbox-names" property. The other API is by index into your "mboxes" property. If you will only have one mbox channel in your client, you can simply drop the "mbox-names" property and just use mbox_request_channel with index 0. (3).(b) The mbox_channel is the name used by mailbox core to represent a communication channel registered by mailbox controllers/providers with the mailbox core. Each such channel can be uni-directional (requiring you to request two channels - one for Rx or Tx), or simply a duplex channel (requiring you to request only one channel which includes both Rx and Tx). The OMAP Mailbox channels follow the latter convention, and the driver actually doesn't support defining simplex channels. Your mbox_sms node under mailbox10 defines a duplex channel. The "ti,mbox-rx" and the "ti,mbox-tx" dictate your Rx and Tx FIFOs respectively from Linux-side. regards Suman + +Now I see much clearer! I will try to get on and open another Thread if I have any further questions. Thank you for explaining these "basics" and help me delve into the topic. Marco. + diff --git a/sample_embedding_folder2/0719019.txt b/sample_embedding_folder2/0719019.txt new file mode 100644 index 0000000000000000000000000000000000000000..acbbb8a8beb61fe86f61282713f2cf8fef9eb079 --- /dev/null +++ b/sample_embedding_folder2/0719019.txt @@ -0,0 +1,34 @@ +Ticket Name: RTOS/TDA2: What HDMI output seem like has crop when TDA2 receive 12 bits data from DVP of image sensor. + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Sir, We need receive 12 bits data from DVP of image sensor. I refer VIP Input Data Width section of PDK_Application_Notes_Video_Driver_Porting.pdf to modify videoIfWidth parameter to FVID2_VIFW_16BIT. But seem like image has crop as below Could you please give me some advise? Many thanks. + +Responses: +P.S. VIP port : 1A VSDK revision : V03.04.00(04-Jul-2018) Test use case : Chains_vipSingleCam_Display(); + +Hi, You mean, it captures full frame over 8bit interface, but crops it in 16bit interface?? Could you please help me understand issue. Rgds, Brijesh + +Hi Brijesh, Yes we image sensor will output YUV420SP + 12 bits data width from DVP port. As TI document suggest if we need receive data width more than 8 bits that need to changing "videoIfWidth" to FVID2_VIFW_16BIT.(Original is FVID2_VIFW_8BIT) Image sending frame to TDA2 but crops just occurs when "videoIfWidth" has modified FVID2_VIFW_16BIT.(FVID2_VIFW_8BIT is OK) Hope above will help we in same page. + +Update information as below. We use OV10635 to output YUV 8 by DVP interface and modify "videoWidth" parameter to compare. videoIfWidth = FVID2_VIFW_8BIT => DVP data width = 8bits videoIfWidth = FVID2_VIFW_16BIT => DVP data width = 10 bits, 12 bits, 14 bits When "videoWidth = FVID2_VIFW_16BIT" seem like frame has crops. Test environment: + +Hi, How are displaying 12/10 bit YUV data? Display does not support YUV422 in 10bit. Also please note that 10/12bit YUV422 will be stored in 16bit container. You need to convert it into 8bit packed as supported by display.. Rgds, Brijesh + +Hi Brijesh, Thanks for replying. I don't change any setting of display link. I just change all FVID2_VIFW_8BIT setting to FVID2_VIFW_16BIT of capture link. About data stored in container have any document can sharing? + +Hi, It is not about changing display link. Display HW does not support 10bit YUV data. You need to convert it into 8bit YUV data.. Data will be stored as shown below in 16bit container. Here 'x' is your bit value 000000xx xxxxxxxx Rgds, Brijesh + +Hi Brijesh, Do you mean what ever I receive YUV 8 or 12 bits width data from DVP of image sensor finally that all needs to convert to 8 bits YUV data if we want pass it to display link? Could you please show me where are data container in SDK? Thanks for your support. + +Yes, Display does not support more than 8bits per color component. Rgds, Brijesh + +Hi Brijesh, Last question is where are capture data container in SDK? I will create new ticket if have any concern. Many thanks. + +Hi, I did not get the question.. Regards, Brijesh + +Hi Brijesh, My question is what function or data structure of SDK that are you say image frame container? I can trace the function or data structure to study. Hope above description is helpful. + +Hi Prince, From the VIP point of view, VIP supports only 8bit per component data type. For more than 8bit per color component, we treat 10/12 bit each component as if it is YUV422 and configure VIP accordingly. This is why the output is in 16bit container. Rgds, Brijesh + +Hi Brijesh, Thanks for your support. I will create new ticket if I have any concern. Have nice day~~ + diff --git a/sample_embedding_folder2/0719338.txt b/sample_embedding_folder2/0719338.txt new file mode 100644 index 0000000000000000000000000000000000000000..073b0019f3699813a1f307868e037b32d2991dbb --- /dev/null +++ b/sample_embedding_folder2/0719338.txt @@ -0,0 +1,26 @@ +Ticket Name: TDA2: TDA2x SD BOOT : + +Query Text: +Part Number: TDA2 How does the video display and ALG_TIDL run asynchronously? Meaning is, the video real-time display frame rate of 25, ALG_TIDL can not be real-time frame rate of about 10. + +Responses: +Hi, Please press p after 2 min of running your usecase. You will get all links statistics. Regards, Anuj + +Hi, Anuj Gupta You may not understand what I mean, I want the display and algorithm to be time-sharing. I don't know how to achieve it. Thanks! Mary + +Hi, Can you please elaborate what you want to know. video display and ALG_TIDL are running synchronously. Means the output of ALG_TIDL will go to video display. If ALG_TIDL is running at 5 fps the video display will be running also at 5 fps. Regards, Anuj + +Hi, Anuj Now the usecase run is synchronous, just like you said “video display and ALG_TIDL are running synchronously”.But I want to implement asynchronous, that is, the display of the video is not synchronized with TIDL. The video display runs separately and TIDL runs alone. Thanks! Mary + +Hi, Running them asynchronous is not possible as the links are interlinked to each other i.e. the output of 1 link is connected to the input of other link. If ALG_TIDL will not give output at suppose 30 fps the display will not get data at 30 FPS so display will not be able to run at that speed. Regards, Anuj + +Hi, Anuj Whether the results can be output through global variables, the result of multi-frame TIDL may be the same. That is, TIDLlink is not connected to the display link. The output of TIDL simply changes the value of a global variable. I tried it and it seems that it is not feasible. Thanks! Mary + +Hi, UInt32 frameSkipMask = 0x24924924; // 20 fps Frame skipping is to skip the frame when it is displayed, or to skip the frame when it is captured.Can you tell me how to use this parameter(frameSkipMask )? Thanks! Mary + +Hi, frameSkipMask is to skip the frame while capturing /**< * Frame Skip Mask (bit0..bit29) bitN = 1 Skip frame, * bitN = 0 DO NOT skip frame * Example, 0x0 for no frame skip, 0x2AAAAAAA for skipping * alternate frames. Regards, Anuj + +Hi, Thank you for your answer! Mary + +Hi, If it answers your question then please close the thread. Regards, Anuj + diff --git a/sample_embedding_folder2/0719341.txt b/sample_embedding_folder2/0719341.txt new file mode 100644 index 0000000000000000000000000000000000000000..84052be560d6e1c58cd4637943d96781229f10ae --- /dev/null +++ b/sample_embedding_folder2/0719341.txt @@ -0,0 +1,20 @@ +Ticket Name: TDA2: TDA2x + +Query Text: +Part Number: TDA2 SD card boot, run ALG_TIDL on the DSP, what should you pay attention to? How to set “ Void chains_tidlDsp_SetAppPrms(chains_tidlDspObj *pUcObj, Void *appObj) ”like this : Void chains_tidlDsp_SetAppPrms(chains_tidlDspObj *pUcObj, Void *appObj) { chains_tidlAppObj *pObj = (chains_tidlAppObj*)appObj; /* Null Source Parameters */ setNullSrcPrm(pObj); /* TIDL Pre Process */ pUcObj->Alg_tidlpreprocPrm.outPad = TIDL_MAX_PAD_SIZE; pUcObj->Alg_tidlpreprocPrm.numOutputQueues = NUM_PIPELINES; pUcObj->Alg_tidlpreprocPrm.procMode = TIDLPREPROC_LINK_PROCMODE_RGBPAD; /* * Set the TIDL algorithm parameters for all the 'NUM_PIPELINES' instances. */ /* TIDL on DSP1 */ pUcObj->Alg_tidl_1Prm.cacheInvInBuf = 1; pUcObj->Alg_tidl_1Prm.cacheWbOutBuf = 1; pUcObj->Alg_tidl_1Prm.pAlgCreateParams = pObj->pAlgCreateParams; //pUcObj->Alg_tidl_1Prm.curCoreId = TIDL_COREID_EVE1;//myz pUcObj->Alg_tidl_1Prm.curCoreId = TIDL_COREID_EVE1; //pUcObj->Alg_tidl_1Prm.currLayersGroupId = TIDL_LAYER_GROUPID_EVE1;//myz pUcObj->Alg_tidl_1Prm.currLayersGroupId = TIDL_LAYER_GROUPID_EVE1; pUcObj->Alg_tidl_1Prm.ocmcAddr = NULL; /* Null Link */ if(TRUE == pObj->enableOutFileWrite) { pUcObj->NullPrm.appCb = dumpOutCb; pUcObj->NullPrm.appCbArg = pObj; } else { pUcObj->NullPrm.appCb = NULL; pUcObj->NullPrm.appCbArg = NULL; } } + +Responses: +Hi, Sorry, I did not under stand your question. the above function is used to set app prms for usecase running on dsp. Regards, Anuj + +Hi, Anuj Yes, I set app prms for usecase running on dsp, but DSP operation results are wrong . Thanks, Mary + +Hi, Actual TIDL alg runs on EVE only i.e. different convolution layers. Regards, Anuj + +Hi, Anuj When I chose to run TIDL on eve, the result was correct. When I chose DSP to run TIDL, the result was wrong. I do not know why. For a simple example, when I run TIDL, I use usecase f: TIDL Usecase, and then select "1: DSP" to run the result is wrong, but when I choose "2: EVE", the result is correct. Thanks! Mary + +Hi, TIDL running on eve will give the proper result as it does the complete processing there. If you run TIDL on DSP then it will not do the complete processing for different layers so result is not proper. If you want to know the difference in processing of TIDL while running on DSP vs EVE. Then please raise a new thread with a proper subject and proper explanation of your question. Regards, Anuj + +Hi, OK, Thanks! Mary + +Hi, Please close the thread. Regards, Anuj + diff --git a/sample_embedding_folder2/0719722.txt b/sample_embedding_folder2/0719722.txt new file mode 100644 index 0000000000000000000000000000000000000000..c5ef5a831cf7552e0b5e333248ce72d1ac47b2fe --- /dev/null +++ b/sample_embedding_folder2/0719722.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: O9039A387IZWSRQ1 Design Specifications + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: TPS659039-Q1 Are you able to provide the design specifications of O9039A387IZWSRQ1, similar to what have been stated in datasheet TPS659039-Q1 as below? Thanks. + +Responses: +Hello CTY, The latest settings of the TPS659039-Q1 are listed in this user's guide: www.ti.com/.../swcu175 OTP 0x87 is the same as OTP 0x44 except SMPS123 (MPU) and SMPS7 (CORE) have default voltages of 1.15V. Regards, Karl + +I guess you meant SMPS123 and SMPS7 voltages are changed to 1.15V, right? Thank you for the user guide, it clears my doubt. + +Hi, Yes, it should be SMPS123 and SMPS7. Thanks, Nastasha + diff --git a/sample_embedding_folder2/0719853.txt b/sample_embedding_folder2/0719853.txt new file mode 100644 index 0000000000000000000000000000000000000000..31e46ca4fe53853c76889ca411d0b10801a6531c --- /dev/null +++ b/sample_embedding_folder2/0719853.txt @@ -0,0 +1,42 @@ +Ticket Name: RTOS/TDA2: Running DDR test on 3GB + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hello all, I am trying to configure Vision SDK 3.03 DDR test example to run with 3GB of RAM on TDA2p. 2GB are connected to EMIF1 and 1GB is connected to EMIF2. Changes that I have made are: - (Vision_PATH)/vision_sdk/links_fw/src/rtos/bios_app_common/tda2px/a15_0/a15_0.cfg (line 165. Mmu.setSecondLevelDescMeta(i, i, attrs2)) - (Vision_PATH)/vision_sdk/links_fw/src/rtos/bios_app_common/tda2px/ipu1_0/Ammu1_bios.cfg (line 207. entry.translatedAddress = 0xA0000000) - (Vision_PATH)/vision_sdk/links_fw/src/rtos/bios_app_common/tda2px/ipu2/Ammu2_bios.cfg (line 207. entry.translatedAddress = 0xA0000000) - (Vision_PATH)/vision_sdk/links_fw/src/rtos/bios_app_common/tda2px/eve_common/tlb_config_eve_common.c (line 100. #define SIZE_3G (0xC0000000U), line 134. instead of SIZE_1GB, set SIZE_3GB) - (Vision_PATH)/vision_sdk/apps/configs/build_makeconfig.mk (line 106. $(ECHO) \# DDR_MEM=$(DDR_MEM) [options: DDR_MEM_128M DDR_MEM_512M DDR_MEM_1024M DDR_MEM_3G]) - (Vision_PATH)/vision_sdk/apps/configs/defaults.mk (line 16. DDR_MEM=DDR_MEM_3G) - (Vision_PATH)/vision_sdk/apps/configs/tda2px_evm_bios_all/cfg.mk (DDR_MEM=DDR_MEM_3G) - (Vision_PATH)/vision_sdk/build/rtos/makerules/component.mk (after ifeq($(DDR_MEM),DDR_MEM_512MB vision_sdk_CFLAGS += -DTDA2XX_512MB_DDR endif added ifeq ($(DDR_MEM),DDR_MEM_3G) vision_sdk_CFLAGS += -DTDA2XX_3GB_DDR endif -(Vision_PATH)/vision_sdk/links_fw/src/rtos/utils_common/include/utils_mem_cfg.h (after #ifdef TDA2XX_512MB_DDR block added #ifdef TDA2XX_3GB_DDR #ifdef ECC_FFI_INCLUDE #define UTILS_MEM_HEAP_DDR_CACHED_SIZE (309*1024*1024) #else #ifdef OPENCL_INCLUDE #define UTILS_MEM_HEAP_DDR_CACHED_SIZE (249*1024*1024) #else #define UTILS_MEM_HEAP_DDR_CACHED_SIZE (700*1024*1024) #endif #endif #endif After all this, I made mem_segment_definition_3gb_bios.xs file based on mem_segment_definition_bios.xs file and placed it in (Vision_PATH)/vision_sdk/apps/build/tda2px/. Changes that I made were DDR3_SIZE = (1024+2048)*MB and DDR3_BASE_SIZE_0 = 1008*MB. Later, I included mem_segment_definition_3gb_bios.xs in files config_a15.bld, config_arp32.bld, config_c66.bld, config_m4.bld. Add if (platformMem == "DDR_MEM_3G") { var MemSegDefine = xdc.loadCapsule("mem_segment_definition_1_5gb_bios.xs"); } after if (platformMem == "DDR_MEM_512M") { var MemSegDefine = xdc.loadCapsule("mem_segment_definition_bios.xs"); } After that, I set the SBL like this: -(Vision_PATH)/vision_sdk/build/rtos/makerules (line 127. PDK_SBL_BUILD_OPTIONS = $(PDK_BUILD_OPTIONS) EMIFMODE=DUAL_EMIF_3GB) -(Vision_PATH)/ti_components/drivers/pdk_01_09_00_17/packages/ti/boot/sbl_auto/sbl_lib/src/tda2xx/sbl_lib_config_tda2xx.h (line 63. TDA2XX_EMIF_MODE is set to (SBLLIB_DUAL_EMIF_3GB)) -(Vision_PATH)/ti_components/drivers/pdk_01_09_00_17/packages/ti/boot/sbl_auto/sbl_utils/src/tda2xx/sbl_utils_tda2px_ddr_config.c after #if (TDA2XX_EMIF_MODE == SBLLIB_SINGLE_EMIF_512MB) block I put #if (TDA2XX_EMIF_MODE == SBLLIB_DUAL_EMIF_3GB)     {         SBLLibPrintf(SBLLIB_TRACE_LEVEL_DEBUG,                      "       Two EMIFs in non interleaved mode (3GB total)\n");         /* MA_LISA_MAP_i */         HW_WR_REG32(SOC_MA_MPU_CONF_REGS_BASE + LISA_MAP_0, 0x80700100U);         HW_WR_REG32(SOC_MA_MPU_CONF_REGS_BASE + LISA_MAP_1, 0xC0600200U);         /* DMM_LISA_MAP_i */         HW_WR_REG32(SOC_DMM_CONF_REGS_BASE + LISA_MAP_0, 0x80700100U);         HW_WR_REG32(SOC_DMM_CONF_REGS_BASE + LISA_MAP_1, 0xC0600100U);     } #endif. I changed a little the DDR test, in main.c defined DDR_SIZE_EMIF1 to 0x7FFFFFFF, and DDR_SIZE_EMIF2 to 0x3FFFFFFF, also I defined EMIF1_DDR_BASE_ADDRESS to 0x80000000 and EMIF2_DDR_BASE_ADDRESS to 0xC0000000. The problem is when I run the test, and try to run full memory read/write test, the message I get on terminal is Size of DDR is 0x0. Do you maybe know why that happens? Best regards, Bosko + +Responses: +Hi Bosko, I see one mistake in LISA mapping. Can you set LISA_MAP_1 to 0xC0600200U at both places. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +Hello Rishabh, Sorry for the late response. I changed LISA_MAP_1 to 0xC0600200U but I still have the same output. First DDR test case is just skipped. The only thing I get on UART is Size of DDR is 0x0. Best regards, Bosko + +Hi Bosko, In your original question you have mentioned this "EMIF1_DDR_BASE_ADDRESS to 0x80000000 and EMIF2_DDR_BASE_ADDRESS to 0xC0000000". Can you set the base addresses correctly as currently you have overlapping addresses. Regards, Rishabh + +Hello Rishabh, I changed the starting address but that did not help. I also tried with decreasing memory size from 2GB to 1GB on EMIF1, but no progress. Best regards, Bosko + +Hi Bosko, Can you remove all your changes and check if the app is working for you. Regards, Rishabh + +Hello Rishabh Before any changes were made, I run the test for 512MB and worked fine. I thought maybe to try to configure the test to work with 2GB on EMIF1 first, and later add EMIF2. Best regards, Bosko + +Hi Bosko, Are you running DDR test using SBL or Gels? Can you first try only 1 GB on EMIF1. Regards, Rishabh + +Hi Rishabh, I am using SBL. No problem, I will try to run 1 GB first and post results here. Regards, Bosko + +Hi Rishabh, I managed to get test to work separately for 2 GB on EMIF1 and 1 GB on EMIF2, but I still have no idea why it does not work when I merge together EMIF1 and EMIF2. Best regards, Bosko + +Hi Bosko, This is a very useful result. From 0x8000_0000 onwards you have only 2 GB till 0xFFFF_FFFF. To test 3 GB at a time you will need to configure MMU. Is there a particular requirement that you want to test all DDR at once? Regards, Rishabh + +Hi Rishabh, Problem is that our system has 3GB of RAM. 2GB on EMIF1 and 1GB on EMIF2. They can work separately, at the time we can see that 2GB on EMIF1 and 1GB on EMIF2, but when we configure both EMIFs to work together we only see 2GB under Linux. Do you maybe have any idea why that is? Best regards, Bosko + +Hi Bosko, Can you check this link: opbuwiki.dal.design.ti.com/.../DRA7x_4GB_DDR_SUPPORT Regards, Rishabh + +Hi Rishabh, Can you send me the link again? I can't open this one. Regards, Bosko + +Hi Bosko, That document needs NDA. Can you please ask your TI representative to provide this document. Regards, Rishabh + +Hello Rishabh, Is there any document on how to change MMU in order to make DDR test to test full 3GB or more? Best regards, Bosko + +Hi Bosko, We will make an official release by end of first week of October. Can you wait till that time and pick the release itself. Regards, Rishabh + +Hi Bosko, We have made release with support for more than 2 GB DDR. You can pick the release from: software-dl.ti.com/.../index_FDS.html Regards, Rishabh + diff --git a/sample_embedding_folder2/0719860.txt b/sample_embedding_folder2/0719860.txt new file mode 100644 index 0000000000000000000000000000000000000000..c3eac9af7bc35922e922afdb908ea4c2c3feffea --- /dev/null +++ b/sample_embedding_folder2/0719860.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: Integrating multi kernel + +Query Text: +Part Number: TDA2 Hi guys, I am trying to integrate two kernel in the eve applet with BAM,but the graph creation fails with this error message: printf("Graph construction failed!!! Decrease the value of BLK_WIDTH or BLK_HEIGHT\n"); I tried with: --> block width =8 & block_height=8 -->node list,edge list & the parameters i checked. Any help is appreciated. Regards Surbhi + +Responses: +Hi Surbhi, This indicates that with current block sizes the internal memory is not enough. Given that you are already trying a very small block size I am suspecting that some of the parameter's for the BAM node is not correct. Can put a break point at BAM_autoAllocMemRec function and step in to see which parameter is in-correct. This is the function where all the internal memories are allocated. Regards, Anshu + +Hi Surbhi, Were you able to make progress on this issue? Regards, Anshu + diff --git a/sample_embedding_folder2/0720135.txt b/sample_embedding_folder2/0720135.txt new file mode 100644 index 0000000000000000000000000000000000000000..8c2d0058d75045a087839af04759f2fc560a7c95 --- /dev/null +++ b/sample_embedding_folder2/0720135.txt @@ -0,0 +1,32 @@ +Ticket Name: RTOS/TDA2: PROCESSOR_SDK_VISION_03_04_00_00 link error + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, Recently found a problem with PROCESSOR VISION_SDK_V03_04 That is, in EVE_sw_01_19_00_00_00/apps_nonmam, I base on evelib_fir_filter_2d.c, add a few new eve programs, use eve_algo_dma_auto_incr.c It contains the following functions, and packaged into libeveapps.eve.lib EVELIB_getBestBlockDimensions, EVELIB_algoDMAAutoIncrInit, EVELIB_algoDMAAutoIncrDeInit, EVELIB_algoDMAAutoIncrConcurrent,EVELIB_algoDMAAutoIncrSequential, EVELIB_algoDMAAutoIncrProcess When you make, you find the following problem. It seems that libeveapps_opticalflow.eve.lib also includes these programs of the same name, and it does not have source code, but it is needed in the alg-_plugins algorithm. How can I solve it?! Now I just disable denseopticalflow all function . + +Responses: +Hi Casper, Dense optical flow is not release as part of EVE SW and it turns out that denseopticalflow library has same name for some of the functions which are used in apps_nonbam. If you are trying to link both the libraries together you will have this issue. Can you just rename the names of the function in any one of them so that there is no conflict. Regards, Anshu + +Anshu, For short term solution , it's good suggest. But next EVE version , TI must corrected. Regards, Casper + +Casper, The functions present in apps_nonbam folder are example functions and are there mostly for reference. Please refer other applets outside apps_nonbam folder to develop any new applets. These API's will not have conflicts with any existing applets. We don't have any plan to fix this in future. Regards, Anshu + +I don't think so. This TI release SOP ? Our own function is base on this development. One a little bug still bug. IT's TI ? IT's TI? NO SOP ? + +These Dense optical flow applet already conflicts with MY applets. These Dense optical flow applet already conflicts with MY applets. + +These Dense optical flow applet already conflicts with MY applets. + +Dear Casper, Thanks for identifying the behavior. Can you help me understand your usage: 1. Do you want to use dense optical flow library in your product? Please note that from TI it is delivered as a reference demo library from our partner network. If you are using it in your product, you should make sure that we get you in touch with that partner. 2a. If the answer to above question is yes, then while you work with the partner for productization of the library, you can also work on making sure that the symbols being used by dense optical flow library don't conflict 2b. If the answer to above question is NO, then I understand that the issue doesn't impact you now. Thanks, With Regards, Pramod + +The conflicting program is placed in the EVE function library, and the library of the optical flow function uses the same name as the previous appnonbam. The correct method should use the original function instead of adding one. 2b. If the answer to above question is NO, then I understand that the issue doesn't impact you now. NO, But dense optical flow library impact my own applet. Please "NOTE" 2a and 2b you question is same "NOT IMPACT" + +2A and 2B is same question. + +TI expert, When you understand that this is wrong, not to fix this problem, but to dig a hole to solve, the next time you will be dig another hole. Is your TI SOP ? And TI demo source code just for demo , can't production and need to find tune or create our own algorithm and applet . I have question , how about TI SW release SOP ? For example , I use TI vision sdk 4 years. I found same place variable in each different version, have uppercase or lowercase issue. Why change ? I think, it's NOT need to change. It is depend on you programmer like or not. It is not right. It is my personal suggest and ask my own. By the way, may be other TI customer will as same question to you when them use app_nonbam. Casper Tu + +Pramod, Please post your comments/questions on the same thread. Regards Karthik + +Hi Caser, We will fix in DOF library the usage of symbols in upcoming SDK release. Thanks, With Regards, Pramod + +Hi Casper, Processor SDK-Vision (aka Vision SDK) v3.06 addresses this issue www.ti.com/.../processor-sdk-tdax Thanks, With Regards, Pramod + diff --git a/sample_embedding_folder2/0720198.txt b/sample_embedding_folder2/0720198.txt new file mode 100644 index 0000000000000000000000000000000000000000..5c76f542d1ba3cb7916aeb166e0208c23b998fb5 --- /dev/null +++ b/sample_embedding_folder2/0720198.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: horizontal flip support on TDA2x + +Query Text: +Part Number: TDA2 Hi, I know that ISS ISP RSZ in TDA3x supports horizontal flip. Does VPE or Other Block in TDA2x support horizontal flip function? Regards JP Park + +Responses: +Hi JP, VPE in itself does not support any flipping. But you could use Tiler to flip the images.. Rgds, Brijesh + +Hi Brijesh, Thank you for your reply. ok. I will try the flipping using Tiler. Regards JP Park + diff --git a/sample_embedding_folder2/0720231.txt b/sample_embedding_folder2/0720231.txt new file mode 100644 index 0000000000000000000000000000000000000000..73bb9dc61880be4b351d03177ad36cbc0c598926 --- /dev/null +++ b/sample_embedding_folder2/0720231.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: TIDL import tensorflow model issue + +Query Text: +Part Number: TDA2 hi,dear The same question with " https://e2e.ti.com/support/arm/automotive_processors/f/1021/t/692723 The detailed infor lists as following: I referred the section 3.6.5, optimized frozen graphs for MobileNet and tried to run the generated .pb but it's also showing error in tidl_log.txt file as : " TF Model File : ..\..\test\testvecs\config\tensorflow_models\mobilenet\mobilenet_v1_1.0_224_final.pb Could not find the requested input Data : MobilenetV1/MobilenetV1/Conv2d_0/Relu6 !! " It seems TIDL does not support the layer "MobilenetV1/MobilenetV1/Conv2d_0/Relu6" , right? Looking forward to your reply! + +Responses: +Yes, we may not have support in import tools, but TIDL library has support for Rlu6. So, you can modify import tool to import this Relu6 layer. Thanks, Praveen + diff --git a/sample_embedding_folder2/0720259.txt b/sample_embedding_folder2/0720259.txt new file mode 100644 index 0000000000000000000000000000000000000000..3eeb2193418998ba820baaedfd7fc4c66883fcdc --- /dev/null +++ b/sample_embedding_folder2/0720259.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: Recommended way to use EDMA in HLOS usecase + +Query Text: +Part Number: TDA2 Tool/software: Linux Hello, I'm using Processor SDK 3.03 on Linux with kernel 4.16.7, building for custom board with TDA2 chip. I was wondering what is the recommended way to use EDMA in a HLOS usecase. While working with RTOS I used utils_dma.c but I can't seem to find anything like that in HLOS. Thank you in advance. Regards, Nick + +Responses: +Nick, Can you please confirm on the Linux kernel version - have you been referring to the Processor SDK Linux Automotive releases - these are based on kernel version 4.4 Typically for HLOS use case, the DMA is programmable from within the kernel as you would be programming the Physical address es for DMA parameters and you would want this to be validated and programmed from the kernel. On linux we have dmaengine I/F www.kernel.org/.../index.html and implementation for EDMA that subscribes to this interface on TI platforms. Various device drivers inside the kernel use dmaengine I/F. There are no direct API for using DMA from userspace applications on Linux + +Hi Sriram, The kernel 4.16.7 is on my build machine and the one that is built and ran on the board is the one present in PSDK 3.03 (4.4.84). Is there any good example among the device drivers where I can see how dmaengine is used? Also, the link you provided is dead. Thank you in advance. Nick + +NIck For the link itself, there is an appended ")" at the end of the URL which needs to be removed. I tried fixing it on the previous post, but somehow it is not taking effect. More details on the implementation, device driver usage and testing is described under www.kernel.org/.../provider.html www.kernel.org/.../client.html www.kernel.org/.../dmatest.html + diff --git a/sample_embedding_folder2/0720326.txt b/sample_embedding_folder2/0720326.txt new file mode 100644 index 0000000000000000000000000000000000000000..26a9149d631b030507582656e9c35ad3da634bc1 --- /dev/null +++ b/sample_embedding_folder2/0720326.txt @@ -0,0 +1,28 @@ +Ticket Name: TDA2: Use vout1_fld as Vin3a_clk0 + +Query Text: +Part Number: TDA2 Hi, We will use Vin3a pin and vout1 pin like below. - Will use Display output Pin with discrete sync mode - vout1_clk (ball : D11), vout1_d0(ball : F11)...... vout1_d22(ball : B9). vout1_d23(ball : A10), vout1_de(ball : B10), vout1_hsync(ball : C11), out1_vsync(ball : E11), - We want to use vout1_fld as Vin3a_clk0 of VIN3A. - VIN3A Input : Vin3a_clk0 (ball : B11),vout3_d0(ball : M6), vout3_d1(ball : M2).... Can I use the vout1_fld pin as the Vin3a_clk0 pin of VIN3A while using the display output pin(vout1) with discrete sync mode? Regards JP Park + +Responses: +Hi JP, Please check the pinmux sheet, it will tell what is possible. Rgds, Brijesh + +Hi Brijesh, I have checked that pinmux is possible with vout1_fld pin(MUXMODE 0) to Vin3a_clk0 pin(MUXMODE 4) : (ball : B11) I want to know if it can be used as an Vin3a_clk0 pin of VIN3A while using the display output pin(vout1) with discrete sync mode? Regards JP Park + +Hi JP, The same pin cannot be used for two purpose. Rgds, Brijesh + +Hi Brijesh, I think there is some confusion. The same pin is not used for two purpose. Will use the vout1_clk (ball : D11), vout1_d0(ball : F11)...... vout1_d22(ball : B9). vout1_d23(ball : A10) .... for display output except for vout1_fld pin. Will use vout1_fld pin as Vin3a_clk0 (Set to MUX MODE4 for use with Vin3a_clk0) for Vin3a. I will use vout1_fld pin as Vin3a_clk0 function for Vin3a instead of vout1_fld function for display output. Is this possible? I'm sorry, I would like to ask you again. Regards JP Park + +Hi JP, Yes, it looks fine to me, if your display is progressive, there is no need for the fld output and fld pin can be used for the different purpose. Rgds, Brijesh + +Hi Brijesh, Thanks for your reply. Thanks to you, the problem is solved. Regards JPPark + +Hi Brijesh, We had plan to use the vin3a pins as shown below, but looking at the IOSET view of the pad conf tool, it seemed that ball B11 could not be used for the vin3a_clk0 pin function. Is it possible using differrent IOSET Pin ? Regards JP Park + +Hi Park, Which SoC are you using? On TDA2x, i see there are three pins which can be used for VIN3A_CLK input. These are CTRL_CORE_PAD_GPMC_CS3, CTRL_CORE_PAD_VIN1B_CLK1 and CTRL_CORE_PAD_VOUT1_FLD. Regards, Brijesh + +Hi Brijesh, Thank you for your quick reply. Yes, I am using TDA2x. I know that there are other pins for VIN3A_CLK . I want to know if it is possible using together IOSET1 (Ball M6 for vin3a_D0,Ball M2 for vin3a_D1 ) and IOSET4 (Ball B11 for vin3a_clk0) for vin3a pins. Regards, + +JP Park95, Suggest you try the pin mux tool (https://dev.ti.com/pinmux). It will show you clearly with warnings/errors what's possible and what not. thanks Alex + +In addition, I see from your previous post you are using our other NDA tool (the Pad Config Tool), which is fine too, but more recently we have migrated devices to the public pinmux tool I mentioned (which will give you same warnings about the ioset violation). Basically, if you violate and mix iosets you are risking to not meet the ioset's timing. The device has been characterized with these precise iosets to meet the timing requirements, switching characteristics, and iodelay manual/virtual modes. Here is the excerpt from the datasheet: CAUTION: The IO timings provided in this section are applicable for all combinations of signals for vin1. However, the timings are only valid for vin2, vin3, and vin4 if signals within a single IOSET are used. The IOSETs are defined in the Table 7- 4, Table 7-5 and Table 7-6. + diff --git a/sample_embedding_folder2/0720711.txt b/sample_embedding_folder2/0720711.txt new file mode 100644 index 0000000000000000000000000000000000000000..f09af8ddc339fd70776da4f3e9b23ef1e4f04b65 --- /dev/null +++ b/sample_embedding_folder2/0720711.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: TDA2x MonsterCam + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: DM388, TVP5158 Tool/software: TI-RTOS From log and code, i can see TDA2x MonsterCam, What is MonsterCam? Capture Source "Sensor OV10635 1280x720 @ 30fps - VIP, YUV422", "HDMI RX 1280x720 @ 60fps - VIP, YUV422", "HDMI RX 1920x1080 @ 60fps - VIP, YUV422", "Sensor AR0132 1280x720 @ 30fps - VIP, RCCC (TDA2x MonsterCam ONLY)", "Sensor AR0132 1280x720 @ 60fps - VIP, Bayer, Ext. ISP (TDA2x MonsterCam ONLY)", "Sensor OV10640 1280x720 @ 30fps - ISS CSI2, Bayer (TDA3x EVM ONLY)", "Sensor OV10640 1280x720 @ 30fps - ISS CPI , Bayer (TDA3x EVM ONLY)", "Sensor AR0132 1280x720 @ 60fps - ISS CPI , Bayer (TDA3x EVM ONLY)", "Sensor AR0132 1280x720 @ 60fps - ISS CPI , Monochrome (TDA3x EVM ONLY)", "Sensor AR0140 1280x800 @ 30fps - ISS CPI , Bayer (TDA3x EVM ONLY)", "Sensor IMX224 1280x960 @ 30fps - ISS CSI2, Bayer (TDA3x EVM ONLY)", "Sensor AR0132 DM388 1280x720 @ 60fps - VIP, YUV422 (TDA2x MonsterCam ONLY)", "Sensor AR0140 TIDA00262 1280x720 @ 30fps - ISS CSI2, Bayer (TDA3x EVM ONLY)", "Sensor OV10635 1280x720 @ 60fps - LVDS (TDA3x EVM ONLY)", "Sensor OV10640 IMI 1280x720 @ 30fps - ISS CSI2, Bayer (TDA3x EVM ONLY)", "Sensor SAT0088 (OV10635) @ 30fps - CAL CSI2, YUV422 (TDA2Ex EVM ONLY)", "CHAINS_CAPTURE_SRC_VIDDEC_TVP5158 , THIS ENTRY WAS MISSING BECAUSE OF A BUG)", "Sensor OV2775 1920x1080 @ 30fps - ISS CSI2, Bayer (TDA3x EVM ONLY)", "Sensor AR0143 MARS 1280x800 @ 30fps - ISS CSI2, Bayer (TDA3x EVM ONLY)", "Sensor IMX290", "Ethernet AVB Cam 1280x720 @ 30fps - (TDA2Ex ETH SRV BOARD ONLY)", + +Responses: +Hi, Chee Peng Tham, After a search in web and in E2E FORUM, I believe this is the company producer of the camera connected to TDA2x. Make a search and also see the thread: Regards, Mariya + diff --git a/sample_embedding_folder2/0720725.txt b/sample_embedding_folder2/0720725.txt new file mode 100644 index 0000000000000000000000000000000000000000..1fb0c5b3adf76bc70579d5e2950aa6e6ca930e3d --- /dev/null +++ b/sample_embedding_folder2/0720725.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: TDA2SG + +Query Text: +Part Number: TDA2 Tool/software: Linux Does TDA2 support hypervisor? Or any kind of container technology? + +Responses: +HI TI supports bootloader, kernel changes required for enabling interworking with a hypervisor. Hypervsior enablement is done by our 3 party ecosystem. A number of hypervisor vendors like Greenhills(integrity), OpenSynergy, Qnx and GlobalLogic(Xen) provide support for hypervisor enablement on TDA2 + diff --git a/sample_embedding_folder2/0720763.txt b/sample_embedding_folder2/0720763.txt new file mode 100644 index 0000000000000000000000000000000000000000..7d4e4677a5b9ee7178ddc33e4c1a57adb11241d0 --- /dev/null +++ b/sample_embedding_folder2/0720763.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: EVE/BAM/writing short int data back to external memory : + +Query Text: +Part Number: TDA2 Hi guys, i am trying to write int16_t (short int) type data output to the sink node, but the Pointer to external memory buffer is of uint8_t type. --> So can i use another pointer of type int16_t which could hold the output data --> why it is specific of type uint8_t ? typedef struct { uint16_t roiWidth; uint16_t roiHeight; uint16_t blkWidth; uint16_t blkHeight; uint16_t extBlkIncrementX; uint16_t extBlkIncrementY; uint16_t intBlkIncrementX; uint16_t intBlkIncrementY; uint32_t roiOffset; uint16_t blkOffset; uint8_t *extMemPtr; uint8_t *interMemPtr; uint16_t extMemPtrStride; uint16_t interMemPtrStride; uint8_t dmaQueNo; }EDMA_UTILS_autoIncrement_transferProperties; Regards Surbhi + +Responses: +Surbhi, Its just a pointer so its original type doesn't matter. Just typecast your pointer to uint8_t * and provide all the other parameters in terms of bytes as mentioned in the interface file. Regards, Anshu + +okay, but i need uint8_t type pointer for my input data at source side & for output data i require a pointer of int16_t type. + +DMA just transfer data from one memory location to other irrespective of its data type ( all the DMA parameters are in terms of bytes). So I am not sure what exactly you are asking? As mentioned earlier you just have to provide the pointer to the location from where to where you want to transfer. How you use these pointers is upto you, you can treat them as uint8_t or int16_t. Regards, Anshu + diff --git a/sample_embedding_folder2/0721070.txt b/sample_embedding_folder2/0721070.txt new file mode 100644 index 0000000000000000000000000000000000000000..44f35ec9f8e690926bb6a89f994040710e239ffa --- /dev/null +++ b/sample_embedding_folder2/0721070.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: How many ethernet phy chips can be supported on TDA2X? + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: DP83865, DP83640 Tool/software: Linux Dear TI, We found DP83865 ethernet phy chip on EVM board. Is there another ethernet phy chip can be supported on TDA2X? Which driver is ready? Thanks a lot! waley + +Responses: +Hello Waley, Selection of PHY would depend on your use-case requirements. Can you please let us know your use-case? On TI TDA EVMs we are using DP83867 (http://www.ti.com/product/DP83867IR). + +Dear Prasad, For our case, 10/100M baseband is enough, it seems DP83640 is ok. But I'm not sure if we need to change driver code when we replaced the phy chip to another one. waley + +Waley Are you planning to use ethernet from Linux or from TI BIOS(on M4 core). Linux includes a generic phy driver that should work for most cases. Additionally there are specific PHY drivers if there needs to be PHY specific configuration. List of PHY drivers and their supported versions can be found under drivers/net/phy/Kconfig file under the kernel sources. If the specific PHY part has a driver, you need to enable the same in kernel and update the phy binding string in the device tree for the board that you are using + diff --git a/sample_embedding_folder2/0721493.txt b/sample_embedding_folder2/0721493.txt new file mode 100644 index 0000000000000000000000000000000000000000..60f013972a4653599d2a9781cdd7a415b3392241 --- /dev/null +++ b/sample_embedding_folder2/0721493.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2EVM5777: if the board can connected with the sensors?which type of the interface this board support? + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 1.TDA2/TDA2P/TDA3.What are the main differences between these three series? 2.Does the corresponding EVM product purchase include a software support package? 3.Are external sensors currently supported by camera, laser radar, ultrasonic radar and millimeter-wave radars? What is the corresponding interface type? 4.If we need to be based on the current EVM to do software adaptation and two development, TI can provide technical support? 5.Only buy CPU board can be used or must be used in conjunction with other supporting board? 6.What is the initial estimate of the cost? How long is the purchase cycle? 3ks~~~~ + +Responses: +hi, user5786212 , 1. Check Device Comparison tables of all devices to figure out the differences. 2. Vision SDK and processor SDK you can download from ti.com. 3. Will ping an expert to answer. 4. You can relay on the forum for support. 5. will ping 6. Contact TI representative for information about cost and purchase cycle. Best regards, Mariya + +Hi, Answers for other questions. There are many different EVMs or boards available for these platforms. More details of boards are at www.ti.com/.../tools-software.html Optional boards / sensors for EVM available are listed at www.ti.com/.../tda2pxevm 3. Based on the board Image sensor and TI mmWave sensors can be connected. 5. That depends on the usecase for development. If an image sensor / LCD display is needed that board needs to be used. Again please refer to the link above for details on various options. + diff --git a/sample_embedding_folder2/0721522.txt b/sample_embedding_folder2/0721522.txt new file mode 100644 index 0000000000000000000000000000000000000000..9cf18c2b98ef9e364a8a3943f8c89d82fbad1f53 --- /dev/null +++ b/sample_embedding_folder2/0721522.txt @@ -0,0 +1,46 @@ +Ticket Name: TDA2: Camera raw data input to TDA2X is supported? + +Query Text: +Part Number: TDA2 Dear TI: Does TI TDA2x support Camera raw data input? (We have one NIR camera module which only has the senor output but without ISP, and we need to connect it to TDA2x. Can this be supported?) Thanks and best regards He Wei + +Responses: +Hi He Wei, Yes, we could capture using the VIP port of TDA2x. Can you provided more details on the camera interface (details such as number of data-lines, pixel clock speed, supported sync signals (hSync, vSync, DE (Data enable)) etc...) Also, what is the data format of video being streamed by sensor and which data format would be required? Regards, Sujith + +Hi Sujith, I work with He Wei. Our camera is a standalone camera, means it will send video output thru DVP parallel port once power up. So no I2C setup required for the camera. Can you guide us or show some example on how to setup TDA2x to receive the RAW data and display on HDMI? For your information, data transferred is - 1280x800, - 12bit raw data - hsync, vsync, pclk (75Mhz) - 30 fps Your support is much appreciated Thank you Chee Peng + +Hi chee Peng, Yes, it is possible to capture this stream over VIP. We have a similar example to capture 12bit raw data on VIP using AR0132 sensor in PDK drivers. You could refer to this example to get the idea about how to configure VIP. Regards, Brijesh + +Hi, Can you please refer the VIP Capture demo application for the VIP configurations. It's available at \ti_components\drivers\pdk\packages\ti\drv\vps\examples\vip\captureVip\src\CaptureVip_main.h Refer the configurations used for "Aptina AR0132->VIP1_S1_PORTA SCH 12-bit Discrete Sync (HSYNC/VSYNC)" Please note that depending on your board/schematics, you might have to update the instance of VIP that can be used. Regards, Sujith + +Hi Sujith, This looks useful. Let me try, i shall get back to you. + +Hi Sujith, I updated to 16bit raw as following, But I still faced following error. Any idea? What do you think? [IPU1-0] 23.916031 s: CAPTURE: Create in progress !!! [IPU1-0] 23.916244 s: CAPTURE: VIP1 Slice0 PortA capture mode is [16-bit] !!! [IPU1-0] 24.075764 s: CAPTURE: Create Done !!! [IPU1-0] 24.077258 s: ALGORITHM: Create in progress (algId = 12) !!! [IPU1-0] 24.077441 s: Assertion @ Line: 308 in vpeSwMs/vpeSwMsLink_algPlugin.c: 0 : failed !!! [IPU1-0] 24.077899 s: Assertion @ Line: 308 in vpeSwMs/vpeSwMsLink_algPlugin.c: 0 : failed !!! + +Hi Chee Peng, From the log, it seems like capture creation is completed successfully. It's the SWMS link which is creating a problem. The SWMS will not support RAW 12 data format. You would require s/w module to convert RAW12 to YUV data format. As an experiment, In function AlgorithmLink_dmaSwMsCreate () in file \apps\src\rtos\alg_plugins\dmaSwMs\dmaSwMsLink_algPlugin.c change line pDmaSwMsObj->dataFormat = System_Link_Ch_Info_Get_Flag_Data_Format(pDmaSwMsObj->prevLinkQueInfo.chInfo[0].flags); to pDmaSwMsObj->dataFormat = SYSTEM_DF_YUV422I_UYVY; Regards, Sujith + +Hi Sujith, Thank you for suggestion. The error at vpeSwMs/vpeSwMsLink_algPlugin.c Adjust \apps\src\rtos\alg_plugins\dmaSwMs\dmaSwMsLink_algPlugin.c will not affect. Anyway, I adjusted at vpeSwMs/vpeSwMsLink_algPlugin.c It gave more error as following I tried traced it, the error deep at Ti component..... What do you think? + +Hi Chee Peng, It seems like the data type is not overridden. As the very first error that you are seeing is being reported by VPE for wrong data-type. Can you please debug on this front? Regards, Sujith + +Hi Sujith, Thank you for suggest. It is deep in TI component driver. I have unclear how to debug. In fact, I have TDA2x and AR0132 headboard. May I suggest you try stream AR0132 on TDA2x? What do you think? regards cheepeng + +Hi Cheepeng, I don't have AR0132 board with me to try it out. Another method would be to hardcode the data-type in Capture Link itself. I will send you the details in few minutes. Regards, Sujith + +Please try In file \vision_sdk\links_fw\src\rtos\links_ipu\iss_capture\issCaptureLink_drv.c and function IssCaptureLink_drvCreate () Update pQueChInfo->flags = System_Link_Ch_Info_Set_Flag_Data_Format(pQueChInfo->flags, pObj->createArgs.outParams[chIdx].dataFormat); pQueChInfo->flags = System_Link_Ch_Info_Set_Flag_Data_Format(pQueChInfo->flags, SYSTEM_DF_YUV422I_UYVY); Regards, Sujith + +Dear Sujith, Still same result... [IPU1-0] 23.916031 s: CAPTURE: Create in progress !!! [IPU1-0] 23.916244 s: CAPTURE: VIP1 Slice0 PortA capture mode is [16-bit] !!! [IPU1-0] 24.075764 s: CAPTURE: Create Done !!! [IPU1-0] 24.077258 s: ALGORITHM: Create in progress (algId = 12) !!! [IPU1-0] 24.077441 s: Assertion @ Line: 308 in vpeSwMs/vpeSwMsLink_algPlugin.c: 0 : failed !!! [IPU1-0] 24.077899 s: Assertion @ Line: 308 in vpeSwMs/vpeSwMsLink_algPlugin.c: 0 : failed !!! + +Dear Sujith, Seems we stuck here, based on the TDA2x, there is "NO ISP on chip" so Can we say it is not possible for TDA2X to support camera module without ISP? Or otherwise we need to implement a software ISP on chip for it to work? Thanks and best regards He Wei + +Hi He Wei, Yes, you are right. TDA2Px/TDA3x comes in with built in ISP. Please check if these devices can meet your needs. Regards, Sujith + +Dear Sujith, Thanks for the confirmation, another question is if TI has the some kind daughter board like FPD-LINK III Deserializer board with integrated the ISP module? I am asking this question because we have few TDA2X boards on hand and need to find a way for it to work with our NIR raw camera.. Thanks and best regards He Wei + +Hi He Wei, I am not aware of any add-on board with this capability. What is expected from the ISP? Regards, Sujith + +Dear Sujith, The concern is that if the NIR camera with the raw data output can't support on TDA2x directly (seems we still didn't get it successfully after trying so far), we may need to have extra ISP to perform the raw data to YUV conversion first then we can use on TDA2x?? Thanks and best regards He Wei + +Hi He Wei, Yes, that correct on the ISP. We should be able to get the capture working though. Regards, Sujith + +Hi He Wei, Chee Peng, Is your query answered? Regards, Sujith + diff --git a/sample_embedding_folder2/0721564.txt b/sample_embedding_folder2/0721564.txt new file mode 100644 index 0000000000000000000000000000000000000000..4bf6a2377bd8d242abbd6c1f9250add2fd41ce6b --- /dev/null +++ b/sample_embedding_folder2/0721564.txt @@ -0,0 +1,26 @@ +Ticket Name: Linux/TDA2: Vision SDK 3.04 framework and examples build fail + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, I am trying to build frameworks and apps using vision sdk 3.04 version but its failing with below error: # Linking into /u/VISION_SDK_BUILD_03_04/vision_sdk/binaries/apps/tda2xx_evm_linux_all/vision_sdk/bin/tda2xx-evm/vision_sdk_ipu2_release.xem4... # # # /u/VISION_SDK_BUILD_03_04/vision_sdk/binaries/apps/tda2xx_evm_linux_all/vision_sdk/bin/tda2xx-evm/vision_sdk_ipu2_release.xem4 created. # ‘/u/VISION_SDK_BUILD_03_04/vision_sdk/binaries/apps/tda2xx_evm_linux_all/obj/vision_sdk/tda2xx-evm/ipu2/release/vision_sdk_configuro/osa_mem_map.h’ -> ‘/u/VISION_SDK_BUILD_03_04/vision_sdk/links_fw/src/hlos/osa/include/osa_mem_map.h’ dispDistSrcLink_tsk.c:81:45: fatal error: vdrm_controller/v_controller_if.h: No such file or directory compilation terminated. make[6]: *** [depend] Error 1 make[5]: *** [links_a15_dispDistSrc] Error 2 I have followed instruction provided with VisionSDK_linux_UserGuide.pdf and to branchout referred https://e2e.ti.com/support/arm/automotive_processors/f/1021/t/708731 Please help me regarding same. there had been some dts related errors too with Linux build which I solved by copying those files from earlier version but this perticular header file is still missing and I am not able to find it in what ever source is downloaded with me. BR, Alap~ + +Responses: +Hi Alap, Could you please confirm you downloaded the file system released with VSDK 3.4 release & using same to build tda2xx config ? Regards Surya + +Hi Surya, I have downloaded tisdk-rootfs-image-dra7xx-evm_vsdk_3_4.tar.xz from software-dl.ti.com/.../index_FDS.html Is it the same you are asking about? Also while building linux I faced issues with missing dts files which I copied from 3.02. Those are dra7-evm-infoadas.dts/dra7-evm-infoadas.dtb and dra7-evm-infoadas-lcd-lg.dtsi. by copying those files my linux build was through. But after that I am facing this issue in framework and examples build (make -s -j) BR, Alap + +Hi Alap, There is no need to copy dts file from old release (It is part of kernel, when you clone you will get it) Could you please share the commit IDs for kernel,u-boot & sgx ? Regards Surya + +Hi Surya, kernel oneline: 742f844 media: i2c: ov490: Force sensor phy reset by toggling MIPI-TX u-boot oneline: ac1d50f spl: dra7xx: early boot: Match timer configuration with dra7xx-infoadas DT sgx oneline: fd47e44 Revert "km: build: remove dependency on user-mode builds" BR, Alap + +Hi Alap, Looks like very old kernel & u-boot Follow the below steps 1. Remove omap folder under ti_components\os_tools\linux\kernel 2. Follow user guide to clone & checkout 3.4 rel tag 3. Remove u-boot folder under ti_components\os_tools\linux\u-boot 4. Follow user guide to clone & checkout 3.4 rel tag 5. Then try to do a clean build Regards Surya + +Hi Surya, Can you share me command to checkout the latest rel tag since, what ever commit list I have shared is after referring user guide to clone and post I have checked out using "git rebase origin/infoadas-on-psdkla3.04". BR, Alap~ + +Hi Alap, You can refer section 2.4.2.1.1 & 2.4.2.1.2 of VisionSDK_Linux_Userguide of 3.4 release However attaching the commands below Clone kernel $> cd $INSTALL_DIR/ti_components/os_tools/linux/kernel $> git clone git://git.ti.com/glsdk/infoadas-kernel.git omap $> cd omap/ $> git checkout -b kernel_dev tags/REL_VISION_SDK_03_04_00_00 Clone u-boot $> cd $INSTALL_DIR/ti_components/os_tools/linux/u-boot $> git clone git://git.ti.com/glsdk/infoadas-u-boot.git u-boot $> cd u-boot/ $> git checkout -b uboot_dev tags/REL_VISION_SDK_03_04_00_00 Regards Surya + +Hi Surya, There is no tag by name REL_VISION_SDK_03_04_00_00. I am getting error fatal: Cannot update paths and switch to branch 'uboot_dev' at the same time. Did you intend to checkout 'tags/REL_VISION_SDK_03_04_00_00' which can not be resolved as commit? Instead in omap directory I have below REL tags REL_VISION_SDK_03_01_00_00 REL_VISION_SDK_03_01_00_00_RC3 REL_VISION_SDK_03_02_00_00 REL_VISION_SDK_03_03_00_00 and in u-boot I have REL_VISION_SDK_03_01_00_00 REL_VISION_SDK_03_01_00_00_RC3 REL_VISION_SDK_03_02_00_00 BR, Alap~ + +Hi Alap, This is strange, I am able to see the release tag "REL_VISION_SDK_03_04_00_00" Could you please confirm did you remove the folders & clone again & then checkout ? or did you just fetch & rebase without cloning ? FYI, I tried both ways 1. clone & checkout: ----------------------------- I followed all the above steps mentioned earlier to clone & checkout & I am able to checkout release tag "REL_VISION_SDK_03_04_00_00" without any error 2. fetch & rebase without cloning --------------------------------------------- Fetch & Rebase using below command, I am able to checkout to latest git fetch (able to see the release tag) git rebase origin/infoadas-on-psdkla3.04 Regards Surya + +Hi Alap, Is there any progress on this issue ? Are you able to clone from vision sdk release tag for 3.4 release (REL_VISION_SDK_03_04_00_00) or not ? regards Surya + diff --git a/sample_embedding_folder2/0721909.txt b/sample_embedding_folder2/0721909.txt new file mode 100644 index 0000000000000000000000000000000000000000..e59dadbc2fe0ae42ff29f73f0952a1b5fd5816ce --- /dev/null +++ b/sample_embedding_folder2/0721909.txt @@ -0,0 +1,50 @@ +Ticket Name: Compiler/TDA2: vision sdk xdc_configure Error + +Query Text: +Part Number: TDA2 Tool/software: TI C/C++ Compiler Hi, I install vision sdk 3.4 and try to compile example from UserGuides for TDA2x. When i try compile gmake -s -j4, the compilation error is gmake[6]: *** [xdc_configuro] Error 1789. Previous steps was without any errors. I try do this on windows 10 and windows 7. # Compiling tda2xx-evm:ipu1_0:release:app_libs: c:/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/apps/src/rtos/common_srv/chains_lens.c # # Archiving tda2xx-evm:ipu1_0:release:app_libs # # # Archiving tda2xx-evm:ipu1_0:release:video_sensor_libs # # Invoking configuro... The trust reletionship between this workstation and the primary domain faild gmake[6]: *** [xdc_configuro] Error 1789 gmake[5]: *** [apps_eve1] Error 2 gmake[4]: *** [apps] Error 2 gmake[3]: *** [apps] Error 2 gmake[2]: *** [apps_exe] Error 2 gmake[1]: *** [apps] Error 2 gmake: *** [vision_sdk] Error 2 + +Responses: +Hi, Did you try to build without -j4? Regards, Rishabh + +Hi Danil Can you remove "-j" & try to build Regards Surya + +Hi, I did + +Yes, I did. + +Hi, I remove "-j4", and use next sequence: gmake -s clean, gmake -s depend, gmake -s. The result is the same. + +I itried use gmake without "-j". Result is same. + +Hi Danil, Can you share the log file. Regards, Rishabh + +Hi Rishabh, I don't understand what file I should share. I can't find anything that looks like log file. Could you help me? + +Hi Danil, You can redirect build output using command "make -s > build.log" and attach. Kindly make sure you do a clean build and run make -s depend before running above command. Regards, Rishabh + +Rishabh Garg said: Hi Danil, You can redirect build output using command "make -s > build.log" and attach. Kindly make sure you do a clean build and run make -s depend before running above command. Regards, Rishabh Hi Rishabh, I did as you said. I attach files for "gmake -s depend > dependBuild.log" and "gmake -s > Build.log" throw DropMeFiles, link https://dropmefiles.com/0DEEk . It was executed under windows 10. last in cmd gmake[6]: *** [xdc_configuro] Error 1789 gmake[5]: *** [apps_eve1] Error 2 gmake[4]: *** [apps] Error 2 gmake[3]: *** [apps] Error 2 gmake[2]: *** [apps_exe] Error 2 gmake[1]: *** [apps] Error 2 gmake: *** [vision_sdk] Error 2 + +Hi Rishabh, Could be any problems if my Windows system language is russian? When gmake > "Build.log" is used, the last logs was --------------------------------- # Invoking configuro... c:/PROCESSOR_SDK_VISION_03_04_00_00/ti_components/os_tools/windows/xdctools_3_32_01_22_core/bin/mkdir -p c:/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all CACLS c:/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/maketemp_configuro_cmd_arp32_1.bat /E /P ‚бҐ:F gmake[6]: Leaving directory `c:/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/links_fw/src/rtos/bios_app_common/tda2xx/eve1' gmake[5]: Leaving directory `c:/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/links_fw/src/rtos' gmake[4]: Leaving directory `c:/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/links_fw/src/rtos' gmake[3]: Leaving directory `c:/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/apps' gmake[2]: Leaving directory `c:/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/build' gmake[1]: Leaving directory `c:/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/build' -------------------------------- Where in command CACLS " ‚бҐ" is "Все" ("All" in english) in windows cmd prompt. If problem is in lenguage, how could I resolve it? I can't change system language + +Hi Danil, Can you attach the log to this thread. Please use "Insert code, attach file and more" option that you can see after clicking reply on this post. Regards, Rishabh + +The log file, it was executed under windows 7. 5700.Build.log + +Hi, I cannot see anything wrong from the log. Can you try changing the windows language. You can search internet on how to change windows language. Regards, Rishabh + +Hi Danil, Can you also check the gmake you are using. You need to make sure that you are using gmake from xdc tools. Regards, Rishabh + +Hi Rishabh, I'm sure that I'm using gmake from xdc tools. And unfortunately I can't change system language. So I install SDK on Ubuntu, it works without any problems. P.S. I found one more Windows 7 machine with Russian System language, and it works normal on this machine. So I havn't idea what it can be. + +Hi Danil, We also had one machine where we faced this exact issue. There issue was using a different gmake. Regards, Rishabh + +Hi Rishabh, In command promt shows next Is it all ok? + +Hi Danil, Path is ok. Can you try re-installation on the machine where build is not working. Regards, Rishabh + +Hi Rishabh, The re-installation doesn't help. + +Hi Danil, It is strange that you are able to build on one machine and not on the other. Can you check the PATH in both machines? Are you using same build environment (bash, command prompt, etc.)? Regards, Rishabh + +Hi Danil, Are you able to make any progress on this issue? If this issue is resolved can we close the thread. Regards, Rishabh + diff --git a/sample_embedding_folder2/0721962.txt b/sample_embedding_folder2/0721962.txt new file mode 100644 index 0000000000000000000000000000000000000000..be41d4fe0c224c8698235685dc6a3e594abffef7 --- /dev/null +++ b/sample_embedding_folder2/0721962.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: EVE/BAM/writing short int data back to external memory : + +Query Text: +Part Number: TDA2 I tried this but somewhere i missed things. But now its working. Thank you! Regards surbhi + +Responses: +Hi, surbhi kumari, It seems that this is an answer for I will close this unintentionally opened thread. Regards, Mariy + diff --git a/sample_embedding_folder2/0722222.txt b/sample_embedding_folder2/0722222.txt new file mode 100644 index 0000000000000000000000000000000000000000..031641c25556fe5ee17a57087409820f9c25170a --- /dev/null +++ b/sample_embedding_folder2/0722222.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: Why TIDL is NOT supported with Linux? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Team, Quick high-level question, why TIDL is NOT supported with Linux? Does it related to EDMA issue? + +Responses: +Hi, Please check below thread.. e2e.ti.com/.../702847 Thanks, Praveen + diff --git a/sample_embedding_folder2/0722329.txt b/sample_embedding_folder2/0722329.txt new file mode 100644 index 0000000000000000000000000000000000000000..0085c21856d8671f92838cd8611d6c0738474c7c --- /dev/null +++ b/sample_embedding_folder2/0722329.txt @@ -0,0 +1,18 @@ +Ticket Name: Linux/TDA2: How does dual core C66 parallel the same CNN? + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: TDA3MA Tool/software: Linux The development board I use now is TDA2X, and SDK uses SDK_VISION_03_02_00_00. But we're going to use TDA3MA, which has two C66 and one EVE, and I don't know how these three cores work together. I have four CNNs to implement, and my idea is that I make a C66 link in which I will implement three CNNs (two C66 in parallel) and build an EVE LINK and the last CNN to implement in EVE, right? Then a LINK uses a single C66 to implement a CNN I know how to do it, but how about two C66 processes a CNN in parallel? Is there a sample use dual core parallel processing a algorithm in SDK? + +Responses: +Hi, Refer below User guides of TIDL in VSDK, we had TIDL OD use case which uses multiple EVE cores and C66 for processing. 1. \vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_UserGuide_TI_DeepLearning.pdf \vision_sdk\vision_sdk\apps\src\rtos\usecases\tidl_OD\chains_tidlOD.jpg 2. \ti_components\algorithms\REL.TIDL.01.01.01.00\modules\ti_dl\docs\TIDeepLearningLibrary_UserGuide.pdf Thanks, Praveen + +Hi Praveen: in my sdk have ti_SDK_VISION_03_02_00_00\vision_sdk\apps\src\rtos\usecases\tidl no vision_sdk\vision_sdk\apps\src\rtos\usecases\tidl_OD tidl is tidl_OD the same ??? in tidl have chains_tidlEveTda3x.jpg use eve1 only + +in VisionSDK_UserGuide_TI_DeepLearning.pdf Entire input frame is processed on a single core and there are 2 processing pipelines which process the input frames alternatively: this mean the same frame is copy processed same time by DSP1 and DSP2 ,DSP1 is done cnn1 and cnn2 ? + +Hi, Please refer to latest VSDK release ti_SDK_VISION_03_04_00_00 , the mentioned use case is not there in the ti_SDK_VISION_03_02_00_00 release. Thanks, Praveen + +Hi:Praveen in VisionSDK_UserGuide_TI_DeepLearning.pdf Entire input frame is processed on a single core and there are 2 processing pipelines which process the input frames alternatively: this mean the same frame is copy processed same time by DSP1 and DSP2 ,DSP1 is done cnn1 and cnn2 ? Shuai + +Hi Shuai, Yes, your understanding is right. Thanks, Praveen + diff --git a/sample_embedding_folder2/0722389.txt b/sample_embedding_folder2/0722389.txt new file mode 100644 index 0000000000000000000000000000000000000000..8bc5b2f45d69402878c084e886e1972df86486a8 --- /dev/null +++ b/sample_embedding_folder2/0722389.txt @@ -0,0 +1,18 @@ +Ticket Name: Linux/TDA2: Linux OpenCV Canny no video out + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, SDK 3.04. Build tda2xx_evm_linux_opencx Compilation OK. Run Single camera usecase OV10635 1CH VIP capture and display to HDMI output. OK. No problem. But when run OpenCV Canny usecase got error and no video out. Any idea? [HOST] [HOST ] OpenCV Usecases [HOST] [HOST ] ---------------------------- [HOST] [HOST ] 1: 1CH VIP capture + OpenCV Canny (A15) + SGX Copy + DISPLAY [HOST] [HOST ] 2: 1CH VIP capture + OpenCV OpenCL Dilation (A15 + DSP) + SGX Copy + DISPLAY [HOST] [HOST ] [HOST] [HOST ] x: Exit [HOST] [HOST ] [HOST] [HOST ] Enter Choice: [HOST] [HOST ] 1 [HOST] [HOST ] 73.112304 s: [HOST] [IPU2 ] 73.112487 s: CHAINS: Sensor create in progress [HOST] [IPU2 ] 73.113036 s: VIDEO_SENSOR: INST0 : I2C1 : I2C Addr = 0x30 [HOST] [IPU2 ] 73.210364 s: VIDEO_SENSOR: VIP 0: DRV ID 1203 (I2C ADDR 0x30): a635:0000:7fa2 [HOST] [IPU2 ] 73.210699 s: CHAINS: Sensor create ... DONE !!! [HOST] [IPU2 ] 73.217104 s: CAPTURE: Create in progress !!! [HOST] [IPU2 ] 73.217470 s: CAPTURE: VIP1 Slice0 PortA capture mode is [ 8-bit] !!! ASSERT (chains_vipSingleCamOpenCVCannySgxDisplay_priv.c|chains_vipSingleCamOpenCVCannySgxDisplay_Create|166) [HOST] [HOST ] 73.339931 s: IPC_IN_0 : Create in progress !!! [HOST] [HOST ] 73.340328 s: IPC_IN_0 : Create Done !!! [HOST] [HOST ] 73.340389 s: ALG: ERROR: No alg create function specified (algId = 5) !!! [HOST] [IPU2 ] 73.338894 s: CAPTURE: Create Done !!! [HOST] [IPU2 ] 73.339291 s: IPC_OUT_0 : Create in progress !!! [HOST] [IPU2 ] 73.339687 s: IPC_OUT_0 : Create Done !!! + +Responses: +Hi Chee Peng, Due to CMEM dependency, this issue is observed & same has been reported & documented in release note of VSDK 3.4 release ADASVISION-1894 : [TDA2xx Linux] OpenCL UC, Cmem initialization fails However if you don't have any dependency on Linux, then you can try BIOS config for openCV (working fine with 3.4 release) Otherwise you can try on old VSDK release (3.1 release) where it is working fine Regards Surya + +Hi Surya, May I have VSDK release 3.1 download link? Thank you very much regards chee peng + +I found vsdk 3.01. software-dl.ti.com/.../index_FDS.html I try first. thank you + +Hi Surya I tried VSDK 3.01 Strange, i can compile successful for tda2xx_evm_linux_all But compile fail for tda2xx_evm_linux_opencx Do you have any idea? Best regards Chee Peng cheepeng@ubuntu:~/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/build$ make -s -j # Invoking configuro... # Configuro done! # Making tda2xx-evm:ipu2:release:vision_sdk_lib... # Linking into /home/cheepeng/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencx/vision_sdk/bin/tda2xx-evm/vision_sdk_ipu2_release.xem4... # # # /home/cheepeng/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencx/vision_sdk/bin/tda2xx-evm/vision_sdk_ipu2_release.xem4 created. # ‘/home/cheepeng/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_opencx/obj/vision_sdk/tda2xx-evm/ipu2/release/vision_sdk_configuro/osa_mem_map.h’ -> ‘/home/cheepeng/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/links_fw/src/hlos/osa/include/osa_mem_map.h’ # system: tda2xx-evm: Compiling system_ipc.c # osa: tda2xx-evm: Compiling osa_mem.c # osa: tda2xx-evm: Compiling osa_remote_log_client.c # osa: tda2xx-evm: Compiling osa_remote_log_server.c # system: tda2xx-evm: Creating archive system.a # osa: tda2xx-evm: Creating archive osa.a In file included from /home/cheepeng/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/apps/src/include/chains_common_osal.h:86:0, from /home/cheepeng/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/apps/src/include/chains_common_surround_view.h:83, from /home/cheepeng/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/apps/src/hlos/common/chains_common.h:147, from /home/cheepeng/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/apps/src/hlos/adas/include/chains.h:101, from chains_vipSingleCamOpenCLFrameCopySgxDisplay.c:99: /home/cheepeng/PROCESSOR_SDK_VISION_03_01_00_00/vision_sdk/links_fw/src/hlos/system/system_priv_ipc.h:100:30: fatal error: ti/ipc/MultiProc.h: No such file or directory compilation terminated. + +Hi Chee Peng, Did you install all components with 3.1 release or not ? Could you please check "MultiProc.h" file is present in below folder or not ? ti_components\os_tools\ipc_3_45_00_00\packages\ti\ipc Regards Surya + +Hi Chee Peng, The issue "ASSERT (chains_vipSingleCamOpenCVCannySgxDisplay_priv.c|chains_vipSingleCamOpenCVCannySgxDisplay_Create|166)" has been resolved & will be available with next vision sdk release Regards Surya + diff --git a/sample_embedding_folder2/0722487.txt b/sample_embedding_folder2/0722487.txt new file mode 100644 index 0000000000000000000000000000000000000000..68e00cba98a5bc93d646bd7c20f9cea0340c1743 --- /dev/null +++ b/sample_embedding_folder2/0722487.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: About reading XML file + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Sir We used VisionSDk RTOS version for development on TDA2. Do you know how to read xml file by using application program ? thanks BR Yimin + +Responses: +Hi, Vision SDK support normal file read or write operation and you can open any file using that. Please check the below file for the supported apis vision_sdk\links_fw\src\rtos\utils_common\src\file_api.c Regards, Anuj + diff --git a/sample_embedding_folder2/0722617.txt b/sample_embedding_folder2/0722617.txt new file mode 100644 index 0000000000000000000000000000000000000000..4bf94f05400a647b191440857adf3178ba74c7a0 --- /dev/null +++ b/sample_embedding_folder2/0722617.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2P-ACD: GMAC_SW + +Query Text: +Part Number: TDA2P-ACD Other Parts Discussed in Thread: TDA2 Tool/software: Linux Hi Team, Can you please answer the following question, is it in general possible to configure the 3—Port GMAC_SW, that the data can be routed directly between port1 to port2? If yes, does this produce any CPU load? Thanks, Needhu + +Responses: +Yes the TDA2x supports a full featured L2 switch and it is possible to switch frame directly between external port1 and port2. The switching is done in hardware and does not cause any CPU load. Refer TDA2 TRM Gigabit Ethernet Switch section ,specifially Address Lookup Engine subsection section for understanding switch functionality + diff --git a/sample_embedding_folder2/0722643.txt b/sample_embedding_folder2/0722643.txt new file mode 100644 index 0000000000000000000000000000000000000000..1239cff317bd74acaa33cd8f8cbeea1b0fa474e3 --- /dev/null +++ b/sample_embedding_folder2/0722643.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: Can camera data input pins be changed from D2~D9 to D0 ~D7 with UB913/UB914 ? + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi Sir, I am using TDA2x CPU board + Vision Board + daughter board + OV1652x sensor and SDK is PROCESSOR_SDK_VISION_03_03_00_00 with TDA2XX_EVM_LINUX_ALL define. I changed the sensor from "OV1653x" to "AR0140+AP0102", then I add a new driver to initial the new sensor. Using the Muti-cam -< surround view use-case, I can see the camera image on monitor, but the color is wrong, all image is close to green color. I checked the schematic of OV10635 sensor board and found that the data pins are connecting to UB913 D2 ~ D9. My design for AR0140+AP0102 is connected D0 ~ D7, I am not sure if that's the reason cause the image shows green. My I set the VIP port input pins form D2 ~ D9 to D0 ~ D7 ? + +Responses: +Hi User, Please note that there is board mux between sensor and vip port, which shifts data lines by 2 bits. If you have direct connect, you need to disable this shifting in the board mux. Regards, Brijesh + +Hi Brijesh, I change the sensor data output form 8 bits to 10 bits format and the problem is solved. By the way, how to disable the data shifting of board mux. Thanks. Ranny. + +Hi Ranny, There is a CPLD between sensor and VIP, we will have to change CPLD firmware to remove this shifting.. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0722652.txt b/sample_embedding_folder2/0722652.txt new file mode 100644 index 0000000000000000000000000000000000000000..d765a5690fabbe453962713c1019fa6f9e823eff --- /dev/null +++ b/sample_embedding_folder2/0722652.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: Where is the image data memory location of camera source? + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi Sir, I am using TDA2x CPU board + Vision Board + daughter board + OV1652x sensor and SDK is PROCESSOR_SDK_VISION_03_03_00_00 with TDA2XX_EVM_LINUX_ALL define. I want to do some image change, but I didn't find the image data buffer for OV16530 image source. I use surround view use-case, there should be 4 image memory locate address? My you tell me which code structure is recoding image buffer address or which document descripts this part ? Thanks. Ranny. + +Responses: +Hi Ranny, What exactly do you want to change in the image buffers? The buffers are allocated in the capture VIP link and passed across links.. You could get the addresses of these buffers from the capture link. But if you would like to perform some image processing, then i would suggest you write alg plugin and process the images in your alg plugin. You could refer to frame copy alg plugin and write a new one for your algorithm. Rgds, Brijesh + +Hi Sir, Thank you for reply. because of the sensor data passes through the Vision board to CPU board, I want to make sure the data in image buffer is corrected that same as I expect format from image sensor. I already checked the buffer and the image data has no problem, I will use the plugin rule to add the algorithm process next step. Thank you. Ranny. + +ok thanks for the update. + diff --git a/sample_embedding_folder2/0722794.txt b/sample_embedding_folder2/0722794.txt new file mode 100644 index 0000000000000000000000000000000000000000..7c49fcfb833585af8531bc69e0fdc99251880fef --- /dev/null +++ b/sample_embedding_folder2/0722794.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2EVM5777: Does the board support fusion of camera data and radar data? + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 1,the EVM of the camera data access is through the Vision application Board Fpd_link access and then incoming CPU Board? 2, laser radar is generally ETH interface, can directly through the CPU board two Gbit ETH interface access it? 3, Vision Application board can interface is what to do? Can I use it for ultrasonic radar/millimeter-wave data access? 4, CPU Borad of the 2 Dcan interface can only be used to receive headers? Do you support the output of vehicle control information? + +Responses: +I am not sure I understood all your questions. Kindly help me understand the system: 1. What is the camera interface you are trying to use FPD Link --> VIP? 2. I understand Lidar is via Ethernet. So it is possible to use the TDA2 EVM 3. For Ultra-sonic and Radar what is the interface you are looking at? 4. CAN interface can be used for both input and output . Thanks and Regards, Piyali + +1.is the VIP an abbreviation for Video Input Port? 3.For Ultra-sonic and Radar what is the interface you are looking at?------CAN + +Yes.. the VIP is Video Input port. The TDA2xx EVM support 2 can interfaces. On the DCAN1 there is an on-board transciever. On the DCAN2 interface you would need to connect an external tranciever. Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0722848.txt b/sample_embedding_folder2/0722848.txt new file mode 100644 index 0000000000000000000000000000000000000000..3461ab9997ef91becc5d926566c36dd551a37e15 --- /dev/null +++ b/sample_embedding_folder2/0722848.txt @@ -0,0 +1,12 @@ +Ticket Name: RTOS/TDA2: TDA2xx use 964 deserializers? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Dear All, I have TDA2xx & 933 camera. How to use 933 serializers camera in TDA2xx? have any deserializers 964 board to TDA2xx? + +Responses: +Hi, This serializer is not validated on TDA2x. Also UB964 cannot be used on TDA2x, as TDA2x does not support CSI input. Rgds, Brijesh + +Hi Brijesh, thank you, i have one more question. can the deserializers 914 link serializers 933 or not? + +Hi Owen, At least 933 specs does not mention support for 914, so it does not look like possible. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0723082.txt b/sample_embedding_folder2/0723082.txt new file mode 100644 index 0000000000000000000000000000000000000000..583f687eff9e55d3afd44762b3efb958003e423f --- /dev/null +++ b/sample_embedding_folder2/0723082.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: Import Vision SDK to Visual Studio + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, Is there any way import vision sdk to Visual Studio for linux app development use interprocess communication intarfaces? + +Responses: +Hi, Nobody has tried or tested such feature. And TI also does not support importing VSDK to Visual Studio. Regards, Anuj + diff --git a/sample_embedding_folder2/0723263.txt b/sample_embedding_folder2/0723263.txt new file mode 100644 index 0000000000000000000000000000000000000000..6b1daa5c95e556020807c2c84615d7b1c6493363 --- /dev/null +++ b/sample_embedding_folder2/0723263.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: run the user cnn model with TIDL on tda2x + +Query Text: +Part Number: TDA2 hi, dear Now although I bought serveral tda2x boards, I have only got part service from the TI tech support in Shanghai of China. I could not get the source code of TIDL. So if I want to run my improved cnn model , I can only run it on the tda2x board not on PC simulator. I have imported the cnn model to the bin format which is suitable for TIDL. Yet the input data need to be resize to 368 X 368,and I should resize it by myself( It has to be the TI method to resize). Even worse, the configuration file (only seg , ssd detection included)on the tda2x board looks like that below: TIDL Configuration parameters ----------------------------- ################################################################################ IMP: Make sure the size of the file names (excluding extension) is not more than 8 characters. ################################################################################ inputWidth=1024 inputHeight=512 inputFile=IN.RGB outputFile=OUT.BIN netFileName=NET.BIN paramFileName=PRM.BIN My cnn net is not for detection or classifcation, but pose recognition. I do not know if I can use this demo cfg file to run my cnn model successfully on the tda2x. If not , could you please be kind enough to offer me new cfg file or make some change for me to run? tks, looking forward to your reply. + +Responses: +Hi, It looks like duplicate thread to below thread, hence closing this thread e2e.ti.com/.../723315 Thanks, Praveen + diff --git a/sample_embedding_folder2/0723315.txt b/sample_embedding_folder2/0723315.txt new file mode 100644 index 0000000000000000000000000000000000000000..04be33231845d55a363e6e84c446a3ca4cebee13 --- /dev/null +++ b/sample_embedding_folder2/0723315.txt @@ -0,0 +1,22 @@ +Ticket Name: TDA2: run the user cnn model with TIDL on tda2x + +Query Text: +Part Number: TDA2 hi, dear Now although I bought serveral tda2x boards, I have only got part service from the TI tech support in Shanghai of China. I could not get the source code of TIDL. So if I want to run my improved cnn model , I can only run it on the tda2x board not on PC simulator. I have imported the cnn model to the bin format which is suitable for TIDL. Yet the input data need to be resize to 368 X 368,and I should resize it by myself( It has to be the TI method to resize). Even worse, the configuration file (only seg , ssd detection included)on the tda2x board looks like that below: TIDL Configuration parameters ----------------------------- ################################################################################ IMP: Make sure the size of the file names (excluding extension) is not more than 8 characters. ################################################################################ inputWidth=1024 inputHeight=512 inputFile=IN.RGB outputFile=OUT.BIN netFileName=NET.BIN paramFileName=PRM.BIN My cnn net is not for detection or classifcation, but pose recognition. I do not know if I can use this demo cfg file to run my cnn model successfully on the tda2x. If not , could you please be kind enough to offer me new cfg file or make some change for me to run? I mean could you offer me a new in_Data_OD and in_header_OD sized 368 x 368 for my pose recognitation? I will replace the bin to run the video demo. tks, looking forward to your reply. + +Responses: +Hi, Did you check below thread where we explained how to run TIDL OD use cases? e2e.ti.com/.../689617 Thanks, Praveen + +MY TIDL OD use cases ran sucessfully. Yet the new usr model not validated which is for pose recognition require the input image size 368 X368, we couldnot get the input data in the vision sdk with this size. And could you think of a method to change the OD demo cfg file to run my pose model recognition demo? + +Please refer below thread for generating indata and inHeader e2e.ti.com/.../687481 Thanks, Praveen + +In fact, in my case only, if I use this case called "chanis_tidl – File IO based use case to validate user model ", it is better to bring up? If so, could you offer me some tips for changing this demo to my own pose mode recog demo?This case is similar to my pose reg demo, and I want to test the performance of the mode only, not for accuracy which maybe need only one image like in.RGB, right? And how to translate my jpg image to the in.RGB format? Good luck, tks! + +Beside these facts above, the output of my pose model is not the limited classification but arbitrarily float32 value. So from the link that you offer me before, I do not know if it will work successfully by just commenting the classfications.(this Line : tempoutPutList->objDesc[tempoutPutList->numObjects].objType = (label - 1); need to be changed to " (label - 1)%3 ") Any other change should be made? + +Hi, We answered this in below thread, e2e.ti.com/.../723674 No need to create multiple threads for the same topic, we can discuss and follow up in the same thread. Thanks, Praveen + +What about the semseg usecase of TIDL? How to generate the indata and inHeader for semseg case? + +Hi, Please refer to below thread for generating indata and inHeader for TIDL use case, e2e.ti.com/.../660676 Thanks, Praveen + diff --git a/sample_embedding_folder2/0723410.txt b/sample_embedding_folder2/0723410.txt new file mode 100644 index 0000000000000000000000000000000000000000..d006a0b17f3a86476c7de261b7e461af1e101bd5 --- /dev/null +++ b/sample_embedding_folder2/0723410.txt @@ -0,0 +1,59 @@ +Ticket Name: RTOS/TDA2P-ACD: Changing IP address of TDA2P in Runtime + +Query Text: +Part Number: TDA2P-ACD Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS Hello All, Is there a way to change the IP address of EVM in Vision SDK 03.03. We want to change the IP address for testing NulSrc + Display Usecase. We do not want to set the IP address everytime in NDK.cfg file. We want user to input the IP from usecase menu. Is it possible to achieve this ? Thanks, Abhay + +Responses: +Hi Abhay, First off you will need your app to start off with no ip address. In your *.cfg file do you have the following line? Global.enableCodeGeneration = false; Based on your answer it will change what we need to do next. Regards, Dalton + +Hi Dalton, Thanks for your reply. I searched for "Global.enableCodeGeneration" in my "NDK.cfg" file at "\links_fw\src\rtos\bios_app_common\tda2px\cfg\NDK_config.cfg". This line is not present in this file. Regards, Abhay + +Hi Abhay, Okay that's great. You can then go ahead and add the following line to your *.cfg file: Ip.address = "none"; This will setup the app to neither use DHCP or a static ip address on startup. With this setup you can create a C function in your app to setup an IP address. The function would look like this: /* Static IP Address settings */ +char *LocalIPAddr = "192.168.1.4"; +char *LocalIPMask = "255.255.255.0"; +char *GatewayIP = "192.168.1.1"; +char *DomainName = "demo.net"; + +void changeIP() +{ + /* Configure IP address manually on interface 1 */ + CI_IPNET NA; + CI_ROUTE RT; + /* Setup manual IP address */ + memset(&NA, 0, sizeof(NA)); + NA.IPAddr = inet_addr(LocalIPAddr); + NA.IPMask = inet_addr(LocalIPMask); + strcpy(NA.Domain, DomainName); + NA.NetType = 0; + + CfgAddEntry(0, CFGTAG_IPNET, 1, 0, + sizeof(CI_IPNET), (unsigned char *)&NA, 0); + + /* + * Add the default gateway. Since it is the default, the + * destination address and mask are both zero (we go ahead + * and show the assignment for clarity). + */ + memset(&RT, 0, sizeof(RT)); + RT.IPDestAddr = 0; + RT.IPDestMask = 0; + RT.IPGateAddr = inet_addr(GatewayIP); + + CfgAddEntry(0, CFGTAG_ROUTE, 0, 0, + sizeof(CI_ROUTE), (unsigned char *)&RT, 0); +} The IP address does not need to be global, I just wrote it that way for illustrative purposes. I'm not familiar with how Display Usecase works, but I'm guessing you could have it call this C function? Regards, Dalton + +Hi Dalton, I have now added the similar function in my code which I call from the usecase menu of Vision SDK. But while compiling I get following linking errors, " undefined first referenced symbol in file --------- ---------------- CfgAddEntry /home/abhay/FFC/source/vision/platform/ti/tda2/binaries/apps/tda2px_evm_bios_all/lib/tda2px-evm/ipu1_0/debug/app_libs.aem4 inet_addr /home/abhay/FFC/source/vision/platform/ti/tda2/binaries/apps/tda2px_evm_bios_all/lib/tda2px-evm/ipu1_0/debug/app_libs.aem4 " One thing I want to mention, I have set "NDK_PROC_TO_USE=a15_0" in our configuration file. Regards, Abhay + +Hi Abhay, My apologies, I didn't tell you what includes you will need for this. The inet_addr function needs the following include: #include Another one that would work would be this include: #include However, netmain.h essentially brings the whole ndk world in with it, so that might be a bit overkill. As for the "NDK_PROC_TO_USE" setting, that shouldn't impact what we are doing here. Regards, Dalton + +Can I mark this as closed? Todd + +Hi Dalton, I included both the headers but still getting the same linking error as above. Regards, Abhay + +Todd I am not able to fix this yet. Regards, Abhay + +Hi Abhay, Can you upload your full verbose build output when you get these linker errors? If a linker.cmd file is being generated can you upload that as well? Regards, Dalton + +Hi Dalton, We were able to fix the linking issue as well as we are able to set IP address to our TDA2P in runtime. As we are using NDK on A15 core, we need to compile the function given by you on A15 core itself. Also went through the linker.cmd file for both A15 and IPU cores, and we could see that paths for NDK were set in the A15's linker.cmd file. Thanks for your help. I will close this thread. Regards, Abhay + diff --git a/sample_embedding_folder2/0723674.txt b/sample_embedding_folder2/0723674.txt new file mode 100644 index 0000000000000000000000000000000000000000..92f5fa889fc90541c70496e9db6ac3a55547a158 --- /dev/null +++ b/sample_embedding_folder2/0723674.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: How to run pose model based TIDL SEG use case in Vision SDK with pre-trained model + +Query Text: +Part Number: TDA2 hi, dear 1, Is there any tips about changing the seg configuration files to run user model like my pose reg model? 2, Beside these facts above, the output of my pose model is not the limited classification but arbitrarily float32 value. So from the link that you offer me before, I do not know if it will work successfully by just commenting the classfications.(this Line : tempoutPutList->objDesc[tempoutPutList->numObjects].objType = (label - 1); need to be changed to " (label - 1)%3 ") Any other change should be made? 3,In fact, in my case only, if I use this case called "chanis_tidl – File IO based use case to validate user model ", it is better to bring up? If so, could you offer me some tips for changing this demo to my own pose mode recog demo?This case is similar to my pose reg demo, and I want to test the performance of the mode only, not for accuracy which maybe need only one image like in.RGB, right? And how to translate my jpg image to the in.RGB format? Good luck, tks! + +Responses: +Hi, 1. I will check and come back on this. 2. Line : tempoutPutList->objDesc[tempoutPutList->numObjects].objType = (label - 1)%3; This modulo 3 is because, currently VSDK supports only four colour codes for display. This means it can display all the 21 objects but can use only 4 colours as below, Class 0, 4 , 8... uses first colour Class 1, 5, 9... uses second colour Class 2, 6, 10..uses third colour Class 3, 7, 11... uses the fourth colour coding. 3. I recommend standalone setup (using CCS and TIDL .out file) to validate your model first, once you confirm that it is working on standalone then you can run it on VSDK use case. Thanks, Praveen + +Tks for sharing. 1. The key point that I care is which file contains the line “tempoutPutList->objDesc[tempoutPutList->numObjects].objType = (label - 1)%3”? 2. I think running on the ccs with the simulator may be useful and convenient to validate, yet I said many times, I can not get the source code of TIDL from the representative in shanghai. If I have not got that code, could I just use the limited tools for debugging on CCS? I had better get the source code for building the tools and debugging on CCS ? Right? + +1. File location is shared in this thread e2e.ti.com/.../723749 2. For running on the ccs with the simulator and validation, source code may not required. It may be required if you want to add new layers and debugging. Thanks, Praveen + diff --git a/sample_embedding_folder2/0723744.txt b/sample_embedding_folder2/0723744.txt new file mode 100644 index 0000000000000000000000000000000000000000..59d7e36176c12e1159533bebf469d0ad1e38a306 --- /dev/null +++ b/sample_embedding_folder2/0723744.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2: why are there errors for "make linux" ? + +Query Text: +Part Number: TDA2 Tool/software: Linux I have got exactly the same questions. + +Responses: +Hi, Could you please share the logs ? What all errors are you getting? Regards Surya + +liugan@localhost:~/work/vsdk/vision_sdk/build$ make kernel make -C ./hlos/makerules/linux -f build_kernel.mk kernel make[1]: 正在进入目录 `/home/liugan/work/vsdk/vision_sdk/build/hlos/makerules/linux' cd /home/liugan/work/vsdk/vision_sdk/../ti_components/os_tools/linux/kernel/omap ;\ ./ti_config_fragments/defconfig_builder.sh -t ti_sdk_dra7x_release Creating defconfig file /home/liugan/work/vsdk/ti_components/os_tools/linux/kernel/omap/arch/arm/configs/ti_sdk_dra7x_release_defconfig cd /home/liugan/work/vsdk/vision_sdk ;\ make -C /home/liugan/work/vsdk/vision_sdk/../ti_components/os_tools/linux/kernel/omap ARCH=arm ti_sdk_dra7x_release_defconfig make[2]: 正在进入目录 `/home/liugan/work/vsdk/ti_components/os_tools/linux/kernel/omap' # # configuration written to .config # make[2]:正在离开目录 `/home/liugan/work/vsdk/ti_components/os_tools/linux/kernel/omap' make -fbuild_kernel.mk dtb make[2]: 正在进入目录 `/home/liugan/work/vsdk/vision_sdk/build/hlos/makerules/linux' make -fbuild_kernel.mk kernel_build KERNEL_TARGET="dra7-evm-infoadas.dtb dra7-evm-infoadas-lcd-lg.dtb" make[3]: 正在进入目录 `/home/liugan/work/vsdk/vision_sdk/build/hlos/makerules/linux' make -C /home/liugan/work/vsdk/vision_sdk/../ti_components/os_tools/linux/kernel/omap ARCH=arm CROSS_COMPILE=/home/liugan/work/vsdk/ti_components/os_tools/linux/linaro/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- dra7-evm-infoadas.dtb dra7-evm-infoadas-lcd-lg.dtb make[4]: 正在进入目录 `/home/liugan/work/vsdk/ti_components/os_tools/linux/kernel/omap' scripts/kconfig/conf --silentoldconfig Kconfig make[4]:正在离开目录 `/home/liugan/work/vsdk/ti_components/os_tools/linux/kernel/omap' make[4]: 正在进入目录 `/home/liugan/work/vsdk/ti_components/os_tools/linux/kernel/omap' DTC arch/arm/boot/dts/dra7-evm-infoadas.dtb In file included from arch/arm/boot/dts/dra74x.dtsi:10:0, from arch/arm/boot/dts/dra7-evm.dts:10, from arch/arm/boot/dts/dra7-evm-infoadas.dts:8: arch/arm/boot/dts/dra7.dtsi:10:54: fatal error: dt-bindings/interrupt-controller/arm-gic.h: No such file or directory compilation terminated. make[5]: *** [arch/arm/boot/dts/dra7-evm-infoadas.dtb] 错误 1 make[4]: *** [dra7-evm-infoadas.dtb] 错误 2 make[4]:正在离开目录 `/home/liugan/work/vsdk/ti_components/os_tools/linux/kernel/omap' make[3]: *** [kernel_build] 错误 2 make[3]:正在离开目录 `/home/liugan/work/vsdk/vision_sdk/build/hlos/makerules/linux' make[2]: *** [dtb] 错误 2 make[2]:正在离开目录 `/home/liugan/work/vsdk/vision_sdk/build/hlos/makerules/linux' make[1]: *** [kernel] 错误 2 make[1]:正在离开目录 `/home/liugan/work/vsdk/vision_sdk/build/hlos/makerules/linux' make: *** [kernel] 错误 2 liugan@localhost:~/work/vsdk/vision_sdk/build$ And then i try to fix above errors following the original question post: modify omap/scripts/Makefile.lib to : dtc_cpp_flags = -Wp,-MD,$(depfile).pre.tmp -nostdinc \ + -I$(srctree)/include \ -I$(srctree)/arch/$(SRCARCH)/boot/dts \ -I$(srctree)/arch/$(SRCARCH)/boot/dts/include \ -I$(srctree)/drivers/of/testcase-data \ also i get another question just as the original post: liugan@localhost:~/work/vsdk/vision_sdk/build$ make kernel make -C ./hlos/makerules/linux -f build_kernel.mk kernel make[1]: 正在进入目录 `/home/liugan/work/vsdk/vision_sdk/build/hlos/makerules/linux' cd /home/liugan/work/vsdk/vision_sdk/../ti_components/os_tools/linux/kernel/omap ;\ ./ti_config_fragments/defconfig_builder.sh -t ti_sdk_dra7x_release Creating defconfig file /home/liugan/work/vsdk/ti_components/os_tools/linux/kernel/omap/arch/arm/configs/ti_sdk_dra7x_release_defconfig cd /home/liugan/work/vsdk/vision_sdk ;\ make -C /home/liugan/work/vsdk/vision_sdk/../ti_components/os_tools/linux/kernel/omap ARCH=arm ti_sdk_dra7x_release_defconfig make[2]: 正在进入目录 `/home/liugan/work/vsdk/ti_components/os_tools/linux/kernel/omap' # # configuration written to .config # make[2]:正在离开目录 `/home/liugan/work/vsdk/ti_components/os_tools/linux/kernel/omap' make -fbuild_kernel.mk dtb make[2]: 正在进入目录 `/home/liugan/work/vsdk/vision_sdk/build/hlos/makerules/linux' make -fbuild_kernel.mk kernel_build KERNEL_TARGET="dra7-evm-infoadas.dtb dra7-evm-infoadas-lcd-lg.dtb" make[3]: 正在进入目录 `/home/liugan/work/vsdk/vision_sdk/build/hlos/makerules/linux' make -C /home/liugan/work/vsdk/vision_sdk/../ti_components/os_tools/linux/kernel/omap ARCH=arm CROSS_COMPILE=/home/liugan/work/vsdk/ti_components/os_tools/linux/linaro/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- dra7-evm-infoadas.dtb dra7-evm-infoadas-lcd-lg.dtb make[4]: 正在进入目录 `/home/liugan/work/vsdk/ti_components/os_tools/linux/kernel/omap' scripts/kconfig/conf --silentoldconfig Kconfig make[4]:正在离开目录 `/home/liugan/work/vsdk/ti_components/os_tools/linux/kernel/omap' make[4]: 正在进入目录 `/home/liugan/work/vsdk/ti_components/os_tools/linux/kernel/omap' DTC arch/arm/boot/dts/dra7-evm-infoadas.dtb Error: ./include/dt-bindings/input/linux-event-codes.h:1.1-3 syntax error FATAL ERROR: Unable to parse input tree make[5]: *** [arch/arm/boot/dts/dra7-evm-infoadas.dtb] 错误 1 make[4]: *** [dra7-evm-infoadas.dtb] 错误 2 make[4]:正在离开目录 `/home/liugan/work/vsdk/ti_components/os_tools/linux/kernel/omap' make[3]: *** [kernel_build] 错误 2 make[3]:正在离开目录 `/home/liugan/work/vsdk/vision_sdk/build/hlos/makerules/linux' make[2]: *** [dtb] 错误 2 make[2]:正在离开目录 `/home/liugan/work/vsdk/vision_sdk/build/hlos/makerules/linux' make[1]: *** [kernel] 错误 2 make[1]:正在离开目录 `/home/liugan/work/vsdk/vision_sdk/build/hlos/makerules/linux' make: *** [kernel] 错误 2 liugan@localhost:~/work/vsdk/vision_sdk/build$ so , i had to modify the file /include/dt-bindings/input/linux-event-codes.h as following: #include "../../uapi/linux/input-event-codes.h" finally the kernel was built successfully! + diff --git a/sample_embedding_folder2/0723749.txt b/sample_embedding_folder2/0723749.txt new file mode 100644 index 0000000000000000000000000000000000000000..6360e68f96294f4eb9a40f20a878d196a2d1dd9f --- /dev/null +++ b/sample_embedding_folder2/0723749.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: Usecase inputdata file(inData_OD) and usecase input header file(inHeader_OD) for object detection(Vision SDK_03.03.00.00) + +Query Text: +Part Number: TDA2 hi,dear Could you tell where is this line below ? which file? this Line : tempoutPutList->objDesc[tempoutPutList->numObjects].objType = (label - 1); need to be changed to " (label - 1)%3 " when use case had 4 Classes change to 21 classes ? Tks + +Responses: +Hi, Please change in below file vision_sdk\apps\src\rtos\alg_plugins\objectdetection\objectDrawLink_algPlugin.c Regards Surya + +Tks for sharing. I got the location with that line. And could you please show the location of the TIDL segmentation example ? + +All Vision sdk examples are available in below folder vision_sdk\apps\src\rtos\usecases For TIDL Semantic segmentation UC -> semSeg For TIDL OD UC -> tidl_OD For TIDL File IO UC -> tidl Regards Surya + diff --git a/sample_embedding_folder2/0723758.txt b/sample_embedding_folder2/0723758.txt new file mode 100644 index 0000000000000000000000000000000000000000..9d8cec461a052542f41dc51ec90150e27c1e7854 --- /dev/null +++ b/sample_embedding_folder2/0723758.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: user mode failing on tda2x with TIDL + +Query Text: +Part Number: TDA2 Hi,dear I changed the cfg and used my pose model with TIDL. My pose model is imported successfully by TIDI import tool. However when running on the tda2x board, it failed with logs below. And I snapshot the file where error occurs . Could you tell me what is wrong with my pose recog model? The output of my model is arbitrarily float32 value or int32 value. + +Responses: +And if I want to show the output of my pose model which is a value matrix? Is there any tools for writing these output to the file? + +Hi, You can refer to the overlay code (used for visualisation of segmentation output) in "AlgorithmLink_tidlpostprocProcess" function located in "apps\src\rtos\alg_plugins\tidl\tidlpostprocLink_algPlugin.c" file. Regarding the error from log, did you change anything in the config? If so please share config file and complete log for analysis? Thanks, Praveen + +Tks for your advice. 1. We should concern one key point , my cnn case is pose regcog which you can just consider it as some input image data going through the pose model then output one float32/int32 value 2d matrix. Note that it is different from any mature case in TIDL. So please evaluate the change. 2. I just replace the ssd para/net bin with my pose cnn model para/net bin . Also I replace the segmentation para/net bin with my cnn model. Nothing else has been changed. 3. The log file shows the error which is nearly the same. You can see the picture above which shows the dos command window. F.Y.I + diff --git a/sample_embedding_folder2/0723796.txt b/sample_embedding_folder2/0723796.txt new file mode 100644 index 0000000000000000000000000000000000000000..58fe5e71b6d7bdb96a9d7fd08ac2ece821941d5e --- /dev/null +++ b/sample_embedding_folder2/0723796.txt @@ -0,0 +1,18 @@ +Ticket Name: Linux/TDA2: Cannot EDMA transfer between OSA_memAllocSR() and aligned_alloc() allocated buffers + +Query Text: +Part Number: TDA2 Tool/software: Linux Hello, I'm using Processor SDK 3.03, building for custom board with TDA2 chip. So far I have successfully transferred data between two buffers allocated using OSA_memAllocSR() in a PSDK usecase. I did this by calling OSA_memVirt2Phys() to get physical addresses of those buffers and forwarded that information to an EDMA utility driver that I've written. Now, I need to transfer data between a buffer allocated with OSA_memAllocSR() and a buffer allocated with aligned_alloc() from POSIX. However, I don't know how to get physical address of the one allocated with aligned_alloc(). I would like to know how it could be done so that the EDMA transfer can work. Thank you in advance. Regards, Nick + +Responses: +Hi, What you're trying to achieve isn't possible through a simple aligned_alloc() call. The aligned_alloc call provides a scattered list, which isn't continous. You need a special allocator such as a CMA which provides a continuous memory region. Please refer this link for more information. lwn.net/.../ The reason OSA_memVirt2Phys() works is because the allocation happens from M4 where the physical to virtual address mapping is 1-1, but this isn't the case on Linux. If you intend to use EDMA from Linux, then you will need to use CMA for allocation. You also need a way to inteface your application with the EDMA driver (in vision-SDK EDMA is on M4). If you intend to use EDMA from M4, I would recommend allocating from SR and passing the buffer to M4. Regards Shravan + +Hi Shravan, Can you confirm that the CMA is integrated into the DMA subsystem of ARM in kernel 4.4.84 which is used in PSDK 3.03? If yes, then I suppose it is only a matter of allocating memory with dma_alloc_coherent(). Regards, Nick + +Hi Nick, Sorry about the delayed response, I was on leave. Yes you can use dma_alloc_coherent, and if the device is NULL / the device doesn't have a dedicated dma pool, it will allocate from CMA. You can then use this to program the EDMA (the call as such returns a virtual address, but one of the arguments passed contains the physical address). Regards Shravan + +Hi Shravan, I managed to use dma_alloc_coherent() and perform an EDMA transfer between that and the one allocated with OSA_memAllocSR() so that worked out great. The next problem that I'm having is that the buffer allocated with dma_alloc_coherent() cannot be written to a file on SSD opened with O_DIRECT flag. I have posted on a few Linux related forums since I don't think it is related to TI specifically any more but I have got no answers. Do you have any experience with this? I will post this as a new question if you have an answer. Looking forward to hearing from you. Regards, Nick + +Hi Nick, I don't think this is permitted since it security flaw to allow I/O on kernel pages mapped to user-space. There will have to be a copy into kernel space which can then be written through O_DIRECT. Regards Shravan + +Hi Shravan, We have tried to write to SSD directly from the dma_alloc_coherent() buffers from a kernel module but we have found that writing to disk from kernel space is not encouraged and is only available via certain hacks so we gave up on that. What I would like to know now is something else but I will make another thread and link it here if you would like to look at it, basically we would like to write to SSD directly from OSA_memAllocSR buffers (which is the original problem that drove us into this one) but more details on the thread. It can be found here: https://e2e.ti.com/support/arm/automotive_processors/f/1021/t/729926 Regards, Nick + diff --git a/sample_embedding_folder2/0723800.txt b/sample_embedding_folder2/0723800.txt new file mode 100644 index 0000000000000000000000000000000000000000..1738bacc38b8e46111f81de5b765daa2881dcea5 --- /dev/null +++ b/sample_embedding_folder2/0723800.txt @@ -0,0 +1,18 @@ +Ticket Name: Linux/TDA2: Saving video in SD card of TDA2xx + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi Everyone , I am working on a usecase which could save display videos on the SDcard in TDA2xx , I have created a usecase as below : Capture->VPE->Sync->SGXFramecopy->dup dup -> Display dup -> Encode -> Null We wanted to save video after framecopy block , we know that SGXframecopy output results to RGB32 data and also encode block supports only yuv data . I like to know the following things : 1) How can we save video data as mpeg / h264 data format in sdcard after framecopy directly. ? 2) If not , I like to know how to convert RGB32 data to YUV to give to encoder so that we can convert YUV to mpeg ? Regards, Surendar + +Responses: +Hi, If you want to save encoded data then do not use SGXFramecopy. Even sync is also not required. You can use below usecase Capture->VPE->dup dup-> Display Dup -> Encoder -> Null 1) How can we save video data as mpeg / h264 data format in sdcard after framecopy directly. ? Ans- Output of framecopy is not encoded so you will not be able to save data as mpeg / h264 data format in sdcard after framecopy directly Regards, Anuj + +Hi Anuj , We want to save the output of framecopy , kindly suggest me is there any way to save the video output of sgxframecopy. Is there any converter block ? . We are using 4 cameras , i like to save the video after stitching so I wanted to know whether it is possible or not Regards, Surendar + +Hi, You can save the data after sgxframecopy using Null link but that will be in SYSTEM_DF_ABGR32_8888 format. Regards, Anuj + +Hi Anuj , I understand that it will be in BGR format , is there any converter block to convert this to h264 /mpeg . I am not sure about this , Can we use any linux commands inside the usecase that will convert this data? . Regards , Surendar + +Hi Surendar You could DSS WB M2M to convert RGB to YUV format. Rgds, Brijesh + +Hi Anuj & Brijesh , It is working using DSS WB M2M block , we used following framework : Capture -> VPE -> Sync (A15) -> SgxFrmcpy (A15) -> Dup Dup -> DssM2mWb - > Encode -> Null (A15) Dup -> Display Now we can save video on sd card after framecopy . + diff --git a/sample_embedding_folder2/0723811.txt b/sample_embedding_folder2/0723811.txt new file mode 100644 index 0000000000000000000000000000000000000000..bc1bb79c222a0fe785e8e25e9b2ca972b3e65b50 --- /dev/null +++ b/sample_embedding_folder2/0723811.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: about vcop_sobel_xy + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi : in vcop_sobel_xy vcop_sobel_xy_tb.c have compared vcop_sobelXY_3x3_separable_uchar and vcop_sobelXY_3x3_separable_uchar_cn src of vcop_sobelXY_3x3_separable_uchar is a vector function (src_kernelC/vcop_sobel_xy_kernel.k) i canot finde the source code of vcop_sobelXY_3x3_separable_uchar_cn + +Responses: +Hi Shuai, The natural C code is released only in library form. For natural C source code you will need to get full source release of EVE SW. Regards, Anshu + diff --git a/sample_embedding_folder2/0723812.txt b/sample_embedding_folder2/0723812.txt new file mode 100644 index 0000000000000000000000000000000000000000..9344780ac78e45427d2445019e6ac485f86387f6 --- /dev/null +++ b/sample_embedding_folder2/0723812.txt @@ -0,0 +1,18 @@ +Ticket Name: TDA2: About File Reading issue + +Query Text: +Part Number: TDA2 Hi Sir We used Vision-SDK (RTOS) for TDA2 platform. we met below issue We use File_open() and File_mkdir() api and write them in vision_sdk\apps\src\rtos\common\chains_main_bios_single_cam.c. We can read the content of our file in the root of SDCARD. if we put this feature in the canny.cpp of usecases selections "OpenCV Canny (A15) + Display". It always returns 0. Does TI have any suggestion? or we miss some steps? BR Yimin + +Responses: +Hi SIr We ChainsCommon_Osal_fileOpen and File_open to open file. 1. In chains_main_bios_single_cam.c -> it works 2. in canny.cpp -> it failed Does it have any rule ? BR Yimin + +Hi Yimin, what exactly is the return value of File_open()? It should return -1 if file could not be opened, else file handle. Regards, Yordan + +Hi SIr Yes. the result is 01 when I use the api in canny.c file in Alg_OpenCVCanny stage. our final purpose is to read xml file by using cascadeClassifier of opencv. cv::CascadeClassifier face_det; status = face_det.load(std::string("file.xml")); please advise BR Yimin + +Hi SIr BTW , we found some issue in file_api.c in below definitation #if ( defined(FATFS_PROC_TO_USE_IPU1_0) && defined(BUILD_M4_0) ) || \ ( defined(FATFS_PROC_TO_USE_IPU1_1) && defined(BUILD_M4_1) ) || \ ( defined(FATFS_PROC_TO_USE_IPU2) && defined(BUILD_M4_2) ) || \ ( defined(FATFS_PROC_TO_USE_A15_0) && defined(BUILD_A15)) In alg stage (while running canny.cpp), we found that all of File_XXX were defined to return SYSTEM_LINK_STATUS_EFAIL in file_api.c. we have the question why we cannot use filesystem in this stage ? please advise BR Yimin + +Hi, What is value of FATFS_PROC_TO_USE is your cfg file and where are you running Alg_OpenCVCanny link? Regards, Anuj + +Hi, Is there any update on this thread? Regards, Anuj + diff --git a/sample_embedding_folder2/0723921.txt b/sample_embedding_folder2/0723921.txt new file mode 100644 index 0000000000000000000000000000000000000000..541b76c2d8fb4b01426ab3dfa807a6c5b2094875 --- /dev/null +++ b/sample_embedding_folder2/0723921.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: what does NDK_PROC_TO_USE mean? + +Query Text: +Part Number: TDA2 Hi, I'm new for SOCs and vision sdk, and often meet NDK_PROC_TO_USE (Supported values: ipu1_0 ipu1_1 a15_0 none) parameter. But I can't find its function and how it influence. Where should I find any information about NDK_PROC_TO_USE parameter? + +Responses: +Hi Danil, NDK_PROC_TO_USE selects the CPU on which NDK (Network Developer's Kit) runs. “none” means NDK is disabled. On TDA3x SoC due to pinmux conflict when MMCSD is enabled (FATFS_PROC_TO_USE != none) NDK is disabled automatically by build system. Recommended values, On TDA3x, ipu1_0 On TDA2x, TDA2Ex - BIOS ONLY mode and AVB is enabled, ipu1_1 - BIOS ONLY mode and AVB is disabled, a15_0 - Linux+BIOS mode and AVB is enabled, ipu2 - Linux+BIOS mode and AVB is disabled, none You can check VisionSDK_UserGuide_BuildSystem.pdf and VisionSDK_UserGuide_NetworkTools.pdf in VisionSDK docs folder for details. Regards, Yordan + diff --git a/sample_embedding_folder2/0724097.txt b/sample_embedding_folder2/0724097.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7b02226bf2405fb68bf5ebda84ad4b13784176f --- /dev/null +++ b/sample_embedding_folder2/0724097.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: cores parallel + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: TDA3MA Tool/software: Linux The development board I use now is TDA2X, and SDK uses SDK_VISION_03_02_00_00. But we're going to use TDA3MA, which has two C66 and one EVE . I have four CNNs to implement, and my idea is follow m4 link capture + dsp1 a c66 link (1cnn) +dsp2 a c66 link (1cnn) +eve1 a eve link (2cnn) +m4 link display i think like this 3 cores parallel but there processing on diffrent frame. right? can i do like this ? + +Responses: +Yes. You can do this. Provided, your CNN compute requirements are with in the MACs bugdets of DSP and EVE clocks. Please refer the TIDl datasheet for DSP and EVE CNN layer level performances. + diff --git a/sample_embedding_folder2/0724271.txt b/sample_embedding_folder2/0724271.txt new file mode 100644 index 0000000000000000000000000000000000000000..3f04159a862355129be4f056d992b5355b985e00 --- /dev/null +++ b/sample_embedding_folder2/0724271.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: A15 (Linux) EVE chain. How does it works? + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, I have read in manual that A15 can't get acsess directly to EVE cores, and using IPU is recomended to organize link to EVE. When I set chain from A15 to EVE, vision sdk (I use 3.4) automatically connect cores throw IPU or I should do this manually? And I have quenstion about EVE configuration under Linux. In manuals is next steps: 1. Get .xearp32F 2. Convert .xearp32F -> .h (bin to hex converter utility was used). It means convert binary to header file like for TI Logo is used in sample app? bin to hex converter utility was used is uncluded in vision sdk? 3. What finction I should call to load program to EVE from IPU? + +Responses: +Hello For "vision SDK Bios only" version EVE cores are handled same as any other cores like DSP or M4. With "vision SDK Linux" EVE loading and all inter processor communication between A15 and EVE are automatically taken care by EVE loader of VSDK, Its routed via IPU, Integreator/App need not to do anything special to address this. EVE firmware .xearp32F is embedded in IPU2 binary, yes, you are correct, SDK had tools to Convert .xearp32F -> .h (bin to hex converter utility used). you do not need to do anything special on IPU to program EVE, just port your Algos to EVE, create the UC on A15 as usual and build VSDK Linux, rest all are taken care in VSDK regards, Shiju + diff --git a/sample_embedding_folder2/0724529.txt b/sample_embedding_folder2/0724529.txt new file mode 100644 index 0000000000000000000000000000000000000000..c01aec723e6c71dffdebeb6d901a986205d7f177 --- /dev/null +++ b/sample_embedding_folder2/0724529.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: About 3D Surround View Issue + +Query Text: +Part Number: TDA2 Hi SIr We could preview 4 CHs camera streaming with our AR0140 sensor board on TV via HDMI by using TDA2 EVM with latest linux vision SDK. But we met a 3D surround view (SUR) issue which the stitched images are not acceptable after car rotated around. As the guide of “SurroundView_demo” described: Even though without calibration parameters on TDA2 board, SUR would stitches them together to provide a realistic image of the surroundings to the driver. It should be related to the camera calibration parameters. Do you have any suggestion what we should do in next step ? BR Yimin + +Responses: +Hi Yimin, I cannot provide any more feedback based on the input you have provided. We have tried surround-view on TDA2 board with multiple views and have not faced any issue. Can you provide some more details with images etc? REgards Shashank + diff --git a/sample_embedding_folder2/0724604.txt b/sample_embedding_folder2/0724604.txt new file mode 100644 index 0000000000000000000000000000000000000000..22276052af90fba67c020a5ee9c7b8943b3fda2b --- /dev/null +++ b/sample_embedding_folder2/0724604.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2: TDAx ADAS SOCs Forum + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Sir, We refer the ticket http://e2e.ti.com/support/arm/automotive_processors/f/1021/t/709147 to modify DVP data width to 12 bits (original are 8 bits). But HDMI output will get black screen, could you please check for us? We data flow as below: Please find attachment to get modify code. VIP receive 12 bits image.rar We upload real output record to YouTube as below: >> TDA2 receive 12bits YUV by AVNET suggestion : https://www.youtube.com/watch?v=ntxlkS3cra4 >> TDA2 receive 8bits YUV : https://www.youtube.com/watch?v=fk_aExrFOZk Many thanks. + +Responses: +Hi, Note that the display doesn't support 16-bit RAW input. Since we are programming 16-bit RAW video format to VIP, the input format to the display needs to be changed to YUV422. Also did you get any error message on the UART/CCS console? Regards Sivaraj R + +Hi Sivaraj, Thanks for your reply. We image sensor output format is YUV422 and DVP 12 bits. But TDA2 need separate two component to receive more than 8 bits data. (8 bits/component) Now we receive YUV422 frame by DVP 12 bits but we just see half frame from HDMI output. (Please refer before create ticket : e2e.ti.com/.../2656778 As i know VPS storage 12bits data seem like below: Component 1(data 0~7) : xxxxxxx Component 2(data 8~15) : 0000xxxx (12~15 zero pending ) but how to setting output 2 component data to HDMI? Have any use case or sample code can refer if we needs receive? + +Hi, Your understanding of 16 bit storage in memory by VIP is right. Did you dump the VIP frame to a file through CCS and then analyze the image is proper with external viewer? Note that the DSS supports only 8bit YUV data. So the 16-bit YUV should be first converted to 8-bit data. If you really need 12-bit input then, you need to convert this in CPU (DSP). If not then you can configure the VIP to receive only the MSB 8-bit data. Regards Sivaraj R + +Hi Sivaraj , Thanks for your reply. + diff --git a/sample_embedding_folder2/0724696.txt b/sample_embedding_folder2/0724696.txt new file mode 100644 index 0000000000000000000000000000000000000000..e0f4d9b1ba02ca43c18fc8560afb2603c61d6d09 --- /dev/null +++ b/sample_embedding_folder2/0724696.txt @@ -0,0 +1,14 @@ +Ticket Name: CCS/TDA2: how to get EVE cmd file + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio i make a new EVE project i copy this cmd file to my project ,but it no do (SDK_VISION_03_02_00_00\ti_components\algorithms\eve_sw_01_18_00_00\kernels\common\linker.cmd ) i am Success in c66 project i copy CMD from ti_SDK_VISION_03_02_00_00\ti_components\algorithms\vlib_c66x_3_3_0_3\packages\ti\vlib\src\common\c66 so what can i do ? + +Responses: +Hi Shuai, Can you explain what are you trying to do? What do you mean by success here? Are you seeing some build failures? Regards, Anshu + +Hi Anshu i have to run a algorithm ON eve. I have run it on C66 success now. i have not run EVE a go so i try to do a simple project 3*3 medfilter i think if this is success i can do my work! i found in SDK sample SDK_VISION_03_02_00_00\ti_components\algorithms\eve_sw_01_18_00_00\kernels\imgsiglib\Median_filter_col\src_kernelC eve code is in a .k file , if in my project have 5 kernels i have to make 5 .k file? or just 1 .k put them together? + +Hi Anshu cannot find reset_handler BESTWISHES! + +Shuai, You need to add boot_arp32.asm file to your build. This file is also located at SDK_VISION_03_02_00_00\ti_components\algorithms\eve_sw_01_18_00_00\kernels\common\boot_arp32.asm Regards, Anshu + diff --git a/sample_embedding_folder2/0724922.txt b/sample_embedding_folder2/0724922.txt new file mode 100644 index 0000000000000000000000000000000000000000..9d0e11488373897a9272ca9d76d3d8c34ad6c68f --- /dev/null +++ b/sample_embedding_folder2/0724922.txt @@ -0,0 +1,12 @@ +Ticket Name: CCS/TDA2: None of the currently selected products s...try using a pre-3.30 version of XDCtools. + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio i make a new eve project use this SDK_VISION_03_02_00_00\ti_components\algorithms\eve_sw_01_18_00_00\kernels\imgsiglib\vcop_median3x3 if i add testvecs\config this file in to the project, IDE tips it need the XDC tools , i sellect yes! then the project cannot compile. this is the probelm xdc.tools.configuro: Error: no target named: please use -t, -b, or --cb .xdchelp /eve_exmple1 line 52 C/C++ Problem None of the currently selected products s...try using a pre-3.30 version of XDCtools. in my v7 there are 2 xdctools ti_ccsv7\xdctools_3_32_02_25_core ti_ccsv7\xdctools_3_50_04_43_core + +Responses: +Shuai, What do you mean by "if i add testvecs\config this file in to the project". This folder contains various testcases config and none of the files inside it needs to be included in the build. These are only used when you try to execute the testcase. Regards, Anshu + +Hi Anshu IDE tips it need the XDC tools , i sellect no! then it is ok ! NOW ccs and vc both ok! thanks! shuai + +Hi Shuai, If your issue is resolved, can we close this thread? Regards, Anshu + diff --git a/sample_embedding_folder2/0724939.txt b/sample_embedding_folder2/0724939.txt new file mode 100644 index 0000000000000000000000000000000000000000..e78fa1f202c9709c81dbfd3a15018ebc50719e4f --- /dev/null +++ b/sample_embedding_folder2/0724939.txt @@ -0,0 +1,14 @@ +Ticket Name: CCS/TDA2: how can i do eve work in Visual Studio? + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio use c_intrinsics_host_port-0_91_00-Setup.exe i can emulation C66 code in Visual Studio. now i am do a eve project ,i am plan to do this in Visual Studio first then i have to move the code into CCS project and run it on the evm board! i make a new Visual Studio project and i put ti_ccsv7\ccsv7\tools\compiler\arp32_1.0.9\include\vcop\vcop.h in the project as many eve function is emulat is vcop.h #define VCOP_HOST_EMULATION 1. arp32.h and vcopmem.h also put in the project but complie have many problems in arp32.h vcop.h 179 IntelliSense: 未定义标识符 "VCOP_MEMVIEW" e:\ti6657\vc_program\eve_sample\eve_sample\vcop.h 2323 22 eve_sample 170 IntelliSense: 未定义标识符 "builtin" e:\ti6657\vc_program\eve_sample\eve_sample\arp32.h 108 14 eve_sample 153 IntelliSense: 不允许使用不完整的类型 e:\ti6657\vc_program\eve_sample\eve_sample\arp32.h 83 14 eve_sample 147 IntelliSense: 不允许使用不完整的类型 e:\ti6657\vc_program\eve_sample\eve_sample\arp32.h 73 14 eve_sample 错误 107 error C2374: “__attribute__”: 重定义;多次初始化 e:\ti6657\vc_program\eve_sample\eve_sample\arp32.h 82 1 eve_sample + +Responses: +Shuai, For visual studio build you only need to include vcop.h and define VCOP_HOST_EMUlATION in the build. EVE SW build system already supports host emulation build and you can use the following command ( after setting all the environment variables and visual studio environment variables) : gmake TARGET_PLATFORM=PC ( run this command from the top most directory of EVE SW). Regards, Anshu + + + +Hi Anshu I am no want to build all the eve SW . i make a new Visual Studio project , in this try to run median3x3. i move code in the Visual Studio project (ti_SDK_VISION_03_02_00_00\ti_components\algorithms\eve_sw_01_18_00_00\kernels\imgsiglib\vcop_median3x3) like the image upstairs post. + +Shuai, As mentioned earlier you need to define in your build VCOP_HOST_EMULATION = 1 for host emulation build. Regards, Anshu + diff --git a/sample_embedding_folder2/0725003.txt b/sample_embedding_folder2/0725003.txt new file mode 100644 index 0000000000000000000000000000000000000000..0dc6aaf4439d95a943048175c0c84d9544e1647d --- /dev/null +++ b/sample_embedding_folder2/0725003.txt @@ -0,0 +1,22 @@ +Ticket Name: Compiler/TDA2: gmake gmake[5]: *** No rule to make target `;'. Stop. + +Query Text: +Part Number: TDA2 Tool/software: TI C/C++ Compiler Dear TI, During the VSDK3.4 compile in RTOS windows mode, gmake give me this error: gmake[5]: Entering directory `D:/TI_VSDK_03_04/vision_sdk/links_fw/src/rtos/links_common/algorithm' gmake[5]: *** No rule to make target `;'. Stop. gmake[5]: Leaving directory `D:/TI_VSDK_03_04/vision_sdk/links_fw/src/rtos/links_common/algorithm' gmake[4]: *** [links_common_algorithm] Error 2 gmake[4]: Leaving directory `D:/TI_VSDK_03_04/vision_sdk/links_fw/src/rtos' gmake[3]: *** [libs] Error 2 gmake[3]: Leaving directory `D:/TI_VSDK_03_04/vision_sdk/links_fw/src/rtos' gmake[2]: *** [links_fw_libs] Error 2 gmake[2]: Leaving directory `D:/TI_VSDK_03_04/vision_sdk/build' gmake[1]: *** [apps] Error 2 gmake[1]: Leaving directory `D:/TI_VSDK_03_04/vision_sdk/build' gmake: *** [vision_sdk] Error 2 Actually it is working successfully before but failed to due to the above error. Can you advise how to debug on it? Thanks and best regards He Wei + +Responses: +Hi, He wei, I am not familiar with the SDK, but It seems that the problem is the same as described in: %20Error%202:1230:0] Please, also check the following threads: https://e2e.ti.com/support/arm/automotive_processors/f/1021/t/636297?tisearch=e2e-sitesearch&keymatch=No%20rule%20to%20make%20target%20`;%27.%20Stop. Regards, Mariya + +Hi, Can you check if you are using gmake from xdctools. Regards, Rishabh + +Dear Rishabh, yes. the path is correct: D:\TI_VSDK_03_04\vision_sdk\build>where gmake D:\TI_VSDK_03_04\ti_components\os_tools\windows\xdctools_3_32_01_22_core\gmake.exe + +Hi, Can you specify what all build commands you are running. Regards, Rishabh + +Dear Rishabh, I am using " gmake -s -j depend" cmd. In addition, I use the git bash too based on one thread information, it doesn't have this " *** No rule to make target `;'. Stop." error but got the "Permission" error. Thanks and best regards He Wei + +Hi, Can you try only "make -s depend". Also please share the permissions error you are getting. Regards, Rishabh + +Dear Rishabh, 1. In windows cmd, I still get same error when run "gmake -s depend". 2. It is ok now in git bash after running as admin. But Window cmd still got the issue. and don't what is the cause? Thanks and best regards He Wei + +Hi, Glad that the issue is resolved. Can you try running from command prompt in admin mode. Also are you trying a clean build when you are facing this issue? Regards, Rishabh + diff --git a/sample_embedding_folder2/0725117.txt b/sample_embedding_folder2/0725117.txt new file mode 100644 index 0000000000000000000000000000000000000000..1b59e9bc7e228f4d5089a808e40f53cbf19dd2d8 --- /dev/null +++ b/sample_embedding_folder2/0725117.txt @@ -0,0 +1,40 @@ +Ticket Name: CCS/TDA2: use of vcop_median3x3_kernel.c and vcop_median3x3_kernel.k + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio in SDK_VISION_03_02_00_00\ti_components\algorithms\eve_sw_01_18_00_00\kernels\imgsiglib\vcop_median3x3 have vcop_median3x3_kernel.c and vcop_median3x3_kernel.k what is the diffrent of them? + +Responses: +Shuai, vcop_median3x3_kernel.k is the actual kernel code which user write which can run on VCOP on the other hand vcop_median3x3_kernel.c is the compiler generated file which gets generated when you compile the kernel code with -kv option. This is an optional file and you need not generate it. You will only need to include vcop_median3x3_kernel.h file in your code and call the functions implemented in it for calling the VCOP code from ARP32. Please refer any of the kernel as part of EVESW repo to understand it. Regards, Anshu + +Hi Anshu Great ! i donot know you work daytime or night! you mean i just turn a c function to vcop_.k file (Using vector to implement C function) But in ccs project i use vcop_median3x3_kernel.k is failed! vcop_median3x3_kernel.c is OK. in vc project vcop_median3x3_kernel.k is ok. BESTWISHES shuai + +Shuai, Can you share the full log along with the compile options of what is failing when you compile vcop_median3x3_kernel.k Regards, anshu + +Hi anshu #if VCOP_HOST_EMULATION #include "../src_kernelC/vcop_median3x3_kernel.k" // kernel source #else #include "vcop_median3x3_kernel.h" #endif in ccs project use vcop_median3x3_kernel.k i move vcop_median3x3_kernel.h and vcop_median3x3_kernel.c then can not find vcop_median3x3_kernel.h. BESTWISHES shuai + +Can you share the compile option used when you compiled vcop_median3x3_kernel.k. It should have -kh option to generate the vcop_median3x3_kernel.h file. Regards, Anshu + +Hi Anshu compile option is -v210 -O3 -g --diag_warning=225 --display_error_number --diag_wrap=off -z -m"eve_exmple1.map" -i"D:/ti_ccsv7/ccsv7/tools/compiler/arp32_1.0.9/lib" -i"D:/ti_ccsv7/ccsv7/tools/compiler/arp32_1.0.9/include" --reread_libs --warn_sections --xml_link_info="eve_exmple1_linkInfo.xml" --rom_model BESTWISHES shuai + +Hi Anshu i use vcop_median3x3_kernel.k and vcop_median3x3_kernel.h is ok in debug list generate vcop_median3x3_kernel.h and vcop_median3x3_kernel.c but first must have vcop_median3x3_kernel.h or could not open source file "vcop_median3x3_kernel.h" vcop_median3x3_tb.c /eve_exmple1 line 82 C/C++ Problem BESTWISHES shuai + +please add -kh -kv option to your compile option and see if you are able to generate "vcop_median3x3_kernel.h" and "vcop_median3x3_kernel.c" Regards, Anshu + +Hi Anshu so how to add -kh -kv? i think makefile of CCS is generate . BESTWISHES shuai + +Shuai, I myself have never used CCS projects, but I am sure there should be a way to provide arguments in the CCS interface. Please explore the options in your project ( search in the location where you have provided include directory and libraries to be linked). Regards, Anshu + +thanks Anshu! shuai + +Hi:Anshu i cannot find where to add -kh -kv options! could you help me ! thanks shuai + +Shuai, You need to add it in the compiler options for the .k file. As mentioned I have not myself used CCS project so you might need to explore the options where you can add extra compiler option. Regards, Anshu + +Hi :Anshu i am try to build D:\ti_SDK_VISION_03_02_00_00\ti_components\algorithms\eve_sw_01_18_00_00\kernels\imgsiglib\vcop_median3x3\test i think gmake is for VCOP_HOST_EMULATION build vcop_median3x3_kernel.k creat vcop_median3x3_kernel.c and vcop_median3x3_kernel.h but gmake is failed . follow is the log D:\ti_SDK_VISION_03_02_00_00\ti_components\algorithms\eve_sw_01_18_00_00\kernels\imgsiglib\vcop_median3x3\test>gmake D:\ti_ccsv7\ccsv7\utils\cygwin\mkdir -p ".\elf_out" || cd ".\elf_out" "g++" -g -fpermissive -I"D:\ti_SDK_VISION_03_02_00_00\ti_components\cg_tools\windows\arp32_1.0.7"\include\vcop -I"..\..\..\..\common" -I"..\..\..\common" -DVCOP_HOST_EMULATION -o ".\elf_out"\a.exe -I"..\inc" vcop_median3x3_config.c vcop_median3x3_tb.c "..\..\..\..\common\eve_profile.c" "..\..\..\..\common\curve_fitting.c" "..\..\..\..\common\configparser.c" '"g++"' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 gmake: *** [a.out] Error 1 gmake target is ok but i think vcop_median3x3_kernel.h is creat by gmake VCOP_HOST_EMULATION mode. thanks shuai + +Shuai, First of all host emulation build will not generate vcop_median3x3_kernel.c and vcop_median3x3_kernel.h. These files are only generated if you compile using ARP32 compiler. Secondly host emulation build is only supported with Microsoft Visual Studio compiler (MSVC). The command to build using MSVC compiler is gmake msvc. You are suppose to setup all visual studio environment variable before invoking the gmake msvc command. You can use the following script provided by MSVC to setup the environment variable {Microsoft Visual Studio 11.0\VC\vcvarsall.bat} Regards, Anshu + +Hi Anshu I need to generate vcop_median3x3_kernel.c and vcop_median3x3_kernel.h. from vcop_median3x3_kernel.k but in CCS only generate vcop_median3x3_kernel.c ,problem is i dont knon how to add -kh -kv options! so i give up CCS , i am try to build D:\ti_SDK_VISION_03_02_00_00\ti_components\algorithms\eve_sw_01_18_00_00\kernels\imgsiglib\vcop_median3x3\test use gmake . i think in this sample contain vcop_median3x3_kernel.k . BESTWISHES shuai + +Hi Shuai, As you are now using make based build, can we close this thread? Regards, Anshu + diff --git a/sample_embedding_folder2/0725163.txt b/sample_embedding_folder2/0725163.txt new file mode 100644 index 0000000000000000000000000000000000000000..4c0b8eba5a23f2819c15b1a0c51b59fe4107b09b --- /dev/null +++ b/sample_embedding_folder2/0725163.txt @@ -0,0 +1,14 @@ +Ticket Name: CCS/TDA2: step of EVE Optimized + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio i have function have to do EVE Optimized, could you tell the step how can i do the work? + +Responses: +HI, You can refer some examples in EVE software librray released by TI to get some idea. Also please refer the TRM for EVE architecture, instruction set to corelate the software examples with the hardware architecture Thanks, With Regards, Pramod + +Hi :Pramod could you guide some pdf about TRM for EVE architecture? + +Pramod, Please post your comments/questions on the same thread. Regards Karthik + +EVE is documented in the TRM in Ch 8: www.ti.com/.../sprui29e.pdf Thanks, With Regards, Pramod + diff --git a/sample_embedding_folder2/0725489.txt b/sample_embedding_folder2/0725489.txt new file mode 100644 index 0000000000000000000000000000000000000000..1952d74dcfcccbed43082d1d303afba2552462c3 --- /dev/null +++ b/sample_embedding_folder2/0725489.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2: Update appimage by SD card + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Expert, I'm running PROCESSOR SDK VISION V3.04 RTOS on xc5777x evm. Using the "Load using QSPI" to launch the board, how do I update the appimage with the sd card? Could you please give some suggestion here? Thanks in advance. + +Responses: +Hi, Can you look at "Load using SD card" section of VisionSDK_UserGuide_TDA2xx.pdf. Regards, Rishabh + +Hi, I need the sd card to update the appimage inside the QSPI flash. "Load using SD card" section only boot? Thanks in advance. + +Hi, Unfortunately we don't have any application that will read the image from SD card and flash it to QSPI. You need to write this application yourself by referring to PROCESSOR_SDK_VISION_03_04_00_00\ti_components\drivers\pdk_01_10_00_08\packages\ti\drv\stw_lld\examples\mmcsd\sd_file_io and PROCESSOR_SDK_VISION_03_04_00_00\ti_components\drivers\pdk_01_10_00_08\packages\ti\boot\sbl_auto\qspiflash\examples\qspi_flash_writer. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0725543.txt b/sample_embedding_folder2/0725543.txt new file mode 100644 index 0000000000000000000000000000000000000000..b50bccc6f205bf6ec502cb585ef93bc4bc1fe948 --- /dev/null +++ b/sample_embedding_folder2/0725543.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: How to capture image and record video + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, Using TDA2x with TI-RTOS, we can get live hdmi output. Our SDK version is 3.04 May I know 1) How to save the frame as an image to sdcard? 2) How to capture an video to sdcard? Thank you very much. + +Responses: +Hi, Please go through below thread e2e.ti.com/.../709062 Regards, Anuj + diff --git a/sample_embedding_folder2/0725583.txt b/sample_embedding_folder2/0725583.txt new file mode 100644 index 0000000000000000000000000000000000000000..91e95a660a5d9510c550907909762720c99b5af9 --- /dev/null +++ b/sample_embedding_folder2/0725583.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: Request for minimal .config + +Query Text: +Part Number: TDA2 Tool/software: Linux Hello, I'm using PSDK 3.03. Since the initial Linux build takes a long time, is there any .config that includes only basic features regarding TDA2xx/TDA2px SoC? Regards, Nick + +Responses: +Hi Nick To enable TDA2x/TDA2Px with Processor SDK Vision you need to do the dependency component build at least one time, like make -j linux make linux_install make -j depend make -j any subsequent build need only "make -j" (provided no changes in Linux Kernel/uboot and any ti-components) please refer \vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_UserGuide_BuildSystem.pdf for hints to optimize the build time regards, Shiju + diff --git a/sample_embedding_folder2/0725596.txt b/sample_embedding_folder2/0725596.txt new file mode 100644 index 0000000000000000000000000000000000000000..e570537f8d8c8e79749380b9cc72a1353599867f --- /dev/null +++ b/sample_embedding_folder2/0725596.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: BIOS API function descriprion + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, I'm new in vision sdk and TI processors. Could you tel me where I can find list and discriptions functions like: Vps_printf(), Utils_memAlloc(), ChainsCommon_Osal_fileOpen()? + +Responses: +Hi Danil, You can grep for these APIs in Vision SDK. E.g. Vps_printf is defined in links_fw/include/link_api/system_trace.h. For more documentation you can refer to PROCESSOR_SDK_VISION_03_04_00_00\vision_sdk\docs\VisionSDK_ApiGuide.CHM. Regards, Rishabh + diff --git a/sample_embedding_folder2/0725798.txt b/sample_embedding_folder2/0725798.txt new file mode 100644 index 0000000000000000000000000000000000000000..b7562b0298fcc394596d35dbbef08c5ec0f4cfae --- /dev/null +++ b/sample_embedding_folder2/0725798.txt @@ -0,0 +1,24 @@ +Ticket Name: RTOS/TDA2: Vision SDK 3.03, arp32 linker flags zero_init=on + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, Below is what I set, diff --git a/vision_sdk/build/rtos/makerules/rules_arp32.mk b/vision_sdk/build/rtos/makerules/rules_arp32.mk index 346a0c8..6ca47ee 100755 --- a/vision_sdk/build/rtos/makerules/rules_arp32.mk +++ b/vision_sdk/build/rtos/makerules/rules_arp32.mk @@ -237,7 +237,7 @@ ifneq "$(or $(OBJ_PATHS),$(OBJ_PATHS_ASM),$(OBJ_PATHS_CPP))""" endif # Linker options and rules -LNKFLAGS_INTERNAL_COMMON = --warn_sections -q -e=_c_int00 --silicon_version=arp32 -c -x --zero_init=off --rom_model +LNKFLAGS_INTERNAL_COMMON = --warn_sections -q -e=_c_int00 --silicon_version=arp32 -c -x --zero_init=on --rom_model # Assemble Linker flags from all other LNKFLAGS definitions _LNKFLAGS = $(LNKFLAGS_INTERNAL_COMMON) $(LNKFLAGS_INTERNAL_PROFILE) $(LNKFLAGS_GLOBAL_$(CORE)) $(LNKFLAGS_LOCAL_COMMON) $(LNKFLAGS_LOCAL_$(CORE)) When I load binaries over CCS v7 onto TDA2X ES1.0 EVM for EVE cores, the core starts running by default. If I try to pause it, I see this error on CCS v7 Console: ARP32_EVE_1: Trouble Halting Target CPU: (Error -2062 @ 0x0) Unable to halt device. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 8.0.27.9) SD Card boot also fails similarly, only with above patch. If I revert the above patch, sample_app usecase works fine. + +Responses: +Hi, Can you check if any MMU fault error is generated with this. Regards, Anshu + +Hi Anshu, How would I be able to do the same ? and if it does turn out to be a MMU fault what does it convey, since I have not touched anything else. This patch works fine on Vision SDK 2.09 + +Can you check the value of following register from A15 after the issue. MMU_IRQSTATUS : (0x40281018 : This is for EVE 1) Regards, Anshu + +The value reads 0x00000002 As shown in snapshot + +Hi, Can you share the following gel file with us : \ccs_base\emulation\gel\TDA2x\TDA2xx_multicore_reset.gel Regards, Anshu + +Attached is the files you requested: TDA2xx_multicore_reset.gel + +Hello, Any thoughts on this issue? + +Hello It seems like EVE CPU is crashed, BTW, are you seeing this issue only when you set zero_init=on? with zero_init=on, I have fixed a bug in VSDK and this fix will be available in next release (3.5) FYI here is the patch you need to apply this in all EVE_x.cfg files under links_fw/src/rtos/bios_app_common/tda2xx/eve1/Eve1.cfg, Eve2.cfg, Eve3.cfg & Eve4.cfg Program.sectMap["ttbSection"] = new Program.SectionSpec(); Program.sectMap["ttbSection"].loadSegment = "EVE1_DATA_MEM"; Program.sectMap["ttbSection"].type = "NOINIT"; regards, Shiju + +Hi Shiju, Yes I was seeing this issue only when setting zero_init=on in rules_arp32.mk. I tried the patch you suggested and looks like it has fixed the eve crash I was noticing. Let me know if you see any risks if I plan to have this setting in all makefiles of all cores. Thanks and Regards, Vivek + diff --git a/sample_embedding_folder2/0726199.txt b/sample_embedding_folder2/0726199.txt new file mode 100644 index 0000000000000000000000000000000000000000..14a5dd0c1fae87ac1b3e1121c2baacaef00054ca --- /dev/null +++ b/sample_embedding_folder2/0726199.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Schematic Review + +Query Text: +Part Number: TDA2 Does TI help to review customer's schematic? + +Responses: +Hi Lim, Kindly get in touch with your TI contact regarding reviewing schematics. Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0726260.txt b/sample_embedding_folder2/0726260.txt new file mode 100644 index 0000000000000000000000000000000000000000..90211953ed5933336bfdbcadafbfd5e710e5e4e8 --- /dev/null +++ b/sample_embedding_folder2/0726260.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: Use EDMA similarly to EDMA LLD on RTOS? + +Query Text: +Part Number: TDA2 Tool/software: Linux Hello, EDMA Low Level Driver for RTOS is defined very well and easy to use. It provides enough flexibility regarding usage of A/B/CCNT, indexing, linking and chaining. I need that flexibility in Linux. However the only thing I managed to do is use DMA engine which is awfully limited in its features (only contiguous memcpy). I found that in 'edma.c' file there is a lot of well known API for EDMA usage. However, there is a lot of functions there and the steps that need to be taken are not intuitive. I would like an example of a simple code that I can run in a kernel module that enables me to reserve a few channels and param sets, possibly link the param sets and start a transfer. I find it such a shame that there are no examples for advanced EDMA usage on Linux whereas there are tons of examples for RTOS. Thank you in advance. Regards, Nick + +Responses: +Nick Linux includes a generic framework for DMA drivers which is "dmaengine" , the EDMA implementation plugs in to this framework. Drivers within the kernel use the dmaengine API for data movement primitives. You can look for more information on its usage inside the Kernel documentation folders : www.kernel.org/.../ + +Hi Sriram, Sorry but this does not answer my question. I said that I already use the "dmaengine" and that I'm not satisfied with what I can do with it. As I can see it is limited to contiguous memory transfers. But what if I have jumps that have to be made, I need the flexibility of EDMA's BIDX and CIDX parameters. With "dmaengine" I cannot do anything like that which is a pitty because EDMA can do so much more. I have just found this: processors.wiki.ti.com/.../EDMA_sample_test_application but it does not build successfully because it is for DaVinci boards. Is there anything like this for TDA2 boards? Or even better, if all EDMA features can be used with "dmaengine" I would like to know how to do it. Thank you in advance. Regards, Nick + +Nick The Linux side implementation only supports the DMAengine interface currently - and this is abstracted to handle a number of DMA implementations , hence you get only the common subset of features + diff --git a/sample_embedding_folder2/0726293.txt b/sample_embedding_folder2/0726293.txt new file mode 100644 index 0000000000000000000000000000000000000000..0107ba8382986aefd741eeb5d884761f68805d1d --- /dev/null +++ b/sample_embedding_folder2/0726293.txt @@ -0,0 +1,12 @@ +Ticket Name: RTOS/TDA2: tild_od usecase build error with MobileNet + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi All, I am building vsdk3.3.0 to test the proven the mobilenet in TIDL and get an error like below. It look like this error is related to "GRAPHICS_HEIGHT" size. # Compiling tda2px-evm:ipu1_0:release:app_libs: c:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/apps/src/rtos/useca ses/tidl_OD/chains_tidlOD.c "c:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/apps/src/rtos/usecases/tidl_OD/chains_tidlOD.c", line 439: error: integer conversion resulted in a change of sign "c:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/apps/src/rtos/usecases/tidl_OD/chains_tidlOD.c", line 447: error: integer conversion resulted in a change of sign 2 errors detected in the compilation of "c:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/apps/src/rtos/usecases/tid l_OD/chains_tidlOD.c". >> Compilation failure gmake[5]: *** [c:/PROCESSOR_SDK_VISION_03_03_00_00/vision_sdk/binaries/apps/tda2px_evm_bios_all/obj/app_libs/tda2p x-evm/ipu1_0/release/chains_tidlOD.oem4] Error 1 gmake[4]: *** [ipu1_0] Error 2 gmake[3]: *** [app_libs] Error 2 gmake[2]: *** [apps_libs] Error 2 gmake[1]: *** [apps] Error 2 gmake: *** [vision_sdk] Error 2 For reference, the test video resolution is 512x512 and the code changes are as follows. #define TIDL_OD_INPUT_WIDTH (512)//(768) #define TIDL_OD_INPUT_HEIGHT (512)//(320) #define DEC_OUT_WIDTH (512)//(768) #define DEC_OUT_HEIGHT (512)//(320) I found a similar problem in the e2e community as below but I did not get a solution. #link Please let me know what i do to fix. BR, Khethan + +Responses: +Hi all, There is not link-url on above so I attach the link as below. e2e.ti.com/.../721606 BR, Khethan + +Hi, Can you try with any input having resolution less than 512 Regards, Anuj + +Hi, have you tried with a lower resolution. Can you change TIDL_OD_DISPLAY_STARTY to 32 and try. Regards, Anuj + diff --git a/sample_embedding_folder2/0726496.txt b/sample_embedding_folder2/0726496.txt new file mode 100644 index 0000000000000000000000000000000000000000..a2d9ec75f47dd3c9276ad5b5f0e2c2e975361919 --- /dev/null +++ b/sample_embedding_folder2/0726496.txt @@ -0,0 +1,16 @@ +Ticket Name: RTOS/TDA2EXEVM: ssd mdoel in tidl have high latency + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS Hi: Now, we use SSD model in TIDL to do object detection tasks. But the latency in one eve is about 190ms, how I can refine the code to improve the processing speed, in order to decrease the latency. hope your advise. + +Responses: +Hi, Yes, this 190 ms latency is expected for running SSD model on EVE, I do not think we can reduce it further by simply refining the code. I will confirm. Thanks, Praveen + +Hi Praveen: thanks for your reply, I want to know when the model is fixed, what can I do to decrease the latency. hope your further answer. + +With a given network configuration, the current latency that you are observing is for one EVE. In TDA2 we have four EVEs. The latency can be reduced by partitioning the computation across all 4xEVEs. For, a dense model is it is recommended to split processing spatially (Feature/Activation in height wise). For sparse model also the same logic can be used. When the feature vector size is small, the overheads will be high for sparse flow. So when feature width /height is small, it is recommended to split the processing channels wise. The current VSDK demos are not using this partitioning, this can be done with current TIDL library. Thanks and Regards, Kumar.D + +Hi, I don't completely understand your idea. For example, we have trained the model with size of 640x320, in your opinion, i can use one eve to calculate the top half image 640x160, with another eve calculating the bottom half image 640x160? Is there any example I can refer? thanks. + +Hi, Yes, your understanding is correct if feature sizes are large. For small feature sizes, split the channels instead of height and use one eve to process some channels, and another eve process remaining channels. We don't have any code to refer for this implementation. Thanks, Praveen + diff --git a/sample_embedding_folder2/0726693.txt b/sample_embedding_folder2/0726693.txt new file mode 100644 index 0000000000000000000000000000000000000000..2fe189cc7307a7289b2e5a194d0e7e334e387c05 --- /dev/null +++ b/sample_embedding_folder2/0726693.txt @@ -0,0 +1,22 @@ +Ticket Name: Linux/TDA2: Two Encoder Link For video Saving + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi Every one, I am working on a use case that could save video on SD card in TDA2xx. For that I am using Two Encode link. I have created the usecase as below :- Capture -> VPE -> Dup_vpe -> SgxFrmcpy (A15) ->Dup_sgx Dup_vpe -> Encode_vpe -> Null_vpe (A15) Dup_sgx -> DssM2mWb - > Encode_sgx -> Null_sgx (A15) Dup_sgx -> Display_M4 (IPU1_0) GrpxSrc -> Display_Grpx while compiling , it show an error : 'SYSTEM_LINK_ID_VENC_1' undeclared 1) How can i solve this problem ? 2) Can i define SYSTEM_LINK_ID_VENC_1 and how ? Regards, Renjith + +Responses: +Hi, You can use only 1 instance of encoder link. Multiple instances are not supported for encoder link. Regards, Anuj + +Hi Anuj, Thank you for your reply.. Is there any other option for this ? Can i use one Encoder link instead of using two ? How its possible ? + +Hi, Please modify usecase as below Capture -> VPE -> Dup_vpe -> SgxFrmcpy (A15) ->Dup_sgx Dup_vpe -> Merge Dup_sgx -> DssM2mWb - > Merge Merge -> Encode -> Select -> Null_vpe (A15) Select -> Null_sgx (A15) Dup_sgx -> Display_M4 (IPU1_0) GrpxSrc -> Display_Grpx Regards, Anuj + +Hi Anuj, 1) By using this usecase can i save both videos at the same time ? 2) How to configure the 'Select' ? + +Hi, Please take reference of the usecase where select link is used. Regards, Anuj + +Hi, Is the issue resolved? Regards, Anuj + +Hi Anuj, Sorry for the late reply, While running i got this error Assertion @ Line: 700 in iva_enc/encLink_common.c: 0 : failed !!! + +Hi, Have you set pLinkChPrm->format params? Please take a reference of encoder link params from the below usecase file. vision_sdk\apps\src\rtos\usecases\vip_single_cam_view_encdec\chains_vipSingleCam_EncDec_Display.c Regards, Anuj + diff --git a/sample_embedding_folder2/0726818.txt b/sample_embedding_folder2/0726818.txt new file mode 100644 index 0000000000000000000000000000000000000000..9eb33eb2b25faf073d97cb1dfb4de19927f88d53 --- /dev/null +++ b/sample_embedding_folder2/0726818.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: dlib on TI TDA2X + +Query Text: +Part Number: TDA2 Dear all, Is there any example that we can cross-compile dlib on ARM and used on TDA2X? Thanks and best regards He Wei + +Responses: +Hi Wei, What do you mean by dlib ? Are you referring to TI deep learning library? Thanks, Praveen + +Dear Praveen, I am referring to open source lib: http://dlib.net/compile.html Thanks and best regards He Wei + +Hi He Wei, Sorry, we don't have any example or reference. Thanks, Praveen + diff --git a/sample_embedding_folder2/0726834.txt b/sample_embedding_folder2/0726834.txt new file mode 100644 index 0000000000000000000000000000000000000000..95be5e5cb42eb3d2b7dc0feb2298e19d6d87c789 --- /dev/null +++ b/sample_embedding_folder2/0726834.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: EDMA + +Query Text: +Part Number: TDA2 How EDMA is related to the QSPI? In my TI driver's code, RPRC image is read from the external SDF, in which EDMA is used. And EDMA is using the QSPI. I am not able to get how these two are related? Please Clarify. THanks in Advance! Regards, Sagar + +Responses: +Hi Sagar, There are two options for reading app Image from QSPI :CPU copy and EDMA. EDMA performs high-performance data transfers between two memories without CPU's intervention. Hence SBL uses EDMA. Hope this clarifies. Regards, Rishabh + +Hi Rishabh, Thanks for reply. I want to clarify that whether EDMA uses the same pin which QSPI uses or different. In my SBL source code void QSPI_ReadSectors_edma(void *dstAddr, uint32_t srcOffsetAddr, uint32_t length, uint32_t edma_ch_num) this is the function which is used for reading from external SDF. Inside this function following function is called uint32_t EDMA3EnableTransfer(uint32_t baseAddr, uint32_t chNum,uint32_t trigMode) { uint32_t retVal = FALSE; switch (trigMode) { case EDMA3_TRIG_MODE_MANUAL: if (chNum < SOC_EDMA3_NUM_DMACH) { EDMA3SetEvt(baseAddr, chNum); retVal = (uint32_t) TRUE; } break; case EDMA3_TRIG_MODE_QDMA: if (chNum < SOC_EDMA3_NUM_QDMACH) { EDMA3EnableQdmaEvt(baseAddr, chNum); retVal = (uint32_t) TRUE; } break; case EDMA3_TRIG_MODE_EVENT: if (chNum < SOC_EDMA3_NUM_DMACH) { /*clear SECR & EMCR to clean any previous NULL request */ EDMA3ClrMissEvt(baseAddr, chNum); /* Set EESR to enable event */ EDMA3EnableDmaEvt(baseAddr, chNum); retVal = (uint32_t) TRUE; } break; default: retVal = (uint32_t) FALSE; break; } return retVal; } If you have the edma.c then please explain me how this function works. Also what is the meaning of shadow region? Thanks! Regards, Sagar + +Hi Sagar, I would suggest you to go through EDMA chapter from TDA2 TRM. Regards, Rishabh + diff --git a/sample_embedding_folder2/0726840.txt b/sample_embedding_folder2/0726840.txt new file mode 100644 index 0000000000000000000000000000000000000000..5468d29675cd20f19f26e4215ad0fd1dbf715ee3 --- /dev/null +++ b/sample_embedding_folder2/0726840.txt @@ -0,0 +1,55 @@ +Ticket Name: RTOS/TDA2P-ACD: DCAN module board to board test + +Query Text: +Part Number: TDA2P-ACD Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS Hi Sir, I has test CAN TX, RX function by loopbackTest(TX send to RX of TDA2) by setting "DCAN_INCLUDE=yes" . loopbackTest setting as below: /** \brief Used for enabling board-to-board DCAN */ +//#define ENABLE_B2B_DCAN_TEST (1U) + +static Void System_dcanInitCfgStruct(dcanConfig_t * dcanConfig) +{ + Int i; + UInt8 msgData[] = {0xAA,0xEE,0xBB,0xFF,0xCC,0xDD,0x55,0xAA}; + +#if ENABLE_B2B_DCAN_TEST + dcanConfig->enableLoopback = FALSE; +#else + dcanConfig->enableLoopback = TRUE; +#endif + dcanConfig->enablePeriodicTx = TRUE; + dcanConfig->rxMsgId = 0xC1; + dcanConfig->txMsgId = 0xC2; + dcanConfig->enableSendRxAck = TRUE; + dcanConfig->enableReceiveRxAck = TRUE; + dcanConfig->txAckMsgId = 0xC4; + dcanConfig->rxAckMsgId = 0xC5; + dcanConfig->rxMsgCb = System_dcanRxMsgHandler; + dcanConfig->rxAckMsgCb = System_dcanRxAckMsgHandler; + dcanConfig->txMsgPeriod_ms = SYSTEM_DCAN_TX_PRD_MS; + dcanConfig->dcanCntrlIntrId = SYSTEM_DCAN_INTR_ID; + dcanConfig->dcanTxTskPri = SYSTEM_DCAN_TX_TSK_PRI; + dcanConfig->dcanRxTskPri = SYSTEM_DCAN_RX_TSK_PRI; + dcanConfig->dcanInputClk_hz = SYSTEM_DCAN_INPUT_CLK; + dcanConfig->dcanBaudRate_hz = SYSTEM_DCAN_BIT_RATE; + dcanConfig->enableTxMsgCycle = TRUE; + dcanConfig->dcanTxPrdMsg.dataLength = UTILS_ARRAYSIZE(msgData); + for ( i = 0 ; i < UTILS_ARRAYSIZE(msgData); i++) + { + dcanConfig->dcanTxPrdMsg.msgData[i] = msgData[i]; + } +} + I can log TX and RX of TDA2 communication data by PCAN-USB-FD Adaptor. I got some issue that is when I send test packet [CAN-ID=0xC2, Data = 0xAF, 0xF3, 0xC0, 0x04, 0xD1, 0XE2, 0x5A, 0xAF] to TDA2. The issue seem like TDA2 can't receive data from PCAN-USB-FD Adaptor. Could you please give me some advise? Many thanks. + +Responses: +Hi Prince, You need not to comment out 'ENABLE_B2B_DCAN_TEST' macro. Can you please un-comment it and try it again? From your logs, it looks like you are able to receive some messages form TDA2. Please confirm this. Thanks & Regards, Vivek Dhande. Texas Instruments (India) Pvt Ltd + +Hi Vivek , Thanks for your feedback. I comment out 'ENABLE_B2B_DCAN_TEST' macro still get same error when send test data by PCAN-USB-FD Adaptor. Have any document or tutorial to description DCAN of TDA2? + +Hi Vivek , Update information. a. External loop back test mode can transmit test data to PCAN-USB-FD Adaptor - comment out 'ENABLE_B2B_DCAN_TEST' macro. - pDcanCfgPrms->testModeEnable = TRUE - pDcanCfgPrms->testMode = DCAN_TEST_MODE_EXT_LPBACK - Tx pad is workable - Rx pad is open - Tx and Rx ISR is workable. b. Silent mode can't receive test data from PCAN-USB-FD Adaptor. - comment out 'ENABLE_B2B_DCAN_TEST' macro. - pDcanCfgPrms->testModeEnable = TRUE - Modify pDcanCfgPrms->testMode = DCAN_TEST_MODE_SILENT - Tx pad is open - Rx pad can't receive test data from PCAN-USB-FD Adaptor. - Rx ISR is not workable. c. Normal operation mode can't receive/transmit test data with PCAN-USB-FD Adaptor. - Open 'ENABLE_B2B_DCAN_TEST' macro. - pDcanCfgPrms->testModeEnable = FALSE - pDcanCfgPrms->testMode = DCAN_TEST_MODE_NONE - Tx pad can't transmit test data to PCAN-USB-FD Adaptor. - Rx pad can't receive test data from PCAN-USB-FD Adaptor. - TX and Rx ISR is not workable. I trace all DCAN code but can't find why normal mode is not workable. Could you please give me some suggestion? Many thanks. + +Hi Vivek, I use SDK version is V03.04.00(04-Jul-2018). + +Hi Vivek, Have any update? + +Hi Prince, Looks like there is an issue with Rx pin. Since you are able to receive message on PCAN when DCAN is operating in external loopback mode which means Tx pin is OK. Can you do following: 1. In case b, can you look at PCAN error and value of 'DCAN_ES' register? 2. In case c, send only one message from PCAN, and look at PCAN error and value of 'DCAN_ES' register. 3. In case c, send only one message from TDA2P(in another run), and look at PCAN error and value of 'DCAN_ES' register. Thanks & Regards, Vivek Dhande. Texas Instruments (India) Pvt Ltd + +Hi Vivek , Thanks for your reply. I find result why the RX pad not working. SDK pad config is different with TDA2x EVM. Need modify "platform_tda2xx_pad_config.c" setting to modify RX pin of DCAN form AD17 (Wakeup0) to G19(dcan1_rx) if use TDA2x EVM. Update for all user reference. + diff --git a/sample_embedding_folder2/0726849.txt b/sample_embedding_folder2/0726849.txt new file mode 100644 index 0000000000000000000000000000000000000000..497cb9a47e02ade0c5fa0c5840646343127723c1 --- /dev/null +++ b/sample_embedding_folder2/0726849.txt @@ -0,0 +1,8 @@ +Ticket Name: Functional Safety ADAS + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi, I am relating to that thread: https://e2e.ti.com/support/arm/automotive_processors/f/1021/t/595646?TDA2HV-Functional-Safety-ADAS I am wondering why TI decided to not develop the TDA2x in compliance with ISO 26262 considering that everyone else is doing so. Is there a specific reason? Thanks and best regards, Samir + +Responses: +Samir, TI Jacinto TDAx automotive processors have a number of safety and security features supported in hardware including: Auxiliary Arm® Cortex™-M4 MPUs Hardware firewalls MMUs Memory ECC support Display write-back path Security accelerators Additionally, the TDA3 family includes: Clock, voltage and interrupt monitors Hardware CRC block Window watchdog timers and Other enhanced safety mechanisms for safe computation and AUTOSAR. The safety features enable customers to design systems that can achieve ASIL-B or higher safety levels. Could you help us understand the end equipment you are looking at ? We can help you map your safety and processing requirements to one of the devices of the TDA2/3 family of devices. Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0726862.txt b/sample_embedding_folder2/0726862.txt new file mode 100644 index 0000000000000000000000000000000000000000..c4259befe63fd6c96f1be15ca13917e7f0b99911 --- /dev/null +++ b/sample_embedding_folder2/0726862.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: Utils_memAlloc memory aligment + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, I'm new in SoC and heterogen memory systems. How I should choose memory alignment parameter for Utils_memAlloc, if uint8_t, uint16_t element size is used? How does memory alignment influence? + +Responses: +Hi, Alignment will depend where you want to use that allocated memory. For ex if you are using it to contain the video data then it should be 32 byte aligned. Regards, Anuj + diff --git a/sample_embedding_folder2/0727093.txt b/sample_embedding_folder2/0727093.txt new file mode 100644 index 0000000000000000000000000000000000000000..ddf4ec47f820fe035e7ae528c5513ea4b032f06c --- /dev/null +++ b/sample_embedding_folder2/0727093.txt @@ -0,0 +1,12 @@ +Ticket Name: RTOS/TDA2: Send i2c to camera + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS I using TDA2x + multideserializer. My camera have Device Address 0x20 I modified as follow and tried to send i2c but unsuccessful. Can you please assist? + +Responses: +Hi Chee Peng, You will have to set BSPUTILS_OV1063x_I2C_ADDR to 0x10 also note that the sensor should be accessible at address BSPUTILS_OV1063x_1_ALIAS_I2C_ADDR, which is 0x38. Regards, Sujith + +Hi Chee Peng, Is your query answered? Regards, Sujith + +Yes. I can communicate with my camera thru i2c. Thank you + diff --git a/sample_embedding_folder2/0727106.txt b/sample_embedding_folder2/0727106.txt new file mode 100644 index 0000000000000000000000000000000000000000..9a298e8541076406e323d6529f7a858340cc96c4 --- /dev/null +++ b/sample_embedding_folder2/0727106.txt @@ -0,0 +1,10 @@ +Ticket Name: Compiler/TDA2: Available memory ranges: + +Query Text: +Part Number: TDA2 Tool/software: TI C/C++ Compiler Hi: i do not know what is the problem! vision_sdk\sample_app\src\rtos\alg_plugins\framecopy this link is use c66xdsp_1 I think ! why c66xdsp_2 have problem? and what is the problem? "/home/hancan/PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/obj/vision_sdk/tda2xx-evm/c66xdsp_2/release/vision_sdk_configuro/linker_mod.cmd", line 247: error: program will not fit into available memory. placement with alignment fails for section ".fardata" size 0xc11ae6 . Available memory ranges: DSP2_DATA_MEM size: 0xa00000 unused: 0x9d79db max hole: 0x9d749f thanks! shuai + +Responses: +Hi : i load a lib is big about 26MB THANKS shuai + +Hi Shuai, you may need to change DSP2_DATA_MEM in your memory map. Please refer "vision_sdk/docs/FeatureSpecificUserGuides/VisionSDK_UserGuide_MemoryMap.pdf" for details. Regards, Yordan + diff --git a/sample_embedding_folder2/0727164.txt b/sample_embedding_folder2/0727164.txt new file mode 100644 index 0000000000000000000000000000000000000000..5fbc589d48eb9410facdc5c6ee40a918b9eccaad --- /dev/null +++ b/sample_embedding_folder2/0727164.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2: MAKECONFIG?= tda2xx_evm_linux_opencl make fail on VSDK3.4 + +Query Text: +Part Number: TDA2 Tool/software: Linux Dear Officer, I have update the c6000 to 8.1.0. but still got the below error: make[7]: Entering directory `/home/cheepeng/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/apps/src/hlos/adas/src/alg_plugins/openclframecopy/kernel' echo Compiling OpenCL file copy.cl Compiling OpenCL file copy.cl /home/cheepeng/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/../ti_components/os_tools/linux/targetfs/usr/share/ti/opencl/bin/x86/clocl -t copy.cl >> WARNING: invalid compiler option --bc_file=copy.bc (ignored) "/home/cheepeng/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/../ti_components/os_tools/linux/targetfs/usr/share/ti/opencl/dsp.syms", line 9: error #10022-D: invalid option: --single_data_segment "/home/cheepeng/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/../ti_components/os_tools/linux/targetfs/usr/share/ti/opencl/dsp.syms", line 10: error #10022-D: invalid option: --no_entry_point warning #10247-D: creating output section ".stack" without a SECTIONS specification warning #10210-D: creating ".stack" section with default size of 0x400; use the -stack option to change the default size undefined first referenced symbol in file --------- ---------------- main /home/cheepeng/PROCESSOR_SDK_VISION_03_04_00_00/ti_components/cg_tools/linux/ti-cgt-c6000_8.1.0/lib/rts6600_elf.lib error #10234-D: unresolved symbols remain error #10010: errors encountered during linking; "copy.out" not built >> Compilation failure make[7]: *** [copy.dsp_h] Error 255 make[7]: Leaving directory `/home/cheepeng/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/apps/src/hlos/adas/src/alg_plugins/openclframecopy/kernel' make[6]: *** [opencl_build] Error 2 make[6]: Leaving directory `/home/cheepeng/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/apps/src/hlos/adas/src/alg_plugins/openclframecopy' make[5]: *** [vision_sdk_linux_demo] Error 2 make[5]: Leaving directory `/home/cheepeng/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/apps/src/hlos' make[4]: *** [apps] Error 2 make[4]: Leaving directory `/home/cheepeng/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/apps/src/hlos' make[3]: *** [apps_exe_hlos] Error 2 make[3]: Leaving directory `/home/cheepeng/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/build' make[2]: *** [apps_hlos] Error 2 make[2]: Leaving directory `/home/cheepeng/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/build' make[1]: *** [apps] Error 2 make[1]: Leaving directory `/home/cheepeng/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/build' make: *** [vision_sdk] Error 2 Please advise. Thanks and best regards He Wei + +Responses: +Dear TI, After set the PATH to c6000 to 8.1.0/bin, issue is resolved. Thanks and best regards He Wei + +Hi He Wei, thanks for sharing the solution of the problem. Regards, Yordan + diff --git a/sample_embedding_folder2/0727190.txt b/sample_embedding_folder2/0727190.txt new file mode 100644 index 0000000000000000000000000000000000000000..a3c1800f9254fa4a28e45c4c2cf7f78f4b1b3dcf --- /dev/null +++ b/sample_embedding_folder2/0727190.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: OpenCV, OpenCL and openCX + +Query Text: +Part Number: TDA2 Tool/software: Linux Dear Officer, I am working on TDA2x with VSDK3.4. and notice there are OpenCV, OpenCL and OpenCX in VSDK: 1. There is pre-build openCV libs in folder \ti_components\open_compute\opencv\opencv-3.1.0\libs_linux ( I am more interested on Linux version) 2. Make option : tda2xx_evm_linux_opencl 3. Make option: tda2xx_evm_linux_opencx What is the relationship in TI for these 3 options? My target is trying to use the pre-build Linux OpenCV lib, Should I enable to OpenCX or OpenCL build option to get OpenCV? (There is no make option for OpenCV). Thanks and best regards He Wei + +Responses: +Hi He Wei, 1. There is pre-build openCV libs in folder \ti_components\open_compute\opencv\opencv-3.1.0\libs_linux ( I am more interested on Linux version) [Surya] Yes, use this pre-built openCV libs while building linux side openCV applications 2. Make option : tda2xx_evm_linux_opencl [Surya] MAKECOFIG=tda2xx_evm_linux_opencl will build OpenCL applications only 3. Make option: tda2xx_evm_linux_opencx [Surya] MAKECOFIG=tda2xx_evm_linux_opencx will build both OpenCV & OpenCL applications, Since OpenCV has some dependency over openCL, so no separate make option for OpenCV You should enable OpenCX option to get OpenCV Regards Surya + diff --git a/sample_embedding_folder2/0727251.txt b/sample_embedding_folder2/0727251.txt new file mode 100644 index 0000000000000000000000000000000000000000..7190b59dd7f5277dc166591034f7433a2fe971fe --- /dev/null +++ b/sample_embedding_folder2/0727251.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: OpenCL use case running Failed (Build via Linux) + +Query Text: +Part Number: TDA2 Tool/software: Linux Dear TI: After build the OpenCL successfully ((Linux) and run the OpenCL use case , I got the below issue: [HOST] [HOST ] 194.371225 s: Kernel Set Arg Error: -48 [HOST] [HOST ] 194.371225 s: Kernel Set Arg Error: -48 [HOST] [HOST ] 194.371225 s: Kernel Set Arg Error: -48 [HOST] [HOST ] 194.403922 s: Kernel Set Arg Error: -48 [HOST] [HOST ] 194.403922 s: Kernel Set Arg Error: -48 [HOST] [HOST ] 194.403922 s: Kernel Set Arg Error: -48 [HOST] [HOST ] 194.403952 s: Kernel Set Arg Error: -48 [HOST] [HOST ] 194.403952 s: Kernel Set Arg Error: -48 Please advise. Thanks and best regards He Wei + +Responses: +Wei please refer VisionSDK_UserGuide_opencx.pdf to build and run openCL demos. Did you make any chances in VSDK or just trying to rebuild and run the demos? BTW, which openCL Usecase/demo you are trying out? regards, Shiju + +Dear Shiju, You means we need to rebuild the openCL demos? Currently I am following VisionSDK_Linux_UserGuide.pdf to build with: MAKECONFIG=tda2xx_evm_linux_opencl After build successfully, and launching on sd card as: $> cd /opt/vision_sdk $> ./load_ocl_kos.sh (needed only for opencl usecases) $> source ./opencl_env.sh (needed only for opencl usecases) $> source ./vision_sdk_load.sh $> ./$(MAKEAPPNAME).out Then I select the 1st available OpenCL use case to run. So this will not work if not rebuild OpenCL demo following VisionSDK_UserGuide_opencx.pdf ? Thanks and best regards He Wei + +He Wei Sorry, We had an issue with OpenCL, as the openCL demos on A15 Linux are broken from VSDK 3.2 onward due a non-compatibility issue between Linux Kernel and openCL pre-built package. OpenCL on A15 linux is depreciated from VSDK 3.2 release onwards regards, Shiju + diff --git a/sample_embedding_folder2/0727262.txt b/sample_embedding_folder2/0727262.txt new file mode 100644 index 0000000000000000000000000000000000000000..72c1484a50adea9b0c8ba95a69cf5ee52b86dae3 --- /dev/null +++ b/sample_embedding_folder2/0727262.txt @@ -0,0 +1,24 @@ +Ticket Name: Linux/TDA2: OpenCV use case running Failed (Build via Linux) + +Query Text: +Part Number: TDA2 Tool/software: Linux Dear TI: By configure as OpenCX, I got the OpenCV use case (in Linux in VSDK3.4) but got assertion when running the openCV use case: [HOST] [IPU2 ] 222.668974 s: CAPTURE: VIP1 Slice0 PortA capture mode is [ 8-bit] !!! ASSERT (chains_vipSingleCamOpenCVCannySgxDisplay_priv.c|chains_vipSingleCamOpenCVCannySgxDisplay_Create|166) Please advise. Thanks and best regards He Wei + +Responses: +More logs: ASSERT (chains_vipSingleCamOpenCVCannySgxDisplay_priv.c|chains_vipSingleCamOpenCVCannySgxDisplay_Create|166) [HOST] [HOST ] 90.233239 s: IPC_IN_0 : Create in progress !!! [HOST] [HOST ] 90.233605 s: IPC_IN_0 : Create Done !!! [HOST] [HOST ] 90.233697 s: ALG: ERROR: No alg create function specified (algId = 5) !!! + +Hi He Wei, The issue has been fixed & will be available with next vision sdk release Regards Surya + +Dear Surya, Thanks for the update. Can I have the patch first? (And what is the schedule for next VSDK release?) Thanks and best regards He Wei + +Hi He Wei, PFA patch Follow the steps mentioned in Readme.txt file OpenCV_Fix.zip Regards Surya + +Hi He Wei, VSDK next release will be available by mid of October Regards Surya + +Dear Surya, Thanks a lot. it works now!! And just to confirm: the entire OpenCV 3.1.0 is pre-built (including object detection libs for linux) is in VSDK already? Thanks and best regards H e Wei + +Yes, OpenCV 3.1.0 packaged with VSDK release contains pre-built libs only Regards Surya + +Dear Surya, May I know the list of the openCV "pre-build libs"module for Linux? especially if it contains the object detection lib? I am trying to search in targetfs but can't find any libopencv*.a. And I try to build with object detection function but face error: "undefined reference to `cvHaarDetectObjects'" I have include the relevant header file. but no idea to check if the actual relevant libs are included in VSDK or not. I am bit stuck here. Please advise. Thanks and best regards He Wei + +Dear Surya, I found in makefile. Thanks and best regards He Wei + diff --git a/sample_embedding_folder2/0727307.txt b/sample_embedding_folder2/0727307.txt new file mode 100644 index 0000000000000000000000000000000000000000..5d9e99f89aae4e7d1d45a1b2f7666b3badfe3c28 --- /dev/null +++ b/sample_embedding_folder2/0727307.txt @@ -0,0 +1,16 @@ +Ticket Name: Compiler/TDA2: Ethernet Issue + +Query Text: +Part Number: TDA2 Tool/software: TI C/C++ Compiler hi, ethernet is not working properly. its connecting and disconnecting everytime thanks kalaiventhan + +Responses: +Hello Kalaiventhan, Can you please give more information about the platform and software used? Regards, Prasad + +hi, i tried through QNX software for load some file one board working with Ethernet(1 gbs) ,another board is not working i think this board (100 mbs only) thanks kalai + +Hello Kalai, I will ask our Linux/QNX expert to comment. + +Hi Please provide additional information - the HW platform details(TI EVm vs customer board) , any failure logs (link status information etc) Usually the link negotiation part is in HW, SW only sets up the initial configuration. It would be good to review the HW schematics if it is for a new board design + +Hi Kalai, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not please provide additional info that Sriram requested. Regards, Yordan + diff --git a/sample_embedding_folder2/0727405.txt b/sample_embedding_folder2/0727405.txt new file mode 100644 index 0000000000000000000000000000000000000000..6bbccefb25623a1f9324a0938537fe5491fa4565 --- /dev/null +++ b/sample_embedding_folder2/0727405.txt @@ -0,0 +1,20 @@ +Ticket Name: RTOS/TDA2: Code example for reading and saving CSI-2 data in TDA2x + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: AWR1243 Tool/software: TI-RTOS Hello, I am new to designing the ADAS solutions using TDA2x board. I want to integrate 4 cascaded radar sensors with my TDA-2 processor for my application. I read few posts on TI's website which mentions about using DS90UB960 Deserializer Hub which receives 4 inputs and transmits into one (or two) CSI-2 output port. This interleaved data is then set to TDA2 processor. Is there any example code on how to decode this interleaved data on the TDA2 processor end and store it somewhere( maybe in SD card or PC) so that I can use this CSI-2 data to perform few radar algorithms? Thank you! + +Responses: +Hi Nishant, TDA2x dosen't have CSI2, The CAL driver (hw) performs the de-interleaving. Please refer any of the SRV demos. Regards, Sujith + +Thank you Sujith! I shall look into it and get back to you if I have any questions. Do you have the link for the SRV demos? Best Regards, Nishant + +Hello Sujith, Referring to the answer given by Piyali to this post: https://e2e.ti.com/support/arm/automotive_processors/f/1021/t/662898, where can I find the "single AWR 4 Rx 3Tx de-interleaving done by the EVE FFT functions on the TDA " reference document? I tried searching online but I couldn't find it. Also could you mention the best sources for reading more about the Camera Adaptation Layer (CAL) drivers? Best Regards, Nishant + +Hi Nishant, For CAL details, can i ask you to refer the TRM (Data Manual) of TDA2Px or TDA3x. For the demo applications please refer \apps\src\rtos\usecases\iss_mult_capture_isp_dewarp_3dsv_tda3xx I will have to check on the AWR and get back to you. Regards, Sujith + +Hello Sujith, Thank you for providing the file location for understanding CAL implementation. I have a related question to my original question I asked before, can CSI-2 data be read directly by the TDA3 processor? In Fig 2.7 of the "ProcessorSDKRadar_UserGuide.pdf", there is an image where the CSI-2 Data from AWR1243 is directly connected to TDA3X. I had asked my local TI engineer for help in designing the hardware for the connection board (DIB+VAB boards) for interfacing AWR1243 with TDA3 and she asked me to refer fig 2.7 to create my own customized board for it. So do we need CAL driver hardware only for TDA2 or does TDA3 also require it for collecting data from various sensors? Thank you, Nishant + +Hi Nishant, TDA2x dosen't come with a CSI2 receiver. Only TDA2Px, TDA2Ex and TDA3x has this hardware. Regards, Sujith + +Thank you! Best Regards, Nishant + diff --git a/sample_embedding_folder2/0727688.txt b/sample_embedding_folder2/0727688.txt new file mode 100644 index 0000000000000000000000000000000000000000..7696d67706c5540ef76ed3c231108fbc317695ac --- /dev/null +++ b/sample_embedding_folder2/0727688.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2: How to check availability of opencv lib/module in VSDK (Linux)? + +Query Text: +Part Number: TDA2 Tool/software: Linux Dear TI: There are list of pre-build OpenCV libs in VSDK3.4 folder: PROCESSOR_SDK_VISION_03_04_00_00\ti_components\open_compute\opencv\opencv-3.1.0\libs_linux: libopencv_calib3d.a libopencv_objdetect.a .. I enable the opencx and build and run the OpenCV use case successfully under Linux, but I can't find any libopencv* (listed above) in targetfs. How to check which module is available inside the VSDK? ( I am trying to use openCV object detection API but failed and wonder if there is opencv objdetect lib available in VSDK Linux)? Thanks and best regards He Wei + +Responses: +I found it in makefile. Thanks and best regard He Wei + +Hi He Wei, thanks for updating the thread! Regards, Yordan + diff --git a/sample_embedding_folder2/0727731.txt b/sample_embedding_folder2/0727731.txt new file mode 100644 index 0000000000000000000000000000000000000000..601299fb580fea4c6eaf23a2ea6370e65202876d --- /dev/null +++ b/sample_embedding_folder2/0727731.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2: Link to libopencv_objdetect.a fail! + +Query Text: +Part Number: TDA2 Tool/software: Linux Dear TI: In VSDK Linux build environment, I add in OPENCV_LIBS += $(OpenCV_PREBUILD_PATH)/libs_linux/libopencv_objdetect.a in common_footer_a15.mk to enable the object detection. but always get error when calling the object detection API: cvHaarDetectObjects /home/cheepeng/PROCESSOR_SDK_VISION_03_04_00_00/ti_components/open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_objdetect.a(haar.cpp.o): In function `cvHaarDetectObjectsForROC(void const*, CvHaarClassifierCascade*, CvMemStorage*, std::vector >&, std::vector >&, double, int, int, CvSize, CvSize, bool)': haar.cpp:(.text._Z25cvHaarDetectObjectsForROCPKvP23CvHaarClassifierCascadeP12CvMemStorageRSt6vectorIiSaIiEERS5_IdSaIdEEdii6CvSizeSC_b+0x4ca): undefined reference to `cvResize' haar.cpp:(.text._Z25cvHaarDetectObjectsForROCPKvP23CvHaarClassifierCascadeP12CvMemStorageRSt6vectorIiSaIiEERS5_IdSaIdEEdii6CvSizeSC_b+0x1506): undefined reference to `cvCanny' /home/cheepeng/PROCESSOR_SDK_VISION_03_04_00_00/ti_components/open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_objdetect.a(cascadedetect.cpp.o): In function `cv::BaseCascadeClassifier::~BaseCascadeClassifier()': cascadedetect.cpp:(.text._ZN2cv21BaseCascadeClassifierD2Ev+0x14): undefined reference to `cv::Algorithm::~Algorithm()' /home/cheepeng/PROCESSOR_SDK_VISION_03_04_00_00/ti_components/open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_objdetect.a(cascadedetect.cpp.o): In function `cv::CascadeClassifierImpl::CascadeClassifierImpl()': cascadedetect.cpp:(.text._ZN2cv21CascadeClassifierImplC2Ev+0x26): undefined reference to `cv::Algorithm::Algorithm()' /home/cheepeng/PROCESSOR_SDK_VISION_03_04_00_00/ti_components/open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_objdetect.a(cascadedetect.cpp.o): In function `cv::FeatureEvaluator::setImage(cv::_InputArray const&, std::vector > const&)': cascadedetect.cpp:(.text._ZN2cv16FeatureEvaluator8setImageERKNS_11_InputArrayERKSt6vectorIfSaIfEE+0x206): undefined reference to `cv::resize(cv::_InputArray const&, cv::_OutputArray const&, cv::Size_, double, double, int)' cascadedetect.cpp:(.text._ZN2cv16FeatureEvaluator8setImageERKNS_11_InputArrayERKSt6vectorIfSaIfEE+0x4bc): undefined reference to `cv::resize(cv::_InputArray const&, cv::_OutputArray const&, cv::Size_, double, double, int)' /home/cheepeng/PROCESSOR_SDK_VISION_03_04_00_00/ti_components/open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_objdetect.a(cascadedetect.cpp.o):(.data.rel.ro._ZTVN2cv21CascadeClassifierImplE+0x20): undefined reference to `cv::Algorithm::save(cv::String const&) const' /home/cheepeng/PROCESSOR_SDK_VISION_03_04_00_00/ti_components/open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_objdetect.a(cascadedetect.cpp.o):(.data.rel.ro._ZTVN2cv21CascadeClassifierImplE+0x24): undefined reference to `cv::Algorithm::getDefaultName() const' /home/cheepeng/PROCESSOR_SDK_VISION_03_04_00_00/ti_components/open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_objdetect.a(cascadedetect.cpp.o):(.data.rel.ro._ZTIN2cv21BaseCascadeClassifierE+0x8): undefined reference to `typeinfo for cv::Algorithm' /home/cheepeng/PROCESSOR_SDK_VISION_03_04_00_00/ti_components/open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_objdetect.a(cascadedetect.cpp.o):(.data.rel.ro._ZTVN2cv21BaseCascadeClassifierE+0x20): undefined reference to `cv::Algorithm::save(cv::String const&) const' /home/cheepeng/PROCESSOR_SDK_VISION_03_04_00_00/ti_components/open_compute/opencv/opencv-3.1.0/libs_linux/libopencv_objdetect.a(cascadedetect.cpp.o):(.data.rel.ro._ZTVN2cv21BaseCascadeClassifierE+0x24): undefined reference to `cv::Algorithm::getDefaultName() const' collect2: error: ld returned 1 exit status Please advise. Thanks and best regards He Wei + +Responses: +Hi He Wei, Could you please build without -s -j option & share the full log ? Need to check if it is including the lib or not ? Regards Surya + +Dear Surya, The entire log is attached. I notice the libopencv_objdetect.a is linked, (If I didn't include it in makefie, I will get another API error) and actually I have included all the pre-build OpenCV lib to avoid any dependency issue. Please advise. Thanks and best regards He Wei build_log.txt.tar.gz + +Dear Surya, Any update? I google and notice the order to add in each static opencv lib could be matter. But I don't the correct order to add in. I understood TI has done the cross-compile and run the OpenCV test, Can I know during the OpenCV test, what is the order in the test application when linking to these opencv static libs? Especially how to add the object detection lib? Thanks and best regards He Wei + +Hi He Wei, When OpenCV_test is enabled ,This is the order on which libs are linked to test application Please check if that helps you ifeq ($(ENABLE_OPENCV_TESTS),yes) _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_perf_calib3d.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_perf_core.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_perf_features2d.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_perf_imgcodecs.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_perf_imgproc.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_perf_objdetect.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_perf_photo.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_perf_stitching.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_perf_superres.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_perf_video.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_perf_videoio.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_test_calib3d.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_test_core.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_test_features2d.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_test_flann.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_test_highgui.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_test_imgcodecs.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_test_imgproc.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_test_ml.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_test_objdetect.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_test_photo.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_test_shape.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_test_stitching.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_test_superres.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_test_video.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_test_videoio.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_ts.a endif Regards Surya + diff --git a/sample_embedding_folder2/0727958.txt b/sample_embedding_folder2/0727958.txt new file mode 100644 index 0000000000000000000000000000000000000000..6dce68baaa252c69e7cade61d60a7684cbfb69bb --- /dev/null +++ b/sample_embedding_folder2/0727958.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Does TDA2SG support HDMI out, DDR3L and have Gigabit switch? + +Query Text: +Part Number: TDA2 Does TDA2SG support HDMI out, DDR3L and have Gigabit switch? It shows that they are not supported in parametric table. However, in TDA2x datasheet, 'Table 3-1 Device Comparison', it shows that they are supported. Which specifications are valid? http://www.ti.com/product/TDA2?keyMatch=tda2&tisearch=Search-EN-Everything http://www.ti.com/processors/automotive-processors/tdax-adas-socs/products.html + +Responses: +Hi, The Data Manual is correct - TDA2SG supports HDMI out, DDR3L and Gigabit switch. We will work to get table on the products page fixed. Regards, Yordan + diff --git a/sample_embedding_folder2/0728080.txt b/sample_embedding_folder2/0728080.txt new file mode 100644 index 0000000000000000000000000000000000000000..077537383a328b569dc68697aa4a92d0a8cf255f --- /dev/null +++ b/sample_embedding_folder2/0728080.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2: VSDK/OpenCV on RTOS: Running error when imported the pre-build libopencv_objdetect.a and libopencv_highgui.a + +Query Text: +Part Number: TDA2 Tool/software: Linux Dear TI: Building environment: VSDK3.4 and RTOS. add these 2 libs in makefile: _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_objdetect.a _OPENCVAPP_LIBS_a15_0 +=$(OpenCV_PATH)/libopencv_highgui.a Modify the OpenCV use case and build succeeded but encounter error when runing OpenCV: [HOST ] 39.341731 s: IPC_IN_0 : Create in progress !!! [HOST ] 39.342036 s: IPC_IN_0 : Create Done !!! [HOST ] 39.342127 s: ALGORITHM: Create in progress (algId = 5) !!! [HOST ] 39.346977 s: ALGORITHM: Create Done (algId = 5) !!! [HOST ] 39.347068 s: IPC_OUT_0 : Create in progress !!! [HOST ] 39.347068 s: hewei: prevLinkQueId=0, numQue=1 [HOST ] 39.347099 s: IPC_OUT_0 : Create Done !!! [HOST ] 40.864667 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 [HOST ] 40.864667 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 100663296 B (98304 KB), Free size = 100078392 B (97732 KB) [HOST ] 41.075672 s: OpenCV Error: Unspecified error (The storage is not opened) in icvGets, file /datalocal/ti_components/open_compute/opencv_src/tiopencv/modules/core/src/persistence.cpp, line 299 [HOST ] 41.075825 s: Unhandled Exception: [HOST ] 41.075855 s: Exception occurred in ThreadType_Task [HOST ] 41.075855 s: Exception occured in A15 with exception type 18 [HOST ] 41.075855 s: handle: 0x89549ac8. [HOST ] 41.075886 s: stack base: 0x89554df0. [HOST ] 41.075886 s: stack size: 0x4000. [HOST ] 41.075886 s: R0 = 0x72830b0b R8 = 0x89363734 [HOST ] 41.075916 s: R1 = 0x0000093b R9 = 0x00000000 [HOST ] 41.075916 s: R2 = 0x88ec97e6 R10 = 0x89559020 [HOST ] 41.075916 s: R3 = 0x00000000 R11 = 0x89557994 [HOST ] 41.075947 s: R4 = 0x89559ca0 R12 = 0x89547744 [HOST ] 41.075947 s: R5 = 0x893b39f8 SP(R13) = 0x88e13294 [HOST ] 41.075947 s: R6 = 0x89547710 LR(R14) = 0x8f4e2314 [HOST ] 41.075947 s: R7 = 0x8954790c PC(R15) = 0x88e13294 [HOST ] 41.075977 s: PSR = 0x00000000 [HOST ] 41.075977 s: DFSR = 0x00000206 [HOST ] 41.075977 s: IFSR = 0x00000000 [HOST ] 41.075977 s: DFAR = 0x72830b0b [HOST ] 41.076008 s: IFAR = 0x00000000 [HOST ] 41.076008 s: Terminating Execution... [HOST ] 41.076008 s: [HOST ] 41.076038 s: ### XDC ASSERT - ERROR CALLBACK START ### [HOST ] 41.076038 s: [HOST ] 41.076069 s: E_dataAbort: pc = 0x88e13294, lr = 0x8f4e2314. [HOST ] 41.076069 s: [HOST ] 41.076069 s: ### XDC ASSERT - ERROR CALLBACK END ### [HOST ] 41.076069 s: [DSP1 ] 40.864972 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 [DSP1 ] 40.865003 s: SYSTEM: Heap = LOCAL_L2 @ 0x876ac3a4, Total size = 227264 B (221 KB), Free size = 227264 B (221 KB) [DSP1 ] 40.865064 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 524288 B (512 KB), Free size = 518264 B (506 KB) Any suggestion on " OpenCV Error: Unspecified error (The storage is not opened) in icvGets, file /datalocal/ti_components/open_compute/opencv_src/tiopencv/modules/core/src/persistence.cpp, line 299"? thanks and best regards He Wei + +Responses: +Hi He Wei, I am working with team on this to get more information. Will back to you soon Regards, Kumar.D + +Dear Kumar, Thanks in advance. Just to give you more information: we had try both in linux and RTOS environment for the OpenCV, if either one is working, it is good enough for us but either one will give us some issue. We don't need the entire OpenCV libs but at least the libobjdetecion lib shall be working. I have searched around, seems the static lib (.a) need to have "proper" order when linking in makefile to avoid any dependency issue but I can't find what is this proper order. We are new to TI TDA2x and this is really crucial for our development if we can break through it. Thanks and best regards He Wei + +Kumar, Please post your comments/questions on the same thread. Regards Karthik + +Hi He Wei, We have limited support for openCV. We are not actively supporting addition of new openCV libraries. Please refer our Object detection demos using the TI libraries for any specific application. Regards, Kumar.D + diff --git a/sample_embedding_folder2/0728093.txt b/sample_embedding_folder2/0728093.txt new file mode 100644 index 0000000000000000000000000000000000000000..ccecff73ccfd9b48932fd038d799e1e7196da163 --- /dev/null +++ b/sample_embedding_folder2/0728093.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2: EVE Kernel C code in vision SDK + +Query Text: +Part Number: TDA2 Hi, I try understand how to use VCOP and ARP32 in vision sdk. I read guides for EVE and found next steps: 1. Write kernel .k file 2. Get .obj file by cl-arp32 3. Compile ELF file I have some questions: 1. I have .k file. I have simple algorith in Vision SDK, that works on ARP32. What should I do to connect .k file with vision SDK algorithm plugin? 2. What is AlgIvision? It is used in EVE algPlugins run precompiled EVE library, it's right? Where I can read about it? 3. Also I met *.eve.lib in SDK, how can I get if i have .k file? Thank you for answers. + +Responses: +I have found answer on first question: 1. Add *.k file in SRC_FILES.MK like " SRCS_K_arp32_1 += .k " and define function prototype in .c file where it is called. + +Hi Danil, Please find my answer's inline 1. I have .k file. I have simple algorith in Vision SDK, that works on ARP32. What should I do to connect .k file with vision SDK algorithm plugin? >>> refer answe for point 3. 2. What is AlgIvision? It is used in EVE algPlugins run precompiled EVE library, it's right? Where I can read about it? >>> Can you point to the file or folder which you are referring here? 3. Also I met *.eve.lib in SDK, how can I get if i have .k file? >>> These are the library generated when you build eve sw library. The same is located at ti_components\algorithms\eve_sw_01_xx_xx_xx. You can refer evesw_getting_started.pdf to see how to build these. If you add your kernel to the kernels\kernels_list.txt file it will get build and be part of libevekernels.eve.lib. This procedure can also be used for your first question Regards, Anshu + +Hi, I found reference on AlgIvision in censusLink_algPlugin.c, functions AlgIvision_create(), AlgIvision_process() + +Hi, You can refer ti_components\algorithms\eve_sw_01_xx_xx_xx\apps\docs\EVE_Applets_UserGuide.pdf chapter 2 to understand the ivision API's used in these functions. Regards, anshu + diff --git a/sample_embedding_folder2/0728362.txt b/sample_embedding_folder2/0728362.txt new file mode 100644 index 0000000000000000000000000000000000000000..4f26ab085d430c922ac9a4faebe3a0f2563063a0 --- /dev/null +++ b/sample_embedding_folder2/0728362.txt @@ -0,0 +1,14 @@ +Ticket Name: Compiler/TDA2: EVE/KernelC :- Optimization techniques + +Query Text: +Part Number: TDA2 Tool/software: TI C/C++ Compiler Hello There, What are the EVE and/or kernel C optimization techniques ?? Do we have any document for the same?? Regards, Kajal + +Responses: +Hi Kajal, You can refer some examples in EVE software library released by TI to get some idea. Also please refer the TRM for EVE architecture, instruction set to correlate the software examples with the hardware architecture. Regards, Anshu + +Hello Anshu, For now we don't have the TRM for EVE, once we get that we will go through it. But in meanwhile can you please tell us how to reduce the clock cycles in terms of cache & hardware memory utilization. In case of kernel C programming, we have optimized using 16 SIMD width. Do we have any further scope for optimization in Kernel C programming?? Regards, Kajal + +Hi Kajal, EVE doesn't have data cache so there is nothing in terms of cache which can improve performance. Once you have optimized kernels ready then next step would be to set up DMA/ VCOP pipeline in such a way that you can find the data movement via DMA behind VCOP compute. You can refer app\morphology applet to see how it is done. Regarding kernel C optimization I would request you to go though EVE's programmers guide. To get access to this document please contact your local TI contact person. Regards, Anshu + +Hi Kajal, We haven't heard back from you on this thread. Were you able to make progress? If yes please close this thread. Regards, Anshu + diff --git a/sample_embedding_folder2/0728605.txt b/sample_embedding_folder2/0728605.txt new file mode 100644 index 0000000000000000000000000000000000000000..cb22e320b5f55332b7e5b412de3c7edf78a88766 --- /dev/null +++ b/sample_embedding_folder2/0728605.txt @@ -0,0 +1,30 @@ +Ticket Name: CCS/TDA2PXEVM: Hwi_disable() function definition + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Tool/software: Code Composer Studio Hi, I'm trying to test whether interrupts are enabled for a vision SDK usecase by setting a breakpoint at Hwi_disable(), but I can't seem to find the function definition? Thanks, Richard + +Responses: +Hi Richard, Hwi_disable is a BIOS API. You will have to build SDK in debug mode and step into BIOS APIs to see the definition. You are trying this on which CPU? Regards, Rishabh + +Hi Rishabh, I'm not interested in the internals of hwi_disable per se, I just wanted to be able to set a breakpoint there for debugging. Since it's a BIOS API, does this mean I can't set a breakpoint at its definition? I am trying this for the camera + radar combo usecase, which registers the interrupt handler to GPIO7_9 on the TDA2PxEVM board. However, I am not sure which CPU GPIO7_9 corresponds to. My problem is that when I probe GPIO7_9, I can see the interrupt request come over. In the software for the usecase, the interrupt handler is also registered to GPIO7_9. However, when I add a breakpoint at and printf() to the interrupt handler, I can tell that it's never invoked. Alternatively, is there some better way for me to verify whether interrupts are enabled correctly for this usecase, rather than stepping through the code and examining every call to hwi_enable and hwi_disable? Thanks, Richard + +Hi Richard, GPIO7_9 does not correspond to any CPU. User decides to run on a particular CPU for a particular use case. Can you point to the name of exact use case which you are trying to run. Regards, Rishabh + +Hi Rishabh, I am running the "Camera and Radar Capture + Radar Processing (DSP1) + Display (HDMI)" usecase, under "Camera and Radar Combo Use Cases". Based on the usecase files, it looks like the CPUs IPU1_0 and DSP1 are used. Thanks, Richard + +Hi Richard, You need to know what is the exact CPU where you are running this code. In case you want to check if interrupt is getting set you should check the GPIO registers for IPR bit. In case IPR is set in GPIO you should make sure that crossbar is configured correctly. Regards, Rishabh + +Hi Rishabh, The IPU1_0 is the CPU running this code. Here is what my CCS registers tab looks like: How can I tell which are the GPIO registers? Thanks, Richard + +Hi Richard, Ok so you are running on IPU. Can you refer to TRM for GPIO7 registers. Regards, Rishabh + +Hi Rishabh, I looked in the TRM and found the "PM_L4PER_GPIO7_WKDEP" register. Is this the relevant interrupt enable register? When I view the register after loading binaries onto the TDA2 board, the value indicates all wakeup dependencies are disabled. When I try to view it again once the code has progressed to the point at which it's waiting for the interrupt, I get a "target failed to read" error. Are there additional settings I need to configure in order to view the register once the code has begun to execute? In addition, I don't see any reference to an IPR bit for any of the GPIO registers. Thanks, Richard + +Hi Rishabh, I figured out that the interrupts were correctly enabled. Thanks, Richard + +Hi Richard, It is not clear to me if the issue is resolved or not. Can you let me know what was the root cause? Regards, Rishabh + +Hi Rishabh, I rolled back my modified Vision SDK to an earlier version, added only the essential modifications from the current version, and interrupts from the radar chip were successfully detected. I was not able to identify a specific root cause. Thanks, Richard + +Ok thanks. I will close this thread. Regards, Rishabh + diff --git a/sample_embedding_folder2/0728749.txt b/sample_embedding_folder2/0728749.txt new file mode 100644 index 0000000000000000000000000000000000000000..31baec5c48016e0caea09268b18cb6e5ad8d4bc3 --- /dev/null +++ b/sample_embedding_folder2/0728749.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: DDR3 Routing Specifications + +Query Text: +Part Number: TDA2 Referring to TDA2 data sheet, Table 8-52, are there typo errors in unit? Example, should the A1+A2 length in mil instead of ps? Or how to correlate the max 500ps to signal length? + +Responses: +Hi, The units ("ps") are correct. Determining the max signal length (in mils) will be dependent on the material of the PCB and whether the signals are routed as microstrip or stripline. Best regards, Kevin + diff --git a/sample_embedding_folder2/0728768.txt b/sample_embedding_folder2/0728768.txt new file mode 100644 index 0000000000000000000000000000000000000000..e3b5183ffccc8d342858754a730a62a86aa47452 --- /dev/null +++ b/sample_embedding_folder2/0728768.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: TDA2 CPU Selection Issues + +Query Text: +Part Number: TDA2 Dear E2E: Project: streaming media rearview mirror project, Now it was in selection station. Due to the inconsistent camera resolution and LCD resolution,it need to do some processing. The current competitor is Renesas Iw8836 720p/iw8845 1080p, customers ask TI whether there are similar cost-effective product recommendations. Thank you. Customer needs are as follows Camera input signal 1280*800, LCD resolution is about 1280*400. The Camera image can be converted to the LCD with integrated storage. Video ICs or CPUs with integrated Video ICs are fine. thanks . + +Responses: +hello, You can refer to this page for guidance and additional details for your use-case http://www.ti.com/processors/automotive-processors/tdax-adas-socs/applications/mirror-replacement-system.html I would recommend TDA3x for the system you describe. regards Kedar + diff --git a/sample_embedding_folder2/0728814.txt b/sample_embedding_folder2/0728814.txt new file mode 100644 index 0000000000000000000000000000000000000000..09a8eac10cf523c261581b0d9b1288972fcc78c7 --- /dev/null +++ b/sample_embedding_folder2/0728814.txt @@ -0,0 +1,16 @@ +Ticket Name: RTOS/TDA2: Part number selection + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Sir, Now we are using TDA2x part number is TDA2SXBTQABCQ1 to implement TIDL OD, LD and TSR, but could we use TDA2SGBRQABCQ1 (only 1xA15, the rest of functions are the same) or lower version (e.g. TDA2HGBRQABCQ1) for cost saving w/o performance degradation? Please refer to the attachment to help double check what's minimum version of HW chipset for PROCESSOR SDK-VISION-03.04 OD, LD and TSR (we are combining OD, LD and TSR functions). Thank you. SidneyADAS TDA2 Part number.xlsx + +Responses: +Hi Sidney, The TDA2x part number selection depends on your use case and fps requirement. We provide the performance of our modules in Mega Cycles in their respective data sheets and from these numbers you can calculate the performance and can choose required TDA2x part number. For example, TIDL OD usecase need "96.24 Mcycles" on EVE and need "5.87 Mcycles" on DSP, mentioned in the data sheet. Thanks, Praveen + +Hi Praveen, I can not find it from datasheet (Silicon Revision 2.0), could you advise me which one document to show TIDL OD usecase need "96.24 Mcycles" on EVE and need "5.87 Mcycles" on DSP ? BTW, except EVE and DSP, will it also tell me when we need 2xA15 or 1xA15 only due to local FAE informed me TIDL OD needs 2xA15? Sidney + +Hi Sidney, You can find this document (TIDeepLearningLibrary_DataSheet.pdf) in VSDK at \ti_components\algorithms\REL.TIDL.01.01.01.00\modules\ti_dl\docs folder. Also, this A15 core details will be given in use case chains and this can be find in VSDK at "\vision_sdk\apps\src\rtos\usecases\tidl_OD\chains_tidlOD.jpg". Thanks, Praveen + +Hi Praveen, Thank you for prompt reply. For EVE and DSP, I can learn from the document of TIDeepLearningLibrary_DataSheet.pdf. But from chains_tidlOD.jpg, there is only one A15 on the diagram, does it mean TIDL OD just needs one A15? Now we are using TDA2x part number is TDA2SXBTQABCQ1 (2xA15) to implement TIDL OD, LD and TSR, but we would like to change to use TDA2SGBRQABCQ1 (only 1xA15) and not sure it is available for TIDL OD, LD and TSR applications. Thank you. Sidney + +>> But from chains_tidlOD.jpg, there is only one A15 on the diagram, does it mean TIDL OD just needs one A15? Yes, correct. TIDL OD needs one A15 core. For other use cases also you can check the use case diagrams. Thanks, Praveen + diff --git a/sample_embedding_folder2/0728915.txt b/sample_embedding_folder2/0728915.txt new file mode 100644 index 0000000000000000000000000000000000000000..c8bda8ab29eba60f8fbffd225580822d504f6b94 --- /dev/null +++ b/sample_embedding_folder2/0728915.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Complete TDA2 part number in TDA2Px-ACD CPU EVM Board + +Query Text: +Part Number: TDA2 Hi, What's complete part number in TDA2Px-ACD CPU EVM Board? Where could get schematic? + +Responses: +Hi, the CPU on the EVM is a "superset" part that can be configured as particular TDA2Px device. You can find EVM schematics (along with other documents) here: www.ti.com/.../tda2pxevm Regards, Yordan + diff --git a/sample_embedding_folder2/0729194.txt b/sample_embedding_folder2/0729194.txt new file mode 100644 index 0000000000000000000000000000000000000000..154a3a63cf0183580cd5b31783045e133aabb16a --- /dev/null +++ b/sample_embedding_folder2/0729194.txt @@ -0,0 +1,18 @@ +Ticket Name: TDA2: Any limit for eltwise in tidl? + +Query Text: +Part Number: TDA2 Hi, I use the the following block in cifar-10 network, but it always go wrong. And I try to change it to the following block, and it works well, but accuracy has a large drop There is something wrong with the first block or something limits for eltwise block? Thanks + +Responses: +Both the cases are suported by TIDL. are your using caffe or tensorflow trained model? For the first case are you oberserving import issue or wrong inference output? Can you share the model, we will have look. Rgerda, Kumar.D + +Hi, Please help to check the model, thanks eltwise_without_relu_previous.tar.gzeltwise_with_relu_previous.tar.gz + +Hi , Do you have any updates about this issue? Thanks. Jerry + +Hi Jerry, I am working on it, I will post my response here as soon as I have some update. Thanks for your patience. Regards, Praveen + +Hi Jerry, As indicated in the TIDL user guide section 3.9 TIDL Limitation, Eltwise layer only supported on inputs of same types, but in the first case (eltwise_without_relu_previous), one input "layer_64_1_bn3" is signed and other input "conv1_pool" unsigned, so it is not supported and hence not working. Please make sure both the input should be of same type (either both are unsigned or signed inputs). Thanks, Praveen + +Hi Praveen, Got it. I'll modify the net structure to satisfy this limitation, and make a validation later. thanks for your help. Thanks, Jerry + diff --git a/sample_embedding_folder2/0729225.txt b/sample_embedding_folder2/0729225.txt new file mode 100644 index 0000000000000000000000000000000000000000..9c4699dcf3a59d575fe4a6a1a098fb217f40e399 --- /dev/null +++ b/sample_embedding_folder2/0729225.txt @@ -0,0 +1,22 @@ +Ticket Name: Linux/TDA2: how to creat vcop_median3x3_kernel.c and vcop_median3x3_kernel.h from vcop_median3x3_kernel.k + +Query Text: +Part Number: TDA2 Tool/software: Linux in SDK_VISION_03_02_00_00\ti_components\algorithms\eve_sw_01_18_00_00\kernels\imgsiglib\vcop_median3x3 have vcop_median3x3_kernel.k how can i creat vcop_median3x3_kernel.h? thanks shuai + +Responses: +Shuai, We have already discussed this in the following thread : e2e.ti.com/.../2676382 Is it still not clear? Regards, Anshu + +Hi Anshu yes ,i cannot generate vcop_median3x3_kernel.h from vcop_median3x3_kernel.k i compile SDK_VISION_03_02_00_00\ti_components\algorithms\eve_sw_01_18_00_00\kernels\imgsiglib\vcop_median3x3 by gmake also cannot generate vcop_median3x3_kernel.h. BESTWISHES shuai + +Are you using makefiles which comes as part of EVESW? Can you explain how are you building? Regards, Anshu + +Hi Anshu cmd to D:\ti_SDK_VISION_03_02_00_00\ti_components\algorithms\eve_sw_01_18_00_00\kernels\imgsiglib\vcop_median3x3\test then run gmake target, in D:\ti_SDK_VISION_03_02_00_00\ti_components\algorithms\eve_sw_01_18_00_00\kernels\imgsiglib\vcop_median3x3\test\elf_out creat vcop_median3x3_kernelC.out. follow is the log ! D:\ti_SDK_VISION_03_02_00_00\ti_components\algorithms\eve_sw_01_18_00_00\kernels\imgsiglib\vcop_median3x3\test>gmake target D:\ti_ccsv7\ccsv7\utils\cygwin\mkdir -p ".\elf_out" || cd ".\elf_out" "D:\ti_SDK_VISION_03_02_00_00\ti_components\cg_tools\windows\arp32_1.0.7"\bin\cl-arp32 -O3 --opt_for_speed=5 -kh --silicon_version=v210 -lu --display_error_number --diag_suppress=26066 --diag_suppress=10063 -I"D:\ti_SDK_VISION_03_02_00_00\ti_components\cg_tools\windows\arp32_1.0.7"\include -I"D:\ti_SDK_VISION_03_02_00_00\ti_components\cg_tools\windows\arp32_1.0.7"\include\vcop -I . -I"..\..\..\..\common" -I"..\..\..\common" -I"..\..\..\..\starterware\inc" -I"..\..\..\..\star terware\inc\baseaddress\vayu\eve" -I"..\..\..\inc" -I"..\inc" vcop_median3x3_config.c vcop_median3x3_tb.c "..\..\..\..\common\configparser.c" "..\..\..\..\common\eve_profile.c" "..\..\..\..\common\curve_fitting.c" "..\..\..\..\common\ti_stats_collector.c" ..\..\..\common\boot_arp32.obj -z -l ..\src_kernelC\vcop_median3x3_kernel.obj -l..\..\..\lib\release\libevenatckernels.eve.lib -l"..\..\..\common\linker_boot_cama.cmd" -l"D:\ti_SDK_VISION_03_02_00_00\ti_components\cg_tools\ windows\arp32_1.0.7"/lib/rtsarp32_v200.lib -l"..\..\..\..\starterware\libs\vayu\eve\release\libevestarterware_eve.lib" -m ".\elf_out"\vcop_median3x3_kernelC.map -o ".\elf_out"/vcop_median3x3_kernelC.out [vcop_median3x3_config.c] [vcop_median3x3_tb.c] [configparser.c] [eve_profile.c] [curve_fitting.c] [ti_stats_collector.c] BESTWISHES shuai + +Shuai, The header vcop_median3x3_kernelC.h will be generated inside /kernels/inc directory. Please check if you can find it there. Regards, Anshu + +Hi Anshu befor i compile in D:\ti_SDK_VISION_03_02_00_00\ti_components\algorithms\eve_sw_01_18_00_00\kernels\inc have vcop_median3x3_kernelc.h and vcop_median3x3_kernelc.c , i move them and rebuild generate vcop_median3x3_kernel.h. so this thread is over! thanks ! shuai + +Can we close this thread? Regards, Anshu + +Hi: Anshu Of course! Regards, shuai + diff --git a/sample_embedding_folder2/0729258.txt b/sample_embedding_folder2/0729258.txt new file mode 100644 index 0000000000000000000000000000000000000000..4603b27e4df866a1644c37f4a973743a4a6ee30a --- /dev/null +++ b/sample_embedding_folder2/0729258.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2: How to exchange data between IPU1_0 and IPU1_1 + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Sir, I have a global variable "Var" at IPU 1-1. How to exchange "Var" to IPU1-0 if need? Could you please give me advise? Thanks. + +Responses: +Hi Prince, You need to allocate the buffer from the shared memory space. This shared memory space will be accessible on all cores.. Rgds, Brijesh + +Hi Brijesh, Thanks for your reply. Have any links or utils of SDK can study? + +Hi Prince, Look the usage of the object gSystemLinkStatsCoreObj in the vision sdk. This object is allocated from non-cached shared section and accessed from all cores. Rgds, brijesh + +Thanks for your support. + diff --git a/sample_embedding_folder2/0729324.txt b/sample_embedding_folder2/0729324.txt new file mode 100644 index 0000000000000000000000000000000000000000..e90432bd3f854429581a76e3475300dcf878dc00 --- /dev/null +++ b/sample_embedding_folder2/0729324.txt @@ -0,0 +1,20 @@ +Ticket Name: TDA2: TIDL-1.1 SSD model test application in host emulation mode encountered memory leak + +Query Text: +Part Number: TDA2 Hi 1.Now, when i use below configuration on pc to do ssd, I encounter memory leak problem. beause i want use pc simulate eve to do ssd, so I build the tidl_alg.lib use command: gmake TARGET_PLATFORM=PC TARGET_BUILD=release CORE=eve all 2.I track the code, finding that when comment each other the below two code slice, memory no longer leaks, (1) (2) 3. i use model within the tidl package, below is the model jdetnet.zip + +Responses: +configuration is as below #if defined(HOST_EMULATION) || (VCOP_HOST_EMULATION) #define ENABLE_TRACE_PROFILE (0) #define ENABLE_REF_COMPARISION (0) /* To enable the natural C-code for the optimized C66x kernels */ #define ENABLE_CN_CODE (0) #define ENABLE_PRINTFS (0) + +Hi, What is the TIDL release version you are using? What kind of memory leak you are observing? Can you please share some screenshot of the memory leak ? Thanks, Praveen + +i use tidl 01.01.00.00 the memory leak as follow, with the program runnig, it used memory increasingly as follows: some time later, as follows finally, the program exit. + +Hi, Can you please check with latest TIDL release version tidl 01.01.01.00 ? Because we fixed similar issue in this release. Thanks, Praveen + +Hi: I can not get latest tidl version, can you build a pc version lib for me. with command:gmake TARGET_PLATFORM=PC TARGET_BUILD=release CORE=eve all thanks + +can you tell me what result in this memory leak, i want to solve this with tidl 01.01.00.00. because our cdds account expired, can not get 01.01.01.00. + +Hi, Sorry, couple of files are modified for this fix and also we can not share source code here. Please contact your local TI FAE for getting access to CDDS as it is good to have latest releases and also we do provide releases regularly. Thanks, Praveen + diff --git a/sample_embedding_folder2/0729366.txt b/sample_embedding_folder2/0729366.txt new file mode 100644 index 0000000000000000000000000000000000000000..89290b5e69b476914c90b997534ff93ab7f74e6a --- /dev/null +++ b/sample_embedding_folder2/0729366.txt @@ -0,0 +1,30 @@ +Ticket Name: Linux/TDA2: OV490 video output issue in VSDK 3.04. + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi , I am using a custom Board and running VSDK 3.04 with Linux usecase. In VSDK 3.04 ,the ov490 video output via chains like this: IPU capture -> split ->IPC -> A15 -> SGX -> IPU display. and in IPC Link , the Video BufAddr export to dmaFd ,mapped to tex[]. THE ISSUE is that SPLIT LINK using address manipulation only , the stitched two video exported to the same dmaFd, so it cannot split the video frame. Any clues to help me split the stitched video buf ? Best regards, John + +Responses: +Hi, Split link splits vertically the incoming video data to multiple channel in its output queue by changing the buffer address. Can you tell me exactly what you want to do so that i can help you properly. Regards, Anuj + +i think it splits the frame horizontally. Essentially, for same input buffer, it gives out two buffer pointer, one for the start address and other middle of the line.. It does not really do any buffer copy, just buffer pointer manipulation What exactly your requirement? Regards, Brijesh + +thanks for reply. I tested the srv linux usecase with ov490 ISP. But the 4 textures displayed 2 camera videos with 2 duplicated ones. as below. I checked the code, the tex[0], tex[1] mapped the same dmaFd. So did the tex[2], tex[3]. I want 4 camera videos to displayed. regards, John + +Hi, Can you explain your complete setup. As the above usecase has been designed by Ti for a specific customer which uses 4 cameras capturing at 1280*720 and 2 cameras going to OV490 which gives a total of 2 output of 2560*720 for 4 cameras input. So if you have similar kind of setup then only use the above usecase. Regards, Anuj + +Hi, Anuj Thanks for reply. It is the same kind of setup . A total of 2 output of 2560*720 for 4 cameras input. I check the code about vmem and egl. And print out the address before dma-export. But I cannot find how to print out the address after dma-export in egl function. How can I check the exported YUV address ? For comparing the different? Regards, John + +Hi, For debugging purpose can you try to run the similar usecase which is provided for bios for OV490 Regards, Anuj + +Hi, Why not Linux usecase? Have ti tested for linux usecase? It runs ok in Vision SDK 2.xx Regards, John + +Hi, Yes, you can go ahead with linux usecase also. For better debugging can you modifying your usecase and add merge after the 2 splits link and then display and dynamically display all channels alternatively. Above approach will be easier in debugging. Regards, Anuj + +Hi, Thanks for your suggest. I will try it. Any suggest for debugging Linux usecase? Regards, John + +Hi, You can modify your linux usecase only, no need to move to bios. Regards, Anuj + +Hi Anuj, In my board, the YUV output from OV490 like this: cam1 addr 1 | cam2 addr 2 Y1 Y2 ... Y1280 | Y1281 .... Y2560 Y2 .... ... Y720 ........ U1, V1, ... ... Now my problem is that the DMABUF export the data which 4K page aligned as a dmafd. Any offset in this page are masked. So how can I pass two address within this page to GPU? Here is my other question thread: e2e.ti.com/.../737370 Regards, John + +Close the thread as there is a new one. Regards, Yordan + diff --git a/sample_embedding_folder2/0729607.txt b/sample_embedding_folder2/0729607.txt new file mode 100644 index 0000000000000000000000000000000000000000..3f69b810a87bca1ce5e5f1d8b906d2fd2d24e51d --- /dev/null +++ b/sample_embedding_folder2/0729607.txt @@ -0,0 +1,36 @@ +Ticket Name: RTOS/TDA2: TIDL ssd result different on EVE platform and PC + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi: I trianed an ssd model, buf found that the result is different between the eve platform and PC host emulation in some video frame + +Responses: +Hi Can you share the make command used for building PC host emulation ? + +gmake TARGET_PLATFORM=PC TARGET_BUILD=release CORE=eve all and gmake TARGET_PLATFORM=PC TARGET_BUILD=release CORE=eve RUN_REF_FOR_STATS=1 all i try both the above two command, but the result is similar. + +With the below command it is expedted to match with EVE target gmake TARGET_PLATFORM=PC TARGET_BUILD=release CORE=eve all but not for the other. Can you enebale layer level trace for PC and target and locate the miamatching layer + +how i can enable layer level trace , and when enable the layer level trace what Ican see? + +do you mean I can enable layer level trace by enable below define? #define ENABLE_TRACE_DUMP (1) but when I enable this, on the eve platform i can not successfully build appimage on pc, when enable this define, i can get layer level trace data. + +Hi how i can enable layer level trace for target. thanks. + +You need to build standalone test application for EVE and run using JATG and CCS + +Hi: when i load eve_test_dl_algo.out, i encountered follow problem: ARP32_EVE_1: Trouble Reading Memory Block at 0x0 on Page 0 of Length 0xad: (Error -1065 @ 0x0) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.232.0) can you help me to look at what the probelm. i can load dsp_test_dl_algo.out successfully. + +i use simulator to run the standalone test, but i can not get layer level trace data. And the result between standalone test and PC differs some pixels for the detected box, is this expected. + +Can you check below flag in *multicore_reset.gel for loading code in EVE #define EVE_SW_CONFIG 1 /* Applicable for EVE_SW users only * Effective only when * VISION_SDK_CONFIG == 0 */ + +Target execution shall mathc with host emualtion (gmake TARGET_PLATFORM=PC TARGET_BUILD=release CORE=eve all) + +in which package and which directory i can find *multicore_reset.gel thanks + +thanks, i find the .gel file + +i still can not load program into eve with jtag. i changed the value you said. + +i import the same input to platform, finally we get the result with one pixel difference compared with pc. through this, we think, with the same input image, the output from vpe and tidlpreproc link is different from pc in which we use opencv get the rgb data from the input image. + diff --git a/sample_embedding_folder2/0729676.txt b/sample_embedding_folder2/0729676.txt new file mode 100644 index 0000000000000000000000000000000000000000..bf998da3cc49c70f95226d075f79d83b10a81e63 --- /dev/null +++ b/sample_embedding_folder2/0729676.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2EXEVM: TDA2 ISSCAPTURE + +Query Text: +Part Number: TDA2EXEVM Tool/software: Linux Dear Sir: We are using VSDK 03_04_00_00. We try to use the CSI2 format to capture from the MIPI interface. When setting the inCsi2DataFormat to SYSTEM_CSI2_YUV422_8B, it is okay. However when trying using the SYSTEM_CSI2_YUV420_8B or SYSTEM_CSI2_YUV420_8B_LEGACY, it fail to create the ISSCAPTURE link. By tracing the code, I see that the underlying link only support SYSTEM_CSI2_YUV422_8B, but not supporting the 420 format. But if tracing the PDK driver, we can see there is no such forbidden case in the PDK. Because the heat problem in the CPU, we want to try lower down the CSI2 transmitted data to reduce the heat when 8 channel(4CH in Parallel and 4 CH in CSI-2) are using in our board. My question is that: is it possible to use YUV420_8B or 420_8B_LEGACY in the PDK? Because both of these 2 types sending less data through the CSI-2 interface. Dos PDK support it? Or does TI has any plan to support it in ISSCAPTURE link in the future? Regards, /ckhsu + +Responses: +Hi ckhsu, ISS Capture driver supports all formats, but link is limited to few formats. You could easily add support for these formats in the iss capture link. The change required are in this check data format function and buffer allocation function. Can you make the changes and try it out? Regards, Brijesh + +Hi Brijesh: I see. I paste the places that should be modified in the end of the response, please let me know whether it is correct place or not. However from what I understand, the LEGACY YUV420 8 bit frame is send through MIPI as following: U1Y1Y2 U3Y3Y4 ...... U637Y637Y638U639Y639Y640 ==> Odd line V1Y1Y2 V3Y3Y4 ...... V637Y637Y638V639Y639Y640 ==> Even line ...... In LEGACY YUV 420 8bit the pitch is fixed, it should be okay to add in the ISSCAPTURE link. But the YUV 420 8bit data in the MIPI is Y1Y2......Y639Y640 ==> Odd lines U1Y1V1Y2U3Y3V3Y4......U637Y637V637Y638U639Y639V639Y640==> Even Lines And the Odd and Even lines are in different sizes. And how this should be modify in the Link code? Or should this type be ignore in the link? Because This color space is quite different from the original UYVU422 or YUV420SP etc, I don't know how this should be done in described in the QueueInfo and Frames buffer struct. Can you give me some hints about this color space? I suppose the place to add the code is in this part inside IssCaptureLink_drvCreate. ////////////////////////////////////// for (chIdx = 0U; chIdx < pPrm->numCh; chIdx++) { pitchMul = getPitchMultiplier(&pPrm->outParams[chIdx], pObj->createArgs.videoIfMode, pObj->createArgs.videoIfWidth); pQueChInfo = &pObj->info.queInfo[0U].chInfo[chIdx]; pQueChInfo->width = pPrm->outParams[chIdx].width; pQueChInfo->height = pPrm->outParams[chIdx].height; pQueChInfo->startX = 0; pQueChInfo->startY = 0; pQueChInfo->pitch[0] = SystemUtils_align(pObj->createArgs.outParams[chIdx].maxWidth * pitchMul, ISSCAPTURE_LINK_BUF_ALIGNMENT); pQueChInfo->pitch[1] = 0; pQueChInfo->pitch[2] = 0; pQueChInfo->flags = System_Link_Ch_Info_Set_Flag_Data_Format(pQueChInfo->flags, pObj->createArgs.outParams[chIdx].dataFormat); pQueChInfo->flags = System_Link_Ch_Info_Set_Flag_Scan_Format(pQueChInfo->flags, SYSTEM_SF_PROGRESSIVE); /* Using complex IO cont flag instead of PHY/PPI, as CAL would require an instance of complex io for an instance of PHY */ UTILS_assert(VPS_ISS_CAL_MAX_CMPLXIO_INST > pObj->createArgs.outParams[chIdx].phyInstance); } ///////////////////////////////////////// I suppose the Bualloc is in Int32 IssCaptureLink_drvAllocFrames(IssCaptureLink_Obj *pObj) And in if(System_useLinkMemAllocInfo( &pObj->createArgs.memAllocInfo)==FALSE) { fvid2Frame->addr[0][0] = Utils_memAlloc( UTILS_HEAPID_DDR_CACHED_SR, pObj->outBufSize, SYSTEM_BUFFER_ALIGNMENT ); } else { fvid2Frame->addr[0][0] = System_allocLinkMemAllocInfo( &pObj->createArgs.memAllocInfo, pObj->outBufSize, SYSTEM_BUFFER_ALIGNMENT ); } ///////////////////////////////////////////////////////////// Regards, /ckhsu + +Hi Brijesh: The MIPI 420 information can be found in the MIPI document. And there is a draft documents on net electronix.ru/.../index.php Please see the page 77 for YUV420 8 bit packet format. Regards, /ckhsu + +Hi ckhsu, You could change the pitch and set the CSI data type to capture this frame. But how do you separate luma and chroma planes. Capture modules will not be able to separate them, they will be interleaved when captured.. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0729740.txt b/sample_embedding_folder2/0729740.txt new file mode 100644 index 0000000000000000000000000000000000000000..53772dc7c6faf8470c3d7ce116aaf7b2c5c1fe2b --- /dev/null +++ b/sample_embedding_folder2/0729740.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2: Question for VIP YUV to RGB + +Query Text: +Part Number: TDA2 Hi, The VIP input is YUV 422: 1、If we change outParams[0].dataFormat to SYSTEM_DF_RGB24_888, the capture does not work(CaptureLink_drvProcessData() has no print log). 2、If we change outParams[0].dataFormat to SYSTEM_DF_YUV420SP_UV, the capture working(CaptureLink_drvProcessData() has print log). Does any possible param set loss or other sugguestion for this issue? + +Responses: +Hi Bin Ye, Can you please check if CSC is enabled in the path? It should work. Rgds, Brijesh + +Hi Brijesh, We have some new clue for this issue: 1、In function VpsHal_dssConfVidPipe, the “vidConf->inFmt.dataFormat” is always FVID_DF_YUV420SP_UV whatever the outParams[0].dataFormat is set to SYSTEM_DF_RGB24_888 or SYSTEM_DF_YUV420SP_UV or other format. It is hard for us to find how the dataFormat coming due to the some function invoking is not explicit between ti component and vision_sdk. Could you tell us what is the source configure place for inFmt.dataFormat? 2、In function VpsHal_dssConfVidPipe, only YUV format could entry halDssVidConfCscEnable as below. Does it need to add condition for RGB? if ((vidConf->inFmt.dataFormat == FVID2_DF_YUV422I_YUYV) || (vidConf->inFmt.dataFormat == FVID2_DF_YUV420SP_UV) || (vidConf->inFmt.dataFormat == FVID2_DF_YUV422I_UYVY)) { halDssVidConfCscEnable(handle, (UInt32) 1U); } 3、In function halDssConvFvid2DataFmt, there is no case for FVID2_DF_RGB24_888(only have FVID2_DF_BGR24_888), does it means RGB888 not support? Int32 halDssConvFvid2DataFmt(UInt32 handleId, UInt32 fvid2Fmt) { Int32 fmt; Int32 dssVidPipe, dssWbPipe; dssVidPipe = VpsHal_dssIsVidPipe(handleId); dssWbPipe = VpsHal_dssIsWbPipe(handleId); if (((Int32) TRUE == dssVidPipe) || ((Int32) TRUE == dssWbPipe)) { switch (fvid2Fmt) { case FVID2_DF_YUV422I_UYVY: fmt = 0xb; break; case FVID2_DF_YUV422I_YUYV: fmt = 0xa; break; case FVID2_DF_YUV420SP_UV: fmt = 0; break; case FVID2_DF_BGR24_888: /*RGB24-888*/ fmt = 0x9; break; case FVID2_DF_XBGR_4444: /*RGBX12_4444*/ fmt = 0x1; break; case FVID2_DF_BGRX_4444: /*XRGB12_4444*/ fmt = 0x4; break; case FVID2_DF_BGRA16_4444: /* ARGB16_4444*/ fmt = 0x5; break; case FVID2_DF_ABGR16_4444: /*RGBA16_4444*/ fmt = 0x2; break; case FVID2_DF_BGRX16_5551: /*xRGB16-1555*/ fmt = 0xF; break; case FVID2_DF_BGRA16_5551: /*ARGB16-1555*/ fmt = 0x7; break; case FVID2_DF_BGR16_565: /* RGB16- 565*/ fmt = 0x6; break; case FVID2_DF_BGRX24_8888: /*xRGB24-8888*/ fmt = 0x8; break; case FVID2_DF_XBGR24_8888: /*RGBx24-8888*/ fmt = 0xE; break; case FVID2_DF_BGRA32_8888: /*ARGB32-8888*/ fmt = 0xc; break; case FVID2_DF_ABGR32_8888: /*RGBA32-8888*/ fmt = 0xd; break; case FVID2_DF_ARGB32_8888: /*BGRA32-8888*/ fmt = 0x3; break; default: fmt = BSP_EFAIL; break; } } Rgds, Ye + +Has any sugguestion for this issue? We are very puzzled... + +Hi Bin Ye, The code that you are looking at is for the DSS. DSS support YUV to RGB using CSC and it supports on BGR format.. But i guess what you are looking for is YUV to RGB conversion in VIP, isn't it? Regards, Brijesh + +Ok, we'll check it, thx. + diff --git a/sample_embedding_folder2/0729884.txt b/sample_embedding_folder2/0729884.txt new file mode 100644 index 0000000000000000000000000000000000000000..c0a8665bfd19597d7c011fa29d9378eabee8f74b --- /dev/null +++ b/sample_embedding_folder2/0729884.txt @@ -0,0 +1,14 @@ +Ticket Name: Compiler/TDA2: Gmake optimization and language options + +Query Text: +Part Number: TDA2 Tool/software: TI C/C++ Compiler Hi, I use vision sdk 3.04 for ubuntu. How could I enable optimization and c99/c11 options for gmake? Or where can I read about it? Thanks for answers. + +Responses: +Hi, You can add c flags in vision_sdk/build/rtos/makerules/ Please follow the below doc \PROCESSOR_SDK_VISION_03_03_00_00\vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_UserGuide_BuildSystem.pdf Regards, Anuj + +Hi, For example, For A15 add "CFLAGS_INTERNAL+= -std=c99 " enable c99 option, is it right? + +Hi, You can not do like that coz if you modify CFLAGS_INTERNAL it will be same for c and cpp file and for cpp files -std=c99 is not a valid flag. So add it where it compiling c files only like below $(OBJ_PATHS): $(OBJDIR)/%.$(OBJEXT): %.c $(ECHO) \# Compiling $(PLATFORM):$(CORE):$(PROFILE_$(CORE)):$(APP_NAME)$(MODULE_NAME): $< $(CC) -MD -MF $(DEPDIR)/$(basename $(notdir $<)).P -std=c99 $(_CFLAGS) $(INCLUDES) $(CFLAGS_DIROPTS) -o $(OBJDIR)/$(basename $(notdir $<)).$(OBJEXT) $< Regards, Anuj + +Thank you + diff --git a/sample_embedding_folder2/0729926.txt b/sample_embedding_folder2/0729926.txt new file mode 100644 index 0000000000000000000000000000000000000000..38ee65946ab61065a81f95afc44ca99ccc425032 --- /dev/null +++ b/sample_embedding_folder2/0729926.txt @@ -0,0 +1,20 @@ +Ticket Name: Linux/TDA2: Cannot write to SSD from OSA_memAllocSR() buffers with O_DIRECT flag + +Query Text: +Part Number: TDA2 Tool/software: Linux Hello, I'm using Processor SDK 3.03, building for custom board with TDA2 chip. The usecase that we have fills 4 input buffers in NullSrc link from a file on SD card and forwards them to a link that we are using to write those buffers to an SSD. We have successfully written to 4 files opened without O_DIRECT flag using write() API. However, the CPU load is very high which is resulting in frame drops and we attributed that to heavy file system caching we suspect is being done in the background. The next thing we did was try to open files with O_DIRECT flag on but there was nothing written to the files and the "dstat" shows no disk activity. We looked into it and found out that the write() is not being done at all, returning -1 instead. The errno error was "Bad address". We know that O_DIRECT usage requires proper buffer alignment but we made sure that they are aligned in several ways (printing the address to console as well as using this nifty trick here: http://www.titov.net/2006/01/02/using-o_largefile-or-o_direct-on-linux ) but to no avail, it keeps returning -1. I just stumbled upon this post: https://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/t/242361#pi320098=3. It has something to do with the SR buffers being allocated in CMEM pool that the kernel cannot see or something like that. Is there any way to overlap a CMEM pool and the memory that kernel can see? Or is there something else entirely? Thank you in advance. Regards, Nick + +Responses: +Hi Nick, Is the write going through without O_DIRECT? Regards Shravan + +Hi Shravan, Yes, I mentioned it in the original post. Regards, Nick + +Hi Nick, Can you try the below changes and let me know if it works. 1. Update the following entries in apps/build/tda2px/mem_segment_definition_linux.xs in VSDK SR1_BUFF_ECC_ASIL_SIZE = 1*MB; SR1_BUFF_ECC_QM_SIZE = 1*MB; SR1_BUFF_NON_ECC_ASIL_SIZE = 1*MB; 2. Add the below line to links_fw/src/hlos/osa/src/osa_mem.c in VSDK "#define OSA_BEBUG_MEM" 3. When you're writing to the file using o_direct, please print the physical and virtual address of the buffer being written. Once all these changes are made, please perform a clean build, and send over the logs. Regards Shravan + +Hi Shravan, Unfortunately it did not work. Please find the log in the attachment. Buffer addresses are: [HOST] [HOST ] 261.854328 s: Buffer 0 virtual address = 0xa1fb3000 [HOST] [HOST ] 261.854328 s: Buffer 0 physical address = 0x84500000 [HOST] [HOST ] 261.857561 s: Buffer 1 virtual address = 0xa21ae000 [HOST] [HOST ] 261.857561 s: Buffer 1 physical address = 0x846fb000 [HOST] [HOST ] 261.860855 s: Buffer 2 virtual address = 0xa23a9000 [HOST] [HOST ] 261.860855 s: Buffer 2 physical address = 0x848f6000 [HOST] [HOST ] 261.864149 s: Buffer 3 virtual address = 0xa25a4000 [HOST] [HOST ] 261.864149 s: Buffer 3 physical address = 0x84af1000 I obtained the physical addresses using OSA_memVirt2Phys() API. Regards, Nick log.log + +Hi Nick, Instead of using O_DIRECT, can you write to a pre-allocated file using fallocate. Allocate a file (of less than 2GB) using fallocate and try to write to the file without the O_DIRECT flag. You should see a performance bump (throughput should increase, CPU load must come down too). root# rm -rf test1.yuv root# fallocate -l 1G test1.yuv Can you please try this and let us know your observations? Writing using O_DIRECT from SR-1 isn't feasible (even though we mmap the region, and mark it as shared). SR-1 is analogous to I/O memory and providing this access to kernel mapped pages is a hack, and shouldn't be allowed. Regards Shravan + +Hi Shravan, We have tried what you suggested and the load is still very high (~90%) and there are frame drops. What we would like to know is where does dma_alloc_coherent() allocate memory from. We have not been able to write to SSD with O_DIRECT flag from a buffer allocated via that API, too. Is that memory allocated from the same segment from which OSA_memAllocSR() allocates memory? Regards, Nick + +Hi Nick, The dma_alloc_coherent memory allocates memory from the CMA pool if no device is specified. The OSA_memAllocSR sends a call from Linux to TI-RTOS (running on M4) to allocate memory from SR. TI-RTOS allocates memory and passes a physical address to Linux and the underlying drivers convert the physical address to a file-descriptor / virtual address. So when OSA_memAllocSR is called the allocation happens from TI-RTOS and not from Linux. The reason why both of these fail when writing with O_DIRECT is because, both are I/O memory. These memory regions are marked as reserved which prevents the kernel from using these memory regions. So there has to be a copy from user-space (where there is an explicit call to map the reserved region) to kernel space, and this is what increases the load. To enable O_DIRECT with I/O memory will involve I/O mem directly writing to kernel space, which is a security flaw. Regards Shravan + diff --git a/sample_embedding_folder2/0730068.txt b/sample_embedding_folder2/0730068.txt new file mode 100644 index 0000000000000000000000000000000000000000..312ba0ee67c31afe04721ec13d465c63061f7116 --- /dev/null +++ b/sample_embedding_folder2/0730068.txt @@ -0,0 +1,18 @@ +Ticket Name: RTOS/TDA2: [TIDL_OD + LD] + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, we use TDA2xx SDK03.04 and want to combine TIDL_OD and Lane detection but we have abnormal output. please teach us how to create this case our flow and logs are as following: case modification flow: we use 1280x720 camera as capture use dup for lane detection and tidl_OD use VPE transfer 1280x720 to 768x320 for tidl_OD Question 1: but we got wrong function result log is as following session_0915_1280.log can you tell us where is wrong? or tell us the right way . Question 2: Will lane detection or TIDL_OD output resolution equal to input resolution? ex. TIDL_OD use 768x320 as input , is it same as 768x320 after tidl_dsp ? Question 3: Has the merge links must need all inputs with same resolution? like this case , the merge has Q0、Q1、Q2 three inputs, they must need the input with same resolution? + +Responses: +Hi, TIDL_OD is not been tested with live capture. Please check the tidl_od usecase. Regards, Anuj + +Hi, so we need use Nullsource link to replace Capture link? That's fine, we can change it. But the Q2 &Q3 , can you answer us? Allen + +Hi, Q2: yes Q3: no Regards, Anuj + +Hi, ok, and we have two question about Q1 (1) Will TI combine these two usecase (Lane detection and TIDL_OD ) ? When? (2) We try to create our custom usecase. The flow is the picture but we got the wrong result: a. object draw doesn't appear b. lane detection draw is in the left-down (wrong position) in frame Can you tell us where is wrong? + +Has any response ? + +Hi, (1) Will TI combine these two usecase (Lane detection and TIDL_OD ) ? When? No, TI doesnot have any plan to combine these 2 usecase. Please use the below usecase for the object detection and lane detection Z:\ADAS\vision_sdk\apps\src\rtos\usecases\vip_single_cam_analytics2 Regards, Anuj + diff --git a/sample_embedding_folder2/0730503.txt b/sample_embedding_folder2/0730503.txt new file mode 100644 index 0000000000000000000000000000000000000000..706e47241660f2a802b076b170e44eeab3d83a52 --- /dev/null +++ b/sample_embedding_folder2/0730503.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: how to use the malloc() & OSA_memAllocSR to apply the mem on tda2px ?? + +Query Text: +Part Number: TDA2 Tool/software: Linux i use our pcb board . total mem size is 512MB . run hlos on A15 , linux used 64MB mem. & OSA_HEAPID_DDR_CACHED_SR1 used 205 MB proble 1. : on linux , i excute the cmd "free" i found the mem info as follow, why the total mem is 250M ??? OSA_HEAPID_DDR_CACHED_SR1 this mem area can be found on linux ?? total used free shared buffers cached Mem: 250752 142764 107988 4636 4336 47188 -/+ buffers/cache: 91240 159512 Swap: 0 0 0 proble 2: i run my usecase isscapture > isp > my alg (A15) >enc > rtsp server(A15) ; when i run the usecase , error "virtio_rpmsg_bus virtio2: msg received with no recipient" encountered . it seems like mem malloc is not used correctly . how to use malloc() & OSA_memAllocSR ? because i use some opensource code , there must mem malloc is use malloc or new in thems . if i malloc() a big size mem area , is it conflict with OSA_memAllocSR ??? or other mem area will be used ? + +Responses: +Hi, Entries which lie in the 'reserved-memory' entry of the device tree, are carved out from the memory accessible to Linux. Thus the 205MB which is allocated for shared-region is mapped in Linux, but isn't available for generic applications to use. Applications like Vision-SDK (apps.out), which rely on M4 to allocate the buffers, are capable of accessing these regions through the use of memcache module. You can find more information here: www.kernel.org/.../reserved-memory.txt We recommend using OSA_memAllocSR for all memory allocations which are shared across cores. The malloc call doesn't allocate memory from the SR region, instead it allocates from the Linux kernel's high-mem. Regards Shravan + +hi Shravan there is some log of my usecase , i want you help me check if the mem is ok ? because before i change malloc to OSA_memAllocSR, more my usecase can not run , and after that ,some usecase can run , and some also can not run . thanks . [HOST] [HOST ] 72.553772 s: NULL Link: Create in progress !!! [HOST] [HOST ] 72.553803 s: RTSP Link: Create done !!! [HOST] [HOST ] 72.555419 s: guoqiang Entered chains_issSimpleIsp_Display_StartApp [HOST] [DSP1 ] 72.553894 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 [HOST] [DSP1 ] 72.553925 s: SYSTEM: Heap = LOCAL_L2 @ 0x00800000, Total size = 227264 B (221 KB), Free size = 227264 B (221 KB) [HOST] [DSP1 ] 72.553955 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 524288 B (512 KB), Free size = 520464 B (508 KB) [HOST] [DSP2 ] 72.554169 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 [HOST] [DSP2 ] 72.554199 s: SYSTEM: Heap = LOCAL_L2 @ 0x00800000, Total size = 227264 B (221 KB), Free size = 227264 B (221 KB) [HOST] [DSP2 ] 72.554260 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 524288 B (512 KB), Free size = 520464 B (508 KB) [HOST] [IPU2 ] 72.550661 s: ENCODE: CH0: H264EncCreated:H264ENC_TI DEV.500.V.H264AVC.E.IVAHD.02.01.09.01 [HOST] [IPU2 ] 72.550936 s: ENCODE: All CH Create ... DONE !!! [HOST] [IPU2 ] 72.552339 s: ENCODE: Create ... DONE !!! [HOST] [IPU2 ] 72.552796 s: IPC_OUT_1 : Create in progress !!! [HOST] [IPU2 ] 72.553132 s: IPC_OUT_1 : Create Done !!! [HOST] [IPU2 ] 72.554535 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 [HOST] [IPU2 ] 72.554657 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 252096 B (246 KB) [HOST] [IPU2 ] 72.554809 s: SYSTEM: Heap = SR_OCMC @ 0x00000000, Total size = 0 B (0 KB), Free size = 0 B (0 KB) [HOST] [IPU2 ] 72.554962 s: SYSTEM: Heap = SR_DDR_CACHED @ 0x84203000, Total size = 214958080 B (205 MB), Free size = 171809792 B (163 MB) [HOST] [IPU2 ] 72.555145 s: SYSTEM: Heap = SR_DDR_NON_CACHED @ 0xbfc00000, Total size = 1046912 B (0 MB), Free size = 1019264 B (0 MB) [HOST] [IPU2 ] 72.555572 s: *** UTILS: CPU KHz = 20000 Khz *** [HOST] [IPU2 ] 72.855426 s: Setting Camera Power to 3!!! [HOST] [IPU2 ] 72.855517 s: Waiting for 500 milliseconds!!! [HOST] [IPU2 ] 73.355456 s: Serilaizer # 0 has I2CAddr 74 !!! [HOST] [IPU2 ] 73.856463 s: AR0144_Start :read some reg i2cinstid = 4 , i2c addr = 40 [HOST] [IPU2 ] 73.857317 s: AR0144_Start :read the regAddr 0x3000 regValue: 1356 [HOST] [IPU2 ] 73.857378 s: AR0144_Start :start write default reg [HOST] [HOST ] 74.917373 s: guoqiang 11 Entered chains_issSimpleIsp_Display_StartApp [HOST] [HOST ] 74.918959 s: guoqiang 55 Entered chains_issSimpleIsp_Display_StartApp [HOST] [HOST ] 74.919477 s: [HOST] [HOST ] [HOST] [HOST ] ==================== [HOST] [HOST ] Chains Run-time Menu [HOST] [HOST ] ==================== [HOST] [HOST ] [HOST] [HOST ] 0: Stop Chain [HOST] [HOST ] [HOST] [HOST ] p: Print Performance Statistics [HOST] [HOST ] [HOST] [HOST ] Enter Choice: [ 68.639840] omap_l3_noc 44000000.ocp: L3 application error: target 5 mod:1 (unclearable) [HOST] [IPU2 ] 74.915634 s: AR0144_Start :end write defa[ 68.650614] omap_l3_noc 44000000.ocp: L3 debug error: target 5 mod:1 (unclearable) ult reg [HOST] [IPU2 ] 74.917037 s: AR0144_Start :read the regAddr 0x3270 regValue: 100 [HOST] [IPU2 ] 74.917129 s: #### Sensor Config time = 2361 msec #### [HOST] [IPU2 ] 74.918593 s: ISSCAPTURE: Start in progress !!! [HOST] [IPU2 ] 74.918776 s: ISSCAPTURE: Start Done !!! [HOST] [HOST ] 74.970444 s: the detect face num is : 0 the pitch(1280, 1280) use 3 ms [HOST] [HOST ] 75.004758 s: the detect face num is : 0 the pitch(1280, 1280) use 3 ms [HOST] [HOST ] 75.037180 s: the detect face num is : 0 the pitch(1280, 1280) use 4 ms + +Hi, malloc will allocate from the memory available to the Linux kernel (in your cases its 512MB - reserved mem regions). As indicated in the previous posts, if you want IPU and DSP to access memory you need to allocate using Osa_memAllocSR. If its local to a process in Linux, you can use malloc. You can use the information from the below command to see the amount of memory available to Linux. cat /proc/meminfo If you notice your available memory on linux is low, you can reduce your SR-1 region size, by updating the kernel device tree entry and accordingly update the linux memory map file found in apps/build/tda2px/mem_segment_definition_linux.xs in VSDK and perform a clean build. Regards Shravan + diff --git a/sample_embedding_folder2/0730973.txt b/sample_embedding_folder2/0730973.txt new file mode 100644 index 0000000000000000000000000000000000000000..4467d6cf45bb65bb236f976673a3b8d1cef40e82 --- /dev/null +++ b/sample_embedding_folder2/0730973.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2: Is Vector to scalar switching possible? + +Query Text: +Part Number: TDA2 Hi, Is it possible to switch from vector to scalar in VCOP kernel C? I want to make decisions based on the individual element value, will it be possible? Regards, Shruti + +Responses: +Hi Shruti, Can you provide some example of what you want to do? VCOP only works with vector instructions but if we know what you are trying to do we may provide some alternatives. Regards, Anshu + +Hi Anshu, I have a use case wherein, depending on the value of the element I have to set a flag. This flag can range from 0 to 7. Depending on the flag's value, I have to perform some operations. In normal C this is easy, the flag can be set for a single element, and normal if-else conditions take care of the rest. But, when using kernel C, 8 elements are processed at a time, and the flag is also a vector. So, all the elements of the flag will be in the range of 0 to 7. And for each element the operation should be different. Is there a way to handle this? Regards, Shruti Joshi + +Shruti, Can you look into select instruction of VCOP and see it helps? Regards, Anshu + +Hi Shruti, We haven't heard back on this from you. Were you able to make progress? If yes please close this thread. If not then let us know. Regards, Anshu + +Hi Anshu, We tried to use select instruction, but that does not solve the purpose. So we decided to change the code logic itself. So that we do not have to take such complex decisions. Anyways thanks for your help. Regards, Shruti + diff --git a/sample_embedding_folder2/0731224.txt b/sample_embedding_folder2/0731224.txt new file mode 100644 index 0000000000000000000000000000000000000000..02ec056a62f7b72367a2844712136258888797d2 --- /dev/null +++ b/sample_embedding_folder2/0731224.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: NEW CNN MODEL SUPPORT + +Query Text: +Part Number: TDA2 Hi, dear Could tda2x support the open-pose( you can google to find which is a kind of cnn model for pose recognition) demo? If not, when to support it? Or any idea for me to improve the current vision TIDL to support the pose model recognition? Looking forward to your best reply! Tks! + +Responses: +Hi, Please refer to TIDL data sheet (TIDeepLearningLibrary_DataSheet.pdf) for supported layers by TIDL. If the open pose CNN model has only layers supported TIDL then tda2x can support this model, and we don't have any plans to add new layers for TIDL. Thanks, Praveen + diff --git a/sample_embedding_folder2/0731297.txt b/sample_embedding_folder2/0731297.txt new file mode 100644 index 0000000000000000000000000000000000000000..e0b72fee9544dc97398326af564d602592508019 --- /dev/null +++ b/sample_embedding_folder2/0731297.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: How many EMU lines of JTAG port are necessary to be connected to access all the processors? + +Query Text: +Part Number: TDA2 Due to space-constraint, I am trying to minimize the JTAG connector size. However, I have some doubts on questions below: 1. Is it enough to connect only JTAG and EMU[1:0] to TDA2SG to access all the processors using 14-pins connections? 2. What will be left non-accessible without EMU[4:2]? 3. Is nSRST a must-have connection? + +Responses: +CTY Lim said: 1. Is it enough to connect only JTAG and EMU[1:0] to TDA2SG to access all the processors using 14-pins connections? Yes, that would get you the regular jtag support. See the below excerpt from TRM chapter: " Texas Instruments supports a variety of eXtended Development System (XDS) JTAG controllers with various debug capabilities beyond only JTAG support. Because this device supports the export of processor trace and system trace over the EMU pins, if you want your target to be compatible with XDS products capable of acquiring either trace types, see the following document for guidelines: Emulation and Trace Headers (literature number SPRU655). " CTY Lim said: 2. What will be left non-accessible without EMU[4:2]? See above comment. Also, there will not be many options for concurrent debugging with only 2 emu signals (for triggering or data). See section "Concurrent Debug Modes" in the On-Chip Debug Support chapter of the Technical Reference Manual. CTY Lim said: 3. Is nSRST a must-have connection? No. This is an optional signal that if integrated into your applications power-up-reset circuit may be used to remotely reset the target board from a debugger. See this wiki for details: Thanks, Alex + +Hello, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread gets locked due to time-out). thanks, Alex + diff --git a/sample_embedding_folder2/0731427.txt b/sample_embedding_folder2/0731427.txt new file mode 100644 index 0000000000000000000000000000000000000000..a3680d9f71f6fe299657e8dbe79eecb4fcbde948 --- /dev/null +++ b/sample_embedding_folder2/0731427.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: EVE: Calculate VCOP cycles + +Query Text: +Part Number: TDA2 Hi, I saw in the data sheet (eve_sw_datasheet.pdf) that the performances for TI provided kernels and apps is given in cycles per pixel. For kernel, this is based on the block size and for apps it is based on the image size. Can you please share with us how to calculate these cycles per pixel for both apps and kernels? Do we use EVE core utilization to calculate this? What is the operating frequency of EVE? Will there be a difference in the performance metric (cycles per pixel, local link latency etc), if the application is run through VisionSDK and when run standalone? Regards, Surbhi + +Responses: +Hello, Any updates?? Regards, Surbhi + +Hi Surbhi, Please find my answers inline : Can you please share with us how to calculate these cycles per pixel for both apps and kernels? Anshu >>> Cycles per pixels are calculated by dividing the total cycles taken by the kernel/apps by the number of pixels in block/image respectively. Do we use EVE core utilization to calculate this? Anshu >>> Please refer the above answer. What is the operating frequency of EVE? Anshu >>> It depends on the part number of the SOC. For Tda2x/3x its 500MHz. Will there be a difference in the performance metric (cycles per pixel, local link latency etc), if the application is run through VisionSDK and when run standalone? Anshu >>> In standalone only EVE is accessing the DDR but in system there could be other initiators for DDR and hence there may be slight degradation when an application is running with full system. Generally if the compute on VCOP is much larger then this will have less impact but if the application is more DMA bound then it may have more impact in system. Regards, Anshu + diff --git a/sample_embedding_folder2/0731714.txt b/sample_embedding_folder2/0731714.txt new file mode 100644 index 0000000000000000000000000000000000000000..f3a0ef0642dac25271157dddfbc63b3cbb40ba9d --- /dev/null +++ b/sample_embedding_folder2/0731714.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: No reading u-boot.img + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi Expert, I'm running Linux Vision SDK v03.02.00(4.4.84) on TDA2Ex. After completing mk-eMMC-boot.sh, the following error occurred during startup. Could you please give some suggestion here? If the sd card can start normally, but it will fail in saveenv, is it related? Thanks in advance. + +Responses: +Hi, Are you sure the boot and root-fs partitions are correctly mounted on the emmc partition? To ensure this, please follow the below steps: 1. Boot from SD card by using the below SYSBOOT settings (this is setting it to forcefully boot from SD card, you may want to halt at u-boot and run env default -fa and saveenv) : SYSBOOT[0:15]: 00001100 10000001 2. Mount the emmc boot and rootfs partitions of emmc using the mount command to ensure the boot and rootfs partitions are flashed correctly into EMMC mount /dev/mmcblkxpy /media/boot # mmcblkx is the emmc media, py is the boot partition mount /dev/mmcblkxpb /media/rootfs # mmcblkx is emmc media, pa is the rootfs partition If you're not able to mount it, please reflash the emmc 3. Once this works, please set the SYSBOOT settings to below (this is setting it to forcefully boot from EMMC, you may want to halt at u-boot and run env default -fa and saveenv): SYSBOOT[0:15]: 00011100 10000001 You should see the board boot normally. Regards Shravan + +Hi, 1. Halt at u-boot and run env default -fa and saveenv. 2. Mount the emmc boot and rootfs partitions of emmc. 3. Boot from EMMC, halt at u-boot and run env default -fa and saveenv. but the board not boot normally. Could you please give some suggestion here? Thanks in advance. + +Hi, There seems to be an issue with MLO and u-boot.img built. Can you please checkout the tag 'REL_VISION_SDK_03_02_00_00' on u-boot and rebuild it? (run make linux from Vision-SDK). Also ensure your USERCONFIG (SW5) switch-settings is as below. SW5 [1:10]: 00101 00000 Regards Shravan + diff --git a/sample_embedding_folder2/0731859.txt b/sample_embedding_folder2/0731859.txt new file mode 100644 index 0000000000000000000000000000000000000000..ec903b0825419be979180af88f63108f2747b204 --- /dev/null +++ b/sample_embedding_folder2/0731859.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: data flow of cascade_radar_object_detect + +Query Text: +Part Number: TDA2 Hi, I am about to use TDA2 to collect and process cascaded 1243 data. I downloaded and installed the PROCESSOR_SDK_RADAR_03_04_00_00 package. For C:\ti\PROCESSOR_SDK_RADAR_03_04_00_00\vision_sdk\apps\src\rtos\radar\src\usecases\cascade_radar_object_detect this demo, I see the datapath is shown in the figure below: I am wondering if the Select step is to select data from different 1243 radar(Q0,Q1,Q2,Q3) and what is the order of merging the data after fft? And if possible, where could I find the source code doing this step? Thanks. + +Responses: +Hi, The order of merging is Q0, Q1, Q2, Q3. The merge would make a System_VideoFrameCompositeBuffer type container which contains the buffer addresses of individual buffer outputs in the multi-dimensional array bufAddr. If you are looking at how the data is read from these 4 separate buffer addresses captured in bufAddr, you can refer to PROCESSOR_SDK_RADAR_03_04_00_00\vision_sdk\apps\src\rtos\radar\src\alg_plugins\alg_fxns\radardspprocess\radarDspProcess.c function AlgorithmFxn_RadarDspProcessProcess onwards. Thanks and Regards, Piyali + +Thanks for the quick response. you are right that AlgorithmFxn_RadarDspProcessProcess is a good function to know how data is processed separately. But I would like to know if the source code of Merge is available in the package? Can I assume that Q0 stands for data from master device and Q1, Q2 and Q3 stand for data from slave devices 1,2 and 3? If so, the order of output data of Merge would be master, slave 1, slave 2 and slave 3. Am I right about this? Thanks. + +Hi The source for the merge is at PROCESSOR_SDK_RADAR_03_04_00_00\vision_sdk\links_fw\src\rtos\links_common\merge The Q0, Q1, Q2, Q3 would be based on how the board is designed to connect the VIN channels. On the TI cascade Radar EVM, VIN1A is connected to Slave 3 (Q0) , VIN2A is Master (Q1) , VIN3A is Slave 1 (Q2) , VIN4A is Slave 2 (Q3). Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0731987.txt b/sample_embedding_folder2/0731987.txt new file mode 100644 index 0000000000000000000000000000000000000000..571665fcdf9846465c5446a934f45b8c1ae74aab --- /dev/null +++ b/sample_embedding_folder2/0731987.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Flickering is observed on displaying fisheye frame by using Opengl es in Vision Sdk 3.02 + +Query Text: +Part Number: TDA2 HI, We have a problem about displaying fisheye frames by using Opengl es in Vision Sdk 3.02. We have posted a question which is flagged as solved, but the problem is still unsolved actually. e2e.ti.com/.../2700090 We also saw a bug fix in release note for Vision Sdk 3.04. According to the description, it seems like our problem. ADASVISION-1877 [TDA2xx Linux] Flickering is observed on running back to back sgx related UC S1-Critical VISION_SDK_03_03_00_00 Can you describe this bug fix in depth? And because we have developed our system on vision sdk 3.02 a lot, can we get a patch for this bug for vision sdk 3.02. Mason Su Best regards + +Responses: +ADASVISION_1877.txtHi, PFA of the patch on top of VSDK 3.3. Regards, Anuj + diff --git a/sample_embedding_folder2/0732009.txt b/sample_embedding_folder2/0732009.txt new file mode 100644 index 0000000000000000000000000000000000000000..a4ee3a45eb7281cd1e45190754ef2cf2b6efea37 --- /dev/null +++ b/sample_embedding_folder2/0732009.txt @@ -0,0 +1,34 @@ +Ticket Name: RTOS/TDA2: How to driver UART2 to communication with PC? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Sir, As title. I don't know how to driver UART2 on TDA2 EVM. Could you please give me some advise? Many thanks. + +Responses: +Hi Prince, Are you using TDA2 EVM or custom board? Regards, Rishabh + +Hi Rishabh, Both have.(TDA2x EVM and custom board) + +Hi Prince, On TDA2 EVM you cannot use UART2 for communication as there is no connection between UART2 pins and FTDI chip. On custom board you have to check the schematics and find out if there is a route available for UART2. You also need to set the pin mux, IO expanders, etc depending on board schematics. Regards, Rishabh + +Hi Regards, Thanks for your advise. I has setting UART2 TX, RX pin. TX = D26(UART2_TXD_0) RX = D28(UART2_RXD_4) But I don't know how to enable UART2 engine? have any example or API can use? + +Hi Prince, The simplest method will be to modify and run CSL uart test present here: PROCESSOR_SDK_VISION_03_04_00_00\ti_components\drivers\pdk_01_10_00_08\packages\ti\csl\example\uart\uart_test. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +Hi Regards, Apologies to my late response. I set Y1,V2 pin mux to UART3 function. Y1 => UART3_TXD (uart3txd[0x00020000]) V2 => UART3_RXD (uart3rxd[0x00040000]) I has read register to confirm pin mux setting. I call UARTConfigInit() to initial UART3 engine after pin mux setting finish. but system get stuck problem when I call UARTConfigInit() API; Could you please give me some advise? Many thanks. + +Hi Prince, In order to select UART3 you also need to set UART_SEL1_3 and SEL_UART3_SPI2. For more details please refer to board schematics. Regards, Rishabh + +Hi Rishabh, Now I have't TDA2 EVM board can verify. I just only have custom board that direct connection out UART3_TXD(Y1) , UART3_RXD(V2) to using. We also pull up for UART3 TX, RX pin. Have any library can use if "PROCESSOR_SDK_VISION_03_04_00_00\ti_components\drivers\pdk_01_10_00_08\packages\ti\csl\example\uart\uart_test. " can't driver UART3 engine? + +Hi Rishabh, Below schematic is UART part of coustom boart. For you reference. + +Hi Prince, Mistakenly I assumed you want to enable UART3 in my previous response. As I had replied earlier there is no connection for UART2. For custom board you need to see full schematics and FTDI chip present in the board to see if UART2 connection is possible. This should be similar to "SH58 - FTDI UART" page present in TDA2 EVM schematics. Regards, Rishabh + +Hi Rishabh, Now I will focus at UART3 of UART2 TX can transmit data that mean oscillator will capture waveform at TX pin. I has setting pin mux for UART3. But I can't find useful library or API to initial UART3. Because "PROCESSOR_SDK_VISION_03_04_00_00\ti_components\drivers\pdk_01_10_00_08\packages\ti\csl\example\uart\uart_test" library can't driver UART3 engine. Have other library can use? Thanks. + +Hi Prince, You can't source UART3 from UART2 pins. You can use UART CSL driver for UART3 as well. UART test is an example written for testing different UART serial terminal configurations. You can modify this example to program appropriate board muxes for UART3 and then test UART3 as well. Hope this clarifies. Regards, Rishabh + +Hi Rishabh, I will try to implement UART3 by UART CSL driver. Will create new ticket if I have concern. Appreciate your support. + diff --git a/sample_embedding_folder2/0732046.txt b/sample_embedding_folder2/0732046.txt new file mode 100644 index 0000000000000000000000000000000000000000..241d3718eba762835a1331c01b26aa33023d03dd --- /dev/null +++ b/sample_embedding_folder2/0732046.txt @@ -0,0 +1,30 @@ +Ticket Name: Linux/TDA2: TDA2x Pin Muxing for Linux + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: DRA742 Tool/software: Linux Hello every one, I am trying to connect a custom camera board to TDA2x board. How can I change the pin muxing for linux ? I want to connect the cameras in vin1a,vin2a,vin6a and vin1b port. How can i do the pinmuxing for the same ? Regards, Renjith + +Responses: +Hello, One way to do so is to use the pinmux tool: https://dev.ti.com/pinmux/ . You can then dump register setting to a file and use that configuration in the SDK driver (I believe it's a .dts file actually). thanks, Alex + +Hi Alex, Thank you very much for your quick reply. I want to know one more thing , Can i use PDK for developing the same ? or PDK is only for RTOS ? Regards, Renjith + +Renjith Mohan said: I want to know one more thing , Can i use PDK for developing the same ? or PDK is only for RTOS ? Let me ping PDK experts as this is slightly out of my expertise. They will reply here soon. thanks, Alex + +Helllo, TI recommends to perform all the pinmux from u-boot first stage (MLO) You should describe the required pinmux settings in the board/ti/dra7xx/mux_data.h If you are using vision SDK, you are already using PDK for basic drivers. When running with Linux, some devices are controlled from A15 Linux while other are controlled from M4 RTOS. In this case, pinmux is controllled by A15 u-boot. PDK code for pinmux should not be used since it runs on M4. Regards, Nikhil D + +Hello Nikhil, Thank you verymuch for your valuable reply.. I am working on Vision SDK in DRA74x EVM REV H.0 board, which all are the PDK drivers working with Linux ? In my case i want to connect 4 cameras , Can i use the serializer & deserializer drivers in PDK ? Do i need to configure all the things in linux ? What all are the things controlled by A15 U-boot ? Regards, Renjith + +Hii Nikhil, Could you Help me on this ? Actually my use case is connect four camera with TDA2xx in Linux , VisionSDK version 3.04. CAM1 -> VIN1A 8bit mode. CAM2-> VIN2A 8bit mode. CAM3 -> VIN6A 8bit mode. CAM4 -> VIN1B 8bit mode. I have already tried everything within my knowledge.But dont work for me. I Set the pimux changes as in file attached. What all are the changes need to do in SDK side and Kernel Side ? Could u help to solve this problem.. 6840.pin_mux.pdf + +Hi, For the camera capture, you can use the PDK drivers, it should work well. None of the cameras are controlled by Linux/Uboot so there isn't any conflict. I assume, If you are using TI EVM, then all the cameras are connected to i2c5. In this case, PDK drivers will also control the i2c ONLY pinmux and boardmux is setup by the u-boot first stage. Apart from that, everythin is controlled by PDK drivers. Regards, Nikhil D + +I reviewed your pinmux document. You should describe the required pinmux settings in the board/ti/dra7xx/mux_data.h There are macros to describe the PAD registers and muxmodes. Nikhil D + +Hi Nikhil , I am using DRA74x EVM REV H.0 board. I configured values for "dra74x_core_padconf_array, dra742_es2_0_iodelay_cfg_array" in the board/ti/dra7xx/mux_data.h But i couldn't find delay values for "dra742_es1_1_iodelay_cfg_array" in TRM/DataSheet etc. Where can i get these ioDelay values ? Regards, Renjith + +Hi, You can find the iodelay values from the data sheet. Also, you can utilize the python tool which generates the iodelay values for the pad config that is done already. https://git.ti.com/glsdk/iodelay-config I hope this is helpful Regards, Nikhil D + +Hi Nikhil, I have some more doubts regarding this, pin muxing done in board/ti/dra7xx/mux_data.h file. Where i can set the instances/port for VIP as per the requirement ? I want to change the SerDes config (linux) , Can i follow the "Video Driver Porting Guide for TDA2xx, TDA2Ex and TDA3xx" ? It would be greateful if you share an example ( how to set vin1b port instance/capture) . Regards, Renjith + +Hi Ranjit, I would suggest to close this thread and open another for VIP camera configuration. The appropriate owner shall respond on that. Regards, Nikhil D + diff --git a/sample_embedding_folder2/0732564.txt b/sample_embedding_folder2/0732564.txt new file mode 100644 index 0000000000000000000000000000000000000000..8d537d06f7a8bdcb8908a1d5c900fd941dc7c25c --- /dev/null +++ b/sample_embedding_folder2/0732564.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: PinMuxing in TDA2XX for linux + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi Everyone , I am working on Pin muxing for our custom board with respect to TDA2XX . Since we planned to run the board on linux system , I like to know where we can find files of Pin Muxing for LInux configuration . I am also referring to the below link : e2e.ti.com/.../2702399 but I could not find where we can do VIP port pinmuxing for linux . Is there any reference you can suggest to do the same . + +Responses: +Hi Surender, On IPU pin mux is done in board module and u-boot does the pin mux in linux. You can modify board/ti/dra7xx/mux_data.h as suggested by Nikhil in the mentioned thread. Kindly post follow up questions on the same thread instead of starting a new one. Regards, Rishabh + diff --git a/sample_embedding_folder2/0733015.txt b/sample_embedding_folder2/0733015.txt new file mode 100644 index 0000000000000000000000000000000000000000..acc07dbecf2aa63c96ca7465af47b74757ff5820 --- /dev/null +++ b/sample_embedding_folder2/0733015.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: TDA2 Network stereo on IPU1_1 + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hello Team, Having trust in the support team, I believe, some mistake could have happened in the previous posting, Since there was no reply for a long time. Could you please check the details in the post (730834): e2e.ti.com/.../730834 We are looking forward to your answers and suggestions. Regards, KK + +Responses: +Sorry for delay, we have replied on original thread. Kindly please close this thread. + diff --git a/sample_embedding_folder2/0733673.txt b/sample_embedding_folder2/0733673.txt new file mode 100644 index 0000000000000000000000000000000000000000..d555913207c4e2173e1615bc38ffef117e697fc0 --- /dev/null +++ b/sample_embedding_folder2/0733673.txt @@ -0,0 +1,10 @@ +Ticket Name: Compiler/TDA2: EVE/VCOP Question about __agen + +Query Text: +Part Number: TDA2 Tool/software: TI C/C++ Compiler Hi, I try release next equation for agen __agen kLeft = I1 * blockW * sizeof(*img) + I2 * VCOP_SIMD_WIDTH * sizeof(*img) - I3 * sizeof(*img); There is no problems in host emulation. But eve compiler doesn't understand "-" near I3. In programming guide it is writen example with negative adress. I rewrite next way .__agen kLeft = I3 * -sizeof(*img) + I1 * blockW * sizeof(*img) + I2 * VCOP_SIMD_WIDTH * sizeof(*img); There is no compiler errors. but still result is wrong. Could your help me, whis syntax is right in this case? + +Responses: +Also, I try use next version of agen .__agen kLeft = I3 * sizeof(*img) *(-1) + I1 * blockW * sizeof(*img) + I2 * VCOP_SIMD_WIDTH * sizeof(*img); Compiler return next error: integer conversion resulted in a change of sign in .c file + +Hi Danil, I myself have not used negative offset but following syntax should work : __agen kLeft = I3 * (- sizeof(*img) ) + I1 * blockW * sizeof(*img) + I2 * VCOP_SIMD_WIDTH * sizeof(*img); If you are seeing functional mismatch with this I would suggest you to run the kernel on EVE simulator and see if you observe the same behavior in it. If yes then you can step in and see what exactly is happening which is causing the mismatch. Regards, Anshu + diff --git a/sample_embedding_folder2/0733772.txt b/sample_embedding_folder2/0733772.txt new file mode 100644 index 0000000000000000000000000000000000000000..da03ba1eeb27c6a50830601fd081c58287a85318 --- /dev/null +++ b/sample_embedding_folder2/0733772.txt @@ -0,0 +1,18 @@ +Ticket Name: TDA2: TDA2 availability + +Query Text: +Part Number: TDA2 When is the TDA2 range of automotive processors due for release, samples and volume production ? + +Responses: +Hi Mark, there are several TDA2x processors in production, please check here: www.ti.com/.../TDA2 Regards, Yordan + +The TI website states 'Refer to TI', 'No stock', 'price not available' against all of the TDA2 processor variants. Am I missing something ? + +Mark, The TDA family of processors are targeted specifically for Automotive customers and can be ordered through a TI authorized distributor based on pre-communicated demand forecast and orders covering standard lead-times for these automotive grade processors. Best regards, Joe + +Thanks for your feedback Joe. I appreciate the emphasis on the availability of data being limited to credible automotive product suppliers. Is the TDA2 family intended for applications requiring an ASIL rating (in a similar manner to the Hercules family) or is the family more suited to infotainment products for which an ASIL-based safety case is required ? Regards Mark Saunders + +'not required' that last sentence should have said. Regards Mark Saunders + +The TDAx family is targeted towards Advanced Driver Assistance Systems (ADAS) applications while the DRAx family is targeted at Infotainment/Digital Cockpit applications. While there is certainly some overlap across these two automotive spaces, the TDAx family is the primary solution typically used for ADAS systems, which generally have ASIL ratings associated with them. + diff --git a/sample_embedding_folder2/0733955.txt b/sample_embedding_folder2/0733955.txt new file mode 100644 index 0000000000000000000000000000000000000000..cc7bedba960bc2308a3da14cee0fa59a507818f6 --- /dev/null +++ b/sample_embedding_folder2/0733955.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: What is the DDR3L RAM max size supported using 16bits data bus width at each EMIF interface? + +Query Text: +Part Number: TDA2 What is the DDR3L RAM max size supported using 16bits data bus width at each EMIF interface? Reference to the 'TDA2X Vision EVM Kit', if I change the RAM to 512MB (MT41K256M16TW-107) at each EMIF interface using only 16bits data bus width, can 16bits data bus able to support full 512MB RAM speed? Do I need to modify any software configuration setting from 'Linux and RTOS Processor SDK for Vision' to have it works upon boot up? + +Responses: +Hi, I have forwarded your question to DDR expert. For VisionSDK changes you can look at chapter "6 Memory map of the application" in VisionSDK_Linux_DevelopmentGuide.pdf and VisionSDK_UserGuide_MemoryMap.pdf in docs folder of VisionSDK and also this Application Note: www.ti.com/.../spraca1.pdf Regards, Yordan + +If you use 2 x 8Gb (8-bit width) DDR3L memories on each EMIF, you would have 4GB total memory. Note that only the MPU can access greater than 2GB DDR memory. The data bus width does not impact the DRAM frequency. + diff --git a/sample_embedding_folder2/0733995.txt b/sample_embedding_folder2/0733995.txt new file mode 100644 index 0000000000000000000000000000000000000000..618b112857e18ce9b091bb38f81646df39cfb097 --- /dev/null +++ b/sample_embedding_folder2/0733995.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2EVM5777: TDA2 DDR + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hello I am study TDA2 VAYU_EVM, there are two channel of ddr3 channel 1 connect to 2 "MT41K512M16HA-125 AIT:A" & 1 "MT41K512M8RH-125-AAT:E" which is for ECC fuction and channel 2 connect to 4 "MT41K512M8RH-125-AAT:E" could I design our own TDA2 system using only channel 1 with 2 "MT41K512M16HA-125 AIT:A" & 1 "MT41K512M8RH-125-AAT:E" ? and let channel 2 to be float? thank you + +Responses: +Hi Locust, The two DDR channels are identical and independent. I see no reason why not use only channel 1. Regards, Stan + +Hi Stan Thank you for the answer. And should I change any software setting in bootloader or another place? or I can just tear down the ddr on channel 2? thank you + +Yes, DDR configuration should be updated. regards, Stan + diff --git a/sample_embedding_folder2/0734032.txt b/sample_embedding_folder2/0734032.txt new file mode 100644 index 0000000000000000000000000000000000000000..79de3ed9f1d0464a5d70d45360bce26c4bee154b --- /dev/null +++ b/sample_embedding_folder2/0734032.txt @@ -0,0 +1,16 @@ +Ticket Name: Linux/TDA2: Where to get the SCH. PDF? + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: J6EVM5777 Tool/software: Linux Dear Sir: We have a DRA7xEVM with the LG10.1" LCD, however we can not found the SCHEMATIC of that LCD board in DRA7xEVM page below. Would you please let me know where to download it? Regards, /ckhsu + +Responses: +Hi CK Hsu, please check "Design Files" here: www.ti.com/.../tda2evm5777 (LG10.1 LCD should be the one with "1280 X 800", "1920x1200" if for the OSD Panel) Regards, Yordan + +Hi Yodan: 1280 X 800 is for the AUO. And 1920x1200 is for the OSD panel, both of them are not LG. Is the SCH. file of AUO same as LG? Regards, /ckhsu + +Hi CK Hsu, I pinged an expert to help with the right documents. Regards, Yordan + +Hi Yordan: Thank you, I will wait for the response. Regards, /ckhsu + +CK, The LG 10" display is obsolete and is no longer shipping. That's why the newer display schematics are available on the ti.com link. Please send me your email address with a private message, and I can email them to you. Thanks, Kyle + diff --git a/sample_embedding_folder2/0734036.txt b/sample_embedding_folder2/0734036.txt new file mode 100644 index 0000000000000000000000000000000000000000..b8d383c9a899dec7d9c05130a5ae2c59c5892405 --- /dev/null +++ b/sample_embedding_folder2/0734036.txt @@ -0,0 +1,10 @@ +Ticket Name: RTOS/TDA2: IPC communication between A15 & M4 issue. + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hello all, We are working on VSDK 3.04 , J6 EVK platform We are trying to implement a Heart beat mechanism, where in if Linux on A15 crashes, IPU should get notified of it and should run critical app on IPU based RTOS. To do this, we have refered HeartBeat server app from RVC - VSDK 2.12 - Utils_common directory, ported it to VSDK 3.04 and called the task from IPU_primary_core_init() in ipu_primary.c. We create a task to ping between A15 and IPU through IPC mechanism as Ideally, the heartbeat should run as a separate task from the main usecase. Issue we are facing is, when the heartbeat server starts, the use case is not getting scheduled, as Heartbeat task is getting blocked in MessageQ_get(Module.slaveQue, (MessageQ_Msg *)&msg, MessageQ_FOREVER); Please help. Thanks Naren K + +Responses: +Hi Naren, MessageQ_get will block only the task in which it is running, and not other tasks. Do you have your heartbeat task separate from your use case task? Also, is your usecase doing any communication between A15 and IPU outside of the MessageQ (i.e., are there any links between A15 and IPU in your usecase)? If so, these IPC methods can unfortunately not co-exist. Either only MessageQ can do A15<->IPU communication or VSDK IPC can. This is because they both use the rpmsg-proto driver, which will allow only one registered transport per remote core. Thanks, Angela + +Hi Angela, Thanks for your support. That works for me. Regards, Naren k + diff --git a/sample_embedding_folder2/0734513.txt b/sample_embedding_folder2/0734513.txt new file mode 100644 index 0000000000000000000000000000000000000000..0c2e1cd411443e62e9d5d7c559e65f03a9b974aa --- /dev/null +++ b/sample_embedding_folder2/0734513.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2: EVE/VCOP s_scatter/p_scatter store + +Query Text: +Part Number: TDA2 Hi, Could you help with s_scatter() store option. I read that load/store option take 2 ticks. how many ticks does s_scatter store take? And how does it depend from ? Also i try use p_scatter instead s_scatter, and get vcop error. Which is rules used for p_scatter? Thank you + +Responses: +Hi Danil, Both s_scatter and p_scatter are used to store each entry within a vector at an offset which is given by another vector. For example Lets say we have a vector (VOffset) with following entry VOffset = ( k1,k2....,k8) lets say the vector which we want to store has some entries as Vin = ( a, b,c,d,e,f,g,h) Lets say we perform the write as follows dst[addr].s_scatter(VOffset) = Vin The above store would write the value "a" at an offset of k1 bytes , "b" at an offset of k2 bytes, "c" at an offset of k3 bytes and so on, from the base pointer dst. s_scatter operation will take 8 cycles for this store but it doesnt have any restriction on k1,k2.. k8. On the other hand p_scatter would do the same in single cycle but it has a restriction the the offsets k1,k2... k8 should be chosen in such a way that all the 8 entries of the vector falls in a different memory bank Regards, Anshu + +Thank you for answer, Could you answer what is the size of bank for IbufL, IbufH and Wbuf? + +Each of these buffers have 8 banks with 4 bytes each. Regards, Anshu + +Did you mean 4 kbytes? + +I thought you asked about the size of each bank in memory which is 4 bytes per bank and there are total 8 such banks. But now it looks like you are asking about size of EVE internal buffers which are as follows: IBUFA = 32KB --> THis is further split into IBUFLA 16KB and IBUFHA 16KB IBUFB = 32KB --> THis is further split into IBUFLB 16KB and IBUFHB 16KB WBUF = 32 KB Regards, Anshu + diff --git a/sample_embedding_folder2/0734522.txt b/sample_embedding_folder2/0734522.txt new file mode 100644 index 0000000000000000000000000000000000000000..a51bd29c20e7f196d63dd4981fbaabb5b7952be3 --- /dev/null +++ b/sample_embedding_folder2/0734522.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: EVE/VCOP internal memory usage + +Query Text: +Part Number: TDA2 Hi, I'm newer in VCOP programming and I try understand how to organize pipeline for VCOP -> DMA. Could you explain or where to read information and examples about usage IbufL, IbufH. 1. For memory allocation I use vcop_malloc(, ) function. In location for buffer I have to point A/B buffer is used for Ibuf. So for pipeline have I to allocate array for each A and B? 2. I have kernel Vcop function in k. file. For pipeline I should use next sequence : loop { 2.0 Wait end start_dma_(pointerA, toOutput); 2.1 kernel_k_func(pointerA); 2.2 start_dma_(pointerA, toOutput); 2.3 Wait end start_dma_(pointerB, toOutput); 2.4 kernel_k_func(pointerB); 2.5 start_dma_(pointerB, toOutput); } Is this sequency write? 3. Vcop compiler change automaticaly takes/releas A/B banks. And DMA use this option for transfer start, is it right? 4. If for 10 kB input data algorithm produce additional 1 MB ouput data, is there additional options to control A/B switch? + +Responses: +Hi Danil, Please find the attached presentation, which might find useful. Here are the answers to your question: 1. For memory allocation I use vcop_malloc(, ) function. In location for buffer I have to point A/B buffer is used for Ibuf. So for pipeline have I to allocate array for each A and B? No, if you implement ping/pong buffering, you don't need to allocate your array in each A or B buffer because both VCOP and EDMA support alias view. Please refer to chapter 10.5 of the EVE programmer's guide titled 'Simple Block Copy of an Image using EVE in Alias View'. There is a register called EVE_MEMMAP, which controls which mode (alias or full view) is applied to EDMA to VCOP. Please refer to 10.3 "EVE Memory Views and Buffer Ownership". The function VCOP_SET_MEM_VIEW(VIEW) should be called with VIEW=ALIAS_128K_VIEW to set that register accordingly. Also before using vcop_malloc(), call the function vcop_setview(mode) with mode=VCOP_MEMALIASED. 2. I have kernel Vcop function in k. file. For pipeline I should use next sequence : ... Please refer to example code in the same paragraph 10.5 of the programmer's guide or in the EVE software package, refer to apps\apps_nonbam\src\common\eve_algo_dma_auto_incr.c, function EVELIB_algoDMAAutoIncrConcurrent() and EVELIB_algoDMAAutoIncrSequential(). 3. Vcop compiler change automaticaly takes/releas A/B banks. And DMA use this option for transfer start, is it right? Yes, the functions VCOP_BUF_SWITCH_TOGGLE() or VCOP_BUF_SWITCH_SET() takes care of that. 4. If for 10 kB input data algorithm produce additional 1 MB ouput data, is there additional options to control A/B switch? Since image buffer A or B is only 32 KB, you only have 22 KB to store the output of your processing so you need to find a way to break your processing in smaller chunks since you have a 100x size ratio between input and output. May be process divide your 10 KB in chunks of 200 bytes. Each chunk of 200 bytes will produce 20 KB bytes which can be transferred to DDR. regards, Victor 3_Implementation of an EVE App.pdf + diff --git a/sample_embedding_folder2/0734635.txt b/sample_embedding_folder2/0734635.txt new file mode 100644 index 0000000000000000000000000000000000000000..0221b83b583299c9d0b53a675cadcf1855d38f1b --- /dev/null +++ b/sample_embedding_folder2/0734635.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: New version of OpenCV library (v3.4.1) for Cortex A15 in TDA2x. + +Query Text: +Part Number: TDA2 It has come to my attention that TI has deprecated the OpenCV infrastructure in its Vision SDK for TDA2x. My takeaway is that I cannot expect your support when I try to incorporate OpenCV functions (beyond version 3.1) in the code. But what about the OpenCV 3.1 library prebuilt into Vision SDK? Are the developers advised against depending on it too? Thanks + +Responses: +Hi juts for clarity , let me reiterate, From VSDK 3.2 onward OpenCV (on A15 Linux) has been completely deprecated. For VSDK 3.0 and 3.1, we support only the pre-built CV libs. So TI advice to not use open CV if you would come across to rebuilt the Open CV libs regards, Shiju + diff --git a/sample_embedding_folder2/0734730.txt b/sample_embedding_folder2/0734730.txt new file mode 100644 index 0000000000000000000000000000000000000000..bdfefae5cdc978b6ade610817dc9b50f3ab0c0eb --- /dev/null +++ b/sample_embedding_folder2/0734730.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2PXEVM: Synchronization time between A15 and MCU + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Hello, My name terence Xia from ECARX China. Our company is using the chip model of TDA2PXEVM. At present, there is a demand: the A15 use to collect video data and the MCU collects IMU data. How to synchronize the time of these two groups of data? I'm using vision SDK which released by TI. thanks. + +Responses: +Hello If you use Vision SDK (SW development Kit) from TI, we insert a unique timestamp to each and every video frames while it getting captured. This information can be used for sync-up. For MCU side also you may need to do something similar to synchronize the time of these two groups of data regards., Shiju + +Hi Shiju, I have a question about that, I'm using this function of OSA_getCurGlobalTimeInUsec to get the UTC time. When I get the time in A15, how can I send it to the external MCU, and synchronize MCU and TDA2 time. The MCU is external to TDA2,which use UART to connect with each other. + +Hello I think, you need to use the SPI if its a data path with Video. UART is fine if its only ultrasonic data. I guess you might need some kind of Fusion and I do not know where it happen, but you need to pass this time stamp information to ECU or MCU, where this fusion logic runs regards, Shiju + diff --git a/sample_embedding_folder2/0734802.txt b/sample_embedding_folder2/0734802.txt new file mode 100644 index 0000000000000000000000000000000000000000..a5c3dbaa57363174eb9f3a7754b49451ec691952 --- /dev/null +++ b/sample_embedding_folder2/0734802.txt @@ -0,0 +1,20 @@ +Ticket Name: TDA2: How to disable EMIF2? + +Query Text: +Part Number: TDA2 Hi all, If we want to disable EMIF2, what configurations we should modify? Could you please help to describe it? Thanks~ + +Responses: +Hi, Can you give more details on software you are using. Regards, Rishabh + +Hi Rishabh, We use SDK_Vision_03_04_00_00 and rtos for the TDA2xx. Thanks! + +Hi, You can set MODULEMODE field in CM_EMIF_EMIF2_CLKCTRL to 0x0 to disable EMIF2 module. Regards, Rishabh + +Hi, i can't find which file has this configuration. Could you please help to tell me where is the file? And another question, does there any default setting would use EMIF2? Thanks! + +Hi, What is the build configuration you are using? Default Vision SDK BIOS uses 512 MB and EMIF1. Regards, Rishabh + +Hi, I need some times to double check the configuration in our code. So I will close this thread, and I will create a new one if I have another question. Thanks for your help! + +Ok. Thanks for the update. Regards, Rishabh + diff --git a/sample_embedding_folder2/0734868.txt b/sample_embedding_folder2/0734868.txt new file mode 100644 index 0000000000000000000000000000000000000000..01b8efcd1fcda792f45c4cb5ffd8c50d9a57687d --- /dev/null +++ b/sample_embedding_folder2/0734868.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2PXEVM: To synchronize the time between data of A15 and data of IPU1 + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Dear, We need to synchronize the time between image data collected by A15 and IMU data collected by IPU1, and then store the data for analysis. Is there any way to do that? Thank you very much! Terence Xia from ECARX China. + +Responses: +Hi Terence, You could use sync link to synchronize two or more frames, coming from different chain. but please note that you need to add time stamp in the data collected on IMU. Rgds, Brijesh + +Hi Brijesh, Is there a global time in TDA2 that can be used by all processors , including A15,IPU, DSP, etc. If so, where can I find it in the vision SDK. I need to send this time to the external device, I mean to synchronize the time with the external device.For example, an external MCU linked to TDA2. Thank you very much! Terence Xia from ECARX China. + +Yes, you could use Utils_getCurGlobalTimeInUsec API to get the current timestamp. This API uses global timer. Rgds, Brijesh + +Hi Brijesh, I have a question about that, In this code path: vision_sdk/links_fw/src/hlos/osa/src/osa_global_time.c,there is a function of OSA_getCurGlobalTimeInUsec, like Utils_getCurGlobalTimeInUsec API,Are they all getting the same timer? When I get the time, how can I send it to the external MCU, and TDA2 and MCU connected with UART. Thank you very much ! Terence Xia from ECARX China + +Hi Terence, Yes, both of them uses same UTC timer. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0735223.txt b/sample_embedding_folder2/0735223.txt new file mode 100644 index 0000000000000000000000000000000000000000..8683a91a2d5898712bcf76e1d897fea98c41d351 --- /dev/null +++ b/sample_embedding_folder2/0735223.txt @@ -0,0 +1,26 @@ +Ticket Name: TDA2EXEVM: TIDL OD use+case generate wrong result with user model + +Query Text: +Part Number: TDA2EXEVM Hi TIDL experts, Thank you for your great support until now. I have a SSD-based model and i try to put it on the OD use-case. And it create unexpected result, a lot of random small boxes on the screen. I check the import layer level and also the tidl tb results , and all of them are the similar with caffe and proper. So it seems that the mismatch result is generated by the OD-usecase . Is there any suggestion or possible solution about this? The original question is this thread: e2e.ti.com/support/processors/f/791/t/729679#pi239031349=2 Thank you. Best Regards, Eric Lai + +Responses: +Hi Eric Lai, There is a new vision SDK release version 03.05.00.00 available now, can you please check with this new release and report here. Thanks, Praveen + +Hi Praveen, Okay, I will give it a try. Thank you so much. Best Regards, Eric Lai + +Hi Praveen, I tried the new version SDK. And like the previous version, the result is matching between caffe , import ,and also tidl testbench. On the use-case, finally the result is proper , the unexpected small box are gone. Thank you. But there is still some different between the video from caffe and use-case. Especially for the small object, the confidence is lower. I set the quanthistory to zero, the result is the same. Is there any possible reason about this? Best Regards, Eric Lai + +Hi Eric Lai, Can you experiment with below quant history parameters and check. createParams.quantHistoryParam1 = 5; // increase in steps of +5 createParams.quantHistoryParam2 = 5; // increase in steps of +5 createParams.quantMargin = 0; // increase in steps of +5 Thanks, Praveen + +Hi Praveen, I tried the parameters but the results are similar. It seems that it's not the reason of this issue? Any suggestion about this? Best Regards, Eric Lai + +Hi Praveen, Any update? On the use-case, the result is different. Btw, the number of layers of my model is almost 120. Maybe this is the reason why it cause this issue? Best Regards, Eric Lai + +Hi Eric Lai, How big is the difference in behaviour on the use-case verses tidl test bench. Can you please share some screen shots of the output so that I will get it reviewed with VSDK expert for quick look and suggestions. Thanks, Praveen + +Hi Praveen, Caffe , import and TIDL testbench are matching. And here is the video result on caffe and OD use-case. The confidence of the some object are lower . You can see some boxes are blinking . I have no idea about this issue. Thank you. Best Regards, Eric Lai TDA2_result.rar caffe_result.rar + +Hi Eric Lai, Can you decrease the confidence threshold and check? Thanks, Praveen + +Hi Praveen, The original threshold of caffe and usecase are the same. ( =0.3) And I follow your instruction to decrease the threshold. ( =0.1) And the result seems better but still not proper. The boxes are still blinking not like the original caffe. Best Regards, Eric Lai + diff --git a/sample_embedding_folder2/0735338.txt b/sample_embedding_folder2/0735338.txt new file mode 100644 index 0000000000000000000000000000000000000000..07037bc341c8d59e05402375547a04da7942a775 --- /dev/null +++ b/sample_embedding_folder2/0735338.txt @@ -0,0 +1,12 @@ +Ticket Name: RTOS/TDA2: Files needed for running SemSeg Semantic Segmentation usecase (Vision SDK, tidl) + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Ti, I'd like to run tidl use case "Semantic Segmentation" in PROCESSOR_SDK_VISION_03_05_00_00 on tda2xevm. I refer to VisionSDK_UserGuide_TI_DeepLearning.pdf: page6 It needs to prepare these 6 files. Make sure the following files are present in the MMC/SD card: o TIDLCFG.TXT (TIDL use case configuration file) o Input file o TIDL Semseg Network file (NET_Semseg.bin) o TIDL Semseg Parameter file(PRM_Semseg.bin) o TIDL Semseg Usecase input data file (inData_semSeg) o TIDL Semseg Usecase input header file (inHeader_semSeg) I put these 5 files to SD card except "input file". inData and inHeader are from https://e2e.ti.com/support/processors/f/791/p/687481/2534375?keyMatch=inHeader_OD&tisearch=Search-EN-Everything tidl_net_jsegnet21v2.bin and tidl_param_jsegnet21v2.bin are from PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/apps/tools/TIDL_files What is "input file"? Where can I get it? Can you also check my TIDLCFG.txt file? It was modified from TIDL_SSD_CFG.TXT. TIDL Configuration parameters ----------------------------- ################################################################################ IMP: Make sure the size of the file names (excluding extension) is not more than 8 characters. ################################################################################ inputWidth=768 inputHeight=320 inputFile=inData.h264 inputHDRFile=inHeader netFileName=tidl_net_jsegnet21v2.bin paramFileName=tidl_param_jsegnet21v2.bin Thank you. + +Responses: +Hi Eric, input file refer to "IN.RGB" file present inside vision_sdk/apps/tools/TIDL_files However you don't need any input file or cfg.txt file for semseg UC As in UC, the file names are hard coded, Please refer the UC file shared in below path -> vision_sdk\apps\src\rtos\usecases\semSeg\chains_semSeg.c so please rename the files accordingly For Semantic Segmentation UC, these below listed 4 files need to be present in the SD card o TIDL Semseg Network file (NET_Semseg.bin) o TIDL Semseg Parameter file(PRM_Semseg.bin) o TIDL Semseg Usecase input data file (inData_semSeg) o TIDL Semseg Usecase input header file (inHeader_semSeg) Regards Surya + +Hi Surya, What size of video do I prepare for "TIDL Semseg Usecase input data file (inData_semSeg)"? + +Hi Eric, Ensure input video width & height should be 1024x512 as in UC, it is defined as #define SEMSEG_INPUT_WIDTH (1024) #define SEMSEG_INPUT_HEIGHT (512) PSB for details of the test video We used for testing Regards Surya + diff --git a/sample_embedding_folder2/0735398.txt b/sample_embedding_folder2/0735398.txt new file mode 100644 index 0000000000000000000000000000000000000000..7a7d396dfcd9c18d1d9e687388990acd7af419c8 --- /dev/null +++ b/sample_embedding_folder2/0735398.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2: Data Flow in TDA2x + +Query Text: +Part Number: TDA2 Hello, We are trying to understand the data flow in TDA2x. We have the following queries: 1. How data and control are given from IPU0 to DSP/EVE and vice-versa? 2. How does data handling happen between DSP and EVE? 3. In which layer do these communications take place in Vision SDK? 4. Through which physical interface(hardware component) does this data transfer happen? 5. How does mailbox work? Regards, Shruti + +Responses: +Hi Shruti, Please refer to Vision SDK architecture documents present in PROCESSOR_SDK_VISION_03_05_00_00\vision_sdk\docs\Architecture. Regards, Rishabh + +Hi Rishabh, Thank you. I found the answers to most of the questions in the documentation present. Still, I did not find out about the following: 4. Through which physical interface(hardware component) does this data transfer happen? Can you please help me find them? Regards, Shruti + +Hi Shruti, There is no physical interface as this is internal to SoC, the communication is using IPC where messages contain buffer pointers. Regards, Rishabh + +Thank you Rishabh. Regards, Shruti + +Hi Shruti, I am closing the thread as the issue is resolved. Regards, Rishabh + diff --git a/sample_embedding_folder2/0735586.txt b/sample_embedding_folder2/0735586.txt new file mode 100644 index 0000000000000000000000000000000000000000..0b289b75b22de9455383e97521b8c04bdf89b97a --- /dev/null +++ b/sample_embedding_folder2/0735586.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: HDMI differential pairs signals routing with via + +Query Text: +Part Number: TDA2 I would like to use micro-HDMI connector in my product design due to space constraint, vias are unavoidable in routing. However, according to table 8-16 TMDS Routing Specifications, no via is allowed on each TMDS trace. Is this a mandatory specification to follow, if not, HDMI signal will be distorted? How would you advise if to use micro-HDMI connector? + +Responses: +Hi, Datasheet requirements are always mandatory unless the opposite is noted. In your case, it doesn't mean necessarily hdmi will not work, but TI will not be able to support you because a requirement was not followed. Note also that such requirements often come not only from TI but also from the relevant standard specs (HDMI). I would like to recommend you to consult with HDMI specs and hdmi.org prior to proceed. Please see also this topic: Q. What testing is required? Regards, Stan + diff --git a/sample_embedding_folder2/0735594.txt b/sample_embedding_folder2/0735594.txt new file mode 100644 index 0000000000000000000000000000000000000000..e92f9e6e8e6d33f7a73f998f9bbaedaa691b8db6 --- /dev/null +++ b/sample_embedding_folder2/0735594.txt @@ -0,0 +1,20 @@ +Ticket Name: Linux/TDA2: VIP Configuration For Linux + +Query Text: +Part Number: TDA2 Tool/software: Linux Hello everyone, I am working on DRA74x EVM REV H.0 board with vision SDK 3.04 in Linux, I want to connect four cameras in the ports vin1a,vin2a,vin6a,vin1b respectively in 8 bit mode. 1. What all are the changes to be done for this in Linux ? 2. I want to change SerDes config. How it can be possible? 3. Can i follow the "Video Driver Porting Guide for TDA2xx, TDA2Ex and TDA3xx" for Linux side changes? It would be greateful if you share an example ( how to set vin1b port instance/capture) Regards, Renjith + +Responses: +Hi Renjith, "Video Driver Porting Guide for TDA2xx, TDA2Ex and TDA3xx" is for RTOS drivers and not applicable to linux. I will loop in linux experts to answer other questions. Regards, Rishabh + +Hi Renjith, Please clarify if you plan for using Linux drivers or the RTOS drivers. For vision use cases, TI receommends to use all capture drivers from RTOS/PDK Nikhil D + +Hi Nikhil, I want to use the vision use cases. But system should run in Linux. Can i use the PDK drivers for Linux ? Could you tell me which all are the possible ways? Regards, Renjith + +Hi Renjith, You can use the Vision SDK linux for this where you run the linux on A15 but your VIP driver will still run on IPU. Regards, Rishabh + +Hi, My actual need is connect four cameras in the ports vin1a,vin2a,vin6a,vin1b respectively in 8 bit mode. 1. What all are the changes to be done for this in Linux ? 2. I want to change SerDes config. How it can be possible? could you help ? Regards, Renjith + +Hi Renjith, No changes required in Linux. Make sure to add the right pinmux values in u-boot. All the camera and serdes configuration is handled in the PDK drivers NikhilD + +Hi, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0735608.txt b/sample_embedding_folder2/0735608.txt new file mode 100644 index 0000000000000000000000000000000000000000..b3636cd94b40c7f82c5d4729bee44885b34b9269 --- /dev/null +++ b/sample_embedding_folder2/0735608.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: HDMI signals are not connected via companion IC TPD12S016RKTR + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: TPD1E05U06 How destructive are the HDMI signals if I am using TPD12S016RKTR for ESD protection instead of using TPD1E05U06, knowing the IO capacitance is higher (1.2pF) as compared to 0.47pF of TPD1E05U06? If I am using the HDMI port for lab-use purpose, is it good enough to use TPD12S016RKTR and DLW21SZ900HQ2L to save cost and mainly board space? + +Responses: +We cannot answer the question as we have not tested the described configuration. The higher capacitance will impact the interface at higher speeds. The amount of impact would depend on the display resolution, refresh rate, and color depth used in the application. We have seen to reach the highest speeds the interface needs to be optimally designed, including using components with lowest capacitance. It is expected the interface can operate at less than max frequency using less than optimal design components. Thanks Robert + diff --git a/sample_embedding_folder2/0735791.txt b/sample_embedding_folder2/0735791.txt new file mode 100644 index 0000000000000000000000000000000000000000..63bab26ee80259336308e1b72ed7775bf8347143 --- /dev/null +++ b/sample_embedding_folder2/0735791.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Is it possible to implement tangent function in EVE? + +Query Text: +Part Number: TDA2 Hi, I am porting an algorithm in plain C on EVE using kernel C which has 'tan' function into it. Is there a function or way to get the tan value in kernel C? Can it be implemented in VCOP? Regards, Shruti + +Responses: +Hi Shruti, You can use table lookup to implement tan function in kernelC on VCOP. You can store a 32KB table lookup in EVE memory. So if you want 16-bits fixed-point precision, you can store 16K elements. Would the loss of precision acceptable ? You could interpolate the results if you need more precision. regards, Victor + diff --git a/sample_embedding_folder2/0735798.txt b/sample_embedding_folder2/0735798.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7a3a6471832fa4e11433077c7db62e8eef2c2d5 --- /dev/null +++ b/sample_embedding_folder2/0735798.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2: [VISION SDK] Running a TIDL usecase in LINUX+BIOS mode. + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, I am trying to make very much the same thing like guys in main thread ... First, to avoid porting of tidl_preproc alg on A15, I want to run it on IPU until I have TIDL UC functional and then to port it on A15.. I am using PROCESSOR_SDK_VISON_03_03_00_00 and I am working on custom board that has TDA2xx chips on it (RT-RK Alpha board) UseCase: chains_tidlDsp NullSource (A15) -> Alg_tidlpreproc (IPU1_0) Alg_tidlpreproc (IPU1_0) -> Alg_tidl_1 (DSP1) Alg_tidl_1 (DSP1) -> Merge (IPU1_0) Merge (IPU1_0) -> Null (A15) Steps made during porting the UC are described in txt files that can be found after decompresing tar file added. Also, all changed or newadded files are placed there... Case is: -Free run option for TIDL UC forks fine, but - when runing dump out option (to dump results to the SD card) the UC never finishes... it gives the following output to the console: [HOST] [HOST ] 52.346062 s: ########## FRAME # 0, QUEUE = 0 ########### [HOST] [HOST ] 52.671384 s: ########## FRAME # 1, QUEUE = 0 ########### [HOST] [HOST ] 52.996827 s: ########## FRAME # 2, QUEUE = 0 ########### [HOST] [HOST ] 53.322576 s: ########## FRAME # 3, QUEUE = 0 ########### [HOST] [HOST ] 53.648081 s: ########## FRAME # 4, QUEUE = 0 ########### [HOST] [HOST ] 53.973464 s: ########## FRAME # 5, QUEUE = 0 ########### [HOST] [HOST ] 54.299091 s: ########## FRAME # 6, QUEUE = 0 ########### We figured it out that it is because feof function inside nullSrcLink used for checking end of data stream file never returns TRUE value, but we cannot figure out why is this happening Hope You can help me to solve this, Gretings, Nebojsa changes_in_VSDK_03_03_00_00.zip + +Responses: +Hello The nullSrc on Linux side is written in such a way to always wraparound the input file, so it never stops. You can modify the Nullsrc to with commented out rewind() calls regards, Shiju + +Hi Shiju, I have tryed youre suggestion to comment out rewind() calls, but still having the sam result... Just to describe my problem with little bit more details: I am using : IN.RGB NET.BIN PRM.BIN TIDLCFG.TXT those are provided with PROCESSOR_SDK_VISION_03_03_00_00 .... NullSrc did not support work with RGB/BGR files, so I added it in similar way it is done for rtos... When I try to dump out frames to SD card the UC never stops writing it ... If I limit amount of data to be written then sometimes I get good data on the SD card, but not always... Maybe those information can help you to better understand what is happening here ... So if you have still some suggestion for me I would be really grateful.. Thx, Nebojsa + +Hi Nebojsa My suggestion here is, if possible please create a simpler nullSRc -> Null data chain and debug your SD card write issue. regards, Shiju + +Thx, Have solved this issue... I will add modified NullSrc)tsk.c here and will start a new thread for tidl UC on hlos related questions Regards, Nebojsa 8311.nullSrcLink_tsk.c + diff --git a/sample_embedding_folder2/0736182.txt b/sample_embedding_folder2/0736182.txt new file mode 100644 index 0000000000000000000000000000000000000000..734eaa4d017abd7ccf14ef727d4a0773a1a8f9e4 --- /dev/null +++ b/sample_embedding_folder2/0736182.txt @@ -0,0 +1,16 @@ +Ticket Name: Linux/TDA2: LCD output cannot display in vdrm usecase. + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi , TI experter, I've used vision SDK 3.04.00, and I used the customed lcd display output via lcd1. I want to add custom lcd driver for vdrm usecase instead of default HDMI output. Can u suggest? Best regards, John + +Responses: +Hi John, Which LCD you use: is it 1280x800 LG LCD or 1920x1200 LCD? Vision SDK supports only 1280x800 LG LCD: e2e.ti.com/.../2656901 You can also check if you can find something useful in this wiki: processors.wiki.ti.com/.../Virtual_DRM_:_An_User_Guide_for_Developing_Usecases Regards, Yordan + +Hi ,Yordan thx for reply. I used a custom LCD module. The Virtual DRM wiki is about HDMI output.I check it. and I have a question, if I add a new drivers for dispc output. should I change the crtc port num? (now is 26.) or add something to vdrm0 in dra7.dtsi? best regards, John + +Hi John, I have pinged DSS expert to provide further help. Regards, Yordan + +Hi , Yordan Vision SDK supports only 1280x800 LG LCD: e2e.ti.com/.../2656901 I check it ,and had tried it. my custom LCD output is 1920x720. So I had to add new drivers for it. and refer to suggest " You can find the code to enable 1920x1200 in /drivers/gpu/drm/omapdrm/dss/(panel-dpi.c, encoder-tc358768.c) and use it as reference" ? Right ? Regards, John + +In vDRM setup, the DSS drivers run in IPU. SO you will need to add your custom LCD parameters in IPU. No change in linux kernel is required. DT should be changed to address the new resolution. No change is needed in CRTC IDs etc + diff --git a/sample_embedding_folder2/0736258.txt b/sample_embedding_folder2/0736258.txt new file mode 100644 index 0000000000000000000000000000000000000000..9e654d7cffd88822d6cb0b332269d400a5a284b6 --- /dev/null +++ b/sample_embedding_folder2/0736258.txt @@ -0,0 +1,18 @@ +Ticket Name: RTOS/TDA2: Does Vision SDK has tested software dynamic function use TESSY tools? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Experts: My customer are trying use TESSY automatic tools test VSDK software's dynamic function. But those tools GCC can not successful compile VSDK code. Our VSDK contain Misra-c report but customer feedback that Misra-C report just contain the static function test report. Does we have experience about use TESSY tools verify VSDK? If not use TESSY, does we have used other kinds of tool test VSDK dynamic function safety? Thanks a lot! Best Regards! Han Tao (https://www.razorcat.com/en/product-tessy.html) + +Responses: +Hello No, vision ASK is not tested with any dynamic analysis tools regards, Shiju + +Hi Shiju: Thanks for clarify it. Best Regards! Han Tao + +hello,Shiju If we want to test VSDK software's dynamic function,is there any solution?Can you give us some advice? regards,Vivian + +Hi Vivian For any dynamic analysis, do it only for "core SDK" (only for "links_fw" folder) Apps and Sample_app are application/demo code. As I mentioned earlier, We have not done any dynamic analysis on Vision SDK. Vision SDK is not a safety compliant SW, it is only reference SW from TI, so we don’t do dynamic analysis on this SW. For safety compliant SW like MCAL we use LDRA tool for dynamic analysis. regards, Shiju + +Hi Shiju: We use Tessy perform unit dynamic test, in order to verify software unit (function) design and fulfill the code coverage target (branch coverage, statement coverage, MCDC coverage). Now in Vision SDK component, there is some handle code (our Freetech code) need call Vision SDK core code, but there is no complier support to comply VSDK in Tessy. In other words, this Tessy tool can support our Freetech code, but can't support the code call Vision SDK. We don't try to verify VSDK code, we just need to verify the code which develop by Freetech. So do you have any solution or advice on this situation? Any solution from your customer which belongs to automotive area? Which tools did they use on unit dynamic test? Thanks Vivian + +Vivian Sorry i do not have any experience with Tessy LDRA is one tool which I heard many customers used for dynamic analysis. regards, Shiju + diff --git a/sample_embedding_folder2/0736438.txt b/sample_embedding_folder2/0736438.txt new file mode 100644 index 0000000000000000000000000000000000000000..fb678a80049f3ad253699b878e8e3eeb1fddf429 --- /dev/null +++ b/sample_embedding_folder2/0736438.txt @@ -0,0 +1,58 @@ +Ticket Name: Compiler/TDA2: When will the visionSDK3 's cgtc6000 compiler upgrade to v8.x.x ? + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: SYSBIOS Tool/software: TI C/C++ Compiler The cgtc6000 comiler v7.4.2 is used in the latest visionSDK3.05. The v7.4.2 comiler is not enough for our project, the v8.x.x is OK. In below thread, e2e.ti.com/.../715156 Rishabh Garg told me that the visionSDK3.05 will upgrade cgtc6000 comiler to v8.x.x two month ago. But visionSDK 3.05 still use v7.4.2 when it was released. So when will visionSDK upgrade cgtc6000 compiler to v8.x.x? + +Responses: +Hi Bao, CGT change was planned for the 03.05 release. I will get back to you with details. Regards, Rishabh + +Hi Bao, There were some issues due to which we could not change the compiler to 8.x. You can compile your algorithm with 8.x compiler and link the library with Vision SDK which is built using 7.4.2. Regards, Rishabh + +Dear Rishabh, Thanks for your reply. We tried use v8.1.3 comiler compile our algorithm and link the library with vision SDK which is built using v7.4.2. We got the binary file. But the DSP2 program was crashed when the system is startup before main() function was called. The detail of this issue was descriped in the orignal thread. + +Hi Bao, The original question mentions that you have build SDK also with v8.1.3 compiler. Also we are trying to upgrade to 8.2.4 compiler. With this version we have not seen any crash. As an experiment can you try this version. Regards, Rishabh + +OK, I will try it later。 + +Hi Bao, Do let me know in case you face any issues. Regards, Rishabh + +Hi Rishabh, As your suggestion, I comile our algorithm by v8.2.4 comiler and link the library with Vision SDK which is built using 7.4.2. The issue still exist. The system can't startup properly. Our algorithm refer comlex c++ . I debug it , the dsp program crashed in __c_init00, which do some initialization for the program. If I comment off the c++ related function calls from our algorithm, the system startup properly. + +Hi Bao, Can you please debug it further and see what are the exact instructions that are causing DSP to crash. It might be an issue with some compiler options. Regards, Rishabh + +Hi Rishabh, When I debug it: (1) I set a break point at "_c_int00" for DSP2. (2) I load the DSP2 exectable file "vision_sdk_c66xdsp_2_release.xe66". The CCS show : Can't find a source file at "/db/ztree/library/trees/xdctargets/xdctargets-l07/src/ti/targets/rts6000/boot.c" I locate the path as "PROCESSOR_SDK_VISION_03_05_00_00\ti_components\os_tools\bios_6_46_04_53\packages\ti\targets\rts6000" (3) Then debug step by step to fuction "_auto_init_elf", I just see the program crashed at below code seciotns, and crashed at function "memcpy" : if (!(&__TI_Handler_Table_Base >= &__TI_Handler_Table_Limit)) { table_ptr = (unsigned char**) &__TI_CINIT_Base; table_limit = (unsigned char**) &__TI_CINIT_Limit; while (table_ptr < table_limit) { unsigned char* load_addr = *table_ptr++; unsigned char* run_addr = *table_ptr++; unsigned char handler_idx = *load_addr++; handler_fptr handler = (handler_fptr)(&HANDLER_TABLE)[handler_idx]; (*handler)((const unsigned char*)load_addr, run_addr); } } Exception at 0x857ad40c 857ad380 000000a0 rts6600_elf.lib : memcpy64.obj (.text:memcpy) 857ad420 000000a0 : modf.obj (.text:modf) (4) Once time , I see the program crashed after execute " table_limit = (unsigned char**) &__TI_CINIT_Limit;", maybe due to the symbol not match. (5) I attach the AppImage and vision_sdk_c66xdsp_2_release.xe66. You could try on your board, the DDR size is 1G. executable file.rar + +Hi Bao, Unfortunately the person who is working on CGT migration is out of office this week. Kindly expect a slight delay in response. Regards, Rishabh + +Hi, First you have to try to build your algorithm with CGT 7.4.2 and check whether it works with that or not. Before trying the above thing we are not sure whether your algorithm is causing crash or the new CGT. TI has tested VLIB and VXLIB with CGT 8.2.4 and the rest of the VSDK with CGT 7.4.2 and that works fine in VSDK 3.5 release. Regards, Anuj + +Hi Anuj, We compile our algorithm failed use CGT 7.4.2. There are so many errors that we can't resolve them. But we compile it success use CGT 8.1.3 and 8.2.4, didn't need to modify anything. We comile our algorithm use CGT8.1.3 and link it with CGT8.1.3 in visionSDK2.10 which use CGT7.4.2 as default comiler. We use linux as the OS for the emmbedded system. The whole system could run properly. On the visionSDK 3.03 and 3.05, I try to use CGT8.1.3 and 8.2.4, we use sysbios as the embedded system. The DSP2 crashed during the program initialization stage. Which contains our algorithm. I think the difference between the boot program on the linux and sysbios. Linux 's boot program load all the data the DSP initial program needed, the Sysbios 's boot program not load all the data the DSP initial program needed. So the DSP program crashed during the initial stage after the Sysbios 's boot program load the DSP 's data into the DDR, and let it to run. + +Hi Bao, Can you check differences for DSP makreules between VSDK 2.10 and VSDK 3.05? There is a gap of around two years amongst the two releases. Can you share both these files as an attachment here. It is possible that the compression format for cinit section has changed between the two which is creating issues. Regards, Rishabh + +Hi Rishabh, The makerules of v2.10 and v3.05 attached.makerules.rar + +Hi, Are you able to boot using sysbios as OS using VSDK v2.12 with your algo compiled using 8.x.x? Regards, Anuj + +Hi Anuj, We never try it. + +Hi, Can you please try that. And also try to run any openvx related usecase and check whether that runs? Regards, Anuj + +Hi Bao, The RTS library that was used for linking in 2.10 is different as compared to 3.05 which could be leading to crash. Can you try to change RTS lib and see if it works. Another experiment could be using 2.10 DSP makerules (i.e. rules_66.mk. Again please keep in mind that VSDK 3.05 might not work at all if compiled using older DSP makerules. Regards, Rishabh + +Hi Rishabh, I have tried replace the 3.05's RTS lib with 2/10's, the crash still exist. I just replace the "PROCESSOR_SDK_VISION_03_05_00_00\ti_components\os_tools\bios_6_46_04_53\packages\ti\targets" folder with 2.10's. Due to the lib names and path are different in 2.10 and 3.05 's makerules, I can't replace it. I wan't to debug more detail in boot.ae66, which include autoinit.c and boot.c 's obj. But I don't know how to build the two source file to boot.ae66, I just get boot.lib with "-g" option, and rename it to boot.ae66. I use cgt 8.2.4, and replace it with 3.05 orignal. Then I can't connect the DSP by debugger, the DSP program didn't get into _c_int00. I think it failed during the parse stage. I have browse the initialization part of the compiler doc, I wan't to know the more detail of the crash reason. So, could you help me compile autoinit.c and boot.c to boot.ae66 by 8.2.4 with "-g" option, and attach these three files to me ? These two files are under "PROCESSOR_SDK_VISION_03_05_00_00\ti_components\os_tools\bios_6_46_04_53\packages\ti\targets\rts6000". + +Hi, Which profile are you using? debug or release. Please use debug mode and build the entire VSDK along with your algo with CGT 8.2.4. Regards, Anuj + +Hi Anuj, I use debug profile. And use command "make -s -j depend", then "make -s -j", then "make -s -j appimage". I found that the libs under "PROCESSOR_SDK_VISION_03_05_00_00\ti_components\os_tools\bios_6_46_04_53\packages\ti\targets\rts6000\lib" were not rebuilt, they keep the status from ti release. And they are in release mode. When I debug boot.ae66 in CCS step by step , the source code can't match the executable exactly. + +Hi, We do not rebuild the bios and we use only prebuild lib of it which is in release mode. So if you single step then you can find some mismatch as its in release mode. And it should work with CGT 8.2.4 in debug mode, if its not happening then definitely there is some issue in your algo. Regards, Anuj + +Hi Anuj, I see under visionSDK2.10 , in the DSP 's map file: .cinit 0 91300000 00000000 UNINITIALIZED But under visionSDK3.05 , in the DSP 's map file: .cinit 0 883bf618 0000b068 883bf618 0000b015 (.cinit..fardata.load) [load image, compression = rle] 883ca62d 00000003 --HOLE-- [fill = 0] 883ca630 00000022 (.cinit..neardata.load) [load image, compression = rle] 883ca652 00000002 --HOLE-- [fill = 0] 883ca654 0000000a (.cinit..rodata.load) [load image, compression = rle] 883ca65e 00000002 --HOLE-- [fill = 0] 883ca660 00000008 (__TI_handler_table) 883ca668 00000018 (__TI_cinit_table) I think this is the reason of my issue. How could I get the .cinit like 2.10 in 3.05 ? Any linker or compiler options needed? + +Hi, Can you please share the resolution for this issue. Regards, Rishabh + +Hi Rishabh, Our algorithm allocate huge memory in static structures, I removed them and use malloc. + +Hi Bao, Ok. Thanks for the confirmation. Regards, Rishabh + diff --git a/sample_embedding_folder2/0736444.txt b/sample_embedding_folder2/0736444.txt new file mode 100644 index 0000000000000000000000000000000000000000..553385e18edb720133a4f067f33c2ed483bae2aa --- /dev/null +++ b/sample_embedding_folder2/0736444.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2: encode link whether to support two instances + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS I want to use two encode link in one chains, Can VSDK0304 supoot this? + +Responses: +Hi Default VSDK support only one instance of encode link. But encode link support multiple channels (upto 8 channels). So a single instance of encode link can be used to encode multiple video streams of same or different resolutions/codec type etc. regards, Shiju + +hi,Shiju Thanks for support. As you said, the encode links support multiple video streams. Now I have four camera input, I want to use MJPEG to take pictures while I want to go to h264 encoded video. How could I do? could you give some suggestions about how to use this encode link? thanks, Widic + +Hi Widic This is what I understood as your requirement, please confirm? 1. You need to H264 encode of all 4 cameras 2. At the same time MJPEG encode to take snapshots (photos) for all cameras In this case you can first perform a dup for each input cameras into 2 streams (using dup link), capture (4ch) -> Dup do a merge link after dup, This will make the number of input streams to Enc link as 8. 0 & 4 for cam1 1 & 5 for cam2 2 & 6 for cam3 3 & 7 for cam4 Now ch0 set for h264 encode ch4 set for MJPEG (snapshot encode) similar config for all reaming 3 cameras Hope this would works for you regards, Shiju + +Thanks,Shiju ,this solved my issue. + diff --git a/sample_embedding_folder2/0736487.txt b/sample_embedding_folder2/0736487.txt new file mode 100644 index 0000000000000000000000000000000000000000..7993bc80de3a5ec3055c0ac779549007ba77e71c --- /dev/null +++ b/sample_embedding_folder2/0736487.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: Can TDA2 use-case support 2D surround view & E-mirror demo on Linux SDK. + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi Sir, I am using TDA2x EVM and SDK version is 3.4. I can find 2D+3D surround view use case on BIOS only SDK, but there is no 2D surround view use case on Linux SDK. Do you have sample code or document for me to reference to move BIOS use case to Linux SDK ? BTW, Is TDA2 SDK support E-mirror demo on Linux OS ? Thanks. Ranny. + +Responses: +Ranny No document available for moving 2D SRV UC from Bios to Linux, but you can port the UC to Linux. No E-mirror demo available on Linux vision SDK regards, Shiju + diff --git a/sample_embedding_folder2/0736570.txt b/sample_embedding_folder2/0736570.txt new file mode 100644 index 0000000000000000000000000000000000000000..379a70dca113d386ff89fe686cdaa5a750e7d038 --- /dev/null +++ b/sample_embedding_folder2/0736570.txt @@ -0,0 +1,18 @@ +Ticket Name: TDA2: EVE/KernelC:- using IF condition in VCOP + +Query Text: +Part Number: TDA2 Hello, I want to use if condition inside for loop. As of now, i know that if condition should be use with LCV of the for loop. I am using the same, #define I3EQUALS2 ((I3==2)) for(int I3=0;I3<3;I3++) { if(I3EQUALS2) { //code to be execute } } But I'm getting below error on console, error #26001-D: syntax error - expected IDENTIFIER error #26001-D: syntax error near ')' error #26001-D: syntax error near '=' ,m...something like this. Please suggest solution for this!! + +Responses: +hi Kajal, Is this loop written for VCOP or ARP32? Regards, Anshu + +Loop is written for VCOP. for(int I1=0;I1 VPE -> Dup_capture -> Merge_alg + +//Dup_capture -> VPE + +//TIDL_OD + +Dup_capture -> Alg_tidlpreproc (A15) + +Alg_tidlpreproc (A15) -> Alg_tidl_Eve1 (EVE1) +Alg_tidlpreproc (A15) -> Alg_tidl_Eve2 (EVE2) +Alg_tidlpreproc (A15) -> Alg_tidl_Eve3 (EVE3) +//Alg_tidlpreproc (A15) -> Alg_tidl_Eve4 (EVE4) + +Alg_tidl_Eve1 (EVE1) -> Merge_OD (DSP1) +Alg_tidl_Eve2 (EVE2) -> Merge_OD (DSP1) +Alg_tidl_Eve3 (EVE3) -> Merge_OD (DSP1) +//Alg_tidl_Eve4 (EVE4) -> Merge_OD (DSP1) +Merge_OD (DSP1) -> Alg_tidl_Dsp (DSP1) -> Merge_alg + + +//Display +//Merge_alg -> Sync -> Alg_ObjectDraw -> Display + +//LD +Dup_capture -> VPE_LD -> Alg_ImagePreProcess (EVE4) -> Alg_ImgPyramid -> Alg_LaneDetect (DSP1) -> Merge_alg + + +//Display +Merge_alg -> Sync -> Alg_ObjectDraw -> Display + + +//GrpxSrc -> Display_Grpx + and the log as below session_20181015.log We have a video record about the result result.rar From the record, the object detection seen looking like working right in first frame Can you tell us why ? where is the wrong in our flow? + +Responses: +Can you share the behaviour of second frame. Is the output wrong or crash? + +Hi, kumar it looks like wrong output the result of lane detection keep working after second frame but object detection is same as first frame no new object had detected Regard Allen + +Hi, any update? Regard Allen + +Hii Allen, Is the output generated by the import tool is matching with the expected output.? Regards, Kumar.D + diff --git a/sample_embedding_folder2/0737056.txt b/sample_embedding_folder2/0737056.txt new file mode 100644 index 0000000000000000000000000000000000000000..3b764c7e6f87b48d00b8d41b0b0c7462cfe4efde --- /dev/null +++ b/sample_embedding_folder2/0737056.txt @@ -0,0 +1,24 @@ +Ticket Name: TDA2: disable EMIF2 clock + +Query Text: +Part Number: TDA2 Hi, I can disable EMIF2 clock by SW control in SBL. But when jumping to AppImage, the EMIF2 clock would be active again. 1. Is this symptom normal? 2. Does there any api can used to control this? I can not use HW_WR_REG32() in Appimage. Thanks~~ + +Responses: +Hi, You can use PMHALModuleModeSet API to set EMIF2 to off. The symptom is not normal. Can you describe how you are getting EMIF2 active? Regards, Rishabh + +Hi, I use HW_WR_REG32(0x4A008B38, 0x30000) in SBLUtilsDDR3Config(), and then check EMIF2 clock in SBL stage. The clock is off and then jump to Appimage. I check the EMIF2 clock again, it becomes active. Thanks~~ + +Hi, This means that EMIF2 is turned on somewhere in the application image. If this is a concern you need to check where you are enabling. If this is not a concern you can simply call PM API to turn EMIF2 module off. Regards, Rishabh + +Hi , Does PMHALModuleModeSet just disable EMIF2 module, but the clock is still active? Now I disable EMIF2 module by un-define BUILDCFG_PMHAL_PRCM_MOD_EMIF2 in pmhal_prcm_modinc.h. Because our board already has 2 DDR, I can not verify is it work or not. So I use EMIF2 clock to verify it, but it seems somewhere would turn on the clock even if I disable EMIF2 module in Appimage. Does my method to disable EMIF2 module correct? (un-define BUILDCFG_PMHAL_PRCM_MOD_EMIF2) What do you recommend to verify EMIF2 module disable or not base on our board? Thanks~~ + +Hi Markii, What is the exact requirement you want to implement. The method to turn off EMIF2 is disable the module by calling PMHALModuleModeSet API and not commenting code. Regards, Rishabh + +Hi, We want to use one DDR only.. So we want to disable EMIF2 module and use EMIF1 only. In your comment, we can use PMHALModuleModeSet API in AppImage to disable EMIF2, this can also achieve our requirement, right? Do I need to use this API in each core image? That is why I want to disable it in SBL stage. Thanks~~ + +Hi, Yes you can use PMHALModuleModeSet API. You should call this API from A15 or IPU (only one call is needed). Regards, Rishabh + +Hi, understand! Thanks~~ + +Hi Markii, Kindly mark the post that answers your query as "This resolved my issue" and close the thread. Regards, Rishabh + diff --git a/sample_embedding_folder2/0737119.txt b/sample_embedding_folder2/0737119.txt new file mode 100644 index 0000000000000000000000000000000000000000..acc450b7af365a372f3ef9559e118c5912f76d79 --- /dev/null +++ b/sample_embedding_folder2/0737119.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2: Building standalone application to run on DSP (C66x core) + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: MATHLIB Hi, I am going through the Vision SDK code. I have a few queries: 1) EVE software supports building separate test bench applications for individual kernels. Does DSP software also support the same? 2) If yes, what is the procedure for building separate kernel applications for test purpose? 3) Where is the DSP executable generated? Regards, Shruti + +Responses: +Shruti To build individual EVE kernels, you need to go to those packages in \ti_components\algorithms\eve_sw_01_19_00_00 and build them. same for DSP - \ti_components\algorithms\dsplib_c66x_3_4_0_0, \ti_components\algorithms\vlib_c66x_3_3_2_0 etc. regards, Shiju + +Hi Shiju, I found the documentation to build EVE and I am able to do it successfully. But I did not find any document which describes how to build standalone kernel applications for DSP. Can you please point them out? Also, I am using Vision SDK version 3.3.0.0. But I do not find dsplib_c66x folder into it, there is only vlib_c66x_3_3_0_3. I am unable to find any makefiles or such which will help me build. Do I need to use another version of VisionSDK? Please help me out with this. Regards, Shruti + +Hi Shruti If you are in the initial phase of the project better use the latest Vision SDK (v3.5) version You can down load from - www.ti.com/.../processor-sdk-tdax below the DSP Kernel packages comes along with VSDK 1. dsplib_c66x_3_4_0_0 2. mathlib_c66x_3_1_0_0 3. vlib_c66x_3_3_2_0 4. vxlib_c66x_1_1_3_0 Please note that some of these are in full source format and a few in only lib format. regards, Shiju + +Hi Shiju, I was using VisionSDK v3.3, but it does not include dsplib package. So I downloaded v3.5 now which includes the dsplib package. It also has the documentation on how to build the individual kernels. Thank you for the help. Regards, Shruti + diff --git a/sample_embedding_folder2/0737370.txt b/sample_embedding_folder2/0737370.txt new file mode 100644 index 0000000000000000000000000000000000000000..fec1008d6c8362d48cc7330f9321fae986b9887f --- /dev/null +++ b/sample_embedding_folder2/0737370.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: question about vmem-exp + +Query Text: +Part Number: TDA2 Tool/software: Linux hi , TI experts, I am using Linux usecase (OV490 3D srv ) in vision SDK 3.04.00. Now my problem is that the display output only tex[0], tex[3], tex[1] and tex[2] are same with tex[1], tex[3]. I find out in vmem-exp.c ( kernel driver ), vmem_export_single function export the 2 video virtual addr (such as 0xa7a2b000, 0xa7a2b500) to a same dmafd. It seems like the PAGE_MASK (4K Align) mask the offset(0x500). If this, how GPU map the correct physical address ? I mean, the same dmafd get 2 different address (such as YUV 0xa7a2b000, 0xa7a2b500) ? regards, John + +Responses: +Hello, This is a standard Linux limitation in Linux. DMABUF can be used only to export certain pages from the kernel For GPU, most likely, one of the following should work - just pass one dmabuf, GPU finds out the UV offset based on the size of Y - pass the same dmabuf for both Y and UV and provide offset values Regards, Nikhil D + +Hi ,Nikhil thanks for reply. "- pass the same dmabuf for both Y and UV and provide offset values" In Vision SDK SGX drivers, I cannot find the provided offset values in System_eglWindowGetTexYuv(). For frameBuffer as below: Y1 Y2 UV1 UV2 It can only checkout the Y1 and UV1, Y2 and UV2 are missed. Can u give me more tips to find offset manipulation? regards, John + +John, are you still facing this issue? I am closing this thread. + diff --git a/sample_embedding_folder2/0737380.txt b/sample_embedding_folder2/0737380.txt new file mode 100644 index 0000000000000000000000000000000000000000..d116a83f38a497a3f23742b349a34f3704017486 --- /dev/null +++ b/sample_embedding_folder2/0737380.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2PXEVM: Regarding the accuracy of the Pedestrian Detection algorithm + +Query Text: +Part Number: TDA2PXEVM Tool/software: Linux Hi, I'm testing Object Detection of your algorithm. The detection of vehicle is good for test but the detection of the pedestrian is not good. It detects the trees like pedestrian. How can I tune the parameters value? I adjust the below value but the result is not good. pObj->inArgs.pdConfig.softCascadeThPD = 0; pObj->inArgs.pdConfig.strongCascadeThPD = 1; // pObj->inArgs.pdConfig.strongCascadeThPD = -1; // pObj->inArgs.pdConfig.strongCascadeThPD = 0; Regards, Heechang + +Responses: +Hi, There is no universal adaboost descrptor that works in all images / scenarios. May be you need to train the detector for your dataset. You can use the following training to tool train your own adaboost descriptor for the detector. https://github.com/tidsp/acf-jacinto Best regards, + diff --git a/sample_embedding_folder2/0737518.txt b/sample_embedding_folder2/0737518.txt new file mode 100644 index 0000000000000000000000000000000000000000..37deea04b97111d8e552292830c11deeb306faef --- /dev/null +++ b/sample_embedding_folder2/0737518.txt @@ -0,0 +1,26 @@ +Ticket Name: TDA2: TIDL-1.1 edma utility + +Query Text: +Part Number: TDA2 Hi: in tidl src code, in the convolution layer, there are edma_utils_scatthergather and edma_utils_autoincrement, and I don't understand why use both of them, here what the difference between them. I refer the edma docs and learn the convolution layer code, but still can't understand them. + +Responses: +Hi @lin rimao, is this the document you referred: PROCESSOR_SDK_VISION_03_05_00_00\ti_components\algorithms\REL.DMAUTILS.00.08.00.02\dmautils\docs\DMAUtilsLibrary_UserGuide.pdf? It has quite detailed explanation of Scater/Gather and Autoincrement mechanisms. Regards, Yordan + +yes, I refered that doc. But in TIDL convolution layer, I can not understand why need both of them. And now, we have trained a ssd model, current the ssd model can run 15 frames in one sec, is there any solution I can take to run the ssd model 30 frames in one sec through refine the tidl code or something else. thanks. + +Hi, I have forwarded your question to TIDL experts for further help. Regards, Yordan + +Hi, TIDL convolution layer is a complex layer implementation in which we had integrated many data flows to support different kernel sizes and different stride and dilation cases and hence used scatter gather DMA when data is spread across different channels ( for example for input and output feature map data transfers), used auto increment when the data is in continues blocks ( for example Bias data). You can refer to each function header is documented with usage of these DMA implementation functions. Regarding the other question, did you exploit the sparsity in the model to improve the run time performance. We have a extension of caffe training framework called caffe-jacinto ( github.com/.../caffe-jacinto) which can help to induce sparsity in the model. Thanks, Praveen + +Hi Praveen: In convolution layer, I noticed for input and output feature map data transfers, both the scatter gather and autoincrement dma utility are used. I don't understand what's the relationship between them. We have exploit the sparsity used caffe-jacinto, now for 640x320 input model, on one eve the local latency is 180ms, is there any ways (for example through modify the dma tranfer or something in the tidl src code for fixed model) to reduce the latency on one eve. thanks. + +Hi, And for the bias value, if I can use TIDL_edmaCopy transfer the all bias value, but not use autoincrement dma more times, because the bias value num depend numOutCh. + +why these kernels are initialized two times? + +why are these kernels initialised two times? + +Kumar, Please check if you are able to reply now. Regards Karthik + +We ahve run kernek from both ping and pong buffer. So we are intilaizing the params in both buffers + diff --git a/sample_embedding_folder2/0737534.txt b/sample_embedding_folder2/0737534.txt new file mode 100644 index 0000000000000000000000000000000000000000..1a299b711caff228c453ce59adb165d588bc80ec --- /dev/null +++ b/sample_embedding_folder2/0737534.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Cortex-A15 cores secure state after exiting from ROM Code + +Query Text: +Part Number: TDA2 Hi, I have noticed that ROM Code provides some Secure Monitor Call interfaces to user. Why so? Is it because A15 cores enter non-secure state after exiting from ROM code? + +Responses: +Hi Yang, I think they are the only way to accomplish the respective functions on a non-secure, aka general-purpose (GP) device (SoC). I guess they are not needed on HS devices. I'm not an expert, just can recall some older threads in the forum. The TRM also states the following: The ROM code provides different services that can be called on GP devices for L1 and L2-cache maintenance, Enter in Low Power, etc. ... The following code example shows how the monitor ROM code functions can be accessed by an application running in public mode: .... Regards, Stan + diff --git a/sample_embedding_folder2/0737832.txt b/sample_embedding_folder2/0737832.txt new file mode 100644 index 0000000000000000000000000000000000000000..e01673d1e79544ac3fc4044014afa72b94ea66f8 --- /dev/null +++ b/sample_embedding_folder2/0737832.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2: Vision SDK 3.04 framework and examples build fail + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: SYSCONFIG Tool/software: Linux Hi, I got similar error while executing build command for SDK. command: make -s Error: dispDistSrcLink_tsk.c:81:45: fatal error: vdrm_controller/v_controller_if.h: No such file or directory compilation terminated. make[6]: *** [depend] Error 1 make[5]: *** [links_a15_dispDistSrc] Error 2 make[4]: *** [vision_sdk_linux_lib] Error 2 make[3]: *** [links_fw_libs_hlos] Error 2 make[2]: *** [apps_hlos] Error 2 make[1]: *** [apps] Error 2 make: *** [vision_sdk] Error 2 I checked git commit also for kernel, u-boot, sgx u-boot: 839f3f2 (HEAD, origin/ti_2.12_release, ti_2.12_release) updated library and binaries added 2e3691d debug renamed to debug 35e203d Makefile and header files added 002bee1 itsapp.mk added d9bc44b nwmanager initial version added 6619725 Debug renamed to debug , and Ipc renamed to ipc 34b4ac8 Debug renamed to debug , and Ipc renamed to ipc 21d98c8 controlapp initial version version added fad591e json,ffmpeg Dependency added 764c7cb its directory added in rootfs file sytsem 3713f24 itsapp new directory added cd424bd makefile renamed to datalogger.mk de8a247 its renamed to datalogger in rootfs 003ce5f . 429efbf read failed error fixed for wifi_reader Kernel: 839f3f2 (HEAD, origin/ti_2.12_release, ti_2.12_release) updated library and binaries added 2e3691d debug renamed to debug 35e203d Makefile and header files added 002bee1 itsapp.mk added d9bc44b nwmanager initial version added 6619725 Debug renamed to debug , and Ipc renamed to ipc 34b4ac8 Debug renamed to debug , and Ipc renamed to ipc 21d98c8 controlapp initial version version added fad591e json,ffmpeg Dependency added 764c7cb its directory added in rootfs file sytsem 3713f24 itsapp new directory added cd424bd makefile renamed to datalogger.mk de8a247 its renamed to datalogger in rootfs SGX: fd47e44 (HEAD, origin/ti-img-sgx/1.14.3699939/k4.4, sgx_dev) Revert "km: build: remove dependency on user-mode builds" 8d5305b km: remove update of sysconfig register in driver bc31285 km: fix error in calculating size of page array e68719b km: build: remove dependency on user-mode builds a5a0fe1 km: Resolve Linux build warnings c13efb7 km: disable active power management c8d280c km : use CONFIG_ZONE_DMA for LPAE 106ddd5 km: use platform specific reset APIs only for AM3/AM4 platform fed0756 (origin/ti-img-sgx/1.14.3699939/k4.1) KM: Make kernel configuration variable SUPPORT_LISR_MISR_SYNC conditional 3d5e9c9 KM: Enhance OMAP-based platform code to support AM3/4/5 devices 2d4a2cf KM: Invoke platform-specific reset API calls if available Is all source code have old version/tags?? Have i taken any wrong process? Please help to solve my problem? Thanks, Anand Kumar + +Responses: +Hi Anand, from the git log it seems that your kernel and u-boot are old versions (SGX seems to be on the right commit). Which version is you VisionSDK? Can you look at chapter "2.4.2 Install Linux Components" in VisionSDK_Linux_UserGuide.pdf how to clone and checkout the right tag of u-boot and kernel. Regards, Yordan + +Hi Yordan, i am using Vision SDK_03_04. Now, i changed to updated kernel version with help of UserGuide pdf file. Now, It is compiling successfully. Thanks, Anand Kumar + diff --git a/sample_embedding_folder2/0737971.txt b/sample_embedding_folder2/0737971.txt new file mode 100644 index 0000000000000000000000000000000000000000..f0b98878e179627af6c147c16aa470b10353fef3 --- /dev/null +++ b/sample_embedding_folder2/0737971.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/PROCESSOR-SDK-TDAX: QLinuxFbScreen::connect: Invalid argument + +Query Text: +Part Number: PROCESSOR-SDK-TDAX Tool/software: Linux I am trying to run QT application on PROCESSOR-SDK-TDA2-3.04 that supports VDRM controller. I am getting some errors when I am running that QT app with the command ./movable -platform linuxfb -display "LinuxFb:/dev/fb0" -qws QLinuxFbScreen::connect: Invalid argument Error reading fixed information LinuxFb: driver cannot connect Aborted (core dumped) Here is my configuration. ./configure -prefix /opt/qt-4.7.1 -embedded arm -platform qws/linux-x86_64-g++ -xplatform qws/linux-vsdk304-arm-gnueabi-g++ -depths 16,24,32 -no-mmx -no-3dnow -no-sse -no-sse2 -no-glib -no-cups -no-largefile -no-accessibility -no-openssl -no-gtkstyle -qt-mouse-pc -qt-mouse-linuxtp -qt-mouse-linuxinput -plugin-mouse-linuxtp -plugin-mouse-pc -opensource -qt-gfx-linuxfb -qt-gfx-qvfb Could you please give some inputs to resolve this issue. If I am doing some thing wrong in configuration or some where else. + +Responses: +Hi Raza, SDK 3.04 with vDRM support is not validated for QT applications. The filesystem provided with vision-sdk 3.04 doesn't have QT libraries. Are you trying too use linux fbdev here? This feature is no more supported, drm is the default display + +Yes I am using fb0 that is linked to vdrm with soft link in this manner /dev/fb0 -> /dev/vdrm-controller-0 If this feature is no more supported so could you please help me out to run QT-4.7.1 application on it through VDRM, what is the procedure to get the display on the screen? + diff --git a/sample_embedding_folder2/0738358.txt b/sample_embedding_folder2/0738358.txt new file mode 100644 index 0000000000000000000000000000000000000000..ed9787d9b38bf2ab29fcd7d5ef5520f3e6c0719f --- /dev/null +++ b/sample_embedding_folder2/0738358.txt @@ -0,0 +1,10 @@ +Ticket Name: RTOS/TDA2: DCAN2 external loopback test mode stuck at Utils_dcanWaitForTxComplete() + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, I have the same problem! It stuck at Utils_dcanWaitForTxComplete(). please help to give me some advisement Thanks~~ + +Responses: +Hi, Have you tried all the things suggested in above e2e thread? If yes and still facing same issue, can you take a dump of DCAN2 registers and DCAN2 message RAM? Thanks & Regards, Vivek Dhande. Texas Instruments (India) Pvt Ltd + +Hi, I found the problem. Some default usecase would use the same pin and would modify pinmux after mine. Thanks~ + diff --git a/sample_embedding_folder2/0738695.txt b/sample_embedding_folder2/0738695.txt new file mode 100644 index 0000000000000000000000000000000000000000..3569a330df76122df44f481b514f5b55668cae41 --- /dev/null +++ b/sample_embedding_folder2/0738695.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: how to send data from a15 to c66 DSP + +Query Text: +Part Number: TDA2 Tool/software: Linux now i am VISION_03_04_00_00 i read file load cnn_model in a15 , it will use by C66 , so have can i send the model_buffer to C66 dsp ? Now I'm passing the model over the image data through IPCOut_A15_0_DSP1_0Prm, and then taking it out of the image data, and I think that's a temporary solution. can you tell me how to do this and Describe the steps? + +Responses: +Hello If you need to pass this buffer only one time, then use of IPCOut_A15_0_DSP1_0 is not really required. You can do a file read and load this data to a buffer/memory on A15 from usecase, Then pass the physical pointer of this buffer to DSP as an Alg link (on DSP) create time parameter regards, Shiju + diff --git a/sample_embedding_folder2/0738698.txt b/sample_embedding_folder2/0738698.txt new file mode 100644 index 0000000000000000000000000000000000000000..696f19a606658ed073cbc7be7103f5c94a7a8fc1 --- /dev/null +++ b/sample_embedding_folder2/0738698.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: EVE/VCOP deinterleave(), interleave() problem + +Query Text: +Part Number: TDA2 Hi, I try release simple mean filter window 3x3. I use npt() and get the same result as host emulation (visual studio vcop.h library), but when i change npt() to deinterleave(), interleave(), the result is diffrent. __vptr_uint16 bufx, __vptr_uint8 output, w = 640; npt loops: for (int I1 = 0; I1 < blockH; I1++) { for (int I2 = 0; I2 < w / VCOP_SIMD_WIDTH; I2++) { __agen indexOut = I1 * w * sizeof(*output) + I2 * sizeof(*output) * VCOP_SIMD_WIDTH; __agen index = I1 * bufWidth * sizeof(*bufx) + I2 * sizeof(*bufx) * VCOP_SIMD_WIDTH; Vec10 = (bufx)[index].npt(); Vec20 = (bufx + 2)[index].npt(); Vec30 = (bufx + 4)[index].npt(); Vec10 += Vec20 + Vec30; Vec20 = Vec10 * VecMul; Vec30 = Vec20 << Vshift; output[indexOut].npt() = Vec30; } } deinterleave(), interleave() loops: for (int I1 = 0; I1 < blockH; I1++) { for (int I2 = 0; I2 < w / VCOP_2SIMD_WIDTH; I2++) { __agen indexout = I1 * w * sizeof(*output) + I2 * sizeof(*output) * VCOP_2SIMD_WIDTH; __agen index0 = I1 * bufWidth * sizeof(*bufx) + I2 * sizeof(*bufx) * VCOP_2SIMD_WIDTH; (Vec10, Vec11) = (bufx)[index0].deinterleave(); (Vec20, Vec21) = (bufx + sizeof(*bufx))[index0].deinterleave(); (Vec30, Vec31) = (bufx + 2 * sizeof(*bufx))[index0].deinterleave(); Vec10 += Vec20 + Vec30; Vec11 += Vec21 + Vec31; Vec20 = Vec10 * VecMul; Vec21 = Vec11 * VecMul1; Vec30 = Vec20 << Vshift; Vec31 = Vec21 << Vshift1; output[indexout].interleave() = (Vec30, Vec31); } } Where is the problem? Thank you for help. + +Responses: +The next loop for VCOP_2SIMD_WIDTH works correct. In documentation for deinterleave aligment must be for word. Word mean 4 or 2 bytes? for (int I1 = 0; I1 < blockH; I1++) { for (int I2 = 0; I2 < w / VCOP_2SIMD_WIDTH; I2++) { __agen indexout = I1 * w * sizeof(*output) + I2 * sizeof(*output) * VCOP_2SIMD_WIDTH; __agen index0 = I1 * bufWidth * sizeof(*bufx) + I2 * sizeof(*bufx) * VCOP_2SIMD_WIDTH; Vec10 = (bufx)[index0].npt(); Vec11 = (bufx + 16)[index0].npt(); Vec20 = (bufx + sizeof(*bufx ) )[index0].npt(); Vec21 = (bufx + 16 + sizeof(*bufx) )[index0].npt(); Vec30 = (bufx + 2 * sizeof(*bufx) )[index0].npt(); Vec31 = (bufx + 16 + 2 * sizeof(*bufx) )[index0].npt(); Vec10 += Vec20 + Vec30; Vec11 += Vec21 + Vec31; Vec20 = Vec10 * VecMul; Vec21 = Vec11 * VecMul1; Vec30 = Vec20 << Vshift; Vec31 = Vec21 << Vshift1; output[indexout].npt() = Vec30; (output+8)[indexout].npt() = Vec31; } } + +I have mistake, make alignment equal 2 bytes, but it must be 4 bytes. + +Hi Danil, thanks for updating the thread. Regards, Yordan + diff --git a/sample_embedding_folder2/0738706.txt b/sample_embedding_folder2/0738706.txt new file mode 100644 index 0000000000000000000000000000000000000000..ae8f492ea505ee535cfef720326238818453a72c --- /dev/null +++ b/sample_embedding_folder2/0738706.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: Cannot run EVE edge detection on Linux + +Query Text: +Part Number: TDA2 Tool/software: Linux Im trying to use existing rtos edged etection algorithm but ported on linux. Its kinda working, but very strange, and i cant find out whats wrong. The resolution is very low and it is packing multiple screens on display (you can see four screens packed next to each other on image): + +Responses: +Hello Please check video pitch and data format passed to the display after the edge detect alg. I guess you do not need any changes in ED Alg or Alg plugin as this run on EVE in both RTOS and Linux case, only the usecase need porting from rtos to Linux to get this working on Linux regards, Shiju + +Hi, I have tried changing pitch and frame format, input, output resolution, and i always get the similar result. I was thinking that maybe problem was in display setting so i saved the output from ED link and when i try to open it on my PC (using ffplay) i get this: [rawvideo @ 0x7f94b40008c0] Invalid buffer size, packet size 16384 < expected frame_size 3110400 for 1920x1080 output [rawvideo @ 0x7f69ac0008c0] Invalid buffer size, packet size 16384 < expected frame_size 1382400 for 1280x720 output [rawvideo @ 0x7f3ec80008c0] Invalid buffer size, packet size 7984 < expected frame_size 8400 for 280x20 Its like it is always compressed, or that algorithm does not give complete output, which makes no sense cause it is working perfectly fine running on sys-bios. Any thoughts on this? + +Hi ED Alg link output full frame, but only the Luma (Y) portion of the video frame. Is ED on Linux is your ultimate goal or is this a experimental UC? Can you please help me to understand your final UC/data flow? Regards, Shiju + diff --git a/sample_embedding_folder2/0739114.txt b/sample_embedding_folder2/0739114.txt new file mode 100644 index 0000000000000000000000000000000000000000..63e383405d9fd949fa572cdd167397997cc9de0d --- /dev/null +++ b/sample_embedding_folder2/0739114.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2: SPI Slave driver Implementation for TDA2x + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, As per my project requirement, I need to configure one McSPI modules as SPI Slave mode for TDA2x. for this, I need SPI Slave driver to communicate with another Master Controller device. I am using Vision SDK 03_04 for this project. As my search or knowledge, i didnot find any SPI Slave driver in this SDK. Is any driver available in this SDK for TDA2x? Please help me to get any similar spi slave driver for TDA2x which is capable to communicate with master. Please provide any link/code/information regarding this. Thanks, Anand Kumar + +Responses: +Hi Anand, McSPI driver is here: PROCESSOR_SDK_VISION_03_05_00_00\ti_components\drivers\pdk_01_10_01_06\packages\ti\drv\bsp_lld\mcspi Regards, Rishabh + +Hi Rishabh, Thanks for this link. I will go through and will check it will solve my problem or not. could you Please help me to find document/forum which related to integrate this driver and application guide in Vision SDK Doc. Thanks, Anand Kumar + +Hi Anand, You can search for Utils_mcspiInit in Vision SDK and see how it is used. Regards, Rishabh + +Hi Rishabh, Thanks for support. Thanks, Anand Kumar + diff --git a/sample_embedding_folder2/0739295.txt b/sample_embedding_folder2/0739295.txt new file mode 100644 index 0000000000000000000000000000000000000000..b42dedccb4b09cc917dc900eddf446a0c0a1f460 --- /dev/null +++ b/sample_embedding_folder2/0739295.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: EVE:Execute Single Kernel into multi EVE cores + +Query Text: +Part Number: TDA2 Hi guys, We need to execute a single kernel on different EVE cores with the following scenario. 1. The input image will be in x*y dimension. 2. It has to be broken into x1*y1, x2*y2, x3*y3 dimensions. 3. The kernel should be executed in all the EVE cores for these different image sections. 4. After the executions in all the cores completed, the individual outputs should be merged into x*y dimension single image. And, the execution can be done with or without the support of VisionSDK. Can you please suggest the steps or methodologies to do so. Regards Surbhi + +Responses: +Hello Surbhi, The first step would be to develop an applet on EVE to process any frame of dimensions x*y on one single EVE core. You can find more information on how to implement an applet by reading this post and its attached presentation: Then next step is to create a vision SDK alg-plugin that would be instantiated on 4 different cores but running the same applet with different image dimensions as parameters. Finally you need to create a merge applet and its alg-plugin to run on the 4th core. regards, Victor + diff --git a/sample_embedding_folder2/0739688.txt b/sample_embedding_folder2/0739688.txt new file mode 100644 index 0000000000000000000000000000000000000000..04bfcb3dba73035416dad7c56fbf8b76b95dfe3c --- /dev/null +++ b/sample_embedding_folder2/0739688.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: SPI Slave driver Implementation for TDA2x + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi , I gone through SPI driver as mention below: McSPI driver is here: PROCESSOR_SDK_VISION_03_05_00_00\ti_components\drivers\pdk_01_10_01_06\packages\ti\drv\bsp_lld\mcspi --This driver based on ti rtos driver (PDK Package) but i need spi slave driver based on linux (HLOS) side (VSDK part). could you please help me to get any SPI Slave driver code/examples/document related to this? Thanks, Anand Kumar + +Responses: +Hi Anand, Vision SDK package does not have spi driver for linux. If you want to use it with Vision SDK linux, you should follow approach similar to VIP and other Video peripherals (they run on M4). You should refer to linux kernel for actual SPI linux drivers. Regards, Rishabh + diff --git a/sample_embedding_folder2/0740210.txt b/sample_embedding_folder2/0740210.txt new file mode 100644 index 0000000000000000000000000000000000000000..25a993c8dba07100724fd0a9b68ed85560ed18b0 --- /dev/null +++ b/sample_embedding_folder2/0740210.txt @@ -0,0 +1,65 @@ +Ticket Name: RTOS/TDA2: How to use UIA Profile (System Analyzer) for EVE in Vision SDK + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: SYSBIOS Tool/software: TI-RTOS Hi, I try use System Analyzer -> Context Aware Profile for EVE core in vision SDK 3.04. I follow System Analyzer User's Guide (4.15.3 Profiling Functions Using Enter and Exit Hook Functions), In rules_arp32.mk next options is added to CFLAGS_INTERNAl: --entry_hook=functionEntryHook --entry_parm=address --exit_hook=functionExitHook --exit_parm=address try use uia_2_00_05_50 and uia_2_30_01_02, but get error: Undefined referance symbols: ti_uia_events_UIAProfile_enterFunctionAdrs__C ti_uia_events_UIAProfile_exitFunctionAdrs__C They are defined as extern variables in , but I can't find difinition throw vision SDK packeges. Is there any way to use Context Aware Profile for EVE core in vision SDK 3.04 ? Thank you for answers. + +Responses: +Hi, I think trouble may be in BIOS_common.cfg, I modified part for profiling next way if (enableProfiling == "yes") { var UIAProfile = xdc.useModule('ti.uia.events.UIAProfile'); //added UIAProfile.enable = true; //added UIAProfile.UIAProfile_enterFunctionAdrs var Loger = xdc.useModule('xdc.runtime.Log'); //added BIOS.logsEnabled = true; var LoggingSetup = xdc.useModule('ti.uia.sysbios.LoggingSetup'); LoggingSetup.sysbiosSwiLogging = true; LoggingSetup.sysbiosHwiLogging = true; LoggingSetup.sysbiosSemaphoreLogging = true; LoggingSetup.loadLogging = true; LoggingSetup.benchmarkLogging = true; LoggingSetup.mainLoggingRuntimeControl = true; LoggingSetup.loadTaskLogging = true; LoggingSetup.loadSwiLogging = true; LoggingSetup.loadHwiLogging = true; LoggingSetup.loadLoggerSize = 262144; LoggingSetup.sysbiosLoggerSize = 524288; LoggingSetup.mainLoggerSize = 262144; LoggingSetup.enableContextAwareFunctionProfiler = true; //added var UIAMetaData = xdc.useModule('ti.uia.runtime.UIAMetaData'); UIAMetaData.overrideTimestampFreq = true; UIAMetaData.timestampFreq.lo = 20000000; } Could you help me with right configuretion? + +Hi Danil, I made the following changes in the vision_sdk to get my compilation working with UIA on EVE. Can you please check if you are making the same changes: diff --git a/apps/configs/tda2xx_evm_bios_all/cfg.mk b/apps/configs/tda2xx_evm_bios_all/cfg.mk +index e769db0..224a2ed 100755 +--- a/apps/configs/tda2xx_evm_bios_all/cfg.mk ++++ b/apps/configs/tda2xx_evm_bios_all/cfg.mk +@@ -150,7 +150,7 @@ HS_DEVICE=no + ULTRASONIC_INCLUDE=no + + # Enable this macro to enable profiling features through system analyzer on CCS +-ENABLE_UIA_PROFILING=no ++ENABLE_UIA_PROFILING=yes + + # + #Flag for task profiling +diff --git a/build/rtos/makerules/rules_arp32.mk b/build/rtos/makerules/rules_arp32.mk +index 727cfcf5..c56fbae 100755 +--- a/build/rtos/makerules/rules_arp32.mk ++++ b/build/rtos/makerules/rules_arp32.mk +@@ -197,6 +197,8 @@ endif + # Assemble CFLAGS from all other CFLAGS definitions + _CFLAGS = $(CFLAGS_INTERNAL) $(CFLAGS_GLOBAL_$(CORE)) $(CFLAGS_XDCINTERNAL) $(CFLAGS_LOCAL_COMMON) $(CFLAGS_LOCAL_$(CORE)) $(CFLAGS_LOCAL_$(PLATFORM)) $(CFLAGS_LOCAL_$(SOCFAMILY)) $(CFLAGS_LOCAL_$(SOC)) $(CFLAGS_APP_DEFINES) $(CFLAGS_C + ++_CFLAGS += --entry_hook=ti_uia_events_UIAProfile_functionEntryHook --entry_parm=name --exit_hook=ti_uia_events_UIAProfile_functionExitHook --exit_parm=name ++ + + INCLUDE_EXTERNAL = $(foreach INCL,$(INCLUDE_EXTERNAL_INTERFACES),$($(INCL)_INCLUDE)) + INCLUDE_UIA = $(uia_INCLUDE) +diff --git a/links_fw/src/rtos/bios_app_common/tda2xx/cfg/BIOS_common.cfg b/links_fw/src/rtos/bios_app_common/tda2xx/cfg/BIOS_common.cfg +index a9c0d41..9465569 100644 +--- a/links_fw/src/rtos/bios_app_common/tda2xx/cfg/BIOS_common.cfg ++++ b/links_fw/src/rtos/bios_app_common/tda2xx/cfg/BIOS_common.cfg +@@ -151,6 +151,10 @@ if (enableProfiling == "yes") + var UIAMetaData = xdc.useModule('ti.uia.runtime.UIAMetaData'); + UIAMetaData.overrideTimestampFreq = true; + UIAMetaData.timestampFreq.lo = 20000000; ++ var UIAProfile = xdc.useModule('ti.uia.events.UIAProfile'); ++ UIAProfile.runtimeControl = true; ++ UIAProfile.enable = false; ++ + } + else + { + Thanks and Regards, Piyali + +Hi, thank you for answer. I followed instrunction, projecte was compiled. But when I add Context Aware Profiling in EVE .c file (from Sstem Analyzer User's Guide 4.15.3): #include "xdc/runtime/Log.h" #include "ti/uia/events/UIAProfile.h" .... void functionEntryHook( void (*addr)()) { Log_write2(UIAProfile_enterFunctionAdrs, (IArg)0, (IArg)addr); } void functionExitHook( void (*addr)()) { Log_write2(UIAProfile_exitFunctionAdrs, (IArg)0, (IArg)addr); } I get the same error: Undefined referance symbols: ti_uia_events_UIAProfile_enterFunctionAdrs__C ti_uia_events_UIAProfile_exitFunctionAdrs__C + +Hi Can you please share the full list of changes you have made? Thanks and Regards, Piyali + +Hi, changes In cfg.mk ENABLE_UIA_PROFILING=yes in BIOS_common.cfg if (enableProfiling == "yes") { BIOS.logsEnabled = true; var LoggingSetup = xdc.useModule('ti.uia.sysbios.LoggingSetup'); LoggingSetup.sysbiosSwiLogging = true; LoggingSetup.sysbiosHwiLogging = true; LoggingSetup.sysbiosSemaphoreLogging = true; LoggingSetup.loadLogging = true; LoggingSetup.benchmarkLogging = true; LoggingSetup.mainLoggingRuntimeControl = true; LoggingSetup.loadTaskLogging = true; LoggingSetup.loadSwiLogging = true; LoggingSetup.loadHwiLogging = true; LoggingSetup.loadLoggerSize = 262144; LoggingSetup.sysbiosLoggerSize = 524288; LoggingSetup.mainLoggerSize = 262144; LoggingSetup.enableContextAwareFunctionProfiler = true; //added var UIAMetaData = xdc.useModule('ti.uia.runtime.UIAMetaData'); UIAMetaData.overrideTimestampFreq = true; UIAMetaData.timestampFreq.lo = 20000000; var UIAProfile = xdc.useModule('ti.uia.events.UIAProfile'); UIAProfile.runtimeControl = true; UIAProfile.enable = true; var Loger = xdc.useModule('xdc.runtime.Log'); } In arp_32.mk ifeq ($(ENABLE_UIA_PROFILING), yes) CFLAGS_INTERNAL += --entry_hook=ti_uia_events_UIAProfile_functionEntryHook --entry_parm=name --exit_hook=ti_uia_events_UIAProfile_functionExitHook --exit_parm=name endif In .c file #include "xdc/runtime/Log.h" #include "ti/uia/events/UIAProfile.h" .... void functionEntryHook( void (*addr)()) { Log_write2(UIAProfile_enterFunctionAdrs, (IArg)0, (IArg)addr); } void functionExitHook( void (*addr)()) { Log_write2(UIAProfile_exitFunctionAdrs, (IArg)0, (IArg)addr); } Elso I try use ti_uia_events_UIAProfile_functionEntryHook(const char*) and ti_uia_events_UIAProfile_functionExitHook(const char*), but compiler cant find symbols in .oearp32F: ti_uia_events_UIAProfile_functionEntryHook ti_uia_events_UIAProfile_functionExitHook What library should I add to define the functions? Thank you for help + +Danil, When you changed the ENABLE_UIA_PROFILING did you perform a "make -s depend" and then "make -s". Can you please try a clean build by first deleting the binaries and then performing the build? The two ti_uia_events_UIAProfile_functionEntryHook ti_uia_events_UIAProfile_functionExitHook are generated by the XDC configuro. So you should see the symbols in vision_sdk\binaries\apps\tda2xx_cascade_bios_radar\obj\vision_sdk\tda2xx-evm\arp32_1\release\vision_sdk_configuro\package\cfg\MAIN_APP_eve1_pearp32F.c Thanks and Regards, Piyali + +Piyali, Yes, I do gmake clean, gmake -s -j depend, gmake -s -j. I can't find two ti_uia_events_UIAProfile_functionEntryHook ti_uia_events_UIAProfile_functionExitHook in MAIN_APP_eve1_pearp32F.c. But I find some UIA functions like ti_uia_events_UIAErr_Module__startupDone__S + +Piyali, Could be any problems, if i use xdctools_3_32_01_22_core? + +Hi Piyali, I changed BIOS_common.cfg for wrong platform, your variant is compiled correctly, thank you for help! + diff --git a/sample_embedding_folder2/0740212.txt b/sample_embedding_folder2/0740212.txt new file mode 100644 index 0000000000000000000000000000000000000000..02105680a9628ed502a13e12b82fcd7400025817 --- /dev/null +++ b/sample_embedding_folder2/0740212.txt @@ -0,0 +1,26 @@ +Ticket Name: Linux/TDA2: [VISION SDK] Running a TIDL usecase in LINUX+BIOS mode. + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi Shiju, OK, I solved last problem, but since next one is still related to TIDL uc I'll continue to write here? I'll add Modified Null Src as attachment. Problem that appears now is that the UC usually does not write correct data to the SD card. It always writes correct amount of data to the card, but just sometimes correct data are written ... Usually it writes all null(creates empty output) and once in 20 times output is as expected... When we tryed to debug it using printf-s (Vps_printf ) the output has changed .... Now there is not empty file with some trash data, but also correct output appears sometimes. I am not really shore where to lock for problems - is it some timing or it could be memory related somehow ... or something else? On rtos UC there is init of OCMC in static Void tidlInit(chains tidlApp *pObj) function /* Init all the 3 instances of the OCMC */ Utils_cbufOcmcInit(UTILS_OCMC_RAM1); #if defined(TDA2XX_BUILD) || defined(TDA2PX_BUILD) Utils_cbufOcmcInit(UTILS_OCMC_RAM2); Utils_cbufOcmcInit(UTILS_OCMC_RAM3); #endif Since UC runs on hlos, this part of the code I have placed in tidl_preproc alg plugin (not shore could this part make some problems or not) Any suggestion you can give me is valuable. Tnx in advance, Nebojsa + +Responses: +Hi Markovic I guess you have many 2 issues <1> related to SD card data write. I guess you does this on A15 Linux. I suspect Cache coherency issues here, try with proper cache APIs like OSA_cacheInv() and OSA_cacheWb() <2> OCMC initlization Moving this to any IPU side code would be fine, but make sure this get executed in create phase Regards, Shiju + +Hi, regarding TIDL on Linux, I would like to ask some additional questions. Network parameters are read from input file on A15 core and pointers to buffers with those parameters are stored in Network structure. However, when this structure is used on DSP core, it appear that some of those pointers are set to 0. It is not same pointer every time but with every execution it could be any pointer. If someone knows what could be causing this, I would be thankful. Regards, Sasa + +Sasa On Linux side you will usually get the virtual address/pointers, you need to get the physical address of the same to pass to DSP as all Bios cores need physical address/pointers. VSDK has the API available to obtain physical address from virtual pointers regards, Shiju + +Hi Shiju, as far as I can see, IPC_Out link will do that, because it follows NullSource link on A15. Am I correct? Regards, Sasa + +Hi Sasa only the video buffers (data path) is connected via IPC links, any other create/run time parameters are passed via IPC MSGQs and any element(pointers) inside these structures are not translated regards, Shiju + +Hi Shiju, Pointers which are problem for me are already in shared memory region. I have to retrieve virtual address of neural network structure to assign those pointers. Something like this: unsigned int virt_addr; virt_addr = OSA_memPhys2Virt((unsigned int)net, OSA_MEM_REGION_TYPE_AUTO); net = (sTIDL_Network_t*)virt_addr; Then, when allocating memory I have something likethis: sTIDL_ConvParams_t *conv2dPrms = &net->TIDLLayers[i].layerParams.convParams; conv2dPrms->weights.bufSize = \ net->weightsElementSize * (conv2dPrms->kernelW * conv2dPrms->kernelH *\ conv2dPrms->numInChannels * conv2dPrms->numOutChannels)/conv2dPrms->numGroups; conv2dPrms->weights.ptr = ChainsCommon_Osal_memAlloc(conv2dPrms->weights.bufSize, 32); And then when reading, I have this: ChainsCommon_Osal_fileRead( fp, (UInt8*)ChainsCommon_Osal_getVirtAddr((UInt32)conv2dPrms->weights.ptr), dataSize, &readSize); UTILS_assert(readSize == dataSize); This structure is available to DSP and only pointers for several layers are reset to 0 and it isn't same pointer every execution. In first run it can be layer 2, then in next run layer 7, after that some other layer and so on. Can you spot any problem from this above? Regards, Sasa + +Hi Sasa I guess you have use OSA_memVirt2Phys () to get the physical address of each and every virtual pointer you get on A15 Linux, which you want to pass to DSP. on A15 side all the pointers to get are by default virtual pointers, when you pass those to DSP or IPU, just get the physical pointer and pass. This physical pointer would works on DSP/IPU Bios. If things are correct occasionally, then cache coherency could be another suspect. regards, Shiju + +Hi Shiju, I use OSA_memPhys2Virt() to get virtual address from physical as createParams memory is allocated dynamically. Inside those createParams is net structure which represents neural network. After filling net structure with values, function OSA_memCacheWb is called with net as it's argument. On DSP, this sturcture is invalidated. Is this procedure enough to make cache coherency or something more can be done? Regards, Sasa + +Hi Sasa Your cache API sequence are correct. I am a bit confused WRT your address translations, on A15 side why do you use OSA_memPhys2Virt()? on A15 Linux side all your address are already Virtual pointers. I guess you only need Virtual to physical conversion to pass Physical pointers to DSP. DSP can only work with Physical pointers FYI, we are planning to port TIDL OD usecase to A15 Linux in our next release regards, Shiju + +Hi Shiju, problem is solved. Cache writeback had to be done over one structure for usecase to work correct. Thank you for your effort. Best regards, Sasa + diff --git a/sample_embedding_folder2/0740345.txt b/sample_embedding_folder2/0740345.txt new file mode 100644 index 0000000000000000000000000000000000000000..12f7b37a802283c407b1e566dce5e6c03b31c116 --- /dev/null +++ b/sample_embedding_folder2/0740345.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Can DCAN1 run simultaneously with capture and display links? + +Query Text: +Part Number: TDA2 The problem is similar to this “e2e.ti.com/.../716329 [IPU1-1] 97.623528 s: Assertion @ Line: 505 in D:/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/apps/src/rtos/modules/dcan/utils_dcan.c: status == 0 : failed !!! [IPU1-1] 97.623741 s: [IPU1-1] 97.623802 s: ### XDC ASSERT - ERROR CALLBACK START ### [IPU1-1] 97.623863 s: [IPU1-1] 97.624016 s: assertion failure: A_badContext: bad calling context. See GateMutex API doc for details. [IPU1-1] 97.624107 s: [IPU1-1] 97.624168 s: ### XDC ASSERT - ERROR CALLBACK END ### static Void Utils_dcanQuePut(Utils_QueHandle * handle, struct dcanQueMsgs_s *msg, dcanQueMsgState_e state) { Int32 status; msg->state = state; status = Utils_quePut(handle,msg,BIOS_NO_WAIT); UTILS_assert(status == 0);// this assert status == 0 : failed !!! } + +Responses: +Hi Yuling, DCAN can run along with capture and display links. In previous threads, user was able to get some message before seeing this error. Is your observation same? If yes, can you try doing changes suggested in attached thread(in your previous reply). Please let know your results. Thanks & Regards, Vivek Dhande. Texas Instruments (India) Pvt Ltd + diff --git a/sample_embedding_folder2/0740462.txt b/sample_embedding_folder2/0740462.txt new file mode 100644 index 0000000000000000000000000000000000000000..25e3de5be6385e965a1f32e0d9fd812a86d065b8 --- /dev/null +++ b/sample_embedding_folder2/0740462.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2EXEVM: TDA2 - 'Undefined reference Error' + +Query Text: +Part Number: TDA2EXEVM Tool/software: Linux Hi there, I am using vision sdk version 2.12. I am trying to add a new usecase in vision_sdk/hlos/examples/adas/src/usecase. The main function that I have used is Void chains_multichannel_analog_dvr(Chains_Ctrl *chainsCfg); which is defined in the corresponding usecase .c file. This function was called in vision_sdk//hlos/examples/adas/src/common/chains_main.c which includes a header #include . The function was declared in the above mentioned header. While compiling I am getting the following error.(earlier there some use-cases which are working fine) ----------------------------------------------------------------------------------------------------------- # vision_sdk_linux_demo: tda2ex-evm: Compiling chains_multichannel.c # vision_sdk_linux_demo: tda2ex-evm: Compiling chains_multichannel_priv.c # vision_sdk_linux_demo: tda2ex-evm: Compiling defLinkMultich_tsk.c # vision_sdk_linux_demo: tda2ex-evm: Creating archive vision_sdk_linux_demo.a # vision_sdk_linux_demo: tda2ex-evm: Linking /home/madan/McCDVR/mccdvr/Source/vision_sdk/binaries/tda2ex_mccdvr_all/lib/a15/release/vision_sdk_linux_demo.a(chains_main.o): In function `main': chains_main.c:(.text.startup+0x3e): undefined reference to `chains_multichannel_analog_dvr' collect2: error: ld returned 1 exit status make[4]: *** [exe] Error 1 make[3]: *** [apps] Error 2 make[2]: *** [demo] Error 2 make[1]: *** [vision_sdk_linux] Error 2 make: *** [vision_sdk_linux_all] Error 2 ------------------------------------------------------------------------------------------------------------ to be informed, i have included the new use-case in the following files, in configs/cfg.mk LINUX_TDA2XX_UC_LIST = \ /*some more use-case inclusions*/ UC_vip_2CH_vdec_encode \ UC_multichannel_Analog \ in system_cfg.h #define UC_vip_2CH_vdec_encode_no #define UC_multichannel_Analog in uc_cfg.mk UC_vip_4CH_vdec_display=no UC_multichannel_Analog=yes and in MAKEFILE_adas.MK ifeq ($(UC_multichannel_Analog),yes) $(MAKE) -fMAKEFILE.MK -C$(vision_sdk_PATH)/hlos/examples/adas/src/usecases/multichannel_Analog MODULE=vision_sdk_linux_demo $(TARGET) endif and also have checked make make showconfig ans i have the below information. # Use-cases included in build, # UC_cabin_channel_dvr UC_front_channel_dvr UC_McCDVR_TriChannel UC_multichannel_Analog # How can i solve this. Regards Balaji T + +Responses: +Hi Balaji, Lets Check with an existing UC where all it has been added & you need to do similar changes for newly added UC 1. Run grep command for an existing UC folder, check where all it has been added grep -ri "vip_single_cam_sgx_display" from vision_sdk folder 2. Run grep command for an existing UC entry function name present in .c file & check where all it has been added grep -ri "chains_vipSingleCam_SgxDisplay" from vision_sdk folder 3. In similar places, you need to add your newly added UC 4. After adding in all places just do a clean build Regards Surya + +Hi Surya, Hope you are doing well. My issue got resolved, in uc_cfg.mk UC_vip_4CH_vdec_display=no UC_multichannel_Analog=yes(space)- i had given this extra space. Thank you Regards Balaji T + diff --git a/sample_embedding_folder2/0740555.txt b/sample_embedding_folder2/0740555.txt new file mode 100644 index 0000000000000000000000000000000000000000..ae6c5a42293b11b1daa6d1bfd6bcaa8e43700357 --- /dev/null +++ b/sample_embedding_folder2/0740555.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: EVE :DIVISION OPERATION + +Query Text: +Part Number: TDA2 Hi, I want to use division operation for unsigned short(16bit) in my code, i have checked the implemented kernels regarding division i.e (kernelslib/array_div_unsword ) & ( kernelslib/array_div_unsshort_w_TLU). Is their any other method to implement division operation? Regards Surbhi + +Responses: +Hi Surbhi, If its a generic division operation then you will need to use look up table based approach. Regards, Anshu + diff --git a/sample_embedding_folder2/0740583.txt b/sample_embedding_folder2/0740583.txt new file mode 100644 index 0000000000000000000000000000000000000000..9d3eebe7dded96cf5580841045e22ddea8d030a4 --- /dev/null +++ b/sample_embedding_folder2/0740583.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: Platform supported by Processor SDK Linux Automotive 03.04 + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: SYSBIOS Hi, I need information regarding PROCESSOR-SDK-LINUX-AUTOMOTIVE 03_04_00_03. Is This SDK have support for TDA2xx ? In my project, I am using TDA2xx. So, Is it good to use this SDK version? Please help to know this information. Thanks, Anand Kumar + +Responses: +Hi Anand, you can run Processor SDK Linux Automotive on TDA2x, also note that VisionSDK has Linux+BIOS version which runs Linux on A15 and SYSBIOS on other cores (Linux part is based on PSDKLA) - refer documents in "PROCESSOR_SDK_VISION_03_05_00_00\vision_sdk\docs\Linux". Regards, Yordan + +Hi Yordan, Thanks for information. Thanks, Anand Kumar + +Hi Anand, You can get this information by looking at release notes of any SW package provided by TI. Regards, Rishabh + diff --git a/sample_embedding_folder2/0740900.txt b/sample_embedding_folder2/0740900.txt new file mode 100644 index 0000000000000000000000000000000000000000..a41d8d38644565b644148057566ffdf582367669 --- /dev/null +++ b/sample_embedding_folder2/0740900.txt @@ -0,0 +1,61 @@ +Ticket Name: Linux/TDA2: PSDK3.4 can't start weston normally? + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi TI, I run PSDKLA3.4 in tda2x evm. Because I want to run the QT app in it. But the weston can't start up.like this: root@dra7xx-evm:~# +root@dra7xx-evm:~# cat /var/log/weston.log +Date: 2018-10-23 UTC +[07:36:18.772] weston 1.9.0 + http://wayland.freedesktop.org + Bug reports to: bugs.freedesktop.org/enter_bug.cgi + Build: 1.8.93-2-gb05cdb8 configure.ac: bump to version 1.9.0 for the official release (2015-09-21 18:11:26 -0700) +[07:36:18.772] OS: Linux, 4.4.84-00027-g018eb62-dirty, #7 SMP PREEMPT Sat Sep 29 11:18:05 HKT 2018, armv7l +[07:36:18.775] Using config file '/etc//weston.ini' +[07:36:18.779] Loading module '/usr/lib/weston/drm-backend.so' +[07:36:18.862] Output repaint window is 7 ms maximum. +[07:36:18.862] initializing drm backend +[07:36:18.865] using /dev/dri/card0 +[07:36:18.867] Loading module '/usr/lib/weston/gl-renderer.so' +loaded module : gbm_pvr.so +found valid GBM backend : gbm_pvr.so +[07:36:19.175] warning: either no EGL_EXT_platform_base support or specific platform support; falling back to eglGetDisplay. +[07:36:19.205] failed to initialize display +[07:36:19.205] EGL error state: EGL_BAD_ALLOC (0x3003) +[07:36:19.205] failed to initialize egl +[07:36:19.205] fatal: failed to create compositor backend +PVR:(Error): OpenServices: PVRDRMOpenRender failed [0, ] +PVR:(Error): PVRSRVConnect: Unable to open connection. [0, ] +PVR:(Error): Couldn't connect to services [0, ] +root@dra7xx-evm:~# +root@dra7xx-evm:~# and the /etc/powervr.ini is : root@dra7xx-evm:~# +root@dra7xx-evm:~# cat /etc/powervr.ini +[default] +#WindowSystem=libpvrws_WAYLAND.so + +[weston] +DbmDriverName=vdrm + +[weston-simple-egl] +DbmDriverName=vdrm + +#QT app +[animatedtiles] +DbmDriverName=vdrm +root@dra7xx-evm:~# +root@dra7xx-evm:~# + And I have add the cma=128M. Have any suggestions ? Thanks! Regards, Sam. + +Responses: +Hi Sam, Are you using the PSDKLA 3.04 filesystem or vision-sdk 3.04 filesystem? Vision-sdk filesystem doesn't provide QT applications + +Hi Ramprasad, I'm using PSDKLA3.04 filesystem . Regards, Sam. + +Hi Sam, vDRM feature can be currently used only with VISION-SDK. It can not work with PSDKLA3.04. + +Hi Ramprasad, So how can I run the QT app in the PSDK3.04? The weston start up failed, as you see . Regards, Sam. + +Hi Ramprasad, Maybe I made a mistake. I just want to run a QT app by using PSDKLA3.04. Can you give me some suggestions? Thank you very much . Regards, Sam. + +Hi Sam, If you want to use only PSDKLA, please download latest SDK from this link downloads.ti.com/.../index_FDS.html and prepare SD card. This should work fine for QT application. You don't need to make any changes in powervr.ini Thanks Ram + +Hi Ram, Thanks for your reply. I'm confusing the VSDK with the PSDKLA. And now I can see the matrix-gui. Thank you ! Regards, Sam. + diff --git a/sample_embedding_folder2/0741120.txt b/sample_embedding_folder2/0741120.txt new file mode 100644 index 0000000000000000000000000000000000000000..4d47321cbbd36a4750ff47971338b6786df633ad --- /dev/null +++ b/sample_embedding_folder2/0741120.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2: tidl_src convolution layer input data tranfer + +Query Text: +Part Number: TDA2 Hi, Now we use tidl for object detection, but i don't understand the convolution layer input data tranfer. In TIDL_conv2dDmaSrcInit() function, there are both scatthergather and autoincrement dma utils as follow: in TIDL_conv2dDmaSrcAutoIncrementInit() function, what the parameter 'roiWith' 'roiHeight' 'exeMemPtr' point to, i debug the code, but i still not konw what the extMemPtr point to thanks + +Responses: +Hi, Yes, the convolution layer input data transfers require both Auto Increment and scatter gather as per our design and this is not correct place to discuss more about these details as it is a public forum. BTW, what are changes you are planning to do in this convolution layer ? Thanks, Praveen + +Hi, Now, we use ssd model to do object detecting. But the local latency in eve is about 180ms, I want to do some work to refine the convolution layer code, expecting to reduce the time. Can i use scattergather or autoincrement, one of them to do input data transfer? thanks. + +Kumar, Please check if you are able to reply now. Regards Karthik + +Convolution layers are fully optimized, we don't expect any further imporments. + diff --git a/sample_embedding_folder2/0741411.txt b/sample_embedding_folder2/0741411.txt new file mode 100644 index 0000000000000000000000000000000000000000..5e0358e9861779491adbe9e902f9c578dee47d1f --- /dev/null +++ b/sample_embedding_folder2/0741411.txt @@ -0,0 +1,12 @@ +Ticket Name: CCS/TDA2: TIDL EVE used case not hitting breakpoint + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio Hi, I am working on TIDL library and I have the following issue, I build the eve.out file in DEBUG mode and run it on TDA2x but the breakpoint does not hit main() function in tidl_tb.c file, instead it just runs continuously, and hence I am not able to debug the source code. Could you please tell me if I have to make changes in the GEL files. The build syntax I am using is gmake CORE=eve TARGET_BUILD=debug all Thank you Regards, Nithin + +Responses: +Hi Nithin, did you define EVE_SW_CONFIG to 1 in "TDA2xx_multicore_reset.gel" file and check?. #define EVE_SW_CONFIG 1 Thanks, Praveen + +Hi Praveen, I tried that. But then I get this error. Trouble Reading Memory Block at 0xa58427a on Page 1 of Length 0x1: (Error -1065 @ 0xA584278) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 6.0.407.3) Thanks. Regards, Nithin + +Hi Nithin, Can you try below steps and check, 1. Power-cycle the broad 2. Reset the EVE core before loading .out file Thanks, Praveen + diff --git a/sample_embedding_folder2/0741460.txt b/sample_embedding_folder2/0741460.txt new file mode 100644 index 0000000000000000000000000000000000000000..143613d9d9eea8067d9551825fabcf1ea7c300f8 --- /dev/null +++ b/sample_embedding_folder2/0741460.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2: Configuring MLO for TDA2x + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, By using TDA2x to do some development work, there is a need for me to make changes for configurations in MLO. The requirements are:- MLO must be built with OPP_HIGH and dual ddr interleaved mode How do I make changes on MLO for this purpose? Thanks + +Responses: +Hi, Can you refer to SBL user guide: processors.wiki.ti.com/.../TDA_SBL_UserGuide.pdf Regards, Rishabh + +Aware about this SBL user guide. it is not mentioned how to configure dual ddr interleaved mode + +Hi, You should refer to chapter 8 EMIFMODE. Option to use is SBLLIB_DUAL_EMIF_2X512MB. Regards, Rishabh + +Hi, Is this issue resolved? Regards, Rishabh + diff --git a/sample_embedding_folder2/0741519.txt b/sample_embedding_folder2/0741519.txt new file mode 100644 index 0000000000000000000000000000000000000000..c912ac19e7b590ba14e12d81f0a9f8bf2498a624 --- /dev/null +++ b/sample_embedding_folder2/0741519.txt @@ -0,0 +1,106 @@ +Ticket Name: RTOS/TDA2: vpe dei and scaling + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS I want to use vpe's dei and scaling at the same time, but it's work. Please help me tto check it . // for Deinterlace static Void setVpe_deiPrm( + VpeLink_CreateParams *pPrm, + UInt32 captureOutputWidth, + UInt32 captureOutputHeight) +{ + UInt32 outId, chId; + VpeLink_ChannelParams *chPrms; + + memset(pPrm, 0, sizeof(*pPrm)); + + pPrm->enableOut[VPE_LINK_OUT_QUE_ID_0] = TRUE; + pPrm->enableOut[VPE_LINK_OUT_QUE_ID_1] = FALSE; + + for(outId=0; outIdchParams[chId]; + chPrms->outParams[outId].numBufsPerCh = + 10;//VPE_LINK_NUM_BUFS_PER_CH_DEFAULT; + chPrms->outParams[outId].inputFrameRate = 120; + chPrms->outParams[outId].outputFrameRate = 120; + + chPrms->outParams[outId].width = captureOutputWidth; + chPrms->outParams[outId].height = captureOutputHeight; + chPrms->outParams[outId].dataFormat = SYSTEM_DF_YUV420SP_UV; + + chPrms->deiCfg.bypass = FALSE; + + chPrms->deiCfg.inpMode = VPE_DEI_EDIMODE_LUMA_CHROMA; + chPrms->deiCfg.tempInpEnable = TRUE; + chPrms->deiCfg.tempInpChromaEnable = TRUE; + chPrms->deiCfg.spatMaxBypass = TRUE; + chPrms->deiCfg.tempMaxBypass = TRUE; + + chPrms->scCfg.bypass = TRUE; + chPrms->scCfg.nonLinear = FALSE; + chPrms->scCfg.stripSize = 0; + + chPrms->scCropCfg.cropStartX = 0; + chPrms->scCropCfg.cropStartY = 0; + chPrms->scCropCfg.cropWidth = 0; + chPrms->scCropCfg.cropHeight = 0; + } + } +} // for scaling static Void setVpePrm( + VpeLink_CreateParams *pPrm, + UInt32 numLvdsCh, + UInt32 OutWidth, + UInt32 OutHeight, + UInt32 inCropWidth, + UInt32 inCropHeight) +{ + UInt32 chId; + VpeLink_ChannelParams *chPrms; + UInt32 outId = 0; + + memset(pPrm, 0, sizeof(*pPrm)); + + pPrm->enableOut[0] = TRUE; + for (chId = 0; chId < numLvdsCh; chId++) + { + chPrms = &pPrm->chParams[chId]; + chPrms->outParams[outId].numBufsPerCh = + VPE_LINK_NUM_BUFS_PER_CH_DEFAULT; + + chPrms->outParams[outId].width = OutWidth; + chPrms->outParams[outId].height = OutHeight; + chPrms->outParams[outId].dataFormat = SYSTEM_DF_YUV420SP_UV; + + chPrms->scCfg.bypass = FALSE; + chPrms->scCfg.nonLinear = FALSE; + chPrms->scCfg.stripSize = 0; + + chPrms->scCropCfg.cropStartX = 0; + chPrms->scCropCfg.cropStartY = 0; + chPrms->scCropCfg.cropWidth = inCropWidth; + chPrms->scCropCfg.cropHeight = inCropHeight; + } +} + +Responses: +sorry for error.: but it does not work. + +the chains is : Capture -> VPE_dei -> Dup_rec -> VPE_swms -> Sync_swms -> Alg_DmaSwMs -> Encode -> Null_rec (A15) + +Hi, Are you trying to create 2 different instances of VPE link and using 1 for scaling and 1 for dei? Regards, Anuj + +VPE_dei and VPE.I could not understatnd your mean. Can you provided more details? My inial as below: setVpe_deiPrm( + &pUcObj->VPE_deiPrm, + pObj->captureOutWidth, + pObj->captureOutHeight); + + setVpePrm( + &pUcObj->VPE_swmsPrm, + pObj->chainsCfg->numLvdsCh, + swWinWidth, + swWinHeight, +pObj->OutWidth, +pObj->OutHight); + +Hi, Please take a reference of the below file to set Vpe_dei prm vision_sdk/apps/src/rtos/alg_plugins/objectdetection/fpcompute2/vpe_resizer.c Regards, Anuj + diff --git a/sample_embedding_folder2/0741713.txt b/sample_embedding_folder2/0741713.txt new file mode 100644 index 0000000000000000000000000000000000000000..df23daca2430f8055f7a475c3014b0fea71b9f93 --- /dev/null +++ b/sample_embedding_folder2/0741713.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2: Communication between threads + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, Run the following two threads at the same time 1. Capture -> Alg_FrameCopy (A15) -> Display_Video 2. DCAN model "D:\PROCESSOR_SDK_VISION_03_04_00_00\vision_sdk\apps\src\rtos\modules\dcan" I want to superimpose the radar data collected by DCAN in this link(Alg_FrameCopy (A15). How to get data received from DCAN to Alg_FrameCopy? Thanks! + +Responses: +Hi Yuling Ma, Once the Can message is received, you could issue a system command to the FrameCopy link. Please note that this would should be a custom command update FrameCopyLink will have to be updated to service this command. (System_linkControl()) You could refer "GRPX_SRC_LINK_CMD_PRINT_STRING" for implementing a system command. Regards, Sujith System_linkControl + +Hi, Thank you very much for your reply. I still have a question: I am using the DCAN port to receive CAN data from other boards. After receiving a few hundred frames, I will enter an infinite waiting program. Changed some initialization parameters: #define SYSTEM_DCAN_TX_PRD_MS (40)//10000//50 #define SYSTEM_DCAN_TX_TSK_PRI 15//(13) #define SYSTEM_DCAN_RX_TSK_PRI 15//(13) // TDA2XX RVP uses interrupt ID 28 for VIP2 #if defined (BOARD_TYPE_TDA2XX_RVP) #define SYSTEM_DCAN_INTR_ID (24) #else #define SYSTEM_DCAN_INTR_ID 77//(28) #endif /** \brief DCAN input clock - 20MHz */ #define SYSTEM_DCAN_INPUT_CLK (20000000U) /** \brief DCAN output bit rate - 1MHz */ //#define SYSTEM_DCAN_BIT_RATE (1000000U) #define SYSTEM_DCAN_BIT_RATE (500000U) /** \brief Used for enabling board-to-board DCAN */ #define ENABLE_B2B_DCAN_TEST (1U) Printed as follows(The speed of DCAN transmission is fps = 500/s): 47.329866 s: DCAN MSG Received:Id [IPU1-1] 47.329927 s: DCAN MSG Received:Id[0xC1] , Length : [8], Data [0 .. 7]0x00, 0x56, 0x34, 0x03, 0x04, 0x05, 0x06, 0x07 [IPU1-1] 47.330110 s: ## 3 ## [IPU1-1] 47.330140 s: ## 4 ## [IPU1-1] 47.330476 s: ## 5 ## [IPU1-1] 47.330537 s: ## 6 ## [IPU1-1] 47.330628 s: ## 7 ## [IPU1-1] 47.331879 s: ## 1 ## [IPU1-1] 47.331940 s: ## 2 ## [IPU1-1] 47.331970 s: DCAN MSG Received:Id [IPU1-1] 47.332031 s: DCAN MSG Received:Id[0xC1] , Length : [8], Data [0 .. 7]0x00, 0x56, 0x34, 0x03, 0x04, 0x05, 0x06, 0x07 [IPU1-1] 47.332214 s: ## 3 ## [IPU1-1] 47.332275 s: ## 4 ## [IPU1-1] 47.332611 s: ## 5 ## [IPU1-1] 47.332672 s: ## 6 ## [IPU1-1] 47.332733 s: ## 7 ## [IPU1-1] 47.333770 s: ## 1 ## [IPU1-1] 47.333831 s: ## 2 ## [IPU1-1] 47.333892 s: DCAN MSG Received:Id [IPU1-1] 47.333953 s: DCAN MSG Received:Id[0xC1] , Length : [8], Data [0 .. 7]0x00, 0x56, 0x34, 0x03, 0x04, 0x05, 0x06, 0x07 [IPU1-1] 47.334136 s: ## 3 ## [IPU1-1] 47.334167 s: ## 4 ## [IPU1-1] 47.334502 s: ## 5 ## [IPU1-1] 47.334563 s: ## 6 ## [IPU1-1] 47.334655 s: ## 7 ## [IPU1-1] 47.335814 s: ## 1 ## [IPU1-1] 47.335875 s: ## 2 ## [IPU1-1] 47.335936 s: DCAN MSG Received:Id [IPU1-1] 47.335966 s: DCAN MSG Received:Id[0xC1] , Length : [8], Data [0 .. 7]0x00, 0x56, 0x34, 0x03, 0x04, 0x05, 0x06, 0x07 [IPU1-1] 47.336180 s: ## 3 ## [IPU1-1] 47.336210 s: ## 4 ## [IPU1-1] 47.336546 s: ## 5 ## [IPU1-1] 47.336607 s: ## 6 ## [IPU1-1] 47.336668 s: ## 7 ## [IPU1-1] 47.337796 s: ## 1 ## [IPU1-1] 47.337857 s: ## 2 ## [IPU1-1] 47.337888 s: DCAN MSG Received:Id [IPU1-1] 47.337949 s: DCAN MSG Received:Id[0xC1] , Length : [8], Data [0 .. 7]0x00, 0x56, 0x34, 0x03, 0x04, 0x05, 0x06, 0x07 [IPU1-1] 47.338132 s: ## 3 ## [IPU1-1] 47.338193 s: ## 4 ## [IPU1-1] 47.338528 s: ## 5 ## [IPU1-1] 47.338589 s: ## 6 ## [IPU1-1] 47.338681 s: ## 7 ## [IPU1-1] 47.339809 s: ## 1 ## [IPU1-1] 47.339870 s: ## 2 ## [IPU1-1] 47.339931 s: DCAN MSG Received:Id [IPU1-1] 47.339992 s: DCAN MSG Received:Id[0xC1] , Length : [8], Data [0 .. 7]0x00, 0x56, 0x34, 0x03, 0x04, 0x05, 0x06, 0x07 [IPU1-1] 47.340175 s: ## 3 ## [IPU1-1] 47.340206 s: ## 4 ## [IPU1-1] 47.340572 s: ## 5 ## [IPU1-1] 47.340633 s: ## 6 ## [IPU1-1] 47.340694 s: ## 7 ## [IPU1-1] 47.341761 s: ## 1 ## [IPU1-1] 47.341822 s: ## 2 ## [IPU1-1] 47.341853 s: DCAN MSG Received:Id [IPU1-1] 47.342066 s: ## 3 ## [IPU1-1] 47.342097 s: ## 4 ## [IPU1-1] 47.342493 s: ## 5 ## [IPU1-1] 47.345787 s: ## 1 ## [IPU1-1] 47.348410 s: ## 5 ## [IPU1-1] 47.351826 s: ## 1 ## [IPU1-1] 47.354572 s: ## 5 ## [IPU1-1] 47.357835 s: ## 1 ## [IPU1-1] 47.360580 s: ## 7 ## [IPU1-1] 47.363813 s: ## 1 ## [IPU1-1] 47.363905 s: ## 2 ## [IPU1-1] 47.363935 s: DCAN MSG Received:Id [IPU1-1] 47.364149 s: ## 3 ## [IPU1-1] 47.364179 s: ## 4 ## [IPU1-1] 47.377844 s: ## 1 ## [IPU1-1] 47.379826 s: ## 1 ## [IPU1-1] 47.382114 s: ## 4 ## [IPU1-1] 47.385835 s: ## 1 ## [IPU1-1] 47.388458 s: ## 5 ## [IPU1-1] 47.391813 s: ## 1 ## [IPU1-1] 47.394497 s: ## 5 ## [IPU1-1] 47.397822 s: ## 1 ## [IPU1-1] 47.400567 s: ## 6 ## [IPU1-1] 47.400628 s: ## 7 ## [IPU1-1] 47.401848 s: ## 1 ## [IPU1-1] 47.401909 s: ## 2 ## [IPU1-1] 47.401939 s: DCAN MSG Received:Id [IPU1-1] 47.414506 s: ## 5 ## [IPU1-1] 47.415939 s: ## 2 ## [IPU1-1] 47.419904 s: ## 1 ## [IPU1-1] 47.422100 s: ## 3 ## [IPU1-1] 47.425852 s: ## 1 ## [IPU1-1] 47.428506 s: ## 5 ## [IPU1-1] 47.431891 s: ## 1 ## [IPU1-1] 47.434514 s: ## 5 ## [IPU1-1] 47.437808 s: ## 1 ## [IPU1-1] 47.437869 s: ## 2 ## [IPU1-1] 47.437900 s: DCAN MSG Received:Id [IPU1-1] 47.438113 s: ## 3 ## [IPU1-1] 47.451900 s: ## 1 ## [IPU1-1] 47.453821 s: ## 1 ## [IPU1-1] 47.455926 s: DCAN MSG Received:Id [IPU1-1] 47.459891 s: ## 1 ## [IPU1-1] 47.462056 s: ## 3 ## [IPU1-1] 47.465869 s: ## 1 ## [IPU1-1] 47.468126 s: ## 3 ## [IPU1-1] 47.471908 s: ## 1 ## [IPU1-1] 47.474501 s: ## 5 ## [IPU1-1] 47.474592 s: ## 6 ## [IPU1-1] 47.474653 s: ## 7 ## [IPU1-1] 47.475904 s: ## 1 ## [IPU1-1] 47.475934 s: ## 2 ## [IPU1-1] 47.488501 s: ## 5 ## [IPU1-1] 47.489873 s: ## 1 ## [IPU1-1] 47.493838 s: ## 1 ## [IPU1-1] 47.495851 s: ## 1 ## [IPU1-1] 47.499847 s: ## 1 ## [IPU1-1] 47.502104 s: ## 3 ## [IPU1-1] 47.505856 s: ## 1 ## [IPU1-1] 47.508143 s: ## 3 ## [IPU1-1] 47.508204 s: ## 4 ## [IPU1-1] 47.511925 s: ## 1 ## [IPU1-1] 47.511986 s: ## 2 ## [IPU1-1] 47.512017 s: DCAN MSG Received:Id [IPU1-1] 47.512230 s: ## 3 ## [IPU1-1] 47.525864 s: ## 1 ## [IPU1-1] 47.526627 s: ## 7 ## [IPU1-1] 47.529860 s: ## 1 ## [IPU1-1] 47.533794 s: ## 1 ## [IPU1-1] 47.535838 s: ## 1 ## [IPU1-1] 47.539864 s: ## 1 ## [IPU1-1] 47.541877 s: ## 2 ## [IPU1-1] 47.545842 s: ## 1 ## [IPU1-1] 47.548069 s: ## 3 ## [IPU1-1] 47.548130 s: ## 4 ## [IPU1-1] 47.548496 s: ## 5 ## [IPU1-1] 47.548557 s: ## 6 ## [IPU1-1] 47.548648 s: ## 7 ## [IPU1-1] 47.561947 s: DCAN MSG Received:Id [IPU1-1] 47.563929 s: ## 1 ## [IPU1-1] 47.567894 s: ## 1 ## [IPU1-1] 47.569877 s: ## 1 ## [IPU1-1] 47.573872 s: ## 1 ## [IPU1-1] 47.575916 s: ## 1 ## [IPU1-1] 47.579912 s: ## 1 ## [IPU1-1] 47.581803 s: ## 1 ## [IPU1-1] 47.585859 s: ## 1 ## [IPU1-1] 47.585920 s: ## 2 ## [IPU1-1] 47.585981 s: DCAN MSG Received:Id [IPU1-1] 47.586164 s: ## 3 ## [IPU1-1] 47.586225 s: ## 4 ## [IPU1-1] 47.599829 s: ## 1 ## [IPU1-1] 47.600530 s: ## 5 ## [IPU1-1] 47.603855 s: ## 1 ## [IPU1-1] 47.606569 s: ## 7 ## [IPU1-1] 47.609833 s: ## 1 ## [IPU1-1] 47.612609 s: ## 7 ## [IPU1-1] 47.615842 s: ## 1 ## [IPU1-1] 47.619837 s: ## 1 ## [IPU1-1] 47.621881 s: ## 1 ## [IPU1-1] 47.621942 s: ## 2 ## [IPU1-1] 47.622003 s: DCAN MSG Received:Id [IPU1-1] 47.622186 s: ## 3 ## [IPU1-1] 47.635881 s: ## 1 ## [IPU1-1] 47.637955 s: ## 1 ## [IPU1-1] 47.640486 s: ## 5 ## [IPU1-1] 47.643872 s: ## 1 ## [IPU1-1] 47.646495 s: ## 5 ## [IPU1-1] 47.649789 s: ## 1 ## [IPU1-1] 47.653785 s: ## 1 ## [IPU1-1] 47.655859 s: ## 1 ## [IPU1-1] 47.655920 s: ## 2 ## [IPU1-1] 47.659854 s: ## 1 ## [IPU1-1] 47.659915 s: ## 2 ## [IPU1-1] 47.659976 s: DCAN MSG Received:Id [IPU1-1] 47.660159 s: ## 3 ## [IPU1-1] 47.672787 s: ## 1 ## [IPU1-1] 47.674800 s: ## 1 ## [IPU1-1] 47.677392 s: ## 5 ## [IPU1-1] 47.680778 s: ## 1 ## [IPU1-1] 47.683492 s: ## 5 ## [IPU1-1] 47.686787 s: ## 1 ## [IPU1-1] 47.689532 s: ## 6 ## [IPU1-1] 47.692795 s: ## 1 ## [IPU1-1] 47.692856 s: ## 2 ## [IPU1-1] 47.696852 s: ## 1 ## [IPU1-1] 47.696943 s: ## 2 ## [IPU1-1] 47.696974 s: DCAN MSG Received:Id [IPU1-1] 47.697157 s: ## 3 ## [IPU1-1] 47.710882 s: No longer print any information, I guess it is entering infinite waiting. Execute the code below: static Void Utils_dcanRxProcessMailbox(dcanRxMsgObj_t * dcanRxMsg, UInt postedEvents) { Int i; dcanMsg_t *rxMsg = NULL; struct dcanQueMsgs_s * queMsg = NULL; for (i = 0; i < UTILS_ARRAYSIZE(dcanRxMbxId) ; i++) { //Vps_printf("for (i = 0; i < UTILS_ARRAYSIZE(dcanRxMbxId)"); if (postedEvents & (0x1U << i)) { //Vps_printf("if (postedEvents & (0x1U << i))"); while (Utils_queGetQueuedCount(&dcanRxMsg->rxMsgQ[i].handle)) { //Vps_printf("while (Utils_queGetQueuedCount(&dcanRxMsg->rxMsgQ[i].handle))"); Utils_dcanQueGet(&dcanRxMsg->rxMsgQ[i].handle, &queMsg, &rxMsg, DCAN_MSG_STATE_IN_RX_QUE, DCAN_MSG_STATE_MSG_RX); Vps_printf("## 1 ##"); dcanRxMsg->state = DCAN_RX_TSK_STATE_RXMSGCALLBACK; Vps_printf("## 2 ##"); Utils_dcanRxMsgProcess(rxMsg); //Utils_dcanRxMsgSave(rxMsg); Vps_printf("## 3 ##"); dcanRxMsg->state = DCAN_RX_TSK_STATE_RXACK; Vps_printf("## 4 ##"); Utils_dcanRxSendAckMsg(rxMsg); Vps_printf("## 5 ##"); Utils_dcanQuePut(&dcanRxMsg->freeQ.handle, queMsg, DCAN_MSG_STATE_IN_FREEQ); Vps_printf("## 6 ##"); Utils_dcanConfigRxMsgObj(dcanRxMbxId[i]); Vps_printf("## 7 ##"); } } } } thanks! Mary + +Hi Mary, Sorry, i lost this thread. Is this issue resolved? Regards, Sujith + +Hi, Yes,I already solved this! Thanks,again! + diff --git a/sample_embedding_folder2/0741754.txt b/sample_embedding_folder2/0741754.txt new file mode 100644 index 0000000000000000000000000000000000000000..da8348004314989f9dc765e3b3ccc7bf67f8e584 --- /dev/null +++ b/sample_embedding_folder2/0741754.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: EVE: I have written a kernel file, Is there a tool to generate the driver C file? + +Query Text: +Part Number: TDA2 Tool/software: Linux EVE: If I have written a kernel function(void kernel_func_name(full_argument_list)), Is there a tool to generate these functions: 1、kernel_func_name_init(full_argument_list, unsigned short* pblock); 2、kernel_func_name_vloops(pblock); 3、kernel_func_name_param_count(); + +Responses: +Hi, These functions will get generated when you compile the .k file with -kh and -kv option. Regards, Anshu + diff --git a/sample_embedding_folder2/0741791.txt b/sample_embedding_folder2/0741791.txt new file mode 100644 index 0000000000000000000000000000000000000000..dd4cb28dbf49cc44f13aca9bc5dd633a9ab0526f --- /dev/null +++ b/sample_embedding_folder2/0741791.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: EVE: Where can I get the original C functions of alg kernel functions? + +Query Text: +Part Number: TDA2 Tool/software: Linux EVE: I only find alg kernel functions in xx\PROCESSOR_SDK_VISION_03_04_00_00\ti_components\algorithms\eve_sw_01_19_00_00\kernels. The head files of much original C functions only be found, but the implemented code can't be found. We only see alg kernel functions, and it's hard to understand alg kernel functions. Where here can I get those original C functions? + +Responses: +Hi @user3591944 , EVE kernels are released as "Limited Source, Binary and documents", (please check eve_sw_01_19_00_00\docs\eve_sw_manifest.pdf). For full source code release you need to contact your local TI representative. Regards, Yordan + diff --git a/sample_embedding_folder2/0741814.txt b/sample_embedding_folder2/0741814.txt new file mode 100644 index 0000000000000000000000000000000000000000..e2a9b1c9b1c7b10f5c38c78f119c16c638cf81b6 --- /dev/null +++ b/sample_embedding_folder2/0741814.txt @@ -0,0 +1,10 @@ +Ticket Name: RTOS/TDA2: PROCESSOR_SDK_RADAR_03_04_00_00_setupwin.exe + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS 1、Using gmake to compile \ti_components\algorithms\eve_sw_01_19_00_00\starterware\examples\mailbox_eve1_to_dsp1\dsp1\src there is a fatal error: illegal attempt to place ".cinit" before ".far" in "GROUP_1" Gmake: *** [dsp_mbox_eve1_to_dsp1.out] Error 1 2、Put the ".cinit" section after the ".far" section, and use gmake to compile the project with the following error. Undefined first referenced Symbol in file --------- ---------------- TSC_enable ../objs/eden_mailbox_eve1_to_gem1_gem1.obj TSC_read ../objs/eden_mailbox_eve1_to_gem1_gem1.obj __ISR_Table ../objs/intvecs.obj 3、I changed _TSC_read to TSC_read in tsc_h.asm and changed _TSC_enable to TSC_enable. Change the __ISR_Table in intvecs.asm to _ISR_Table to compile the executable file after compiling with gmake 4、I loaded the executable file of dsp1 and eve1 to the TDA2xdemo board through ccs. The data was written in the mailbox message in eve1, MAILBOX_IRQENABLE_SET_u was 0x1, but dsp1 did not receive the interrupt, and the interrupt did not respond. What should I do? + +Responses: +Hi, Have you run the cross bar gel? Please refer Chapter 4 of starterware\docs\eve_starterware_userguide.pdf Regards, Anshu + +Hi, Are you able to progress on this? If yes please close this thread, otherwise let us know if you followed the steps mentioned in previous thread. Regards, Anshu + diff --git a/sample_embedding_folder2/0741976.txt b/sample_embedding_folder2/0741976.txt new file mode 100644 index 0000000000000000000000000000000000000000..801fc8be738998bf3722cbd27aa353adcece1de1 --- /dev/null +++ b/sample_embedding_folder2/0741976.txt @@ -0,0 +1,10 @@ +Ticket Name: RTOS/TDA2: JAMR3 Application Board Query + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hello, Wanted to know if JAMR3 Application Board(EVM) supports Vision SDK version 03.05.00? Reference: (SPRUI52.pdf) Thank you! Vallabh + +Responses: +HI Vallabh, JAMR3 Application Board(EVM) not supported on Vision SDK version 03.05.00 However it is supported on Processor SDK 03.04.00.00 release Regards Surya + +Thank you Surya! Regards, Vallabh + diff --git a/sample_embedding_folder2/0742250.txt b/sample_embedding_folder2/0742250.txt new file mode 100644 index 0000000000000000000000000000000000000000..9e8aa9d3c73b86d11d880f6409da98edda547452 --- /dev/null +++ b/sample_embedding_folder2/0742250.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2EX17EVM: TDA2EX Frame Capture Mode + +Query Text: +Part Number: TDA2EX17EVM Tool/software: Linux Dear Sirs: There is a frame capture mode when the video source is interlaced video in DM81xx IPNC_RDK. I just wonder whether or not this mode is also available on TDA2 VSDK? If it is available, can you tell me where the example code snippet is? Regards, /ckhsu + +Responses: +Hi Hsu, Currently it is not supported for VIP. VIP driver uses different mechanism for TDA2 and DM81xx. Rgds, Brijesh + +Hi Brijesh: Thank you very much. Regards, /ckhsu + diff --git a/sample_embedding_folder2/0742252.txt b/sample_embedding_folder2/0742252.txt new file mode 100644 index 0000000000000000000000000000000000000000..21e8b56799b44ad8477ebf2c17419cc9901e6075 --- /dev/null +++ b/sample_embedding_folder2/0742252.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2: TDA2EVM [VAYU EVM XC5777X CPU BOARD] How to set the board for capture the lvds camera by raw[0~7] ? + +Query Text: +Part Number: TDA2 Hi master: My board is TDA2EVM [VAYU EVM XC5777X CPU BOARD] The board run OV10635 camera well, the des out raw is [2~9], now we need to use another camera the des out raw is [0~7], How can I set the board? thanks. kevin.zd + +Responses: +Hi Kevin, Can you please clarify, if the question is on processing RAW data format vs YUV or connecting camera to the EVM? Regards, Sujith + +sorry. my camera is same as ov10635 camera, only output Raw pin is 0~7, the camera ov10635 is 2~9, evm board + ov10635 camera. ov10635-> ds90ub913[Din 2~9 ] - ds90ub914[Dout2-9] -> CPLD->J6 Vipx[0~7] evm board + my camera. mycamera-> ds90ub913[Din 0~7 ] - ds90ub914[Dout 0-7] -> CPLD->J6 Vipx[0~7] how set the board config SW ? Make my camera work well. + +Hi Kevin, Do you use the vision app board and multides board to connect the camera? What board settings are you using for the ov10635x camera? Regards, Prasad + +Hi Prasad: Please see my attach file pics. TI Board PIC.zip kevin.zd + +Hi Kevin, Were you able to resolve this? Regards, Sujith + diff --git a/sample_embedding_folder2/0743067.txt b/sample_embedding_folder2/0743067.txt new file mode 100644 index 0000000000000000000000000000000000000000..abbb1fbf84a8c0d002bf988d60d93b1eb6ed7351 --- /dev/null +++ b/sample_embedding_folder2/0743067.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2: HOW debug use gdb + +Query Text: +Part Number: TDA2 Tool/software: Linux i have some problem in my code [ 89.228570] Alignment trap: not handling instruction edc37a00 at [<00050702>] [ 89.235743] Unhandled fault: alignment exception (0x811) at 0x00000249 [ 89.242342] pgd = edbd0000 [ 89.245148] [00000249] *pgd=be17a831 ./start: line 3: 857 Bus error (core dumped) ./sample_app.out i want to know where is the problem , how to run gdb debug? thanks! + +Responses: +Hi, GDB binary is already available with VSDK 3.5 file system. You can run this and debug in a similar way as gdb is used to debug any linux application. Regards, Anuj + +Hi: Anuj what about VSDK3.4? Could you tell me the path of GDB binary ! shuai + +Hi, Can you check in /usr/bin inside the file system. Regards, Anuj + +Hi, Is the issue resolved? Regards, Anuj + diff --git a/sample_embedding_folder2/0743118.txt b/sample_embedding_folder2/0743118.txt new file mode 100644 index 0000000000000000000000000000000000000000..b4fa9e2a7724efb614180316a1886e7ae94c971f --- /dev/null +++ b/sample_embedding_folder2/0743118.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: EVE: Where can I get the original C functions of alg kernel functions? + +Query Text: +Part Number: TDA2 Tool/software: Linux I have contact our local TI representative, and they asked me why I needed a full EVE's SDK(eve_sw_01_19_00_00); We needed a full EVE's SDK, There are two reasons: 1、We found some apps function that were different from what our algorithms required, and would like to modify it based on your original version. For example, we need that input size and output size of Median Filter is same, but original version isn't same; 2、We want to develop some new algorithms with referring to your original version. In eve_sw_01_19_00_00\docs\eve_sw_manifest.pdf, can you give us full EVE's SDK( include "Limited Source, Binary and documents" ) ? + +Responses: +Hi, Can you discuss this with your local TI representative and work with him/her to get the source release. This process cannot be done via e2e so you need to discuss with your local TI representative. Regards, Anshu + diff --git a/sample_embedding_folder2/0743136.txt b/sample_embedding_folder2/0743136.txt new file mode 100644 index 0000000000000000000000000000000000000000..44d9c193d8b88052bcd32d6321d2c57e922ba0a1 --- /dev/null +++ b/sample_embedding_folder2/0743136.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: TDA2xx record video in mp4 (original is yuv) + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, we want to record video and save in SDcard in mp4 format. does there any utils\link can be used? SDK vision is 03_04 Thanks~~ + +Responses: +Hi, .mp4 is a container format. You can save the video in .h264 format after encoding but you need to convert that and that support is not available with VSDK. Regards, Anuj + diff --git a/sample_embedding_folder2/0743370.txt b/sample_embedding_folder2/0743370.txt new file mode 100644 index 0000000000000000000000000000000000000000..daf51b478240bfab49956c99ee9d0c076f87c103 --- /dev/null +++ b/sample_embedding_folder2/0743370.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: TDA2/AM574x video stream encoder throughput + +Query Text: +Part Number: TDA2 Hello, I ask myself how much throughput the encoder for video streams can be reached on TDA2/AM574x devices. I would like store up to 8 video streams which we presumably encode best to keep the memory requirements and bandwidth to the storage medium as low as possible. From the description of the SDK (processors.wiki.ti.com/.../Processor_Training:_Multimedia) is not clear for me exactly how many streams can be processed parallel or which coding scheme has which restrictions. If I understand correctly, the VPE is used as input to the encoding. It exists on the SoC once. In the VPE description, I found nothing about multiplexing input data. However, the VPE seems to use the DSP cores for some of the encodings and those are available more than one time on some of the the mentioned SoC's. So my question is if anyone has experience in encoding more than one videostream on the mentioned SoC's? Best Regards Markus + +Responses: +Hi, Yes, you can encode multiple video stream using different channels of 1 enc link. Currently 8 channel support is there. But keep in mind that IVA can only encode upto 1080p at 60FPS. Regards, Anuj + diff --git a/sample_embedding_folder2/0743527.txt b/sample_embedding_folder2/0743527.txt new file mode 100644 index 0000000000000000000000000000000000000000..7a5ee72203dabdacbcd655c68725c067c1e180c9 --- /dev/null +++ b/sample_embedding_folder2/0743527.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: Alignment trap + +Query Text: +Part Number: TDA2 Tool/software: Linux i am use SDK_VISION_03_04_00_00 run my algorithm ,have some problem when run the program. follow is the log [ 1327.806627] Alignment trap: not handling instruction edc37a00 at [<00050702>] [ 1327.813818] Unhandled fault: alignment exception (0x811) at 0x00000249 [ 1327.822094] pgd = d8c3c000 [ 1327.824814] [00000249] *pgd=be053831 ./start: line 3: 874 Bus error (core dumped) ./sample_app.out i add some log to find where is the program. I found that there is a problem with a function, before this function to print log 1 and then enter the function to add a print log2, when the program runs, Log1 can come out, but log2 can not come out. could you analys what is the problem? + +Responses: +Hi, Please go through the below thread e2e.ti.com/.../41140 Regards, Anuj + +Hi Anuj maybe stack space is not enough, could you tell me how to adjust the size of stack space? where is the config file? BESTWISHES shuai + +Hi Shuai, If you want to increase the stack size used please modify the macro SYSTEM_DEFAULT_TSK_STACK_SIZE defined in links_fw/src/hlos/system/system_priv_common.h in vision-sdk. The error doesn't seem to be due to lack of stack space, but because of misaligned address access. I would suggest stepping through your code using gdb or any other debugger and finding the root-cause of the misaligned access. Regards Shravan + diff --git a/sample_embedding_folder2/0744118.txt b/sample_embedding_folder2/0744118.txt new file mode 100644 index 0000000000000000000000000000000000000000..e934f468f699ded99cd6072e8a1ec4643b50967d --- /dev/null +++ b/sample_embedding_folder2/0744118.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2: Can I run two kernels on EVE simultaneously? + +Query Text: +Part Number: TDA2 Hi, I have a few questions related to EVE processing. 1. Is it possible to run two or more different kernels (vision algorithms) on the same EVE core simultaneously (not sequentially) working on the same input image? The chains will look as follows: Capture -> kernel1(EVE1) -> Display ; Capture -> kernel2(EVE1) -> Display 2. If yes, how the input and output buffers are taken care of? Regards, Shruti Joshi + +Responses: +Hi Joshi, Even through you have two chains, In reality the execution of kernel1 and kernel2 will be sequential on the EVE. Vision SDK takes care of the scheduling: task switching happens at buffer boundary and you don't have control over it. If the same captured image goes to kernel1 and kernel2, instead of 2 chains, I recommend a single chain with 2 branches: ------->kernel1----->display1 Capture--/------->kernel2----->display2 regards, Victor + +Thanks Victor for the feedback! EVE has a scalar that runs BIOS. Isnt it? So it is posisble to run multiple kernels on the same EVE core. Right? Vision SDK framework 's links can run on the EVE Scalars and multiple such links can exist on same EVE scalar. Or on any other core DSP/MCU/A15 for that matter. isnt this understanding correct? When executing 2 kernels, what shared resources need to be carefully time shared? Is there any app note on this please? Thanks & Best Regards Feroz + +Hi Feroz, Although it is possible to run multiple BIOS threads on one EVE, in practice we don't do that as it would result in very high context switch overhead. Kernels operate on per block basis. Each block of data must fit in a 16 KB memory footprint. Please refer to this post on more details about block processing: Having multiple kernels switching at a block level would be incur too much overhead. You can have task switching at each frame level but then you don't really need multi-threading on EVE itself. Your understanding is correct that the current Vision SDK framework can run have multiple links that exist on the same EVE scalar. The vision SDK would schedule each link sequentially on the same EVE scalar, with context switching happening at frame boundary. This simplifies things as so there is no resources sharing needed. regards, Victor + +Thanks a lot Victor! Best Regards Feroz + diff --git a/sample_embedding_folder2/0744120.txt b/sample_embedding_folder2/0744120.txt new file mode 100644 index 0000000000000000000000000000000000000000..f75240c5c7e5a80ca41f28513cdd013e29cbfaac --- /dev/null +++ b/sample_embedding_folder2/0744120.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2: Multiple outputs display in single frame + +Query Text: +Part Number: TDA2 Hi, I have different vision algorithms(kernels) running on different EVE cores. Is it possible to display the output of each on a single display simultaneously in a single frame? Will the merge link work in this case? Also, is there any example available for this? Regards, Shruti + +Responses: +Hi Shruti Yes, this is possible with vision SDK. Connect all Alg links (of different kernels) output to a merge link and then connect to a Display. If all these alg links output video frames, then you can directly display them with display link. But if these Alg links output some meta data, then a draw link which create the necessary overly can be fed to display links please refer below demos \vision_sdk\apps\src\rtos\usecases\tidl_OD \vision_sdk\apps\src\rtos\usecases\vip_single_cam_dense_optical_flow regards, Shiju + +Thank you for the clarification Shiju. Regards, Shruti + +Hello Shiju, I and Shruti working together. I have following query, If all these alg links output video frames, then you can directly display them with display link. >> We have output as video frames, but Merge link output with System_VideoFrameCompositeBuffer buffer type. Then how can we directly display them ?? As Display link support video frames. Regards, Kajal + +Hi Kajal Merge link output is System_Buffer, payload of this can be either System_VideoFrameCompositeBuffer or System_VideoFrameBuffer. If its System_VideoFrameCompositeBuffer, then just add this support in Display Link, its just getting the actual buffer pointer from System_VideoFrameCompositeBuffer. Only Sync link output System_VideoFrameCompositeBuffer format and if you do not have Sync Link in the data path, I assume your merge link output would be System_VideoFrameBuffer regards, Shiju + +Hello Shiju, Thank you for the information. I had idea about merge link output is System_Buffer but display link only supports System_VideoFrameBuffer type, that's why queried! We have to use sync link, so output will be System_VideoFrameCompositeBuffer type, will try to add this support in display link. Regards, Kajal + diff --git a/sample_embedding_folder2/0744324.txt b/sample_embedding_folder2/0744324.txt new file mode 100644 index 0000000000000000000000000000000000000000..3df14946e5ceda6fbf07e71f5083d4d6253fda8b --- /dev/null +++ b/sample_embedding_folder2/0744324.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: the temperature of SOC core + +Query Text: +Part Number: TDA2 Dear all. when I download the same program to the SOC and then after working 12 hours, we uesd PC to get the temperature of SOC CORE, and we find that two SOC have a 10℃ diffirence. I want to know what are the reasons causing this diffirence? PS: In my opinion, I think that the SOC CORE should have the same CORE temperature when they have the same program. the soc model is TDA2S. Looking forward your reply. + +Responses: +The junction temperature is related to the power dissipated, the thermal resistance from the silicon to the ambient, and the ambient temperature. Your question assumes that the ambient and thermal-resistance are equal between the two setups. And so, you, rightfully, consider why the power dissipation is also not the same between the two setups. The power dissipated is dependent upon the applied voltage. Are the CORE domains at the same voltage? The power (at a given voltage) can be broken into a dynamic part which is related to the code you are running and a leakage part which is a function of the device, its temperature (and its voltage) The leakage current of individual devices varies. This variation is a possible cause for your part-to-part variation. As identified in the description above, the voltage or differences in how the code actually runs on the parts could also contribute to the temperature difference. Kevin Lavery + diff --git a/sample_embedding_folder2/0744428.txt b/sample_embedding_folder2/0744428.txt new file mode 100644 index 0000000000000000000000000000000000000000..20c4f40c1677427e1b8d671ff0a1376f6dddea57 --- /dev/null +++ b/sample_embedding_folder2/0744428.txt @@ -0,0 +1,28 @@ +Ticket Name: TDA2: EVE DMA halts on release build, but works on debug build. + +Query Text: +Part Number: TDA2 Dears, In EVE startware there is an EDMA utility function called EDMA_UTILS_memcpy2D() and our program uses DMA_UTILS_memcpy2D() to perform DMA between DDR memory and EVE's internal RAM (IBUFA, IBUFB, and WBUF). When we run our debug-built program, EDMA_UTILS_memcpy2D() works smoothly. Buf if we run our release-built program, EDMA_UTILS_memcpy2D() blocks at the point of the following function call. QDMA_WAIT(gEdmaCc , waitWord); We trace into the function QDMA_WAIT() and find out the program can't escape from the following while-loop: while ((edmaCc->IPR & (wait_word)) != (wait_word)) {} It seems that EDMA is never triggered and edmaCc->IPR will be always 0x0 in our release-built program. (The value of wait_word is 0x00008000 and edmaCc->IPR will become 0x00008000 when running our debug-build) Supposely EDMA_UTILS_memcpy2D() is a stand alone utility function and it doesn't need any initialization and can be called from anywhere. Why DMA doesn't work in our release-built case? Are there any EDMA control registers which can provide more information about what happens after calling EDMA_UTILS_memcpy2D()? Mark Kang. + +Responses: +Hi Mark, That's indeed quiet odd that the release version doesn't work. Can you verify if the transfer happened ? Did any value get written into the memory ? regards, Victor + +Hi victor, There is no any value written into the memory after triggering DMA in our release-build. Here is our test code snippet: dst = 0x40041000; // 0x4004_1000 is WBUF of EVE KK_dst_ptr = dst; // KK_dst_ptr is global variable memset(dst, 0x0, 8); EDMA_UTILS_memcpy2D(dst, src, width, height, dstStride, srcStride); EDMA_UTILS_memcpy2D() will call QDMA_WAIT() finally, and we modify the function QDMA_WAIT() as the following void QDMA_WAIT(CSL_EdmaccRegsOvly edmaCc , uint32_t wait_word) { unsigned int cnt = 0; while ((edmaCc->IPR & (wait_word)) != (wait_word)) { cnt++; if (16777216 == cnt) { Vps_printf("in-while-loop: CCERR = 0x%08x, EEVAL = 0x%08x, CCSTAT = 0x%08x \r\n", edmaCc->CCERR, edmaCc->EEVAL, edmaCc->CCSTAT); Vps_printf("KK_dst_ptr[] = [0x%02x, 0x%02x, 0x%02x, 0x%02x], [0x%02x, 0x%02x, 0x%02x, 0x%02x] \r\n", KK_dst_ptr[0], KK_dst_ptr[1], KK_dst_ptr[2], KK_dst_ptr[3], KK_dst_ptr[4], KK_dst_ptr[5], KK_dst_ptr[6], KK_dst_ptr[7]); cnt = 0; } } Vps_printf("leave while-loop: CCERR = 0x%08x, EEVAL = 0x%08x, CCSTAT = 0x%08x \r\n", edmaCc->CCERR, edmaCc->EEVAL, edmaCc->CCSTAT); Vps_printf("KK_dst_ptr[] = [0x%02x, 0x%02x, 0x%02x, 0x%02x], [0x%02x, 0x%02x, 0x%02x, 0x%02x] \r\n", KK_dst_ptr[0], KK_dst_ptr[1], KK_dst_ptr[2], KK_dst_ptr[3], KK_dst_ptr[4], KK_dst_ptr[5], KK_dst_ptr[6], KK_dst_ptr[7]); edmaCc->ICR = wait_word; // to clear corresponding bits in IPR register by writing 1 on the same bit of ICR register } Here is the test output: [EVE1 ] 45.124900 s: leave while-loop: CCERR = 0x00000000, EEVAL = 0x00000000, CCSTAT = 0x00000000 [EVE1 ] 45.126303 s: KK_dst_ptr[] = [0x16, 0x0a, 0x15, 0x0b], [0x16, 0x0b, 0x15, 0x0a] [EVE1 ] 16.828188 s: in while-loop: CCERR = 0x00000000, EEVAL = 0x00000000, CCSTAT = 0x00000110 [EVE1 ] 16.829561 s: KK_dst_ptr[] = [0x00, 0x00, 0x00, 0x00], [0x00, 0x00, 0x00, 0x00] [EVE1 ] 17.986671 s: in while-loop: CCERR = 0x00000000, EEVAL = 0x00000000, CCSTAT = 0x00000110 [EVE1 ] 17.988348 s: KK_dst_ptr[] = [0x00, 0x00, 0x00, 0x00], [0x00, 0x00, 0x00, 0x00] [EVE1 ] 19.145031 s: in while-loop: CCERR = 0x00000000, EEVAL = 0x00000000, CCSTAT = 0x00000110 [EVE1 ] 19.146403 s: KK_dst_ptr[] = [0x00, 0x00, 0x00, 0x00], [0x00, 0x00, 0x00, 0x00] ...... (in while-loop forever) ..... Mark Kang. + +Hi Mark, Can you call these functions at initialization time: EDMA_UTILS_globalReset(); VCOP_SET_MEM_VIEW (ALIAS_128K_VIEW); VCOP_BUF_SWITCH_SET (WBUF_SYST, IBUFHB_SYST, IBUFLB_SYST, IBUFHA_SYST, IBUFLA_SYST); Also we have example code that exercises EDMA and EVE in a more efficient manner in the folder apps/apps_nonbam of the EVE software release. We use EDMA_UTILS_autoIncrement functions instead of EDMA_AUTILS_memcpy2D(). For more details, you can refer to the following e2e thread, which has a presentation attached: e2e.ti.com/.../734522 regards, Victor + +Hi Victor, I use the following code in release-build and EDMA_UTILS_memcpy2D still blocks. Nothing changed. EDMA_UTILS_globalReset(); VCOP_SET_MEM_VIEW(FLAT_MEM_VIEW); VCOP_BUF_SWITCH_SET(WBUF_SYST, IBUFHB_SYST, IBUFLB_SYST, IBUFHA_SYST, IBUFLA_SYST); dst = 0x40041000; // 0x4004_1000 is WBUF of EVE EDMA_UTILS_memcpy2D(dst, src, width, line_cnt, width, line_pitch); We know EDMA_UTILS_autoIncrement() have more efficient way than EDMA_UTILS_memcpy2D() to trigger EVE DMA and we already use TIDL which calls EDMA_UTILS_autoIncrement(). But still, in our release-build program EDMA_UTILS_autoIncrement() doesn't work, either. Mark Kang. + +Hi Mark, I am sorry that it still doesn't work. Would you be able to share your code so we can reproduce the issue here ? regards, Victor + +Hi Mark, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Yordan + +Hi Victor, It's difficult to provide the simple test code to reproduce this issue because it involves entire our modified vision_sdk environment, so we change the way to find out the root cause. Since debug-built runs OK but release-built fails, we try to link some debug-built libraries in firmware release-built to identify which release-built library causes this issue. Currently we identify that only one release-build library, named arp32_1\release\vision_sdk_lib.aearp32F , causes release-built firmware fail to run EVE DMA. Furthermore, we hope to identify which release-built object code cause EVE DMA failed. Thus we may find out the root cause. Mark. + +Hi Victor, After narrowing down this issue, we find out what's different between debug-built and release-built and it involves 2 undocumented EVE DMA TC registers whose addresses are (0x40086000 + 0x10) and (0x40087000 + 0x10). In vision_sdk\src\utils_common\src\utils_idle_arp32.c, there are 2 suspicious functions causing our EVE DMA failed. We list those two functions below: Void Utils_idleEnableEveDMA(void) { #ifdef CPU_IDLE_ENABLED /* Enable DMA before ALG Process. Put the TPTC to * Smart Standby and Smart Idle */ HW_WR_REG32(0x40086000 + 0x10, 0x28); HW_WR_REG32(0x40087000 + 0x10, 0x28); #endif } Void Utils_idleDisableEveDMA(void) { #ifdef CPU_IDLE_ENABLED /* If the DMA is freed then disable the DMA by setting * Force standby and Force Idle. Check the CCSTAT register to check if any * events are queued in the Transfer controllers. */ UInt32 regVal = HW_RD_REG32(0x400A0640) & 0xFFFF0000U; if (0U == regVal) { HW_WR_REG32(0x40086000 + 0x10, 0); HW_WR_REG32(0x40087000 + 0x10, 0); } #endif } We find out that "CPU_IDLE_ENABLED" is defined in release-built and is not defined in debug-built (in file vision_sdk/Rules.make). When we add "#undef CPU_IDLE_ENABLED" in the beginning of file vision_sdk\src\utils_common\src\utils_idle_arp32.c and re-built it, our EVE DMA works in release-built. Since it involves Vision SDK, we want to know why it causes EVE DMA failed in release-built. Mark. + +Hi Mark, Can you please confirm the value of 0x40086000 + 0x10 and 0x40087000 + 0x10 when your application is hanging? These 2 registers are used to program the EDMA TCs to go into IDLE and standby to allow the EVE to go into a power saving clock gated state. The idea is every time you start the processing on the EVE, you would need to enable the TCs and then disable the TCs after processing to allow the EVE to go to low power mode. Thanks and Regards, Piyali + +Also, does your algorithm get called from AlgorithmLink_tskMain ? Thanks and Regards, Piyali + +Hi Piyali, When running our release-built and at the time that EVE DMA hanged, the content of register (0x40086000 + 0x10) and (0x40087000 + 0x10) are both 0x0. When running our debug-built and at the time that EVE DMA worked, the content of register (0x40086000 + 0x10) and (0x40087000 + 0x10) are both 0x28. This issue is fixed after our engineers reviewed all task related codes, especially on EVE related tasks. Mark. + diff --git a/sample_embedding_folder2/0744775.txt b/sample_embedding_folder2/0744775.txt new file mode 100644 index 0000000000000000000000000000000000000000..709d8e9beef717facd59e667318cc9eaf9692eb8 --- /dev/null +++ b/sample_embedding_folder2/0744775.txt @@ -0,0 +1,52 @@ +Ticket Name: TDA2X / RTC 32.768 clock doesn't work + +Query Text: +Other Parts Discussed in Thread: TPS65917-Q1, TDA2 Dear Mr, or Miss, I meet a problem , When I used PMIC (TPS659039Q1) PO9039A387IZWSRQ1+ TDA2SXBTQABCRQ1 (BGA760) design , the pin of TDA2X AE14,AD14 ( EXTERNAL 32.768 oscillator) is woriking , it has the RTC clock. The rtc clock can be detected when powered up even without firmware in TF CARD. But ,the next HW version we use PMIC(TPS65917) O917A133TRGZRQ1 instead of tps659039. These RTC CLOCK pins doesn't work , there is no 32.768 clock. please suggest what's the possible problem? By the way, I found the RTC_OSC_REG is related the settign , but I am not sure that the tp659039 can set the enable Initialization , but the tps65917 can't set Initialization.?? thanks in advance! + +Responses: +Hi, Can you clarify which clock you are referring to? Is this the PMIC of processor clock? Here is our user guide that details how to connect the TPS65917-Q1 to the TDA2x processor: www.ti.com/.../slvuaj1 Thanks, Nastasha + +We have connnected three cristal oscillator osc 20MHz, osc1 22.5792Mhz, RTC 32.768. We designed the first version based on 516582H_VAYU_EVM_13NOV2015_H。 The second version just used TPS65917 instead of TPS659039, modified based on the TPS65917 user guide power supply。 The difference is that RTC clck 32.768 doesn't work We wang to find out the reason, or how can I debug the problem. + +Hi, Can you share the schematic of the PMIC? Thanks, Nastasha + + + +Hi, How are you supplying VIO_IN? Also why is VRTC connected to SMPS4 (is this from the LDOVRTC?)? Thanks, Nastasha + +Also, how are you turning on the PMIC? Are you using PWRON or POWERHOLD (GPIO_5)? Thanks, Nastasha + +1) VIO IN is connected to EVM_3V3 2) VRTC_OUT IS CONNECTED TO smp4(vdds1.8) basd on TPS65917 usrer guide. it's not from LDOVRTC. 3) GPIO_5 is push up to the PS_EVM_3V3 to turn on the pmic. + +Hi, Thanks for the clarification and diagrams. Can you share the full part number you are using (O917A1.....Q1)? Also, are you measuring at the SYNCCLKOUT pin? Thanks, Nastasha + +Hi, The full part number of TPS65917 sample is 0917A133TRGZRQ1, and , I also measured the SYNCCLKOUT PIN ,that frequency is 2.135Mhz square wave, but the pin is not connected to the TDA2X , it is floated. any suggestion to where need to be tested or information from us? thanks and best regards Richard + +Richard, Can you tell me where you are trying to measure the 32kHz clock? Thanks, Nastasha + +We tested the oscillator of 32.768 , e.g. the pins AE14,AD14 of TDA2x. it doesn't have the wave. There is the schematic pictuire in above email. Thanks! + +Hi, I don't see those pins being connected to the PMIC. I am looping in the processor team to help support. Thanks, Nastasha + +Hi, Nastasha, Any update information about the RTC 32.768 clock problem? thanks! + +Hi, I have re-notified the processor team to look at this. The response may be delayed with people out for the holidays, but we will have someone look into this question further. Thanks, Nastasha + +Richard, If there is no activity on the crystal connections, then likely there is a power issue. Have you confirmed all the voltage rails connected to SoC are powered and at correct voltage? Robert + +Hi, If power supplies are good, then else you can check if it is due to Errata i856 32k Oscillator Fails to Start-Up at POR. Shortly, 32-k oscillator will not start without software intervention due to a bug: "Startup of 32k depends on user software writing to RTCSS GZ bit and only RTCSS can use the 32k clock (after writing GZ bit to 0), all other FUNC_32K_CLK targets (e.g. timers, mmc and gpio de-bounce) can only use SYSCLK1. Full features of RTC mode are still functional after the 32k software enables the oscillator." Regards, Stan + +Hi @user4941012, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Yordan + +Hi Mr, I don't understand what's meaning. When we didn't insert TF card with firmware , Just power on , The first version HW can have the 32K clock internal with tps659039 pmic. Just ,the second version HW can't have with tps65919 pmic . If RTCSS GZ bit is writen by TP659039 OTP firmware?. If the tda2x ic has the bug , why the result is different between using TPS659039 an TPS65917? Sorry to ask again! + +Hi, I'm not sure. Can you check the silicon revision of TDA2 on both designs? Are they the same? Also, I may be missed, but does 32-k clock run with TF card inserted (and SBL loaded)? Regards, Stan + +Hi The sample versions of two version designs are the same. I am confirmed that the 32K-CLOCK runs up ,even no TF card inserted status. So , I am confused whether the TPS659039 and The TPS65917 have the different influence on TDA2X start. especilly on the 32K clock. thanks! + +Richard, Nastasha, Any update on this item? Is this issue resolved? Thanks. Robert + +Hi, Robert, This problem hasn't been resolved yet. I don't know which direction I can check ? Any suggestion ? and Did I express my problem clearly? Thanks! + +As previously mentioned, the TDA2x errata states the oscillator fails to start-up after release of power-on-reset input. I understand the oscillator runs in one of your test configurations, and doesn't start in the other test configuration. However - it cannot be counted on operate in either configuration, as stated in the errata. There are differences between the two PMICs and how they are connected to the TDA2x device. Specifically, the 039 PMIC has dedicated power resources for the RTC domain, while the 917 PMIC does not. Thus - how the TDA2x RTC resources are connected between the two designs should be different. This might cause the different measure behavior. But in both configurations,the 32K oscillator errata still remains. + diff --git a/sample_embedding_folder2/0744840.txt b/sample_embedding_folder2/0744840.txt new file mode 100644 index 0000000000000000000000000000000000000000..adb7ee5f7768a971a15dffec74e0e819bf4c02f3 --- /dev/null +++ b/sample_embedding_folder2/0744840.txt @@ -0,0 +1,55 @@ +Ticket Name: RTOS/TDA2: TI-RTOS/XDC/TDA2: Timestamp not synchronized with multiple LoggerBuf + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: SYSBIOS Tool/software: TI-RTOS Hi Team, I am trying to enable Task and Semaphore event logging on the C66x DSP core of the TDA2x. I have added the following lines to my cfg file. /* set default diags mask */ +var Diags = xdc.useModule('xdc.runtime.Diags'); +var Task = xdc.useModule('ti.sysbios.knl.Task'); +Task.common$.diags_ENTRY = Diags.ALWAYS_ON; +Task.common$.diags_EXIT = Diags.ALWAYS_ON; +Task.common$.diags_LIFECYCLE = Diags.ALWAYS_ON; +Task.common$.diags_USER1 = Diags.ALWAYS_ON; +Task.common$.diags_USER2 = Diags.ALWAYS_ON; +Task.common$.diags_USER3 = Diags.ALWAYS_ON; +var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore'); +Semaphore.common$.diags_ENTRY = Diags.ALWAYS_ON; +Semaphore.common$.diags_EXIT = Diags.ALWAYS_ON; +Semaphore.common$.diags_LIFECYCLE = Diags.ALWAYS_ON; +Semaphore.common$.diags_USER1 = Diags.ALWAYS_ON; +Semaphore.common$.diags_USER2 = Diags.ALWAYS_ON; +Semaphore.common$.diags_USER3 = Diags.ALWAYS_ON; +/* override diags mask for selected modules */ +xdc.useModule('xdc.runtime.Main'); +Diags.setMaskMeta( + "xdc.runtime.Main", + Diags.ENTRY | Diags.EXIT | Diags.INFO, + Diags.RUNTIME_ON +); +var Registry = xdc.useModule('xdc.runtime.Registry'); +Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF; +Registry.common$.diags_EXIT = Diags.RUNTIME_OFF; +Registry.common$.diags_INFO = Diags.RUNTIME_OFF; +Registry.common$.diags_USER1 = Diags.RUNTIME_OFF; +/* create a logger instance */ +var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf'); +LoggerBuf.TimestampProxy = DMTimestampProvider; +var loggerBufP = new LoggerBuf.Params(); +loggerBufP.numEntries = 1024; /* 256 entries = 8 KB of memory */ +loggerBufP.bufType = LoggerBuf.BufType_CIRCULAR; +var appLogger = LoggerBuf.create(loggerBufP); +appLogger.instance.name = "TaskLogBuf"; +Task.common$.logger = appLogger; +var appLogger2 = LoggerBuf.create(loggerBufP); +appLogger2.instance.name = "SemLogBuf"; +Semaphore.common$.logger = appLogger2; + In the CCS ROV classic viewer I am able to see the contents of the TaskLogBuf and the SemLogBuf. However, the timestampRaw field in the output of these two buffers are not in sync. For example, the time stamp of the TaskLogBuf shows the timestampraw as starting from 1267096108 (as shown below) 57202 1267096108 ti.sysbios.knl.Task LD_ready: tsk: 0x87293264 func: 0x852335a0 57203 1267096150 ti.sysbios.knl.Task LM_switch: oldtsk: 0x872ca0c8 oldfunc: 0x85249720 57204 1267096192 ti.sysbios.knl.Task LD_block: tsk: 0x87293264 func: 0x852335a0 57206 1267096237 ti.sysbios.knl.Task LM_switch: oldtsk: 0x87293264 oldfunc: 0x852335a0 57207 1267116103 ti.sysbios.knl.Task LD_ready: tsk: 0x87293264 func: 0x852335a0 57208 1267116145 ti.sysbios.knl.Task LM_switch: oldtsk: 0x872ca0c8 oldfunc: 0x85249720 and the SemLogBuf shows a completely different time window: 16762 2548036642 ti.sysbios.knl.Semaphore LM_post: sem: 0x8726449c count: 1 6324 ti.sysbios.knl.Semaphore.LM_post 16763 2548616494 ti.sysbios.knl.Semaphore LM_post: sem: 0x87265ea0 count: 1 6324 ti.sysbios.knl.Semaphore.LM_post 16764 2548616560 ti.sysbios.knl.Semaphore LM_post: sem: 0x872644c0 count: 1 6324 ti.sysbios.knl.Semaphore.LM_post 16765 2548616581 ti.sysbios.knl.Semaphore LM_post: sem: 0x8726449c count: 1 6324 ti.sysbios.knl.Semaphore.LM_post 16766 2548636531 ti.sysbios.knl.Semaphore LM_post: sem: 0x87265090 count: 1 6324 ti.sysbios.knl.Semaphore.LM_post 16767 2548636609 ti.sysbios.knl.Semaphore LM_post: sem: 0x872644c0 count: 1 6324 ti.sysbios.knl.Semaphore.LM_post My goal is to have a single time base view of all the task and semaphore events. I am not using default because I have a lot of HWI, clock tick events which drown the task and semaphore events. However, if there is a way to either synchronize the loggerBuf timestamps or allow both logging to happen in the same buffer, kindly let me know. Thanks and Regards, Piyali + +Responses: +Hi Piyali, I have a few questions for you. 1. What version of SYS/BIOS/XDCtools are you using? 2. Can you try using the default timestamp provider? So basically just comment out LoggerBuf.TimestampProxy = DMTimestampProvider; in the .cfg file 3. Can you use the same logger instance for both Semaphores and Task? So loggerBufP.numEntries = 2048; /* 512 entries = 16 KB of memory */ +loggerBufP.bufType = LoggerBuf.BufType_CIRCULAR; +var appLogger = LoggerBuf.create(loggerBufP); +appLogger.instance.name = "TaskSemLogBuf"; +Task.common$.logger = appLogger; +Semaphore.common$.logger = appLogger; You can use the Diags_setMask to enable/disable logging at runtime. The granularity is very fine. Note, you need to have runtime support enable, so the places you use Diags.ALWAYS_ON, you'll need to use Diags.RUNTIME_ON or Diags.RUNTIME_OFF, depending on what initial state you want. Todd + +Hi Todd, I did some more experiments today and realized why I was seeing the time base for Semaphore and Tasks are off. The Semaphores are firing more often than the Tasks. When I set the buffer type to FIXED, then I start seeing the time bases to match. This works with 2 buffers. I dumped out the 2 buffers and then did a sort of the timestamp and I go the interleaved output I was looking for. When I redirect both to the same buffer, even then the logs are interleaved. 1109469844 ti.sysbios.knl.Task LD_ready: tsk: 0x872a3264 func: 0x852335a0 pri: 1 6615 ti.sysbios.knl.Task.LD_ready 1109469901 ti.sysbios.knl.Task <-- construct: @872a3264('System main') 5853 xdc.runtime.Log.L_construct -2027277724 -2026877459 1109470255 ti.sysbios.knl.Task LM_switch: oldtsk: 0x0 oldfunc: 0x0 newtsk: 0x872a3264 newfunc: 0x852335a0 6502 1109472700 ti.sysbios.knl.Semaphore <-- construct: @87283eb4('(null)') 5853 xdc.runtime.Log.L_construct -2027405644 0 1109475739 ti.sysbios.knl.Semaphore <-- construct: @87283ed8('(null)') 5853 xdc.runtime.Log.L_construct -2027405608 0 1109476546 ti.sysbios.knl.Semaphore LM_pend: sem: 0x87283ed8 count: 1 timeout: -1 6354 ti.sysbios.knl.Semaphore.LM_pend 1109476678 ti.sysbios.knl.Semaphore LM_post: sem: 0x87283ed8 count: 0 6324 ti.sysbios.knl.Semaphore.LM_post -2027405608 1109477311 ti.sysbios.knl.Semaphore LM_pend: sem: 0x87283ed8 count: 1 timeout: -1 6354 ti.sysbios.knl.Semaphore.LM_pend 1109477353 ti.sysbios.knl.Semaphore LM_post: sem: 0x87283ed8 count: 0 6324 ti.sysbios.knl.Semaphore.LM_post -2027405608 1109477941 ti.sysbios.knl.Semaphore LM_pend: sem: 0x87283ed8 count: 1 timeout: -1 6354 ti.sysbios.knl.Semaphore.LM_pend 1109477977 ti.sysbios.knl.Semaphore LM_post: sem: 0x87283ed8 count: 0 6324 ti.sysbios.knl.Semaphore.LM_post -2027405608 1109478559 ti.sysbios.knl.Semaphore LM_pend: sem: 0x87283ed8 count: 1 timeout: -1 6354 ti.sysbios.knl.Semaphore.LM_pend 1109478598 ti.sysbios.knl.Semaphore LM_post: sem: 0x87283ed8 count: 0 6324 ti.sysbios.knl.Semaphore.LM_post -2027405608 1109479174 ti.sysbios.knl.Semaphore LM_pend: sem: 0x87283ed8 count: 1 timeout: -1 6354 ti.sysbios.knl.Semaphore.LM_pend 1109479210 ti.sysbios.knl.Semaphore LM_post: sem: 0x87283ed8 count: 0 6324 ti.sysbios.knl.Semaphore.LM_post -2027405608 1109479780 ti.sysbios.knl.Semaphore LM_pend: sem: 0x87283ed8 count: 1 timeout: -1 6354 ti.sysbios.knl.Semaphore.LM_pend 1109479810 ti.sysbios.knl.Semaphore LM_post: sem: 0x87283ed8 count: 0 6324 ti.sysbios.knl.Semaphore.LM_post -2027405608 1109480728 ti.sysbios.knl.Semaphore <-- construct: @87283efc('(null)') 5853 xdc.runtime.Log.L_construct -2027405572 0 1109480797 ti.sysbios.knl.Semaphore <-- construct: @87283f20('(null)') 5853 xdc.runtime.Log.L_construct -2027405536 0 1109480878 ti.sysbios.knl.Semaphore <-- construct: @87283f44('(null)') 5853 xdc.runtime.Log.L_construct -2027405500 0 1109480944 ti.sysbios.knl.Semaphore <-- construct: @87283f68('(null)') 5853 xdc.runtime.Log.L_construct -2027405464 0 1109481166 ti.sysbios.knl.Semaphore LM_pend: sem: 0x872d8008 count: 1 timeout: -1 6354 ti.sysbios.knl.Semaphore.LM_pend 1109481274 ti.sysbios.knl.Semaphore LM_post: sem: 0x872d8008 count: 0 6324 ti.sysbios.knl.Semaphore.LM_post -2027061240 1109482477 ti.sysbios.knl.Semaphore LM_pend: sem: 0x872d8008 count: 1 timeout: -1 6354 ti.sysbios.knl.Semaphore.LM_pend 1109482558 ti.sysbios.knl.Semaphore LM_post: sem: 0x872d8008 count: 0 6324 ti.sysbios.knl.Semaphore.LM_post -2027061240 1109482672 ti.sysbios.knl.Task LD_ready: tsk: 0x872a32b8 func: 0x85227820 pri: 13 6615 ti.sysbios.knl.Task.LD_ready 1109482777 ti.sysbios.knl.Task LM_switch: oldtsk: 0x872a3264 oldfunc: 0x852335a0 newtsk: 0x872a32b8 newfunc: 0x85227820 6502 Thanks so much for the help and the debug directions! Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0745124.txt b/sample_embedding_folder2/0745124.txt new file mode 100644 index 0000000000000000000000000000000000000000..6baeeafc128cb2c9dcd75f2e843f821ee6737576 --- /dev/null +++ b/sample_embedding_folder2/0745124.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2PXEVM: How to create two vlan socket that bind same IP but different vlan-id? + +Query Text: +Part Number: TDA2PXEVM [TDA2PX]How to create two vlan socket that bind same IP but different vlan-id? (TI-RTOS) we have already added two vlan by VLANAddDevice, the default usage for vlan is bind to different IP address, we also send data success with different vlan-id socket that bind with different IP address but we need to create two vlan socket with different vlan-id that bind same IP address and this config is failure 1. we need send RTP on vlan id 5 with IP("198.18.36.96") 2. we need send other data on vlan id 12 with IP("198.18.36.96") but the NDK seems not support the two configs working at same time, we can not create one socket(vlan5) for sending RTP while create another(vlan12) for sending data, so how to solve this? + +Responses: +Hi Mi, This is not supported. Todd + diff --git a/sample_embedding_folder2/0745438.txt b/sample_embedding_folder2/0745438.txt new file mode 100644 index 0000000000000000000000000000000000000000..ba9775de981013945a877b232b6e9c963cd6594d --- /dev/null +++ b/sample_embedding_folder2/0745438.txt @@ -0,0 +1,24 @@ +Ticket Name: TDA2: Configuring First and Second Level MMU Tables + +Query Text: +Part Number: TDA2 Hello, We're working with the TDA2x and currently using starterware_01_05_xx_xx. We want to configure the two A15 MMUs to manage different sections of DDR with different rules. Our goal is to have both A15 cores run in parallel and use cache for their instructions but not use cache for data. Both A15 cores can access each other's data space and so we want to disable cache for data spaces so that all updates are made directly to DDR. We understand this is achievable through the use of MMU descriptor tables. If that's correct then we'd like to configure the MMU to place all instructions into one section of DDR and place all variables in other sections of DDR. We have examples available to us both in the latest PDK and older starterware examples but these examples only cover First-Level descriptor tables. Since these tables span a large range they don't provide the granularity to do what we need. Second-level descriptor tables seem to be what we need but we can't find any examples on how to program them using starterware or PDK functions. Can you provide any examples on how to achieve the following layout assignment for DDR? 0x8000.0000 - 0x85FF.FFFF - Instructions 1 for A15_0 0x8600.0000 - 0x86FF.FFFF - variable section 1 for A15_0 0x8700.0000 - 0x8AFF.FFFF - Instructions 2 for A15_1 0x8B00.0000 - 0x8FFF.FFFF - variable section 2 for A15_1 We're primarily working with starterware_01_05_xx_xx package and would prefer examples that use the functions available to that package. Any examples would be greatly appreciated. Thank you. + +Responses: +Hi, A15 has separate I-cache at L1 level (called L1P). L2 is a unified cache and there is L1D cache also. So you can enable only Instruction/Program Cache. Regards, Rishabh + +Hello Rishabh, Thank you for your reply. I'd like to run the software setup by you using the provided starteware_01_05_xx_xx MMU A15 example as a reference. In that example it immediately checks if cache is enabled and if not then it first invalidates all L1D and L1I space and then enables all cache types. So we would just need to change this to enable L1I instead? Example below. /* In case cache is disabled, invalidate and enable it */ if (CACHE_A15_TYPE_ALL != cacheEnabled) { CACHEA15InvalidateL1DAll(); CACHEA15InvalidateL1IAll(); CACHEA15Enable(CACHE_A15_TYPE_L1I); } In software we would then configure and enable MMU just like in the example with the difference being that we will not disable it until power-off. Is the code change above all we need to do to follow your suggestion to ensure the data is not cached and only a15 instruction is cached into L1D? When we ultimately run this example on two A15 cores at same time, what changes if any need to be made to the example software w.r.t cache/mmu? I believe it's just the MAIR Attr Index value should be 0-3 for one A15 core and 4-7 for the second A15 core. Is that correct or are there other field to modify as well? We also modify the example to include mailbox messages to synchronize accessing shared data in DDR between two A15s. Can you share the difference between L1I and L2I? I see there's also the option to enable All I-cache (CACHE_A15_TYPE_ALLI) but it groups L1I and L2I. It doesn't look to include any D-cache. Thank you. + +Hello Rishabh, We tried the above and only enabled CACHE_A15_TYPE_L1I. When doing that software takes as long to execute as when no cache is enabled. However enabling CACHE_A15_TYPE_ALLI, which per comments includes L1I and L2I, we see software execute as fast as when all I-cache and D-cache is enabled but we also see memory coherency issues. So it seems not just instructions are being cached. Is there anything else then that needs to be done when enabling I-cache only? Thank you. + +Hi, The statement "I believe it's just the MAIR Attr Index value should be 0-3 for one A15 core and 4-7 for the second A15 core" is not true. You don't need to do anything to L1D or L2 cache. I would suggest you to go through ARM documentation to understand A15 cache architecture. Regards, Rishabh + +Hello Rishabh, Thank you for your suggestion, I am trying to go through the A15 documentation but there's quite a lot of it. Any help narrowing down what to look for would be greatly appreciated. Regarding: "The statement "I believe it's just the MAIR Attr Index value should be 0-3 for one A15 core and 4-7 for the second A15 core" is not true." The intent was to use MAIR0 for one a15 core and MAIR1 for the other a15 core. If I misunderstood how to use the two Memory Attribute Indirection Registers could you provide an example of how to configure MMU on both A15 cores so that they work with the L1 I-cache? The starterware provided function (MMUA15Enable(&gMmuTable); ) seems to enable the single MPU_MMU so what if any coordination needs to occur between the two cores prior to one enabling the MPU_MMU? It didn't seem that both cores should run that enable function or do they need to? You mention not using L1D or L2. As I stated in my followup post, when only enabling L1I the software executes at about the same speed as when no cache is enabled. So am I missing any steps for enabling just L1I? I am using the following functions: // CACHEA15InvalidateL1DAll(); //// needed? have ran tests with and without, same results. CACHEA15InvalidateL1IAll(); CACHEA15Enable(CACHE_A15_TYPE_L1I); // Initialize MMU module MMUA15Init(); // Set MAIR to inner and outer cacheable MMUA15SetMAIR(&gMmuTable, MMU_A15_ATTR_INDEX_2, 0xFF); // Initialize descriptor attributes MMUA15InitDescAttrs(&gAttrs); // Set level one descriptor attributes gAttrs.descriptorType = MMU_A15_DESCRIPTOR_TYPE_BLOCK; gAttrs.attrIndx = MMU_A15_ATTR_INDEX_2; gAttrs.nonSecure = MMU_A15_NON_SECURE_ENABLE; gAttrs.accPerm = MMU_A15_ACC_PERM_RW_ANY_PL; // Read Write at any PL // Set level one descriptor virtualAddr = 0x80000000, phyAddr = 0x80000000; MMUA15SetFirstLevelDesc(&gMmuTable, virtualAddr, phyAddr, &gAttrs); virtualAddr = 0xc0000000, phyAddr = 0x80000000; MMUA15SetFirstLevelDesc(&gMmuTable, virtualAddr, phyAddr, &gAttrs); // Set level one descriptor attributes MMUA15SetMAIR(&gMmuTable, MMU_A15_ATTR_INDEX_3, 0x00); gAttrs.descriptorType = MMU_A15_DESCRIPTOR_TYPE_BLOCK; gAttrs.attrIndx = MMU_A15_ATTR_INDEX_3; gAttrs.nonSecure = MMU_A15_NON_SECURE_ENABLE; gAttrs.accPerm = MMU_A15_ACC_PERM_RW_ANY_PL; // Read Write at any PL virtualAddr = 0x0, phyAddr = 0x0; MMUA15SetFirstLevelDesc(&gMmuTable, virtualAddr, phyAddr, &gAttrs); virtualAddr = 0x40000000, phyAddr = 0x40000000; MMUA15SetFirstLevelDesc(&gMmuTable, virtualAddr, phyAddr, &gAttrs); MMUA15Enable(&gMmuTable); BTW the reason I asked about L2I was because I saw in the TRM that "the processor cores can be kept cache-coherent with each other and with the L2 cache." This seems like a useful feature but I haven't seen any details on how to do that. Thank you. + +Hi, You should read "Chapter B3 Virtual Memory System Architecture (VMSA)" of armv7-a-r-manual.pdf. RBL already enables I-cache. I will get back to you with details on what exactly you need to do. Regards, Rishabh + +Hi, RBL already enable I cache for A15 core 0. So all you need to do is enable I cache for A15 Core 1. You can call the API CACHEA15Enable(CACHE_A15_TYPE_L1I) from A15 Core 1. You don't need to call any other cache APIs. You can set MMU as per your requirements. Regards, Rishabh + +Thanks Rishabh. I had done this earlier but didn't see any performance difference from when I don't enable I-cache only. Thank you. + +Hi, I guess you are not able to see as I cache is already enabled on Core 0. Just run the same code with I cache disabled and you will see lot of performance deterioration. I had validated the performance improvement using same MMU example. Regards, Rishabh + diff --git a/sample_embedding_folder2/0745500.txt b/sample_embedding_folder2/0745500.txt new file mode 100644 index 0000000000000000000000000000000000000000..285c5c6317f86541bb52312536dfa585c47f001f --- /dev/null +++ b/sample_embedding_folder2/0745500.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2EVM5777: DDR Configurations for VisionSDK Linux + +Query Text: +Part Number: TDA2EVM5777 Tool/software: Linux Hello, I am running PROCESSOR_SDK_VISION_03_03_00_00 on the TDA2EVM5777 and on custom hardware that is similar to the EVM. I can successfully boot on the new hardware with the default memory that comes with Vision SDK (note there is nothing on our custom hardware's EEPROM at this time). I need to update Linux in order to utilize the 4GB of ram on the custom hardware setup, instead of default settings. Can you please help clarify exactly what is required to allow me to use all 4GB of ram on the custom hardware? Below is what I tried/my assumptions 1. Since the custom hardware does not contain any firmware for EEPROM, and is able to boot OK, I assume its using the default settings from the u-boot source just fine, however, the Linux user space only sees 600MB of ram total (found by running the command free) where there is supposed to be 1.5GB in default settings I believe, based on dra7-evm.dts file below settings: memory { device_type = "memory"; reg = <0x0 0x80000000 0x0 0x60000000>; /* 1536 MB */ }; How do I get access to more memory in user space with the default settings? 2. Since the custom hardware actually contains 4GB DDR, I want to change the bootloader to recognize the ram modules that I have, and so I followed this document. In the document, I was able to successfully use the EMIF configuration tool to generate the values necessary to update the u-boot source codes. When I finished filling out the EMIF configuration tool it generated LISA map register values to update evm.c with (the values for each LISA map register were very similar to the example for 2GB per EMIF settings given in evm.c). However, I haven't been able to successfully boot up using the updated source files yet. I didn't update the dra7-evm.dts to be 4GB yet, but unsure if that is the cause why it didn't boot. I didn't change anything in EEPROM either, since I have never had anything written to EEPROM and hoping I can just modify the default settings to be 4GB. Can you please help clarify exactly what is required to allow me to use all 4GB of ram on the custom hardware without writing to EEPROM? Thank you in advance, -iFer + +Responses: +Hi, Can you take a look at this discussion? Regards, Somnath + +Hi iFer, Did you get a chance to look at the discussion? Let me know if you have any follow up question? Regards, Somnath + +Do you need any other help on this topic? + diff --git a/sample_embedding_folder2/0745651.txt b/sample_embedding_folder2/0745651.txt new file mode 100644 index 0000000000000000000000000000000000000000..9f8c00cd92e099dabf837ca6762022288840809e --- /dev/null +++ b/sample_embedding_folder2/0745651.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: GPIO NUMBER + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, How can i find the gpio number of a particular pin say gpio3_26 in tda2xx. I want to make that particular pin high from userspace (/sys/class/gpio). Kindly help me on this. + +Responses: +Hi Blessy, can you check if the following can help: e2e.ti.com/.../2605087 processors.wiki.ti.com/.../Linux_PSP_GPIO_Driver_Guide Regards, Yordan + +As a side note to what Yordan suggests, you can also check the pinmux tool: It will help you identify the pins and gpios on them. thanks, Alex + +Hi, Thankyou. Got it, by verifying with /sys/kernel/debug/gpio. + diff --git a/sample_embedding_folder2/0745682.txt b/sample_embedding_folder2/0745682.txt new file mode 100644 index 0000000000000000000000000000000000000000..2a3e1f8e7ace6e57dc8e81c4d901c8cd6c669b47 --- /dev/null +++ b/sample_embedding_folder2/0745682.txt @@ -0,0 +1,8 @@ +Ticket Name: Compiler/TDA2EXEVM: TDA2 - 'Undefined reference Error' + +Query Text: +Part Number: TDA2EXEVM Tool/software: TI C/C++ Compiler Hi, How can i implement IPC communication for vision_sdk? i need to implement ipc communication for vision_sdk to receive STOP, RESUME and START command from other modules. I have used the same code ipc_init, ipc_send etc in chains_main.c and included the required header files in the chains.h file. But i am getting an undefined reference error as shown below. --------------------------------------------------------------------------------------- chains_main.c:(.text+0x208): undefined reference to `vDiagPrint' chains_main.c:(.text+0x268): undefined reference to `vDiagPrint' chains_main.c:(.text+0x294): undefined reference to `vDiagPrint' chains_main.c:(.text+0x2ba): undefined reference to `vDiagPrint' chains_main.c:(.text+0x2e6): undefined reference to `vDiagPrint' /home/username/Source/vision_sdk/binaries/tda2ex_mccdvr_all/lib/a15/release/vision_sdk_linux_demo.a(chains_main.o):chains_main.c:(.text+0x33e): more undefined references to `vDiagPrint' follow /home/username/Source/vision_sdk/binaries/tda2ex_mccdvr_all/lib/a15/release/vision_sdk_linux_demo.a(chains_main.o): In function `main': chains_main.c:(.text.startup+0xe): undefined reference to `ipc_init' chains_main.c:(.text.startup+0x88): undefined reference to `vDiagPrint' --------------------------------------------------------------------------------------- can anyone pls help me to to link libraries.? Regards Balaji T + +Responses: +Hi, Ipc Initialization will be automatically done for all core included in the build. You just need to send and received event using IPC. For further implementation info please check how IPC links send informations. Regards, Anuj + diff --git a/sample_embedding_folder2/0745751.txt b/sample_embedding_folder2/0745751.txt new file mode 100644 index 0000000000000000000000000000000000000000..677f789b103536c708e982130b40eb8400491719 --- /dev/null +++ b/sample_embedding_folder2/0745751.txt @@ -0,0 +1,16 @@ +Ticket Name: RTOS/TDA2: How to config MPU 's frequency from 750M to 1G hz in visionSDK3 + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, How to config MPU(A15) 's frequency from 750M to 1G hz in visionSDK3 ? We use bios OS on A15. + +Responses: +Hi, Please opp_high folder's MLO. Regards, Anuj + +Thank you very much. + +Hi Bao, In addition to what Anuj said kindly note that A15 will be set at 1176 MHz in case of OPP High. Regards, Rishabh + +Hi Rshabh, Actually, we use TDA2x with 17x17 package, nearly all the OPP configured the same as Nom, I modify the code to get 1G Hz. /* Configuration for DPLL MPU */ #if defined (SOC_TDA2XX) static pmhalPrcmDpllConfig_t *pDpllMpuCfg_23x23Package_20[] = { &dpllMpuCfgOppLow_20, &dpllMpuCfgOppNom_20, &dpllMpuCfgOppOd_20, &dpllMpuCfgOppOd_20, &dpllMpuCfgOppOd_20 }; static pmhalPrcmDpllConfig_t *pDpllMpuCfg_17x17Package_20[] = { &dpllMpuCfgOppLow_20, &dpllMpuCfgOppNom_20, &dpllMpuCfgOppNom_20, &dpllMpuCfgOppNom_20, &dpllMpuCfgOppNom_20 }; + +Hi Bao, You should make sure that frequency is within limits specified in Data Manual. For 17x17 package max frequency supported is 750 MHz. Regards, Rishabh + diff --git a/sample_embedding_folder2/0745768.txt b/sample_embedding_folder2/0745768.txt new file mode 100644 index 0000000000000000000000000000000000000000..c9914fb00cad314d737ee9a0650c57ee2d80c169 --- /dev/null +++ b/sample_embedding_folder2/0745768.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: remain size of SD card + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, how can I get the remain size of SD card? Thanks! + +Responses: +Hi, We dont have such support on target running with BIOS. You need to connect the sd card to pc and get it. Regards, Anuj + diff --git a/sample_embedding_folder2/0746202.txt b/sample_embedding_folder2/0746202.txt new file mode 100644 index 0000000000000000000000000000000000000000..c2f76b082778993a95bdf7c0a837e0ffb2bc5c34 --- /dev/null +++ b/sample_embedding_folder2/0746202.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: example to store SRV image on SDCARD + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Dear Team, Is there any example to show how SRV video image can be stored on SD-CARD? My customer want to have an example to store combined image of 4ch SRV, but any usecase would be welcome. My customer is using VisionSDKv3.0. Thanks and Best Regards, SI. + +Responses: +Hi, Please use links_fw/src/rtos/links_ipu/dss_m2mwb/ link. Take a reference of the below usecase vision_sdk\apps\src\hlos\adas\src\usecases\avbrx_sv_display_avbtx Regards, Anuj + diff --git a/sample_embedding_folder2/0746402.txt b/sample_embedding_folder2/0746402.txt new file mode 100644 index 0000000000000000000000000000000000000000..3474e8bebbd7fa9123e437a5bda9cd51bbf903e2 --- /dev/null +++ b/sample_embedding_folder2/0746402.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2: Unable to mount root fs via NFS, + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: PMP, DRA742, DRA752 Tool/software: Linux i am useing SDK_VISION_03_04_00_00 , uenv.txt is like this console=ttyO0,115200n8 vram=16M root=/dev/nfs rw nfsroot=172.17.218.25:/home/hancan/PROCESSOR_SDK_VISION_03_04_00_00/ti_components/os_tools/linux/targetfs rootwait ip=dhcp mem=1024M when i reboot sometimes failed , log is follow. OMAP SD/MMC: 0, OMAP SD/MMC: 1 ** First descriptor is NOT a primary desc on 1:1 ** GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645 part_get_info_efi: *** ERROR: Invalid GPT *** GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645 part_get_info_efi: *** ERROR: Invalid Backup GPT *** ERROR: cannot find partition: 'userdata' at arch/arm/cpu/armv7/omap-common/utils.c:199/mmc_get_part_size() Warning: fastboot.userdata_size: unable to calc SCSI: SATA link 0 timeout. AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode flags: 64bit ncq stag pm led clo only pmp pio slum part ccc apst scanning bus for devices... Found 0 device(s). Net: Warning: ethernet@48484000 using MAC address from ROM eth0: ethernet@48484000 Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0 is current device SD/MMC found on device 0 reading boot.scr ** Unable to read file boot.scr ** reading uEnv.txt 239 bytes read in 2 ms (116.2 KiB/s) Loaded env from uEnv.txt Importing environment from mmc0 ... switch to partitions #0, OK mmc0 is current device SD/MMC found on device 0 3560088 bytes read in 109 ms (31.1 MiB/s) 106875 bytes read in 15 ms (6.8 MiB/s) Booting from mmc0 ... Kernel image @ 0x82000000 [ 0x000000 - 0x365298 ] ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Device Tree to 8ffe2000, end 8ffff17a ... OK Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Initializing cgroup subsys cpuacct [ 0.000000] Linux version 4.4.84-00027-g018eb62 (hancan@hancan-virtual-machine) (gcc version 5.4.1 20170404 (Linaro GCC 5.4-2017.05) ) #2 SMP PREEMPT Sun Sep 30 10:05:17 CST 2018 [ 0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=10c5387d [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache [ 0.000000] Machine model: TI DRA742 [ 0.000000] Ignoring memory block 0x200000000 - 0x280000000 [ 0.000000] Reserved memory: created DMA memory pool at 0x40300000, size 3 MiB [ 0.000000] Reserved memory: initialized node cmem@40300000, compatible id shared-dma-pool [ 0.000000] Reserved memory: regions without no-map are not yet supported [ 0.000000] Reserved memory: created CMA memory pool at 0x99000000, size 80 MiB [ 0.000000] Reserved memory: initialized node ipu2_cma@95800000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created CMA memory pool at 0x9e000000, size 32 MiB [ 0.000000] Reserved memory: initialized node ipu1_cma@9d000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: regions without no-map are not yet supported [ 0.000000] Reserved memory: created CMA memory pool at 0xa1000000, size 32 MiB [ 0.000000] Reserved memory: initialized node dsp1_cma@99000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created CMA memory pool at 0xa3000000, size 32 MiB [ 0.000000] Reserved memory: initialized node dsp2_cma@9f000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: regions without no-map are not yet supported [ 0.000000] Reserved memory: created DMA memory pool at 0xa9000000, size 64 MiB [ 0.000000] Reserved memory: initialized node cmem@A9000000, compatible id shared-dma-pool [ 0.000000] cma: Reserved 24 MiB at 0xbe400000 [ 0.000000] Memory policy: Data cache writealloc [ 0.000000] OMAP4: Map 0xbfe00000 to fe600000 for dram barrier [ 0.000000] DRA752 ES2.0 [ 0.000000] PERCPU: Embedded 11 pages/cpu @ef630000 s14912 r8192 d21952 u45056 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 243520 [ 0.000000] Kernel command line: console=ttyO0,115200n8 vram=16M root=/dev/nfs rw nfsroot=172.17.218.25:/home/hancan/PROCESSOR_SDK_VISION_03_04_00_00/ti_components/os_tools/linux/targetfs rootwait ip=dhcp mem=1024M [ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes) [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) [ 0.000000] Memory: 411856K/980992K available (6663K kernel code, 318K rwdata, 2392K rodata, 332K init, 286K bss, 364336K reserved, 204800K cma-reserved, 235520K highmem) [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB) [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB) [ 0.000000] vmalloc : 0xf0800000 - 0xff800000 ( 240 MB) [ 0.000000] lowmem : 0xc0000000 - 0xf0000000 ( 768 MB) [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB) [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB) [ 0.000000] .text : 0xc0008000 - 0xc08e000c (9057 kB) [ 0.000000] .init : 0xc08e1000 - 0xc0934000 ( 332 kB) [ 0.000000] .data : 0xc0934000 - 0xc09839e0 ( 319 kB) [ 0.000000] .bss : 0xc0985000 - 0xc09cc980 ( 287 kB) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1 [ 0.000000] Preemptible hierarchical RCU implementation. [ 0.000000] Build-time adjustment of leaf fanout to 32. [ 0.000000] NR_IRQS:16 nr_irqs:16 16 [ 0.000000] ti_dt_clocks_register: failed to lookup clock node gmac_gmii_ref_clk_div [ 0.000000] OMAP clockevent source: timer1 at 32786 Hz [ 0.000000] Architected cp15 timer(s) running at 6.14MHz (phys). [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns [ 0.000004] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns [ 0.000016] Switching to timer-based delay loop, resolution 162ns [ 0.000342] clocksource: 32k_counter: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 58327039986419 ns [ 0.000351] OMAP clocksource: 32k_counter at 32768 Hz [ 0.000798] Console: colour dummy device 80x30 [ 0.000814] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0' [ 0.000820] This ensures that you still see kernel messages. Please [ 0.000826] update your kernel commandline. [ 0.000839] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.29 BogoMIPS (lpj=61475) [ 0.000851] pid_max: default: 32768 minimum: 301 [ 0.000948] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.000958] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.001497] Initializing cgroup subsys io [ 0.001513] Initializing cgroup subsys memory [ 0.001537] Initializing cgroup subsys devices [ 0.001550] Initializing cgroup subsys freezer [ 0.001561] Initializing cgroup subsys perf_event [ 0.001572] Initializing cgroup subsys pids [ 0.001598] CPU: Testing write buffer coherency: ok so i donot know what is the problem? thanks! + +Responses: +Hi Shuai, did you export your rootfs in the "/etc/exports" of your host (as mentioned in chapter "3.1.1 NFS + SD boot" of VisionSDK_Linux_UserGuide.pdf). You should add following line: /home/hancan/PROCESSOR_SDK_VISION_03_04_00_00/ti_components/os_tools/linux/targetfs *(rw,nohide,insecure,no_subtree_check,async,no_root_squash) you may need to run following commands: sudo /etc/init.d/nfs-kernel-server stop + +sudo /etc/init.d/nfs-kernel-server start after modifying "/etc/exports". Regards, Yordan + diff --git a/sample_embedding_folder2/0746579.txt b/sample_embedding_folder2/0746579.txt new file mode 100644 index 0000000000000000000000000000000000000000..68bea3f1a6b3f3c9908572f978d65faa3aea0df0 --- /dev/null +++ b/sample_embedding_folder2/0746579.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: High performance array transposition for EVE core + +Query Text: +Part Number: TDA2 Hi, I have to transpose array for EVE next way: data1[y * width + y] to data2[y + x * height]. I try reales thes throw EDMA, but it is slow way. DMA doesn't work with TILER. What is the most efficient way to realise this procedure? + +Responses: +Hi Danil, Using EDMA to do the transpose will not be efficient. You can use VCOP to do the transpose ( look for p_scatter store instruction in VCOP). If you are doing just transpose then DMA will become bottleneck so it would be advisable if you can combine the transpose with some more processing to utilize EVE optimally. Regards, Anshu + diff --git a/sample_embedding_folder2/0747421.txt b/sample_embedding_folder2/0747421.txt new file mode 100644 index 0000000000000000000000000000000000000000..abb95b2050fd9c6e578be71b3f6f9c9814f0f86b --- /dev/null +++ b/sample_embedding_folder2/0747421.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: change C66link + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi: i am use SDK_VISION_03_04_00_00 uenv.txt is fdtfile=dra7-evm-infoadas.dtb args_mmc=setenv bootargs 'console=ttyO0,115200n8 vram=16M root=/dev/nfs rw nfsroot=172.17.218.22:/home/hancan/PROCESSOR_SDK_VISION_03_04_00_00/ti_components/os_tools/linux/targetfs rootwait ip=dhcp mem=1024M' i change code of hlos just build and reboot ,but if i chage code of rtos (for exmple SDK_VISION_03_04_00_00\vision_sdk\apps\src\rtos\alg_plugins\framecopy\ frameCopyAlgoLocalDma.c ) i have to copy firmware of C66 to sd ( PROCESSOR_SDK_VISION_03_04_00_00/ti_components/os_tools/linux/targetfs/lib/firmware$ sudo cp dra7-* /media/hancan/rootfs/lib/firmware/ ) if not copy the chage is not done. how to solve this ? shuai + +Responses: +Hi Shuai, If you use NFS as your filesystem instead of an file-system on the SD card, then you can set the LINUX_TARGETFS in build/tools_path.mk file to point to your filesystem. Similarly you need to use the uenv_nfs file present in build/hlos/scripts/linux/ folder and update the nfsroot variable to point to the IP address and the folder on your PC. If you're having the file-system on your SD card, then you must copy the firmware every-time. Regards Shravan + diff --git a/sample_embedding_folder2/0747611.txt b/sample_embedding_folder2/0747611.txt new file mode 100644 index 0000000000000000000000000000000000000000..5326867945e7539363d0536a1197416fdfc8be34 --- /dev/null +++ b/sample_embedding_folder2/0747611.txt @@ -0,0 +1,12 @@ +Ticket Name: Compiler/TDA2: TDA2x visionSDK compile error + +Query Text: +Part Number: TDA2 Tool/software: TI C/C++ Compiler Hi there, I have installed vision sdk using PROCESSOR_SDK_VISION_03_00_00_00_setuplinux.bin. My compile host machine is win10. I compiled visionSDK follow "visionsdk userguide tda2xx.pdf": MAKECONFIG=tda2xx_evm_rtos_all make -s depend; make -s; They all run successfully. And then I want to compile the other compents of visionSDK, so i execute : make -s all, the i get these errors: $ gmake -s all process_begin: CreateProcess(NULL, s gmake -fMAKEFILE.MK -CE:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/apps/src/rtos/alg_plugins clean, ...) failed. make (e=2): ϵͳ▒Ҳ▒▒▒ָ▒▒▒▒▒ļ▒▒▒ /cygdrive/e/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/os_tools/windows/xdctools_3_32_01_22_core/bin/cat: E:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/l /cygdrive/e/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/os_tools/windows/xdctools_3_32_01_22_core/bin/cat: E:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/l /cygdrive/e/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/os_tools/windows/xdctools_3_32_01_22_core/bin/cat: E:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/l /cygdrive/e/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/os_tools/windows/xdctools_3_32_01_22_core/bin/cat: E:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/l /cygdrive/e/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/os_tools/windows/xdctools_3_32_01_22_core/bin/cat: E:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/l /cygdrive/e/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/os_tools/windows/xdctools_3_32_01_22_core/bin/cat: E:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/l /cygdrive/e/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/os_tools/windows/xdctools_3_32_01_22_core/bin/cat: E:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/l /cygdrive/e/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/os_tools/windows/xdctools_3_32_01_22_core/bin/cat: E:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/l /cygdrive/e/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/os_tools/windows/xdctools_3_32_01_22_core/bin/cat: E:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/l /cygdrive/e/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/os_tools/windows/xdctools_3_32_01_22_core/bin/cat: E:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/l # Compiling tda2xx-evm:ipu1_0:release:links_common_algorithm: algorithmLink_algPluginSupport.c # Compiling tda2xx-evm:ipu1_0:release:links_common_algorithm: algorithmLink_cfg.c "algorithmLink_cfg.c", line 79: fatal error: cannot open source file "system_cfg.h" 1 catastrophic error detected in the compilation of "algorithmLink_cfg.c". Compilation terminated. >> Compilation failure gmake[7]: *** [E:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/obj/links_common_algorithm/tda2xx-evm/ipu1_0/release/algorithmLink_cfg.oem4] Error 1 gmake[6]: *** [ipu1_0] Error 2 # Compiling tda2xx-evm:ipu1_1:release:links_common_algorithm: algorithmLink_algPluginSupport.c # Compiling tda2xx-evm:ipu1_1:release:links_common_algorithm: algorithmLink_cfg.c "algorithmLink_cfg.c", line 79: fatal error: cannot open source file "system_cfg.h" 1 catastrophic error detected in the compilation of "algorithmLink_cfg.c". Compilation terminated. >> Compilation failure gmake[7]: *** [E:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/obj/links_common_algorithm/tda2xx-evm/ipu1_1/release/algorithmLink_cfg.oem4] Error 1 gmake[6]: *** [ipu1_1] Error 2 # Compiling tda2xx-evm:ipu2:release:links_common_algorithm: algorithmLink_algPluginSupport.c # Compiling tda2xx-evm:ipu2:release:links_common_algorithm: algorithmLink_cfg.c "algorithmLink_cfg.c", line 79: fatal error: cannot open source file "system_cfg.h" 1 catastrophic error detected in the compilation of "algorithmLink_cfg.c". Compilation terminated. >> Compilation failure gmake[7]: *** [E:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/obj/links_common_algorithm/tda2xx-evm/ipu2/release/algorithmLink_cfg.oem4] Error 1 gmake[6]: *** [ipu2] Error 2 # Compiling tda2xx-evm:a15_0:release:links_common_algorithm: algorithmLink_algPluginSupport.c # Compiling tda2xx-evm:a15_0:release:links_common_algorithm: algorithmLink_cfg.c algorithmLink_cfg.c:79:24: fatal error: system_cfg.h: No such file or directory #include ^ compilation terminated. gmake[7]: *** [E:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/obj/links_common_algorithm/tda2xx-evm/a15_0/release/algorithmLink_cfg.oa15fg] Error 1 gmake[6]: *** [a15_0] Error 2 # Compiling tda2xx-evm:c66xdsp_1:release:links_common_algorithm: algorithmLink_algPluginSupport.c # Compiling tda2xx-evm:c66xdsp_1:release:links_common_algorithm: algorithmLink_cfg.c "algorithmLink_cfg.c", line 79: fatal error: could not open source file "system_cfg.h" 1 fatal error detected in the compilation of "algorithmLink_cfg.c". Compilation terminated. >> Compilation failure gmake[7]: *** [E:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/obj/links_common_algorithm/tda2xx-evm/c66xdsp_1/release/algorithmLink_cfg.oe66] Error 1 gmake[6]: *** [c66xdsp_1] Error 2 # Compiling tda2xx-evm:c66xdsp_2:release:links_common_algorithm: algorithmLink_algPluginSupport.c # Compiling tda2xx-evm:c66xdsp_2:release:links_common_algorithm: algorithmLink_cfg.c "algorithmLink_cfg.c", line 79: fatal error: could not open source file "system_cfg.h" 1 fatal error detected in the compilation of "algorithmLink_cfg.c". Compilation terminated. >> Compilation failure gmake[7]: *** [E:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/obj/links_common_algorithm/tda2xx-evm/c66xdsp_2/release/algorithmLink_cfg.oe66] Error 1 gmake[6]: *** [c66xdsp_2] Error 2 # Compiling tda2xx-evm:arp32_1:release:links_common_algorithm: algorithmLink_algPluginSupport.c # Compiling tda2xx-evm:arp32_1:release:links_common_algorithm: algorithmLink_cfg.c "algorithmLink_cfg.c", line 79: fatal error: could not open source file "system_cfg.h" 1 fatal error detected in the compilation of "algorithmLink_cfg.c". Compilation terminated. >> Compilation failure gmake[7]: *** [E:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/obj/links_common_algorithm/tda2xx-evm/arp32_1/release/algorithmLink_cfg.oearp32F] Error 1 gmake[6]: *** [arp32_1] Error 2 # Compiling tda2xx-evm:arp32_2:release:links_common_algorithm: algorithmLink_algPluginSupport.c # Compiling tda2xx-evm:arp32_2:release:links_common_algorithm: algorithmLink_cfg.c "algorithmLink_cfg.c", line 79: fatal error: could not open source file "system_cfg.h" 1 fatal error detected in the compilation of "algorithmLink_cfg.c". Compilation terminated. >> Compilation failure gmake[7]: *** [E:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/obj/links_common_algorithm/tda2xx-evm/arp32_2/release/algorithmLink_cfg.oearp32F] Error 1 gmake[6]: *** [arp32_2] Error 2 # Compiling tda2xx-evm:arp32_3:release:links_common_algorithm: algorithmLink_algPluginSupport.c # Compiling tda2xx-evm:arp32_3:release:links_common_algorithm: algorithmLink_cfg.c "algorithmLink_cfg.c", line 79: fatal error: could not open source file "system_cfg.h" 1 fatal error detected in the compilation of "algorithmLink_cfg.c". Compilation terminated. >> Compilation failure gmake[7]: *** [E:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/obj/links_common_algorithm/tda2xx-evm/arp32_3/release/algorithmLink_cfg.oearp32F] Error 1 gmake[6]: *** [arp32_3] Error 2 # Compiling tda2xx-evm:arp32_4:release:links_common_algorithm: algorithmLink_algPluginSupport.c # Compiling tda2xx-evm:arp32_4:release:links_common_algorithm: algorithmLink_cfg.c "algorithmLink_cfg.c", line 79: fatal error: could not open source file "system_cfg.h" 1 fatal error detected in the compilation of "algorithmLink_cfg.c". Compilation terminated. >> Compilation failure gmake[7]: *** [E:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/obj/links_common_algorithm/tda2xx-evm/arp32_4/release/algorithmLink_cfg.oearp32F] Error 1 gmake[6]: *** [arp32_4] Error 2 gmake[5]: *** [links_common_algorithm] Error 2 gmake[4]: *** [libs] Error 2 gmake[3]: *** [links_fw_libs] Error 2 gmake[2]: *** [apps] Error 2 gmake[1]: *** [vision_sdk] Error 2 gmake: *** [all] Error 2 so, what can i do to fix this?\ Thanks! + +Responses: +Hi, What component exactly do you want to compile? In case you want to compile Vision SDK for a different configuration/platform, you should change MAKECONFIG. Regards, Rishabh + +Hi Rishabh, Among those components, which were not compiled by run "gmake -s", I just need "sbl" for SD boot. I can get sbl component by just run "gmake sbl" successfully. The error above i pose occurs when compile alg link, so which file should i modify to compile it. I do not neet it for now though. Sorry for my poor English. Thanks! + +Hi, Vision SDK compile will compile all applicable links. In my opinion compiling a particular link as a standalone is not very useful unless you have a specific requirement. Regards, Rishabh + diff --git a/sample_embedding_folder2/0747774.txt b/sample_embedding_folder2/0747774.txt new file mode 100644 index 0000000000000000000000000000000000000000..e40e2a691319cf0f633421b9f197b8c00b242d24 --- /dev/null +++ b/sample_embedding_folder2/0747774.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: How to config MJPEG Encoder to support lossless mode? + +Query Text: +Part Number: TDA2 Dear Champs, My customer would like to use IVAHD to encode lossless MJPEG. Per MJPEG_Encoder_HDVICP2_UserGuide.pdf (under \ti_components\codecs\ivahd_jpegvenc_01_00_16_01_production\packages\ti\sdo\codecs\jpegvenc\docs), lossless mode is supported but the config method is not mentioned all thru the user guide. Could you help provide the config method? Thanks. + +Responses: +Hi, Lossless Mode is not supported for Mjpeg Codec. Regards, Anuj + diff --git a/sample_embedding_folder2/0747944.txt b/sample_embedding_folder2/0747944.txt new file mode 100644 index 0000000000000000000000000000000000000000..57dc179a68342b72185f51d008aefb2e7b1fb4a2 --- /dev/null +++ b/sample_embedding_folder2/0747944.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: TDA2x (TDA2P) UseCase EUNCAP perfermance + +Query Text: +Part Number: TDA2 Dear All, I have some question about the performance of object detection use case (No TIDL_OD) on TDA2x (or TDA2p). 1. According VisionSDK_DataSheet.pdf Chapter 9(EUNCAP), the input video resolution is 1M(720p). What is the input(processing) resolution of the actual algorithm(PD, VD, TSR, TLR, FCW(with SFM) and processing frame rate ? 2. If using TDA2x( or TDA2p) fully, What is the Max performance such as framerate and resolution ? BR, Khethan + +Responses: +Hi, Yes the input resolution is 720p as no VPE link is used. For further info on individual algorithm, please refer the algorithm datasheet inside ti_components/algorithm/ Regards, Anuj + +Hi Thank for reply BR, Khethan + diff --git a/sample_embedding_folder2/0748456.txt b/sample_embedding_folder2/0748456.txt new file mode 100644 index 0000000000000000000000000000000000000000..cea5c49cc3ee8d41ca0f97b7bf56fbe306cb7e48 --- /dev/null +++ b/sample_embedding_folder2/0748456.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: DDR DQ signal swapping TDA2SX + +Query Text: +Part Number: TDA2 Tool/software: Linux Hello, We are working on a custom board based on TDA2SX. We did some swapping in DQs with in the same bytes (DDR1_D0-> DQ0, D1->DQ5, D2->DQ1 ....D8->DQ8,.....). We hope this swapping is fine. Could you please confirm this with relevant software changes. Thanks Akesh + +Responses: +There is no issue with swapping data bits (within a byte) when interfacing TDA2SX with either DDR2 or DDR3. No software changes are required. + diff --git a/sample_embedding_folder2/0749019.txt b/sample_embedding_folder2/0749019.txt new file mode 100644 index 0000000000000000000000000000000000000000..6d59234818c335bce17ab50c63da56eeeb9d95b7 --- /dev/null +++ b/sample_embedding_folder2/0749019.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: #pragma DATA_SECTION to UTILS_HEAPID_DDR_CACHED_SR + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi: i am useing SDK_VISION_03_04_00_00\vision_sdk in a dsp1 link i want put my model to UTILS_HEAPID_DDR_CACHED_SR, #pragma DATA_SECTION (model,UTILS_HEAPID_DDR_CACHED_SR ); MInt32 model[] = { 177, 301, 176, 321, 176, 340, 177, 359, 180, 379, 184, 398, 189, 417, 195, 435, 202, 453, 212, 471, 223, 487, 235, 502, 249, 516, 263, 529, 278, 541, 294, 553, 311, 562, 331, 568, 352, 569, 374, 566, 396, 558, 414, 547, 431, 533, 446, 519, 460, 504, 473, 488, 484, 470, 493, 451, 499, 431, 503, 412, 506, 392, 507, 373, 508, 353, 507, 334, 506, 314, 504, 294, 501, 275, 199, 272, 215, 257, 235, 253, 256, 255, 276, 260, 290, 274, 272, 273, 254, 270, 236, 268, 218, 269, 356, 267, 370, 251, 392, 243, 415, 238, 438, 238, 459, 250, 438, 252, 417, 255, 396, 260, 376, 265, 223, 308, 232, 302, 242, 298, 254, 297, 266, 299, 276, 305, 282, 314, 273, 316, 263, 318, 253, 319, 242, 317, 232, 314, 373, 305, 381, 294, 391, 287, 404, 284, 417, 284, 428, 286, 438, 293, 429, 300, 419, 304, 408, 307, 396, 307, 384, 306, 307, 302, 309, 337, 306, 373, 289, 391, 298, 412, 327, 415, 347, 413, 377, 406, 382, 384, 363, 368, 355, 333, 352, 298, 280, 461, 300, 451, 324, 443, 343, 444, 362, 438, 388, 440, 413, 445, 396, 463, 375, 476, 349, 483, 322, 482, 299, 475, 286, 462, 315, 460, 345, 458, 376, 452, 407, 447, 377, 455, 346, 461, 315, 462, 253, 309, 406, 296, 328, 301, 330, 332, 332, 362, 334, 391, 337, 414, 253, 307, 409, 294, }; can i ? Shuai + +Responses: +Hi, You can give it a try but i guess initialization of that array is not possible. Regards, Anuj + +Hi Anuj the model is too big ! i am try to read it in A15 and send it to c66. but in ccs i use nitialization of that array is ok! shuai + +Hi, Please initialize your array inside your usecase or from where it gets called or inside link init if you are using it inside a link. Do not do it globally. Regards, Anuj + diff --git a/sample_embedding_folder2/0749131.txt b/sample_embedding_folder2/0749131.txt new file mode 100644 index 0000000000000000000000000000000000000000..e04d71613903b7dd3be6a4a67f08fc7ab57a7fe8 --- /dev/null +++ b/sample_embedding_folder2/0749131.txt @@ -0,0 +1,16 @@ +Ticket Name: Linux/TDA2: pass buffer_site for A15 to c66 + +Query Text: +Part Number: TDA2 Tool/software: Linux now i am VISION_03_04_00_00 char * model_fr = (char*)OSA_memAllocSR(OSA_HEAPID_DDR_CACHED_SR1, length_fr, 32); i read model file to model_fr buffer in a15 , it will use by C66 , so have can i send the model_frto C66 dsp ? how can i pass the physical pointer of this buffer to DSP as an Alg link (on DSP) create time parameter? i am run SDK_VISION_03_04_00_00\vision_sdk\sample_app\src\hlos\usecases\nullSrc_display , could you please illustrate how to add code take this usecase as an example . Shuai + +Responses: +Hi, You can send any structure to any link from A15 from your usecase using System_linkControl api with a command to a link provided that link supports that command. You can also provide your model_fr to a link in its create param, provided that links create param has that member to take model. Regards, Anuj + +Hi Anuj in sample_app\src\hlos\usecases\nullSrc_display\Chains_nullSrc_display this file get mem and read model then char * model_fr = (char*)OSA_memAllocSR(OSA_HEAPID_DDR_CACHED_SR1, length_fr, 32); gUcObj.Alg_FrameCopyPrm.mybuf = (void*)model_fr; i print model_fr bufsite and model data here is right. in sample_app\src\rtos\alg_plugins\framecopy\frameCopyAlgoLocalDma.c Alg_FrameCopyCreate i get the bufsite is the same, but model_data is 0 is wrong. float *model_fr = (float *)pCreateParams->mybuf; Vps_printf("rtos_model_frsite=%x,model_fr_0=%f,model_fr_1=%f \n", model_fr,model_fr[0], model_fr[1]); i donot know why ? + +Hi, Its because you are allocating the buffer from A15 which runs linux and has a virtual memory but DSP uses physical memory. So you need to get the physical address of that buffer and pass that DSP. You can use something like below buffer.payload = (void *) OSA_memVirt2Phys((UInt32)buffer.payload, OSA_MEM_REGION_TYPE_SR1); Regards, Anuj + +HI: Anuj char * model_fr = (char*)OSA_memAllocSR(OSA_HEAPID_DDR_CACHED_SR1, length_fr, 32); fread(model_fr, sizeof(char), length_fr, fp_fr); gUcObj.Alg_FrameCopyPrm.mybuf = (void*)OSA_memVirt2Phys((UInt32)model_fr ,OSA_HEAPID_DDR_CACHED_SR1); you mean like this ? Regards, SHUAI + +HI: Anuj its right now! thanks SHUAI + diff --git a/sample_embedding_folder2/0749189.txt b/sample_embedding_folder2/0749189.txt new file mode 100644 index 0000000000000000000000000000000000000000..0667ef617352db466d4078cdfa220d90b02c0ad6 --- /dev/null +++ b/sample_embedding_folder2/0749189.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: TIDL convolution layer input ,output, bias are all in ibufla, can I put the output on ibufha + +Query Text: +Part Number: TDA2 Hi: Recently, I found in TIDL convolution layer, the input, output and bias value are all on ibufla, for sparse convolution, the weights value first transfered to DMEM of EVE, then from DMEM to ibufha, for dense convolution, the weights value directly transferd to ibufha. Now, I put the output on ibufha, but I can't detect object. Can I put the output on ibufha, and can I directly transfer the weights value of sparse convolution to ibufha. thanks. + +Responses: +No, Sparse convolutions nned to update the weights during kernel executions. We recommend not to update sparse convolution flow. + diff --git a/sample_embedding_folder2/0749430.txt b/sample_embedding_folder2/0749430.txt new file mode 100644 index 0000000000000000000000000000000000000000..98d05552336e49a354e4cfc76d613fad9cc9cefe --- /dev/null +++ b/sample_embedding_folder2/0749430.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA3: Presbl + +Query Text: +Part Number: TDA3 Hi Sir, Is there any presbl code included like sbl in vision low TDA3x controller? Regards, Sagar + +Responses: +Hi Sagar, I did not fully understand the question. Are you talking about ROM bootloader? Regards, Rishabh + +Hi Sir, Actually in TDA2x i.e vision high there is no need to initialize QSPI while copying from external SDF. But inTDA3 i.e vision low there is need to reinitialize QSPI to do the same. Why? Also there is one presbl main function in which QSPI is initialized. So why there is again initialization of QSPI? Regards, Sagar + +Hi Sagar, SBL needs to initialize QSPI as per its need. And the same is done in both TDA2/TDA3 SBL. SBL will set QSPI in 4 bit memory mapped mode. It will also change the clock to max possible for best throughput. Hope this helps. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0749522.txt b/sample_embedding_folder2/0749522.txt new file mode 100644 index 0000000000000000000000000000000000000000..5c444699a5438e8d5fc436eb98eaac234783910d --- /dev/null +++ b/sample_embedding_folder2/0749522.txt @@ -0,0 +1,20 @@ +Ticket Name: RTOS: Display link output statics + +Query Text: +Tool/software: TI-RTOS Hello, I want to clear doubt regarding display link statics. For any use case , when we print statics for display link there no output statics. Why is it so? Regards, Kajal. + +Responses: +Hi Kajal, There is no output from display link and hence there is no output statistic. Regards, Rishabh + +Okay. Meaning output frames are going to display drivers for displaying them. ( i. e. FVID2_Frame for that purpose) Is my understanding correct?? Regards, Kajal + +Kajal, Input frame is being used by display driver for displaying data. After the frame display is complete, the driver returns the frame to the application. You can also refer to use case diagram. Regards, Rishabh + +Hello Rishabh, About which use case digram you are talking? Regards, Kajal + +Hi Kajal, You can look at any Vision SDK use case jpg. E.g. PROCESSOR_SDK_VISION_03_05_00_00\vision_sdk\apps\src\rtos\usecases\vip_single_cam_frame_copy\chains_vipSingleCameraFrameCopy.jpg Display link is the last block. The output does not go to any other link. Hope this clarifies. Regards, Rishabh + +Okay Rishabh, thank you for clarification. Regards, Kajal + +Closing the thread as issue has been resolved. Regards, Rishabh + diff --git a/sample_embedding_folder2/0749561.txt b/sample_embedding_folder2/0749561.txt new file mode 100644 index 0000000000000000000000000000000000000000..96d716804d834432af38e1e1f26e65fa8f43d74f --- /dev/null +++ b/sample_embedding_folder2/0749561.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: ALG: ERROR: No alg create function specified (algId = 39) !!! + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi : i am thy to add a new Link_algPlugin in sample_app\src\rtos\alg_plugins, i add id at bottom of AlgorithmLink_DspAlgorithmId but have some problem follow is log OST] [HOST ] 78.946776 s: IPC_OUT_0 : Create in progress !!! [HOST] [HOST ] 78.946837 s: IPC_OUT_0 : Create Done !!! [HOST] [HOST ] 78.947447 s: pObj->Alg_FrameCopy_forhandLinkID start=50331697 [HOST] [DSP1 ] 78.946928 s: IPC_IN_0 : Create in progress !!! [HOST] [DSP1 ] 78.947325 s: IPC_IN_0 : Create Done !!! [HOST] [DSP1 ] 78.947538 s: ALG: ERROR: No alg create function specified (algId = 39) !!! what is the problem? thanks shuai + +Responses: +Hi Shuai, please make sure you call your your AlgorithmLink_XXXXXX_initPlugin function in App_init() in file "vision_sdk/apps/src/common/app_init/app_init_dsp.c". You need to call this function in order to register you algorithm plugin. Regards, Yordan + diff --git a/sample_embedding_folder2/0749949.txt b/sample_embedding_folder2/0749949.txt new file mode 100644 index 0000000000000000000000000000000000000000..e533b076015350498f7593b176fa8415320248fc --- /dev/null +++ b/sample_embedding_folder2/0749949.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: compile PROCESS_SDK_3_2_0_0 appimage error + +Query Text: +Part Number: TDA2 Tool/software: Linux my host is ubuntu18.04 and I compile PROCESS_SDK_3_2_0_0 step : 1, make depend 2,make vision_sdk -s -j8 3.make appimage the step 1 and step 2 have compile finished, when i make appime is fllow err: mono VSION_SDK/ti_components/drivers/pdk_01_08_01_06/packages/ti/boot/sbl_auto/tools//out2rprc/out2rprc.exe VSION_SDK/vision_sdk/binaries/apps/tda2xx_evm_bios_met/vision_sdk/bin/tda2xx-evm/vision_sdk_a15_0_release.xa15fg VSION_SDK/vision_sdk/binaries/apps/tda2xx_evm_bios_met/vision_sdk/bin/tda2xx-evm/vision_sdk_a15_0_release.xa15fg.rprc WARNING: The runtime version supported by this application is unavailable. Using default runtime: v4.0.30319 Unhandled Exception: System.TypeInitializationException: The type initializer for 'System.Console' threw an exception. ---> System.TypeInitializationException: The type initializer for 'System.ConsoleDriver' threw an exception. ---> System.Exception: Magic number is wrong: 542 at System.TermInfoReader.ReadHeader (System.Byte[] buffer, System.Int32& position) [0x0002b] in <8f2c484307284b51944a1a13a14c0266>:0 at System.TermInfoReader..ctor (System.String term, System.String filename) [0x00065] in <8f2c484307284b51944a1a13a14c0266>:0 at System.TermInfoDriver..ctor (System.String term) [0x00058] in <8f2c484307284b51944a1a13a14c0266>:0 at System.ConsoleDriver.CreateTermInfoDriver (System.String term) [0x00000] in <8f2c484307284b51944a1a13a14c0266>:0 at System.ConsoleDriver..cctor () [0x00062] in <8f2c484307284b51944a1a13a14c0266>:0 --- End of inner exception stack trace --- at System.Console.SetupStreams (System.Text.Encoding inputEncoding, System.Text.Encoding outputEncoding) [0x0000a] in <8f2c484307284b51944a1a13a14c0266>:0 at System.Console..cctor () [0x000a8] in <8f2c484307284b51944a1a13a14c0266>:0 --- End of inner exception stack trace --- at out2rprc.Program.Main (System.String[] args) [0x00043] in <00b942d828114f90a31f2820d23dca05>:0 [ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type initializer for 'System.Console' threw an exception. ---> System.TypeInitializationException: The type initializer for 'System.ConsoleDriver' threw an exception. ---> System.Exception: Magic number is wrong: 542 at System.TermInfoReader.ReadHeader (System.Byte[] buffer, System.Int32& position) [0x0002b] in <8f2c484307284b51944a1a13a14c0266>:0 at System.TermInfoReader..ctor (System.String term, System.String filename) [0x00065] in <8f2c484307284b51944a1a13a14c0266>:0 at System.TermInfoDriver..ctor (System.String term) [0x00058] in <8f2c484307284b51944a1a13a14c0266>:0 at System.ConsoleDriver.CreateTermInfoDriver (System.String term) [0x00000] in <8f2c484307284b51944a1a13a14c0266>:0 at System.ConsoleDriver..cctor () [0x00062] in <8f2c484307284b51944a1a13a14c0266>:0 --- End of inner exception stack trace --- at System.Console.SetupStreams (System.Text.Encoding inputEncoding, System.Text.Encoding outputEncoding) [0x0000a] in <8f2c484307284b51944a1a13a14c0266>:0 at System.Console..cctor () [0x000a8] in <8f2c484307284b51944a1a13a14c0266>:0 --- End of inner exception stack trace --- at out2rprc.Program.Main (System.String[] args) [0x00043] in <00b942d828114f90a31f2820d23dca05>:0 make[1]: *** [build_multi_core_image_gen.mk:147: all] Error 1 make[1]: Leaving directory 'VSION_SDK/vision_sdk/build/rtos/makerules' make: *** [Makefile:249: appimage] Error 2 + +Responses: +Hi, We have not used this tool on ubuntu 18.04. Can you try ubuntu 14.04 or ubuntu 16.04. Regards, Rishabh + +Hi, Is there an update on this? Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0750262.txt b/sample_embedding_folder2/0750262.txt new file mode 100644 index 0000000000000000000000000000000000000000..3710161a2d6beb9480cf1848ffaa4cbf6d71c594 --- /dev/null +++ b/sample_embedding_folder2/0750262.txt @@ -0,0 +1,18 @@ +Ticket Name: TDA2: tda2 + +Query Text: +Part Number: TDA2 Dear TI, A strange bug comes, I find that after I run the TIDL demo , the output detection ROI coordinate is not correct! As you see below,I printed the detected rectangle coordinate ,then check the output value of the rectangle coordinate,nearly all of those are not accurate location . Is there any constant value needed be substracted from the variable pObjectDateDesc->ypos and pObjectDateDesc->xpos ,even pObjectDateDesc->objHeight and pObjectDateDesc->objWith needed be multiplied a constan coefficient? Looking forward to your kind reply, tks dear. + +Responses: +Hi, Can you specify which demo you are running and device used? Thanks, Praveen + +object detection with TIDL on tda2x EVM board + +Can you refer to below e2e thread to understand the format of TIDL detection output and to draw the boxes, e2e.ti.com/.../679186 Thanks, Praveen + +hi,dear In fact, this page is not the right information I want。 Could you please chech the file "vision_sdk\apps\src\rtos\alg_plugins\objectdetection\objectDrawLink_algPlugin.c" ? In this file, I print the variable pObjectDateDesc->ypos and pObjectDateDesc->xpos ,even pObjectDateDesc->objHeight and pObjectDateDesc->objWith when detecting the vehicle, yet the result rectangle is far from the real vehicle objects in the image. Is there any math relation of the results coordinate? + +Hi, Same question is discussed in the below thread and hence closing this thread. e2e.ti.com/.../751274 Thanks, Praveen + +Yet,could anybody answer my question on that link above? + diff --git a/sample_embedding_folder2/0750967.txt b/sample_embedding_folder2/0750967.txt new file mode 100644 index 0000000000000000000000000000000000000000..526083fbd96e33bff9c3e66bad9599d9dfc9402e --- /dev/null +++ b/sample_embedding_folder2/0750967.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2: PCI configuration space access is not aligned + +Query Text: +Part Number: TDA2 Tool/software: Linux Hello, I have got an issue with Linux 4.4.84 from PSDK 3.03 running on TDA2xx EVA board. I have noticed that the accesses to PCI configuration space registers are not aligned to 4B boundary which results in incorrect reading of the, for example, status register. Upon implementing the accesses using pci_bus_read_config_dword they are being read correctly. Thinking that this is a problem related solely to the Linux version, I've had a look into the same code from more recent kernels and it is the same. However, on my PC where I run kernel 4.16.7 all my PCI devices' registers are correctly read using those non-aligned accesses. What I would like to ask is if this problem is in any way related to the board itself and its A15 core. I'm seeing much more non-aligned accesses which probably need to be patched. Is this a known problem when it comes to TI boards? If yes, is there any official patch for this? Thank you in advance. Nick + +Responses: +Hi Nick, There are known issues with configuration space access for registers not aligned to 4B boundary. This is documented in the DRA7xx Silicon Errata found here (Errata ID i870) www.ti.com/.../sprz398i.pdf A work around patch has been pushed and is available in later kernel versions. The patch can be accessed here. patchwork.kernel.org/.../ Regards Shravan + +Hi Shravan, This patch resolved my issue and I would just like to inform whoever uses this patch in the future to go through each of the 4 parts since this one alone is not enough, at least for kernel 4.4.84 that comes with PSDK 3.03. Another thing that is worth mentioning is that the 'pci-dra7xx.c' patch from part 4 is not directly applicable to pci-dra7xx.c of kernel 4.4.84 so I had to pick some parts manually. This leads me to the question why are there TI patches for newer kernel versions but kernel 4.4.84 without any critical patches always comes with PSDK which leads to so much unnecessary confusion and issues. Regards, Nick + +Hi Nick, Thank you for the information. We will be making a PSDK release next month which is based off K-4.14 , and this will include all these fixes, thus avoiding the confusion with back-porting some of these patches. Regards Shravan + +Hi Shravan, I'm very glad to hear that. Thank you for the help, you can now close this thread. Regards, Nick + diff --git a/sample_embedding_folder2/0751163.txt b/sample_embedding_folder2/0751163.txt new file mode 100644 index 0000000000000000000000000000000000000000..995f46ea9b067e663b1eb92fec24834d3098e437 --- /dev/null +++ b/sample_embedding_folder2/0751163.txt @@ -0,0 +1,18 @@ +Ticket Name: Linux/TDA2: Cross complie opencv, missing vsdk.cmake + +Query Text: +Part Number: TDA2 Tool/software: Linux Dear officers, I am trying to cross complie opencv following the user guide "OpenCV_cross_compile_Steps_for_A15_Linux.pdf". But the cmake file "arm-gnueabi.toolchain_vsdk.cmake" can not be found. Would you please provide the file or the download address? Thank you + +Responses: +Hi @user5863765, please check the attachment in this post: Regards, Yordan + +Hi Yordan, I have checked the post and do not find the file "arm-gnueabi.toolchain_vsdk.cmake". Do you mean "arm-gnueabi_bios.toolchain.cmake"? + +Hi @user5863765 , sorry I missed that. Did you clone the tiopencv from the git and checkout the "tiopencvrelease_3.1" branch? Can you try with "tiopencv/platforms/linux/arm-gnueabi.toolchain.cmake"? Regards, Yordan + +Hi Yordan, Sorry for response so late. I have compiled it successfully by using "tiopencv/platforms/linux/arm-gnueabi.toolchain.cmake". But how to add OpenCL/VXLIB/DSP? Can i refer to the settings in "arm-gnueabi_bios.toolchain.cmake"? + +Hi, I have pinged OpenCL experts for further help. Regards, Yordan + +Hi, please check this post: e2e.ti.com/.../2830341 Regards, Yordan + diff --git a/sample_embedding_folder2/0751274.txt b/sample_embedding_folder2/0751274.txt new file mode 100644 index 0000000000000000000000000000000000000000..bdf4cac8d02f14658dfa93c4c119b0b1cf9d18fe --- /dev/null +++ b/sample_embedding_folder2/0751274.txt @@ -0,0 +1,22 @@ +Ticket Name: TDA2: tda2 TIDL SSD + +Query Text: +Part Number: TDA2 Dear TI, A strange bug comes, I find that after I run the TIDL demo , the output detection ROI coordinate is not correct! As you see below,I printed the detected rectangle coordinate ,then check the output value of the rectangle coordinate,nearly all of those are not accurate location . Is there any constant value needed be substracted from the variable pObjectDateDesc->ypos and pObjectDateDesc->xpos ,even pObjectDateDesc->objHeight and pObjectDateDesc->objWith needed be multiplied a constan coefficient? In fact, this page that you answer me is not the right information I want。 Could you please chech the file "vision_sdk\apps\src\rtos\alg_plugins\objectdetection\objectDrawLink_algPlugin.c" ? In this file, I print the variable pObjectDateDesc->ypos and pObjectDateDesc->xpos ,even pObjectDateDesc->objHeight and pObjectDateDesc->objWith when detecting the vehicle, yet the result rectangle is far from the real vehicle objects in the image. Is there any math relation of the results coordinate? Looking forward to your kind reply, tks dear. + +Responses: +Hi, There is no other math required on this Draw link code, the pObjectDateDesc->ypos and pObjectDateDesc->xpos should give the detected object positions. Are you running TIDL demo as it is without any changes and getting wrong detection's? Thanks, Praveen + +Hi,Praveen If what you said is true,then I think it maybe the frame number match or synchronization problem. Is there any synchrone mechanism to match every frame's detection result? I mean that when I saved the current frame's result, it may be running the other frame not the current one. There is a frame synchronization problem? Is it right? Thanks, Chenglin + +Hi, There is already a sync link in the usecase before object draw link which will take care of synchronizing of input yuv data and metadata(output of tidl) . Please 1st check with ti provided model files and check whether are you getting the proper values or not. Regards, Anuj + +Hi, I have changed the origal TIDL configuration file as following: TIDL Configuration parameters ----------------------------- inputWidth=768 inputHeight=320 inputFile=inData_OD inputHDRFile=inHeader_OD netFileName=tidl_net_jdetNet_ssd.bin paramFileName=tidl_param_jdetNet_ssd.bin fps=10 (fps = 30 changed) threshold=0.3 I guess if the change of fps cause the detected results does not match the response frame? Is there any bug about printing the detected result ? + +Anybody who can help me? + +Kumar, Please check if you are able to reply now. Regards Karthik + +Hi, Is the detections working with standalone TIDL application? + +Since we haven't heard back, we hope you could find solution. Closing the thread. + diff --git a/sample_embedding_folder2/0751379.txt b/sample_embedding_folder2/0751379.txt new file mode 100644 index 0000000000000000000000000000000000000000..bca650058fbc51aed507efee0bca440a9031a9f4 --- /dev/null +++ b/sample_embedding_folder2/0751379.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: EVE : KERNEL_C OPTIMISATION & PIPELINING + +Query Text: +Part Number: TDA2 Hi, I am writing a KERNEL_C code. I have tried the optimisations to reduce the cycles. so, want to know: - is their any other method for optimisation apart from 16 SIMD alignment? - can we do pipe-lining in the KERNEL_C? Regards Surbhi + +Responses: +Hi Surbhi, can you check if this thread can be useful: e2e.ti.com/.../2688022 Also you can contact your local TI representative to get access to EVE Programmers Guide (SPRUHC1G.pdf). Regards, Yordan + diff --git a/sample_embedding_folder2/0751554.txt b/sample_embedding_folder2/0751554.txt new file mode 100644 index 0000000000000000000000000000000000000000..61d1e73bc8dc5d8c524df212d2eeda25ac52affe --- /dev/null +++ b/sample_embedding_folder2/0751554.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Questions in radarDspProcessCfar_priv.c + +Query Text: +Part Number: TDA2 Dear respecful TI experts, I have a couple of questions regarding software logics in radarDspProcessCfar_priv.c which is included in PROCESSOR_SDK_RADAR_03_04_00_00. - Question #1 In the function named "AlgorithmFxn_RadarDspCfar_caall", the loop variable "i" is converted into i_doppler depending on whether "i" is odd/even. Could you tell me what is the purpose of this conversion or the purpose of the "i_doppler". I think there a bug which is related to i_doppler, but to get to the bottom of it, I need to detailed purpose of the variable. -Question #2 In the function named "AlgorithmFxn_RadarDspCfar_caall", below codes which are performed when pCfarCreateParams->enableSecondPassSearch == 0 seem not correct the stop condition in the second for loop should be corrected, otherwise all the variables in the for loop will be overflowed. please let me know if there is what I missed. if (tempDetected < pCfarCreateParams->maxNumDetObj) { for (j = 0; j < (Int32)tempDetected; j++) { cfarOut->noise[detected] = tempNoise[j]; cfarOut->rangeInd[detected] = tempRangeIndex[j]; cfarOut->dopplerInd[detected++] = i_doppler; } } else { for (j = 0; j < pCfarCreateParams->maxNumDetObj; j++) { cfarOut->noise[detected] = tempNoise[j]; cfarOut->rangeInd[detected] = tempRangeIndex[j]; cfarOut->dopplerInd[detected++] = i_doppler; } break; } + +Responses: +Hi, Apologies for the delayed response on this one. The i_doppler is used to perform a shift on the Doppler dimension to incorporate positive and negative relative velocties. The data is arranged after FFT and energy sum in Doppler Dim x Range Dim (The x-axis is Dopper and y-axis is Range.). The doppler bins are however 0, 1, 2, 3, and so on till the N doppler - 1. The i_doppler will loop as below assuming N doppler is 64. 0, 63, 1, 62, and so on till 31, 32 The first pass search in along the range dimension. The second pass in on the doppler dimension. During the second pass search the i_doppler is used to find the window in the positive relative velocity and negative relative velocity doppler bins for a particular detected range cell to find the noise floor in the doppler dimension and check if the energy at the first pass detected cell is indeed greater than the noise floor in the doppler direction. I am not sure I follow your second comment regarding the loops. The expectation is that if the tempDetected is less than max array size given by pCfarCreateParams->maxNumDetObj then only tempDetected number of objects is copied to the array. If not then the full array is populated till the maximum allowed objects given by pCfarCreateParams->maxNumDetObj. Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0752383.txt b/sample_embedding_folder2/0752383.txt new file mode 100644 index 0000000000000000000000000000000000000000..270e657a3189235bd2691b44c3639d3a0151f51a --- /dev/null +++ b/sample_embedding_folder2/0752383.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2: VXLIB Remap Performance + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi. I'm using Vision SDK 3.4 to develop 3ch 1080p vip capture -> panorama algorithm. To make panorama image to fit 1080 width, I resized each channel to 640x360. So, 1920x360 size Y-LUT and 1920x180 size CbCr-LUT is used to make panorama image. I used VXlib function , VXLIB_remapBilinear_bc_i8u_i32f_o8u. According to VXLib Test Report, remap function takes 7.5*(dst width * dst height) + 139 cycles. In my case, remap function should take about 13ms. But, actually it takes over 40ms. LUT is allocated as belows pPanoramaObj->remapBuf = Utils_memAlloc( UTILS_HEAPID_DDR_CACHED_SR, ( 1920*360*8*2 ), MY_FRAME_ALIGN /* 32u*/ ); and below is the part of remap. VXLIB_bufParams2D_t src_addr; VXLIB_bufParams2D_t dst_addr; VXLIB_bufParams2D_t remap_addr; VXLIB_STATUS vx_status; src_addr.dim_x = 1920; src_addr.dim_y = 360; src_addr.stride_y = 1920; src_addr.data_type = VXLIB_UINT8; dst_addr.dim_x = 1920; dst_addr.dim_y = 360; dst_addr.stride_y = 1920; dst_addr.data_type = VXLIB_UINT8; remap_addr.dim_x = 1920*2; remap_addr.dim_y = 360; remap_addr.stride_y = 1920*8; remap_addr.data_type = VXLIB_FLOAT32; vx_status = VXLIB_remapBilinear_bc_i8u_i32f_o8u( (UInt8*)((UInt32)pMosaicFrameBuffer->bufAddr[0] + 1920*360), &src_addr, (UInt8*)((UInt32)pOutFrameBuffer->bufAddr[0] + 1920*360), &dst_addr, (VXLIB_F32*)((UInt8*)pPanoramaObj->remapBuf), &remap_addr, 0 ); if(vx_status!=VXLIB_SUCCESS) Vps_printf("remapY result:%d\n", vx_status); remap function itself works well, and image is normal. What should I do for better performance? Thanks in advance. + +Responses: +Thanks for your question. Explanation of difference you are seeing All of the performance numbers listed in the test report reflect the core DSP performance without considering memory stalls. Therefore it is a best case performance assuming all of the code and data are in L1 memory. In reality, this is not usually possible, so these numbers give an idea of what the performance should not get better than. Now I have done some testing to see what the performance is assuming all data and memory were accessed from DDR cached memory, and this kernel which used randomly generated remap table ranged from 23 to 82 cycles per output pixel on average. When I ran the same test except put the code and data in DSP L2 memory, the performance improved to range from 10 to 30 cycles per output pixel. Here is a summary of performances: 1. CPU only (no L2/DDR memory) : 7.5 cycles 2. Code/Data in L2: 10 to 30 cycles 3. Code/Data in DDR: 23 to 82 cycles The difference between case 1 and 2 is the L1 cache miss penalty. The difference between case 2 and case 3 is the L2 cache miss penalty to DDR. The cache miss rate will vary based on remap table. For example, a unity remap table will have a high cache hit rate since subsequent input pixel accesses will be on same cache line that was already fetched. Proposal for Improvement As seen above, the best thing you can do to improve performance is to process the data from L2 RAM. Since the whole input image probably does not fit into L2 RAM, DMA the input from DDR into L2 RAM prior to calling this function. This probably requires you to pipeline the processing in a ping/pong fashion across blocks of input/output. What I mean is make a loop wherein you initiate a transfer of an input block into L2 RAM, and while the DMA is happening, call VXLIB function on a previously DMA'd block in L2. When the VXLIB function is done, initiate the next transfer, and continue on until the end of the whole frame. Since you are doing a remap, which blocks you transfer and how big the transfer is depends on the remap function you are doing. Final Questions After rereading your post, I'm curious why you are using remap for whole panorama. Is most of the remap a copy, or does most every pixel get shifted/warped relative to input? If you are primarily just appending input images together, you can use a DMA for all/most of the copy and that will be the fastest. + +As proposed, I copied LUT block in DDR to L2 using DMA. I didn't use pingpong buffer, but performance is double-graded. If I use ping/pong buffer, better result will be expected. To answer for your final questions, in my case, almost every pixel is warped into new position. So, I can't choose the way just copying image blocks. Thanks for response. + diff --git a/sample_embedding_folder2/0752472.txt b/sample_embedding_folder2/0752472.txt new file mode 100644 index 0000000000000000000000000000000000000000..5025a679e35f256ea15bf945baf64c0ac819e2a8 --- /dev/null +++ b/sample_embedding_folder2/0752472.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: how to recover from QSPI busy state + +Query Text: +Part Number: TDA2 Hello, In case of TDA2x QSPI is stalling due to busy status, how to return to non-busy staus by QSPI module configuration? I tried CM_L4PER2_QSPI_CLKCTRL.MODULEMODE = 0 (disable) then CM_L4PER2_QSPI_CLKCTRL.MODULEMODE = 1, but sometimes QSPI CS looks still in active state after this operation and still stalling... If you provide the right QSPI module reset procedure it is helpful. Regards, Takeo + +Responses: +Hello Takeo-san, The modulemode alone would not reset the internal module state. Is this condition (stalling busy) happening always (after every SPI transaction attempt) or randomly? Regards, Stan + +Also, BUSY bit is auto-clearing by hardware. Software reset of QSPI is not needed nor possible. BUSY sticked to 1 means issue with the SPI clock. One example could be missing or incorrect PCB routing of qspi1_rtclk. Kindly check the TRM chapter Quad Serial Peripheral Interface + diff --git a/sample_embedding_folder2/0752761.txt b/sample_embedding_folder2/0752761.txt new file mode 100644 index 0000000000000000000000000000000000000000..97f934946a9ceb5269e35d5f7d80541ef6fd57f4 --- /dev/null +++ b/sample_embedding_folder2/0752761.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: I can't find SFM_POSE.bin + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Single channel demos with HDMI input IMPORTANT NOTE: To demonstrate better output all single channel usecases that require HDMI input should use video clips mentioned in the table below. These clips are part of PROCESSOR_SDK_VISION_03.XX.XX.XX_INPUTS.tar.gz c: 1CH VIP capture (HDMI) + SOF (EVE1) + SFM (DSP1) + Display f: 1CH VIP capture (HDMI) + FrontCam Analytics 2 (PD+TSR+VD+LD+TLR+SFM) (DSPx, EVEx) + Display (HDMI) SFM_POSE.bin - SFM (Usecase ‘c’) and EUNCAP demo (Usecase ‘f’) needs SFM_POSE.bin on the SD card. It is part of VISION_SDK_02.XX.XX.XX_INPUTS.tar.gz,but I can't find VISION_SDK_02.XX.XX.XX_INPUTS.tar.gz, + +Responses: +Hi @hua liu liu , VISION_SDK_02.XX.XX.XX_INPUTS.tar.gz can be found on CDDS here: https://cdds.ext.ti.com/ematrix/common/TIemxNavigator.jsp?objectId=28670.42872.37371.48714 (If you do not have access to CDDS, please contact your local TI FAE) Regards, Yordan + diff --git a/sample_embedding_folder2/0753138.txt b/sample_embedding_folder2/0753138.txt new file mode 100644 index 0000000000000000000000000000000000000000..19d2967676dba749b90c31d5e1e09b0b17f48793 --- /dev/null +++ b/sample_embedding_folder2/0753138.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: How CCS uses c++ to compile + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS 1、Using CCS8.2, create a new opencv project on the A15 module. When compiling, the following error occurs. How to solve it? C:/ti/ti_components/open_compute/opencv/opencv-3.1.0/include/opencv2/core/base.hpp:49:4: error: #error base.hpp header must be compiled as C++ # error base.hpp header must be compiled as C+ 2、Whether the opencv library can be used in the dsp module creation project, can provide the routines that opencv uses on dsp。 + +Responses: +Hi @hua liu liu , in ti_components\open_compute\opencv\opencv-3.1.0\docs there are instructions for cross compiling OpenCV (both for BIOS and Linux). Did you followed them? Regards, Yordan + diff --git a/sample_embedding_folder2/0753478.txt b/sample_embedding_folder2/0753478.txt new file mode 100644 index 0000000000000000000000000000000000000000..68507981ce244bbb72ec486ecdd76f566aa2065e --- /dev/null +++ b/sample_embedding_folder2/0753478.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: TIDL SSD MODEL + +Query Text: +Part Number: TDA2 hi, Could you please share me with the TIDL ssd model formated as text t which can be imported into caffe framework and run normally ? As you can see the picture below,there is only the binary format of the ssd model and parameter, where is the text format of these two files ? Which files at the web link "https://github.com/tidsp/caffe-jacinto/tree/caffe-0.17/models/VGGNet/coco/SSD_300x300" I mean the two files "tidl_net_jdetNet_ssd.bin tidl_param_jdetNet_ssd.bin". Could we think of tidl_param_jdetNet_ssd.bin as caffemodel format file and the tidl_net_jdetNet_ssd.bin as prototxt file which shows the structure of the ssd net model? Best, + +Responses: +tidl_net_jdetNet_ssd.bin tidl_param_jdetNet_ssd.bin are avialble binary format. Caffe-jacinto models can be found here github.com/.../JDetNet + diff --git a/sample_embedding_folder2/0753513.txt b/sample_embedding_folder2/0753513.txt new file mode 100644 index 0000000000000000000000000000000000000000..d2471e8b2e5dcc534f707397378438b903525bf4 --- /dev/null +++ b/sample_embedding_folder2/0753513.txt @@ -0,0 +1,8 @@ +Ticket Name: CCS/TDA2: The controller has detected a dead JTAG clock + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio Hi i am using EVMx5777 board(TDA2x). but during debugging with emulator i found one error "The controller has detected a dead JTAG clock". i am using XDS560v2 STM emulator and CCS version 8.0. in the JTAG port i am using 60 PIN MIPI connector. please tell me how i can solve my this issue. + +Responses: +Hello, Can you try lowering the TCLK of your emulator? Try clocking down see if the error persists. If you are using adaptive clocking adapter try without it or setting the adaptive clocking setting in CCS as explained in this e2e: thanks, Alex + diff --git a/sample_embedding_folder2/0753578.txt b/sample_embedding_folder2/0753578.txt new file mode 100644 index 0000000000000000000000000000000000000000..aecad9acd9b7f2eaf578e21eca88fa7d0e9f65d9 --- /dev/null +++ b/sample_embedding_folder2/0753578.txt @@ -0,0 +1,10 @@ +Ticket Name: RTOS/TDA2: TDA2 Camera AVL + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Sir, We would like use 2M RGB-IR camera, OV2736 for TDA2 product development, but it is not in AVL. Please help me check it is available be supported by TDA2. If it is not be supported, please give me the 2M RGB-IR camera suggestion list and the latest of camera AVL for my reference. Thank you. Sidney + +Responses: +Hi Sidney, You could capture the camera output if it supports parallel output over discrete sync interface. But how do you process this RGB-IR output data? You will have write SW to process that data. Rgds, Brijesh + +Hi Sidney, I am closing the thread, since there is no reply. You could reopen it if you are still facing the issue. Regards, Rishabh + diff --git a/sample_embedding_folder2/0753603.txt b/sample_embedding_folder2/0753603.txt new file mode 100644 index 0000000000000000000000000000000000000000..f6fc63fdaae39ccb76ed10dbc0d36d5a59d70459 --- /dev/null +++ b/sample_embedding_folder2/0753603.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: A15 how to test CPU usage rate + +Query Text: +Part Number: TDA2 Tool/software: Linux i am using SDK_VISION_03_04_00_00 i run my algorithm on a15 how to test CPU usage rate? BESTWISHES Shuai + +Responses: +Hi Shuai, in VisionSDK-Linux you would not be able to measure A15 by pressing 'p' as for the other cores. You can use any of the standard Linux tools (such as top, htop, vmstat ...). You can check this thread for more details: e2e.ti.com/.../709101 Regards, Yordan + diff --git a/sample_embedding_folder2/0753671.txt b/sample_embedding_folder2/0753671.txt new file mode 100644 index 0000000000000000000000000000000000000000..a3eff0ef804e73217dab77ae3413cb8e107a3449 --- /dev/null +++ b/sample_embedding_folder2/0753671.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: EVE: Unaligned access in VCOP ST INTRLV operation + +Query Text: +Part Number: TDA2 HI, I have written a code in 16SIMD alignment , but while compiling the same on the simulator this warning comes EVE_1: Warning: Unaligned access in VCOP ST INTRLV operation the image resolution for which i have tested is 112x64. And because of this the output is not getting generated. Regards Surbhi + +Responses: +Surbhi, Half word interleave/de-interleave stores/loads must be word aligned ( that's the constraint with these instruction). Regards, Anshu + diff --git a/sample_embedding_folder2/0753691.txt b/sample_embedding_folder2/0753691.txt new file mode 100644 index 0000000000000000000000000000000000000000..bdd27776eb3a86aeef9e20a77935d6f6615fb6fe --- /dev/null +++ b/sample_embedding_folder2/0753691.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: Why CPU utilization can't be improved anymore + +Query Text: +Part Number: TDA2 Tool/software: Linux i am using SDK_VISION_03_04_00_00 i run my algorithm on a15 i test CPU usage rate by top . can CPU usage rate increase? and make my algorithm fast. what is the nic 45% idle irq mean? thanks ! shuai + +Responses: +Hi Shuai, The CPU utilization depends on previous links connected to the A-15 link. If the link connected to the A-15 link sends data periodically and the A15 link is able to process the data before the next burst of data, then the CPU load will be limited. If a while loop is run in the link you will notice the A15 load also spike to 100%. Regards Shravan + +Hi Shravan i run the program in the main with out link. (sample_app\src\hlos\chains_common\chains_main.c) i do not call usecase. Regards shuai + +Hi Shuai, In an idle state the sample-app.out application runs nothing and thus the A15 load is almost 0% due to the application. You need to check what modifications you've made (most likely you're polling on the status of some content) which is causing the increased load. Regards Shravan + diff --git a/sample_embedding_folder2/0754133.txt b/sample_embedding_folder2/0754133.txt new file mode 100644 index 0000000000000000000000000000000000000000..286745907444f24ab19d89c3958b30650d47e7c7 --- /dev/null +++ b/sample_embedding_folder2/0754133.txt @@ -0,0 +1,16 @@ +Ticket Name: RTOS: Why IPC link drop the frames ? + +Query Text: +Tool/software: TI-RTOS Hello, What are possible reasons for dropping frames by IPC link ? Specifically, in my case IPC OUT link of EVE is dropping frames. Regards, Kajal + +Responses: +Any update? Regards, Kajal + +Which Processor are you using? Which SDK? + +PROCESSOR_SDK 3.0 Regards, Kajal + +And which processor are you using? + +Hello Yordan, I'm able to solve this issue. Regards, Kajal + diff --git a/sample_embedding_folder2/0754167.txt b/sample_embedding_folder2/0754167.txt new file mode 100644 index 0000000000000000000000000000000000000000..cd737181d5871d062f6fb4d496eebb4f3a304f95 --- /dev/null +++ b/sample_embedding_folder2/0754167.txt @@ -0,0 +1,18 @@ +Ticket Name: RTOS/TDA2E-17: TDA2E-17 OSD + +Query Text: +Part Number: TDA2E-17 Tool/software: TI-RTOS Dear Sirs: In the DM81xx platform, there is a link SWOSD for the osd drawing inside the video. And specifically there is a library in M3 which can be used for OSD drawing inside the video with alphablending. According to this article: e2e.ti.com/.../893557 SWOSD in M3 is using a VCOP library to control it. Just want to ask: Is there any similiar library that can be called to draw osd in the video frame in TDA platform? Regards, /ckhsu + +Responses: +Hi hsu, There is no VCOP library on TDA platform. Rgds, Brijesh + +Hi Brijesh: Thank you for the reply. If there is no VCOP library in the TDA platform, is there any approach than can reach the same DMA copy with a specific transparent color/value as in the DM81xx platform? Or you can suggest me any approach that can achieve the same effect. Regards, /ckhsu + +Hi hsu, You could use display pipelines to do blending and transparency between two pipelines. Regards, Brijesh + +Hi Brijesh: Pipeline is only for display, what we want is not on the display screen, but in the captured video which would be then send to encode. Regards, /ckhsu + +Hi Hsu, You could use DSS Mem2mem path to get back the blended output from DSS into memory. This path need not be connected to the actual display. I think TDA2Ex has 4 pipelines, so you could use 2 for the actual display and other 2 with the WB pipelines to blend to video.. Regards, Brijesh + +Hi Brijesh: Thank you very much for pointing out this approach. This idea is quite fantasitic, and I think this is the best approach for us to do the same effect as in DM81xx. Sincerely, /ckhsu + diff --git a/sample_embedding_folder2/0754240.txt b/sample_embedding_folder2/0754240.txt new file mode 100644 index 0000000000000000000000000000000000000000..6c5e8232641d2a2f268eae11880fe61243f0aabb --- /dev/null +++ b/sample_embedding_folder2/0754240.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: How to utilize 4 EVE engine for TDA2 + +Query Text: +Part Number: TDA2 Hi team, My customer is evaluating TDA2 processor for a front camera application. The customer run Object Detection Usecase from Vision SDK. From the box this use case have 4 EVE cores utilized by 50-55% and give ~10fps. The customer have modified the usecase to use 2 EVE cores. The modified example utilizes 2 EVE cores by 98-100% and give same 10fps. How we can utilize 4 EVE cores by 100% and get 20fps? + +Responses: +Hi, Can you tell me which usecase are you using? As there is no object detection usecase which uses 4 EVEs. Is there any modification done on any usecase? We will be able to siggest better if you lets us know the usecase path and the modification done on that usecase. Regards, Anuj + +Hi, Its benn very long since any update on this issue, Is it still open? Regards, Anuj + diff --git a/sample_embedding_folder2/0754249.txt b/sample_embedding_folder2/0754249.txt new file mode 100644 index 0000000000000000000000000000000000000000..f153a3cb041b9310ecb926eeaae241f7a3d3986d --- /dev/null +++ b/sample_embedding_folder2/0754249.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Surround view projection on TDA2SX + +Query Text: +Part Number: TDA2 Hi team, My customer wants to use most powerful TDA2SX to combine frontcamera with sign/cars/object recognision and surround view application in one block. But they noticed that TDA2SX have no ISS block. The ISS block used to create projection for surround view application. Do we have a way to create surround view projection on TDA2SX? + +Responses: +Hi, ISS block is available only on TDA3x and TDA2Px. But you can use surround view application using the VIP capture. Please use below usecase. vision_sdk\apps\src\rtos\usecases\lvds_vip_sv_standalone Regards, Anuj + diff --git a/sample_embedding_folder2/0754589.txt b/sample_embedding_folder2/0754589.txt new file mode 100644 index 0000000000000000000000000000000000000000..117196751024c6e40f399b135019ec76a2a1d43d --- /dev/null +++ b/sample_embedding_folder2/0754589.txt @@ -0,0 +1,16 @@ +Ticket Name: RTOS/TDA2: "errors encountered during linking" When I call a filter in framecopy algorithm plugin + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS I try to add a filter, "EVELIB_firFilter2D", in framecopy algorithm plugin in TDA2PX/vision_sdk/apps/src/rtos/alg_plugins/framecopy/frameCopyAlgoEve.c. I write a test code. But in the building process, I meet link error as below. If anybody can help? Thanks a lot! "/home/derek/TDA2PX/vision_sdk/links_fw/src/rtos/bios_app_common/tda2px/eve2/linker_cmd_eve2_debug.cmd", line 13: warning: no matching section warning: creating output section ".edmaUtilsMem" without a SECTIONS specification error: no valid memory range(null) available for placement of ".edmaUtilsMem" error: program will not fit into available memory. run placement with alignment fails for section ".edmaUtilsMem" size 0x2e4 page 0 "/home/derek/TDA2PX/vision_sdk/links_fw/src/rtos/bios_app_common/tda2px/eve1/linker_cmd_eve1_debug.cmd", line 7: warning: no matching section "/home/derek/TDA2PX/vision_sdk/links_fw/src/rtos/bios_app_common/tda2px/eve1/linker_cmd_eve1_debug.cmd", line 8: warning: no matching section "/home/derek/TDA2PX/vision_sdk/links_fw/src/rtos/bios_app_common/tda2px/eve1/linker_cmd_eve1_debug.cmd", line 13: warning: no matching section + +Responses: +Hi, Can you share the changes which you have done for that link. Regards, Anuj + +Hi Anuj, Thanks for your reply. The following is my change in file vision_sdk/apps/src/rtos/alg_plugins/framecopy/frameCopyAlgoEve.c function Alg_FrameCopyProcess. char coeff[9] = {28, 28, 28, 28, 29, 28, 28, 28, 28}; uint8_t rndShift = 8; EVELIB_firFilter2D((UInt8 *)inputPtr, (wordWidth<<2), height, (wordWidth<<2), height, 1, (UInt8 *)outputPtr, (wordWidth<<2), height, (wordWidth<<2), height, 1, coeff, 3, 3, 1, 1, rndShift ); + +If there is any configure file or .cmd file need to change? + +Hi , Please add a section like below Program.sectMap[".edmaUtilsMem"] = "EVE1_DATA_MEM"; in \vision_sdk\links_fw\src\rtos\bios_app_common\tda2xx\eve1\Eve1.cfg Do the same for all other EVE cores also. Regards, Anuj + +Hi Anuj, It works. Thanks a lot! :) + diff --git a/sample_embedding_folder2/0754641.txt b/sample_embedding_folder2/0754641.txt new file mode 100644 index 0000000000000000000000000000000000000000..1ca712703d3c3f20b8b351a6ea96e2bd5e368e03 --- /dev/null +++ b/sample_embedding_folder2/0754641.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: The main frequency of A15? + +Query Text: +Part Number: TDA2 Tool/software: Linux i am useing tda2 evm , what is the frequency of A15? sample_app\src\hlos\chains_common\chains_main.c in the main i move the usecase , read a img and run a cnn. There is no multithreading in CNN. In this case, is one A15 working or two A15 working at the same time? shuai + +Responses: +Hi, If you are running linux on A15 then it will always run 2 A15 in SMP mode. You can check the same by below command omapconf show opp Regards, Anuj + diff --git a/sample_embedding_folder2/0754643.txt b/sample_embedding_folder2/0754643.txt new file mode 100644 index 0000000000000000000000000000000000000000..257482d9404ef497889b74dc08d8222f88d3fd10 --- /dev/null +++ b/sample_embedding_folder2/0754643.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2: Performance comparison between A15 and C66 + +Query Text: +Part Number: TDA2 Tool/software: Linux i am useing tda2 evm ? (sample_app\src\hlos\chains_common\chains_main.c ) in the main i move the usecase , read a img and run a cnn. There is no multithreading in CNN. use time is 1667ms. then i put the same cnn in (sample_app\src\rtos\alg_plugins\framecopy) done by dsp1 . buf cnn use is p_FRMem = (MVoid*)Utils_memAlloc(UTILS_HEAPID_DDR_CACHED_SR, FR_MEM_BUF_SIZE, 32); this time use time is 6378ms ! A15 1667ms. and c66 6378ms. Is the result reasonable? Why C66 is so slow?how can it fast ? thanks! shuai + +Responses: +Hi, DSP clock is slow compared to A15. You can check the same by below command omapconf show opp Across what code are you measuring time. Check the time only to run CNN not for reading the image. Regards, Anuj + +Hi Anuj yes measuring time only the cnn part! clock is slow but I don't think the gap is so big. shuai + +Hi, It could be possible due to some other thread is running on DSP at the same time when you run cnn and due to task scheduling, time is increased. Regards, Anuj + diff --git a/sample_embedding_folder2/0754646.txt b/sample_embedding_folder2/0754646.txt new file mode 100644 index 0000000000000000000000000000000000000000..8be5899b57969f7641ec8cf2d75e28597fed370c --- /dev/null +++ b/sample_embedding_folder2/0754646.txt @@ -0,0 +1,48 @@ +Ticket Name: Linux/TDA2: On-Chip Shared Memory (RAM) 512KB + +Query Text: +Part Number: TDA2 Tool/software: Linux i am useing tda2 evm , i am run a cnn on c66 , how can i use On-Chip Shared Memory (RAM) pMemMgr_FR.L2.pMem = Utils_memAlloc(UTILS_HEAPID_L2_LOCAL, L2SRAM_SIZE, 32); by this way pMemMgr_FR.L2.pMem is get from On-Chip Shared Memory? thanks shuai + +Responses: +Hi, Please use UTILS_HEAPID_OCMC_SR instead of UTILS_HEAPID_L2_LOCAL. Regards, Anuj + +Hi Anuj UTILS_HEAPID_OCMC_SR and UTILS_HEAPID_L2_LOCAL which is fastter? omapconf show opp not show clock of them. Regards, shuai + +Hi Anuj Utils_memAlloc(UTILS_HEAPID_DDR_CACHED_SR, FR_MODEL_SIZE, 32); is get mem from LP-DDR2 ? Regards, shuai + +Hi, Utils_memAlloc(UTILS_HEAPID_DDR_CACHED_SR, FR_MODEL_SIZE, 32); is get mem from LP-DDR2 ? It is from DDR3. UTILS_HEAPID_OCMC_SR and UTILS_HEAPID_L2_LOCAL which is fastter? UTILS_HEAPID_OCMC_SR is faster. Regards, Anuj + +Hi Anuj pMemMgr.L2.pMem = Utils_memAlloc(UTILS_HEAPID_OCMC_SR,L2SRAM_SIZE,32); is failed pMemMgr.L2.pMem=null L2SRAM_SIZE =32*1024; the code is used at sample_app\src\rtos\alg_plugins\framecopy\frameCopyAlgoLocalDma.c\Alg_FrameCopy_Create pMemMgr.L2.pMem = Utils_memAlloc(UTILS_HEAPID_L2_LOCAL,L2SRAM_SIZE,32); is ok! Regards, shuai + +Hi, Can you please check the vlue of all member variable of the below structure. gUtils_memHeapObj[2]. Regards, Anuj + +Hi Anuj you mean Vps_printf("gUtils_memHeapObj[0]=%d,gUtils_memHeapObj[1]=%d \n" gUtils_memHeapObj[0],gUtils_memHeapObj[1]); ? where should i add this code ? Regards, shuai + +Hi Anuj UTILS_HEAPID_OCMC_SR and UTILS_HEAPID_L2_LOCAL which is fastter? Regards, shuai + +Hi, I have already told in previous post that OCMC is faster. But allocating memory from that region is not supported. So you can find the ocmc address from the TRM and use that address directly as your buffer pointer. Regards, Anuj + +HI Anuj OCMC_RAM1 0x4030_0000 0x4037_FFFF 512KiB 32bit Ex OCMC_RAM2 0x4040_0000 0x404F_FFFF 1MiB 32bit Ex OCMC_RAM3 0x4050_0000 0x405F_FFFF 1MiB 32bit SO I can use 0x4030_0000 address as ocmc buf , Regards, Anuj + +HI Anuj sorry i donot know how to do , could you help me . Regards, shuai + +Hi, pMemMgr.L2.pMem = 0x40300000; And then use it. Regards, Anuj + +HI Anuj ocmc_buf=0x4030_0000 is failed i cannot EMDA data to that buf. Regards, shuai + +Hi, I did not understand your problem. Can you explain in detail. Regards, Anuj + +HI Anuj pMemMgr.L2.pMem = 0x40300000; then i use EDMA copy data from ddr to pMemMgr.L2.pMem, it have some crash , DSP core is crash. i use pMemMgr_FR.L2.pMem = Utils_memAlloc(UTILS_HEAPID_L2_LOCAL, L2SRAM_SIZE, 32); program run normal. so hoe can i use ocmc . Regards, shuai + +HI Anuj follow is the log [HOST] [HOST ] 0: Stop Chain [HOST] [HOST ] [HOST] [HOST ] p: Print Performance Statistics [HOST] [HOST ] [HOST] [HOST ] Enter Choice: [HOST] [HOST ] [HOST] [EVE3 ] 81.621362 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 [HOST] [EVE3 ] 81.621667 s: SYSTEM: Heap = LOCAL_L2 @ 0x40020000, Total size = 22528 B (22 KB), Free size = 22528 B (22 KB) [HOST] [EVE3 ] 81.622216 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 254176 B (248 KB) [HOST] [EVE4 ] 81.623406 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 [HOST] [EVE4 ] 81.623711 s: SYSTEM: Heap = LOCAL_L2 @ 0x40020000, Total size = 22528 B (22 KB), Free size = 22528 B (22 KB) [HOST] [EVE4 ] 81.624260 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 254176 B (248 KB) [HOST] [IPU2 ] 81.625083 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 [HOST] [IPU2 ] 81.625266 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 248552 B (242 KB) [HOST] [IPU2 ] 81.625419 s: SYSTEM: Heap = SR_OCMC @ 0x00000000, Total size = 0 B (0 KB), Free size = 0 B (0 KB) [HOST] [IPU2 ] 81.625571 s: SYSTEM: Heap = SR_DDR_CACHED @ 0x84203000, Total size = 346030080 B (330 MB), Free size = 308248576 B (293 MB) [HOST] [IPU2 ] 81.625785 s: SYSTEM: Heap = SR_DDR_NON_CACHED @ 0xa0100000, Total size = 1045376 B (0 MB), Free size = 851840 B (0 MB) [HOST] [IPU2 ] 81.626242 s: DISPLAY: Start in progress !!! [HOST] [IPU2 ] 81.626303 s: DISPLAY: Start Done !!! ] omap-iommu 40d01000.mmu: iommu fault: da 0x3f000000 flags 0x0 [ 75.236604] remoteproc1: crash detected in 40800000.dsp: type mmufault [ 75.243256] omap-iommu 40d01000.mmu: 40d01000.mmu: errs:0x00000002 da:0x3f000000 pgd:0xed13cfc0 *pgd:px00000000 [ 75.253651] remoteproc1: handling crash #1 in 40800000.dsp [ 75.259300] remoteproc1: recovering 40800000.dsp [HO ST] [HOST ] 82.019154 s: SYSTEM: IPC: [DSP1] Notify recfrom failed (Link has been severed, 67) !!! [HOST] [HOST ] 82.019185 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!! [HOST] [HOST ] 82.019185 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!! [HOST] [HOST ] 82.019215 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!! [HOST] [HOST ] 82.019215 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!! [HOST] [HOST ] 82.019215 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!! [HOST] [HOST ] 82.019246 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!! [HOST] [HOST ] 82.019246 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!! [HOST] [HOST ] 82.019276 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!! [HOST] [HOST ] 82.019276 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!! [HOST] [HOST ] 82.019276 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!! [HOST] [HOST ] 82.019307 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!! [HOST] [HOST ] 82.019307 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!! [HOST] [HOST ] 82.019307 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!! [HOST] [HOST ] 82.019337 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!! [HOST] [HOST ] 82.019337 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!! [HOST] [HOST ] 82.019368 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!! [HOST] [HOST ] 82.019368 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!! [HOST] [HOST ] 82.019368 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!! [HOST] [HOST ] 82.019398 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!! [HOST] [HOST ] 82.019398 s: SYSTEM: IPC: [DSP1] Notify recvfrom failed (Link has been severed, 67) !!! Regards, shuai + +Hi, Can you try with other OCMC(2&3) address. Please make sure no one is touching that ocmc address. Regards, Anuj + +Hi, Its been long time since any update on this thread. Is the issue resolved? Regards, Anuj + +Hi: Anuj I have thy OCMC(2&3) address ,also failed! Regards! Shuai + +Hi, Instead of doing EDMA copy can you try with simple memcpy and share your observations? Regards, Anuj + +Hi, Its been long since any update on this thread. I hope the issue is resolved. Regards, Anuj + diff --git a/sample_embedding_folder2/0754764.txt b/sample_embedding_folder2/0754764.txt new file mode 100644 index 0000000000000000000000000000000000000000..f362e80be35f022de5540c0316c6dd8384760e4b --- /dev/null +++ b/sample_embedding_folder2/0754764.txt @@ -0,0 +1,20 @@ +Ticket Name: RTOS/TDA2: TIDL File I/O Usecase + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hey, I was able to import the tensorflow mobilenet model. Now I want to use the TIDL File I/O usecase to run the inference on the tda2x. I put the .pb files on the sd card and placed an image (.bng) that should be used for a simple classification in two classes 0,1 for cat or dog. The resulting Out.bin looks as follows. This does not show proper classification in 0,1. What am I missing? Is this usecase able to do this by just changing the net and params file and the config? best regards, nico + +Responses: + + +Hi, First check that, you are getting correct result (proper classification) while importing. Then you can check on the use case. Thanks, Praveen + +what do you mean by "while importing"? I´d like to run the inference in host emulation mode, but I can´t create eve_test_dl_algo.out.exe. When I run the gmake command to build it, it says "nothing to be done for all". Took me a while to get to this point since nowhere in the documentation is any information about the need of TIDLSRC to do this. I now tried it with TIDLSRC, but didn´t work either. Do you have any idea how I can create eve_test_dl_algo.out.exe? best regards, nico + +You need to use below command mentioned in section 3.5.2 (Building source in host emulation) in the user guide. gmake CORE=eve TARGET_PLATFORM=PC all Thanks, Praveen + +yes I know, that is what I meant above when I said I tried the gmake command, but it says nothing to be done for all. + +Okay then can you share screenshot of the build console to check this Thanks, Praveen + +Nicolas, Since we haven't heard back from you. I hope yoou could find solution for this. So closing the thread. + diff --git a/sample_embedding_folder2/0755210.txt b/sample_embedding_folder2/0755210.txt new file mode 100644 index 0000000000000000000000000000000000000000..78da91f839cc70b7839c7177abdd8672eb4b21b4 --- /dev/null +++ b/sample_embedding_folder2/0755210.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2PXEVM: How to use 2 ethernet mac port at same time in TI-RTOS(TDA2Px)? + +Query Text: +Part Number: TDA2PXEVM Tool/software: TI-RTOS How to use 2 ethernet mac port at same time in TI-RTOS(TDA2Px)? Has TI got 2 ethernet mac port support in latest SDK? Our board is TDA2Px on TI-RTOS and SDK is [PROCESSOR_SDK_VISION_03_03_00_00] with one mac port(RMII1), but in chip manual it says there are 2 mac ports can be support, so we want to know how to use the two ethernet mac port at the same time and the download link for new SDK? document TDA2Px SoC for Advanced Driver Assistance Systems (ADAS) Silicon Revision 1.0 26.11.4.2 GMAC_SW Ports Ethernet Subsystem has three Ports. Port 0 is the Host port (internal to the Subsystem). Ports 1 and 2 are the external ports connected to G/MII, RGMII, or RMII interfaces as per the interface selected. Naming conventions followed in this chapter: • Port0 is referred to the Host Port • Port1 is referred to the interfaces GMII0/RGMII0/RMII0 • Port2 is referred to the interfaces GMII1/RGMII1/RMII1 + +Responses: +Hi Mi Zhou, The dual Ethernet port facility will be made available in a subsequent release of PROCESSOR_SDK_VISION. In the mean time, can you please let me know what exactly will be the usage of dual Ethernet ports in your application? If it turns out to be a solvable issue with the current setup, I might be able to help you. In that case, you wouldn't have to wait for the release. Regards, Anand M + +Hi Anand When could you release the PROCESSOR_SDK? We need to use both the two mac port, one for video data and another for debug data, both of two cost large data transparent. also they need full IP-Stack support(both UDP and TCP) It seems [PROCESSOR_SDK_VISION_03_03_00_00] can not support the request, so I need your new SDK. + +Hi Mi Zhou, The dual Ethernet Port feature will be made available on the next release of PROCESSOR_SDK_VISION. It will be released by mid January. Is there anything more I can help with? Regards, Anand + +OK Thanks. + diff --git a/sample_embedding_folder2/0755275.txt b/sample_embedding_folder2/0755275.txt new file mode 100644 index 0000000000000000000000000000000000000000..f5ae5354e38e467fc02a1a6ebe86328fb6f62036 --- /dev/null +++ b/sample_embedding_folder2/0755275.txt @@ -0,0 +1,10 @@ +Ticket Name: RTOS/TDA2: How to make changes in algorithm kernel work? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS I change kernel code in ti_components/algorithms/eve_sw_01_19_00_00/kernels/imgsiglib/Filter/src_kernelC/vcop_filter_kernel.k file and build successfully. I checked the built file ti_components/algorithms/eve_sw_01_19_00_00/kernels/lib/debug/libevekernels.eve.lib, and it is updated. After that, I build with "make -s -j depend" and "make -s -j" successfully. But the changes in kernel doesn't work. The result is the same as before. How can I make the change in kernel work? Thanks! BRs Derek Yang + +Responses: +Find I change wrong function. :( + +Hi Derek, I am glad to hear that the issue is resolved and thanks for updating the thread! Regards. Yordan + diff --git a/sample_embedding_folder2/0755644.txt b/sample_embedding_folder2/0755644.txt new file mode 100644 index 0000000000000000000000000000000000000000..1d771f2f02b58261eb99557fd501b2c8dbbfac8b --- /dev/null +++ b/sample_embedding_folder2/0755644.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2EVM5777: System-link Buffer issue in VSDK3.04, Getting NULL pointer in "bufAddr[0]" + +Query Text: +Part Number: TDA2EVM5777 Tool/software: Linux Hi, I’m in the process of migrating my application running on TDA2x EVM, from VSDK3.03 to VSDK3.04. In brief, I have a chain running as shown: Null_src (A15-Linux) -> ALg_link(EVE) -> Null_sink (A15-Linux) While trying to get the input buffers in Null_sink from the Alg link (EVE), using “System_getLinksFullBuffers”, I’m observing that the bufAddr[0] in the System_VideoFrameBuffer received are pointing to Null. I’m using buffers in in-place mode. The same application is working well under VSDK3.03, however when it is built under VSDK3.04, this issue is seen. Can you please provide your inputs to resolve this issue. Thanks in advance, Regards, Ranjith Bhide + +Responses: +Hi, Can you please check the bufType of the buffer got from System_getLinksFullBuffers in NULL_Sink link. Inside your alg link running on eve, just check the bufaddr when you receive the input and check the same when you send that buffer. Is the alg link is yours or TI? Regards, Anuj + +Hi Anuj, Thanks for the response. This cause of the issue was found. There is a new member variable "hlosTranslationDisable" added to structure System_Buffer, which needs to be initialized to FALSE during init. Failing which the Physical-Virtual address translation was not happenning which was causing this issue. After setting the hlosTranslationDisable field as FALSE for all the system buffers the issue was resolved. Regards, Ranjith Bhide + diff --git a/sample_embedding_folder2/0755699.txt b/sample_embedding_folder2/0755699.txt new file mode 100644 index 0000000000000000000000000000000000000000..89463e397a22df05b97b181562ff6ae871161f48 --- /dev/null +++ b/sample_embedding_folder2/0755699.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: Vision_sdk compile error + +Query Text: +Part Number: TDA2 Hello: The error info is below, I could not find TI_OD_VISION_FXNS anyway. Where can I find "TI_OD_VISION_FXNS" or which lib may be missed? regards # Linking into /home/test/vision_sdk/binaries/vision_sdk/bin/tda2xx-evm/vision_sdk_c66xdsp_1_debug.xe66... undefined first referenced symbol in file --------- ---------------- TI_OD_VISION_FXNS /home/test/vision_sdk/binaries/lib/tda2xx-evm/66/debug/vision_sdk_alg_plugins.ae66 error: unresolved symbols remain error: errors encountered during linking; "/home/test/vision_sdk/binaries/vision_sdk/bin/tda2xx-evm/vision_sdk_c66xdsp_1_debug.xe66" not built make[4]: *** [/home/test/vision_sdk/binaries/vision_sdk/bin/tda2xx-evm/vision_sdk_c66xdsp_1_debug.xe66] Error 1 make[3]: *** [apps] Error 2 make[2]: *** [apps] Error 2 make[1]: *** [vision_sdk_apps] Error 2 make: *** [vision_sdk] Error 2 + +Responses: +Hi Bin Ye, which version is your VisionSDK and what changes you made? Regards, Yordan + +Hi Bin Ye, For "TI_OD_VISION_FXNS" - please grep inside vision_sdk/apps/src/rtos/alg_plugins/objectdetection folder And for library, Could you check inside the object_detect_PATH set in tools_path.mk file (under vision_sdk/build folder like below) ? object_detect_PATH ?= $(TI_SW_ROOT)/algorithms/REL.200.V.OD.C66X.00.06.02.00/200.V.OD.C66X.00.06 Regards Surya + +We have found lib configuration in rules_66.mk as the vision is 2.x, thanks.^_^ + diff --git a/sample_embedding_folder2/0755758.txt b/sample_embedding_folder2/0755758.txt new file mode 100644 index 0000000000000000000000000000000000000000..e79acd2f18bfcc4b85652dc1e72e33453a371828 --- /dev/null +++ b/sample_embedding_folder2/0755758.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: HDMI 1080p@60Hz capture doesn't work + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, I have one question about VSDK 03.02 linux version. I'm wondering if the HDMI 1080p 60Hz capturing is works well when " tda2xx_evm_linux_all" configuration is used. When I tried to do test with "tda2xx_evm_bios_all" configuration, I could see the screen well. Of course, I set the capture source with "HDMI Capture 1080P60" and set the display device as HDMI 1080p from System Setting menu. Please let me know if I do something more. Thanks, BR, Ungsin + +Responses: +Hi Ungsin, HDMI Capture is not supported in Linux version. Please check vision_sdk/docs/VisionSDK_ReleaseNotes.pdf for which usecases are supported in Bios or Linus variants. Regards, Yordan + diff --git a/sample_embedding_folder2/0755770.txt b/sample_embedding_folder2/0755770.txt new file mode 100644 index 0000000000000000000000000000000000000000..9bb3256714a3a3d72e56952656cf79f27b07aee8 --- /dev/null +++ b/sample_embedding_folder2/0755770.txt @@ -0,0 +1,22 @@ +Ticket Name: TDA2: Number of cores + +Query Text: +Part Number: TDA2 Hi Sir, I want to know how many cores are there in the TDA2xx SoC? As per my knowledge, A15(MPU_0 or a0), M4(IPU_0 or m0), M4(IPU_1 or m1), 2 DSP cores, 4 EVE cores. I am right.? Thanks in advance! Regards, Sagar K + +Responses: +Hi Sagar, It depends on the part that you are using. Superset part has the configuration you mentioned. See www.ti.com/.../products.html for details. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +Hi Rishabh, I know that it is TDA2xx but how can I know last XX digit? Like TDA2HG, TDA2HX etc among all these which one I am using how could I know that? Based one last XX I will get to know how many cores are inside. Am I right? Is there written on the SoC? Thank You, Sagar + +Hi Sagar, You can know this information by reading CTRL_WKUP_STD_FUSE_DIE_ID_2[31:24]. Please refer to Data Manual for TDA2xx for all the possible values and their meanings. Regards, Rishabh + +Hi Rishabh, As per your reply, I got these value in CTRL_WKUP_STD_FUSE_DIE_ID_2[31:24] register and referring Data Manual I didn't find any match value. As per the values please let me know which device I am using. Thank You, Sagar K + +Hi Sagar, This is a pre production super set device. Hence you see 0x3F as the value. For production parts this value will be e-fused correctly. Regards, Rishabh + +Hi Rishabh, So, how can I find it that which super set it is? Regards, Sagar + +Hi Sagar, It will match TDA2SXx. Regards, Rishabh + diff --git a/sample_embedding_folder2/0755962.txt b/sample_embedding_folder2/0755962.txt new file mode 100644 index 0000000000000000000000000000000000000000..2a2e5907b1a1f50bfb354887f32674c0a1e72571 --- /dev/null +++ b/sample_embedding_folder2/0755962.txt @@ -0,0 +1,24 @@ +Ticket Name: RTOS/TDA2: Vision SDK 3.5 using multicoreimagegen tool happen Segmentation fault error. + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi expert: I am using Vision SDK 3.5 BIOS version test power consumption. I compile the SDK at linux environment. After i use #make -s allcores at /pdk_01_10_01_06/packages/ti/build/ folder generate all PM-CORE_loading application. I want to combine all image to one APPimage at SD card. If i just use 10 file i can successful generate the image. If i use 11 file Multicoreimagegen tool at /sbl_auto/tools/v1/ folder happen segmentation fault. Could you please help me check this problem? Best Regards! Han Tao /work/vsdk/sdk305/ti_components/drivers/pdk_01_10_01_06/packages/ti/binary/pm_core_loading_app/bin/tda2xx-evm$ ./MulticoreImageGen LE 55 AppImage_LE 0 pm_core_loading_app_a15_0_release.rprc 2 pm_core_loading_app_ipu1_0_release.rprc 3 pm_core_loading_app_ipu1_1_release.rprc 5 pm_core_loading_app_ipu2_0_release.rprc 6 pm_core_loading_app_ipu2_1_release.rprc 8 pm_core_loading_app_c66xdsp_1_release.rprc 9 pm_core_loading_app_c66xdsp_2_release.rprc 10 pm_core_loading_app_arp32_1_release.rprc 11 pm_core_loading_app_arp32_2_release.rprc 12 pm_core_loading_app_arp32_3_release.rprc 13 pm_core_loading_app_arp32_4_release.rprc Number of Input Files 11 Segmentation fault (core dumped) + +Responses: +Hi Tao, Are you running this on Ubuntu 18.04? If yes can you please try the same on Ubuntu 14 or Ubuntu 16. Regards, Rishabh + +Hi Rishabh: Thanks for your quickly feedback. My PC is Ubuntu 12.04. I have copy all .rprc file to windows and use windows tools generate the 11 file's image. It did not work too. Which version of Ubuntu used at your side? I will try to install the same version of Ubuntu as you and try it again. Best Regards! Han Tao + +Hi Tao, This is actually a Multicore Image Generator Tool limitation. In PROCESSOR_SDK_VISION_03_05_00_00\ti_components\drivers\pdk_01_10_01_06\packages\ti\boot\sbl_auto\tools\multicore_image_generator\v2\MulticoreImageGen.c, MAX_INPUT_FILES is defined as 10. Can you please update this macro and generate an executable for multicore image generator tool using gcc. We will fix this in next release. Regards, Rishabh + +HI Rishabh: I change the macro to 12 and Delete MulticoreImageGen.c line 140 debug_printf(). Use Gcc compile this file it can use 11 rprc file. Now just A15-0/IPU1-0/IPU1-1/DSP-1/DSP-2/EVE1 working. IPU2-0/IPU2-1/EVE2/EVE3/EVE4/A15-1 can not run the simulate loading. Believe this problem can be set resolve and waiting you next release. Best Regards! han tao + +Hi Tao, What change did you need for debug_printf? Regards, Rishabh + +Hi Rishabh: directly compile this file have error: so I just delete this line to make the compile can work. Best Regards! han tao gcc -o MulticoreImageGen MulticoreImageGen.c MulticoreImageGen.c: In function ‘main’: MulticoreImageGen.c:140:58: error: macro "debug_print" passed 2 arguments, but takes just 1 debug_print("Number of Input Files %d\n",num_input_files); ^ MulticoreImageGen.c:140:2: error: ‘debug_print’ undeclared (first use in this function) debug_print("Number of Input Files %d\n",num_input_files); ^ MulticoreImageGen.c:140:2: note: each undeclared identifier is reported only once for each function it appears in + +Hi Tao, You are referring to V1 version. V2 version already uses printf for this particular print statement. We will update this as well. Regards, Rishabh + +Hi Rishabh: I use V1. at readme.txt said that V2 used for TDA3x and V1 used for TDA2x. So I use V1 generate tools. Best Regards! Han Tao + +Hi Tao, I am closing the thread as issue has been resolved. Regards, Rishabh + diff --git a/sample_embedding_folder2/0756338.txt b/sample_embedding_folder2/0756338.txt new file mode 100644 index 0000000000000000000000000000000000000000..19d6d84ff074c69ee1a1e1490941894bc4b5df99 --- /dev/null +++ b/sample_embedding_folder2/0756338.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2: Error while running Object Detection use case in hlos + +Query Text: +Part Number: TDA2 Hello Everyone, I ran the use case of object detection in single camera in hlos and I got the following error: [HOST] [HOST ] 439.307417 s: [HOST] [HOST ] 439.307448 s: [HOST] [HOST ] [HOST] [HOST ] Select use-case options, [HOST] [HOST ] ------------------------ [HOST] [HOST ] 1: Enable Pedestrain Detect (PD) [HOST] [HOST ] 2: Enable Traffic Sign Regonition (TSR) [HOST] [HOST ] 3: Enable Vehicle Detect (VD) [HOST] [HOST ] 4: Enable PD+TSR+VD [HOST] [HOST ] [HOST] [HOST ] Enter Choice: [HOST] [HOST ] 1 [HOST] [IPU2 ] 450.403403 s: CAPTURE: Create in progress !!! [HOST] [IPU2 ] 450.403800 s: CAPTURE: VIP2 Slice0 PortA capture mode is [ 8-bit] !!! [HOST] [IPU2 ] 450.403952 s: captdrv/src/vpsdrv_capturePriv.c @ Line 266: [HOST] [IPU2 ] 450.404044 s: Invalid number of streams(0) - Supported max streams 8 [HOST] [IPU2 ] 450.404135 s: Assertion @ Line: 548 in captureLink_drv.c: pInst->captureVipHandle != NULL : failed !!! I request you to help me in resolving this issue. Best Regards, Vijay + +Responses: +Hi, Please don't create duplicate thread. I am already looking into below thread and will provide response there Please close this thread. Regards, Anuj + +Hello Yordan/Anuj, I was able to resolve the issue.I added code for setting capture parameters for CHAINS_CAPTURE_SRC_OV490 in chains_common.c under vision_sdk/apps/src/hlos/common.I am able to do object detection and my use case detects pedestrian,vehicle and traffic signs in hlos. But the object detection stops after sometime with the following error messages displayed continuously in the terminal: SYSTEM: IPC:[DSP1] Notify recvfrom failed !!! SYSTEM: IPC:[DSP1] Notify recvfrom failed !!! SYSTEM: IPC:[DSP1] Notify recvfrom failed !!! SYSTEM: IPC:[DSP1] Notify recvfrom failed !!! I request you to resolve this issue. Best Regards, Vijay + +Hi, After how long you observed this issue? Have you made any changes in any link or the usecase ported from RTOS. Even after getting this log whats the effect on running the usecase? I will suggest to please recheck your changes and try a clean build. Regards, Anuj + +Hello Anuj, The duration was random.When the error occured the display turned green.But during my last data collection activity(I modified the chain for storage of video to a file) there was no error.We can close this thread for now.I hope I don't get this error again. Best Regards, Vijay + +Hi, Thanks for the information. Please verify the answer and close the thread. Regards, Anuj + diff --git a/sample_embedding_folder2/0756492.txt b/sample_embedding_folder2/0756492.txt new file mode 100644 index 0000000000000000000000000000000000000000..686693c13ca26fc0cebd0ad643ba40d277be1d6f --- /dev/null +++ b/sample_embedding_folder2/0756492.txt @@ -0,0 +1,32 @@ +Ticket Name: TDA2: Bsp_deviceRead8 on serializer(UB913) fails with timeout. + +Query Text: +Part Number: TDA2 On my custom HW setup, TDA2X EVM + UB914DES <--> UB913SER + AR0132 Vision SDK 3.03 Communication with Serializer seems to be failing always: [IPU1-0] 9.936375 s: CHAINS: Sensor create in progress [IPU1-0] 9.936558 s: VIDEO_SENSOR: INST1 : I2C1 : I2C Addr = 0x10 [IPU1-0] 9.938052 s: Read8 I2C1: DEV 0x6c: RD 0x06 = 0xb0 [IPU1-0] 9.938418 s: Write8 I2C1: DEV 0x6c: WR 0x01 = 0x04 [IPU1-0] 9.939028 s: Write8 I2C1: DEV 0x6c: WR 0x03 = 0xed [IPU1-0] 9.940065 s: Write8 I2C1: DEV 0x6c: WR 0x06 = 0xb0 [IPU1-0] 9.941377 s: Write8 I2C1: DEV 0x6c: WR 0x07 = 0xe8 [IPU1-0] 9.942017 s: Write8 I2C1: DEV 0x6c: WR 0x08 = 0x30 [IPU1-0] 9.942993 s: Write8 I2C1: DEV 0x6c: WR 0x10 = 0x20 [IPU1-0] 9.944000 s: Write8 I2C1: DEV 0x6c: WR 0x1f = 0x12 [IPU1-0] 9.945068 s: Read8 I2C1: DEV 0x6c: RD 0x06 = 0xb0 [IPU1-0] 9.946501 s: Read8 I2C1: DEV 0x6c: RD 0x07 = 0xe8 [IPU1-0] 9.947081 s: Read8 I2C1: DEV 0x6c: RD 0x1c = 0x03 [IPU1-0] 10.558561 s: src/bsp_deviceI2c.c @ Line 386: [IPU1-0] 10.558683 s: I2C1: DEV 0x74: RD 0x06 ... ERROR !!! [IPU1-0] 10.558775 s: src/bsp_deviceI2c.c @ Line 412: [IPU1-0] 10.558897 s: I2C1: Error timeout 611 ms!!! [IPU1-0] 10.558988 s: src/bsputils_lvds.c @ Line 1083: [IPU1-0] 10.559080 s: device address - 74 i2c error - -21 Any reasons as to why such a timeout occurs in Bsp_deviceRead8 ? Regards, Vivek + +Responses: +Hi Vivek, From the log it shows that you are trying to configure the serializer1 connected on the lvds interface. the file from where the error is generated is \packages\ti\drv\vps\examples\utility\src\bsputils_lvds.c This may not be connected on your custom board and check what sensors you need to configure. Can you check on this? Regards, Prasad + +Hi Vivek, We have not heard back from you. Hope you were able proceed further. Regards, Prasad + +Custom HW is just : UB913SER + AR0132 Tda2x evm + MULTIDES is standard hardware We are still not able to understand why the i2c reads are timing out. + +Hi Vivek, Check the I2C address of the sensor, are you able to talk to UB913? Regards, Sujith + +Hi Sujith, I have not been able to talk to UB913. Whan I read the 0x1C General Status of Deserializer, it indicates Signal detect bit is set for serial input. That is the closest. I tried the same with i2c_utility. Regards, Vivek + +Okay, please check if the UB913 is powered up, use a scope and check please. Regards, Sujith + +Sujith, Cannot use scope on the UB913 since its a closed camera housing. Another piece of information which might help is, The same camera with the same set of required code modification is working fine on Vision SDK 2.09 version. Is there any change in Camera power up / bring-up sequence in newer vision SDK, or in Pin Mux Settings? Regards, Vivek + +Hi Vivek, If the sensor is working in 2.9, can you enable I2C debug flag before the sensor config and disable after that? This should print all the I2C transaction happening. You can compare this with latest version. You can enable using the API Bsp_deviceI2cDebugEnable(). Regards, Prasad + +Prasad, Did that already, no difference between working and non-working set of Read/Writes to configure Deserializer. I2C Transactions are same until write to serializer to reset happens and reading the same leads to timeouts. Regards, Vivek + +Any further Pointers ? Prasad Konnur / Sujith + +Hi Vivek, Can you please list the changes that you had to do get it going on VSDK 2.9. Regards, Sujith + +Sujith, Below is short indicator of files modified: 1. In bsputils_lvds.c a. SER & DES addressing b. gI2cExpParams c. gAR0132DesParams 2. bsp_boardTda2xx.c Not sure If I can share exact customer code. Regards, Vivek + +Hi Sujith / Prasad Konnur We seem to have found the issue. It was with the way IO expander configurations on multi-deserializer are done. I think it has been cleaned up from Vision SDK 2.9 to 3.3. We were missing this Thanks and Regards, Vivek + diff --git a/sample_embedding_folder2/0756823.txt b/sample_embedding_folder2/0756823.txt new file mode 100644 index 0000000000000000000000000000000000000000..0a0aff863723e7d40fb3c82ca2e669eeddf115e2 --- /dev/null +++ b/sample_embedding_folder2/0756823.txt @@ -0,0 +1,10 @@ +Ticket Name: RTOS/TDA2: genereate inHeader(.hdr) file + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, I'm using TDA2x to run the usecase null Src Dec Display and TIDL Object detection using my own input data, every time I run the usecase I got the Decode Error, after reading some other threads from this forum, I noticed that my hdr file contains only zeros which probably cause the Decode Error.(Part of the error is shown below) [IPU1-0] 29.926554 s: DEC_LINK: outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x4400 [IPU1-0] 29.926645 s: DEC_LINK: Sequence called number 1 [IPU1-0] 29.959403 s: DECODE: ERROR: ALGPROCESS FAILED (status=0x00004400) !!! [IPU1-0] 29.959525 s: DEC_LINK: outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x4400 [IPU1-0] 29.959616 s: DEC_LINK: Sequence called number 2 The OS I'm using is Win7 and I compiled my VSDK using MAKECONFIG=tda2xx_evm_bios_all, I download a sizeBin.exe from other thread but it's not working, so how can I generate my own input data to get the usecase to work? Thanks~! + +Responses: +Hi Lyra, can you share how you generated the header file? Also please check if this post can help you: e2e.ti.com/.../2401993 Regards, Yordan + +Hi Yordan, I found out what's wrong and I've got solution. Thanks for your reply. Just remove the string " size=" from the size_extracted.txt and then generate the .hdr + diff --git a/sample_embedding_folder2/0756974.txt b/sample_embedding_folder2/0756974.txt new file mode 100644 index 0000000000000000000000000000000000000000..638777783340d9086aed3f6f3253d866711ab465 --- /dev/null +++ b/sample_embedding_folder2/0756974.txt @@ -0,0 +1,12 @@ +Ticket Name: RTOS/TDA2: TDA2 utils_dcan question + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, we use utils_dcan in SDK_VISION_03_04 and found something strange. we connect our device to the car with OBD connector, we want to read the velocity. the symptom is sometimes we can read the velocity and sometimes we can not read the velocity. and when we can not read, we need to restart the device and re-connect to the car. after some tests, we found the period call function still post event, but this event seems not trigger Utils_dcanTxTsk to send the read command. could you please help to give some hints or possibility to cause this symptom Thanks~~~ + +Responses: +Hi Markii, I have few questions of this sentence 'after some tests, we found the period call function still post event, but this event seems not trigger Utils_dcanTxTsk to send the read command.' 1. Are these number of successful tests before seeing failure point same for each run? 2. This send command is actual a CAN message, right? So you seeing failure with CAN message transmission. Can you explain about the transactions happening in your CAN network? Like general flow of messages. Thanks & Regards, Vivek Dhande. Texas Instruments (India) Pvt Ltd + +Hi Vivek, we enable periodic Tx and set txMsgPeriod_ms as 500 in dcanConfig. normally, we can get velocity every 500ms (Utils_dcanPrdCalloutFcn would do Event_post every 500ms, after event post we can read velocity from RxTsk) but sometimes we can not read the velocity suddenly (previous 500ms is ok), and if this symptom happened, we need to restart our device and re-connect to the car (unplug the connector and plug) we trace the source code and found the Utils_dcanPrdCalloutFcn still post event every 500ms, but the Utils_dcanTxMsg did not finish. and hang on Utils_dcanWaitForTxComplete. this symptom happen very often, we do not know why, could you please help to give us some advisement. Thanks~~ + +Hi Markii, By default automatic re-transmission is disabled in the DCAN demo. Can you please 'pDcanCfgPrms->autoRetransmitDisable' change from 'TRUE' to 'FALSE' in 'utils_dcan.c' file and re-try this application? Looks like your transmission is failing and transmission failing condition is not handled in the app. By enabling re-transmission, CAN controller will keep sending failed message until it succeeds. Thanks & Regards, Vivek Dhande. Texas Instruments (India) Pvt Ltd + diff --git a/sample_embedding_folder2/0757385.txt b/sample_embedding_folder2/0757385.txt new file mode 100644 index 0000000000000000000000000000000000000000..d619975cf084cc623bf5eb02bcf2fba4407fffa8 --- /dev/null +++ b/sample_embedding_folder2/0757385.txt @@ -0,0 +1,40 @@ +Ticket Name: TDA2: Repetitive noise pattern in kernel output + +Query Text: +Part Number: TDA2 Hi, We have written and added a Canny edge detector kernel into the VisionSDK framework. And we are running it on TDA2x board. But I see a repetitive noise pattern in the output. Attaching the input and output image of the same. I do not observe this issue when I run the same code on CCSv5 simulator. The only difference between the simulator and emulator setup is that the emulator uses BAM and iVision for processing. The simulator processes on the full image at a time. 1. Is there any configuration of EDMA or BAM that I might be missing? 2. Has anyone faced such issue before? Any idea what can be triggering this issue? 3. Does this look like BAM issue or kernel processing issue? Regards, Shruti + +Responses: +Hi Shruti, This looks like that you the jump across the blocks is not correct. Can you check if the horizontal and vertical lines are coming at same location as block dimension. I didn't understand the part about the difference between simulator and emulator. What do you mean by simulator processes the full image? Regards, Anshu + +Hi Anshu, Yes, the horizontal lines are at the block boundry, specifically the upper horizontal boundry of each block. When I pass full black input to the kernel, the output is showing these horizontal lines. I am configuring the EDMA with input and output buffer pointers, block width and height, the input and output buffer stride. Is there any other configurations necessary? I am using CCSv5 simulator for EVE. Due to memory restrictions, I cannot run BAM with it. So, it runs the full kernel code without BAM. That is why full image is processed at a time. But on board, I run with BAM, so the input image is fed to the kernel block by block. This is the difference that I was talking about. Regards, Shruti + +Shruti, Are you observing these lines with the canny edge detection code which is part of EVESW offering? Or is it modified code? Your DMA seems to be not programmed correctly. Kindly check the DMA parameter to make sure you have accounted the data overlap across the blocks. Canny edge detection uses 3x3 sobel kernel so there will be a overlap of 2 pixels across each block. Make sure your DMA increments by the correct amount. EVE simulator has same memory restriction as the emulator. There is no issue in running BAM on simulator. So I am still not sure why you say that because its EVE simulator you cannot run BAM. Regards, Anshu + +Hi Anshu, No it is not the part of EVESW offering, the one I am using is the one which we ported. In the modified code, we are using sobel as two 1-D kernels (one vertical and one horizontal), and not a single 3x3 kernel. I will check the DMA configurations once again. Also, while debugging this, I observed one more issue. I have taken one output buffer in BAM, and I am not writing any data onto it, then if I dump this into a file, I see a random pattern in output. 1. Does BAM not clear a buffer before allocating /reallocating a buffer? Or is there any configuration for the same? 2. Is there a way to clear the buffers manually before filling them? Regards, Shruti + +Shruti, Which buffers are you talking about, are these the internal buffers allocated by BAM? Are these buffers allocated by BAM? Btw BAM does not clear any buffer after allocation. Regards, Anshu + +Hi Anshu, Yes, I am talking about the internal as well as output buffers allocated by BAM, for each kernel processing. Is there a way to clear them? Or it should be handled through code? Regards, Shruti + +Shruti, If I understand correctly you want to initialize one of the output buffer of a BAM node with certain values (I am not very clear on why you need this). You can do this in the _init function of the BAM node at which this buffer is allocated. Regards, Anshu + +Dear Anshu Feroz here. Just to be very clear: The team is not working on the EVE simulator on VC++ environment. They are just using the EVE core simulator on the CCS. I do not believe either that we need to reset/zero the buffers before process. I'd assume that the process will overwrite the full buffer anyway. IS there a note / section on the DMA configuration that the team can follow? Can you please share that? Would you think there could be a caching issue? perhaps missed write backs or the like? I suggested we could disable caches for debug. Other thing that I can think of is the algorithm logic itself. So it would be one way to dump the o/p buffers across the chain and narrow down the faulty link. We should also retry with a smaller image say 320X240 or VGA to see if its to do with any real time mismatch or synchronization issue. Best Regards Feroz + +Hi Feroz, I was talking about EVE simulator which you use via CCS. It's behavior is very close to the actual emulator and there is no problem in running BAM on it. I would suggest to look into current edge detector ( canny) to see the dma configuration. I think it should be very similar for what you guys are trying to do. EVE doesn't have any data cache so it doesn't even come into picture. Regards, Anshu + +Many Thanks Anshu for clarifying! We will look into this and update. Best Regards Feroz + +Hi Feroz, I hope your team were able to make progress on this. If not then let us know. Regards, Anshu + +Hi Anshu, Sorry for the delayed response. We are still not able to resolve this issue. We tried seeing the DMA configurations and they are correct. Currently, one of our kernels from the graph is running on ARP32 and rest all kernels are running on EVE. So, we are suspecting that there might be some data corruption between the context switching between ARP32 and VCOP. As of now, we are debugging the same. Can you give us some pointers regarding this? Regards, Shruti + +Shruti, I think you already have another thread in which Victor is responding. Lets continue the discussion there instead of in this thread. Regards, Anshu + +Sure Anshu. We can continue this in the other thread. Regards, Shruti + +Thanks a lot Anshu! Yes the issue is being addressed/handled at https://e2e.ti.com/support/processors/f/791/t/759778?tisearch=e2e-sitesearch Seems like a address memory map issue. I hope resolving that issue will resolve these macro block boundary level artefacts. BTW, we also observe the artefacts for a plain black image too. + +Hi Feroz, Can we close this thread as this issue is being discussed in another thread? If later it is required to be open then you can re-open again. Regards, Anshu + +Dear Anshu Yes sir. please lets close this. Appreciate your support Best Regards Feroz + diff --git a/sample_embedding_folder2/0757723.txt b/sample_embedding_folder2/0757723.txt new file mode 100644 index 0000000000000000000000000000000000000000..6da69c5ba2d3e77c2477832bd3d028d94bf603a3 --- /dev/null +++ b/sample_embedding_folder2/0757723.txt @@ -0,0 +1,50 @@ +Ticket Name: RTOS/TDA2: Build eve host emulation failed + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, I met error when I build eve host emulation with command "gmake TARGET_BUILD=PC". The error information is as below, ... --> error: cannot open archive: 'lib/PC/libeveprivkernels.eve.lib' .. I build successfully when I build target version with command "gmake TARGET_BUILD=debug". If anyone can help? Thanks! BRs Yang Derek + +Responses: +Hi For host emulation you have to build using following command : gmake TARGET_PLATFORM=PC Regards, Anshu + +Hi Anshu, Sorry for making you confused. I built with the command "gmake TARGET_PLATFORM=PC". It was typo error in the question. Thanks! Best Regards, Derek Yang + +Hi Derek, Are you trying to build EVE SW delivered by TI or have you made any modifications. The host emulation libraries are available at following location : \kernels\lib\release\libevekernels.eve.lib_pc.lib But the error message you are sharing a different path: 'lib/PC/libeveprivkernels.eve.lib Can you check why it is looking at different path? Regards, Anshu + +Hi Derek, Were you able to make progress on this? If not then do let us know. Regards, Anshu + +Hi Anshu, Thanks for your reply. I still don't enable the emulation successfully. When I build with "gmake TARGET_PLATFORM=PC" in my windows laptop, I meet error "LINK : fatal error LNK1104: cannot open file 'D:\PROCESSOR_SDK_VISION_03_05_00_00\ti_components\algorithms\REL.DMAUTILS.00.08.00.02\dmautils/libs/PC/eve/debug/dmautils.lib'". I checked my installing dir. There is no this dir. Would you please help to share the "PC/eve/debug/dmautils.lib'"? Thanks! BRs Yang Derek + +Hi Anshu, The error happens when I build in my Linux develop machine. I build under directory "ti_components\algorithms\eve_sw_01_19_00_00". I only change a filter kernel. And don't change others. If the emulation is only supported in Windows? Thanks! BRs Yang Derek + +Hi Anshu, Actually, I want to check what is the output when I compare two vectors. For example, if I set vector a = [0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7]; vector b = [0xfff1, 0xff01, 0xff02, 0xffff, 0xff01, 0xff02, 0xffff, 0xffff ], what is the result c = a > b ? If it is [0, 1, 1,0, 1, 1, 0, 0 ] ? Thanks a lot! BRs Yang Derek + +Hi Derek, I am a bit confused whether you are facing issue in windows build or linux build. In previous response you mentioned that you are building in windows and getting following error : D:\PROCESSOR_SDK_VISION_03_05_00_00\ti_components\algorithms\REL.DMAUTILS.00.08.00.02\dmautils/libs/PC/eve/debug/dmautils.lib'". I checked my installing dir. There is no this dir. Would you please help to share the "PC/eve/debug/dmautils.lib'"? If the above library is not already present then you might have to re-build it. For host emulation you will need to build DMA Utils in host emulation using Visual Studio compiler. Please refer docs/DMAUtilsLibrary_UserGuide section 3.3.3 for the same. Currently we don't support host emulation build on Linux. Regards, Anshu + +Hi Derek, Please create new threads for different queries. Comparison operation does an element wise comparison of all the 8 elements of the vectors and returns a vector holding the comparison for each elements of the vector. Regards, ANshu + +Hi Anshu, Thanks for your reply. I tried in Linux first and failed. In eve guide, I find guide eve_sw_getting_started mentions the emulation is supported with Visual Studio. Then I tried it in Windows. I will try to rebuild DMA Utils. Thanks! Best Regards, Derek Yang + +Hi Anshu, Thanks for your reply. I have created a new question to follow the compare question. Best Regards, Derek Yang + +Hi Anshu, I rebuild DMA Utils and algframework. The build comes to next step. There is one test app build successfully, apps/morphology/test. But the other apps build fail. The error information is as following. ... ======== Integral Image TEST ================= gmake -C ./integralImage/test -f makefile gmake[2]: Entering directory `D:/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/algorithms/eve_sw_01_19_00_00/apps/integralImage/test' algframework.lib(bam_utils.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in integral_image_test.obj algframework.lib(bam_utils.obj) : error LNK2005: "public: __thiscall std::_Container_base12::_Container_base12(void)" (??0_Container_base12@std@@QAE@XZ) already defined in msvcprtd.lib(MSVCP110D.dll) algframework.lib(bam_utils.obj) : error LNK2005: "public: __thiscall std::_Container_base12::~_Container_base12(void)" (??1_Container_base12@std@@QAE@XZ) already defined in msvcprtd.lib(MSVCP110D.dll) ... Here is the path configure of my algframework. ... DSP_TOOLS ?="D:\ti\ccsv5\tools\compiler\c6000_7.4.4" ARP32_TOOLS ?="D:\PROCESSOR_SDK_VISION_03_05_00_00\ti_components\cg_tools\windows\arp32_1.0.7" TIARM_TOOLS ?="D:\PROCESSOR_SDK_VISION_03_05_00_00\ti_components\cg_tools\windows\ti-cgt-arm_16.9.2.LTS" XDAIS_PATH ?="D:\ti\xdais_7_21_01_07" UTILS_PATH ?="D:\ti\ccsv5\utils\cygwin" VXLIB_PATH ?="D:\work\DSP\vxlib" DMAUTILS_PATH ?=$(ALGBASE_PATH)/dmautils ALGFRAMEWORK_PATH ?=$(ALGBASE_PATH)/algframework ... Path configure of eve. ... ARP32_TOOLS ?= "D:\PROCESSOR_SDK_VISION_03_05_00_00\ti_components\cg_tools\windows\arp32_1.0.7" xdais_PATH ?= "D:\ti\xdais_7_21_01_07" DMAUTILS_PATH ?= "D:\PROCESSOR_SDK_VISION_03_05_00_00\ti_components\algorithms\REL.DMAUTILS.00.08.00.02\dmautils" ... Do you have any suggestion? Best Regards, Yang Derek + +Derek, Which version of visual studio you are using? Building host emulation for these modules requires Microsoft Visual Studio 11.0 (2012). Regards, Anshu + +Hi Anshu, I use "Microsoft Team Explorer for Visual Studio 2012". In my installing directory, PROCESSOR_SDK_VISION_03_05_00_00, there are three tools, arp32_1.0.7, C6000_7.4.2, ti-cgt-arm_16.9.2.LTS in D:\PROCESSOR_SDK_VISION_03_05_00_00\ti_components\cg_tools\windows. There other tools, XDAIS_PATH, UTILS_PATH, are installed separately. Do you have any other suggestion? Best Regards, Derek Yang + +Derek, As asked earlier, can you tell which version of Microsoft visual studio compiler you are using? Regards, Anshu + +Derek, Can you share the following file present inside algframework : (makesrules/rules.mk)? Regards, Anshu + +Hi Anshu, I use "Microsoft Visual Studio Express 2012 for Windows Desktop version 11.0.50727.42" + +Hi Anshu, Here is the rules.mk under algframework directory. Thanks! BRs Derek Yangrules.mk.123 + +Hi Derek, What is the version of algframework which you are using? For now can you just change the following two lines in algframework and rebuild it again? Change Line 156 : COMPILER_FLAGS += /EHsc /TP /W0 /DHOST_EMULATION /c /nologo /Ox /D_NDEBUG /MT /Gm /Zi /D_HOST_BUILD /D_HAS_ITERATOR_DEBUGGING=0 /D_ITERATOR_DEBUG_LEVEL=0 to COMPILER_FLAGS += /EHsc /TP /W0 /DHOST_EMULATION /c /nologo /Ox /D_NDEBUG /MD /Gm /Zi /D_HOST_BUILD /D_HAS_ITERATOR_DEBUGGING=0 /D_ITERATOR_DEBUG_LEVEL=0 Change Line 160 : COMPILER_FLAGS += /EHsc /TP /W0 /DHOST_EMULATION /c /nologo /Od /D_DEBUG /MTd /Gm /Zi /RTC1 /D_HOST_BUILD to COMPILER_FLAGS += /EHsc /TP /W0 /DHOST_EMULATION /c /nologo /Od /D_DEBUG /MDd /Gm /Zi /RTC1 /D_HOST_BUILD Regards, Anshu + +Hi Anshu, My algframework is "REL.ALGFRAMEWORK.02.08.00.00". It is installed when I install sdk "PROCESSOR_SDK_VISION_03_05_00_00". I will try your suggestion later. Thanks! Best Regards, Derek Yang + +Hi Anshu, I build successfully after changing rules.mk according to your suggestion. Why change this? Thanks a lot! Best Regards, Derek Yang + +Hi Derek, The release number of algframework which you mentioned is expected to use /Md and /MDd flags. The change to /MT flag was done in a later release. So I need to check the two are different. Regards, Anshu + diff --git a/sample_embedding_folder2/0757822.txt b/sample_embedding_folder2/0757822.txt new file mode 100644 index 0000000000000000000000000000000000000000..289b0012b10b045b0024a4361a961451da1e214d --- /dev/null +++ b/sample_embedding_folder2/0757822.txt @@ -0,0 +1,20 @@ +Ticket Name: RTOS/TDA2: Does dmaSwMs link supports resizing and then display frame? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hello, I want display two different frames at a time using dmaswms link. I observed that, dmaswms link crops the frame as per given parameter and then displays cropped frame. But I want to display a resized frame. So, does dmaSwMs link supports resizing and then display frame? Currently parameters are set as, Alg_swmsPrmObj->maxOutBufWidth = 1920; Alg_swmsPrmObj->maxOutBufHeight = 1080; Alg_swmsPrmObj->numOutBuf = 5; Alg_swmsPrmObj->useLocalEdma = FALSE; Alg_swmsPrmObj->initLayoutParams.numWin = 1; Alg_swmsPrmObj->initLayoutParams.outBufHeight = 1920; Alg_swmsPrmObj->initLayoutParams.outBufWidth = 1080; Alg_swmsPrmObj->initLayoutParams.winInfo[0].chId = 0; Alg_swmsPrmObj->initLayoutParams.winInfo[0].height = 500; Alg_swmsPrmObj->initLayoutParams.winInfo[0].width = 500; Alg_swmsPrmObj->initLayoutParams.winInfo[0].inStartX = 0; Alg_swmsPrmObj->initLayoutParams.winInfo[0].inStartY = 0; Alg_swmsPrmObj->initLayoutParams.winInfo[0].outStartX =100; Alg_swmsPrmObj->initLayoutParams.winInfo[0].outStartY =100; Regards, Kajal + +Responses: +Hi Kajal, You can resize using the display link and then use that as a input for SwMs. Which use case are you trying to run? You can see \apps\src\rtos\usecases\lvds_vip_multi_cam_view_tda3xx\chains_lvdsVipMultiCam_Display_tda3xx.c as an example. Regards, Rishabh + +Hello Rishab, As per my knowledge, vpe link do resizing. How to do resizing with display link? Also dmaswms link requires input as composite buffer. Regards, Kajal + +Hi Kajal, Both VPE and DSS can do the scaling. In display link you need to set a different tarWidth and tarHeight for scaling. Regards, Rishabh + +Hello Rishabh, You : You can resize using the display link and then use that as a input for SwMs. >>1. What about dmaSwMs link, because it requires composite buffer as input. 2. Display cannot outputs any buffer, the how come output of display link will goto dmaSwMs link? Also suggested use case by you ( \apps\src\rtos\usecases\lvds_vip_multi_cam_view_tda3xx\chains_lvdsVipMultiCam_Display_tda3xx.c) doesn't have scenario where resized output by display is given to dmaSwMs link. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// You: In display link you need to set a different tarWidth and tarHeight for scaling. >>Setting tarHeight and tarWidth parameters of display link doesn't give me resized frame. Regards, Kajal + +Hi Kajal, I meant DSS M2M WB link. Can you try to set different output width & height? One example is setting pPrm->chParams[chId].outParams[0].width in PROCESSOR_SDK_VISION_03_05_00_00\vision_sdk\apps\src\rtos\usecases\lvds_vip_multi_cam_view\chains_lvdsVipMultiCam_Display.c Regards, Rishabh + +Hello Rishabh, One example is setting pPrm->chParams[chId].outParams[0].width in PROCESSOR_SDK_VISION_03_05_00_00\vision_sdk\apps\src\rtos\usecases\lvds_vip_multi_cam_view\chains_lvdsVipMultiCam_Display.c >>This parameter is set for vpe link. I am working for single channel camera. First using VPE link we need to resize frame and then give it to swms link and then display link . This flow works for me. Thank you for your suggestions! Regards, Kajal + +Hi Kajal, Glad that your issue is resolved. Please mark the posts that help you to resolve the issue as "This resolved my issue". Regards, Rishabh + diff --git a/sample_embedding_folder2/0758034.txt b/sample_embedding_folder2/0758034.txt new file mode 100644 index 0000000000000000000000000000000000000000..e2604d94408869965c59c31722df1a4e22c88c84 --- /dev/null +++ b/sample_embedding_folder2/0758034.txt @@ -0,0 +1,16 @@ +Ticket Name: RTOS/TDA2: EDMA3 read qspi flash + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS on TDA2S ,run RTOS, i want to use edma read qspi flash , i remap flash to 0x5C000000, used Utils_dmaCopy1D function to read flash, but read some datas is error , all error data is 0,i use pc read(memcpy) is all right, what is wrong with this? + +Responses: +Hi, You can use System_qspiReadSector API present in PROCESSOR_SDK_VISION_03_05_00_00\vision_sdk\links_fw\src\rtos\utils_common\src\utils_qspi.c. Regards, Rishabh + +HI thanks your reply, System_qspiReadSector is not used EDMA, i want to use edma, + +Hi i found mlo use QSPI_ReadSectors_edma read qspi flash ,and i compare the QSPI_ReadSectors_edma() and Utils_dmaCopy1D, these two functions have little difference , how can i used QSPI_ReadSectors_edma in appliation level? + +Hi, For EDMA you can refer to API Utils_qspiReadSectorsEdma in PROCESSOR_SDK_VISION_03_05_00_00\vision_sdk\links_fw\src\rtos\utils_common\src\tda3xx\utils_boot_slaves.c. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0758118.txt b/sample_embedding_folder2/0758118.txt new file mode 100644 index 0000000000000000000000000000000000000000..3b48e6c78cab6ec93ae5f57de6c80b9e266c2249 --- /dev/null +++ b/sample_embedding_folder2/0758118.txt @@ -0,0 +1,16 @@ +Ticket Name: RTOS/TDA2: Core clock initialization + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, In VSDK3.3 example program "apps", I can not find clock initialization. In BIOS configuration script BIOS.cpuFreq is set to 750MHz, and in the C files I can only find program reads this configuration(by call BIOS_getCpuFreq), but program setting PRCM registers can not be found. So how is each core clock initialized? Thanks®ards. + +Responses: +Hi Yang, PRCM is configured by SBL using PM HAL library APIs. You need to see PROCESSOR_SDK_VISION_03_03_00_00\ti_components\drivers\pdk_01_09_00_17\packages\ti\boot\sbl_auto\sbl_app\src\tda2xx\sbl_tda2xx_main.c and see DPLL calls. Regards, Rishabh + +Hi Rishabh, OK. So BIOS.cpuFreq in BIOS configuration script is only used to tell OS that the core clock frequency configured by SBL, am I right? + +Hi Yang, BIOS.cpuFreq in BIOS configuration script is used to tell the particular CPU's frequency to the OS. It can be configured by anyone, in this case it is configured by SBL. Regards, Rishabh + +Hi Rishabh, OK. Thank you! + +Hi Yang, I am closing the thread as issue has been resolved. Regards, Rishabh + diff --git a/sample_embedding_folder2/0758161.txt b/sample_embedding_folder2/0758161.txt new file mode 100644 index 0000000000000000000000000000000000000000..9962698b6088f0dcc2a76af043bdca1023323614 --- /dev/null +++ b/sample_embedding_folder2/0758161.txt @@ -0,0 +1,24 @@ +Ticket Name: RTOS/TDA2: Understanding of statistics shown by GRPX : CPU loads + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS I have some queries regarding utilization of each processor/CPU in % given by statistics. 1. On what basis that % count is decided for a processor? 2. Except processing a frame , what else particular CPU do ( to increase % utilization )? 3. What is mean by each term, below highlighted part ? [IPU1-0] 67.555725 s: CPU [EVE1 ] Statistics, [IPU1-0] 67.555786 s: ************************* [IPU1-0] 67.555847 s: [IPU1-0] 67.555908 s: LOAD: CPU: 26.3% HWI: 1.5%, SWI:0.2%, Low Power: 63.5% [IPU1-0] 67.556091 s: [IPU1-0] 67.556152 s: LOAD: TSK: SYSTEM_TSK_MULTI_MBX: 24.4% [IPU1-0] 67.556243 s: LOAD: TSK: MISC : 0.2% [IPU1-0] 67.556335 s: Regards, Kajal + +Responses: +Hi Kajal, CPU load is decided on basis of time when CPU is processing data vs the idle time. Total CPU utilization can be increased by adding any extra processing that you might need for your use case. It can be as simple as a CPU memcpy. Total CPU utilization is sum of HWI+SWI+SYSTEM_TSK_MULTI_MBX+MISC. Low power percentage is amount of time a particular CPU spends in low power mode. Hope this clarifies. Regards, Rishabh + +Thank you Rishabh for clear explanation. May I know meaning of HWI+SWI+SYSTEM_TSK_MULTI_MBX+MISC. Do we have any reference document for these terms? Regards, Kajal + +Hi Kajal, You can find HWI and SWI in bios documentation (search in All Modules in cdoc). SYSTEM_TSK_MULTI_MBX is defined in links_common. You can search the code to how it is used by IPC. MISC are miscellaneous tasks. Regards, Rishabh + +Hello Rishabh, In my 2nd query i.e 2. Except processing a frame , what else particular CPU do ( to increase % utilization )? I meant including processing a frame what else a processor do? so that it's utilization is increases. Regards, Kajal + +Hi Kajal, You can start more tasks on a processor to increase the utilization. You need to keep in mind that power will increase with increase in CPU load. Hope this helps. Regards, Rishabh + +Hi Rishabh, I mean in opposite way ( I don't want to increase utilization rather why it gets increase is my query). For Example. 1. capture -> alg1( EVE1) -> Display In this use case it is taking 20% EVE1 utilized . ---------------------- 2. Capture -> Dup Dup->alg1(EVE1)->Merge Dup->alg2(EVE2)->Merge->sync->Display In this use case it is taking 45% EVE1 utilized . ---------------------- I found difference in utilization( although both EVEs processing a frame, just chain structure is different). So my query is, except frame processing what else processor( EVE1 in above example) do? Hope this clarify my query. Regards, Kajal + +Hi Kajal, You can print statistics using "p" while running both use cases and find the tasks that are using EVE1 and compare. Regards, Rishabh + +Thank you for the information. Regards, Kajal + +Hi Kajal, Closing the thread as issue has been resolved. Regards, Rishabh + diff --git a/sample_embedding_folder2/0758164.txt b/sample_embedding_folder2/0758164.txt new file mode 100644 index 0000000000000000000000000000000000000000..6fb4223c2aee5023ff96f2a9a5d22fb2c32ba174 --- /dev/null +++ b/sample_embedding_folder2/0758164.txt @@ -0,0 +1,30 @@ +Ticket Name: TDA2: Model import and inference on TDA2XX + +Query Text: +Part Number: TDA2 Hi, I have designed and trained my own model which is a classifier plus Jacinto SSD to detect cats & dogs in images. Following are the model's details: 1. Input resolution: 512 x 512 2. Number of layers: 50 [I have verified that configurations to all layers are within the limits mentioned in TIDeepLearningLibrary_UserGuide.pdf ] 3. Total GMACs: 1.1497 4. Processor Vision SDK version: 03.05 5. Number of classes: 2 [Cat & Dog] I can perform Caffe inference using this model on PC and the output is as expected. However, once model is imported successfully using Import Tool; it inferences erroneously on TDA2XX using TIDL OD library. I observe too many false positives. I can only see dog is getting detected NOTE: Visualisation script experienced invalid co-ordinates for detected objects. I have attached below files from my end. Please look into these and share your inputs to rectify object detection outputs. deploy.prototxt Import Config.txt [ Import Configuration File] Import Logs.txt dog_512x512.y [Input Image] cat_dog_ssd120000.caffemodel NET_OD.BIN PRM_OD.BIN Regards, Premchand Cat_Dog_SSD.zip + +Responses: +Hi, To add, the model was trained using Caffe Jacinto framework. Please find additional attachments as follows: Cat_Dog_Inference_Desktop.mp4 [Model inference using Caffe on the desktop machine.] Cat_Dog_SSD_Inference.jpg [Model inference using TIDL Inference on TDA2XX ] Regards, Premchand + +Please find attached folder for previous post. Cat_Dog_Inference.zip + +Hi, Could you try below.. 1. Can you display only strong objects from output, that is objects with score >0.3 only and check the output display 2. Can you change "quantRoundAdd" to 50 (default value) in the import config and check Thanks, Praveen + +Hi Praveen, 1. I have already been displaying strong objects i.e. score > 0.3. 2. I changed "quantRoundAdd" to 50 in import config. This did not resolve issue on TDA2X however, I observed that detected bounding boxes with visualization code are within the limit of the image of resolution. Additionally, I tried out few more combinations in import config today which are as follows: "quantRoundAdd" to 50 and "numParamBits" to 10. "quantRoundAdd" to 50 and "numParamBits" to 8. Configured layers with size less than 64 X 64 to have dense convolution. Neither of these combinations resolved my issue. Regards, Premchand + +Hi, Is there any update on this? Regards, Premchand + +Can you try setting below create time parameter createParams.quantMargin = 30; + +Hi, It did not resolve the issue. However, I observed that earlier random false detections were for Dog and now it is for Cat. FYI, I had set parameters as follows: quantHistoryParam1 = 20 quantHistoryParam2 = 10 quantMargin = 30 Please find attached image for detection results. + +Is the network produces expeted result during import step for possitive sample? Is the network produces expeted result in SDK usecase for possitive sample? Is this issue specific to false dtection in negative smaple? + +Hi Kumar, 1. The network produces somewhat positive result to positive sample during the import step. Please find below output for the same. 2. Network does not produce expected result in SDKuse case for a positive sample. Please find below output for the same. 3. The issue is not specific to just negative samples on TDA2XX, issue is also regarding reasonable detections for positive samples as well. + +Can you try this cat image with import step and confirm the behavior. + +Hi Kumar, I tried this cat image with import step but the detection is not similar to detection for cat image on TDA2XX. Please find below image. Legend for rectangle color: Green -- Dog Red -- Cat Regards, Premchand + +Refer below issue in caffe-jacinto and make sure you get expected accuray when you quantize the floating point network github.com/.../11 github.com/.../29 github.com/.../26 Ans then refer the section 3.8 in uers guide to match the result with caffe jacinto. you can aslo refer FAQ 13 + diff --git a/sample_embedding_folder2/0758255.txt b/sample_embedding_folder2/0758255.txt new file mode 100644 index 0000000000000000000000000000000000000000..6c8da0b3b00d575b913e65c96cd37eb9e95ec0b1 --- /dev/null +++ b/sample_embedding_folder2/0758255.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: how to use EDMA_UTILS_autoIncrement_triggerInChannel_v2 + +Query Text: +Part Number: TDA2 Tool/software: Linux I am using TDA2 evm SDK_VISION_03_04_00_00 i am try to copy data using pingpang EDMA biasDmaAutoIncrement_Init and EDMA_UTILS_autoIncrement_triggerInChannel_v2. in L2 pOutBufInt[2] each buffer size is width =9 height=1024 outbuf in DDR size is width =216 height=1024 how can i set biasDmaAutoIncrement_Init ? channels==24 blkWidth_out==9 blkHeight_out==1024 type of data is float. follow is what i set ,it deos not work ! initParamV2.initParams.transferProp[1].roiWidth = blkWidth_out * 4 * channels; initParamV2.initParams.transferProp[1].roiHeight = blkHeight_out ; initParamV2.initParams.transferProp[1].roiOffset = 0; initParamV2.initParams.transferProp[1].blkWidth = blkWidth_out * 4; initParamV2.initParams.transferProp[1].blkHeight = blkHeight_out; initParamV2.initParams.transferProp[1].blkOffset = 0; initParamV2.initParams.transferProp[1].extBlkIncrementX = blkWidth_out * 4; initParamV2.initParams.transferProp[1].extBlkIncrementY = 0; initParamV2.initParams.transferProp[1].intBlkIncrementX = 0; initParamV2.initParams.transferProp[1].intBlkIncrementY = 0; initParamV2.initParams.transferProp[1].extMemPtrStride = blkWidth_out * 4* channels ; initParamV2.initParams.transferProp[1].interMemPtrStride = blkWidth_out * 4; initParamV2.initParams.transferProp[1].extMemPtr = (uint8_t *)(outBufExt); initParamV2.initParams.transferProp[1].interMemPtr = (uint8_t *)(outBufInt[0]); initParamV2.initParams.transferProp[1].dmaQueNo = 1; thanks! Shuai + +Responses: +Hi Shuai, sorry for the delayed responce. Can you check chapter "4.2.2 EDMA Utility Autoincrement V2" in PROCESSOR_SDK_VISION_03_05_00_00\ti_components\algorithms\REL.DMAUTILS.00.08.00.02\dmautils\docs\DMAUtilsLibrary_UserGuide.pdf and also the example in "ti_components\algorithms\REL.DMAUTILS.00.08.00.02\dmautils\test\edma_utils_autoincrement_test" and see if it helps? Regards, Yordan + diff --git a/sample_embedding_folder2/0758617.txt b/sample_embedding_folder2/0758617.txt new file mode 100644 index 0000000000000000000000000000000000000000..47f2301e91fc7411fce600772b98408a2fa72d33 --- /dev/null +++ b/sample_embedding_folder2/0758617.txt @@ -0,0 +1,10 @@ +Ticket Name: RTOS/TDA2: Change IVAHD encoding method from H264 to MJPEG + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi How can i modify the IVAHD encoding parameters to enable/change encoding from H264 to mjpeg. Is there any example that shows mjpeg encoding configuration. Regards Mayank + +Responses: +Hi, Please refer the below file vision_sdk\apps\src\rtos\usecases\vip_single_cam_view_encdec\chains_vipSingleCam_EncDec_Display.c check chains_vipSingleCam_EncDec_Display_SetEncPrms() function. Regards, Anuj + +Hi, Its been since any update on this thread. I hope the issue is resolved. Regards, Anuj + diff --git a/sample_embedding_folder2/0758634.txt b/sample_embedding_folder2/0758634.txt new file mode 100644 index 0000000000000000000000000000000000000000..517ba7125f35415693eb5cd788d5f8fc7cdf1736 --- /dev/null +++ b/sample_embedding_folder2/0758634.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Issue for building the Test Application Executable through GMAKE + +Query Text: +Part Number: TDA2 Hi, I am trying to dump TIDL intermediate output in floating point by enabling "ENABLE_FLOAT_TRACE" in import tool source code. But while building test application encountered an error that is, " The system cannot find the path specified. gmake: *** [C:\PROCESSOR_SDK_VISION_03_05_00_00\ti_components\algorithms\REL.TIDL.01.01.02.00\out\vayu\eve\release\modules\ti_dl\test\.\src\report_utils.obj] Error 1 " TIDL build path: C:\PROCESSOR_SDK_VISION_03_05_00_00\ti_components\algorithms\REL.TIDL.01.01.02.00\modules\ti_dl\test Please find attached console image for your reference. Please guide to remove this error. Regards, Gouri P. + +Responses: +HI, As this is the duplicate the thread for the below thread and so closing this thread, please post follow up questions in that thread. e2e.ti.com/.../2802698 Thanks, Praveen + diff --git a/sample_embedding_folder2/0758664.txt b/sample_embedding_folder2/0758664.txt new file mode 100644 index 0000000000000000000000000000000000000000..6e863d739b28d48a40266ecb8bf101d4002b7ec8 --- /dev/null +++ b/sample_embedding_folder2/0758664.txt @@ -0,0 +1,18 @@ +Ticket Name: RTOS/TDA2: Bottom Part of the video cropped when running the TIDL object detection usecase + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hello, I'm running the TIDL object detection usecase, and usecase is running fine only with a small problem here: My original input file is .MP4 with resolution 1920*1080, and I make it to .h264 with resolution 768*320, I played the .h264 file using VLC media player and the display is good, but when I use the file to run the object detection usecase, the bottom of the video is cropped, and I'm sure there is no resolution problem in the code or the cfg file in my SD card. I've attached my .h264 file for reference(remove the .txt before use), please pay attention the bottom left part when display it.outfile.h264.txt + +Responses: +Hi, I hope you have not modified anything in usecase or any links. You just have created your input and index file and modify the names in cfg file placed in sd card. can you share a snapshot/picture of your display while running this usecase? Regards, Anuj + +Hello Anuj, Thanks for your reply, I'm sure I didn't modified anything in the usecase or links...I'm still getting familiar with it... Here is the snapshot, 1.png is the h264 data I generated on PC and I played it with VLC media player, 2.png is the photo I take when I run the TIDL usecase with TDA2, you can see from the bottom left some part is missing. snapshot.rar + +Hi, Can you try with the default provided files. Regards, Anuj + +Hi, I don't have a CDDS account so I have no default inData_OD and inHeader_OD files. Thanks. + +Hi, Can you try to run the usecase NullSrc decode display(option 1->n in usecase menu) with your input files and see there you see the full video or not? Regards, Anuj + +Hi, Its been a long time since any update on this thread. I hope this issue is resolved. Regards, Anuj + diff --git a/sample_embedding_folder2/0759229.txt b/sample_embedding_folder2/0759229.txt new file mode 100644 index 0000000000000000000000000000000000000000..ea307540b363b9ed8f752b88442ac24be120a0b3 --- /dev/null +++ b/sample_embedding_folder2/0759229.txt @@ -0,0 +1,90 @@ +Ticket Name: TDA2: EVE: Issues in transfer of data between different kernels + +Query Text: +Part Number: TDA2 Hi, I have created an application in EVE which uses 6 kernels for the processing. The application is written using iVision and BAM interfaces. So, BAM creates a graph for the execution flow through all 6 kernels. There are two buffers output from kernel2 which are passed as input to kernel3. But I observe a peculiar behavior in this data transfer. I have filled the output buffers with zero in the kernel2 execution function. But when the control comes in kernel3 execution function, if I check the value of the buffers, one out of the two buffers is non-zero. I tried changing the memory region of the buffers, but that does not help. I also swapped the two buffer addresses. But every time the same output buffer is affected, whether I swap it or change its memory location. Can anyone help me with this problem? Regards, Shruti + +Responses: +Hi Shruti, Can you share the NODELIST and EDGELIST of your BAM graph? Regards, Anshu + +Hi Shruti, We haven't heard back from you on this? Were you able to make progress? Regards, Anshu + +Hi Anshu, I found a workaround to run the usecase. But for the workaround I replicated the output buffers of one kernel, and passed it to the other kernels as an input. The buffers are not shared. This removed the noise which I was getting in the ouput. But the kernel overhead increased as it had to copy the same output data into different kernels. Is this a limitation of BAM? Is it mentioned in any document? Are there any other limitations of BAM, which may cause such issues? Regards, Shruti + +Hi Shruti, As requested earlier, can you share the NODELIST and EDGELIST of your BAM graph? Regards, Anshu + +Hi Anshu, The Node and edge list: BAM_NodeParams NODELIST[]={\ + {SOURCE_NODE, BAM_TI_KERNELID_DMAREAD_AUTOINCREMENT , NULL}, + {GAUSSIAN_NODE, BAM_TI_KERNELID_GAUSSIAN_BLUR , NULL}, + {DERIVATIVE_NODE, BAM_TI_KERNELID_DERIVATIVE_XY , NULL}, + {DIVISION_NODE, BAM_TI_KERNELID_DIVISION , NULL}, + {MAGNITUDE_NODE, BAM_TI_KERNELID_MAGNITUDE_XY , NULL}, + {NON_MAX_SUPP_NODE,BAM_TI_KERNELID_NON_MAX_SUPP , NULL}, + {HYSTERESIS_NODE, BAM_TI_KERNELID_HYSTERESIS , NULL}, + {SINK_NODE, BAM_TI_KERNELID_DMAWRITE_AUTOINCREMENT, NULL}, + {BAM_END_NODE_MARKER, 0, NULL},\ + }; + + NODELIST[SOURCE_NODE].kernelArgs = (void *)&graphArgs->dmaReadKernelArgs; + NODELIST[GAUSSIAN_NODE].kernelArgs = (void *)&graphArgs->guassianArgs; + NODELIST[DERIVATIVE_NODE].kernelArgs = (void *)&graphArgs->derivativeXyArgs; + NODELIST[DIVISION_NODE].kernelArgs = (void *)&graphArgs->divisionArgs; + NODELIST[MAGNITUDE_NODE].kernelArgs = (void *)&graphArgs->magnitudeXyArgs; + NODELIST[NON_MAX_SUPP_NODE].kernelArgs = (void *)&graphArgs->nmsArgs; + NODELIST[HYSTERESIS_NODE].kernelArgs = (void *)&graphArgs->hysteresisArgs; + NODELIST[SINK_NODE].kernelArgs = (void *)&graphArgs->dmaWriteKernelArgs; + + BAM_EdgeParams EDGELIST[]= { + {{SOURCE_NODE, BAM_SOURCE_NODE_PORT1}, + {GAUSSIAN_NODE, BAM_GAUSSIAN_INPUT_PORT}},\ + + {{GAUSSIAN_NODE, BAM_GAUSSIAN_OUTPUT_PORT}, + {DERIVATIVE_NODE, BAM_DERIVATIVEXY_SMOOTHIMG_INPUT_PORT}},\ + + {{DERIVATIVE_NODE, BAM_DERIVATIVEXY_GRADX_OUTPUT_PORT}, + {DIVISION_NODE, BAM_DIVISION_GRADX_INPUT_PORT}},\ + + {{DERIVATIVE_NODE, BAM_DERIVATIVEXY_GRADX_OUTPUT_PORT}, + {MAGNITUDE_NODE, BAM_MAGNITUDEXY_GRADX_INPUT_PORT}},\ + + {{DERIVATIVE_NODE, BAM_DERIVATIVEXY_GRADX_OUTPUT_PORT}, + {NON_MAX_SUPP_NODE, BAM_CANNY_NON_MAX_SUPP_GRAD_X_PORT}},\ + + {{DERIVATIVE_NODE, BAM_DERIVATIVEXY_GRADY_OUTPUT_PORT}, + {DIVISION_NODE, BAM_DIVISION_GRADY_INPUT_PORT}},\ + + {{DERIVATIVE_NODE, BAM_DERIVATIVEXY_GRADY_OUTPUT_PORT}, + {MAGNITUDE_NODE, BAM_MAGNITUDEXY_GRADY_INPUT_PORT}},\ + + {{DERIVATIVE_NODE, BAM_DERIVATIVEXY_GRADY_OUTPUT_PORT}, + {NON_MAX_SUPP_NODE, BAM_CANNY_NON_MAX_SUPP_GRAD_Y_PORT}},\ + + {{DIVISION_NODE, BAM_DIVISION_OUTPUT_PORT}, + {NON_MAX_SUPP_NODE, BAM_CANNY_NON_MAX_SUPP_GRAD_DIR_PORT}},\ + + {{MAGNITUDE_NODE, BAM_MAGNITUDEXY_OUTPUT_PORT}, + {NON_MAX_SUPP_NODE, BAM_CANNY_NON_MAX_SUPP_GRAD_MAG_PORT}},\ + + {{NON_MAX_SUPP_NODE, BAM_CANNY_NON_MAX_SUPP_EDGE_OUT_PORT}, + {HYSTERESIS_NODE, BAM_CANNY_HYSTERESIS_NMS_OUT_PORT}},\ + + {{HYSTERESIS_NODE, BAM_CANNY_HYSTERESIS_EDGE_OUT_PORT}, + {SINK_NODE, BAM_SINK_NODE_PORT1}},\ + + {{BAM_END_NODE_MARKER, 0}, + {BAM_END_NODE_MARKER, 0}},\ + }; Regards, Shruti + +Hi Shruti, Sorry for delay in response. Can you tell which kernel is kernel 2 and kernel 3 which you are mentioning? Also is any of these kernel node is an ARP32 node? Regards, Anshu + +Hi Anshu, kernel 2 is DERIVATIVE_NODE and Kernel3 is MAGNITUDE_NODE. Yes, DIVISION_NODE is an ARP32 node. This also has the same input from kernel2. Regards, Shruti + +Shruti, What is the value of the following : DERIVATIVE_NODE DIVISION_NODE MAGNITUDE_NODE Regards, anshu + +Hi Anshu, The values are below: #define SOURCE_NODE 0 #define GAUSSIAN_NODE 1 #define DERIVATIVE_NODE 2 #define DIVISION_NODE 3 #define MAGNITUDE_NODE 4 #define NON_MAX_SUPP_NODE 5 #define HYSTERESIS_NODE 6 #define SINK_NODE 7 Regards, Shruti + +Shruti, As per this order the execution order will be kernel2 -> divisionNode -> kernel3. So between kernel2 and kernel3 division node is getting called and I am suspecting this is the node which is over writing the zero values which you have filled in kernel 2. Regards, Anshu + +Shurti, Did you get a chance to look on above comment? Regards, Anshu + +Shruti, I am closing this thread as we haven't heard back from you. Please reopen it whenever you start looking into this. Regards, Anshu + diff --git a/sample_embedding_folder2/0759238.txt b/sample_embedding_folder2/0759238.txt new file mode 100644 index 0000000000000000000000000000000000000000..46bd13d15aaf77fce946df394e32c9646ca96c9a --- /dev/null +++ b/sample_embedding_folder2/0759238.txt @@ -0,0 +1,16 @@ +Ticket Name: RTOS/TDA2EVM5777: Questions about IPC 3.45 & it's usage in processor_sdk_vision_03_05_00_00 + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2, Tool/software: TI-RTOS Dear TI I am new in the TI products. By learning processor vision sdk, i have some questions about how to use ipc APIs to achieve efficient data transport inter processors or links. In which, data transport , i means data stuctures userdefined other than video frames. Questions: 1. ti_components/os_tools/ipc_3_45_00_00 provides ti ipc libraries support for different ti devices. I need not cared about the details of the ipc modules or utils, such as HeapBufMP HeapMemMP, HeapMultiBufMP, MessageQ, ListMP etc. Am i right? 2. I have tested ipc send by just call System_linkControl api,and i can receive the data in the other link running on the remote core. I followed the System_linkControl function code in vision SDK, shows it's implemented by ipc msgQ module. In the document VisionSDK_SW_Architecture_Overview.pdf, i found the description below: • Message queue will be used to send control commands to the individual links. • This will be used for low frequency (once per 1sec kind of rate) control commands. What troubles me is that the constrain described above is for apis implemented in system_ipc_msgq.c or MessageQ moduel in IPC 3.45. Can i use System_linkControl for efficient data transfer? If not,how should i do? 3. While fullfillment ipc functions in vision sdk, should i create several msgqs according to my application or just call api,System_linkControl for example,whenever ipc is needed. By asking all of the above questions, what i want to do is front view based ADAS application in TDA2 platform. I found two usecases, which may be reference, in the vision_sdk/apps/: vip_single_cam_object_detection2 and tidl_od. But i have not deep dive into these two usecases for now. I learned all the ipc code/document is just for transfer data such as object_list, which can be genetated by algs like tidl. So, which usecase should i pay more attation to? Which link in the chains fullfill the alg result transfer? How does the format of the TIDL_OD alg result look like, video frames/meta data or user defined structure? Which source file can i find the related code in? Does the TDA2EVM5777 support vip_single_cam_object_detection2 usecase? Thanks! Additional,i am not sure which Part number i should select when post questions on this forum. Where could i find the requirement? + +Responses: +Hi <1> If you use the IPC links of vision SDK, or the System_linkControl API, you do not need to deal with ipc modules or utils, such as HeapBufMP HeapMemMP, HeapMultiBufMP, MessageQ, ListMP etc. <2> System_linkControl api of VSDK is meant for sending the control/configuration command, which is not usually per frame vise. For per frame data transport we use IPC links which uses the Queue architecture and IPC notify, which is the least latency approach. In IPC messageQ, there is copy involves and hence for any big data structure or video frames its not very efficient In data path we use System_sendLinkCmd API to notify the next link instead of System_linkControl. System_sendLinkCmd uses IPC notify internally when it is called across core boundaries <3> You do not need to create any IPC APIs or interface by your own, all required interface is already available in VSDK. Use them accodingly IF you want to use the object detection based on TIDL, then refer \vision_sdk\apps\src\rtos\usecases\tidl_OD IT has algorithms running on differnt cores and exporting data across cores using IPC Links. All create/config are done via System_linkControl API regards, Shiju + +hi, Shiju Thanks for your reply. <1> Why IPC links can achieve least latency? To my understanding, IPC out link do frame copy from systemBuffer of core1 to IPCSharedBuffer, and then IPC in link do frame copy from IPCSharedBuffer to systemBuffer of core2. The systemBuffer is not shared between cores. All queues between ipc link pair are used to manage available buffers. As for IPC messageQ, notify API is also involves. And the data copy to ipcMsgQ shm is needed of course. So if i am right, What's the difference between IPC link frame exchange and IPC messageQ. They all need data copy at last. <2> I noticed ti provides IPC latency test result in "VisionSDk_DataSheet.pdf". But i cannot find out related usecases in the processor_SDK_vision release. So what can i do to reproduce the test, beyond which, i may do some modification to do some further study. regards, LiuGan + +Dear Shiju, Any update? regards, Liu Gan + +Hello Our IPC is based on shared memory architecture and no frame buffer copy involves here, we are only sending address of the buffer which is nothing but a 32 bit value/pointer. copy of this 32 value is not a concern. please refer the data sheet ob VSDK for the IPC link latency numbers across various cores regards, Shiju + +Hello, Ok, we do not have any dedicated UC to measure the IPC latency, but you can use any demos and after running the demo, press "p" to get the run time status, this log shows IPC latency We do not use messageQ in data patch, and this is because msgQ involves copy, MSGQ is used only in control/comfig commands IPC links uses notify instead of MSGQ to reduce the copy and hence low lastecy regards, Shiju + diff --git a/sample_embedding_folder2/0759364.txt b/sample_embedding_folder2/0759364.txt new file mode 100644 index 0000000000000000000000000000000000000000..8ba49316038e5c0be12d3afc9b7df604f96fc620 --- /dev/null +++ b/sample_embedding_folder2/0759364.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: sxgFrmcpy and Display buffer address issue. + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi Sir, I am using sgxFrameCopy as use-case to develop a function, HW is TDA2x CPU board + Vision Board + daughter board + OV1652x sensor and SDK is PROCESSOR_SDK_VISION_03_04_00_00 with TDA2XX_EVM_LINUX_ALL define. There are two issue that need your help. 1. When sgxFrmcpy() function gets capture buffer, it uses below function to transfer capture buffer into a texYuv value, “texYuv[0] = System_eglWindowGetTexYuv(&pObj->eglWindowObj, &texProp, pVideoCompositeFrame->dmaFd[0][0]”); I found “dmaFD[]” is not the image buffer point, how do I correspond the image buffer point by “dmaFd” ? Actually I don’t know what the “texYuv[ ]” and “dmaFd[ ]” are? And how the code uses “texYuv[ ]” and “dmaFD[ ]” to get the real image buffer? 2. I try to change some image data in sgxFrmCpy and then send the data to display buffer, I trace the link between sgxFrmcpy and Display, I am not sure which information structure is sent to next link for display recognize and which parameter is for point to display buffer? I think below function is for scaling image and describe image information, including the img buffer point, but I have no idea which parameter of structure records the img buffer point? “SgxRender1x1_renderFrame1x1(&pObj->render1x1Obj, pEglWindowObj, gTriangleVertices_toplefttop, texYuv[0]);” Thanks. Ranny. + +Responses: +Hi, dmaFd is internally mapped to video data in case of linux. Please look the below comments UInt32 dmaFd; /**< userspace handle to represent buffer For 4.4 kernel all buffer handled by Linux need to be as dmaFd. Each of the bios allocaed buffer needs to be mapped to a dmaFd */ Ipc links running on A15 will take care of mapping of dmaFd. Regards, Anuj + diff --git a/sample_embedding_folder2/0759436.txt b/sample_embedding_folder2/0759436.txt new file mode 100644 index 0000000000000000000000000000000000000000..878f83646395b936741644838cd83bed89d8bbdc --- /dev/null +++ b/sample_embedding_folder2/0759436.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2: thansfer data from a15 to C66 + +Query Text: +Part Number: TDA2 Tool/software: Linux I am using TDA2 evm SDK_VISION_03_04_00_00 , i run a cnn in sample_app\src\rtos\alg_plugins\framecopy\frameCopyAlgoLocalDma.c my cnn have a big model 15MB about i have to read it by a15 and send buf to C66 , i read the model file in vision_sdk\sample_app\src\hlos\usecases\nullSrc_display\chains_nullSrcDisplay.c and send the address of model buffer to c66. in frameCopyAlgoLocalDma.c\Alg_FrameCopyCreate i get the address of model buffer . in frameCopyAlgoLocalDma.c\Alg_FrameCopyProcess Everything went smoothly. but i have a problem at last. when i run the program , some times the out put of the CNN is always right ,some times front 3-5 frames is wrong but little difference, some times front 300-500 frames is wrong but little differenc So it's uncertain how many frames the results are incorrect, sometimes more, sometimes less, but after running 500 frames, they're basically correct. Later, I found that when the CNN output was incorrect, it was because the obtained model was partially incorrect. So the results are incorrect, but the gap is not big. So I think it's risky to get the CNN model in this way. It takes a while for C66 to get the correct CNN model. What causes this problem? Is there a good way to solve it? BESTWISHES Shuai! + +Responses: +Hi, Is the data is getting corrupted from a15 to c66. I hope you are allocating that much big memory and not modifying that data anywhere. Are you allocating from shared memory. I hope the cache operation are done properly. Regards, Anuj + +Hi, Any update on this issue. Regards, Anuj + diff --git a/sample_embedding_folder2/0759440.txt b/sample_embedding_folder2/0759440.txt new file mode 100644 index 0000000000000000000000000000000000000000..b140a4e8726ee7a8dd6e7c67e9b4234813759e28 --- /dev/null +++ b/sample_embedding_folder2/0759440.txt @@ -0,0 +1,10 @@ +Ticket Name: RTOS/TDA2: Adding new usecase and get compiling error “unresolved symbols remain” + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hello,I'm trying to add new usecase to VSDK, and when I compiled it, I got the error "unresolved symbols remain". Below is the log: ================================================================ # Making tda2xx-evm:ipu1_0:release:vision_sdk_lib... # Linking into D:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/vision_sdk/bin/tda2xx-evm/vision_sdk_ipu1_0_release.xem4... # undefined first referenced symbol in file --------- ---------------- Chains_lyratidlOD D:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 error: unresolved symbols remain error: errors encountered during linking; "D:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_bio s_all/vision_sdk/bin/tda2xx-evm/vision_sdk_ipu1_0_release.xem4" not built gmake[7]: *** [D:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_bios_all/vision_sdk/bin/tda2xx-evm/vision_sdk_ipu1_0_release.xem4] Error1 gmake[6]: *** [ipu1_0] Error 2 gmake[5]: *** [apps_ipu1_0] Error 2 gmake[4]: *** [apps] Error 2 gmake[3]: *** [apps] Error 2 gmake[2]: *** [apps_exe] Error 2 gmake[1]: *** [apps] Error 2 gmake: *** [vision_sdk] Error 2 ================================================================ Below is what I have done: 1. I prepared all the file according the usecasegen document 2. Add the usecase to uc_cfg.mk under vision_sdk/apps/configs/tda2xx_evm_bios_all, 3. Add the usecase to cfg.mk under vision_sdk/apps/configs/cfg.mk 4. in vision_sdk/apps/Makefile, I add: -include $(MODULE_SRC_BASE_PATH)/rtos/usecases/lyra_tidl_OD/SRC_FILES.MK Then I removed the binaries directory and do gmake -s -j depend, then gmake -s -j, and then I get the error I described previously. Did I do anything wrong here? I also run the command gmake -s showconfig and I did see my usecase was built. The last one UC_lyra_tidl_OD is the usecase I added. Below is the log: =============================================================================== # Use-cases included in build, # UC_srv_calibration UC_lvds_vip_dual_cam_dual_display UC_lvds_vip_multi_cam_view UC_lvds_vip_sv_analytics_us UC_lvds_vip_sv_standalone UC_lvds_vip_single_stereo UC_lvds_vip_single_stereo_auto_calib UC_lvds_vip_single_stereo_calibration UC_network_rx_tx UC_network_stereo_display UC_null_src_dec_display UC_null_src_display UC_ov490_vip_sv_standalone UC_saveDisFrame UC_vip_single_cam_analytics2 UC_vip_single_cam_dense_optical_flow UC_vip_single_cam_dual_display UC_vip_single_cam_edge_detection UC_vip_single_cam_frame_copy UC_vip_single_cam_frame_copy_safety UC_vip_single_cam_lane_detection UC_vip_single_cam_object_detection2 UC_vip_single_cam_sfm UC_vip_single_cam_sparse_optical_flow UC_vip_single_cam_subframe_copy UC_vip_single_cam_tlr UC_vip_single_cam_view UC_vip_single_cam_view_encdec UC_tidl UC_semSeg UC_tidl_OD UC_lyra_tidl_OD # # ================================================================================= + +Responses: +Hi, Seems like you are calling Chains_lyratidlOD function from apps/src/rtos/common/chains_main_bios_tidl.c file. But have you defined your usecase entry function with the same name Chains_lyratidlOD. Please add some error in your usecase file to confirm that these are getting build. Regards, Anuj + +Hello Anuj, the problem is solved~ thanks for your reply. + diff --git a/sample_embedding_folder2/0759716.txt b/sample_embedding_folder2/0759716.txt new file mode 100644 index 0000000000000000000000000000000000000000..beea34158b647595a317e35371447a530e2efb87 --- /dev/null +++ b/sample_embedding_folder2/0759716.txt @@ -0,0 +1,12 @@ +Ticket Name: Need memory address range for onchip and external memory of TDA2x. + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi, I want to know the memory address range for onchip and the external DDR memory of TDA2x SOC chipset. I checked in the datasheet and unfortunately I could not find that information. Thanks, Vasanth + +Responses: +Hi Vasanth, Can you see Memory Mapping chapter in the TDA2 TRM? Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +Hi Rishabh, Thank You for your reply. We can close this ticket. Thanks and Regards, Vasanth + diff --git a/sample_embedding_folder2/0759754.txt b/sample_embedding_folder2/0759754.txt new file mode 100644 index 0000000000000000000000000000000000000000..1c13e089c1a5e645bee029d674fe259c9719b4bb --- /dev/null +++ b/sample_embedding_folder2/0759754.txt @@ -0,0 +1,8 @@ +Ticket Name: TIDL/Deep Learing Benchmark Performance and Support + +Query Text: +Other Parts Discussed in Thread: TDA2, TDA2HV, TDA2HG Dear Sir, I have some queries with respect to DL model development on TI platform. Pl help me with my following questions. 1. TIDL document lists the results of a semantic-segmentation network running on the TDA2 SoC using TIDL - which version of TDA2. is it only on TDA2xP? 2. Is there Benchmark of any open source model ported on TDA2X for calculating the speed/processing time? 3. Does TIDL software package which is part of vision SDK supported on TDA2HG and TDA2HV 4. Is it possible to use custom layers which is designed by developer which are not part of TIDL package 5. Is there simulator support for TDA2H 6. Is there GPU support in TDA2H? Can we run deep learning model on GPU? or we need persist with EVE and DSP for model Inference 7. Is there simulator support for TIDL 8. Is TDA2H available for procurement in India immediately Thanks, Sachin + +Responses: +1.TIDL supported on TDA2x and TDA3x 2.Please refe out data sheet for layer level performance data also modles trained by TI. 3. TIDL is stansdalone package, Check you data manula for TDA2HG and HV. itf the part has EVE or DSP. yoyu cann run TIDL 4. You can split network into multiple partions and run with custom layer in between 5.We do not have simulator 6.Plase check yout data manula for GPU avialbilyt. TIDL does not use GPU 7.No 8.Please chack here www.ti.com/.../TDA2EVM5777 + diff --git a/sample_embedding_folder2/0759773.txt b/sample_embedding_folder2/0759773.txt new file mode 100644 index 0000000000000000000000000000000000000000..414b411e73391c3d993f6e210d38aba973c59e74 --- /dev/null +++ b/sample_embedding_folder2/0759773.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2E: A pin cannot be used as a normal GPIO + +Query Text: +Part Number: TDA2E TDA's software driver has affected the SD card power supply to remain at 3.3V, because our current hardware design: Y9 pin (sdwp) on the TDA chip is used as the SD card power driver Our software engineers feedback that sdwp has been occupied by the mmc1 software driver, and the Y9 pin cannot be used as a normal GPIO to control the power of the SD card. How do we solve this problem? PS: Our SD card only needs 3.3V running mode + +Responses: +Hi Feng, Can you please post a diagram of your hardware setup for better understanding? Also, one question in advance - is your PCB layout forzen? I.e. you are no longer allowed to make changes to the design? Thanks, Stan + +Hi,Stan Yes, we are not going to change the PCB layout The hardware diagram is as follows + +The pin mux is typically done outside any driver - in the SBL bootloader. Therefore, you should be able to change Y9 to GPIO w/o driver even knows it. This can be done in the device tree (.dts) file which SBL will reflect in the CTRL_CORE_PAD_MMC1_SDWP SoC register. There are many articles on TI.com and posts in this forum how to do this. On the other hand, the MMC driver will continue (if was enabled) to monitor the Write-Protect (WP) pin, thus this functionality may need to be disabled in the driver. I'm a hardware engineer and I don't know how MMC driver was implemented, but since WP is an optional feature, this should be possible in the driver. Regards, Stan + +We has tried the following steps: Configure the kernel's pinmux output to pull up by default, but after the file system is running, we check the status of the gpio and find that this pin attribute becomes the input drop-down. Then the next step, when we tries to manually change the direction property of the gpio, the mmc software driver will report some errors.(As shown below) We analyze the mmc driver and the gpio driver is occupied. How to solve this problem in software? + +Hi, Please check your device tree. Most likely, only the cd-gpio is described. wp-gpio is not described. You should be able to use the MMC1_SDWP pad in the GPIO mode 0x14 which will make it connect to the GPIO6_28 line. Refer TRM (CTRL_CORE_PAD_MMC1_SDWP) By default, both CD and WP pads are configured by u-boot to be in the muxmode 0x14 which will be the GPIO mode. Also, If my understanding is correct, GPIO6_28 should be registered as 32 * 6 + 28 = 220 in the /sys/class/gpio subsystem. So you should try to change that. Regards, Nikhil D + diff --git a/sample_embedding_folder2/0759778.txt b/sample_embedding_folder2/0759778.txt new file mode 100644 index 0000000000000000000000000000000000000000..c6293f67e40d6eef5c8c9a4d0a3a53c1699420d4 --- /dev/null +++ b/sample_embedding_folder2/0759778.txt @@ -0,0 +1,34 @@ +Ticket Name: TDA2: ARP32 refers DDR memory address where it should not. + +Query Text: +Part Number: TDA2 Hi, I work in a project in which I use VCOP and ARP32 together. The codeflow is as follows : Kernel 1 ( VCOP / KernelC) -> Kernel 2 (ARP32 / Natural C) -> Kernel 3 ( VCOP / KernelC). I need to use the output buffer of K1 as input buffer in K2. Issue: The output buffer of K1 is in on-chip memory of EVE. (0x400402E0) But, the input buffer in K2 is refering the DDR memory address (0x80000120) , even though the expectation is both the buffers should refer the same on-chip memory address. It is not happening. Question: 1. Can you please let us know, why the input buffer of K2 changed into DDR instead of refering on-chip memory? 2. Can you suggest methods to make ARP32 to read data from on-chip memory only? Regards, Surbhi + +Responses: +Hi Surbhi, How are you exchanging the buffer addresses? Regards, Rishabh + +Hi, //How are you exchanging the buffer addresses? I am not exchanging the buffer addresses across kernels. Actually, I want to know how the addresses are changed from on-chip memory address to DDR memory address between kernels. Regard, Surbhi + +Surbhi, Regarding the following : The codeflow is as follows : Kernel 1 ( VCOP / KernelC) -> Kernel 2 (ARP32 / Natural C) -> Kernel 3 ( VCOP / KernelC). I need to use the output buffer of K1 as input buffer in K2. It is important to note that VCOP can only write to only the internal buffers IBUF, WBUF of EVE. It cannot access DDR/DMEM. Assuming that WBUF is always owned by VCOP, kernel1 would be writing to IBUFL or IBUFH. Now if kernel 2 wants to access these buffer you first need to switch the ownership of the buffer before ARP32 can access it. I hope you have accounted for that in your design. Now regarding kernel2 using an external buffer, can you tell how are you running kernel 2, is it a BAM node in the graph with core type set as BAM_EVE_ARP32? Regards, Anshu + +Hi, Thanks for the reply. //It is important to note that VCOP can only write to only the internal buffers IBUF, WBUF of EVE. It cannot access DDR/DMEM. Assuming that WBUF is always owned by VCOP, kernel1 would be writing to IBUFL or IBUFH. Just for clarification, the K1 writes in WBUF ONLY. And not in IBUFL/IBUFH. //Now if kernel 2 wants to access these buffer you first need to switch the ownership of the buffer before ARP32 can access it. So, your idea is that the same output buffer presents in WBUF can be accessed by K2 (ARP32). Can you please let us know, how to switch the ownership of the buffer before ARP32 can access it. //Now regarding kernel2 using an external buffer, can you tell how are you running kernel 2, is it a BAM node in the graph with core type set as BAM_EVE_ARP32? Yes, I use BAM_EVE_ARP32 as the core type. Regards, Surbhi + +Updated :: //Now regarding kernel2 using an external buffer, can you tell how are you running kernel 2, is it a BAM node in the graph with core type set as BAM_EVE_ARP32? Yes, I use BAM_EVE_ARP32 as the core type. Regards, Surbhi + +Hi, //It is important to note that VCOP can only write to only the internal buffers IBUF, WBUF of EVE. It cannot access DDR/DMEM. For clarification, the Kernel1 which is running in VCOP writes the output data in WBUF only. //Assuming that WBUF is always owned by VCOP, kernel1 would be writing to IBUFL or IBUFH. Can you please let me know how can we ensure that WBUF is always owned by VCOP? //Now if kernel 2 wants to access these buffer you first need to switch the ownership of the buffer before ARP32 can access it. Can you please let me know, how to switch the ownership of the buffer before ARP32 can access it. //Now regarding kernel2 using an external buffer, can you tell how are you running kernel 2, is it a BAM node in the graph with core type set as BAM_EVE_ARP32? Yes, we use BAM node in the graph with core type set as BAM_EVE_ARP32. Regards, Surbhi + +Surbhi, Does kernel 2 uses the data output generated by kernel 1? You can use VCOP_BUF_SWITCH_SET macro to set the ownership of the EVE's internal buffers. An example is as follows : VCOP_BUF_SWITCH_SET(WBUF_VCOP, IBUFHB_VCOP, IBUFLB_VCOP, IBUFHA_SYST, IBUFLA_SYST); This set WBUF, IBUFHB and IBUFLB ownership to VCOP and IBUFHA, IBUFLA to system. I will get back to you on usage of BAM_EVE_ARP32. Regards, Anshu + +Hi, 1. //Does kernel 2 uses the data output generated by kernel 1? Yes, I want the Kernel2 needs to use the data output generated by Kernel1. Let us say, that Kernel 1 writes the output data at WBUF. Then, I want the Kernel2 needs to take that WBUF buffer for its processing. For that purpose. shall I use the command as follows after Kernel1 processing completed? VCOP_BUF_SWITCH_SET(WBUF_SYST, IBUFHB_VCOP, IBUFLB_VCOP, IBUFHA_SYST, IBUFLA_SYST); And, at the end of Kernel 2 proceesing, I return back the ownership of buffers as, VCOP_BUF_SWITCH_SET(WBUF_VCOP, IBUFHB_VCOP, IBUFLB_VCOP, IBUFHA_SYST, IBUFLA_SYST); 2. In my code, Kernel2 takes the input data from DDR. If I use the switch command as I mentioned, will Kernel2 stop using DDR and use only WBUF? 3. One more doubt. Kernel2 is set to execute in ARP32. Can you please tell me that why Kernel2 uses DDR instead of on chip memory? Regards, Surbhi + +Hi Surbhi, You don't have to return back the ownership of the buffers as the framework automatically does so. See line 1052 and 1062 in function BAM_ARP32_computeWrapper() of bam_execute.c . Regarding the 2) and 3), the memory should never be allocated in DDR so it is strange you are getting this behaviour. What is the value of the outBlock[].space you set for K1 output ?I guess you must have set it to BAM_MEMSPACE_WBUF. Also which version of EVE sw release you are using ? regards, Victor + +Hi Victor, //I guess you must have set it to BAM_MEMSPACE_WBUF. -->yes, for all the kernels the outblock[].space is set to BAM_MEMSPACE_WBUF. //Also which version of EVE sw release you are using ? --> eve_sw_01_18_01_00 & processor sdk version PROCESSOR_SDK_VISION_03_03_00_00 //Assuming that WBUF is always owned by VCOP, kernel1 would be writing to IBUFL or IBUFH. [Jan 3, 2019 1:00 PM] Can you please let me know how can we ensure that WBUF is always owned by VCOP? Regards Surbhi + +Hi Surbhi, WBUF is always owned by VCOP by default. It is never owned by SYS=ARP32/EDMA, unless you explicitly call VCOP_BUF_SWITCH_SET(). So that's why if you have kernel that operates on ARP32, you need to call VCOP_BUF_SWITCH_SET() to switch the ownership of WBUF back to SYS in order for ARP32 to operate on it. Regarding the issue of the memory allocated in DDR, instead of WBUF, I think it needs deeper investigation. Can you share with TI some code so we can reproduce the issue ? regards, Victor + +Hi Victor, The following are the Demo code tasks and my observations. 1. In the first case, I created an app as Gaussian (Kernel1)(VCOP) -> Image Inversion (Kernel2)(ARP32). The output buffer of Kernel1 is passed as an input to Kernel2. Observation: The input buffer address at Kernel2 is in on-chip memory. 2. In the second case, I created an app as input kernel (Kernel1)(VCOP) -> Negative (Kernel2)(ARP32) input kernel (Kernel1)(VCOP) -> Erosion (Kernel3)(VCOP) Image Inversion (Kernel2)(ARP32) + Erosion (Kernel3)(VCOP) -> Merge (Kernel4)(VCOP) -> sink node. Observation: a. The input buffer for Kernel which runs in ARP32 is changing into DDR as follows. 0x40054000 input copy 0x40054000 erode 0x40055000 merge 0x80000120 negative b. The order of execution is as per the following execution log. algProcess start calling input copy in execute funs width : 64 height: 32 calling erode in BAM_Erode_initFrame execute funs width : 64 height: 32 calling Merge in execute funs width : 64 height: 32 calling negative in execute funs width : 64 height: 32 But, the expected code flow is from input copy the data is shared between negative kernel and erosion kernel. Then the outputs of negative kernel and erosion kernel are merged in merge kernel and moved to sink node. c. If we branch the data output from one kernel to more than one kernels and in which one of them is executed in ARP32, then the input buffer address for ARP32 kernel turns into DDR memory. Regards, Surbhi + +Hi Victor, any updates? Regards, Surbhi + +Hi Surbhi, There is a constrain listed in Chapter 5 'Current limitations' of BAM user's guide: Specifications of edge list. If one single port of an upstream node has more than one connection, which happens in case of a fork in the graph, then all these connections must be clustered together. For instance in the below image pyramid graph, every DS_NODE’s output port BAM_BLOCKAVERAGE2x2_OUTPUT_PORT has two connections: one to the next DS_NODE and one to SINK_NODE. These connections must appear one afte the other in edge list. If there is a connection involving another node or another port between them then graph creation would be incorrect. The chapter has some example of a valid and invalid edge list. Can you double-check if your code follows the directive ? Thanks. regards, Victor + diff --git a/sample_embedding_folder2/0759792.txt b/sample_embedding_folder2/0759792.txt new file mode 100644 index 0000000000000000000000000000000000000000..855b3129d2642305cf3ef87c48edee98b382fd9b --- /dev/null +++ b/sample_embedding_folder2/0759792.txt @@ -0,0 +1,22 @@ +Ticket Name: CCS/TDA2: How to use neon in CCS + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio in tda2 runs the neon code command on ccs8.2. When running to the red flag as shown in the figure, it will enter __isr_vector in single step: LDR pc [pc, #-8] @ 0x0C Prefetch Abort Set in ccs -mfloat-abi=softfp -mfpu=neon Neon initialization : MRC p15, #0, r3, c1, c0, #2 @ Read CPACR ORR r3, r3, #0x00F00000 @ Enable access toCP10 and CP11 MCR p15, #0, r3, c1, c0, #2 @ Write CPACRsobel.rar MOV r3, #0 MOV r0, #0x40000000 FMXR FPEXC, r0 @ Set FPEXC bit 30 to enable VFP MCR p15, #0, r3, c7, c5, #4 @flush prefetch buffer because of FMXR above + +Responses: +Hi, Can you try the below sequence and see if it works for you: MRC p15, #0, r1, c1, c0, #2 @ r1 = Access Control Register +ORR r1, r1, #(0xf << 20) @ enable full access for p10,11 +MCR p15, #0, r1, c1, c0, #2 @ Access Control Register = r1 +MOV r1, #0 +MCR p15, #0, r1, c7, c5, #4 @ flush prefetch buffer +MOV r0,#0x40000000 +FMXR FPEXC, r0 @ Set Neon/VFP Enable bit Regards, Rishabh + +Hi, I use this sequence, run to the red flag as shown in the figure it will enter LDR pc, [pc,#-8] in single step __isr_vector: LDR pc, [pc,#24] @ 0x00 Reset LDR pc, [pc,#-8] @ 0x04 Undefined Instruction LDR pc, [pc,#24] @ 0x08 Supervisor Call LDR pc, [pc,#-8] @ 0x0C Prefetch Abort LDR pc, [pc,#-8] @ 0x10 Data Abort LDR pc, [pc,#-8] @ 0x14 Not used LDR pc, [pc,#-8] @ 0x18 IRQ interrupt LDR pc, [pc,#-8] @ 0x1C FIQ interrupt this is project 8867.sobel.rar + +Hi, For me the same sequence works with "mfpu=neon -mfloat-abi=hard". Can you see if the same works for you. Regards, Rishabh + +Hi, You can also refer to "Entry" definition in PROCESSOR_SDK_VISION_03_05_00_00\ti_components\drivers\pdk_01_10_01_06\packages\ti\csl\arch\a15\src\csl_a15_init.asm. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0759819.txt b/sample_embedding_folder2/0759819.txt new file mode 100644 index 0000000000000000000000000000000000000000..0ccfbbd02420a70b006b67b80df1586397981cf4 --- /dev/null +++ b/sample_embedding_folder2/0759819.txt @@ -0,0 +1,54 @@ +Ticket Name: RTOS/TDA2: DSP: DDR and L2SRAM communication using edma + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hello, I am using Processor SDK 3.0 . I want to transfer data to L2SRAM from DDR and vice versa using edma on DSP. For configuring EDMA, I'm referring framecopy link ( frameCopyAlgoLocalDma.c file) While transferring data from DDR, dst address will be L2SRAM ( that is 0x40800000 ), so I have configured edma as, ------- #define DSP1_L2SRAM_ADDR 0x40800000 . . //configuration for write data to l2sram pAlgHandle->pParamSet->destAddr = DSP1_L2SRAM_ADDR; pAlgHandle->pParamSet->srcAddr = (UInt32)inPtr[0]; pAlgHandle->pParamSet->srcBIdx = inPitch[0]; pAlgHandle->pParamSet->destBIdx = inPitch[0]; pAlgHandle->pParamSet->srcCIdx = 0; pAlgHandle->pParamSet->destCIdx = 0; pAlgHandle->pParamSet->aCnt = lineSizeInBytes; pAlgHandle->pParamSet->bCnt = height/NUM_OF_SLICE; pAlgHandle->pParamSet->cCnt = 1; //no. of frames pAlgHandle->pParamSet->bCntReload = height/NUM_OF_SLICE; pAlgHandle->pParamSet->opt = opt; pAlgHandle->pParamSet->linkAddr = 0xFFFF; //configuration for write data back to ddr pAlgHandle->pParamSet->destAddr = (UInt32)outPtr[0]; pAlgHandle->pParamSet->srcAddr = DSP1_L2SRAM_ADDR; pAlgHandle->pParamSet->srcBIdx = outPitch[0]; pAlgHandle->pParamSet->destBIdx = outPitch[0]; pAlgHandle->pParamSet->srcCIdx = 0; pAlgHandle->pParamSet->destCIdx = 0; pAlgHandle->pParamSet->aCnt = lineSizeInBytes; pAlgHandle->pParamSet->bCnt = height/NUM_OF_SLICE; pAlgHandle->pParamSet->cCnt = 1; pAlgHandle->pParamSet->bCntReload = height/NUM_OF_SLICE; pAlgHandle->pParamSet->opt = opt; pAlgHandle->pParamSet->linkAddr = 0xFFFF; --------- Issue is, There is no transfer happening between DDR and L2SRAM ( no data display on output screen). I don't get any compile time errors also at rum time. I checked statistics, SCI_DSP1_EDMA not consuming not even L2SRAM is used. What else I need to do to get this working? What is this >> SCI_DSP1_EDMA ? Regards, Kajal + +Responses: +Hi Kajal, SCI_DSP1_EDMA refers to DSP's EDMA. Each DSP has it's own EDMA which can also be used instead of EDMA. Please see TRM for more details on DSP's EDMA. The L2 memory can be split into L2 RAM (normal addressable on-chip memory) and L2-cache. Can you check what is L2CFG to see if you have indeed set L2MODE to 0? Regards, Rishabh + +Hello Rishabh, Where I will get this TRM for DSP's EDMA ? Can you check what is L2CFG to see if you have indeed set L2MODE to 0? >> In which file L2CFG or L2MODE is defined? I got "L2MODE" term in >> vision_sdk/build/rtos/tda2xx/config_c66.bld:78: l2Mode: "32k", did you mean this file ? Regards, Kajal + +Hi Kajal, You can see TDA2 TRM. L2CFG is a DSP register. Please see CorePac DSP spec (link is given in TDA2 TRM DSP chapter). Regards, Rishabh + +Hello Rishabh, Can you please point me at specific TRM for DSP's EDMA ? What about , >> In which file L2CFG or L2MODE is defined? I got "L2MODE" term in >> vision_sdk/build/rtos/tda2xx/config_c66.bld:78: l2Mode: "32k", did you mean this file ? Where to check L2MODE is set to 0 or not ?? Regards, Kajal + +Hi Kajal, TDA2 TRM is here: www.ti.com/.../sprui29f.pdf You should read chapter 5 to find MMRs. Regards, Rishabh + +Hello Rishabh, setting l2Mode: "0" , doesn't get any data transmission. Note :- I have changed in vision_sdk/build/rtos/tda2xx/config_c66.bld file for DSP1 . Can you please suggest more, what need to do? Regards, Kajal + +At vision sdk level, can I see value of L2CFG register ? ( with out debugging though CCS) Regards, Kajal + +Any Update?? Regards, Kajal + +Hi Kajal, What is the API you are using to do the transfer? System EDMA and local EDMA both are integrated in Vision SDK. Please see PROCESSOR_SDK_VISION_03_05_00_00\vision_sdk\links_fw\src\rtos\utils_common\src\utils_dma.c and PROCESSOR_SDK_VISION_03_05_00_00\vision_sdk\links_fw\src\rtos\utils_common\src\dma_cfg\utils_dma_cfg_dsp1.c. Regards, Rishabh + +Hi Rishabh, I want to local EDMA API for DSP. I'm referring frameCopy link for transferring. What's difference between that APIs and suggested by you? Which one shall I use? Regards, Kajal + +Hi Kajal, I would suggest you to use Utils API. Regards, Rishabh + +Hi Rishabh, Utils APIs are the wrappers , internally it calls EDMA3LLD APIs. (correct me if I'm wrong) Do you have any concern to suggest utils API? In my case, I'm calling directly EDMA APIs, but still data transfer is not happening. ---------------- One more thing I noticed while debugging is, 1. When I use dst address as DSP2's L2SRAM i.e. 0x41000000, data transfer happens ( Execution is on DSP1 only). 2. and vice versa. How is this possible ? Regards, Kajal + +Hi Kajal, It seems that each DSP can access it's L2SRAM using the local address and not via the L3. Hence you can access DSP2's SRAM from DSP1 using L3 and vice versa. A simple experiment to confirm this would be trying to access DSP1's RAM from DSP1 using memory browser. You should be able to access via internal view and not L3. Regards, Rishabh + +Hi Rishabh, DSP1' SRAM :- 0x40800000 DSP2's SRAM :- 0x41000000 Are above local addresses correct? ( these addresses i referred from map file >> mem_segment_definition_bios.xs) If not can you point me place where I will get map for local addresses. Regards, Kajal. + +Hi Kajal, 0x40800000 and 0x41000000 are L3 addresses. For DSP the local address is 0x0080_0000. You can see chapter DSP Memory Map in TDA2 TRM. Regards, Rishabh + +Hi Kajal, There is another way to do the EDMA. You can use DSPx EDMA (each DSP has it's own) and give the local address (0x0080_0000). Regards, Rishabh + +Hello Rishabh, Regarding your second last post, 0x40800000 and 0x41000000 are L3 addresses. For DSP the local address is 0x0080_0000. You can see chapter DSP Memory Map in TDA2 TRM. >> what if both DSPs want to access the same l2 sram address at the same time? Regards, Kajal + +Kajal, Using local address you will be able to access only local DSP's L2 SRAM. To access the other DSP's ram you need to use L3 address. Regards, Rishabh + +Yes, but both DSPs are having their local memory, so there will be two different local addresses, right? ( please correct if I'm wrong) In TRM, for each one's local memory, i haven't found their addresses. Regards, Kajal + +Hi Kajal, Local address is same for both DSPs. If you access 0x0080_0000 from DSP1 you will be accessing DSP1's memory and vice versa for DSP2. Local accesses don't go to interconnect hence there is no issue with same address. Regards, Rishabh + +Hi Kajal, As this issue is resolved kindly mark the relevant posts as "This resolved my issue" and close the thread. Regards, Rishabh + +Hello Rishabh , I have one more doubt, Can you check what is L2CFG to see if you have indeed set L2MODE to 0? >> where can I get these registers values for L1 and L2 configuration? Only the CCS, register view is way to see? If want to set bits for them, how will I do this? Regards, Kajal + +Hi Kajal, Can you grep for L2CFG in csl folder. There are APIs defined in \packages\ti\csl\arch\c66x\dsp_icfg.h for L2 registers. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0760039.txt b/sample_embedding_folder2/0760039.txt new file mode 100644 index 0000000000000000000000000000000000000000..6974e349315928c15b85b79d4fbb1f00c565948c --- /dev/null +++ b/sample_embedding_folder2/0760039.txt @@ -0,0 +1,16 @@ +Ticket Name: CCS/TDA2: vcop_malloc return 00000000 + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio Hi, I use ccs to build and debug the vcop_sobel_xy(PROCESSOR_SDK_VISION_03_05_00_00\ti_components\algorithms\eve_sw_01_19_00_00\kernels\imgsiglib\vcop_sobel_xy\test) project。 in line "inputData = (uint8_t *)vcop_malloc(VCOP_IBUFLA, ALIGN_2SIMD(testcaseParams->inputPitch) * testcaseParams->blockHeight * sizeof(uint8_t));" inputData point to 00000000 How can I solve this problem? + +Responses: +Hi, What is the value of ALIGN_2SIMD(testcaseParams->inputPitch) * testcaseParams->blockHeight * sizeof(uint8_t)? Regards, Anshu + +Hi, Anshu Jain! thanks for the reply! testcaseParams->inputPitch=66 testcaseParams->blockHeight=66 ALIGN_2SIMD(testcaseParams->inputPitch) * testcaseParams->blockHeight * sizeof(uint8_t) = 6336 build warning warning #10247-D: creating output section ".imemha" without a SECTIONS specification warning #10247-D: creating output section ".imemhb" without a SECTIONS specification warning #10247-D: creating output section ".imemla" without a SECTIONS specification warning #10247-D: creating output section ".imemlb" without a SECTIONS specification warning #10247-D: creating output section ".wmem" without a SECTIONS specification warning #10063-D: entry-point symbol other than "_c_int00" specified: "_reset_handler" 'Finished building target: "sobel_kernel.out"' linker.cmd content -e _reset_handler -heap 0x100000 /* For EXTDMEM heap allocation. .sysmem is in EXTDMEM */ -stack 0x3000 MEMORY { PAGE 0: VECMEM : origin = 0x80000000, length = 0x0100 CMDMEM : origin = 0x80000100, length = 0x1000 EXTMEM : origin = 0x80001100, length = 0x20000 PAGE 1: DATMEM : origin = 0x40020000 length = 0x8000 WMEM : origin = 0x40040000 length = 0x7E00 IMEMLA : origin = 0x40050000 length = 0x4000 IMEMHA : origin = 0x40054000 length = 0x4000 IMEMLB : origin = 0x40070000 length = 0x4000 IMEMHB : origin = 0x40074000 length = 0x4000 GEM0_L2_MEM: origin = 0x40800000 length = 0x8000 EXTDMEM : origin = 0x80030000 length = 0x2000000 L3MEM : origin = 0x40300000, length = 0x100000 } #ifdef VCOP_CAMA /*---------------------------------------------------------------------------*/ /* VCOP Compiler Assisted Memory Allocation */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Define VCOP heap sizes. These can be smaller than the actual memory region*/ /*---------------------------------------------------------------------------*/ IMEML_SIZE = 0x4000; IMEMH_SIZE = 0x4000; WMEM_SIZE = 0x6000; /*--------------------------------------------------------------------------*/ /* Define VCOP heap locations and ensure heaps span the appropriate size */ /*--------------------------------------------------------------------------*/ SECTIONS { .imemla: { *(.imemla) . += (IMEML_SIZE - 8); } > IMEMLA PAGE 1 .imemha: { *(.imemha) . += (IMEMH_SIZE - 8); } > IMEMHA PAGE 1 .imemlb: { *(.imemlb) . += (IMEML_SIZE - 8); } > IMEMLB PAGE 1 .imemhb: { *(.imemhb) . += (IMEMH_SIZE - 8); } > IMEMHB PAGE 1 .wmem : { *(.wmem) . += (WMEM_SIZE - 8); } > WMEM PAGE 1 } #else /*-----------------------------------------------------------------------------*/ /* Disable VCOP Compiler Assisted Memory Allocation by setting heapsize to zero*/ /*-----------------------------------------------------------------------------*/ IMEML_SIZE = 0x0; IMEMH_SIZE = 0x0; WMEM_SIZE = 0x0; #endif /*---------------------------------------------------------------------------*/ /* VCOP Manual Allocation */ /*---------------------------------------------------------------------------*/ SECTIONS { .const > EXTDMEM PAGE 1 //moving to extmem due to dmem space constraint Adata > IMEMLA PAGE 1 Bdata > IMEMHA PAGE 1 Cdata > WMEM PAGE 1 EOutdata > DATMEM PAGE 1 Sdata > DATMEM PAGE 1 Udata > WMEM PAGE 1 Vdata > WMEM PAGE 1 Ydata > WMEM PAGE 1 .cint > DATMEM PAGE 1 .stack > DATMEM PAGE 1 .sysmem > EXTDMEM PAGE 1 .cinit > DATMEM PAGE 1 .cio > DATMEM PAGE 1 .far > EXTDMEM PAGE 1 .fardata > EXTDMEM PAGE 1 .init_array > DATMEM PAGE 1 .vcop_parameter_block > WMEM PAGE 1 } SECTIONS { .intvecs > VECMEM PAGE 0 .inthandler > CMDMEM PAGE 0 .exitlocation > CMDMEM PAGE 0 .text > EXTMEM PAGE 0 { *(.text) } GROUP { .bss /* This order facilitates a single segment for */ .data /* GDP-relative addressing */ .rodata }>DATMEM PAGE 1 SRC_MEM > EXTDMEM PAGE 1 DDR_MEM > EXTDMEM PAGE 1 DST_MEM > EXTDMEM PAGE 1 IBUFLA > IMEMLA PAGE 1 IBUFHA > IMEMHA PAGE 1 IBUFLB > IMEMLB PAGE 1 IBUFHB > IMEMHB PAGE 1 WBUF > WMEM PAGE 1 } + +Hi, Anshu Jain! thanks for the reply! ALIGN_2SIMD(testcaseParams->inputPitch) * testcaseParams->blockHeight * sizeof(uint8_t) = 6336 build warning warning #10247-D: creating output section ".imemha" without a SECTIONS specification warning #10247-D: creating output section ".imemhb" without a SECTIONS specification warning #10247-D: creating output section ".imemla" without a SECTIONS specification warning #10247-D: creating output section ".imemlb" without a SECTIONS specification warning #10247-D: creating output section ".wmem" without a SECTIONS specification warning #10063-D: entry-point symbol other than "_c_int00" specified: "_reset_handler" 'Finished building target: "sobel_kernel.out"' linker.cmd content -e _reset_handler -heap 0x100000 /* For EXTDMEM heap allocation. .sysmem is in EXTDMEM */ -stack 0x3000 MEMORY { PAGE 0: VECMEM : origin = 0x80000000, length = 0x0100 CMDMEM : origin = 0x80000100, length = 0x1000 EXTMEM : origin = 0x80001100, length = 0x20000 PAGE 1: DATMEM : origin = 0x40020000 length = 0x8000 WMEM : origin = 0x40040000 length = 0x7E00 IMEMLA : origin = 0x40050000 length = 0x4000 IMEMHA : origin = 0x40054000 length = 0x4000 IMEMLB : origin = 0x40070000 length = 0x4000 IMEMHB : origin = 0x40074000 length = 0x4000 GEM0_L2_MEM: origin = 0x40800000 length = 0x8000 EXTDMEM : origin = 0x80030000 length = 0x2000000 L3MEM : origin = 0x40300000, length = 0x100000 } #ifdef VCOP_CAMA /*---------------------------------------------------------------------------*/ /* VCOP Compiler Assisted Memory Allocation */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Define VCOP heap sizes. These can be smaller than the actual memory region*/ /*---------------------------------------------------------------------------*/ IMEML_SIZE = 0x4000; IMEMH_SIZE = 0x4000; WMEM_SIZE = 0x6000; /*--------------------------------------------------------------------------*/ /* Define VCOP heap locations and ensure heaps span the appropriate size */ /*--------------------------------------------------------------------------*/ SECTIONS { .imemla: { *(.imemla) . += (IMEML_SIZE - 8); } > IMEMLA PAGE 1 .imemha: { *(.imemha) . += (IMEMH_SIZE - 8); } > IMEMHA PAGE 1 .imemlb: { *(.imemlb) . += (IMEML_SIZE - 8); } > IMEMLB PAGE 1 .imemhb: { *(.imemhb) . += (IMEMH_SIZE - 8); } > IMEMHB PAGE 1 .wmem : { *(.wmem) . += (WMEM_SIZE - 8); } > WMEM PAGE 1 } #else /*-----------------------------------------------------------------------------*/ /* Disable VCOP Compiler Assisted Memory Allocation by setting heapsize to zero*/ /*-----------------------------------------------------------------------------*/ IMEML_SIZE = 0x0; IMEMH_SIZE = 0x0; WMEM_SIZE = 0x0; #endif /*---------------------------------------------------------------------------*/ /* VCOP Manual Allocation */ /*---------------------------------------------------------------------------*/ SECTIONS { .const > EXTDMEM PAGE 1 //moving to extmem due to dmem space constraint Adata > IMEMLA PAGE 1 Bdata > IMEMHA PAGE 1 Cdata > WMEM PAGE 1 EOutdata > DATMEM PAGE 1 Sdata > DATMEM PAGE 1 Udata > WMEM PAGE 1 Vdata > WMEM PAGE 1 Ydata > WMEM PAGE 1 .cint > DATMEM PAGE 1 .stack > DATMEM PAGE 1 .sysmem > EXTDMEM PAGE 1 .cinit > DATMEM PAGE 1 .cio > DATMEM PAGE 1 .far > EXTDMEM PAGE 1 .fardata > EXTDMEM PAGE 1 .init_array > DATMEM PAGE 1 .vcop_parameter_block > WMEM PAGE 1 } SECTIONS { .intvecs > VECMEM PAGE 0 .inthandler > CMDMEM PAGE 0 .exitlocation > CMDMEM PAGE 0 .text > EXTMEM PAGE 0 { *(.text) } GROUP { .bss /* This order facilitates a single segment for */ .data /* GDP-relative addressing */ .rodata }>DATMEM PAGE 1 SRC_MEM > EXTDMEM PAGE 1 DDR_MEM > EXTDMEM PAGE 1 DST_MEM > EXTDMEM PAGE 1 IBUFLA > IMEMLA PAGE 1 IBUFHA > IMEMHA PAGE 1 IBUFLB > IMEMLB PAGE 1 IBUFHB > IMEMHB PAGE 1 WBUF > WMEM PAGE 1 } + +Hi, Have you added --define VCOP_CAMA to your build options? You need to define VCOP_CAMA during the linking stage of compilation. Regards, Anshu + +Hi, Can you update us whether the above suggestion fixed the issue? Regards, Anshu + diff --git a/sample_embedding_folder2/0760139.txt b/sample_embedding_folder2/0760139.txt new file mode 100644 index 0000000000000000000000000000000000000000..ce4528cb3cf2a0dbe3054b7c96a6c0689603b77e --- /dev/null +++ b/sample_embedding_folder2/0760139.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: How to calculate the border pixels count for an image block. + +Query Text: +Part Number: TDA2 Hi, I have read the pdf attached in the following thread. e2e.ti.com/.../734522 I have a doubt in that. In slide no.16, I have read the paragraph: Offset to next block is not necessarily equal to block width in order to transfer overlapping blocks. Overlapping blocks are used in case of filtering to account for the overlapping border pixels. For instance a N taps filter needs N-1 border pixels. The border width would be (N-1)/2 pixels. Example: Offset to next block= w block_width= w + N-1 I just want to know, how to calculate the block_width for a 16*16 image block, by using the mentioned formula? It means, the number of border pixels , I need to add with the original image block. Regards, Surbhi + +Responses: +Hi Surbhi, The overlap between blocks will depend on the overlap required for processing. For example if you are doing a 3x3 Sobel kernel then between two processing you need an overlap of 2 pixels for input blocks. If instead of 3x3 if you are doing a filtering operation with 5x5 kernel then you will need an overlap of 4 pixels between 2 input blocks ( that is what is mentioned in the ppt you refereed). Now if your output block size is 16x16 then your input block size for 3x3 filter would be (16+2)x(16+2). But the jump between two input blocks will be 16 in horizontal direction and 16 in vertical direction as there is an overlap of 2 pixels required in both direction Regards, Anshu + diff --git a/sample_embedding_folder2/0760395.txt b/sample_embedding_folder2/0760395.txt new file mode 100644 index 0000000000000000000000000000000000000000..179ca46c490ae30ac938b89c656084ddac01a86a --- /dev/null +++ b/sample_embedding_folder2/0760395.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: What is the result of vector compare? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, I want to check what is the output when I compare two vectors. For example, if I set vector a = [0xfff0, 0xfff1, 0xfff2, 0xfff3, 0xfff4, 0xfff5, 0xfff6, 0xfff7]; vector b = [0xfff1, 0xff01, 0xff02, 0xffff, 0xff01, 0xff02, 0xffff, 0xffff ], what is the result c = a > b ? If it is [0, 1, 1,0, 1, 1, 0, 0 ] ? Thanks a lot! BRs Yang Derek + +Responses: +Hi Derek, Comparison operation does an element wise comparison of all the 8 elements of the vectors and returns a vector holding the comparison for each elements of the vector. Regards, Anshu + diff --git a/sample_embedding_folder2/0760511.txt b/sample_embedding_folder2/0760511.txt new file mode 100644 index 0000000000000000000000000000000000000000..c880627375aae22207a43a0e00dd6e1cdf257703 --- /dev/null +++ b/sample_embedding_folder2/0760511.txt @@ -0,0 +1,16 @@ +Ticket Name: Linux/TDA2: how to save vedio by VLC + +Query Text: +Part Number: TDA2 Tool/software: Linux i am use tda2 evm SDK_VISION_03_04_00_00 , now usecase in SDK_VISION_03_04_00_00 run is ok. then i am try to save some vedio by VLC, but i donot not how to do this. thanks Shuai + +Responses: +Hi, We do not support saving video using VLC. You can use null Link to save the video locally on the sd card or use network link to save it on your pc. Regards, Anuj + +Hi Anuj both , can you tell me how to do this ! Regards, Shuai + +Hi, Please refer below usecases vision_sdk\apps\src\rtos\usecases\null_src_dec_display vision_sdk\apps\src\rtos\usecases\network_rx_tx (check network Tx usecase) Saving the video on sd card will be easier if you do not have any specific requirement for network tx. Regards, Anuj + +Hi Anuj in this case (vision_sdk\apps\src\rtos\usecases\null_src_dec_display) i think data souce is not camera. in which link have save the video locally on the sd card ? thanks! Shuai + +Hi, Null Link save the video to sd card. You can modify any usecase with single camera and replace display link with null link. It will save the camera video. Regards, Anuj + diff --git a/sample_embedding_folder2/0760789.txt b/sample_embedding_folder2/0760789.txt new file mode 100644 index 0000000000000000000000000000000000000000..c7b3de7211cd9eec49940b5373092779112e5643 --- /dev/null +++ b/sample_embedding_folder2/0760789.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: How can I make change in eve kernel rebuild? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, I make some changes in one of eve kernel algorithm. When I build with "gmake TARGET_PLATFORM=PC" in eve root directory, and run test app, the changes in eve kernel algorithm doesn't work. When I use make clean for the whole eve and make again, it works. But it is too slow. How can I rebuild eve kernel algorithm and make it work quickly? Thanks! Best Regards, Derek Yang + +Responses: +Hi Derek Yang, can you try the following and see if it works: follow the instructions in "eve_sw_01_19_00_00\kernels\docs\eve_kernels_userguide.pdf to rebuild just the modified kernel and then rebuild eve sw with "gmake TARGET_PLATFORM=PC". Regards, Yordan + diff --git a/sample_embedding_folder2/0760829.txt b/sample_embedding_folder2/0760829.txt new file mode 100644 index 0000000000000000000000000000000000000000..65fc811bc8b42c93b53ffce1d3ee6e121f83b392 --- /dev/null +++ b/sample_embedding_folder2/0760829.txt @@ -0,0 +1,32 @@ +Ticket Name: TDA2: Conflict in power state and its status register + +Query Text: +Part Number: TDA2 Hi Sir, As shown in the screen shot, PM_DSS_PWRSTCTRL DSS module power state is in off state but its status register showing it is in on state. Could you please explain why it is happening? Regards, Sagar + +Responses: +Hi Sagar, PM_DSS_PWRSTST is showing the reset values. Are you facing any issue? Regards, Rishabh + +Hi Rishabh, Due to unused cores are in active state the power consumption is more beyond its limit. So need to verify whether these cores are in ON state or in OFF state. Regards, Sagar + +Hi Sagar, PM_DSS_PWRSTCTRL - "This register controls the DSS power state to reach upon a domain sleep transition". So it is the state expected to be reached on domain sleep transition. It is more of configuration/control register, what state to be when domain sleep transition happens whereas PM_DSS_PWRSTST - "This register provides a status on the current DSS power domain state. [warm reset insensitive]" . This provides the current state. So it means the domain is not gone to sleep state and it is ON + +Hi Sagar, DSS is not a CPU, you should look at unused CPUs. How are you making sure that unused CPUs are in low power state/turned off? What is the software that you are using? Regards, Rishabh + +Hi Rishabh, I am checking PM_xxx_PWRSTCTRL register[1:0] POWERSTATE bits to confirm whether it is in ON or OFF state. I am using TI SBL and debugging using Lauterbach. Regards, Sagar + +Hi Sagar, Did you build SBL for prod mode? As far as DSS is concerned, the module is off here as you can see in PWRSTCTRL register. Regards, Rishabh + +Hi Rishabh, No, it is not build for prod mode. Yes, it is in off state as per PWRSTCTRL, but status register showing it is in active state. PM_xxx_PWRSTST[1:0] POWERSTATEST . Status register should be update with OFF state. Regards, Sagar + +Hi Sagar, You need to build SBL for prod mode and then try. In dev mode SBL will enable all cores and power will be high. Regards, Rishabh + +Hi Rishabh, Is PWRSTCTRL register is enough to put core in off state? Regards, Sagar + +Hi, One reason not transition to OFF can be clocks still running. PD DSS encomapasses BB2D, DSS, HDMI, and HDMI_PHY. All these must be disabled from MODULEMODE and functional clocks stopped prior to issue PD collapse. Regards, Stan + +Hi Sagar, It's not only about PWRSTCTRL register. I strong recommend that you run using SBL as suggested first. Regards, Rishabh + +Hi Sagar, Did you see any different power numbers with TI SBL? Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0760834.txt b/sample_embedding_folder2/0760834.txt new file mode 100644 index 0000000000000000000000000000000000000000..69df19ee53ca20bdd4ad62fbb66569a1cf5cb646 --- /dev/null +++ b/sample_embedding_folder2/0760834.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2: Disable the unused cores + +Query Text: +Part Number: TDA2 Hi Sir, In my project we are not using the EVE3, EVE4 and some other cores. So how can I disable them completely to save the power? Do I need to disable only power state or also need to disable the clock state and need to disable the module also? Best Regards, Sagar + +Responses: +Hi Sagar, Are you using TI SBL? If yes then the SBL will put unused cores (those which are not there in Multi core image) to low power state. Regards, Rishabh + +Also you could remove the unused/not required cores from vision_sdk/apps/config/select_config/cfg.mk file. Rgds, Brijesh + +Hi Brijesh, Is this vision_sdk is applied for Lauterbach also. Because I am not using CCS tool of TI. Regards, Sagar + +Hi Sagar, Not really, i was just talking from vision sdk. for CCS, you could remove unused cores in target configuration. But this is all on host side. On target side, as Rishabh mentioned, SBL, Boot loader, should know what cores required and power on and enable only them. Regards, Brijesh + +Hi Sagar, As this question is followed up in another thread e2e.ti.com/.../760829, I am closing this. Regards, Rishabh + diff --git a/sample_embedding_folder2/0760879.txt b/sample_embedding_folder2/0760879.txt new file mode 100644 index 0000000000000000000000000000000000000000..31a0b61f85ff82771b9070b460e4d84f6ea24a89 --- /dev/null +++ b/sample_embedding_folder2/0760879.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: Is the external clock module needed for the AVB audio to sync with local audio clocks? + +Query Text: +Part Number: TDA2 Hi, expert: To implement AVB on J6/J6P, in case both talker and listener are needed, do we need an external clock module for the AVB audio to sync with local audio clocks? If needed, is there a reference schematic? Thanks. + +Responses: +Hi Peter, can you check if this thread can help you: e2e.ti.com/.../2691094 Regards, Yordan + +Hi Peter, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Yordan + diff --git a/sample_embedding_folder2/0760885.txt b/sample_embedding_folder2/0760885.txt new file mode 100644 index 0000000000000000000000000000000000000000..83226aee267190d8db9305ceec7a8491edc9c811 --- /dev/null +++ b/sample_embedding_folder2/0760885.txt @@ -0,0 +1,22 @@ +Ticket Name: Linux/TDA2: algorithm causing delay + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi Expert, I'm running Linux Vision SDK v03.02.00(4.4.84) on TDA2Ex. reference usecase: "chains_lvdsVipMultiCam_Sgx3Dsrv" Modify as below: The usual operation display is smooth. However, increasing the amount of DSP operations will a serious delay in the display. How can I continue to display images without being affected by DSP delay? Only get the left image, Capture → Sync → Dup → ipc → Sgx3Dsrv. But it has not improved delay. sgx3DsrvLink_drv.c, Int32 Sgx3DsrvLink_drvDoProcessFrames(Sgx3DsrvLink_Obj *pObj) In addition, add Vps_printf in the capture, dup, sync link to observe each link's system_sendLinkCmd (, SYSTEM_CMD_NEW_DATA, The sending interval will become longer when the DSP to increase the load. Why? Could you please give some suggestion here? Thanks in advance. + +Responses: +Hi, I did not understand your question. Which operations are you trying to do in DSP? Is that running on parallel or serially with Display. Why there is ipc link in the image. It should not be there. Regards, Anuj + +Hi, Which operations are you trying to do in DSP? DSP to do custom algorithm, it's work ok. why increasing the amount of DSP load will a serious delay in the chains? Is that running on parallel or serially with Display. I don't understand this meaning? Why there is ipc link in the image. It should not be there. Why not? It's reference usecase: "chains_lvdsVipMultiCam_Sgx3Dsrv" I try no ipc link is don't work. Thanks in advance. + +Hi, The final FPS you will get for the entire chain depend upon the max time taken by all the links. Suppose you have a chain with 2 links and 1 link run at 10 fps and 2nd one at 30 fps so chain will run at 10 fps only. So if you increase the processing time of dsp link then that will affect the entire chain. Why not? It's reference usecase: "chains_lvdsVipMultiCam_Sgx3Dsrv" IPC links are automatically introduced by vsdk_usecase generation tool and that will not be shown in img or txt file but in actual usecase c file,Ipc links will be present. Regards, Anuj + +Hi, Its been long since any update on this thread. Hoping you are able to resolve your issue with my inputs. Closing the thread. Regards, Anuj + +Hi, The final FPS for the entire chain depend upon the max time taken by all the links. Any chain style will have this phenomenon? (Such as series or parallel) Why are multiple cores still affected? Could you please provide some guide on these questions? Thanks in advance. + +Hi, A chain works in series means output of 1 link becomes input of other and so on capture -> vpe -> display If the input of a link does not depend on other chanin then its parallel capture-> display grpxsrc -> grpxdisplay Here both chain is independent of each other so they can work in parallel. Regards, Anuj + +Hi, Will it be affected if used the below design? Thanks in advance. + +Hi, Yes, suppose if your custom link is taking 100ms per frame and other link takes a max of 33ms still you wont get a 30FPS at display. you will get 10FPS as your custom link is not freeing the data and causing other links to drop frames and be in idle state. Please go through the below doc for more information on MCFW framework vision_sdk\docs\Architecture Regards, Anuj + diff --git a/sample_embedding_folder2/0760918.txt b/sample_embedding_folder2/0760918.txt new file mode 100644 index 0000000000000000000000000000000000000000..29ba6ffddbed29e8903e87f3bd422ca022a1265c --- /dev/null +++ b/sample_embedding_folder2/0760918.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2EVM5777: Omnivision Sensors with Vision SDK + +Query Text: +Part Number: TDA2EVM5777 Hi, From your previous response : Q1: Yes. Vision SDK supports OV10635 camera module which is connected directly to TDA2 EVM. Q2: You can connect camera module with IR filter on TDA2. You can check out this DM demo with IR camera done by our 3rd party using Vision SDK. www.youtube.com/watch In the demo video for IR camera, OV10635 camera module itself is used. But, instead of using IR Cut filter (default comes with camera) , they have used IR Pass filter on camera lens? Is my understanding correct? Regards, Sagar + +Responses: +Sagar, Youtube link seems to be incorrect. Well it can work.. but it is better first to bring up new camera with the simple example in PDK. Rgds, Brijesh + +Hi Brijesh, This is proper link: www.youtube.com/watch I have tda2x evm board which comes with OV10635 camera module by default. I am able to build camera display usecase and i can see camera output on hdmi display. My main question is whether the camera used in youtube demo is OV10635 ? Because, in OV10635 datasheet it is mentioned that it can be used for night vision. Regards, Sagar + +Sagar, I am trying to get this details, will get back to you on this. Rgds, Brijesh + +Sagar, Still have not the details, will update you as soon as i get it. Rgds, Brijesh + +Sagar, This demo uses Sony IMX290 2MP sensor. This sensor board is build by D3. Regards, Brijesh + diff --git a/sample_embedding_folder2/0761169.txt b/sample_embedding_folder2/0761169.txt new file mode 100644 index 0000000000000000000000000000000000000000..a21775a4e5b9439546d11b0933be5f0a2b2ab3f7 --- /dev/null +++ b/sample_embedding_folder2/0761169.txt @@ -0,0 +1,17 @@ +Ticket Name: TDA2: TIDL Simulator for DSP + +Query Text: +Part Number: TDA2 Hi, is there the DSP/c66 equivalent of this simualtor - eve_test_dl_algo.out sim.txt + I searched and could not find it please let me know, thank you! .luca + +Responses: +Hi Luca, there is "dsp_test_dl_algo.out", in ti_components\algorithms\REL.TIDL.01.01.02.00\modules\ti_dl\test\out directory. You can check chapter "3.3.4 Building the Test Application Executable through GMAKE" in TIDeepLearningLibrary_UserGuide.pdf for rebuilding steps if you need. Regards, Yordan + +Hi thank you Yordan ~ this helped me a lot though I'm still not able to compile fully ~ I get this - luca@doppio test make TARGET_BUILD=debug TARGET_PLATFORM=PC all g++: error: ../../ti_dl/lib/PC/dsp/debug/tidl_algo.lib: No such file or directory /home/luca/tools/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/algorithms/REL.TIDL.01.01.02.00/makerules/rules.mk:603: recipe for target 'outfile' failed make: *** [outfile] Error 1 luca@doppio test g++ -o ./out/dsp_test_dl_algo.out /home/luca/tools/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/algorithms/REL.TIDL.01.01.02.00/out/PC/dsp/debug/modules/ti_dl/test/./src/report_utils.obj /home/luca/tools/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/algorithms/REL.TIDL.01.01.02.00/out/PC/dsp/debug/modules/ti_dl/test/./src/tidl_config.obj /home/luca/tools/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/algorithms/REL.TIDL.01.01.02.00/out/PC/dsp/debug/modules/ti_dl/test/./src/tidl_tb.obj /home/luca/tools/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/algorithms/REL.TIDL.01.01.02.00/out/PC/dsp/debug/modules/ti_dl/test/./src/tidl_image_preproc.obj /home/luca/tools/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/algorithms/REL.TIDL.01.01.02.00/out/PC/dsp/debug/modules/ti_dl/test/../../../common/configparser.obj /home/luca/tools/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/algorithms/REL.TIDL.01.01.02.00/out/PC/dsp/debug/modules/ti_dl/test/../../../common/ti_draw_utils.obj /home/luca/tools/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/algorithms/REL.TIDL.01.01.02.00/out/PC/dsp/debug/modules/ti_dl/test/../../../common/ti_mem_manager.obj /home/luca/tools/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/algorithms/REL.TIDL.01.01.02.00/out/PC/dsp/debug/modules/ti_dl/test/../../../common/cache.obj /home/luca/tools/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/algorithms/REL.TIDL.01.01.02.00/out/PC/dsp/debug/modules/ti_dl/test/../../../common/profile.obj -m32 -lstdc++ -static ""../../ti_dl"/lib/PC/dsp/debug/tidl_algo.lib" /home/luca/tools/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/algorithms/REL.DMAUTILS.00.08.00.02/dmautils/libs/PC/dsp/debug/dmautils.lib g++: error: ../../ti_dl/lib/PC/dsp/debug/tidl_algo.lib: No such file or directory -- when looking for ti_dl/lib/PC/dsp/debug/tidl_algo.lib - I cannot make it because I have no "algo" source code to build the lib -- as in here luca@doppio ti_dl pwd /home/luca/tools/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/algorithms/REL.TIDL.01.01.02.00/modules/ti_dl luca@doppio ti_dl make CORE=dsp TARGET_BUILD=debug TARGET_PLATFORM=PC all . ======== tidl ALGO ================= make -C ./algo -f makefile make[1]: *** algo: No such file or directory. Stop. makefile:76: recipe for target 'all' failed make: *** [all] Error 2 luca@doppio ti_dl ls docs inc lib makefile test utils -- maybe there is a binary version I can download somewhere? also section 3.5.2 of the TIDL_UG says >> Build with below setting (in “tidl_alg_int.h” file) to build the code to run the inference faster on but I don't have that source file anywhere ~ and the doc specifically mention I need it to modify it (page 3-9) can I get help in finding a place to download those files? thank you so much! .luca + +"eve_test_dl_algo.out sim.txt" May I know what is the meaning of sim.txt here. TARGET_PLATFORM=PC is suported for source release. Only objcet release is avaialble in VSDK package. + +Hello! I also meet this problem that i cannot find the algo folder. Did you resolve this? Thank you ! + +EVE simulation will functionally match with DSP simulation. so there is no need to build the DSP version. Regarding algo folder, it is not available with object release. + diff --git a/sample_embedding_folder2/0761407.txt b/sample_embedding_folder2/0761407.txt new file mode 100644 index 0000000000000000000000000000000000000000..1193f284c69cce900d55a6decb7f86b5f0a03c59 --- /dev/null +++ b/sample_embedding_folder2/0761407.txt @@ -0,0 +1,14 @@ +Ticket Name: Compiler/TDA2: TIDL: I have TIDL library, undefined symbol assembly function of arp32 + +Query Text: +Part Number: TDA2 Tool/software: TI C/C++ Compiler I have TIDL library built successfully and works fine with the test application. When I include it with my own project the Library throws the following errors. undefined first referenced symbol in file --------- ---------------- __arp32abi_addf D:\LIQOR\PCA_Latest\04_Engineering\02_Development_Tools\ti_tools\compiler\arp32\lib\tidl_algo.lib __arp32abi_cmpf D:\LIQOR\PCA_Latest\04_Engineering\02_Development_Tools\ti_tools\compiler\arp32\lib\tidl_algo.lib __arp32abi_cvtdf D:\LIQOR\PCA_Latest\04_Engineering\02_Development_Tools\ti_tools\compiler\arp32\lib\tidl_algo.lib __arp32abi_cvtfd D:\LIQOR\PCA_Latest\04_Engineering\02_Development_Tools\ti_tools\compiler\arp32\lib\tidl_algo.lib __arp32abi_divf D:\LIQOR\PCA_Latest\04_Engineering\02_Development_Tools\ti_tools\compiler\arp32\lib\tidl_algo.lib __arp32abi_fixfi D:\LIQOR\PCA_Latest\04_Engineering\02_Development_Tools\ti_tools\compiler\arp32\lib\tidl_algo.lib __arp32abi_fixfu D:\LIQOR\PCA_Latest\04_Engineering\02_Development_Tools\ti_tools\compiler\arp32\lib\tidl_algo.lib __arp32abi_fltif D:\LIQOR\PCA_Latest\04_Engineering\02_Development_Tools\ti_tools\compiler\arp32\lib\tidl_algo.lib __arp32abi_fltuf D:\LIQOR\PCA_Latest\04_Engineering\02_Development_Tools\ti_tools\compiler\arp32\lib\tidl_algo.lib __arp32abi_mpyf D:\LIQOR\PCA_Latest\04_Engineering\02_Development_Tools\ti_tools\compiler\arp32\lib\tidl_algo.lib __arp32abi_strasgi D:\LIQOR\PCA_Latest\04_Engineering\02_Development_Tools\ti_tools\compiler\arp32\lib\tidl_algo.lib __arp32abi_subf D:\LIQOR\PCA_Latest\04_Engineering\02_Development_Tools\ti_tools\compiler\arp32\lib\tidl_algo.lib These look like assembly functions that come with TI compiler. I used the same Arp32 compiler for both TIDL and my project. What could be the issue. + +Responses: +Looks like RTS library from ARP32 compiler folder is not included in your project linking. Include RTS library to your project + +I have included. + + + +I think I got the issue. I use scons to build my project, In Scons the libraries have to passed in series w.r.t their dependencies. Thanx for the support + diff --git a/sample_embedding_folder2/0761804.txt b/sample_embedding_folder2/0761804.txt new file mode 100644 index 0000000000000000000000000000000000000000..c0c54c826ce5b9a7cf3d33a0e1f45247cf929dd0 --- /dev/null +++ b/sample_embedding_folder2/0761804.txt @@ -0,0 +1,26 @@ +Ticket Name: RTOS/TDA2: Using vlib for resizing a image effficiently + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hello, I am using existing vlib for resizing a image (i.e. ti_components/algorithms/vlib_c66x_3_3_0_3/packages/ti/vlib/src/VLIB_image_rescale). This library works fine, meaning gives me resized image. Currently it gives around 48 output fps and DSP is utilizing 87%. I want this library results in 60 or more than 60 fps. Until now, as part of optimization i did following things, 1. transferred chunk of data from DDR to internal memory of DSP using edma and processing inside SRAM only. 2. data transfer and processing in ping pong fashion. -------------- I have below doubts/query, 1. At what rate VLIB_image_rescale() can execute? 2. What else I need to do to get min. 60 fps ? Regards, Kajal + +Responses: +What is the input and output resolution and image format? Is it possible you are hitting the limit of the DDR bandwidth? Is there anything else being transferred in the system that would contribute to DDR being maxed out in the use case? + +Hello Jesse, Input resolution : 1920x1080 Output resolution : 960x540 ( resized one) Data format :- SYSTEM_DF_YUV420SP_UV there is nothing transfered in system except output frames( count is 15) . How will I know weather DDR bandwidth ? Because at compile or run time it doesn't give me any error or warning kind of. Regards, Kajal + +Any update? regards, Kajal + +Kajal, Based on the information you have given, the DDR requirement for this transfer is about 222 Mbytes/sec, which is well within the range of DDR throughput limitation, so that should not be the problem. (By the way, if you hit DDR limit, there will be know way for compiler or run-time to know. It is software architect for application development to understand what the limitations of the hardware throughput are when constructing the use case. You simply add up all the reads and writes of data from/to DDR to the chip and make sure that they are within the limits described in the system documentation). Some more questions: 1. Which RAM are you transferring to, L1 or L2? 2. What are the dimensions of the input blocks you are transferring to the SRAM? If they are too small, too much time may be spent on DMA reconfiguration. 3. Are you also writing output to SRAM and transferring to DDR using EDMA, or just writing output of vlib to DDR directly through cache? 4. You said the color format is SYSTEM_DF_YUV420SP_UV. This format is not fully supported by the VLIB_image_rescale function. The rescale function can work on just the luma channel. What is the value of color_format you are using on luma and chroma planes? 5. Since you are doing a half scale in each direction, have you considered the VXLIB_halfScaleGaussian_5x5_i8u_o8u function from VXLIB. It does a gaussian blur followed by a half scale in each direction. It may be faster since it assumes half scale and not arbitrary one. VXLIB is another library which is the kernel library for OpenVX. Jesse + +Hello Jesse, Please find my answers, 1. Which RAM are you transferring to, L1 or L2? >> transferring chunk of data to L2 SRAM from DDR. 2. What are the dimensions of the input blocks you are transferring to the SRAM? If they are too small, too much time may be spent on DMA reconfiguration. >> 12 lines of 1920 width i.e. 1920x12 size of block is transferring into L2SRAM. Also transferring small block of size 1920x4 gives difference of 1ms compare to 1920x12 block, ultimately not much difference in fps. 3. Are you also writing output to SRAM and transferring to DDR using EDMA, or just writing output of vlib to DDR directly through cache? >> processed output is written in L2SRAM only and then that buffer transferred back to DDR using EDMA.. 4. You said the color format is SYSTEM_DF_YUV420SP_UV. This format is not fully supported by the VLIB_image_rescale function. The rescale function can work on just the luma channel. What is the value of color_format you are using on luma and chroma planes? >>I mean SYSTEM_DF_YUV420SP_UV data format is of incoming frame. For VLIB_image_rescale function only luma plane is given for processing i.e. color_format = 3. Regards, kajal. + +Kajal, When I looked closer at this code for LUMA format, the optimized code is the same as the natural C, which operates at 17 cycles per input pixel, which is very poor performance. I suggest you use VXLIB. I personally wrote the optimizations for VXLIB, and it is much better. For example, the halfscalegaussian that I suggested operates at roughly 4.6 cycles per pixel when operating from L2SRAM. If you don't want half scale, then there is also scaleImage functions which give different scale ratios. Please let me know if you can try this instead of VLIB image_rescale. Jesse + +Hello Jesse, I am trying use to vxlib >> VXLIB_halfScaleGaussian_5x5_i8u_o8u instead of vlib. But I'm not getting resized frame. I have set below params, please have a look and let me know if anything I'm missing. srcParam.data_type = VXLIB_UINT8; srcParam.dim_x = pInputChInfo->width; //1920 srcParam.dim_y = pInputChInfo->height; //1080 srcParam.stride_y = pInputChInfo->height; //1080 dstParam.data_type = VXLIB_UINT8; dstParam.dim_x = pOutputChInfo->width; //960 dstParam.dim_y = (pOutputChInfo->height); //540 dstParam.stride_y = pOutputChInfo->height; //540 After checking params( using VXLIB_halfScaleGaussian_5x5_i8u_o8u_checkParams()) results in VXLIB_ERR_INVALID_DIMENSION status. I checked params and changed srcParam.dim_y to (1080 + 4). Though getting same status and not resized frame. Is all params correct?? Regards, Kajal + +Hi Jesse, I'm able to make progress. Issue was with stride_y of both src and dst params. Comments/guidelines given in VXLIB_bufParams.h file for VXLIB_bufParams2D_t structure, it says /*!< \brief Stride in Y dimension in bytes. */ That's why giving stride_y param value incorrect. ---------------------------- Anyways, so now params as, srcParam.data_type = VXLIB_UINT8; srcParam.dim_x = 1920; srcParam.dim_y = 1080; srcParam.stride_y = 1920; dstParam.data_type = VXLIB_UINT8; dstParam.dim_x = 960; dstParam.dim_y = 540; dstParam.stride_y = 960; Are above params are okay? Because might be last two rows and columns are having some garbage data. Kindly suggest for the same. Regards, Kajal. + +From the API header: * @par Assumptions: * - I/O buffer pointers are assumed to be not aliased. * - Input width should be >= (Output width + 2) * 2 * - Input height should be == (Output height + 2) * 2 * - When breaking input image processing into blocks, be sure to fetch enough overlap pixels from the input * for interior edges for the rescale, or else the function may put a false border within the block edge of * of the output image. For each dimension, the required fetch amount should be: * - input block width to fetch = (output block width + 2) * 2 * - input block height to fetch = (output block height + 2) * 2 * * And the amount of left/top overlap to refetch should be: * - left edge overlap = 2 * - top edge overlap = 2 Since this function is using prefiltering (gaussian), this function does not do border replicate or assuming some value, meaning all output pixels are produced from true input pixels, meaning that the output is smaller. This gives the best performance if it is acceptable to have 1 line of border on the output which is not written to (assuming that you center the output. So, assuming you have the full buffer you asked for in the output, you can set the output params to: dstParam.data_type = VXLIB_UINT8; dstParam.dim_x = 960; dstParam.dim_y = 540-2; dstParam.stride_y = 960; If you give the pointer to top of full buffer, then the last 2 lines will not be written to. Alternatively, you can give pointer to beginning of second line to have centered output (top line does not get written to, and last line does not get written to). Also, 2 border pixels per row will be garbage. If you want to avoid the reduction in size of image, you can use the VXLIB_scaleImageNearest_i8u_o8u (which doesn't give preprocessing and may lead to aliasing artifacts). Alternatively, you can use VXLIB_scaleImageBilinear_br_i8u_o8u, which uses interpolation as part of arbitrary scale, and replicates the border. This additional functionality costs extra cycles per pixel. It is about 9-10 cycles per pixel. So if that is still within your budget, it offers the most flexibility. Finally, another option is to use the VXLIB_halfScaleGaussian_5x5_br_i8u_o8u_o8u. It does a half scale with handling of border. However, it gives a second "full sized" output for a special OpenVX case. However, you can try to change the code to remove the writes to dstFull buffer to see if the performance improves, but this may require some more work and testing. Hope this helps. Jesse + +Hello Jesse, Adding 2 in both dim_x and dim_y of dstParams solved my problem For now I'm closing this thread, will come back to you if any issues facing while doing same thing in slices with edma. Regards, Kajal. + diff --git a/sample_embedding_folder2/0762106.txt b/sample_embedding_folder2/0762106.txt new file mode 100644 index 0000000000000000000000000000000000000000..0f602a01ae5008ca6ac86bb7a275e5bd345d8862 --- /dev/null +++ b/sample_embedding_folder2/0762106.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2: SBL halt + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Expert, I'm running PROCESSOR SDK VISION v03.04.00 rtos on tda2eg custom board. It's OK to work. However, when OSC1 Crystal(AC13/15) is removed, the following halt problem occurs. Could you please give me some advise? Thanks in advance. + +Responses: +Hi, You should set the board to a reserved boot mode and load SBL using CCS. After that do a single step to see where exactly the failure is occurring. Regards, Rishabh + +Hi, I'm try load using CCS run binaries, but no any print. CCS log is below: IcePick_D: GEL Output: Ipu RTOS is released from Wait-In-Reset. IcePick_D: GEL Output: Ipu SIMCOP is released from Wait-In-Reset. IcePick_D: GEL Output: IVAHD C66 is released from Wait-In-Reset. IcePick_D: GEL Output: IVAHD ICONT1 is released from Wait-In-Reset. IcePick_D: GEL Output: IVAHD ICONT2 is released from Wait-In-Reset. CS_DAP_DebugSS: GEL Output: --->>> CONFIGURE DEBUG DPLL settings to 1.9 GHZs <<<--- CS_DAP_DebugSS: GEL Output: > Setup DebugSS 1.9GHz in progress... CS_DAP_DebugSS: GEL Output: < Done with Setup DebugSS Trace export clock (TPIU) to 97MHz CS_DAP_DebugSS: GEL Output: < Done with Setup DebugSS PLL Clocking 1.9GHz CS_DAP_DebugSS: GEL Output: < Done with Setup DebugSS ATB Clocking 380MHz CS_DAP_DebugSS: GEL Output: < Done with Setup DebugSS Trace export clock (TPIU) to 97MHz CS_DAP_DebugSS: GEL Output: --->>> TURNING ON L3_INSTR and L3_3 clocks required for debug instrumention <<<<<<---- CS_DAP_DebugSS: GEL Output: ---<<< L3 instrumentation clocks are enabled >>>> --- CS_DAP_DebugSS: GEL Output: --->>> Mapping TIMER supsend sources to default cores <<<<<<---- CS_DAP_PC: GEL Output: Cortex-A15 1 is not in WIR mode so nothing to do. CortexA15_0: GEL Output: --->>> TDA2Ex Target Connect Sequence Begins ... <<<--- CortexA15_0: GEL Output: --->>> TDA2Ex PG2.0 GP device <<<--- CortexA15_0: GEL Output: --->>> The core is in non-SECURE state. <<<--- CortexA15_0: GEL Output: --->>> PRCM Clock Configuration for OPPNOM in progress... <<<--- CortexA15_0: GEL Output: Cortex A15 DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: Cortex A15 DPLL is already locked, now unlocking... CortexA15_0: GEL Output: Cortex A15 DPLL OPP 0 is DONE! CortexA15_0: GEL Output: IVA DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: IVA DPLL OPP 0 is DONE! CortexA15_0: GEL Output: PER DPLL OPP 0 clock config in progress... CortexA15_0: GEL Output: PER DPLL already locked, now unlocking CortexA15_0: GEL Output: PER DPLL OPP 0 is DONE! CortexA15_0: GEL Output: CORE DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: CORE DPLL OPP already locked, now unlocking.... CortexA15_0: GEL Output: CORE DPLL OPP 0 is DONE! CortexA15_0: GEL Output: ABE DPLL OPP 0 clock config in progress... CortexA15_0: GEL Output: ABE DPLL OPP 0 is DONE! CortexA15_0: GEL Output: GMAC DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: GMAC DPLL OPP 0 is DONE! CortexA15_0: GEL Output: GPU DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: GPU DPLL OPP 0 is DONE! CortexA15_0: GEL Output: DSP DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: DSP DPLL already locked, now unlocking.... CortexA15_0: GEL Output: DSP DPLL OPP 0 is DONE! CortexA15_0: GEL Output: PCIE_REF DPLL OPP 0 clock config is in progress... CortexA15_0: GEL Output: PCIE_REF DPLL OPP 0 is DONE! CortexA15_0: GEL Output: --->>> PRCM Clock Configuration for OPP 0 is DONE! <<<--- CortexA15_0: GEL Output: --->>> PRCM Configuration for all modules in progress... <<<--- CortexA15_0: GEL Output: module_base: 0x4A009700 CortexA15_0: GEL Output: module_offset: 0x000000C8 CortexA15_0: GEL Output: TIMEOUT CortexA15_0: GEL Output: module_base: 0x4A009700 CortexA15_0: GEL Output: module_offset: 0x000000D0 CortexA15_0: GEL Output: TIMEOUT CortexA15_0: GEL Output: module_base: 0x4A009700 CortexA15_0: GEL Output: module_offset: 0x000000D8 CortexA15_0: GEL Output: TIMEOUT CortexA15_0: GEL Output: module_base: 0x4A009700 CortexA15_0: GEL Output: module_offset: 0x00000130 CortexA15_0: GEL Output: TIMEOUT CortexA15_0: GEL Output: --->>> PRCM Configuration for all modules is DONE! <<<--- CortexA15_0: GEL Output: --->>> DDR3 Initialization is in progress ... <<<--- CortexA15_0: GEL Output: DDR DPLL clock config for 666MHz is in progress... CortexA15_0: GEL Output: DDR DPLL already locked, now unlocking.... CortexA15_0: GEL Output: DDR DPLL clock config for 666MHz is in DONE! CortexA15_0: GEL Output: Launch full leveling CortexA15_0: GEL Output: Updating slave ratios in PHY_STATUSx registers CortexA15_0: GEL Output: as per HW leveling output CortexA15_0: GEL Output: HW leveling is now disabled. Using slave ratios from CortexA15_0: GEL Output: PHY_STATUSx registers CortexA15_0: GEL Output: --->>> DDR3 Initialization is DONE! <<<--- CortexA15_0: GEL Output: --->>> TDA2Ex Begin All Pad Configuration for Vision Platform <<<--- CortexA15_0: GEL Output: --->>> TDA2Ex Begin All Pad Configuration for RGMII usage on EVM Platform <<<--- CortexA15_0: GEL Output: --->>> TDA2Ex Begin GMAC_SW MDIO Pad Configuration <<<--- CortexA15_0: GEL Output: --->>> TDA2Ex End GMAC_SW MDIO Pad Configuration <<<--- CortexA15_0: GEL Output: --->>> TDA2Ex Begin GMAC_SW RGMII0 Pad Configuration <<<--- CortexA15_0: GEL Output: --->>> TDA2Ex End GMAC_SW RGMII0 Pad Configuration <<<--- CortexA15_0: GEL Output: --->>> TDA2Ex Begin GMAC_SW RGMII1 Pad Configuration <<<--- CortexA15_0: GEL Output: --->>> TDA2Ex End GMAC_SW RGMII1 Pad Configuration <<<--- CortexA15_0: GEL Output: --->>> TDA2Ex End All Pad Configuration for RGMII usage on EVM Platform <<<--- CortexA15_0: GEL Output: --->>> TDA2Ex End All Pad Configuration for Vision Platform <<<--- CortexA15_0: GEL Output: --->>> TDA2Ex Target Connect Sequence DONE !!!!! <<<--- CortexA15_0: GEL Output: --->>> IPU1SS Initialization is in progress ... <<<--- CortexA15_0: GEL Output: --->>> IPU1SS Initialization is DONE! <<<--- CortexA15_0: GEL Output: --->>> IPU2SS Initialization is in progress ... <<<--- CortexA15_0: GEL Output: --->>> IPU2SS Initialization is DONE! <<<--- CortexA15_0: GEL Output: --->>> DSP1SS Initialization is in progress ... <<<--- CortexA15_0: GEL Output: DEBUG: Clock is active ... CortexA15_0: GEL Output: DEBUG: Checking for data integrity in DSPSS L2RAM ... CortexA15_0: GEL Output: DEBUG: Data integrity check in GEM L2RAM is sucessful! CortexA15_0: GEL Output: --->>> DSP1SS Initialization is DONE! <<<--- CortexA15_0: GEL Output: --->>> IVAHD Initialization is in progress ... <<<--- CortexA15_0: GEL Output: DEBUG: Clock is active ... CortexA15_0: GEL Output: --->>> IVAHD Initialization is DONE! ... <<<--- CortexA15_0: GEL Output: --->>> PRUSS 1 and 2 Initialization is in progress ... <<<--- CortexA15_0: GEL Output: --->>> PRUSS 1 and 2 Initialization is in complete ... <<<--- Thanks in advance. + +Hi, You need to remove gel files from target configuration before doing this. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0762118.txt b/sample_embedding_folder2/0762118.txt new file mode 100644 index 0000000000000000000000000000000000000000..774bbbf76884ed44938018fa4401f760e82e4671 --- /dev/null +++ b/sample_embedding_folder2/0762118.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: Deep learning algorithms run very slowly on DSP(TDA2xx) + +Query Text: +Part Number: TDA2 Hi, Deep learning algorithms run very slowly on DSP(TDA2xx) image size is 512x256. ### CPU [ DSP1], LinkID [ 49], [IPU1-0] 831.681815 s: [IPU1-0] 831.681845 s: [ ALG_TIDL ] Link Statistics, [IPU1-0] 831.681937 s: ****************************** [IPU1-0] 831.681998 s: [IPU1-0] 831.682028 s: Elapsed time = 633812 msec [IPU1-0] 831.682120 s: [IPU1-0] 831.682272 s: New data Recv = 0.2 fps [IPU1-0] 831.682364 s: [IPU1-0] 831.682394 s: Input Statistics, [IPU1-0] 831.682455 s: [IPU1-0] 831.682516 s: CH | In Recv | In Drop | In User Drop | In Process [IPU1-0] 831.682577 s: | FPS | FPS | FPS | FPS [IPU1-0] 831.682669 s: -------------------------------------------------- [IPU1-0] 831.682760 s: 0 | 0. 1 0. 0 0. 0 0. 1 Computational complexity: thanks! + +Responses: +Hi, can you check this post by Kumar and update "deploy.prototxt " parameters as described and see if it improves the speed: e2e.ti.com/.../689617 Regards, Yordan + +Hi, deploy_512x256.rarAbout eep_top_k: 20 confidence_threshold: 0.15 1. I don't have these two variables in my file (deploy.prototxt) . 2. I want to run four networks on tda2x at the same time. 1camera (video input)---------->first network on DSP_1 2camera(video input)---------->the second network on DSP_2 3camera(video input)----------->the third network on EVE_1 4camera(video input)---------->the fourth network on EVE_2 EVE_3 EVE_4 The network is running slowly on the DSP. Is there any way to improve it? Thanks! + +Refer The data sheet for performance comparision between EVE and DSP. We dont see much scope the improve the performnce of DSP + diff --git a/sample_embedding_folder2/0762301.txt b/sample_embedding_folder2/0762301.txt new file mode 100644 index 0000000000000000000000000000000000000000..1c068ddc50732d1577bab1b59f117044b86cd22c --- /dev/null +++ b/sample_embedding_folder2/0762301.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: Understanding Best Suitable TDA2X processor for the Cascaded Design + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: AWR1243 Hello, I am trying to figure out the maximum possible 2D and 3D complex FFT size possible using TDA2x and TDA2px for our application. For the cascaded design that will hopefully be released in the first quarter of 2019 by TI, could you please tell me what is the exact part number of TDA2x that you have used? Based on the datasheet of TDA2X ADAS processors, from Pg 142, TDA2xxT is the best processor to use because it has the fastest DSP and EVE processing speed. Based on pg 6, TDA2SXx and TDA2SGx of TDA2Sxx subfamily is the best processor because it suits all the hardware requirements for supporting 4 AWR1243s together. Also, could you also tell me the max datarate that the videoports of TDA2x can handle? TDA2x has only 3 VIP ports present. Then how do you connect and transfer data from four AWR1243s to the three VIP ports? Could you please give a brief explanation to it? Thank you! Best Regards, Nishant + +Responses: +Nishant, The part number we use in the board is x5777 which is the pre-production part for the TDA2x device. This supports the mazimum speed grade mentioned in the Datasheet. For the exact number of FFTs that can be performed, I would advice you to feed your system configuration in the Radar System planner to see if your required usecase would fit in the device. TDA has 3 VIP instances. For the number of ports available for capture please refer to Figure 9-2. VIP Environment of the TRM. Here you would see each VIP has a slice. We are connecting the AWR1243 to VIN 1A, 2A, 3A, 4A. The data rate we are supporting from the default FPGA image is 150 MHz 16 bits which is sufficient for 2400 Mbps (600 Mbps 4-lane AWR configuration). Thanks and Regards, Piyali + +Thank you Piyali for your help with all my questons! Best Regards, Nishant + diff --git a/sample_embedding_folder2/0762306.txt b/sample_embedding_folder2/0762306.txt new file mode 100644 index 0000000000000000000000000000000000000000..0c1e7fb831ffeae34c4ad4ee171e4f49b3f2a1bc --- /dev/null +++ b/sample_embedding_folder2/0762306.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Use-case Development for Cascaded Radar Design + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: AWR1243 Hello, I am trying to understand the fundamental differences between different use-case and develop my own use-case for my application. In the use-case "multi_radar_capture_fft_display," you have used 'ISSCapture' algorithm process to collect CSI-2 data from AWR1243 radar sensor. However, in the use-case "cascade_radar_object_detect", you have used "Capture" algorithm process to collect CSI-2 radar data. What is the fundamental difference between these two processes? Is there any advantage of using one over another? I look forward to your reply. Thank you! Best Regards, Nishant + +Responses: +Hi Nishant, ISSCapture is using CAL driver to capture the data in the underlying link. "Capture" is using VIP driver to capture the data in the underlying link. The choice is based on how the AWR1243 is connected to the TDA (via CSI/CAL or via VIP (parallel)). Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0762448.txt b/sample_embedding_folder2/0762448.txt new file mode 100644 index 0000000000000000000000000000000000000000..fcb8534a76dbb63dfdd48e653fa7826b9e3e0916 --- /dev/null +++ b/sample_embedding_folder2/0762448.txt @@ -0,0 +1,14 @@ +Ticket Name: Compiler/TDA2PXEVM: Need Information/clarity on compiling Linux applications for TI using Vision SDK framework + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler Hi , I have got couple of qeries regarding porting Linux Application on to Vision SDK framework for which I request you to provide your inputs on it. We have got an Linux application say Sample(which is designed and working for Linux platform) which is not complete POSIX compliant but has got support for most of the POSIX features in it. Namely Pthread, Semphores, Sockets, FileSystem calls File(OPEN …), Directory(MKDIR…) and Link(UNLINK..) operations Basic(CHMOD,UMASK…) file attributes File descriptor(FCNTL..) manipulations Read/Write(READ,WIRTE..) operations Synchronized(SYNC,FSYNC..), Asynchronous(IO_SETUP,IO_DESTROY..) and Multiplexed(SELECT,EPOLL…) I/O Monitoring(INOTIFY_INIT) file events and FIFO(mkfifo..) operations IPC communications(Shared memory). As SYBIOS provides pthread support for A15 core and also NDK(Yet to explore) is built for A15 we were trying to compile/build our Linux application(Sample) for A15 core alone on Vision SDK framework. Are we on the right direction? Do you foresee any issues with it? Recent conversation with TI Engineer states we need to Port Linux on to A15 core? Does it mean porting complete Linux platform on to A15 core and post to which we should start porting our Sample on to A15? As mentioned Linux application Sample has got FileSystem calls in place. Do we have support for FileSystem on SYSBIOS? If So, how could we make use of it or do we need to look for corresponding alternatives in it? And Sample being the server component, there are the other application which communicates to Sample via Sockets or through PIPES or any file based operations. Being Sample built for A15 core, does the other applications which has to communicate to Sample should also be built for A15? Request you to pour in your inputs/thoughts on it. + +Responses: +Hi Ramesh, VisionSDK has Linux + BIOS mode on which A15 core runs Linux, while all other cores run RTOS. You can check UserGuide and DevelopmentGuide in PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\docs\Linux. Can you check if that works for you? Regards, Yordan + +Hi Yordan, Thanks, definitely I will have a look at it, will get back to you ASAP, in case if I face any issue with it. Btw when I try to compile the sources for "tda2px_evm_linux_all" I do face the below mentioned compiler issues? /tda2/apps/src/rtos/iss/src/sensor/ar0220/iss_sensor_ar0220.c "/opt/V_SDK/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/apps/src/rtos/iss/src/sensor/ar0220/iss_sensor_ar0220.c", line 66: error: excess initializers are ignored "/opt/V_SDK/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/apps/src/rtos/iss/src/sensor/ar0220/iss_sensor_ar0220.c", line 86: error: excess initializers are ignored 2 errors detected in the compilation of "/opt/V_SDK/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/apps/src/rtos/iss/src/sensor/ar0220/iss_sensor_ar0220.c". >> Compilation failure make[5]: *** [/opt/V_SDK/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/binaries/apps/tda2px_evm_linux_all/obj/iss_libs/tda2px-evm/ipu2/release/iss_sensor_ar0220.oem4] Error 1 make[5]: Leaving directory `/opt/V_SDK/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/apps/src/rtos/iss' More over as mentioned earlier, my Sample application being Server component if it is build for A15 core which runs on Linux, the other use cases/applications which was built for other cores runs on RTOS is it still possible to establish the communication channel among other cores to A15 core? + +Hi Ramesh, Already 1 thread is running on this issue. So please do not create duplicate threads. I will provide answers on your running thread. Please close this one . Regards, Anuj + +Hi Anuj, I was asked to create the new thread for other topics, assuming I will not the response to it, I have started a new thread. Sure, I will close this loop and will continue to ask the queries on the thread which you have responded. Closing this all the queries will be asked under " e2e.ti.com/.../761254" Pradeep + diff --git a/sample_embedding_folder2/0762475.txt b/sample_embedding_folder2/0762475.txt new file mode 100644 index 0000000000000000000000000000000000000000..cfcbb490f5f0057763699166dee499de0f8ec8f7 --- /dev/null +++ b/sample_embedding_folder2/0762475.txt @@ -0,0 +1,26 @@ +Ticket Name: RTOS/TDA2: TDA2x: Invalid MultiProc id + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hello, I'm working with a TDA2EVM5777 and use Vision SDK version 2.5 (old Version because of legacy reason). I wrote a new link and wanted to test it in a usecase. After compiling i try to load the program but got this message in the console: [Cortex_M4_IPU1_C0] IPU1-0 Remote Log Shared Memory @ 0xa0d00000 IPU1-1 Remote Log Shared Memory @ 0xa0d04010 HOST Remote Log Shared Memory @ 0xa0d08020 DSP1 Remote Log Shared Memory @ 0xa0d0c030 DSP2 Remote Log Shared Memory @ 0xa0d10040 EVE1 Remote Log Shared Memory @ 0xa0d14050 EVE2 Remote Log Shared Memory @ 0xa0d18060 EVE3 Remote Log Shared Memory @ 0xa0d1c070 EVE4 Remote Log Shared Memory @ 0xa0d20080 ti.sdo.ipc.Ipc: line 102: ti.sdo.ipc.Ipc: line 102: assertion failure: A_invalidMultiProcId: Invalid MultiProc id xdc.runtime.Error.raise: terminating execution [C66xx_DSP1] ti.sdo.ipc.Ipc: line 101: ti.sdo.ipc.Ipc: line 101: assertion failure: A_invalidMultiProcId: Invalid MultiProc id xdc.runtime.Error.raise: terminating execution What is the reason for this failure and how can i fix this? + +Responses: +Hi Julian, Will it be possible for you to try compiling this using VSDK 3.6 software-dl.ti.com/.../index_FDS.html If not can you share the changes you have made in a zip file? Regards, Rishabh + +Thank you for the fast reply. In the used Project are links and a usecase which i need. They are not included in newer versions of vision sdk because its a project from someone else. For this reason i didn't compile it with a newer version of vision SDK. What kind of changes should I share? Only the Link i created or every file where i changed anything. + +Hi, Can you share all files you changed on top of VSDK 2.5. Regards, Rishabh + +All the files I change in the Project are in this file. I deleted the usecase to test the link. Only an unused link is left in the project. But then i get the same Error. + +Hi Julian, Can you try to build VSDK 2.5 and run without these changes to check the sanity of system. Regards, Rishabh + +Hi Rishabh, I can build and run VSDK2.5 without these changes. There is no Error in consol and I can choose the different usecases. I am sure that there are a few mistakes in my new link but I don'tunderstand why this Error happens so early without calling the new link in any usecase. Regards, Julian + +Hi Julian, At a glance code seems fine. Can you add a while loop in the start of main application for DSP1 and then connect using CCS & debug further. Regards, Rishabh + +Hi Julian, Is there an update on this? Regards, Rishabh + +Hi Rishabh, Thank you for your help. I finally found my problem. In the Function MultiProc_getId there was something strange. UInt16 MultiProc_getId(String name) { Int i; UInt16 id; Assert_isTrue(name != NULL, ti_sdo_utils_MultiProc_A_invalidProcName); id = MultiProc_INVALIDID; for (i = 0; i < ti_sdo_utils_MultiProc_numProcsInCluster; i++) { if ((ti_sdo_utils_MultiProc_nameList[i] != NULL) && (strcmp(name, ti_sdo_utils_MultiProc_nameList[i]) == 0)) { id = i + MultiProc_module->baseIdOfCluster; } } return (id); } In the debugger I observed that the Variable 'i' started in the for loop with '-1' instead of '0'. I thought that maybe there was something wrong compiled. Therefor I used 'gmake -s all' instead of 'gmake -s' to rebuild everything. This solved my Problem. Regards, Julian + +Hi Julian, Thanks for the confirmation. I am closing the thread. Regards, Rishabh + diff --git a/sample_embedding_folder2/0762715.txt b/sample_embedding_folder2/0762715.txt new file mode 100644 index 0000000000000000000000000000000000000000..cf55bac30d64bf5752d57670255b6e945827d913 --- /dev/null +++ b/sample_embedding_folder2/0762715.txt @@ -0,0 +1,18 @@ +Ticket Name: TDA2: EVE: BAM buffer transfer + +Query Text: +Part Number: TDA2 Hi, Are there any limitations or guidelines to buffer transfer within a kernel, or in between different kernels? Is there any document which specifies this? I am facing issues in both inter-kernel transfers as well as within kernel buffer transfers. Regards, Shruti + +Responses: +Hi Shruti, All the requirements are specified in the BAM user's guide. What kind of issues you are facing ? regards, Victor + +Hi Victor, Yes I have gone through the BAM user guide. Following are the issues I am facing are: 1. The user guide mentions "One output of an upstream node can be connected to many inputs of a downstream node." - So I have a kernel1 which has one input and two outputs (output1 and output2) . Both of these outputs serve as an input to two different kernels kernel2 and kernel3. The code gets compiled correctly, but when I run the code, I see that one of the kernels does not get these input buffer address correctly. The addresses are zero for one of the kernel which in turn affects the output. But, when I replicate these output buffers in kernel1 (i.e. total 4 outputs given out : output1, output2, output1_1, output2_1) and give seperate outputs to respective kernels then the addresses come out correct and also the output. 2. I observe the same issue inside a kernel as well. I have a kernel1, which has multiple functions inside suppose func1(), func2() and func3(). The kernel has one input from another kernel, namely input1. If I use the same input buffer in multiple functions like func1() and func2(), then I see that func1() has the correct input data, but func2() gets some corrupted data. This thus affects the output. Again if I replicate input1 into another intermediate buffer inter1 and pass this to the next function func2() then the data is correct and the output is correct as well. Are these limitations of BAM? Or are there some bugs? Or is there any configuration to correct this behavior? Regards, Shruti + +Hi Shruti, 1. Please refer to the constrain listed in Chapter 5 'Current limitations' of BAM user's guide: Specifications of edge list. If one single port of an upstream node has more than one connection, which happens in case of a fork in the graph, then all these connections must be clustered together. For instance in the below image pyramid graph, every DS_NODE’s output port BAM_BLOCKAVERAGE2x2_OUTPUT_PORT has two connections: one to the next DS_NODE and one to SINK_NODE. These connections must appear one afte the other in edge list. If there is a connection involving another node or another port between them then graph creation would be incorrect. I hope this is the issue. 2. You should be able to pass the same input buffer to multiple functions. I assume func1() runs first. Are you seeing that the input to func2() gets corrupted after func1() is executed ? Unless func1() writes into that same buffer during execution, this should not happen. regards, Victor + +Hi Victor, 1. Thank you. This was the issue, I am able to see the correct addresses now. 2. Yes, func1() is getting executed first, and I am just reading the input and placing the output in a separate buffer. But still the input gets corrupted before the func2(). I can try to print the addresses, to check whether it was overlapping with any other intermediate buffer. Regards, Shruti + +Hello Shruti, Did you do more investigation for 2) ? regards, Victor + +I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). + diff --git a/sample_embedding_folder2/0762723.txt b/sample_embedding_folder2/0762723.txt new file mode 100644 index 0000000000000000000000000000000000000000..95a3e1a8634a8f4777532e95630d127140e25a14 --- /dev/null +++ b/sample_embedding_folder2/0762723.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: EVE application code does not execute on board + +Query Text: +Part Number: TDA2 Hi, I have created an application that should run on EVE. When I execute this application on EVE Simulator (ccs v5 Vayu simulator), it runs correctly and generates expected output. But when I try to run the same application on TDA2x board via emulator (ccs v7), it gets stuck at one point. I have some other applications, which run seamlessly through both simulator and emulator, so does not seem to be hardware issue. What are the differences between simulator and emulator environment? Is there anything in the code that needs to be changed or configured? Regards, Shruti + +Responses: +Hi Shruti, If it works on the simulator then generally it should work on the emulator. Where did it get stuck ? Please make sure you follow all the instructions in paragraph 3.6 of the eve_sw_getting_started.pdf of the EVE sw release, especially set EVE_SW_CONFIG macro to 1 in TDA2xx_multicore_reset.gel file. regards, Victor + +Hi Victor, The code works fine with the simulator. But when I run it onto the board, it gets stuck after one block of BAM execution. Can you help me figure out the problem? I tried adding the code one by one. There is a lookup table implemented in the function, and when I comment the lookup table loop, the code runs on the board. It is a simple lookup table similar to the ones given in TIs examples. The same lookup table works with another application correctly. Can this be some illegal memory access issue? or some configurational issue? Regards, Shruti + +Hi Shruti, You said it gets stuck. If you halt the CPU, where the program counter points to ? Or is the ARP32 crashed and you cannot even reconnect to it ? If it crashed, it could be that that the VCOP error register got set and if you don't clear the error bit, before VCOP is ran again, it will cause ARP32 to disconnect. You can monitor the state of the vcop_error register by selecting the Code Composer menu View->Register and click on VCOP_Status_Registers. if any bits of the vcop_error register is set, you need to clear it by writing the same value again. If you don't do that, next time, VCOP is executed, ARP32 will disconnect. Please refer to the EVE programmer's guide section 9.3 for meaning of the vcop_register's fields. regards, Victor + diff --git a/sample_embedding_folder2/0763342.txt b/sample_embedding_folder2/0763342.txt new file mode 100644 index 0000000000000000000000000000000000000000..bc5cf7174c640dc84763328d39d002850f9b57a0 --- /dev/null +++ b/sample_embedding_folder2/0763342.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: TDA2x EVM power cord + +Query Text: +Part Number: TDA2 Hi, I purchased an tda2 evaluation module kit and i need to buy a power supplier. the shop recommends: Recommended Power Supply Options 12V, 5A, 65W compatible wall supplies Spectrum Digital Part# 701029-0001 CUI Inc. - p/n SDI65-12-U-P5 CUI Inc. - p/n SDI65-12-UD-P5 CUI Inc. - p/n SDI65-12-U-P6 CUI Inc. - p/n SDI65-12-UD-P6 Volgen America/Kaga Electronics USA - p/n KTPS65-1250DT-3P-VI-C-P1 But i need it quite urgently- can i purchase a power cord from anyone in Israel? Can i just use a random power cord that supplies the same V? also, is it the same power supplier as the TDA2 regular board? Thanks, S + +Responses: +Hi Stav, you can use a power supply with the following specs (check here: www.ti.com/.../TDA2EVM5777 ): 12V DC output 5A output Positive inner and negative outer terminals Female barrel with 2.5mm or 2.1mm inner diameter and 5.5mm outer diameter, insertion depth is 8.85mm Regards, Yordan + diff --git a/sample_embedding_folder2/0763368.txt b/sample_embedding_folder2/0763368.txt new file mode 100644 index 0000000000000000000000000000000000000000..b0bfa111d62876a5e1ae169d4f6c9338794168b0 --- /dev/null +++ b/sample_embedding_folder2/0763368.txt @@ -0,0 +1,8 @@ +Ticket Name: CCS/TDA2: Vlib old version + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio Hi Where can we find VLIB version for host emulation?The latest VLIB version does not support host emulation, but we can not find old version of VLIB. 3.6.2 Installing VLIB package for host emulation Object detection source package relies on VLIB source package to build the target in host emulation mode. Install VLIB package and link the pre-built host emulation VLIB libraries against Object detection module. After installing VLIB, set the environment variable to “VLIB_HOST_INSTALL_DIR” to the installed directory like \packages + +Responses: +This is only available as part of the source release. If you need the source release, you can contact your local TI representative. + diff --git a/sample_embedding_folder2/0763722.txt b/sample_embedding_folder2/0763722.txt new file mode 100644 index 0000000000000000000000000000000000000000..d73a92a9ce71fc0d041ae1affba900d1af87ff7e --- /dev/null +++ b/sample_embedding_folder2/0763722.txt @@ -0,0 +1,12 @@ +Ticket Name: RTOS/TDA2: TIDL: How can I get DataQ value for an output tensor? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi guys, I have been studying TIDL for a while and after getting some good understanding on it now I am adding a new object detector into TIDL_OD example. TIDL_OD implemented SSD detection method but I removed SSD from it and added a Yolo V2 like detector on the base network. So now I got the output tensor from it whose size is [1 x 40 x 18 x 32] and I need to parse those blob to come up with coordinates of bounding boxes. The real problem is that I need to convert those numbers into floating values. So I dig into some threads discussing this issues. In the end, the conclusion is two piece of information. one from User Guide of TIDL and one from this web site. Here is the answer. ---- 10. What is Q format of output? The output is 8 bit fixed point representation with the scaling factor. The 8 bit value can be divided by scaling factor to get the floating point value. The scaling factor (in Q8 format) is available in dataQ of (sTIDL_DataParams_t). Import tool also prints this information for sampledata as “Out Q : X”. Related E2E query : e2e.ti.com/.../642684 ---- But when I print out the following variables from net structure right after running TIDL algorithm. It shows all zeros on dataQ fields. (sTIDL_DataParams_t). From the source code, vision_sdk/apps/src/rtos/alg_plugins/tidl/tidlLink_algPlugin.c At the function AlgorithmLink_tidlProcess(), I added the following printing lines: i from 0 to 28 , since I have 28 layers. Vps_printf("net->TIDLLayers[%d].outData[%d].dataQ = %d\n", i, 0, net->TIDLLayers[i].outData[0].dataQ); Vps_printf("net->TIDLLayers[%d].inData[%d].dataQ = %d\n", i, 0, net->TIDLLayers[i].inData[0].dataQ); I need to know that dataQ value to calculate a scale factor to convert those 8bit quantized values into floating values. Can you help me on how I can get those dataQ values for my last convolutional layer? And if I run a statical tool called quantStatTool (exe binary), it print out the Out Q values, basically how you to print those Out Q values? Thanks in advance! + +Responses: +Please find the dataQ information as part of outArgs typedef struct { IVISION_OutArgs iVisionOutArgs; int32_t numOutBufs; int32_t dataQ[TIDL_NUM_OUT_BUFS]; } TIDL_outArgs; + +Hi Kumar, Thanks a lot for your answer. Indeed I already checked the outArgs struct too since I guessed that it might has the dataQ values for output buffers (i.e., output tensors). I thought that it is the right answer, but when I print out dataQ[0] to dataQ[15] (since there are 16 buffers), only the first value has some output numbers all others (15) are zeros. This is fine since I have only one output buffer (convolutional layer), but dataQ[0] value begins from a value of 1402 and goes down to 42, and sometimes shows 0. 0 dataQ value is something wrong, isn't it? Anyway, thanks for confirming my hypothesis is indeed correct. What do you think about those zeros dataQ values sometimes? + +1402 looks reasonable to me. DataQ ero mean almos all the tensor values are zero. Is the input image is dark r staurated during this Data zero case. Are you getting the expected output during import. If yes, try to run import with more images. + diff --git a/sample_embedding_folder2/0763797.txt b/sample_embedding_folder2/0763797.txt new file mode 100644 index 0000000000000000000000000000000000000000..7763f16ff68b0bee324713a469c8b54571faf860 --- /dev/null +++ b/sample_embedding_folder2/0763797.txt @@ -0,0 +1,12 @@ +Ticket Name: Compiler/TDA2PXEVM: Compiler issues while porting Linux application to A15(which runs on SYSBIOS) + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: SYSBIOS, TDA2 Tool/software: TI C/C++ Compiler Hi, As discussed under "e2e.ti.com/.../2823318 creating the new thread related to compiler issues. With the help of the patch we could compile the sources for A15 core both in module as well as in usecase. The MAKEFILE.MK file what we have at our end doesn't contain anything related to "AUTOSAR_APP". So, I haven't included those changes. ifeq ($(AUTOSAR_APP), yes) -APP_LIBS_$(IPU_SECONDARY_CORE) += $(DEST_ROOT)/lib/$(PLATFORM)/$(IPU_SECONDARY_CORE)/$(PROFILE_$(IPU_SECONDARY_CORE))/app_libs.aem4 +APP_LIBS_$(IPU_SECONDARY_CORE) += $(DEST_ROOT)/lib/$(PLATFORM)/$(IPU_SECONDARY_CORE)/$(PROFILE_a15_0)/app_libs.aa15fg endif For your reference we are using below version of SDK "PROCESSOR_SDK_VISION_03_03_00_00" You mentioned that you are running bios on A15 but your module uses linux calls...... Yeah, but can't we not overcome those compiler errors ?redefinition errors being ---------------------- /opt/V_SDK/FFC/FFC_WORKSPACE/scripts/..//sdk/ti/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/os_tools/bios_6_46_04_53/packages/ti/sysbios/posix/mqueue.h:63:0: error: "O_CREAT" redefined [-Werror] #define O_CREAT 0x200 /* TODO: sys/fcntl.h? */^ In file included from /opt/V_SDK/FFC/FFC_WORKSPACE/scripts/..//sdk/ti/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/os_tools/bios_6_46_04_53/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/include/sys/fcntl.h:4:0, from /opt/V_SDK/FFC/FFC_WORKSPACE/scripts/..//sdk/ti/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/os_tools/bios_6_46_04_53/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/include/fcntl.h:1, from /opt/V_SDK/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/apps/src/rtos/modules/LibDLT/dlt_user.c:43: /opt/V_SDK/FFC/FFC_WORKSPACE/scripts/..//sdk/ti/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/os_tools/bios_6_46_04_53/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/include/sys/_default_fcntl.h:37:0: note: this is the location of the previous definition #define O_CREAT _FCREAT ^ ----------------------------- If you are running bios on A15 then all those answer does not hold true.... Yeah, I understand the answer doesn't hold true if either SYSBIOS runs of A15. Having it in mind I would like re-iterate the set of queries to proceed further. As Pthread support is available for A15, building pthread application for SYSBIOS would still be possible? As mentioned our application had got sockets and FILESystem calls in place, Do we have support for FileSystem and sockets on SYSBIOS? If So, how could we make use of it or do we need to look for corresponding alternatives in it? And having said Sample being the server component, there are the other applications which communicates to Sample via Sockets or through PIPES or any file based operations. Being Sample built for A15 core, does the other applications which has to communicate to Sample should also be built for A15?or IPC(shared memory) mechanism suggested still holds good for communication? So you have to try with tda2px_evm_linux_all cfg.... Could please elaborate on it, what excatly should be considered from tda2px_evm_linux_all cfg.file reason being tda2px_evm_linux_all cfg.file had got A15_TARGET_OS to Linux. Pradeep + +Responses: +Hi Yes, you can get Pthread support on A15 Bios Socket APIs are not supported on Bios, but native FATFS file system can be supported IPC is supported in a different way and not using socket APIs, BTW, which Linux code you try to port on A15 Bios? regards, Shiju + +Hi Shiju, BTW, which Linux code you try to port on A15 Bios? To be more specific we are trying to port DLT_DAEMON(which is a logging framework built for linux platform which had got most of the POSIX related calls int it) were in other components/applications use dlt interfaces to log the data to DLT-DAEMON via pipes or shared memory, and DLT-Daemon would route the data to client which runs on host machine using sockets. so, in order to acheive that we are trying to port DLT to SYSBIOS using vision SDK. ------------ Socket APIs are not supported on Bios... Then how could we communicate to external host machine(windows)? but native FATFS file system can be supported.. Could you please refer us the sample example from Vision SDK package which has got native FATFS in use? ------------ IPC is supported in a different way and not using socket APIs, .. could you please elaborate what do you mean by IPC is Supported in different way? + +Hi You can use Ethernet to communicate with external host machine(windows) for FATFS, please refer \vision_sdk\apps\src\rtos\usecases\tidl UC, it read data from SD card (using FAT FS) Please refer \vision_sdk\links_fw\src\rtos\links_common\ipcOut and ipcIn modules regards, Shiju + diff --git a/sample_embedding_folder2/0763798.txt b/sample_embedding_folder2/0763798.txt new file mode 100644 index 0000000000000000000000000000000000000000..33a619bc402868ced9eb12b16ea4b19f4d86f20f --- /dev/null +++ b/sample_embedding_folder2/0763798.txt @@ -0,0 +1,11 @@ +Ticket Name: Linux/TDA2PXEVM: Streaming data over USB + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: AWR1243, TDA2 Tool/software: Linux I have a TDA2PxEVM board mated to a custom board with cascaded AWR1243 radar chips. Currently we are streaming all the raw data from the EVM to a laptop via Gigabit Ethernet, but the data rate of the cascaded chips exceeds what Gigabit Ethernet can handle, so I want to use USB 3.0. Eventually we will do processing in the TDA2px, but for now we want to log and process the data on the laptop. I was told previously that the best way to use USB is to run Linux on the A15 core. I have a Ubuntu 18.04LTS development system. I am new to USB development and would like more specific advice about the best (and easiest) way to stream data over USB 3.0 and achieve as close to the 5 Gbps theoretical limit as possible. Questions: Is it possible/advisable to use Linux USB gadget drivers to send Ethernet traffic over USB? If so, perhaps that would minimize needed modifications to the existing code. Which is the best choice of gadget driver type to use that is supported? It appears that there are several different possible types of gadget drivers. How would I configure and use the gadget driver approach? Or, is there a better USB approach? Are custom drivers needed for the embedded or host? What practical data transfer rates should be achievable over USB 3.0? As a stopgap solution, I assume it would be easy to write to a USB SSD drive from embedded Linux? Are there any steps I would need to take to enable that (e.g. drivers to install)? Thanks! + +Responses: +Is it possible/advisable to use Linux USB gadget drivers to send Ethernet traffic over USB? If so, perhaps that would minimize needed modifications to the existing code. + Explore the option of g_ether gadget driver. It emulates ethernet over USB and you can use that to connect to PC Which is the best choice of gadget driver type to use that is supported? It appears that there are several different possible types of gadget drivers. For streaming usecase, you can use USB UVC gadget(which will have ISO endpoints, which is in theory suited for streaming usecase). You can use g_ether gadget driver(Network overhead would be there, but minimal code change for you). You can use Mass storage gadget device g_mass_storage (CONFIG_USB_MASS_STORAGE kernel config) How would I configure and use the gadget driver approach? As a stopgap solution, I assume it would be easy to write to a USB SSD drive from embedded Linux? Are there any steps I would need to take to enable that (e.g. drivers to install)? 1. Make sure USB controller at TDA2x side configured as gadget. You can check here for example : 2. Enable USB Mass Storage Gadget driver with kernel configuration: as mentioned in this link : linux-sunxi.org/.../Mass_storage 3. You can enable USB ethernet driver as mentioned here : processors.wiki.ti.com/.../Networking_over_USB Or, is there a better USB approach? Are custom drivers needed for the embedded or host? Custom drivers would take a lot of effort from both TDA2x end and the PC end. Better would be go with Mass Storage Gadget or Gadget Ethernet over USB, as mentioned above. What practical data transfer rates should be achievable over USB 3.0? Please refer here for USB performance in TDA2x : www.ti.com/.../sprac21.pdf + +This is the link to TDA2 performance document (the forum engine did not displayed it correctly in Dwarakesh's post): proddms.itg.ti.com/.../sprac21.pdf Regards, Yordan + diff --git a/sample_embedding_folder2/0763885.txt b/sample_embedding_folder2/0763885.txt new file mode 100644 index 0000000000000000000000000000000000000000..1671a511447ba21c278a1cf8ec600b67e57e2f7b --- /dev/null +++ b/sample_embedding_folder2/0763885.txt @@ -0,0 +1,8 @@ +Ticket Name: CCS/TDA2: Create an RTSC project in ccs, where the cfg file calls other .cfg files. How do you do this? + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio Create an RTSC project in ccs, where the cfg file calls other .cfg files, how to do this. For example, there is xdc.loadCapsule("bspCommonBIOS.cfg") in captureVip.cfg; I put both cfg files in the project directory at the same time, or how do I need to deal with them? + +Responses: +Hi, can you check it that can help you: processors.wiki.ti.com/.../Files_in_CCS_Projects Regards, Yordan + diff --git a/sample_embedding_folder2/0763914.txt b/sample_embedding_folder2/0763914.txt new file mode 100644 index 0000000000000000000000000000000000000000..43bd1e29152838c3877ec94553d2de6f5a03b376 --- /dev/null +++ b/sample_embedding_folder2/0763914.txt @@ -0,0 +1,10 @@ +Ticket Name: CCS/TDA2: In ccs project/RTSC TOOLS/Platform/edit/view view ti.platforms.evmDRA7XX without this platform file + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio Use XDCtools version:3.32.1.22_core, Targets: ti.targets.arm.elf.M4 Platforms:ti.platforms.evmDRA7XX In ccs project/RTSC TOOLS/Platform/edit/view view ti.platforms.evmDRA7XX without this platform file + +Responses: +Can you elaborate more what the issue here is? Is it not running with the default selection/configuration? thanks, Alex + +Hello, Friendly reminder, please send more details and we can discuss this further. thanks, Alex + diff --git a/sample_embedding_folder2/0764356.txt b/sample_embedding_folder2/0764356.txt new file mode 100644 index 0000000000000000000000000000000000000000..daeca1b17c20c251bb59cbcd473abd9ccd8e3c6c --- /dev/null +++ b/sample_embedding_folder2/0764356.txt @@ -0,0 +1,10 @@ +Ticket Name: RTOS/TDA2: Error in TI IVAHD H.264 Encode function + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi TI Experts, I am trying to encode a frame using ti ivahd encoder api but i am getting error that means: Active frame region dimensions are not matching with the encoding frame dimensions I am using APIs in the same sequence as suggested in H264enctest.c sample application. Also i am not giving input frm some file but some data as given below: #pragma DATA_SECTION(".input_buffer") uint8_t luma_buffer[176*144]; #pragma DATA_SECTION(".input_buffer") uint8_t chroma_buffer[176*144/2]; memset(&luma_buffer,0x22,sizeof(luma_buffer)); gInputBufDes[0].planeDesc[0].buf = (XDAS_Int8*)luma_buffer; memset(&chroma_buffer,0x22,sizeof(chroma_buffer)); gInputBufDes[0].planeDesc[1].buf = (XDAS_Int8*)chroma_buffer; result = H264ENC_encodeFrame(m_encHandle[0],&gInputBufDes[0],&gOutputBufDesc[0],&gInArgs[0],&gOutArgs[0]); real_error = status.videnc2Status.extendedError; real_error = 0,that suggests Active frame region dimensions are not matching with the encoding frame dimensions. If anybody suggest which parameter settings i am getting wrong or the sequence is not correct. Error suggests mismatch in frame dimensions,since i am currently working using qcif so everywhere i am setting width*height = 176*144. Thanks in advance Regards Mayank + +Responses: +Hi, Have you tried with encoder link of vision sdk? Whats your observation there? Regards, Anuj + +Hi Mayank, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Yordan + diff --git a/sample_embedding_folder2/0764405.txt b/sample_embedding_folder2/0764405.txt new file mode 100644 index 0000000000000000000000000000000000000000..3747f33588657f59805d382fa0ba512814d9a253 --- /dev/null +++ b/sample_embedding_folder2/0764405.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2PXEVM: RTOS/TDA2PXEVM: Support for multiple NetworkRx link instances + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS Hi We are working on TDA2PX based Hw and vision SDK version is SDK_03_03_00_00 .Here , when we try to initiate two NetworkRx link in usecase for testing we want to send the image in one port and sensor data in another port, second NetworkRx link fails during the link creation time as below mentioned debug logs (attachment): … [HOST ]     15.723144 s: NSP GMAC: PHY 2 Found on MAC Port 0 [HOST ]     17.523851 s: NDK: Link Status: 10Mb/s Full Duplex on PHY 2 [HOST ]     17.723388 s: NDK: Link Status: No Link on PHY 2 [HOST ]     18.328951 s: NETWORK_CTRL: Starting Server (port=5000) !!! [HOST ]     18.328981 s: NETWORK_CTRL: Starting Server ... DONE (port=5000) !!! [HOST ]     21.123589 s: NDK: Link Status: 1000Mb/s Full Duplex on PHY 2 … [HOST ] 33.475660 s: NETWORK_TX: NETWORK_TX: Server listening (port=29172) !!! [HOST ] 33.475873 s: SYSTEM: ERROR: No link registered at link ID [68] !!! When we further debug the code then find that, we can have maximum one NetworkRx link objects as per below mentioned sdk source code vision/platform/ti/tda2/links_fw/include/links_fw/include/link_api/networkRxLink.h #define NETWORK_RX_LINK_OBJ_MAX (1U) Can we support for multiple NetworkRx link instances in existing code base ? what are all the changes needs to be done to enable this, Is there any specific patches required for this feature. Can you please support on this ? Regards, Raj + +Responses: +Ti Raj Dual Ethernet port support was not available in VSDK 3.3 release. This is only supported with latest VSDK 3.6 (released on early Jan) please refer this link to download the same - www.ti.com/.../processor-sdk-tdax Mainly NSP package updated to support Dual Mac. VSDK also has some configuration changes and sample UC to support Dual Mac. you either move to VSDK 3.6 release or use the latest NSP package from 3.6. BTW, are you using both ports with static IP or dynamic IP config? we have an open issue for setting one port as static and other as dynamic IP. But both Static or both dynamic is functional. Regards, Shiju + diff --git a/sample_embedding_folder2/0764520.txt b/sample_embedding_folder2/0764520.txt new file mode 100644 index 0000000000000000000000000000000000000000..eed10ee57815e5051289af40b1fdceccf1b95089 --- /dev/null +++ b/sample_embedding_folder2/0764520.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: CONFIG_ARM_LPAE=n + +Query Text: +Part Number: TDA2 Tool/software: Linux am using tda2x evm i use this chain test my cnn (SDK_VISION_03_04_00_00\vision_sdk\sample_app\src\hlos\usecases\nullSrc_display) i add CONFIG_ARM_LPAE=n in auto.cfg ,make clean then make linux make linux_install make -s -j depend make -s -j but when i restar the EVM have some problem follow is the log 2.777440] VFS: Mounted root (ext4 filesystem) on device 179:50. [ 2.788399] devtmpfs: mounted [ 2.791566] Freeing unused kernel memory: 340K [ 2.796027] This architecture does not have kernel memory protection. /sbin/init: error while loading shared libraries: /usr/lib/libkmod.so.2: file too short [ 2.877469] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00007f00 [ 2.877469] [ 2.886647] CPU0: stopping [ 2.889368] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.84-00027-g018eb62-dirty #10 [ 2.897230] Hardware name: Generic DRA74X (Flattened Device Tree) [ 2.903348] Backtrace: [ 2.905827] [] (dump_backtrace) from [] (show_stack+0x18/0x1c) [ 2.913428] r7:c0931ef0 r6:20000193 r5:00000000 r4:c094f810 [ 2.919149] [] (show_stack) from [] (dump_stack+0x8c/0xa0) [ 2.926406] [] (dump_stack) from [] (handle_IPI+0x184/0x198) [ 2.933829] r7:c0931ef0 r6:00000000 r5:00000000 r4:c092c424 [ 2.939545] [] (handle_IPI) from [] (gic_handle_irq+0x78/0x7c) [ 2.947143] r7:fa212000 r6:c0931ef0 r5:fa21200c r4:c09328ec [ 2.952857] [] (gic_handle_irq) from [] (__irq_svc+0x40/0x74) [ 2.960370] Exception stack(0xc0931ef0 to 0xc0931f38) [ 2.965442] 1ee0: 00000001 00000000 fe600000 00000000 [ 2.973655] 1f00: c0930000 c0686294 00000000 c081eb3c 00000000 c0931f60 c093250c c0931f4c [ 2.981867] 1f20: c0931f2c c0931f40 c0027f6c c0010540 60000013 ffffffff [ 2.988504] r9:c0931f60 r8:00000000 r7:c0931f24 r6:ffffffff r5:60000013 r4:c0010540 [ 2.996327] [] (arch_cpu_idle) from [] (default_idle_call+0x28/0x34) [ 3.004454] [] (default_idle_call) from [] (cpu_startup_entry+0x208/0x264) [ 3.013107] [] (cpu_startup_entry) from [] (rest_init+0x90/0x94) [ 3.020878] r7:00000000 [ 3.023433] [] (rest_init) from [] (start_kernel+0x400/0x40c) [ 3.030944] r5:c0982000 r4:c0982040 [ 3.034550] [] (start_kernel) from [<80008090>] (0x80008090) [ 3.041110] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00007f00 [ 3.041110] Regards Shuai + +Responses: +Hi Shuai, can you check the file /usr/lib/libkmod.so.2 on the rootfs? It is probably a symlink to a file which might be missing or corrupt. can you try to recreate the SD card following the Linux userguide and confirm it was created without errors. Regards, Yordan + diff --git a/sample_embedding_folder2/0764748.txt b/sample_embedding_folder2/0764748.txt new file mode 100644 index 0000000000000000000000000000000000000000..b57659ad28221b636b9fd93d619c3c88ce56906c --- /dev/null +++ b/sample_embedding_folder2/0764748.txt @@ -0,0 +1,34 @@ +Ticket Name: TDA2: How to disable the cores + +Query Text: +Part Number: TDA2 Hi Sir, How can disable power state, module state and clock state of the IPU2, GPU, IVA, EMIF2? Regards, Sagar + +Responses: +Hi Sagar, Can you please look at www.ti.com/.../sprac22.pdf Regards, Rishabh + +Hi Rishabh, Is there any other document which can explain to disable IP's power, clock, module state? Regards, Sagar + +Hi Sagar, You can refer to chapter 3 of www.ti.com/.../spruic2c.pdf Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +Hi Sir, As per this table, if I want to disable EMIF2 module only then which register should I have to configure? If I want to turn off all modules in the CD_EMIF module, then what should I do? Regards, Sagar + +Hi Sir, What does the meaning of N/A in the in clock domain? Regards, Sagar K + +Hi Sagar, You need to set CM_EMIF_EMIF2_CLKCTRL to turn off EMIF2. For clock domain turn off all modules and then turn off clock domain or put clock domain in HW_AUTO (clock will be gated automatically). Regards, Rishabh + +Sagar, PRM is the PRCM module controller itself. It does not fall under any clock domain. Regards, Rishabh + +As a side note, Sagar Kanade , you can download CTT for a good visualization on clock registers settings: Regards, Mariya + +Thanks Mariya. Sagar please use clock tree tool as suggested by Mariya. Regards, Rishabh + +Hi Rishabh, One last question. To put DSS in off state, which register I have to configure? Regards, Sagar K + +Sagar, You need to disable all modules and then clock domain. Search for _CLKCTRL and _CLKSTCTRL. Look at register manual for chapter 3 in TRM and you can find all registers. Start with DSS_CLKSTCTRL. Regards, Rishabh + +Hi Rishabh, Thanks for your support. If I called the PMHALResetAssert(PMHAL_PRCM_RG_IVA_RST); function to disable the IVA core, all the cores are in running state. I am not able to take control over any core. All are in running state. This is happened for the second ECU. Regards, Sagar + +Hi Sagar, I have already answered multiple questions in this thread. Kindly start a new thread with this specific question instead of having one generic thread with multiple questions. Please mark the posts that have answered questions as “This resolved my issue”. Thanks. Regards, Rishabh + diff --git a/sample_embedding_folder2/0764784.txt b/sample_embedding_folder2/0764784.txt new file mode 100644 index 0000000000000000000000000000000000000000..a8f1a5d8cc1e5a3d71564004104c99579fa37274 --- /dev/null +++ b/sample_embedding_folder2/0764784.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: The diagnostic function in TDAx + +Query Text: +Part Number: TDA2 Tool/software: Linux We know that the EMIF1 channel can support the 2-bit ECC DDR diagnostic function. We are worried that if the DDR has a 2-bit data error, it may cause the system to run out of track. How can SOC record this information? Our hardware design supports another MCU to communicate with the SOC through the serial port. But if the program runs away, communication may fail. For other types of diagnosis, we are worried about the same result. E.g:Dual error detection (SECDED) error correcting code (ECC) diagnostic of the on-chip RAM E.g:The L3 interconnect timeout . + +Responses: +Hi, One suggestion is to isolate the code communicating to the MCU to reside in on-chip memory. Thus, if the primary code communicating with DDR has a 2-bit error and impacts the program operation, the code running from on-chip memory would be able to detect and report to the MCU. Best regards, Kevin + diff --git a/sample_embedding_folder2/0764786.txt b/sample_embedding_folder2/0764786.txt new file mode 100644 index 0000000000000000000000000000000000000000..d5ed7786736f5be67ce545cda6d4d92e57252265 --- /dev/null +++ b/sample_embedding_folder2/0764786.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: DDR memory partition + +Query Text: +Part Number: TDA2 Tool/software: Linux Is there a recommendation for address division between the two channels of EMIF1 and EMIF2? When using two-channel DDR, can the software be designed to run the system only in the DDR of the EMIF1 channel? + +Responses: +Hi, If possible for your application, the recommendation is to interleave the two EMIFs to improve bandwidth . Please see section 18 of the following application note for more details: www.ti.com/.../SPRAC21 However, you can partition the memory such that the lower half (or upper half) of memory is all on EMIF1 or EMIF2. The application note mentioned above should give an example of how to set the EMIFs in interleaved or non-interleaved modes. If you have additional questions related to this, please let us know. Best regards, Kevin + diff --git a/sample_embedding_folder2/0764881.txt b/sample_embedding_folder2/0764881.txt new file mode 100644 index 0000000000000000000000000000000000000000..2a349236741a4ba43e47e538be90d3be7a30a2cb --- /dev/null +++ b/sample_embedding_folder2/0764881.txt @@ -0,0 +1,22 @@ +Ticket Name: TDA2: EVE: Buffer transfer between ARP32 kernel and VCP kernel. + +Query Text: +Part Number: TDA2 Hi, I have an application with three kernels, out of them kernel1 & kernel3 are in the kernel-C running on EVE_VCOP and kernel2 which is fully in natural-C running on EVE_ARP32. The execution graph is as follows: Input -> kernel1 -> kernel2 ->kernel3 -> Output. While executing kernel2, 'BAM_ARP32_computeWrapper()' function is called, wherein the buffers are used in ping pong format. So, the input and output buffer addresses are switched between IBUFHB, IBUFLB and IBUFHA, IBUFLA. The output of this kernel is passed as an input to the kernel3(). But, when I debug I see that kernel3() input address does not change according to the output. BAM has the responsibility to pass these buffer addresses but seems like it retains the addresses it got during kernel3_init() function. Is there any way to pass this addresses correctly at runtime? Also, I see that the input buffer address also toggles, but the output address of kernel1 is constant. So, will kernel2 take correct data in the alternate iterations? Regards, Shruti + +Responses: +Hi Shruti, For kernels running on EVE_VCOP, such as kernel 1 and kernel 3, it is normal that the addresses don't change. VCOP has a special memory mapping capability called ALIAS view, in which the addresses just need to point to image buffer A. The actual physical location is eventually determined by the buffer switch. Actually the upper bits are masked out, so what counts in the offset from the base address from image buffer A. For EVE_ARP32, ALIAS view is not supported so the processor needs to pass the correct addresses when calling kernel 2. So to me, the behaviour you are describing me is normal. regards, Victor + +Hi Victor, I think my problem is different. I have three Kernels running sequentially one after other. Kernel_1 (VCOP)-> O/P Buf1 ->Kernel_2 (ARP32) -> O/P Buf2 -> Kernel_3 (VCOP)-> O/P For Display Current Scenario: - Kernel_3 (VCOP) while initialization time has input as O/P Buf2 address (say Address 1). - ARP32 works in PING-PONG style. So for each block processing it toggles it's O/P buffer O/P Buf2(Say Address1 and Address2). Now my problem is - As Kernel_3 holds only single address (say Address 1) as input and it can not change to Address 2 at run time. So how to change run time input addresses for Kernel_3 to get proper inputs? + +Hi Shruti, Do you mean that all your kernels are called within one BAM node ? You will need to split into 3 BAM nodes. Node 1 executes kernel 1, Node 2 executes kernel 2 and Node 3 executes kernel 3. regards, Victor + +Hi Victor, No, they are not present in a single node. They are in 3 different nodes. Regards, Shruti + +Hi Shruti, I am affraid I don't understand the issue. Since kernel 3 is in a separate node, that executes on VCOP only, you don't need to change the address of the input since the buffer switch automatically takes care of which image buffer it accesses to, thanks to alias view. regards, Victor + +Shruti, Can you respond to Victor's queries? Regards, Anshu + +Shruti, Can you update us on this thread? Regards, anshu + +Shruti, I am closing this thread as we haven't heard back from you. Kindly re-open this thread if you have further questions. Regards, Anshu + diff --git a/sample_embedding_folder2/0765284.txt b/sample_embedding_folder2/0765284.txt new file mode 100644 index 0000000000000000000000000000000000000000..95642a88c9fd0569e9c62cc95c044816873d96a0 --- /dev/null +++ b/sample_embedding_folder2/0765284.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: TI Deep Learning Library on C66x DSP and EVE: Support for original TensorFlow models + +Query Text: +Part Number: TDA2 Hello, Section 3.6.5 of the TI-DL Library User Guide from the most recent Vision SDK states that "TIDL supports slim based TensorFlow models". I am not aware of the exact difference between the TF and TF-Slim. But several Internet posts (including github.com/.../16182 suggest that the TF-Slim is now deprecated and not to be used for new development. There are two questions: 1. Do algorithm developers need to use TF-Slim API calls while creating custom models? 2. Can algorithm developers use the main/original TF API while creating custom models? Are these models supported by the model import tool? Thank you. + +Responses: +Slim is a high level API for tensorflow operators. As per tensorflow team, Slim will be replaced with keras hih level APIs in tensorflow 2.0 not in 1.x We have have validaed the only slim based mdoels. Even with Keras APIs based models or original TF layers based models most layes(Convolution , Inner producr, max Pool, eltwise ) would work in currentl import tool. there may some chnage needed the in impor tool for other oprators. Since source code for import ool is part of release package user can update tool for these mdoels. We are not planning to update import toll for this + diff --git a/sample_embedding_folder2/0765398.txt b/sample_embedding_folder2/0765398.txt new file mode 100644 index 0000000000000000000000000000000000000000..06c3a485459ac2343b8d9a3bdd6fdfe24200661e --- /dev/null +++ b/sample_embedding_folder2/0765398.txt @@ -0,0 +1,22 @@ +Ticket Name: Linux/TDA2: sxgFrmcpy and Display buffer : image data modify issue + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi Sir, My HW is TDA2x CPU board + Vision Board + daughter board + OV1652x sensor and SDK is PROCESSOR_SDK_VISION_03_04_00_00 with TDA2XX_EVM_LINUX_ALL define. I select use-case "4CH VIP LVDS capture + SGX MOSAIC + DISPLAY" . I changed the code like below steps: 1. I found the image capture buffer address in "SgxFrmcpyLink_drvDoProcessFrames" function, image point is "pVideoCompositeFrame->bufAddr[0][0]" 2. I try to modify the image data or clear data buffer in this function. ex. compostive_video_buf_addr = pVideoCompositeFrame->bufAddr[0][0]; memcpy(compostive_video_buf_addr, 0x00, 115200); or for (int i=0; i<57600; i++) compostive_video_buf_addr+i = 0xBBBBBBBBBBBBBBBB; 3. compiler and select use-case, 4.TV shows a strange image, I attached the image file. The image seems noisy and mix up the original capture image. I have no idea whta's happen and how to fix it. Ranny. + +Responses: +Hi, If you are modifying the buffer data then the output will be noisy. Still can you check inside display link when you get the data then what the value inside that. Is it same as you changed or something else. Regards, Anuj + +Hi Sir, No, I check the display link, the data isn't changed as I expect. Even I print out the data buffer in sgxFrmcpy link before I modify the data, the data is not correct either, most time is 0. + +Hi, Can you please let me know why are you changing the data. Whats the purpose for it. Regards, Anuj + +Hi Sir, Our customer asks us to do that, They need a simple demo with some image modify. I am looking for a faster way to reach the request for their demo. Thanks. Ranny. + +Hi, Can you modify the data inside display link only. Just for experiment modify the data in capture link also and check whats coming in your display link. It will be hard to identify that your changes are coming into display or not. As after modification you will get a strange image. Regards, Anuj + +Hi Sir, It's working that modifying image data inside display link, but TV display becomes serious lag. Thanks. Ranny. + +Hi, If you do some memory oprartion then it will increase the processing time of that link hence of the chain. Try to modify a small region only. Regards, Anuj + +Hi Sir, ok, thanks. Ranny. + diff --git a/sample_embedding_folder2/0765603.txt b/sample_embedding_folder2/0765603.txt new file mode 100644 index 0000000000000000000000000000000000000000..d2b1a6a250576a95d446593e088f16e5f0322407 --- /dev/null +++ b/sample_embedding_folder2/0765603.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: PROCESSOR_SDK_VISION_03_05_00_00 TIDL , CAFFE-JACINTO MODEL IMPORTING ISSUE for .BIN file generation + +Query Text: +Part Number: TDA2 Hello Sir, I am trying to import the caffe jacinto example networks from github. I am following the TIDL_library_User Guide.pdf. section 3.6.4 Issue: 3. Now run the “importTestCases.bat” from the below path. a. {TIDL_install_path}\utils\tidlModelImport After following till step-3, Bin files are not created in the respective directory mentioned in the Process. when i tried to look to the log.txt file then it has message "Couldn't open inputParamsFile file: ..\..\test\testvecs\config\caffe_jacinto_models\trained\image_classification\imagenet_jacintonet11v2\sparse\imagenet_jacintonet11v2_iter_160000.caffemodel" I have cross-checked the path many times, but their is no issue in that. I have even checked the import text file for OutputNetfile path for .bin file, and it has also the same path,where it should generate the .bin file. Kindly do needful. Thanks and Regards, Vyom Mishra + +Responses: +Hi Vyom, you mentioned that you checked the path, but I noticed that when I clone the caffe_jacinto repo it is in directory "caffe-jacinto-models" while the document and import tool expect "caffe_jacinto_models. Can you confirm that your directory is with underscores and not dashes? Regards, Yordan + +Hello Yordan, I had edited the same before only. I have found the reason for the above thread. So Now I am able to create .bin file. Solution: I just copied RE.TIDL folder to other drive and tried to execute the .bat file, it worked. Reason I found is that, due to long paths of the folder and files, the application is not able to execute those files. So it's better to move TIDL folder to the new drive to generate .bin files. Thanks and Regards, Vyom Mishra + diff --git a/sample_embedding_folder2/0765662.txt b/sample_embedding_folder2/0765662.txt new file mode 100644 index 0000000000000000000000000000000000000000..433b1a9b9ba2bc2ec1939ce2bd584abeb2ef84a1 --- /dev/null +++ b/sample_embedding_folder2/0765662.txt @@ -0,0 +1,56 @@ +Ticket Name: Compiler/TDA2PXEVM: Facing linker issues while compiling Sources for A15 BIOS + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler 7522.Compiling_Module_file_for_a15.txt diff --git a/apps/MAKEFILE.MK b/apps/MAKEFILE.MK +index f9b9aae..ff87432 100755 +--- a/apps/MAKEFILE.MK ++++ b/apps/MAKEFILE.MK +@@ -7,8 +7,9 @@ APP_LIBS_$(IPU_PRIMARY_CORE) += $(DEST_ROOT)/lib/$(PLATFORM)/$(IPU_PRIMARY_CORE) + APP_LIBS_ipu1_1 = $(DEST_ROOT)/lib/$(PLATFORM)/m4/$(PROFILE_ipu1_1)/app_alg_plugins.aem4 + APP_LIBS_$(IPU_SECONDARY_CORE) = $(DEST_ROOT)/lib/$(PLATFORM)/m4/$(PROFILE_$(IPU_SECONDARY_CORE))/app_alg_plugins.aem4 + ifeq ($(AUTOSAR_APP), yes) +-APP_LIBS_$(IPU_SECONDARY_CORE) += $(DEST_ROOT)/lib/$(PLATFORM)/$(IPU_SECONDARY_CORE)/$(PROFILE_$(IPU_SECONDARY_CORE))/app_libs.aem4 ++APP_LIBS_$(IPU_SECONDARY_CORE) += $(DEST_ROOT)/lib/$(PLATFORM)/$(IPU_SECONDARY_CORE)/$(PROFILE_a15_0)/app_libs.aa15fg + endif ++APP_LIBS_a15_0 += $(DEST_ROOT)/lib/$(PLATFORM)/a15/$(PROFILE_$(IPU_SECONDARY_CORE))/app_libs.aem4 + APP_LIBS_c66xdsp_1 = $(DEST_ROOT)/lib/$(PLATFORM)/66/$(PROFILE_c66xdsp_1)/app_alg_plugins.ae66 + APP_LIBS_c66xdsp_2 = $(DEST_ROOT)/lib/$(PLATFORM)/66/$(PROFILE_c66xdsp_2)/app_alg_plugins.ae66 + APP_LIBS_arp32_1 = $(DEST_ROOT)/lib/$(PLATFORM)/arp32/$(PROFILE_arp32_1)/app_alg_plugins.aearp32F +@@ -295,6 +296,14 @@ endif + endif + endif + ++ifeq ($(PROC_A15_0_BUILD_INCLUDE),yes) ++ifeq ($(PROC_A15_0_INCLUDE),yes) ++ifeq ($(A15_TARGET_OS),Bios) ++ $(MAKE) -C $($(MAKEAPPNAME)_PATH) CORE=a15_0 $(TARGET) ++endif ++endif ++endif ++ + apps: + $(MAKE) -fMAKEFILE.MK -C $(vision_sdk_PATH)/links_fw/src/rtos apps + +diff --git a/apps/Makefile b/apps/Makefile +index 033b932..04edb0f 100755 +--- a/apps/Makefile ++++ b/apps/Makefile +@@ -42,6 +42,7 @@ endif + -include $(MODULE_SRC_BASE_PATH)/rtos/common/SRC_FILES.MK + -include $(MODULE_SRC_BASE_PATH)/rtos/board/SRC_FILES.MK + -include $(MODULE_SRC_BASE_PATH)/rtos/modules/grpxSrc/SRC_FILES.MK ++-include $(MODULE_SRC_BASE_PATH)/rtos/modules/abc/SRC_FILES.MK + ifeq ($(AUTOSAR_APP), yes) + -include $(MODULE_SRC_BASE_PATH)/rtos/modules/autosar_ipcOut/SRC_FILES.MK + -include $(MODULE_SRC_BASE_PATH)/rtos/modules/autosar_ipcIn/SRC_FILES.MK + Hi Anuj, Recently you have provided us a patch for compiling sources for A15 core which runs on BIOS. The usecase with basic pthread in place gets compiled without any issues. Post including "src/include/chains_common.h" (were in function prototype is being added under chains_common.h) it results in following compiler errors. Cannot include "itidl_ti.h" from chains_common.h, so we managed to add those Include directory paths in usescase SRC_FILES.MK file(provided the copy of SRC_FILES.MK) SRCDIR += $($(MAKEAPPNAME)_PATH)/src/rtos/usecases/libdlt_test_sample INCDIR += /opt/V_SDK/FFC/FFC_WORKSPACE/sdk/ti/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/algorithms/REL.TIDL.01.01.00.00/modules INCDIR += /opt/V_SDK/FFC/FFC_WORKSPACE/sdk/ti/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/algorithms/REL.TIDL.01.01.00.00/common SRCS_a15_0 += \ chains_libdlt_test_sample.c \ chains_libdlt_test_sample_priv.c With above changes in place the compiler errors are resolved but it resulted in below mentioned linker errors. could you please help us to resolve these issues.. undefined first referenced symbol in file --------- ---------------- libdlt_test_sample /opt/V_SDK/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/binaries/apps/harman_proto_A_bios/lib/harman_tda2px-proto_A/ipu1_0/release/app_libs.aem4 error: unresolved symbols remain error: errors encountered during linking; "/opt/V_SDK/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/binaries/apps/h arman_proto_A_bios/vision_sdk/bin/harman_tda2px-proto_A/vision_sdk_ipu1_0_re lease.xem4" not built make[7]: *** [/opt/V_SDK/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/binaries/apps/harman_proto_A_bios/vision_sdk/bin/harman_tda2px-proto_A/vision_sdk_ipu1_0_release.xem4] Error 1 make[7]: Leaving directory `/opt/V_SDK/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/links_fw/src/rtos/bios_app_common/tda2px/ipu1_0' make[6]: *** [ipu1_0] Error 2 make[6]: Leaving directory `/opt/V_SDK/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/links_fw/src/rtos/bios_app_common/tda2px/ipu1_0' make[5]: *** [apps_ipu1_0] Error 2 make[5]: Leaving directory `/opt/V_SDK/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/links_fw/src/rtos' make[4]: *** [apps] Error 2 make[4]: Leaving directory `/opt/V_SDK/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/links_fw/src/rtos' make[3]: *** [apps] Error 2 make[3]: Leaving directory `/opt/V_SDK/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/apps' make[2]: *** [apps_exe] Error 2 make[2]: Leaving directory `/opt/V_SDK/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/build' make[1]: *** [apps] Error 2 make[1]: Leaving directory `/opt/V_SDK/FFC/FFC_WORKSPACE/source/vision/platform/ti/tda2/build' gmake: *** [vision_sdk] Error 2 + +Responses: +Hi, As you can see this is a linking error which means some how your library is not getting link properly. So how you are linking your library? Have you gone through the below doc vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_UserGuide_BuildSystem.pdf Regards, Anuj + +Hi Anuj, Is chains_main_bios_iss.oem4 library are you speaking about. I was facing this issue while building the usecase for A15 core. It wasn't the case with IPU_PRIMARY_CORE(IPU1) Do we need to add this as dependency while building for A15 core. I will have a re look at VisionSDK_UserGuide_BuildSystem.pdf. + +Hi, As you can see you are getting undefined symbol for libdlt_test_sample. So where is this symbol defined? As this is not an VSDK symbol. Please link that library. Regards, Anuj + +Hi, Its been long since any update on this thread. I hope you are able to resolve your query. Regards, Anuj + diff --git a/sample_embedding_folder2/0765664.txt b/sample_embedding_folder2/0765664.txt new file mode 100644 index 0000000000000000000000000000000000000000..6180ac268a6ec741de9d29e1d7fdd9be49668e9d --- /dev/null +++ b/sample_embedding_folder2/0765664.txt @@ -0,0 +1,105 @@ +Ticket Name: Linux/TDA2: QSPI 128MB 2 instances Read/Write error + +Query Text: +Part Number: TDA2 Tool/software: Linux Dear Experts, We are using a 1Gbit(128MB) QSPI Flash(S70FL01GS) with kernel 4.4(VisionSDK 3.2). This chip is built from 2 64MB QSPI instances with 2 chip select.(correctly connected to TDA2's CS0 and CS1) When we operate on 2 instances, read/write result is incorrect. We add 2 64MB instance in linux device tree, and 2 instances are correctly recongnized by kernel from log. Here is some of our test notes: 1. kernel detect 2 chips. we only operate on any single chip, it works well. 2. kernel detect 2 chips, we read from 1, then write data to 2, then read again from 1, the result is incorrect. Read/write CS pin works well. Thanks & Best Regards! ZM + +Responses: +HI On our EVM we only have a single instance of SPI ,hence we have not validated this configuration(though it should work) Can you share the device tree snippet corresponding to the QSPI configuration From you description , you have verified that on your board the right chip select is being asserted when you access the 2 chips - please confirm Also, from your description, writes to chip2, is impacting the data present in chip1 - essentially implying that the 2 regions are being aliased, right? + +&qspi { + status = "okay"; + + spi-max-frequency = <76800000>; +#if 1 + m25p80@0 { + compatible = "s25fl512s"; + spi-max-frequency = <76800000>; + reg = <0>; + spi-tx-bus-width = <1>; + spi-rx-bus-width = <4>; + #address-cells = <1>; + #size-cells = <1>; + + /* MTD partition table. + * The ROM checks the first four physical blocks + * for a valid file to boot and the flash here is + * 64KiB block size. + */ + partition@0 { + label = "QSPI.SPL"; + reg = <0x00000000 0x000040000>; + }; + partition@1 { + label = "QSPI.u-boot"; + reg = <0x00040000 0x00100000>; + }; + partition@2 { + label = "QSPI.u-boot-spl-os"; + reg = <0x00140000 0x00080000>; + }; + partition@3 { + label = "QSPI.u-boot-env"; + reg = <0x001c0000 0x00040000>; + }; + + partition@4 { + label = "QSPI.kernel"; + reg = <0x00200000 0x0500000>; + }; + partition@5 { + label = "QSPI.file-system"; + reg = <0x00700000 0x03900000>; + }; + + }; +#endif +#if 1 + m25p80@1 { + compatible = "s25fl512s"; + spi-max-frequency = <76800000>; + reg = <1>; + spi-tx-bus-width = <1>; + spi-rx-bus-width = <4>; + #address-cells = <1>; + #size-cells = <1>; + + /* MTD partition table. + * The ROM checks the first four physical blocks + * for a valid file to boot and the flash here is + * 64KiB block size. + */ + partition@0 { + label = "QSPI.Extern"; + reg = <0x00000000 0x04000000>; + }; + + }; +#endif +}; + Chip select pin is working correctly. Data read from chip is all zero if 2 chip is accessed. + +Hi Srirama, After onsite check, I found that chip select is not correct. Finally, I find a bug in Kernel QSPI driver: diff --git a/ti_components/os_tools/linux/kernel/omap/drivers/spi/spi-ti-qspi.c b/ti_components/os_tools/linux/kernel/omap/drivers/spi/spi-ti-qspi.c +index 3f225f959..89ec31848 100644 +--- a/ti_components/os_tools/linux/kernel/omap/drivers/spi/spi-ti-qspi.c ++++ b/ti_components/os_tools/linux/kernel/omap/drivers/spi/spi-ti-qspi.c +@@ -495,8 +495,8 @@ static void ti_qspi_enable_memory_map(struct spi_device *spi) + ti_qspi_write(qspi, MM_SWITCH, QSPI_SPI_SWITCH_REG); + if (qspi->ctrl_base) { + regmap_update_bits(qspi->ctrl_base, qspi->ctrl_reg, +- MEM_CS_EN(spi->chip_select), +- MEM_CS_MASK); ++ MEM_CS_MASK, ++ MEM_CS_EN(spi->chip_select)); + } + qspi->mmap_enabled = true; + } +@@ -508,7 +508,7 @@ static void ti_qspi_disable_memory_map(struct spi_device *spi) + ti_qspi_write(qspi, 0, QSPI_SPI_SWITCH_REG); + if (qspi->ctrl_base) + regmap_update_bits(qspi->ctrl_base, qspi->ctrl_reg, +- 0, MEM_CS_MASK); ++ MEM_CS_MASK, 0); + qspi->mmap_enabled = false; + } + Thanks & Best Regards! ZM + diff --git a/sample_embedding_folder2/0765669.txt b/sample_embedding_folder2/0765669.txt new file mode 100644 index 0000000000000000000000000000000000000000..e45807982e0df3220eab630391c8922b09a4baae --- /dev/null +++ b/sample_embedding_folder2/0765669.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: Issue with fps rate + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hello There, I have below use case, Capture -> Dup Dup -> Alg1(EVE1) -> Alg11(DSP1) -> Merge Dup -> Alg2(EVE1) -> Alg22( DSP2) -> Merge Dup -> Alg3(EVE1) -> Alg33( DSP2) -> Merge -> Sync -> Alg_DmaSwMs -> Display Each algorithm links ( both EVE and DSP ) takes around 4 -6 ms to process one frame. So for sync link params are set as, syncDelta = 10 and syncThreshold = 40 Also there are no intermediate frame drops. Issue is whole chain is running at 50 fps 1080p resolution ( expected is 60+ fps same resolution) What can be the issue? ----------------------------------------------------------------------------------- [IPU1-0] 42.275605 s: [ CAPTURE ] Link Statistics, [IPU1-0] 42.275696 s: ****************************** [IPU1-0] 42.276459 s: [IPU1-0] 42.276550 s: Elapsed time = 13896 msec [IPU1-0] 42.276642 s: [IPU1-0] 42.276672 s: New data Recv = 60.23 fps [IPU1-0] 42.276947 s: Get Full Buf Cb = 50.8 fps [IPU1-0] 42.277130 s: Put Empty Buf Cb = 150.4 fps [IPU1-0] 42.277252 s: Driver/Notify Cb = 60.23 fps What can be the reason/s for less number for Get Full Buf Cb? ----------------------------------------------------------------------------------- I am using processor SDK 3.0 and TDA2x platform Attaching statistics logs for the reference. 7701.logs.txt Regards, Kajal + +Responses: +Hi Kajal, You are running multiple algorithms on the same core, EVE1 and DSP2, if it takes 4 to 6 ms on EVE for each algorithm, it will be too tight to run whole chain at 60fps.. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0765687.txt b/sample_embedding_folder2/0765687.txt new file mode 100644 index 0000000000000000000000000000000000000000..12ff6e29a059b9ce6ac4bfac8efde3cf8cad9896 --- /dev/null +++ b/sample_embedding_folder2/0765687.txt @@ -0,0 +1,14 @@ +Ticket Name: CCS/TDA2: Adaboost train + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio I used github.com/.../acf-jacinto train my data , when I used small amount of data to train,the model no problem.But if the positive image large (more than 10000), the adaboost going to happen stopping eraly. I changed the code, if not used cellSum to deal with the feature channel,the above situation would not happened,but the train weights cannot used in TDA2X object detecion .How can I deal with it or how train large dataset ? + +Responses: +I did not exactly understand the problem, but can you add one line after the line: github.com/.../acfJacintoTrainTest.m Please add the following and then do training: opts.nPos=10000; %num positive to be collected + +Thanks for you reply. Add the opts.nPos can't solve the problem. I use opts.pPyramid.pChns.pFastMode.enabled=1; %default: 0 Adaboost early stopping,train log as follows Sampling windows completed=100.0% [elapsed=35.4s / remaining~=0.0s] Sampled 30000 windows from 2048 images. Done sampling windows (time=37s). Extracting features... done (time=14s). Training AdaBoost: nWeak= 32 nFtrs=2560 pos=10150 neg=30000 i= 16 alpha=5.000 err=0.000 loss=9.03e-34 stopping early Done training err=0.0000 fp=0.0000 fn=0.0000 (t=0.3s). Done training stage 0 (time=119s). --------------------------------------------------------------------------- Training stage 1 Sampling windows completed=100.0% [elapsed=123.8s / remaining~=0.0s] Sampled 10000 windows from 10176 images. Done sampling windows (time=126s). Extracting features... done (time=13s). Training AdaBoost: nWeak=128 nFtrs=2560 pos=10150 neg=30000 i= 16 alpha=5.000 err=0.000 loss=1.80e-35 stopping early But if used opts.pPyramid.pChns.pFastMode.enabled=0; %default: 0 Adaboost train OK. On the pFastMode.enabled = 1, The adaboost train easy to appear with early stopping on my training sample. How do I handle this situation?(I check the code in chnsCompute.m,it use cellSum to deal with channel feature,Maye be caused it?) + +I am not sure about the reason for this issue as I have not faced this with the datasets that I have tried. Question 1: As I understand, this issue happens only if your positive samples are more than 10000. Can you try to manually select a smaller set of positive samples, so that this issue is not there? Is this an acceptable solution. Question 2: As I understand, you are able to train properly if you set: opts.pPyramid.pChns.pFastMode.enabled=0; Have you tried using the output descriptor (trained with this modification) in TDA2x object detection? + +Hi @user5920690 , We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Yordan + diff --git a/sample_embedding_folder2/0765707.txt b/sample_embedding_folder2/0765707.txt new file mode 100644 index 0000000000000000000000000000000000000000..f9b8480534f0fbc599e4d5002bcfc94eac66e84f --- /dev/null +++ b/sample_embedding_folder2/0765707.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2: SDK_VISION_03_06_00_00 Compile failed + +Query Text: +Part Number: TDA2 Tool/software: Linux i am using tda2 evm , i have attempt SDK_VISION_03_04_00_00 and run some case in sdk sccessful ! now i am try SDK_VISION_03_06_00_00 , i build the SDK make linux make linux_install make -s -j dempend sccessful ,but last step make -s -j is failed! follow is the log! # Compiling generated MAIN_APP_c6xdsp1_pe66.oe66 "/home/hancan/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/obj/vision_sdk/tda2xx-evm/c66xdsp_2/release/vision_sdk_configuro/package/cfg/MAIN_APP_c6xdsp2_pe66.c", line 38074: error: statement is unreachable "/home/hancan/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/obj/vision_sdk/tda2xx-evm/c66xdsp_2/release/vision_sdk_configuro/package/cfg/MAIN_APP_c6xdsp2_pe66.c", line 38443: error: statement is unreachable "/home/hancan/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/obj/vision_sdk/tda2xx-evm/c66xdsp_2/release/vision_sdk_configuro/package/cfg/MAIN_APP_c6xdsp2_pe66.c", line 38641: error: statement is unreachable "/home/hancan/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/obj/vision_sdk/tda2xx-evm/c66xdsp_1/release/vision_sdk_configuro/package/cfg/MAIN_APP_c6xdsp1_pe66.c", line 38074: error: statement is unreachable "/home/hancan/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/obj/vision_sdk/tda2xx-evm/c66xdsp_2/release/vision_sdk_configuro/package/cfg/MAIN_APP_c6xdsp2_pe66.c", line 38855: error: statement is unreachable "/home/hancan/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/obj/vision_sdk/tda2xx-evm/c66xdsp_1/release/vision_sdk_configuro/package/cfg/MAIN_APP_c6xdsp1_pe66.c", line 38443: error: statement is unreachable "/home/hancan/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/obj/vision_sdk/tda2xx-evm/c66xdsp_2/release/vision_sdk_configuro/package/cfg/MAIN_APP_c6xdsp2_pe66.c", line 39158: error: statement is unreachable "/home/hancan/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/obj/vision_sdk/tda2xx-evm/c66xdsp_2/release/vision_sdk_configuro/package/cfg/MAIN_APP_c6xdsp2_pe66.c", line 39340: error: statement is unreachable "/home/hancan/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/obj/vision_sdk/tda2xx-evm/c66xdsp_1/release/vision_sdk_configuro/package/cfg/MAIN_APP_c6xdsp1_pe66.c", line 38641: error: statement is unreachable "/home/hancan/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/obj/vision_sdk/tda2xx-evm/c66xdsp_1/release/vision_sdk_configuro/package/cfg/MAIN_APP_c6xdsp1_pe66.c", line 38855: error: statement is unreachable "/home/hancan/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/obj/vision_sdk/tda2xx-evm/c66xdsp_1/release/vision_sdk_configuro/package/cfg/MAIN_APP_c6xdsp1_pe66.c", line 39158: error: statement is unreachable "/home/hancan/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/obj/vision_sdk/tda2xx-evm/c66xdsp_2/release/vision_sdk_configuro/package/cfg/MAIN_APP_c6xdsp2_pe66.c", line 39522: error: statement is unreachable "/home/hancan/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/obj/vision_sdk/tda2xx-evm/c66xdsp_2/release/vision_sdk_configuro/package/cfg/MAIN_APP_c6xdsp2_pe66.c", line 39721: error: statement is unreachable "/home/hancan/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/obj/vision_sdk/tda2xx-evm/c66xdsp_2/release/vision_sdk_configuro/package/cfg/MAIN_APP_c6xdsp2_pe66.c", line 39919: error: statement is unreachable "/home/hancan/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/obj/vision_sdk/tda2xx-evm/c66xdsp_1/release/vision_sdk_configuro/package/cfg/MAIN_APP_c6xdsp1_pe66.c", line 39340: error: statement is unreachable "/home/hancan/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/obj/vision_sdk/tda2xx-evm/c66xdsp_1/release/vision_sdk_configuro/package/cfg/MAIN_APP_c6xdsp1_pe66.c", line 39522: error: statement is unreachable "/home/hancan/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/obj/vision_sdk/tda2xx-evm/c66xdsp_1/release/vision_sdk_configuro/package/cfg/MAIN_APP_c6xdsp1_pe66.c", line 39721: error: statement is unreachable "/home/hancan/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/binaries/sample_app/tda2xx_evm_linux_all/obj/vision_sdk/tda2xx-evm/c66xdsp_2/release/vision_sdk_configuro/package/cfg/MAIN_APP_c6xdsp2_pe66.c", line 40132: error: statement is unreachable i donot know what is the problem! can you help me ! Shuai! + +Responses: +Hi Shuai, Are there any changes ? If so, could you please Look at your changes Are you hitting any while loop & exit properly or not ? Regards Surya + +Hi: Surya CODEGEN_PATH_DSP ?= $(TI_SW_ROOT)/cg_tools/linux/ti-cgt-c6000_8.2.4 i using ti-cgt-c6000_8.3.0 caused the problem. change back to ti-cgt-c6000_8.2.4 is ok ! but in SDK_VISION_03_02_00_00 SDK_VISION_03_04_00_00 i try ti-cgt-c6000_8.3.0 is ok ! Regards Shuai + diff --git a/sample_embedding_folder2/0766060.txt b/sample_embedding_folder2/0766060.txt new file mode 100644 index 0000000000000000000000000000000000000000..e17a3df501d347b1cfd1531f079858d010565051 --- /dev/null +++ b/sample_embedding_folder2/0766060.txt @@ -0,0 +1,18 @@ +Ticket Name: Linux/TDA2: tda2 QSPI interface + +Query Text: +Part Number: TDA2 Tool/software: Linux Can the tda2 QSPI interface support SDR or DDR mode communication? + +Responses: +Hi, QSPI is used to interface with QSPI flash. EMIF is used to interface with DDR. Regards, Rishabh + +Hi,Rishabh You mean the TDA QSPI interface only supports SDR, right? Because I found some SPI Flash ICs can support the following modes: Single Data Rate (SDR) Double Data Rate (DDR) + +Hi, If think you are referring to single and quad bit mode. QSPI supports both. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +I have already learned through other channels,TDA does not support SPI DDR mode。 thank you。 + +Hi, Can you please elaborate on the solution and “other channels “. Thanks. Regards, Rishabh + diff --git a/sample_embedding_folder2/0766270.txt b/sample_embedding_folder2/0766270.txt new file mode 100644 index 0000000000000000000000000000000000000000..963d1e40930ad2554c3dfd627c955e6825a5e8e5 --- /dev/null +++ b/sample_embedding_folder2/0766270.txt @@ -0,0 +1,10 @@ +Ticket Name: Provide MLBP documentation on TDA2 + +Query Text: +Other Parts Discussed in Thread: TDA2 hi Can you provide MLBP documentation on TDA2?Thank you. + +Responses: +Hi, Chen Melina, MLB is documented for DRA devices in the TRM book, chapter 24.12: Regards, Mariya + +Hi Mariya Thank you very much for your kindly support. + diff --git a/sample_embedding_folder2/0766672.txt b/sample_embedding_folder2/0766672.txt new file mode 100644 index 0000000000000000000000000000000000000000..be4973f121e1bd1ab9497afe9c4ada21a1037ccd --- /dev/null +++ b/sample_embedding_folder2/0766672.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2: TDA2SX EMIF DDR3 + +Query Text: +Part Number: TDA2 Hi. We are ging to use this IC. So can we use only one emif1 interface with DDR3 or we must use both emif1 and emif2 with DDR3? Thnks. + +Responses: +Hi, You can use only one EMIF as well depending on the use case requirements. Regards, Rishabh + +Hi Yuri, in addition to what Rishab said: if you want to use only EMIF1 or EMIF2 you need to correctly configure the LISA_MAP registers in DMM. This is explained in section “Addressing Management with LISA” of the TDA2x TRM. Take also into account that when you use only one EMIF, the max SDRAM size is 2GB. Regards, Yordan + +Hi Yordan. I have a little question. In TRM written " In this example, assume there is 1 GiB of external memory evenly spread onto two address spaces. The address range for address space 0 must start at offset 0x2000_0000 (see Table 15-19)." Summary address space is 1 GiB in table 15-19. How can I connect 2 GiB memory to EMIF1? I want to use only EMIF1 with ECC too. I want to use 2 ICs MT41K256M16 and one IC MT41K512M8 for ECC. Is that correct configuartion? Regards, Maxim. + +Hi, If you want to use 2 GB DDR, you should set 0x7 as SYS_SIZE in LISA_MAP. For the question related to hardware parts please start a new thread. Regards, Rishabh + diff --git a/sample_embedding_folder2/0766835.txt b/sample_embedding_folder2/0766835.txt new file mode 100644 index 0000000000000000000000000000000000000000..ce97aa71c32d88121ebeb287c15bdda5e7eeb11d --- /dev/null +++ b/sample_embedding_folder2/0766835.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: TDA2P and TDA2SX + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: DRA756, , Please help us to clarify follwoing questions: 1. TDA4 product planning and datasheet release progress? 2. DRA756 and TDA2S development board should be the same ? As we know, DRA756 focus on car entertainment, TDA2X focus on ADAS, we develop series product based on DRA756 development board, shall we use DRA756 Demo Board to develop partial funcfuntion for TDA2X ADAS ? 3. TDA2X Model confirmation: We develop sensor fusion based on TAD2P-ACD, we know TDA2P is just prototype from printscreen of TDA2x datasheet. Shall we use TDA2SXTB at mass production phase? Or we get wrong information, TDA2P-ACD and TDA2SXTB are both different orderable model of mass production. Which performance is better for TDA2P-ACD and TDA2SXTB ? Functional safety certification product model is TDA2P-ACD or TDA2SXTB ? + +Responses: +Hi Joseph, 1. TDA4 is under development. Initial datasheet is expected to be available next week. 2. Yes, you can use same EVM. 3. TDA2P-ACD and TDA2SXTB are both different orderable models of mass production. Note that they are in different packages... Device evolution stage marking is on the first position (see Device Naming Convention) Thanks, Dian + +Please provide website link of TDA2SXTB datasheet, if TDA2SXTB datasheet is same with TDA2, we have it; + +Hi, Yes the datasheet is the same. Regards, Rishabh + diff --git a/sample_embedding_folder2/0766948.txt b/sample_embedding_folder2/0766948.txt new file mode 100644 index 0000000000000000000000000000000000000000..29586a1adca776501691fa5b7da409444e6cb01b --- /dev/null +++ b/sample_embedding_folder2/0766948.txt @@ -0,0 +1,18 @@ +Ticket Name: CCS/TDA2: EVE and DSP Utilization to run Network Layers in TDA2x/TdA3x + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio Hello Sir, I need to know, how to split the models across the EVEs and DSPs. Example how to utilize the 2 EVEs sequentially, utilizing 2 EVEs in parallel, EVE followed by DSP and other such configurations. I have deployed Caffe_Jacinto_SSD model on TDA2x by following TIDL_LIBRARY_USER_GUIDE.pdf to split Network layers through making some small changes in "LayergroupId" to run the model across EVE's and DSP's. Kindly suggest some important documents to understand all the configurations, their Implementations and gain Expertism in splitting Networks across EVE's and DSP's. Thanks and Regards, Vyom Mishra + +Responses: +Hi Vyom, can you check FAQ #21 and #22 in TIDeepLearningLibrary_UserGuide.pdf and see if they can help you? Regards, Yordan + +Hello Sir, I have mentioned above that, I have already deployed SSD by splitting it across the EVE and DSP, by following the FAQ 21 and 22 only. So, I am requesting you to provide more on it, If there are some more documents available, to explore. Thanks and Regards' Vyom Mishra + +Hi Viyom, Can you clarify you question further. You mentioned that you could deploy network by setting layer group ID. Is your your question specific to uses case development for the network or optimally setting layer group ID + +Hello Sir, Basic splitting of the SSD model across EVE and DSP is done by refering the User Guide(FAQ 21 and 22). Now I need your suggestions for below queries. How to utilize the 2 EVEs sequentially, utilizing 2 EVEs in parallel, EVE followed by DSP and other such configurations. Kindly suggest some important documents to understand all the configurations, their Implementations and gain Expertism in splitting Networks across EVE's and DSP's. Thanks and Regards, Vyom Mishra + +Dear Sir, I have the following queries with respect to my question above. 1. If model is floating point, In TIDL is the model converted to fixed point for inference on DSP as well? 2. Can the intermediate output of DSP be given to EVE? May not be if DSP output is floating point. Pl confirm. ex: If I have model designed and grouped to run as EVE->DSP->EVE->DSP 3. Any limitations allocation of layerGroupId in import Config 4. Is there a standard way of optimally setting layerGroupId, other than what we know from used guide. Any other doc/experiments Thanks and Regards Vyom Mishra + +1. yes. 2. Yse you can pass output of DSP to EVE. DSP also computes CNN layer in fixed point 3.No 4. Try to run all the convolution layers in EVE and Detectionoutput layer in DSP. Other layers you can either run DSP or EVE. + diff --git a/sample_embedding_folder2/0766982.txt b/sample_embedding_folder2/0766982.txt new file mode 100644 index 0000000000000000000000000000000000000000..94e883b8364a398abb0f8861383cacb36fdc2d18 --- /dev/null +++ b/sample_embedding_folder2/0766982.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Flexray Controller? + +Query Text: +Part Number: TDA2 Hi Our system design requires TDA2 to connect to Flexray communication network. From Datasheet and Technical Reference Manunal, TDA2 itself does not contain Flexray Controller. Do TI have a proven solution? Thank you. + +Responses: +Hi Chen, One potential solution is www.fujitsu.com/.../um-mb88121-am15-11201-1e.pdf which converts SPI to Flexray. Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0767045.txt b/sample_embedding_folder2/0767045.txt new file mode 100644 index 0000000000000000000000000000000000000000..82b70fd838eeb1ed70002acc7233fc859561955b --- /dev/null +++ b/sample_embedding_folder2/0767045.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: TDA4x release / MP schedule + +Query Text: +Part Number: TDA2 Hi, Our customer plan to use TDA4x for the Automotive ADAS applicaiton. We want to know when it can release and mass production? thanks very much. + +Responses: +Hi Leo, Please get in touch with your TI representative for this detail. Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0767065.txt b/sample_embedding_folder2/0767065.txt new file mode 100644 index 0000000000000000000000000000000000000000..d433f89a0c1f3aacdcda97ed66ae7ede81e718dd --- /dev/null +++ b/sample_embedding_folder2/0767065.txt @@ -0,0 +1,16 @@ +Ticket Name: CCS/TDA2: How to Configure the GPU + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio Dear i want to work on the GPU in TDA2x. please help me how i can configure GPU for the device TDA2x. + +Responses: +Hi, The programming model for GPU is via standard OpenGLES API. In addition, the GPU driver is available on Linux and can be exercised only from A72. Please let us know if you have some other question. Regards, Anand + +Thank you for reply Anand. i am using TDA2x SOC and this SOC only cortex a15, cortex M4. soc does not have any A72 core . + +Hi, Sorry for the typo. I meant the Cortex-A core on this device which is A15. The programming model for GPU is via standard OpenGLES API. In addition, the GPU driver is available on Linux and can be exercised only from A15. Did that answer the question? If you have further questions, please elaborate on exact needs. Regards, Anand + +Hi, I want to start working on OpenGL ES API using LINUX platform. Please guide me through the procedure to set up OpenGL ES API on LINUX and how to further use its functionality. If possible, please explain with an example. Regards + +Hi, Can you please open a E2E new thread? The original question was on CCS and I believe it has been answered. Regards, Anand + diff --git a/sample_embedding_folder2/0767957.txt b/sample_embedding_folder2/0767957.txt new file mode 100644 index 0000000000000000000000000000000000000000..d0e67a39ae3097cdf09a5f4a6c4530ee027471d8 --- /dev/null +++ b/sample_embedding_folder2/0767957.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2PXEVM: Implicit Declaration error while creating new usecase + +Query Text: +Part Number: TDA2PXEVM Tool/software: Linux "/home/ubuntuadmin/visionSDK/visionSDK/vision_sdk/apps/src/rtos/common/chains_main_bios_misc.c", line 278: error: function "Chains_network_copy" declared implicitly 1 error detected in the compilation of "/home/ubuntuadmin/visionSDK/visionSDK/vision_sdk/apps/src/rtos/common/chains_main_bios_misc.c". >> Compilation failure /home/ubuntuadmin/visionSDK/visionSDK/vision_sdk/build/rtos/makerules/rules_m4.mk:178: recipe for target '/home/ubuntuadmin/visionSDK/visionSDK/vision_sdk/binaries/apps/tda2px_evm_bios_all/obj/app_libs/tda2px-evm/ipu1_0/release/chains_main_bios_misc.oem4' failed make[5]: *** [/home/ubuntuadmin/visionSDK/visionSDK/vision_sdk/binaries/apps/tda2px_evm_bios_all/obj/app_libs/tda2px-evm/ipu1_0/release/chains_main_bios_misc.oem4] Error 1 /home/ubuntuadmin/visionSDK/visionSDK/vision_sdk/build/rtos/makerules/common.mk:235: recipe for target 'ipu1_0' failed make[4]: *** [ipu1_0] Error 2 MAKEFILE.MK:277: recipe for target 'app_libs' failed make[3]: *** [app_libs] Error 2 Makefile:140: recipe for target 'apps_libs' failed make[2]: *** [apps_libs] Error 2 Makefile:38: recipe for target 'apps' failed make[1]: *** [apps] Error 2 --- Attempted and unsuccessful fixes: 1. Followed all steps mentioned in Vision_SDK_LinuxUserGuide - 2.4.2.1.4 - 'Download and untar filesystem'. 2. Followed Jacinda's solution with reference to https://e2e.ti.com/support/processors/f/791/t/706851?Linux-TDA2-Facing-issue-while-building-Vision-SDK-3-03 but I could not find the file named "install-extra.tar.gz" anywhere in TI's VisionSDK installation folder or on their Downloads page. I'm using Vision SDK Version 3.06 on Ubuntu 16.04 LTS and Spectrum Digital's TDA2PX EVM. + +Responses: +Hi Pallavi, 1. Is "Chains_network_copy" API added by you ? 2. Looking like you are building for MAKECONFIG=tda2px_evm_bios_all, but following Vision_SDK_LinuxUserGuide You should follow the steps mentioned in VisionSDK_UserGuide_TDA2px.pdf 3. For vision sdk 3.6 release, you don't need "install-extra.tar.gz" tar ball, it is part of file system now Regards Surya + +HI Suryamani Jena, thank you for the clarification about install-extra.tar.gz. "Chains_network_copy" is added by me. issue was resolved by adding declaration in chains.h + diff --git a/sample_embedding_folder2/0768227.txt b/sample_embedding_folder2/0768227.txt new file mode 100644 index 0000000000000000000000000000000000000000..ddb00fb19ca16a2cb01839f81101b5b4ee1f1a01 --- /dev/null +++ b/sample_embedding_folder2/0768227.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: The GPMC interface of TDA2 + +Query Text: +Part Number: TDA2 Hi The GPMC interface of TDA2 has four chip selectable signals (CS0-CS3). May I ask if different chip selectable signals can be configured in different interface forms? For example, CS0 is set to multiplexed and N_Flash is used for Boot; CS3 is set to non-multiplex, and normal asynchronous memory interface is used to connect external devices. Thank you! + +Responses: +Hi, Yes you can connect different interfaces using different chip selects. You will need to set GPMC configuration accordingly. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0768622.txt b/sample_embedding_folder2/0768622.txt new file mode 100644 index 0000000000000000000000000000000000000000..378887aed219972e6ccc144f4e5f5b9071cb01ab --- /dev/null +++ b/sample_embedding_folder2/0768622.txt @@ -0,0 +1,18 @@ +Ticket Name: CCS/TDA2: How I load the Big image in DDR through Emulator (*.OUT FILE) + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio Dear Sir, i want to Upload the Image size of almost 15MB in TDA2x DDR. so i just include the image in my Main.c file. now CCS now not able to build the file. so my question is that can we upload the image file in the DDR through the emulator or *.out file. please help me how i can upload the image in DDR. thank you + +Responses: +Hi, You can use loadraw command from CCS. Please refer to software-dl.ti.com/.../ccs_scripting_console.html Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +thanks for your Reply Rishabh now i am trying to upload the image through the Load command but i am facing different problem like secession not start i try with the following command script = ScriptingEnvironment.instance(); script.traceBegin("dssLog.xml"); debugServer = script.getServer("DebugServer.1"); debugServer.setConfig("D:/workarea_tda2x_new/testing_1234/targetConfigs/TDA2x.ccxml"); debugSession = debugServer.openSession(".*"); and got the following response could not open session. + +Hi Vijender, You don't need DSS scripting. You need to run below command in CCS scripting console loadRaw(0x80000000,PAGE_PROGRAM,"C:\\Work\\image.tigf",32,false); Regards, Rishabh + +thanks Rishabh now this is working fine . + +Hi Vijender, Thanks for the confirmation. Regards, Rishabh + diff --git a/sample_embedding_folder2/0768712.txt b/sample_embedding_folder2/0768712.txt new file mode 100644 index 0000000000000000000000000000000000000000..f86be72205649d0d7c176814d1138d1d39ad11d2 --- /dev/null +++ b/sample_embedding_folder2/0768712.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: Pytorch network implementation on TDA2x/4x + +Query Text: +Part Number: TDA2 I am going to implement deep learning network ESPNet on TDA2x and TDA4x(in future). ESPNet source was implemented in Pytorch framework. I found there are Caffe/Tensorflow contents in TIDL document. I have two questions. 1. how to use pytorch outputs in TIDL. Should I export pytorch outputs in ONNX format and import it to Tensoflow or Caffe, after then follow the TIDL guid? Is there any related documents? 2. If some core operations are not supported in TIDL because of TIDL limitations, Should I implement it by myself? ex)Convolution Dialition 1,2,4 only tested / Deconvolution only supported stride value is 2 / ... Then where should I start? Thanks. + +Responses: +1. ONNX mdoels are not supported in TDA2x/3x TIDL. 2. We can split caffe/tensorflow in to multiple sub TIDL models. Use TIDL for processing these mdoels and user can implements unsuported models and run them between the sub models. Please get in touch with TI representative for TDA4x related questions. + +Thanks for your answer! Then will ONNX be supported in TDA4x? Currently, What approach should I follow for using pytorch framework in TDA2x? Thanks. + +Please get in touch with your local TI support for TDA4x related questions. For TDA2x, you may try to convert the model to caffe format. + diff --git a/sample_embedding_folder2/0768763.txt b/sample_embedding_folder2/0768763.txt new file mode 100644 index 0000000000000000000000000000000000000000..b0041781595c852ccc9d0a31954b8122a2d882f0 --- /dev/null +++ b/sample_embedding_folder2/0768763.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: stack error + +Query Text: +Part Number: TDA2 Tool/software: Linux i am using tda2 evm and SDK_VISION_03_04_00_00 i run a case have some problem ,follow is the log , i dont know what is about ! how can i check it? [HOST] [HOST ] 54.125754 s: #### ENTERING SAMPLE_APP:NULL SOURCE -> DISPLAY USE CASE #### [HOST] [HOST ] 55.353016 s: length_fr=14310568,hlos_model_fr_site=a1f5b800,model_fr_site=-1577732096 [HOST] [HOST ] 55.353016 s: hlos_model_fr_0=0.002201,model_fr_1=-0.027109 ,model_fr_2=0.124923,model_fr_3=0.056501 [HOST] [HOST ] 56.362837 s: IPC_OUT_0 : Create in progress !!! [HOST] [HOST ] 56.362898 s: IPC_OUT_0 : Create Done !!! [HOST] [DSP1 ] 56.362990 s: IPC_IN_0 : Create in progress !!! [HOST] [DSP1 ] 56.363386 s: IPC_IN_0 : Create Done !!! [HOST] [DSP1 ] 56.363600 s: ALGORITHM: Create in progress (algId = 0) !!! [HOST] [DSP1 ] 56.363752 s: [HOST] [DSP1 ] 56.363783 s: ### XDC ASSERT - ERROR CALLBACK START ### [HOST] [DSP1 ] 56.363783 s: [HOST] [DSP1 ] 56.363844 s: E_spOutOfBounds: Task 0xa19de98c stack error, SP = 0xa1b01bd8. [HOST] [DSP1 ] 56.363874 s: [HOST] [DSP1 ] 56.363874 s: ### XDC ASSERT - ERROR CALLBACK END ### [HOST] [DSP1 ] 56.363905 s: thanks Shuai + +Responses: +Hi Shuai, Which usecase you are running? From the log, it looks like it is running out of stack size. could you try increasing stack size? Rgds, Brijesh + diff --git a/sample_embedding_folder2/0769411.txt b/sample_embedding_folder2/0769411.txt new file mode 100644 index 0000000000000000000000000000000000000000..d1dfc47f7a3dedf865de24685cc8187ee76dda39 --- /dev/null +++ b/sample_embedding_folder2/0769411.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: TIDL new oobect + +Query Text: +Part Number: TDA2 Hi, I have seen from the TIDL document that the following example use-case in the sdk supports only 4 objects. 1. Road 2 Pedestrian 3 Traffic Sign 4 Vehicle can it possible to add a new object to the TIDL? Is there any support from TI for getting object files/models for the requirement? What is the type of objects used in TIDL? Is this support caffe model? Please enlighten. + +Responses: +Hi Sreerag, yes, you can use Caffe framework to add new objects for TIDL. Look at those links: github.com/.../caffe-jacinto github.com/.../caffe-jacinto-models Also you can check the userguide: PROCESSOR_SDK_VISION_03_XX_XX\ti_components\algorithms\REL.TIDL.01.01.03.00\modules\ti_dl\docs\TIDeepLearningLibrary_UserGuide.pdf for details. Regards, Yordan + +I saw some bin file is used for object detection in the TIDL user guide. how to convert the caffe model into this .bin file? + +Hi Sreerag, do you refer to "tidl_net_*.bin" and "tidl_param_*.bin"? They are created with "importTestCases.bat" script. This is in step 3. and 4. in chapter "3.6.4 Importing Caffe-Jacinto-Models" of the userguide. Regards, Yordan + diff --git a/sample_embedding_folder2/0769455.txt b/sample_embedding_folder2/0769455.txt new file mode 100644 index 0000000000000000000000000000000000000000..2ae48d62928cad80eea7dd6181a637dabe1cca96 --- /dev/null +++ b/sample_embedding_folder2/0769455.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2: TDA2x EVM Camera to work with TI SDK + +Query Text: +Part Number: TDA2 Hi, I am looking to purchase the OMNIVISION 10635 that is stated to be supported by tda2x and if i understand correctly should work right out of the box. The issue is there are many models this camera and i'm not sure which one to purchase. Can you recommend a camera that will work directly with the board? Thanks, s + +Responses: +Hello You can order the complete set from spectrum digital along with EVM and vision daughter card regards, Shiju + +Hi, Thanks for the quick reply- but that's just it- i dont want the set, i want just one camera to connect directly to the board and work. i dont require the card... + +Hi You still need a "vision daughter card" to plug an OV10635 camera directly regards, Shiju + +Hi, I got the EVM board that comes with the Vision Application Board. Do i still have to have the daughter card on addition? and where can i purchase just the camera and the card if needed? + +Hi If you have EVM and Vision Application Board, its good enough. You only need to buy OV10635 camera, check details on spectrum digital website. TI not selling any of these boards or camera directly Regards, Shiju + diff --git a/sample_embedding_folder2/0769622.txt b/sample_embedding_folder2/0769622.txt new file mode 100644 index 0000000000000000000000000000000000000000..9a2e77df9767cb84ed01b99e90ba893824e5b31f --- /dev/null +++ b/sample_embedding_folder2/0769622.txt @@ -0,0 +1,28 @@ +Ticket Name: TDA3: TDA3x EVE registerm map + +Query Text: +Part Number: TDA3 Hi All. Please advise, where i can find documents which contains TDA3 EVE registers map and how i can access them. It doesn't included in TDA3x TRM. There are few EVE EDC registers mentioned in "ECC/EDC on TDAxx" document, but i can't find them in TDA3x TRM. Thanks in advance, Sergey. + +Responses: +Hi Sergey, The registers are given in chapter 6.1.5.2 EVE Registers. Is there a particular register that you cannot find? Regards, Rishabh + +Dear Rishabh. Thanks for your reply. But there is not 6.1.5.2 EVE Registers chapter in latest "TDA3x Technical Reference Manual". Please advice where i can find proper document with mentioned chapter for TDA3x. Waiting for your reply, Best regards, Sergey. + +Hi Sergey, Can you share the link of the document you are referring to? Regards, Rishabh + +Please have a look at the next file: www.ti.com/.../spruie7c.pdf + +EVE details are NDA only (i.e. you won't see EVE registers in the public TRM). Contact your TI representative to obtain the NDA TRM where you can find the details you need. thanks, Alex + +OK, now i understand. Could you please send me document version with its Literature Number, so i could ask for proper document? + +Literature Number: SPRUHQ7R Version "vR" + +Thank you very much. + +Hi Sergey, I am closing the thread as issue has been resolved. Regards, Rishabh + +Yes, thanks. + +Sergey, Rishabh, We have started to expose the EVE registers publicly. The next rev of the TDA3 TRM will include the full details (not sure of planned date...). In the meantime, you can refer to the TDA2 TRM (Lit # SPRUI29F) on ti.com which already includes the full contents. The only difference is that TDA2 includes up to 4 EVEs and TDA3 only has 1. The addresses for EVE1 in the TDA2 are the same as the for the TDA3 EVE. Regards, Kyle + diff --git a/sample_embedding_folder2/0769700.txt b/sample_embedding_folder2/0769700.txt new file mode 100644 index 0000000000000000000000000000000000000000..431c36ace62c03cda9cbd753d62d05327b6b2ce6 --- /dev/null +++ b/sample_embedding_folder2/0769700.txt @@ -0,0 +1,8 @@ +Ticket Name: CCS/TDA2: if i install the SDK linux under the Linux Ubuntu then how i will open the ccsV8.0 in window.? + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio Hi i read the Vision SDK Linux User Guide. so now i understand that now i need to install the Linux Ubuntu in my laptop.so my question is that i need to install the CCSv8.0 on Linux or i already install the CCS on the window . so it mean i have to install the separate installation for linux and window . thank you + +Responses: +Hi Vijender, CCS has to separately installed in Windows and Linux. In case you are using virtual linux environment on Windows, you can work with mapped Windows drive and won't need separate CCS. Regards, Rishabh + diff --git a/sample_embedding_folder2/0769719.txt b/sample_embedding_folder2/0769719.txt new file mode 100644 index 0000000000000000000000000000000000000000..af3dea0869a93a04b1f7bf6ce9e4627a90d91bd9 --- /dev/null +++ b/sample_embedding_folder2/0769719.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: SRV using GPU + +Query Text: +Part Number: TDA2 Hello, I am trying to implement the following scenario on TDA2x EVM: (1) Transfer 4 test images from PC to EVM...I do not know how I can do this yet (2) Run OpenGL-based SRV algorithm on the 4 images...I am assuming OpenGL code can only execute on the TDA2x GPU (3) Transfer output SRV image from EVM to PC...again, not sure how this is to be done Question 1 - Can you point me to some relevant and useful references to implement this scenario? Question 2 - In your opinion, how many CPU cores from the EVM will be required at a minimum to implement this scenario? Question 3 - What is "host CPU" in the context of TDA2x EVM? Does it refer to A15 core 0? Question 4 - How is the GPU programmed on TDA2x? Is it possible to access it through SYS/BIOS? Question 5 - What should be my development environment for this implementation? Windows or Linux? Thank you. + +Responses: +Hi, Please find your answer below (1) Transfer 4 test images from PC to EVM...I do not know how I can do this yet Please use network_rx_tx link to receive or send data over network (2) Run OpenGL-based SRV algorithm on the 4 images...I am assuming OpenGL code can only execute on the TDA2x GPU yes (3) Transfer output SRV image from EVM to PC...again, not sure how this is to be done same as que (1) Question 1 - Can you point me to some relevant and useful references to implement this scenario? Please go through the below usecase vision_sdk\apps\src\hlos\adas\src\usecases\lvds_vip_multi_cam_3d_srv vision_sdk\apps\src\rtos\usecases\network_rx_tx Question 2 - In your opinion, how many CPU cores from the EVM will be required at a minimum to implement this scenario? Please check the usecase jpg file to have idea which all cores are required Question 3 - What is "host CPU" in the context of TDA2x EVM? Does it refer to A15 core 0? Yes, as you have to run vision sdk linux. Question 4 - How is the GPU programmed on TDA2x? Is it possible to access it through SYS/BIOS? Please go through the below module to have some idea about sgxmodule which uses GPU. vision_sdk\apps\src\hlos\modules\sgx3Dsrv Question 5 - What should be my development environment for this implementation? Windows or Linux? On your pc side you can have either of windows or linux as VSDK supports both OS. Regards, Anuj + diff --git a/sample_embedding_folder2/0770052.txt b/sample_embedding_folder2/0770052.txt new file mode 100644 index 0000000000000000000000000000000000000000..f55bc9830a7b22e8dc1be192930d18619700247d --- /dev/null +++ b/sample_embedding_folder2/0770052.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: TIDL sample real-time applications + +Query Text: +Part Number: TDA2 Hello, I have gone through most references available for TIDL on TDA2x. The TIDL Library User Guide and Datasheet are nice starting points to understand the deployment of neural networks on TDA2. But the deployment procedure described in the Guide works in a disjoint fashion, i.e., for a neural network whose layers are split between EVE and DSP cores, we have to first execute the layers on EVE, get the output, and then feed it to execute the layers on DSP. Obviously, this cannot happen in a practical scenario; I will have to set up the entire network in one go. I also went through the TIDL Library API described at this link. But this whole chapter appears to apply to TIDL for AMxx processors, and I did not find any equivalent reference for TDA2x processors. Can you point me to some sample applications which cover an end-to-end scenario, e.g., test image(s) fed to a neural network which is split across EVE and DSP, where the interlinking and I/O of the EVE and DSP is handled in real-time by the program, and then visualization of the final output? Thank you. + +Responses: +Hi, for the API you can check the file PROCESSOR_SDK_VISION_03_XX_XX\ti_components\algorithms\REL.TIDL.01.01.03.00\modules\ti_dl\docs\TIDeepLearningLibrary_API.chm. I will ping experts for the other questions. Regards, Yordan + +The TIDL Library User Guide for TDA recommends creating TIDL applications based on XDAIS. On the other hand, the TIDL documentation for AMxx processors (refer link in first post) does not lay down any such guideline. The TIDL documentation for AMxx processors also appears to have many examples for different use-cases, along with code snippets to explain the network setup and execution. It kind of feels like the TIDL was initially built for AMxx devices, and later adapted for TDAxx. I would like to know how much of the network deployment concepts, programming guidelines, and examples from the [AMxx/Processor SDK for Linux] can be reused for [TDAxx/Processor SDK for Vision]. I would much appreciate it if the experts can also comment on this. + +TIDL is stand-alone OS independent library was developed part of TDAxx SDK. TDAx SDK has example use cases developed using BIOS. The AMxx SDK provides the solution to deploy network from the host (Linux) using the same TIDL library. You can refer the network deployment and calibration related documentation from both SDKs + diff --git a/sample_embedding_folder2/0770128.txt b/sample_embedding_folder2/0770128.txt new file mode 100644 index 0000000000000000000000000000000000000000..422c831a5d7c4266e0fca6938df73a69b8aed2a2 --- /dev/null +++ b/sample_embedding_folder2/0770128.txt @@ -0,0 +1,12 @@ +Ticket Name: CCS/TDA2: i installed Ubuntu 16.0 instead of Ubuntu 14.0 . will i face any problem in future? + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio Hi i want to work on the open GL on TDA2x. so i need to install the linux on my machine but i installed ubuntu 16.0 instead of Ubuntu 14.0. because in SDK linux user manual clearly mention that installed 14.0. please suggest me what should i do now ? continue with the 16.o or remove with 16.0 thank you + +Responses: +Hi Vijender, We have done all our testing with Ubuntu 14 but Ubuntu 16 should also work. Regards, Rishabh + +Hi, Is there an update on this? Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0770184.txt b/sample_embedding_folder2/0770184.txt new file mode 100644 index 0000000000000000000000000000000000000000..45d49605e676db4cbf145ebfb548a5e76d96622d --- /dev/null +++ b/sample_embedding_folder2/0770184.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: TIDL Reference executable + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Everyone , I am trying to run the TIDL reference executable by compiling the source code given under the folder REL.TIDL.01.01.03.00 in ubuntu . We are planning to import caffe model into the tool for generation of files . When I tried to make it , I am getting following error . ======== tidl ALGO ================= make -C ./algo -f makefile make[1]: *** algo: No such file or directory. Stop. makefile:76: recipe for target 'all' failed make: *** [all] Error 2 can anyone kindly guide what is the error and how to resolve this . + +Responses: +Hi Surendar, do you try to build the source release (REL.TIDLSRC.01.01.01.00) or the object release which is included in VisionSDK (REL.TIDL.01.01.03.00)? You can rebuild only the source release. I think you do not need to rebuild TIDL if you want to import caffe model, please check chapter "3.6.4 Importing Caffe-Jacinto-Models" of the userguide. Regards, Yordan + diff --git a/sample_embedding_folder2/0770229.txt b/sample_embedding_folder2/0770229.txt new file mode 100644 index 0000000000000000000000000000000000000000..661be31a1876fbb3629fe27cb0eec75f1d77b477 --- /dev/null +++ b/sample_embedding_folder2/0770229.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2: Error while executing vision_sdk_load.sh + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi All, We are using TDA2xx board with linux. While running the script vision_sdk_load.sh we are getting the following error [ 79.035426] DMA: Module install successful, device major num = 242 [ 79.041932] DRV: Module install successful [ 79.046048] DRV: Module built on Jun 3 2016 11:43:16 omapconf: powerdm_deinit(): cpu not supported!!![ 79.088993] Alignment trap: omapconf (1957) PC=0x000bfb1c Instr=0xe7933004 Address=0xb6ebfac e FSR 0x011 omapconf: clockdm_deinit(): cpu not supported!!! [ 79.098868] Alignment trap: omapconf (1957) PC=0x000bfb80 Instr=0x07834005 Address=0xb6ebface FSR 0x811 [ 79.112970] Alignment trap: omapconf (1957) PC=0x000bfb1c Instr=0xe7933004 Address=0xb6ebface FSR 0x011 omapconf: powerdm_deinit(): cpu not supported!!! [ 79.126653] Alignment trap: omapconf (1959) PC=0x000bfb1c Instr=0xe7933004 Address=0xb6e14ace FSR 0x011 omapconf: clockdm_deinit(): cpu not supported!!! ./disableDssIn[ 79.136562] Alignment trap: omapconf (1959) PC=0x000bfb80 Instr=0x07834005 Address=0xb6e14ace FSR 0x811 terruptsOnA15.sh: line 11: @0x4A002ACE:: command not found [ 79.151593] Alignment trap: omapconf (1959) PC=0x000bfb1c Instr=0xe7933004 Address=0xb6e14ace FSR 0x011 omapconf: powerdm_deinit(): cpu not supported!!![ 79.170293] Alignment trap: omapconf (1961) PC=0x000bfb1c Instr=0xe7933004 Address=0xb6e1bac e FSR 0x011 omapconf: clockdm_deinit(): cpu not supported!!! ./disableDss[ 79.180200] Alignment trap: omapconf (1961) PC=0x000bfb80 Instr=0x07834005 Address=0xb6e1bace FSR 0x811 InterruptsOnA15.sh: line 12: @0x4A002ACE:: command not found [ 79.195191] Alignment trap: omapconf (1961) PC=0x000bfb1c Instr=0xe7933004 Address=0xb6e1bace FSR 0x011 omapconf: powerdm_deinit(): cpu not supported!!! [ 79.213902] Alignment trap: omapconf (1963) PC=0x000bfb1c Instr=0xe7933004 Address=0xb6eb6ace FSR 0x011 omapconf: clockdm_deinit(): cpu not supported!!! ./disableDssIn[ 79.224129] Alignment trap: omapconf (1963) PC=0x000bfb80 Instr=0x07834005 Address=0xb6eb6ace FSR 0x811 terruptsOnA15.sh: line 13: @0x4A002ACE:: command not found [ 79.239083] Alignment trap: omapconf (1963) PC=0x000bfb1c Instr=0xe7933004 Address=0xb6eb6ace FSR 0x011 omapconf: powerdm_deinit(): cpu not supported!!![ 79.257620] Alignment trap: omapconf (1965) PC=0x000bfb1c Instr=0xe7933004 Address=0xb6eb5ac e FSR 0x011 omapconf: clockdm_deinit(): cpu not supported!!! ./disableDss[ 79.267647] Alignment trap: omapconf (1965) PC=0x000bfb80 Instr=0x07834005 Address=0xb6eb5ace FSR 0x811 InterruptsOnA15.sh: line 14: @0x4A002ACE:: command not found [ 79.282648] Alignment trap: omapconf (1965) PC=0x000bfb1c Instr=0xe7933004 Address=0xb6eb5ace FSR 0x011 omapconf: powerdm_deinit(): cpu not supported!!! [ 79.301368] Alignment trap: omapconf (1967) PC=0x000bfb1c Instr=0xe7933004 Address=0xb6eedace FSR 0x011 omapconf: clockdm_deinit(): cpu not supported!!! ./disableDssIn[ 79.311522] Alignment trap: omapconf (1967) PC=0x000bfb80 Instr=0x07834005 Address=0xb6eedace FSR 0x811 terruptsOnA15.sh: line 15: @0x4A002ACE:: command not found [ 79.326551] Alignment trap: omapconf (1967) PC=0x000bfb1c Instr=0xe7933004 Address=0xb6eedace FSR 0x011 omapconf: powerdm_deinit(): cpu not supported!!![ 79.345047] Alignment trap: omapconf (1969) PC=0x000bfb1c Instr=0xe7933004 Address=0xb6e90ac e FSR 0x011 omapconf: clockdm_deinit(): cpu not supported!!! ./disableDss[ 79.355130] Alignment trap: omapconf (1969) PC=0x000bfb80 Instr=0x07834005 Address=0xb6e90ace FSR 0x811 InterruptsOnA15.sh: line 16: @0x4A002ACE:: command not found [ 79.370156] Alignment trap: omapconf (1969) PC=0x000bfb1c Instr=0xe7933004 Address=0xb6e90ace FSR 0x011 omapconf: powerdm_deinit(): cpu not supported!!! [ 79.388855] Alignment trap: omapconf (1971) PC=0x000bfb1c Instr=0xe7933004 Address=0xb6eccace FSR 0x011 omapconf: clockdm_deinit(): cpu not supported!!! ./disableDssIn[ 79.398966] Alignment trap: omapconf (1971) PC=0x000bfb80 Instr=0x07834005 Address=0xb6eccace FSR 0x811 terruptsOnA15.sh: line 17: @0x4A002ACE:: command not found [ 79.414002] Alignment trap: omapconf (1971) PC=0x000bfb1c Instr=0xe7933004 Address=0xb6eccace FSR 0x011 omapconf: powerdm_deinit(): cpu not supported!!![ 79.432551] Alignment trap: omapconf (1973) PC=0x000bfb1c Instr=0xe7933004 Address=0xb6e43ac e FSR 0x011 omapconf: clockdm_deinit(): cpu not supported!!! ./disableDss[ 79.442611] Alignment trap: omapconf (1973) PC=0x000bfb80 Instr=0x07834005 Address=0xb6e43ace FSR 0x811 InterruptsOnA15.sh: line 18: @0x4A002ACE:: command not found [ 79.457603] Alignment trap: omapconf (1973) PC=0x000bfb1c Instr=0xe7933004 Address=0xb6e43ace FSR 0x011 omapconf: powerdm_deinit(): cpu not supported!!! omapconf: clockdm_deinit(): cpu not supported!!! ./disableDssIn[ 79.477007] Alignment trap: omapconf (1976) PC=0x000bfb1c Instr=0xe7933004 Address=0xb6e8aace FSR 0x011 terruptsOnA15.sh: line 19: @0x4A002ACE:: command not found updated 0x4A002ACE value is 00930000 omapconf: powerdm_deinit(): cpu not supported!!! omapconf: clockdm_deinit(): cpu not supported!!! There is some illegal memory access. Can anyone please let me know how to resolve this. Regards, Deepika + +Responses: +Hi Deepika, Can you please run the ./apps.out binary and see if the application launches? Some of these logs are warnings and can be ignored (in later versions of Vision-SDK, A15 doesn't have access to DSS, hence some of these warnings). Regards Shravan + +Hi Shravan, Thanks for you reply. Actually we are working on VSDK 2.10 and we are facing this issue. Can this be a factor that the surround view is not running. We have TDA2XX EVM board connected with the Fusion Board and the SAT0089 Daughter cards having 6 camera ports. We have connected the cameras.The use case runs without error,it detects the cameras,bur we do not see any output on the display. The cores of the TDA2XX are showing no usage. Regards, Deepika + +Hi Deepika, Can you please post the logs observed? Can you also run the print-stats option in the Vision-SDK menu. Regards Shravan + +Hi Deepika, Any updates here? Regards Shravan + diff --git a/sample_embedding_folder2/0770548.txt b/sample_embedding_folder2/0770548.txt new file mode 100644 index 0000000000000000000000000000000000000000..9e6fcef6e35b4ed62e814054058bf05508221fd4 --- /dev/null +++ b/sample_embedding_folder2/0770548.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: PreprocType Role + +Query Text: +Part Number: TDA2 Hello Sir, While Importing and inferring model, I came across the term PreProcType. I have explored its code from tidl_image_preproc.c As per my understanding, we have values 0-5 in which, PreProcType=0 is mentioned in comments for Caffe_jacinto models and PreProcType=1 for Caffe, other is not known. Then I looked out all the models which had 0,1,2,3 PreProcType's and came into conclusions i.e. , we have assigned PreProcType according to models and somewhere according to the Image resolution. (**kindly comment on my conclusion). I have some Queries as follow: Q1) When did we require PreProcType, while Importing or at Inference as both Import_config and Infer_config file has the information of PreProcType. Q2) I tried to split the network in 4 Sub-Networks(10 layers each) for JDetNet, I inferred the first subnetwork with PreProcType and rest three subnetworks were commented for the PreProcType, So is this the correct way or I have to not comment the PreProcType for all subnetworks. Q3) All the models except Cifar, I observed PreProcType in Inference and Import Config file were the same but Why Cifar Import_config file has PreProcType=3 and at inference_config PreProcType=0..? One more query regarding the availability of deploy.prototxt file. This path PROCESSOR_SDK_VISION_03_05_00_00\ti_components\algorithms\REL.TIDL.01.01.02.00\modules\ti_dl\test\testvecs\config\caffe_jacinto_models\trained\object_detection\voc0712\JDetNet\ssd768x320_ds_PSP_dsFac_32_hdDS8_0\sparse doesnt have Deploy.prototxt file available with .caffemodel to Import the JDetNet model. So I have used deploy.prototxt available in the below folder PROCESSOR_SDK_VISION_03_05_00_00\ti_components\algorithms\REL.TIDL.01.01.02.00\modules\ti_dl\test\testvecs\config\caffe_jacinto_models\trained\object_detection\voc0712\JDetNet\ssd768x320_ds_PSP_dsFac_32_hdDS8_0\test_quantize Q) Only this file we have to use for Importing or do we have to use some other deploy.prototxt file? If present kindly share the path.(In all models of caffe_jacinto and Caffe, I have found .caffemodel and Deploy.prototxt file were present under same folder i.e., Sparse) Kindly do the needful. Thanks and Regards Vyom mishra + +Responses: +1.PreProcType shall be used if "rawImage = 0" in both import and infer config 2.The first part can take input as either raw or jpeg. if it is jpeg then PreProcType shall be set based on the pre-processing used in training. for rest of the input shall be raw so,PreProcType is ignored 3.In infer config rawImage = 1 So PreProcType is ignored 4.You can find more models here github.com/.../trained + diff --git a/sample_embedding_folder2/0770928.txt b/sample_embedding_folder2/0770928.txt new file mode 100644 index 0000000000000000000000000000000000000000..12b46daf01e69b9a6f893caf68e713d698140c18 --- /dev/null +++ b/sample_embedding_folder2/0770928.txt @@ -0,0 +1,16 @@ +Ticket Name: CCS/TDA2: Run Sample C code on DSP or EVE + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio Hello Sir, I have written Sample Custom layer[Relu] in C how to run on DSP or EVE. Thanks Madhav + +Responses: +Hi Madhav, Can you provide more information. Are lookin for help in compling the code or linkingiwth your applications etc? + +Hello Sir, I am trying to Run ReLu(as custom layer example) on DSP or EVE or ARM processor. My ReLu Layer will be expecting Output from one Sub-Network and output to the next Sub-Network running on other core. Firstly, So i need to know how to run the custom layer which is written in C code on DSP/EVE/ARM core separately, then i ll try to link the subnetworks to my custom layer. Thanks, Madhav + +You can compile the C code using TI compilers for DSP/EVE and then you run them standalone (refer EVE SW user guide) or in the complete system with SDK (refer SDK user guide) Refer Top Level SDK documentation to navigate to various user guides + +Hello sir, I have compiled c code using TI compiler for EVE target. when i am trying to run on TDA2x board getting this error file cant able to load. whether i need to write linker file to configure with memory. ARP32_EVE_1: Trouble Reading Memory Block at 0x6100 on Page 0 of Length 0x4: (Error -1065 @ 0x6100) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 8.0.903.2) ARP32_EVE_1: File Loader: Verification failed: Target failed to read 0x00006100@Program ARP32_EVE_1: GEL: File: C:\Users\Madhav\workspace_v8\rlu\Debug\rlu.out: Load failed. Thanks , Madhav + +refer below EVE doc for running code on EVE with required GEL files modules\docs\eve_sw_getting_started.pdf + diff --git a/sample_embedding_folder2/0770984.txt b/sample_embedding_folder2/0770984.txt new file mode 100644 index 0000000000000000000000000000000000000000..107be10e439afbaf863ad8c780be15738901d698 --- /dev/null +++ b/sample_embedding_folder2/0770984.txt @@ -0,0 +1,18 @@ +Ticket Name: RTOS/TDA2: I2C error using SAT0089 daughter board after connecting ov10635 camera module + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS HI, We have connected a SAT0089 daughter board with one OV10635 camera to TDA2xx EVM. And tried to run the single camera capture display usecase (1CH VIP capture + Display) present in the vision sdk. But we are observing following issue :- [IPU1-0] 51.083236 s: [IPU1-0] 51.190355 s: CAPTURE: Create in progress !!! [IPU1-0] 51.190569 s: CAPTURE: VIP1 Slice0 PortA capture mode is [ 8-bit] !!! [IPU1-0] 51.191545 s: CAPTURE: Create Done !!! [IPU1-0] 51.191880 s: DISPLAY: Create in progress !!! [IPU1-0] 51.192460 s: DISPLAY: Create Done !!! [IPU1-0] 51.192643 s: GRPXSRC: Create in progress !!! [IPU1-0] 52.901451 s: GRPXSRC: Create Done !!! [IPU1-0] 52.901848 s: DISPLAY: Create in progress !!! [IPU1-0] 52.902366 s: DISPLAY: Create Done !!! [IPU1-0] 52.902580 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1022 [IPU1-0] 52.902702 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 246808 B (241 KB) [IPU1-0] 52.902854 s: SYSTEM: Heap = SR_OCMC @ 0x00000000, Total size = 0 B (0 KB), Free size = 0 B (0 KB) [IPU1-0] 52.903037 s: SYSTEM: Heap = SR_DDR_CACHED @ 0x89c03000, Total size = 368037888 B (350 MB), Free size = 356978688 B (340 MB ) [IPU1-0] 52.903251 s: SYSTEM: Heap = SR_DDR_NON_CACHED @ 0xbfb00000, Total size = 127360 B (0 MB), Free size = 92800 B (0 MB) [IPU1-0] 52.914811 s: CHAINS: Sensor create in progress [IPU1-0] 52.915421 s: VIDEO_SENSOR: INST0 : I2C1 : I2C Addr = 0x30 [IPU1-0] 52.916244 s: [IPU1-0] 52.916549 s: i2cMdSubmitChan: i2c1 transfer to slave address 0x30 failed [IPU1-0] 52.916641 s: src/bsp_deviceI2c.c @ Line 765: [IPU1-0] 52.916732 s: I2C1: DEV 0x30: RD 0x300a ... ERROR !!! [IPU1-0] 52.916824 s: src/bsp_deviceI2c.c @ Line 836: [IPU1-0] 52.916915 s: I2C1: Error timeout 1 ms!!! [IPU1-0] 52.917342 s: Assertion @ Line: 510 in /home/user/PSDK_3_5/vision_sdk/apps/src/rtos/video_sensor/src/vid_sensor.c: status == SYST EM_LINK_STATUS_SOK : failed !!! [IPU1-0] 52.918135 s: Assertion @ Line: 510 in /home/user/PSDK_3_5/vision_sdk/apps/src/rtos/video_sensor/src/vid_sensor.c: status == SYST EM_LINK_STATUS_SOK : failed !!! [IPU1-0] 52.920423 s: *** UTILS: CPU KHz = 20000 Khz *** [IPU1-1] 52.903891 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 [IPU1-1] 52.904074 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 655360 B (640 KB), Free size = 643368 B (628 KB) [HOST ] 52.904471 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 [HOST ] 52.904501 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 6291456 B (6144 KB), Free size = 6247680 B (6101 KB) [DSP1 ] 52.904715 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 [DSP1 ] 52.904776 s: SYSTEM: Heap = LOCAL_L2 @ 0x00800000, Total size = 227264 B (221 KB), Free size = 227264 B (221 KB) [DSP1 ] 52.904806 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 524288 B (512 KB), Free size = 514584 B (502 KB) [DSP2 ] 52.905081 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 [DSP2 ] 52.905142 s: SYSTEM: Heap = LOCAL_L2 @ 0x00800000, Total size = 227264 B (221 KB), Free size = 227264 B (221 KB) [DSP2 ] 52.905172 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 524288 B (512 KB), Free size = 514584 B (502 KB) [EVE1 ] 52.905874 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 [EVE1 ] 52.906148 s: SYSTEM: Heap = LOCAL_L2 @ 0x40020000, Total size = 22528 B (22 KB), Free size = 22528 B (22 KB) [EVE1 ] 52.906697 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 252432 B (246 KB) [EVE2 ] 52.907948 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 [EVE2 ] 52.908345 s: SYSTEM: Heap = LOCAL_L2 @ 0x40020000, Total size = 22528 B (22 KB), Free size = 22528 B (22 KB) [EVE2 ] 52.908894 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 252432 B (246 KB) [EVE3 ] 52.910144 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 [EVE3 ] 52.910419 s: SYSTEM: Heap = LOCAL_L2 @ 0x40020000, Total size = 22528 B (22 KB), Free size = 22528 B (22 KB) [EVE3 ] 52.910968 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 252432 B (246 KB) [EVE4 ] 52.912432 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 [EVE4 ] 52.912737 s: SYSTEM: Heap = LOCAL_L2 @ 0x40020000, Total size = 22528 B (22 KB), Free size = 22528 B (22 KB) [EVE4 ] 52.913255 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 252432 B (246 KB) [IPU2 ] 52.914292 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 [IPU2 ] 52.914414 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 250104 B (244 KB) Could you please suggest me what can be done ? Regards, Amol + +Responses: +Hi All, Can anyone help us on this issue. We have used the switch settings for LVDS in the Vision Application Board connected to TDA2XX board. Regards, Deepika + +Hi Deepika, I think SAT89 is not supported in the VSDK release, so it might require it working. could you please first check if the lock is detected in the deserializer? Rgds, Brijesh + +Hi Brijesh, Thanks for the reply. I will check regarding deserializer lock. I was going through this. Is it not possible to connect a single camera using SAT0089 board. Thanks Deepika + +Deepika, Even if single camera is connected, it should lock to serializer first, then we would be able to configure and would be able to capture .. Rgds, Brijesh + +Ok Brijesh, We will check this and come back to you. Thanks, Deepika + +Hi Brijesh, There was I2C connectivity issues.We were able to connect the cameras. Thanks Deepika + diff --git a/sample_embedding_folder2/0771845.txt b/sample_embedding_folder2/0771845.txt new file mode 100644 index 0000000000000000000000000000000000000000..7d60aa013ec169b030ff267ae6e2228fe72af0dc --- /dev/null +++ b/sample_embedding_folder2/0771845.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2: can not parse the inference result file(stats_tool_out.bin) + +Query Text: +Part Number: TDA2 Hi everybody I suffered from a problem when we try to deploy tensorflow pre-trained model on td2x. Every step is fine(as described below). But, we can not parse the inference result file(stats_tool_out.bin) What is the format of 1-D vector as described in http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components_TIDL.html ? How can we parse it? Does stats_tool_out.bin depend on training framework(e.g. caffe or tensorflow)? Can anyone help us? Steps are as follows: We have transformed the pre-trained model(MobileNet_v1_1.0_224) in https://github.com/tensorflow/models/tree/master/research/slim through the command below python "tensorflow\python\tools\optimize_for_inference.py" -- input=mobilenet_v1_1.0_224.pb --output=mobilenet_v1_1.0_224_final.pb -- input_names=input --output_names="softmax/Softmax" Then, we use tidl_model_import.out.exe and mobilenet_v1_1.0_224_final.pb to produce two bin files. Finally, we fed a image and the two bin files to get prediction file (stats_tool_out.bin) + +Responses: +it is raw binary file output tensors. One byte for each element in the tensor. For this case it is softmax output 1001 bytes. Refer "TIDeepLearningLibrary_UserGuide.pdf" for more information + +"One byte for each element in the tensor" <= Does it mean that each byte stands for the score of each class? + +Yes. it is fixed poitn format. refer users guide if you want to convert it to floating point + +Could I ask another question? Is the format of stats_tool_out.bin defined by TI and independent of the output format of training framework(e.g. caffe or tensorflow)? + +Yes it is independent of caffe or tensorflow. It is just biinary file. Read the file as a binary to a memory and typecast it to a byte array (signed or unsigned char based last tensor type) that all. + diff --git a/sample_embedding_folder2/0771858.txt b/sample_embedding_folder2/0771858.txt new file mode 100644 index 0000000000000000000000000000000000000000..489c8fe60575b892aca9c9ad923b7cecbcc6b918 --- /dev/null +++ b/sample_embedding_folder2/0771858.txt @@ -0,0 +1,97 @@ +Ticket Name: Linux/TDA2EVM5777: Error while accessing TI Git repos + +Query Text: +Part Number: TDA2EVM5777 Tool/software: Linux Hello, I am following Linux User Guide from Vision SDK 03.06.00.00, and I am getting the following error while replicating commands from section 2.4.2. sagar@Sagar:~/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/build$ ./hlos/scripts/linux/setup_linux.sh +Linux Build Setup +Cloning Kernel +Cloning into 'omap'... +fatal: unable to connect to git.ti.com: +git.ti.com[0: 198.47.28.208]: errno=Connection timed out + +./hlos/scripts/linux/setup_linux.sh: line 12: cd: omap/: No such file or directory +fatal: Not a git repository (or any parent up to mount point /home) +Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). +Cloning Cmem +Cloning into 'ludev'... +fatal: unable to connect to git.ti.com: +git.ti.com[0: 198.47.28.208]: errno=Connection timed out + +./hlos/scripts/linux/setup_linux.sh: line 20: cd: ludev/: No such file or directory +fatal: Not a git repository (or any parent up to mount point /home) +Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). +Cloning UBoot +Cloning into 'u-boot'... +fatal: unable to connect to git.ti.com: +git.ti.com[0: 198.47.28.207]: errno=Connection timed out + +./hlos/scripts/linux/setup_linux.sh: line 28: cd: u-boot/: No such file or directory +fatal: Not a git repository (or any parent up to mount point /home) +Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). +Cloning SGX ddk +Cloning into 'omap5-sgx-ddk-linux'... +fatal: unable to connect to git.ti.com: +git.ti.com[0: 198.47.28.208]: errno=Connection timed out + +./hlos/scripts/linux/setup_linux.sh: line 36: cd: omap5-sgx-ddk-linux/: No such file or directory +fatal: Not a git repository (or any parent up to mount point /home) +Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). +Basic Linux Setup for 4.4 done +Download the filesystem and untar + Running "git config --list" returns the following: sagar@Sagar:~/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/build$ git config --list +core.gitproxy=none +core.gitproxy=/home/sagar/git-proxy.sh +http.sslverify=false + I require to access the repos to set up Linux components. Please help me. Thank you. + +Responses: +Hi, can you make sure that corkscrew is called with correct address and port in your git-proxy.sh (the one in VisionSDK_Linux_UserGuide.pdf is given just as example)? Also can you check if commenting out "gitproxy = none" in your /home//.gitconfig can change the behavior? Regards, Yordan + +Hello, I tried commenting out the "gitproxy=none" in my .gitconfig file. My error message changed to: sagar@Sagar:~/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/build$ ./hlos/scripts/linux/setup_linux.sh + Linux Build Setup +Cloning Kernel +Cloning into 'omap'... +Couldn't establish connection to proxy: Network is unreachable +fatal: Could not read from remote repository. + +Please make sure you have the correct access rights +and the repository exists. +./hlos/scripts/linux/setup_linux.sh: line 12: cd: omap/: No such file or directory +fatal: Not a git repository (or any parent up to mount point /home) +Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). +Cloning Cmem +Cloning into 'ludev'... +Couldn't establish connection to proxy: Network is unreachable +fatal: Could not read from remote repository. + +Please make sure you have the correct access rights +and the repository exists. +./hlos/scripts/linux/setup_linux.sh: line 20: cd: ludev/: No such file or directory +fatal: Not a git repository (or any parent up to mount point /home) +Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). +Cloning UBoot +Cloning into 'u-boot'... +Couldn't establish connection to proxy: Network is unreachable +fatal: Could not read from remote repository. + +Please make sure you have the correct access rights +and the repository exists. +./hlos/scripts/linux/setup_linux.sh: line 28: cd: u-boot/: No such file or directory +fatal: Not a git repository (or any parent up to mount point /home) +Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). +Cloning SGX ddk +Cloning into 'omap5-sgx-ddk-linux'... +Couldn't establish connection to proxy: Network is unreachable +fatal: Could not read from remote repository. + +Please make sure you have the correct access rights +and the repository exists. +./hlos/scripts/linux/setup_linux.sh: line 36: cd: omap5-sgx-ddk-linux/: No such file or directory +fatal: Not a git repository (or any parent up to mount point /home) +Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). +Basic Linux Setup for 4.4 done +Download the filesystem and untar My git-proxy.sh file has a single line: exec /usr/bin/corkscrew proxyle01.ext.ti.com 80 $* Based on your response, it sounds that this proxy setting I copied from the User Guide is incorrect, and instead I need to use the proxy settings applicable for my corporate network. Is this right? Thank you. + +That's correct - instead of "proxyle01.ext.ti.com 80" you should use your network's proxy and port. Regards, Yordan + +My problem is resolved. It was caused due to the corporate firewall blocking traffic from git.ti.com. Thank you for your support. + diff --git a/sample_embedding_folder2/0771918.txt b/sample_embedding_folder2/0771918.txt new file mode 100644 index 0000000000000000000000000000000000000000..2df79415962c585d130837a6d509271f31f8fbe7 --- /dev/null +++ b/sample_embedding_folder2/0771918.txt @@ -0,0 +1,8 @@ +Ticket Name: Boundary Scan file for TDA2SXBTQABCRQ1 + +Query Text: +Hi, We're using TDA2SXBTQABCRQ1 in our Hennessy Project. Could TI please share the boundary scan file for this please. + +Responses: +Hi Marcelino, you can find bsdl file for TDA2x here: www.ti.com/.../toolssoftware Regards, Yordan + diff --git a/sample_embedding_folder2/0772173.txt b/sample_embedding_folder2/0772173.txt new file mode 100644 index 0000000000000000000000000000000000000000..7c1e461d3d76bf1835ae153064458f01c07ac3fa --- /dev/null +++ b/sample_embedding_folder2/0772173.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2: How to record VIP output data + +Query Text: +Part Number: TDA2 Dear TI, How can i dump the data output from VIP instance. The file format i expected is YUV422 with 12bit lenght per color component. Questions: 1. Which link can be used to add the dump code, capture link callback or null link callback? 2. What APIs can help me to achieve this func? Are there any constrain of these APIs in VIP output format. Regards, Liu Gan + +Responses: +Hi, You have to create a usecase capture->null. Capture link will capture the vip data and null will dump the same. Regards, Anuj + +Hi Anuj, Does capture link can be used to dump the vip data? How should i conifgure the DMA params for dump YUV 12 bit format file to SD card? Can you kindly providing me the example code? Regards, Liu Gan + +Hi Anuj, Other questions: 1. If null link is used, what params should be used at create time? 2. How should i do to make null link dump only one frame at any time during usecase running? Regards, Liu Gan + +Hi, If you want to dump any specific frame at runtime then its not supported by null link. You can use CCS to dump any specific frame from capture link. Please check any vip single cam usecase to know the create param of capture link. Regards, Anuj + +Hi Anuj, Thanks for your support. Regards, Liu Gan + diff --git a/sample_embedding_folder2/0772175.txt b/sample_embedding_folder2/0772175.txt new file mode 100644 index 0000000000000000000000000000000000000000..d29f1d044e98622fa961db75fff0c48095efb4e9 --- /dev/null +++ b/sample_embedding_folder2/0772175.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: image rotated function , how to optimize and improve efficiency? + +Query Text: +Part Number: TDA2 Hi, I am having a problem, the 640x720 image is rotated 90 degrees, running on dsp1, the efficiency is very low, fps = 3. how to optimize and improve efficiency? Thanks! + +Responses: +Hi @yuling ma , do you use an algorithm, you wrote yourself? You can check if the following documents can help you: Introduction to TMS320C6000 DSP Optimization: Optimizing Loops on the C66x DSP: Hand-Tuning Loops and Control Code on the TMS320C6000: Regards, Yordan + diff --git a/sample_embedding_folder2/0772297.txt b/sample_embedding_folder2/0772297.txt new file mode 100644 index 0000000000000000000000000000000000000000..50a003f6a85156f4fb0a4245ba37bbe591b92817 --- /dev/null +++ b/sample_embedding_folder2/0772297.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Problem in TDA2: Example to train CNN network on tensorflow and run using TIDL + +Query Text: +Part Number: TDA2 I follow the every step in https://e2e.ti.com/support/processors/f/791/t/689876 But, I failed in the last step when I performed the command below python -m tensorflow.python.tools.optimize_for_inference --input=keras_frozen.pb --output=keras_frozen_optimized.pb --input_names=conv2d_1_input --output_name=conv2d_5/BiasAdd and get the error message below. KeyError: "The following input nodes were not found: {'conv2d_1_input'}\n" It seems that the setting of conv2d_1_input is wrong. How could I set it ? + +Responses: +Hi, can you check also this post: e2e.ti.com/.../733834 For TensorFlow 1.10 the argument needs to be changed. Regards, Yordan + diff --git a/sample_embedding_folder2/0772317.txt b/sample_embedding_folder2/0772317.txt new file mode 100644 index 0000000000000000000000000000000000000000..ab97440cb7381c17f9d880d9f99c2dc72ea6833f --- /dev/null +++ b/sample_embedding_folder2/0772317.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2: GPU and EVE quantities inside TDA2H, TDA2SX and DRA756 + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: DRA756, Please see TDA2x and DRA756 functional block diagram below: 1. We know Dual-core PowerVR SGX544 3D GPU from 1.1 Features of TDA2x datasheet, but we just see PowerVR SGX544 3D GPU from 1.4 TDA2x functional block diagram; TDA2x include 1 or 2 PowerVR SGX544 3D GPU ? 2. Does DRA756 has 2 EVEs inside it ? 3. DRA756 and TDA2x use same EVB and schematics? + +Responses: +Hi Joseph, Block diagram shows the GPU subsystem. Yes there are two EVEs in DRA756. You can refer to datasheet for more details: www.ti.com/.../dra75.pdf Regards, Rishabh + +Hi Joseph, for question #3 you can find TDA2/DRA74 EVM board schematics (along with some other useful documents) in "Design Files" table here: www.ti.com/.../j6evm5777 Regards, Yordan + +1. We have DRA756 EVB in our hands, if we program Vision_SDK030600 software into DRA756 EVB, can Vision_SDK030600 software run on this DRA756 EVB ? 2. Or we remove DRA756 for DRA756 EVB, then install TDA2X on this EVB and program Vision_SDK030600. + +Hi, Vision SDK will work with both DRA756 and TDA2X but you need to make sure you update the configuration accordingly. E.g. Vision SDK BIOS all configuration assumes 4 EVEs and hence the same will not work for DRA756 part. Regards, Rishabh + diff --git a/sample_embedding_folder2/0772320.txt b/sample_embedding_folder2/0772320.txt new file mode 100644 index 0000000000000000000000000000000000000000..29bea7c50a1ed9fc48e1c6dceea83b4e0dc57a85 --- /dev/null +++ b/sample_embedding_folder2/0772320.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: Building .so library + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi everyone, I'm trying to build shared object library instead of apps.out executable for VisionSDK 3.04 on Linux. As far as I can see, in common_footer_a15.mk there is a target so: and it should build shared object. However, I am unable to find out setup to build shared object instead of executable. Configuration for which I am trying to build is tda2xx_evm_linux_all. Does anyone have experience with this? Thanks in advance, Sasa + +Responses: +Hi, In VSDK we do not build .so file but you can build .a files. Please check how all a15 links has been build. Regards, Anuj + diff --git a/sample_embedding_folder2/0772340.txt b/sample_embedding_folder2/0772340.txt new file mode 100644 index 0000000000000000000000000000000000000000..c96c69382f0f07916469b0c9ae1243e2a2f1e40c --- /dev/null +++ b/sample_embedding_folder2/0772340.txt @@ -0,0 +1,16 @@ +Ticket Name: Linux/TDA2: Linux/TDA2 to Jetson TX2 PCIe communication + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, I have been doing for communicating Jetson TX2 and Ti TDA2X via PICe in Linux platform. I tried to workout configuring TDA2X as end point and Jetson TX2 and Host. Both have configured properly but during enumeration pci device is not detected at host side. Is there any option to configure TDA2x as generic end point device in linux? + +Responses: +Hi Sreerag, can you check this wiki and see if you can find something useful: processors.wiki.ti.com/.../Linux_Core_PCIe_EP_User's_Guide Regards, Yordan + +Hi Yordan, I have gone through the same configurations mentioned in the link. I got TDA2X as end point device. But that device is not detected in the Jetson. I am communicating between Jetson and TDA2x. + +Hi Sreerag, You may find this thread useful. You may need a modification on your board and apply the patch posted on this thread. e2e.ti.com/.../688574 Regards Shravan + +Hi, Is there any option to try the PCI test between two TDA2X boards in RTOS platform? + +Hi, We have a simple driver to configure in RC and EP mode present in PDK. Please refer to pdk\packages\ti\csl\example\pcie\write_loopback for more information. The issue pertaining to PCIe communication between Jetson TX2 and TDA2 seems to be resolved. Please create a new thread if you have any further questions. Regards Shravan + diff --git a/sample_embedding_folder2/0772587.txt b/sample_embedding_folder2/0772587.txt new file mode 100644 index 0000000000000000000000000000000000000000..923a6f4144f97b86aaa450efc2f8caf73143fe0a --- /dev/null +++ b/sample_embedding_folder2/0772587.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2: system_cfg.h missing + +Query Text: +Part Number: TDA2 Tool/software: Linux Dear , today i try to build my code but i found some error like that "system_cfg.h" is missing . please help me i am using linux platform thank you + +Responses: +Hi Vijender, Can you provide details on what you were building and the error log. Regards, Rishabh + +Hello Rishabh this is the simple code " /** * main.c */ int main(void) { //app_init_a15(); App_init(); return 0; } " Error is like that >> Compilation failure subdir_rules.mk:7: recipe for target 'app_init_a15.obj' failed "/home/vijender/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/apps/src/common/app_init/app_init_a15.c", line 81: fatal error #1965: cannot open source file "system_cfg.h" 1 catastrophic error detected in the compilation of "/home/vijender/PROCESSOR_SDK_VISION_03_06_00_00/vision_sdk/apps/src/common/app_init/app_init_a15.c". Compilation terminated. gmake: *** [app_init_a15.obj] Error 1 gmake: Target 'all' not remade because of errors. **** Build Finished **** + +Hi Vijender, Were you able to build default Vision SDK Linux? Can you refer to VisionSDK_Linux_UserGuide.pdf for steps on Linux build. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0772604.txt b/sample_embedding_folder2/0772604.txt new file mode 100644 index 0000000000000000000000000000000000000000..f8d1e4c2299db271b6addc1ae503521a5b25c9fd --- /dev/null +++ b/sample_embedding_folder2/0772604.txt @@ -0,0 +1,18 @@ +Ticket Name: TDA2: network speed problem + +Query Text: +Part Number: TDA2 HI, i am using tda2x/PROCESSOR_SDK_VISION_03_06_00_00.After install and build,starting run the usecase--"1CH VIP Capture + Network TX". oh,my evm board ip address is static --192.168.1.200,and pc side is 192.168.1.201.And network cable was connected to EVM board side P5 port. And then,running the command in windows cmd terminal. "network_rx --ipaddr --target_ip 192.168.1.200 --host_ip 192.168.1.201 --port 29172 -usetfdtp --files 20190214_001.yuv" my problem is the speed of network.Less than 1280*720 30fps.just about 10fps. How to improve the speed of network?thank you. + +Responses: +Hi @user3792633 , from VisionSDK_UserGuide_NetworkTools.pdf: IMPORTANT NOTE: When sending RAW/YUV frames When NDK runs on M4 CPU, one can achieve a data rate of about 2 MB/s (16Mbps) When NDK runs on A15 CPU (TDA2x or TDA2px), one can achieve a data rate of about 60 MB/s (480Mbps) Can you make sure NDK runs on A15 core? You should have NDK_PROC_TO_USE=a15_0 in the build config you use. Regards, Yordan + +hi Yordan, I am sure Ndk runs on A15 core now.Here have two pics about config. Jer + +Hi, While the transmission is going on, please check your network speed in system monitor. To match your requirement, approximately 422 Mbps network speed is required. This is theoretically possible, but this can depend on your network bandwidth. But since you are using static IP, and you're connected to the PC directly from the EVM, I wonder what could go wrong. Please let me know if the network speed you observe is sufficient for the required data transfer. Meanwhile I'll try to replicate this on my side. Regards, Anand + +Hi Anand, Network speed is 64Mbps when the usecase in running.Not able to achieve 422Mbps. Jer. + +Hi Anand, Do you have any update about this issue? Regards, Jeremy + +Hi Jeremy, I suspect that you won't be getting the desired FPS since you're working with raw data. You can try with encoding and see if you're getting the desired FPS. Since you're using static IP, network speed issues shouldn't come up. Just to get a closure on that, please check the UART console log of vision sdk and see if your connection is 1000Mbps. Regards, Anand + diff --git a/sample_embedding_folder2/0772782.txt b/sample_embedding_folder2/0772782.txt new file mode 100644 index 0000000000000000000000000000000000000000..bc34493b4aa1450a2cd3ccbe60c49d59652724a5 --- /dev/null +++ b/sample_embedding_folder2/0772782.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Is there an example(s) of keras segment(object detection) on TDA2 ? + +Query Text: +Part Number: TDA2 Hi all, I have successfully run an example of keras classification on TDA2 as provided in e2e.ti.com/.../689876. Is there any example(s) of keras segmentation(object detection) on TDA2 ? + +Responses: +We don't have any example for Tensotflow segment and object detection models. We have caffe based eamples segment and object detection. Can be found in the below pathc github.com/.../caffe-jacinto-models + diff --git a/sample_embedding_folder2/0773346.txt b/sample_embedding_folder2/0773346.txt new file mode 100644 index 0000000000000000000000000000000000000000..39c7de9120e105e3d89e931b6e1e72320d512467 --- /dev/null +++ b/sample_embedding_folder2/0773346.txt @@ -0,0 +1,42 @@ +Ticket Name: RTOS/TDA2EVM5777: QSPI Flash based SBL & APP images fail to boot as expected + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2, TDA2E Tool/software: TI-RTOS Hi, http://processors.wiki.ti.com/images/b/b7/TDA_SBL_UserGuide.pdf By following above guide and with the use of TDA2XX board, we try to generate and flash SBL & Application images into QSPI flash. In the end there is NO complete application loading. This is the snapshot of Terminal prints after SBL TIIMAGE file is loaded. - can you point out why "SBL Initial Config Failed" comes and how to overcome this? Below are the prints in Terminal window after loading the APP muticore image binary - FYI, MPU_CPU1_ID (value = 1) was used to generated this. <<<<<< DRA72x SBL Boot SBL Initial Config Failed DPLL Configuration Completed Clock Domain Configuration Completed Module Enable Configuration Completed TI EVM PAD Config Completed DDR Config Completed App Image Download Begins Manufacturer ID - 0x1 Device ID - 0x18 WARNING: Device Id Does not Match Trying to boot App Image with header version 1 WARNING: Device Id Does not Match MPU CPU0 Image Load Completed App Image Download Completed ***************************************************************** PMCCNTR counts once every 64 clock cycles, multiple by 64 to get actual CPU cycles SBL Initial Config Cycles - 69304 (5.54 ms) SOC Init Cycles - 217592 (17.40 ms) DDR Config Clock Cycles - 57379 (4.59 ms) App Image Load Cycles - 505157 (40.41 ms) Slave Core Bootup Cycles - 17950 (1.43 ms) SBL Boot-up Cycles - 868601 (69.48 ms) Time at which SBL started IPU1_0 - 71878497 (5750.27 ms) **************************************************************** Jumping to MPU CPU0 App <<<<<< There is no output prints as expected for the "Hello World" print - either in Console or in Terminal window. It's bit urgent so kind attention & inputs are needed soon to resolve... kindly let me know if any additional info. needed. Thanks & Regards, Sathiyan + +Responses: +Hi, You can follow the below sequence to debug: 1. Can you set the board in debug mode as per the user guide. 2. Use CCS to load SBL (built in debug mode) and single step to identify the failure. Regards, Rishabh + +Hi, Thanks for quick input. Yes debug mode was mode in SW2 as per user guide. Do you mean to debug SBL execution and see why "Init Config Failed" error happens? Let me try. But before to that I doubt the options used while creating SBL & APP images. If there is any input in that angle, that would help. Thanks, Sathiyan + +Hi, Did you change anything in default options? Are you using custom board or EVM? Regards, Rishabh + +Hi, It's a EVM board only. Which "default options" you point out? By options in my previous comment, I meant the build options that should be input to generate the SBL (via gmake) and APP (via CCS tool followed by RPRC conversion & then Multicore image generation tool). Thanks, Sathiyan + +Hi, The build command is given in section 4 of SBL user guide. I meant that you need to set debug mode in SYSBOOT and then load the SBL using CCS. Regards, Rishabh + +Hi, One more point. You need to set SW2 for QSPI as per SBL user guide and not debug when you are trying QSPI SBL boot. Regards, Rishabh + +Hi, Yes your above two comments based steps were already taken care... I believe because of this only such Terminal prints (one after SBL alone loaded stage and next after App image loading) are shown in boot sequence. My queries : 1) is the "SBL init config failed" [gets printed as part of the SBL boot sequence] an issue for an incomplete App boot-up ? 2) is there any application note or any other older post in forum or any other document available - which throws light on the command options used in SBL generation (.xa15fg and .tiimage files) & then the APP Image generation (,.rprc and .bin files) ? Thanks in advance, - Sathiyan + +Hi, I will once look at sbl code and get back to you on 1. For 2 I am not sure what is not clear. It’s explained very well in SBL userguide. Regards, Rishabh + +Hi, Thanks for your plan on 1. I wait. Also do you need any generated file to be attached here, so that you can refer the values and henceforth, go through the SBL code? I think 2 is related to the issue pointed in 1. As there are variables (like build options, target configurations, boot modes, etc.,) while generating SBL & APP (as per the SBL user guide), we had to logically pick the values for almost all variables but for some there was trial & error based input involved. I doubt the "SBL init config failed" pointed in 1 is due to some missing details which I intend to get clarified by 2 To name a few of the missing details : - M4 is master or A15 is master? - Core ID / Device ID configuration for the Target and the corresponding value usage while building the APP multicore image ? - QSPI flash writer loading into M4 or A15? (FYI, am always unable to load into M4 as the guide says) - SBL ELF and SBL TIIMAGE loading order ? and loaded into which target? May be when you get back on 1 [ on what all cases "SBL init config failed" is hit ], we can narrow down things w.r.t 2 and proceed further. Thanks in advance, Sathiyan + +Hi, You have misinterpreted my comment. I would like to re-iterate that all the information you need for SBL is already there in user guide. It seems that you are trying to run TDA2E SBL on TDA2 board in above case. Same is mentioned in SBL user guide chapter 2. My suggestion to you would be to go through PDK getting started videos for basics: training.ti.com/getting-started-adas-platform-development-kit-pdk After that go through SBL user guide. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +Hi, No the option (as per Chapter 2) to select for "evmDRA72x or TDA2xx" is yet to be tried and whole steps are yet to be checked. Thanks for trying to know the conclusion, but kindly wait until another 4-5 hours by which I can get back to you whether the issue is resolved completely or not. Meanwhile, is it possible to enable more debug prints in the SBL - because "SBL Initial Config failed" lacks more information rather if the debug logs point out the problematic configuration or (combination of configurations), then it would be much helpful & effective. Hope you agree ! Thanks, Sathiyan + +Hi, Also FYI, the time delay incurred (to verify your suggested steps) is because we are currently working to complete our customised application (which we can directly build with CCS) and test with these SBL user guide steps directly. Thanks for understanding ! - Sathiyan + +Can we get more debug prints or logs in SBL (that can be seen in UART terminal) to ourselves get clarified on these doubts :- - M4 is master or A15 is master? - Core ID / Device ID configuration for the Target and the corresponding value usage while building the APP multicore image ? - QSPI flash writer loading into M4 or A15? (FYI, am always unable to load into M4 as the guide says) - SBL ELF and SBL TIIMAGE loading order ? and loaded into which target? + +Hi, I would strongly recommend you to go through basic training material first whenever you are done with custom application. A15 is master for TDA2x device and flash writer should be run from M4 as given in user guide. SBL elf is not loaded. It is converted to tiimage which is loaded by SBL. Device/Core Id configuration and usage is documented in SBL user guide. You can also see various scripts under \packages\ti\boot\sbl_auto\tools folder. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +>> reply on Feb 18, 2019 2:56 PM >> To name a few of the missing details : >> - M4 is master or A15 is master? >> - Core ID / Device ID configuration for the Target and the corresponding value usage while building the APP multicore image ? >> - QSPI flash writer loading into M4 or A15? (FYI, am always unable to load into M4 as the guide says) >> - SBL ELF and SBL TIIMAGE loading order ? and loaded into which target? >> reply on Feb 20, 2019 7:27 AM >> Can we get more debug prints or logs in SBL (that can be seen in UART terminal) to ourselves get clarified on these doubts :- >> - M4 is master or A15 is master? >> - Core ID / Device ID configuration for the Target and the corresponding value usage while building the APP multicore image ? >> - QSPI flash writer loading into M4 or A15? (FYI, am always unable to load into M4 as the guide says) >> - SBL ELF and SBL TIIMAGE loading order ? and loaded into which target? Hi Rishabh, Though the above two replies/queries are still open (in our perspective), for now we are able to flash & boot the Mailbox Multicore Example Application.. based on some of the inputs from you. So this thread can be closed and for any queries related to above two reply posts, we shall open new post, particularly based on our own customized application boot/flash status. Thanks for the support rendered ! Regards, Sathiyan + +Hi, I would suggest you to go through my last reply and the training material to be clear on the basics. Regards, Rishabh + diff --git a/sample_embedding_folder2/0773382.txt b/sample_embedding_folder2/0773382.txt new file mode 100644 index 0000000000000000000000000000000000000000..0cab5e96080f493b8772932ae5639998c21760b1 --- /dev/null +++ b/sample_embedding_folder2/0773382.txt @@ -0,0 +1,69 @@ +Ticket Name: Linux/TDA2: pci_endpoint_test not registering device in /dev + +Query Text: +Part Number: TDA2 Tool/software: Linux Hello, I am trying to test a PCIe connection between a PC running Ubuntu 16.04 with kernel 4.16.7 and a TDA2p's ARM running kernel 4.4.84. I have followed the instructions from this link: http://processors.wiki.ti.com/index.php/Linux_Core_PCIe_EP_User%27s_Guide and managed to run the TDA2p's PCIe controller in EP mode. I can verify this because the PC enumerated it as an Endpoint (this info obtained from lspci output on PC). When inserting pci_endpoint_test module on PC there are no errors present in dmesg output but the pcitest.sh does not work, says that there is no endpoint test device registered. Upon futher inspection, I've seen that the pci_endpoint_test module is supposed to register a misc device that is to be bound to the endpoint test. However, there is not any device like this in /dev. Thank you for the help in advance. Regards, Nick + +Responses: +Hi Nick, Can you please describe the sequence of operations being followed? Are you powering the TDA2P board after the PC is powered up? If this is the case you may need to rescan the bus after inserting the PCIe? You can also try to remove the parent PCIe bridge before running the rescan of the bus (The below example assumes the parent bridge is 0000\:00\:1d.0. To get the bridge run lspci -tvv) echo 1 > /sys/bus/pci/devices/0000\:00\:1d.0/remove echo 1 > /sys/bus/pci/rescan Regards Shravan + +Hi Shravan, This is not giving me trouble, PC correctly enumerates the TDA2p. The question is related to pci_endpoint_test module that is to be inserted on RC side. I've looked into the code and it is supposed to create an endpoint test device but there were no errors while modprobing so I am not sure what the problem is. Regards, Nick + +Hi Nick, Can you please attach the output of lscpi -vv run on your PC? It could be the endpoint test driver isn't bound to the TDA2P device. Also can you attach the dmesg logs from your PC? Regards Shravan + +Hi Shravan, I have attached two files with this post, 'lspci_log.txt' is a lspci output of the TDA2p device on PCIe bus and the 'dmesg_log.txt' is a dmesg output after executing 'sudo modprobe pci_endpoint_test' and that module is present in lsmod output. lspci_log.txt 06:00.0 Unassigned class [ff00]: Texas Instruments Device ffff + Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- + Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- (32-bit, prefetchable) + Capabilities: [40] Power Management version 3 + Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0+,D1+,D2-,D3hot+,D3cold-) + Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- + Capabilities: [50] MSI: Enable- Count=1/16 Maskable- 64bit- + Address: 00000000 Data: 0000 + Capabilities: [70] Express (v2) Endpoint, MSI 00 + DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us + ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- + DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- + RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+ + MaxPayload 128 bytes, MaxReadReq 512 bytes + DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- + LnkCap: Port #0, Speed 5GT/s, Width x2, ASPM L0s L1, Exit Latency L0s <512ns, L1 <64us + ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+ + LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk- + ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- + LnkSta: Speed 5GT/s, Width x2, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- + DevCap2: Completion Timeout: Range ABCD, TimeoutDis+, LTR-, OBFF Not Supported + DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled + LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis- + Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS- + Compliance De-emphasis: -6dB + LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1- + EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest- + Capabilities: [100 v2] Advanced Error Reporting + UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- + UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- + UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol- + CESta: RxErr+ BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr- + CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+ + AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn- + + + 2133.dmesg_log.txt Regards, Nick + +Hi Nick, Thank you for the logs. From your logs its clear that the endpoint-test driver isn't bound to the endpoint device. Which kernel version are you using? If you're using kernel 4.4 please set the vendor_id and MSI interrupt count as per the instructions mentioned in the PCIe EP User guide. If you're using the kernel 4.9 and beyond please set the device_id in addition to the vendor_id and MSI count. Regards Shravan + +Hi Shravan, I use kernel 4.4.84 and I'm executing the following script on my TDA2p before I power up the PC and insert the pci_endpoint_test module. #!/bin/sh modprobe pci_epf_test mount -t configfs none /sys/kernel/config cd /sys/kernel/config/pci_ep/ mkdir pci_epf_test.0 cd pci_epf_test.0 echo 0x104c > vendorid echo 16 > msi_interrupts echo "51000000.pcie_ep" > epc I think that everything here is done according to the instructions. Regards, Nick + +Hi Nick, Can you set CONFIG_PCI_EPF_TEST=y instead of building it as a module and see if the issue is still observed? I would assume CONFIG_PCI_ENDPOINT and CONFIG_PCI_DRA7XX_EP are inbuilt. Regards Shravan + +Hi Nick, As an additional step, can you also set the device id (as indicated in the instruction for the 4.9 kernel, this is in addition to the vendor-id and msi count). If it still fails, can you add prints in the probe of the pci_endpoint_test and let us know where the probe fails. Regards Shravan + +Hi Shravan, It seems that something is wrong with the PCIe slot (or something else) of my PC. I tried the test on another one and it worked. Sorry for the inconvenience and thank you for your help so far. Regards, Nick + +Hi Nick, No issues. Thank you for the update. I will close this thread now. Regards Shravan + diff --git a/sample_embedding_folder2/0773492.txt b/sample_embedding_folder2/0773492.txt new file mode 100644 index 0000000000000000000000000000000000000000..8d8f36b70da9261866506b7358a8c4f6c726c223 --- /dev/null +++ b/sample_embedding_folder2/0773492.txt @@ -0,0 +1,18 @@ +Ticket Name: Linux/TDA2: FLASHING TOOLS + +Query Text: +Part Number: TDA2 Tool/software: Linux Dear All, I would like to know some of the below question answers Q1:Way of flashing NAND/NOR for TDA2x evm - is there any tool ? Q2:What is the size of MLO, uboot, linux and filesystem, - running on our current TDA2x EVM and also on D3 board. Q3:Current DDR3 memory usage on TDA2x evm needs to be found Q4: List of various drivers involved in TDA2x evm linux - eg: i2c, usb, camera, hdmi and so on… + +Responses: +Hello, I'll let software teams comment regarding your other questions. But for Q1, one way to do it is via the flash tool. Here are a couple related forum posts: Thanks, Alex + +Hi, Q2: here are some example sizes: MLO: 125K ; u-boot.img: 819K ; zImage: 3.4M note that this sizes may vary based on your config. the default rootfs from here: software-dl.ti.com/.../index_FDS.html has size 296M, you can add more features to it and size will increase. Q3: Please follow the document /vision_sdk/docs/FeatureSpecificUserGuides/VisionSDK_UserGuide_MemoryMap.pdf for description of how to configure memory in VisionSDK. The default Linux configuration for TDA2x is 1GB. Q4: Linux version of VisionSDK is based on Processor SDK Linux Automotive (PSDKLA), so you can check the supported features in the Data Sheet: processors.wiki.ti.com/index.php Also helpful can be PSDKLA Developer guide and FAQ: processors.wiki.ti.com/index.php processors.wiki.ti.com/index.php Please let me know if you have any further questions. Regards, Yordan + +Hello Yordan, RA72x Evaluation module is same a TDA2x EVM? i.e processors.wiki.ti.com/index.php I have a some more question on TDA2x board, please find below list . ------------------------------------------------------------------------------------------ Q5:compile procedure for TDA2x rootfile system/Linux/Uboot? Q6:How to choose MLO for TDA2x? is it processor specific ? Q7:Flashing MLO/UBOOT/KERNEL/ROOTFS on NAND/NOR memory procedure? Q8:TDA2x EVM peripheral like i2c,spi,.... all soc peripherals test suite either unit/system testing procedure? ------------------------------------------------------------------------------------------ Regards, Raghu + +Raghu, vhg jgyj said: Q5:compile procedure for TDA2x rootfile system/Linux/Uboot? Q6:How to choose MLO for TDA2x? is it processor specific ? Q7:Flashing MLO/UBOOT/KERNEL/ROOTFS on NAND/NOR memory procedure? Q8:TDA2x EVM peripheral like i2c,spi,.... all soc peripherals test suite either unit/system testing procedure? Are you using Vision SDK? If so please follow the user guides provided along the SDK. There is a lot of information to answer your general questions above. thanks, Alex + +Hello Alex, I am using vision DSK, but below some question required more information or any link to cover below please send me. Q7:Flashing MLO/UBOOT/KERNEL/ROOTFS on NAND/NOR memory procedure? Q8:TDA2x EVM peripheral like i2c,spi,.... all soc peripherals test suite either unit/system testing procedure? Regards, Raghu + +Hi Raghu, can you check here for flashing to NAND: processors.wiki.ti.com/.../Linux_Core_U-Boot_User's_Guide Regards, Yordan + diff --git a/sample_embedding_folder2/0773981.txt b/sample_embedding_folder2/0773981.txt new file mode 100644 index 0000000000000000000000000000000000000000..a9127240130876f2dcb91cb422a70610022e9c38 --- /dev/null +++ b/sample_embedding_folder2/0773981.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2: issue with generated tidl_net_jdetNet_ssd.bin and tidl_param_jdetNet_ssd.bin + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, While using generated tidl_net_jdetNet_ssd.bin and tidl_param_jdetNet_ssd.bin files for TIDL usecase in TDA2X, video gets stuck after first frame. The tidl_net_jdetNet_ssd.bin and tidl_param_jdetNet_ssd.bin are generated using import tool which is available in PROCESSOR_SDK_VISION_03_06_00_00 in UBUNTU 16.04. Note: 1. I have used wine to execute import _tool.exe in UBUNTU 16.04 2. Default tidl_net_jdetNet_ssd.bin and tidl_param_jdetNet_ssd.bin available in SDK works fine. 3. After referring the link I understood default bin files available in SDK was generated using corresponding prototxt and caffemodel. so using those caffemodel and prototxt I generated the bin files . Is there any problem with my bin file generation? Kindly share your comments. + +Responses: +refer below thread for this e2e.ti.com/.../689617 + diff --git a/sample_embedding_folder2/0774132.txt b/sample_embedding_folder2/0774132.txt new file mode 100644 index 0000000000000000000000000000000000000000..0b99c6bb319b133c8263d7bce31368a6e574f2fe --- /dev/null +++ b/sample_embedding_folder2/0774132.txt @@ -0,0 +1,20 @@ +Ticket Name: RTOS/TDA2: Build VisionSDK and have the Error -1073740791 + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi,team I build VisionSDK and have some errors.The building steps are as below and could you give me some suggestion?Thanks so much. == (1)I download,test 2 versions and install Vision SDK to windows PROCESSOR_SDK_VISION_03_06_00_00_setupwin.exe PROCESSOR_SDK_VISION_03_05_00_00_setupwin.exe (2)Use System administrator(cmd) or Cygwin to build TI-RTOS (3) Go inside the directory PROCESSOR_SDK_VISION_03_xx_xx_xx\vision_sdk\build (4) Open file \vision_sdk\build\Rules.make and set required config MAKECONFIG=tda2xx_evm_bios_all (5) Set environmental variables to PATH variables : PATH value : C:\PROCESSOR_SDK_VISION_03_06_00_00\ti_components\os_tools\windows\xdctools_3_32_01_22_core;%PATH% (6) Refer to "/vision_sdk/build/tools_path.mk" and download/install A15 toolchain to C:\PROCESSOR_SDK_VISION_03_06_00_00\ti_components\cg_tools\windows\gcc-arm-none-eabi-4_9-2015q3 C:\PROCESSOR_SDK_VISION_03_06_00_00\ti_components\cg_tools\linux\gcc-arm-none-eabi-4_9-2015q3 than the environmental variable is set C:\PROCESSOR_SDK_VISION_03_06_00_00\ti_components\cg_tools\linux\gcc-arm-none-eabi-4_9-2015q3\bin;C:\PROCESSOR_SDK_VISION_03_06_00_00\ti_components\cg_tools\windows\gcc-arm-none-eabi-4_9-2015q3\bin;C:\PROCESSOR_SDK_VISION_03_06_00_00\ti_components\os_tools\windows\xdctools_3_32_01_22_core;%PATH% (7) Build first time and run the below sequence of commands >> gmake -s -j depend (8)But there are below errors: ... ... # Archiving tda2xx:ipu1_0:release:vps_devices into C:/PROCESSOR_SDK_VISION_03_06_00_00/ti_components/drivers/pdk_01_10_02_07/packages/ti/drv/vps/lib/tda2xx/m4/release/vps_devices.aem4 ... gmake[3]: *** [vps_devices] Error -1073740791 gmake[2]: *** [pdk] Error 2 gmake[1]: *** [pdk] Error 2 gmake: *** [depend] Error 2 Best Regards, Jacob Lin + +Responses: +Hi Jacob, Do you get the same error with "gmake -s depend"? Regards, Rishabh + +Dear Rishabh I still get the same error with "gmake -s depend".Could you have other ideas about the problem? Thanks. ... ... ... # Archiving tda2xx:ipu1_0:release:vps_devices into C:/PROCESSOR_SDK_VISION_03_06_00_00/ti_components/drivers/pdk_01_10_02_07/packages/ti/drv/vps/lib/tda2xx/m4/release/vps_devices.aem4 ... # gmake[3]: *** [vps_devices] Error -1073740791 gmake[2]: *** [pdk] Error 2 gmake[1]: *** [pdk] Error 2 gmake: *** [depend] Error 2 Best Regards, Jacob Lin + +Dear Rishabh I still get the same error with "gmake -s depend".Do you have other idea about the problem?Thanks. ... ... ... # Archiving tda2xx:ipu1_0:release:vps_devices into C:/PROCESSOR_SDK_VISION_03_06_00_00/ti_components/drivers/pdk_01_10_02_07/packages/ti/drv/vps/lib/tda2xx/m4/release/vps_devices.aem4 ... # gmake[3]: *** [vps_devices] Error -1073740791 gmake[2]: *** [pdk] Error 2 gmake[1]: *** [pdk] Error 2 gmake: *** [depend] Error 2 Best Regards, Jacob Lin + +Hi Jacob, Can you start cmd as an administrator and try. If you are already running as admin then try vice versa. I did some search on internet for file system error 1073740791 and suggestions pointed to issue with permissions/file system. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +Dear Rishabh Sorry for late response and I solved the issue until 5 hours ago. (1) Run as administrator for cmd and cygwin: still failing (2) Disable the read only for SDK folder : still failing (3) Release all permissions/file system : still failing (4) CHKDSK -r -f: still failing (5) Dism /Online /Cleanup-Image /CheckHealth : still failing (6) Dism /Online /Cleanup-Image /ScanHealth : still failing (7) Dism /Online /Cleanup-Image /RestoreHealth : still failing I directly change the PC and repeat the steps. The RTOS is built successfully. Maybe my HDD or file system is broken, I still don't know real reason. Thanks so much for your help. Best Regards, Jacob Lin + +Hi Jacob, Glad that the issue is resolved. Thanks for the update. Regards, Rishabh + diff --git a/sample_embedding_folder2/0774272.txt b/sample_embedding_folder2/0774272.txt new file mode 100644 index 0000000000000000000000000000000000000000..2cd0424038d8f643517ff7413399531c7b6957f1 --- /dev/null +++ b/sample_embedding_folder2/0774272.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2: I copy some function codes form use-case and add into the others use-case. Error message : Faulty address is 0x4, called from 0x1b155. + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi Sir, My HW is TDA2x CPU board + Vision Board + daughter board + LVDS sensor and SDK is PROCESSOR_SDK_VISION_03_04_00_00 with TDA2XX_EVM_LINUX_ALL define. I select use-case "4CH VIP LVDS capture + SGX MOSAIC + DISPLAY". I want to save the source image in this ues-case, then I add some function code in this case (chains_lvdsVipMultiCam_SgxDisplay.c), example "static Void mountFatFs()", "static Void saveCaptureFrames(chains_srvCalibration_DisplayAppObj *pObj)"....etc. After boot on the EVK and select this use-case, it can't be executed successfully, console mode shows below error message: ****** Segmentation fault caught .... Faulty address is 0x4, called from 0x1b155 Totally Obtained 0 stack frames. signal number =11 Signal number = 11, Signal errno = 0 SI code = 1 (Address not mapped to object) Fault addr = 0x4 [bt] Execution path: root@dra7xx-evm:/opt/vision_sdk# What does it mean? Please help and thanks. Ranny. + +Responses: +Hi Ranny, here a few things you can check: - as you take saveCaptureFrames() from another usecase, the struct which is taken as argument might have some fields that your usecase do not have (for example the saveFrameSync mutex). Can you make sure that the fields which the function access exists in the struct (you can also look for suspicious warnings when recompiling). - in saveCaptureFrames() function can you try to just open the file, write some bytes to it and close it and see if it is written correctly - this will show if FS operations work correctly. - do you see Vps_printf() messages in your log, can you add some more prints to narrow down where exactly segmentation occurs? Regards, Yordan + +Hi Sir, 1. Attachend file is the log file that I execute boot and use-case process. 2. I only go inside the use-case, I didn't execute "mountFatFs()" & "saveCaptureFrames()" function yet, console alread shows the error message. 3. I try to add the Vps_printf to check exactly issue occurs, seems after creating a new struct and then segmention occurs, - the error structure creating is: "chains_srvCalibration_DisplayAppObj srvCalib_chainsObj; " Thanks. Ranny. + +20190221_01_Save_Img-fail.txtI forget to upload the log file. Ranny. + +Hi Sir, I modify the function name "saveCaptureFrames()" as the other name, this issue is fixed. I thought this function is a internal function, so I use the same name which I copyed from, I don't know why the same function name will cause this error, even two functions are in different use-case. Anyway, I modify the function name and this error is fixed. Thanks. Ranny. + diff --git a/sample_embedding_folder2/0774364.txt b/sample_embedding_folder2/0774364.txt new file mode 100644 index 0000000000000000000000000000000000000000..637b9d03365be7b6aece7a8a305fd44e4ba28f6d --- /dev/null +++ b/sample_embedding_folder2/0774364.txt @@ -0,0 +1,36 @@ +Ticket Name: TDA2: SD-Card booting: Jumping to MPU CPU0 Application + +Query Text: +Part Number: TDA2 Hello, I included into Vision SDK a new Link and Usecase. With the Debugger the Code works fine. I tried to boot from an SD card. The TDA2 only works until "Jumping to MPU CPU0 Application..." appears in the Terminal. The whole Terminal output is shown below. The SD card works, I tried a functional Appimage and everything was fine. I am not sure in what could be wrong. Is there anything I have to add in the Imagegenerator when I include a new Usecase? Vayu SBL Boot AVS class-0 has been completed already DPLL configuration completed PRCM clock domain force wake-up completed PRCM module enable completed TI tda2xx evm pad configuration completed DDR3 configuration completed AppImage download begins WARNING: Device Id Doesnot match MPU CPU0 image load completed IPU1 CPU0 image load completed IPU1 CPU1 image load completed DSP1 image load completed DSP2 image load completed EVE1 image load completed EVE2 image load completed EVE3 image load completed EVE4 image load completed SBL boot completed succesfully **************SBL Boot-up clock cycles******************* PMCCNTR counts once every 64 clock cycles. To get actual CPU cycle multiple by 64 VM init clock cycles - 416436 soc prcm init clock cycles - 184688 ddr3 init clock cycles - 35867 appImage load clock cycles - 35223999 slavecore bring-up clock cycles - 14292 sbl total boot-up clock cycles - 35946449 ***************************************************************** Flush DCache... Putting CPU1 in OFF... Jumping to MPU CPU0 Application... + +Responses: +Hi Julian, It seems as if IPC attach did not happen. Can you connect CCS and see which core has died? Regards, Rishabh + +Hi Rishabh, I can connect CCS and load the Code in Debuge Mode. There every core looks fine and the Programm is Code is working. Is there any other methode in CCS to see which core died, when I use SD card booting? Regards, Julian + +Hi Julian, Can you share a screenshot of CCS when all CPUs are connected. Make sure that you load symbols for all CPUs. Regards, Rishabh + +Hi Rishabh, I loaded a Program on every core. Whats the difference between load a symbol and a Programm? + +Hi Julian, Are you using the same binaries to create application image when SD boot fails? In order to debug boot failure issue you should try SD boot and then load symbols for individual CPUs to identify the problem. Regards, Rishabh + +Hi Rishabh Yes I use the same binaries to create the application image when SD boot fails. Regards, Julian + +Hi Rishabh, I am now loading symbols while booting from the SD card. I can not connect to the EVE cores in the Debugger. The screenshot shows what I can see in the Dubugger. + +Julian, Have you removed gels before connecting? Regards, Rishabh + +No I didn't remove the gels before connecting. + +Can you remove the gels and load symbols again to identify the reason. Regards, Rishabh + +Where can I find the gels? Regards, Julian + +Julian, You need to right click on the CPU, choose "Open Gel Files View" and then remove gels. This will not change the target configuration permanently. Alternatively you can modify the target configuration itself. Double click on target configuration. Go to advanced tab and remove initialization script. Regards, Rishabh + +Ok i removed the Gel before connecting with the Cores. EVE2 is still not connectible. The Screenshot shows the other Cores loaded with the symbols. + +Hi Julian, From this we know that EVE2 is having some problem. To confirm this you should disable EVE2 and then try the boot. The boot should work. Then you need to analyze what exactly EVE2 is doing after coming to main. What are the changes you have made that can cause EVE2 to crash. Does it need some additional MMU mapping? Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0774385.txt b/sample_embedding_folder2/0774385.txt new file mode 100644 index 0000000000000000000000000000000000000000..ffb330d7fa9653eb7f702caa21bdec8ee12b5f41 --- /dev/null +++ b/sample_embedding_folder2/0774385.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2: TDA2X BSP DRIVER UNIT/SYSTEM TESTING SAMPLE PROGRAMS + +Query Text: +Part Number: TDA2 Tool/software: Linux Hello, how to test all TDA2x BSP driver ? + +Responses: +Hi, Can you refer to processors.wiki.ti.com/.../PDK_TDA_VPS_User_Guide and processors.wiki.ti.com/.../PDK_TDA_BSPLLD_User_Guide Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0774450.txt b/sample_embedding_folder2/0774450.txt new file mode 100644 index 0000000000000000000000000000000000000000..b78a5783f01b6d8d62015416305adeaea14bfb7d --- /dev/null +++ b/sample_embedding_folder2/0774450.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: CSI2 to VIP frame definition in SDK + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: AWR1243 SDK detail for Cascade Radar Host Processor Board PROC055 we need the definition of the FPGA transfer function converting AWR1243 four channels stream on 4 CSI2 lanes, to the parallel 24 bit data signal of VIP input to the TDA2. + +Responses: +You would find the FPGA image which converts the CSI to 16 bit parallel in the SDK www.ti.com/.../processor-sdk-tdax under: D:\PROCESSOR_SDK_RADAR_\ti_components\drivers\pdk_\packages\ti\drv\vps\unit_test\cascadeRadarUt\fpgaimage + diff --git a/sample_embedding_folder2/0774451.txt b/sample_embedding_folder2/0774451.txt new file mode 100644 index 0000000000000000000000000000000000000000..965d7ce0d6cf3ff8f25ee45486e922515d5267de --- /dev/null +++ b/sample_embedding_folder2/0774451.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: Cascade Radar Host Processor Board to 20 channels + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: AWR1243 Cascade Radar Host Processor Board PROC055 with TDA2 mates with the AWR1243 PROC054 and has 4 chips with 4 channels each so 16 channels. We need to add another AWR1243 so we have 20 channels. In this case we will need to add a 5th FPGA to get the VIP frame for the TDA2. On the TDA2 ports VIP5 and VIP6 are only 16 bits wide not the 24 bits wide of VIP1, VIP2, VIP3 and VIP4. How should be proceed to enable 5 AWR1243 chips radar channels per TDA2? + +Responses: +Hi Zach, We are currently using only 16 bits in the current SDK for capturing the data on the TDA to capture each of the 4 AWR1243 data. You can use the same for the 5th AWR. BTW the software which supports cascade board is available in www.ti.com/.../processor-sdk-tdax for reference. Thanks and Regards, Piyali + +Hi Piyali, If we will use 16 bit mode as you indicated here, is it the MSB 16 bits for the 24 bits for the LSB 16 bits needed? Thank you, Zach + +Hi Zach, Lower 16 bits (15:0). Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0774466.txt b/sample_embedding_folder2/0774466.txt new file mode 100644 index 0000000000000000000000000000000000000000..63ef80b02dd6579859761aee6635da910120692d --- /dev/null +++ b/sample_embedding_folder2/0774466.txt @@ -0,0 +1,86 @@ +Ticket Name: TDA2: The difference between TDA2HVBRQABC(R)Q1 and TDA2SXBTQABC(R)Q1 + +Query Text: +Part Number: TDA2 Hello I have made two types of the H/W with a slightly different name of TDA Soc At first, everything looks fine including display like a picture #1 when I use TDA2HVBRQABC(R)Q1 on the H/W However, I have been facing an uncertain problem that display image comes out with little green chroma like a below attached picture#2 if I use TDA(TDA2SXBTQABC(R)Q1) Soc The vision SDK software is used with original released version from TI and used same S/W on both side.. we have measured there is 2bits missing on the image data like an attached picture #3 picture #4 is the information of measuring point My question is that the two types of the TDA soc is 100% compatible with same vision SDK software including BSP specifically video input part? So there is no chance the possibility coming different output because of the S/W? or should I have different perpective? Thank you + +Responses: +Hi, you can check the difference between TDA2HV and TDA2SX in "Table 3-1. Device Comparison" in device's Datasheet: www.ti.com/.../tda2sx.pdf (I have pinged the SW experts to comment on the problem you observe) Regards, Yordan + +Thank you I am looking forward to hear the opinion soon + +Hi, By any chance, is it possible that the luma and chroma are swapped? May be, can you dump one of the image and offline analyze it, in one of the YUV viewer? Regards, Brijesh + +I've already checked the display with another grabber deivce and have triple checked the swap possibility. so do you think it should be same whether using TDA2HVBRQABC(R)Q1 or TDA2SXBTQABC(R)Q1 if I use same vision SDK s/w? + +Hi, Are you testing it out with some fixed input pattern? Rgds, Brijesh + +Hi Yes, the color pixed pattern(white,yellow,red,blue,black bar) from the camera is being used for this debugging + +Strange, is it possible to probe the vip input lines and check all bits lines are toggling.. Rgds, Brijesh + +Yes, that is also checked by an oscilloscope. every data bits and clock are toggling + +ok, what processing is enabled in VIP? do you do any scaling, chroma conversion etc.. in VIP path? Rgds, Brijesh + +Crop is enabled but the same software works fine in another H/W using a TDA2HVBRQABC(R)Q1 + +ok, i see you are probing at IPC_in on A15, can you first probe at the capture output, then dup, then select and see if where bits are getting missed. Also i am assuming pinmux is setup correctly for the VIP input in both the cases.. Rgds, Brijesh + +Hello , I am assuming that you are probing the image data at the IPC In on A15, could you please confirm the same? Rgds, Brijesh + +That is correct . I'm probing the image at the IPC in on A15 with image analyzer in ccs v8 and display the monitor as well . You mean i can probe right behind of VIP in IPU1-0? If that so, Can you please tell me the file name and buffer on vision sdk? I thought that source part is generated automatically so i didnt take care much for this debugging reason Thank you + +Hi, Yes, you could buffer at the each link's output and see where is the problem. For the capture, put break point on the capture callback and once it calls Fvid2_Dequeue API, you could get the buffer address from the Fvid2_FrameList.frames[0].addr[0][0].. Take buffer address from this variable and then dump buffer from the CCS memory window. Rgds, Brijesh + +Ok i will try to probe at those points thank you + +Hi Just to double check, do you mean that the file name is fvid2_drvMgr.c in /ti_component/drivers/pdk_01_08_00_16/packages/ti/drv/vps/src/fvid2/src path ? If there is no different output coming out with probing the point on A15, Can I make sure the vision SDK s/w is absolutly compatible with both SOCs ? which means no need to change anything on S/W(VIP part) to apply both sides ? Thank you + +No, if you are using VIP capture link, then you could put breakpoint on CaptureLink_drvProcessData function. After it calls Fvid2_Dequeue, at around line 744, you could get the address of the captured frame in frameList.frames[0]->addr[0][0]. Rgds, Brijesh + +I've just probed the point which you have mentioned above, however it does same. it comes up exact same address value where on A15 Thank you + +You mean, the input buffer containing YUV still have missing 2 bits?? Rgds, Brijesh + +I mean the image from memory dump still looks green But more strange thing is that the data signal on h/w comes in to the TDA2X + +Can you please share the image you captured? + +Also can you please help me understand how sensor is connected to VIP?? + +sure, + +Hi MB, I was asking if you could dump this memory, from the address 0x8b187e00 and size 1280*2*720 and share it here. You could dump the memory from the CCS memory windows. Just right click on CCS memory window and select save memory option, it will ask for the start address, size and format, save it in binary format.. Rgds, Brijesh + +Hi As you said, I've attached the binary file Thank you memory dump.dat + + + +Hi MB, From the dump, it looks like the data is 12bit, not really 8bit per component. I dont really see any msb 4 bits set. could you please check if the YUV input is 12bit or 8bit per component? Rgds, Brijesh + +Hi The yuv data is 16bit from a camera that is composed of 8bit per Y and another 8bit per U and V My final guess is 4bit missing on UV TDA2X_mb.pptx I've attached the block diagram with the result of mesuring. can you please check it out which is possible to force to miss 4bit on S/W side? Thank you p.s : Blue display : 0xEB43 correct Green display : 0x0B03 wrong + +Hi MB, I have one question, i see that you are using vin2a in 16bit input mode, but these pins are muxed with the vout2 pins. Is it possible that when you are overwriting pinmux setting of vin2a when you set pinmux for vout2? vin6a is also muxed with the mcasp and other modules. Essentially when it is running, could you please recheck pinmux settings for the ports where you are seeing issue? Rgds, Brijesh + +Hi Can you please point out the points what i need to see for configuring pinmux for those you mentioned above? Furthermore, An another H/W using TDA2HVBRQABC(R)Q1 is working as with those setup Thank you + +Hi MB, In both the HW, SW is same? Absolutely no change in SW? When the usecease is running, you could open CCS memory window and check PAD IO registers for the VIP input ports.. Rgds, Brijesh + +Yes absolutely same. I use a sd card to run the s/w . So there is no chance to put different one Thank you + +Hi MB, You could check the difference between these two devices at below link. www.ti.com/.../sprs951e.pdf I don't any difference in VIP and DSS between these two device.. Are you sure the other HW components (Serializer/Deserializer, their configuration etc..) are also same between them? Rgds, brijehs + +Yes 100% same except DDR memory size(512mb and 1G) and the soc Is there any chance the TDA2SX is malfunctioning? I have heard the TDA2SX we have that is ES sample version + +ok, lets start with the pinmux register, can you dump pinmux registers for vin2a and vin6a and share it? Dump from CCS memory window when usecase is already running.. Rgds, Brijesh + +Sure i will share it when it is ready Thank you + +register.txtHi I've attached the register dump file from CCS Thank you + +Hi MB, It looks like you have shared DSP registers. I was actually asking for the Pinmux registers for VIN2A and VIN6A. The pinmux registers are part of the control module. Rgds, Brijesh + +Hi I've checked all register box as like attached picture Is there other way to get the information for pinmux register? Thank you + +Hi we've solved the problem with replacing an another MP version chip As I said above, the chip we've used is ES sample version. however, when we replace the ES with MP version, the problem is solved we dont know yet whether the ES sample has broken or some other reasons. and we have reported this issue to the distributer Thank you for your great effort + diff --git a/sample_embedding_folder2/0774469.txt b/sample_embedding_folder2/0774469.txt new file mode 100644 index 0000000000000000000000000000000000000000..760b0eb83d25c0b22123a7cd3e1163a1794559b9 --- /dev/null +++ b/sample_embedding_folder2/0774469.txt @@ -0,0 +1,16 @@ +Ticket Name: RTOS/TDA2: What is the performance of EVE in TDA2PX? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, I want to use EVE to deal with 4 720p camera HDR. After I invested, find when I use one eve to deal with 2 720p HDR, the percentage of EVE is about 90%. I think the eve should be more powerful. I use non-bam framework. If the bam framework or non-bam framework has so much effect? And if there is any formal eve performance data? Thanks a lot! Best Regards, Derek Yang + +Responses: +Hi, When I set block width from default value, 64, into 128, and keep the height in default value, 32, the performance improve a lot. But when I increase block width into 256, and keep height in 32, the process can't run. If anybody can help on this? Thanks! Best Regards, Derek Yang + +Derek, There should not be much difference in performance of bam and non-bam applications. For performance data you can refer eve_sw_datasheet.pdf located inside docs folder of EVESW. Regards, Anshu + +Derek, Typically larger the block size you process better is the performance. But these sizes cannot be increased arbitrarily as eventually these block sizes determines how much internal memory you use which is limited. Regards, Anshu + +Hi Anshu, Thanks a lot! I find in apps/apps_nonbam/test/common, the MEMORY define is as below, .. IMEMLA: origin = 0x40050000 length = 0x4000 ... If it is possible to increase the size into 0x8000?. For the block size, I set it into 128x48=6k. If I increase it into 128x64=8k, system will block. But the memory size is 0x4000, 16k. And in EVE app document, the max block size is 32kb. How can I set the block size into bigger one, for example 8k or 16k? Thanks! BRs Derek Yang + +Derek, For all the apps we use alias mode of EVE memory which helps in implementing ping-pong buffer scheme for processing. In this mode each of the image buffer becomes half of the total to support aliasing. So both IBUFL and IBUFH becomes 16KB each. Regards, Anshu + diff --git a/sample_embedding_folder2/0774494.txt b/sample_embedding_folder2/0774494.txt new file mode 100644 index 0000000000000000000000000000000000000000..f9bc8d5270880118dd412b7c8b820e3077786f31 --- /dev/null +++ b/sample_embedding_folder2/0774494.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: EVE Computing power benchmark for deep learning, DSP benchmark for machine learning + +Query Text: +Part Number: TDA2 Tool/software: Linux As we understand, EVE Computing power is used for deep learning, DSP is used for machine learning Would you please provide EVE Computing power benchmark table for deep learning and DSP benchmark table for machine learning ? Or EVE and DSP performance comparison table with popular deep learning SOC? + +Responses: +Hi Joseph, you can check PROCESSOR_SDK_VISION_03_06_00_00\ti_components\algorithms\REL.TIDL.01.01.03.00\modules\ti_dl\docs\TIDeepLearningLibrary_DataSheet.pdf for TIDL performance info. Regards, Yordan + diff --git a/sample_embedding_folder2/0774575.txt b/sample_embedding_folder2/0774575.txt new file mode 100644 index 0000000000000000000000000000000000000000..1ecd245f05db92216d103e737b740498270e1614 --- /dev/null +++ b/sample_embedding_folder2/0774575.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: DDR3 Interface pullup resistors of Address/Data Bus + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: DRA756, , , TPS51200-Q1 We study TDA2H/TDA2S/TDA2P reference schematics, we found difference between DDR3 interface schematics: 1. There are not pullup resistors with VTT on TDA2H/TDA2S reference schematics, but some technical support engineers recommend we add pullup resistors for TDA2H/TDA2S/DRA756 schematics; 2. The reference schematics of TDA2P-ACD and TDA2P-ABZ include the following pullup resistors. Would you please help us to explain following schematic usage and function ? + +Responses: +Hi Joseph, These resistors are terminations to VTT. If the memory type is DDR3/3L, TI has validated and supports only the fly-by topology of the C/A bus for each EMIF, with termination to VTT at the bus end. This implies that a dedicated VTT source (stand-alone regulator IC, or part of a complex DDR power solution) is employed in the design and that it is supplying the termination resistors of both EMIFs (the recommended automotive-qualified part is the TPS51200-Q1; it generates also the VREF voltage). If the ECC lane of EMIF1 has been utilized in the design, usage of the VTT-terminated fly-by topology is almost unavoidable for a 32-bit system (due to the odd number of memory chips and very difficult balancing otherwise). Regards, Stan + diff --git a/sample_embedding_folder2/0774894.txt b/sample_embedding_folder2/0774894.txt new file mode 100644 index 0000000000000000000000000000000000000000..1e3adb3cf0f8751e316bd2e387997f0af405d576 --- /dev/null +++ b/sample_embedding_folder2/0774894.txt @@ -0,0 +1,10 @@ +Ticket Name: CCS/TDA2: Is there any way to diagnose the specific PIN on a TDA2X ? + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio Hello I'm facing the camera data input problem to a specific PIN of VIP on a TDA2X Is there any way to diagnose the PIN with CCS v8 whether active and getting datas or just floating ? Thank you + +Responses: +You can look at the input line state through the GPIO module. Configure the corresponding pin as GPIO input and then look at the GPIO input data register (GPIO_DATAIN). + +Thank you for the answer + diff --git a/sample_embedding_folder2/0775032.txt b/sample_embedding_folder2/0775032.txt new file mode 100644 index 0000000000000000000000000000000000000000..26a2c1a3ccf1a7a7775871a5a58904cf375e17e6 --- /dev/null +++ b/sample_embedding_folder2/0775032.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: Linux BSP validation testcases for TDA2x EVM + +Query Text: +Part Number: TDA2 Tool/software: Linux I’m in the process of getting my custom hardware based on TDA2x, so in this regard I’m looking for “Testcases and Test code for validating the Linux BSP” (bootloaders, drivers etc..). Can you please let me know if I can get the BSP Test cases and test codes for TDA2x EVM ? + +Responses: +Hi The test plan and scripts are not included as part of the release package - they are mainly TI internal and we rely on Test Management System to manage execution of these You can use generic driver validation tests - dd,hdparm etc for storage, iperf for network class of devices, V4l2 test for video capture, modetest for display etc + diff --git a/sample_embedding_folder2/0775092.txt b/sample_embedding_folder2/0775092.txt new file mode 100644 index 0000000000000000000000000000000000000000..7ce502f97658901855bed31ee9f97f3598914bd0 --- /dev/null +++ b/sample_embedding_folder2/0775092.txt @@ -0,0 +1,16 @@ +Ticket Name: RTOS/TDA2PXEVM: Not able to compile Network tool which is provided with SDK + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS Hello Experts, I wanted to use the network tool provided by latest SDK. network tool is not getting compiled I have updated the RUELS.MK and COMMON_HEADER.MK file with appropriate toolchain path But still network tool is not compiling Below are the errors I am getting workspace/SDK_VISION_03_06_00_00/vision_sdk/apps/tools/network_tools/build/../common/inc/tfdtp_api.h:80:24: fatal error: sys/socket.h: No such file or directory #include ^ compilation terminated. In file included from tfdtp_api.c:73:0: ../inc/tfdtp_api.h:80:24: fatal error: sys/socket.h: No such file or directory #include ^ compilation terminated. make[3]: *** [depend] Error 1 make[3]: Leaving directory `/data/work/rveer/workspace/SDK_VISION_03_06_00_00/vision_sdk/apps/tools/network_tools/common/src' make[2]: *** [libs] Error 2 make[2]: Leaving directory `/data/work/rveer/workspace/SDK_VISION_03_06_00_00/vision_sdk/apps/tools/network_tools/build' make[1]: *** [depend] Error 2 make[1]: Leaving directory `/data/work/rveer/workspace/SDK_VISION_03_06_00_00/vision_sdk/apps/tools/network_tools/build' Please let me know the solution for compiling network tool Regards, Chaitra + +Responses: +Hi Chaitra, can you check if you have installed all packages listed in "2.2.3 Other mandatory software packages for build" of the VisionSDK_Linux_UserGuide.pdf. (I am concerned that libc-dev package might be missing on your PC). Regards, Yordan + +Hi Yordan, All the manadtory packages are installed. Please let me know is there any other steps to compile the network tool. Regards, Chaitra + +Hi Chaitra, can you check if you have '/usr/include/sys/socket.h' file on your PC? Regards, Yordan + +HI Yordan, /usr/include/sys/socket.h is present in my system it is a system file we need to build network tool against below toolchain/pacakage sdk/ti/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/networking/nsp_gmacsw_4_15_00_00/packages or sdk/ti/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/networking/ndk_2_24_02_31/packages we have edited the source/vision/platform/ti/tda2/apps/tools/network_tools/build/RULES.MK file as mentioned below BUILD_OS=Linux ifeq ($(BUILD_OS),Linux) MAKE = make CGTOOLS_PATH=/home/chreddy/workspace/FFC_ADAS/FFC/FFC_WORKSPACE/sdk/ti/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/cg_tools/linux/gcc-arm-none-eabi-4_9-2015q3 NSP_INCLUDE_PATH=/home/chreddy/workspace/FFC_ADAS/FFC/FFC_WORKSPACE/sdk/ti/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/networking/ndk_2_24_02_31/packages/ti/ndk endif please let me know if any changes are required Regards, + +Hi Chaitra, Network Tool is a PC side tool, so for CGTOOLS_PATH you need to use path to your native gcc compiler, usually you should have: CGTOOLS_PATH=/usr/ (build system later uses CC = $(CGTOOLS_PATH)/bin/gcc , thus calling /usr/bin/gcc). For NSP_INCLUDE_PATH you need to use /ti_components/networking/nsp_gmacsw_4_15_00_00/packages, can you try with: NSP_INCLUDE_PATH=/home/chreddy/workspace/FFC_ADAS/FFC/FFC_WORKSPACE/sdk/ti/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/networking/nsp_gmacsw_4_15_00_00/packages Also you can check network_tools/docs/VisionSDK_UserGuide_NetworkTools.docx Regards, Yordan + diff --git a/sample_embedding_folder2/0775132.txt b/sample_embedding_folder2/0775132.txt new file mode 100644 index 0000000000000000000000000000000000000000..afc8e0b01e05a27997ba2f0dcb64d548d51816d9 --- /dev/null +++ b/sample_embedding_folder2/0775132.txt @@ -0,0 +1,20 @@ +Ticket Name: Linux/TDA2: PCIe communication two boards RTOS + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, I have seen example for PCIe write_loopback for EP and RC for TDA2xx RTOS. How can we make this to communicate two TDA2x boards, one EP and one RC ? + +Responses: +Hi, Can you see processors.wiki.ti.com/.../PDK_TDA_CSL_User_Guide Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +Hi, If I try to compile the example I am getting a message like this:- Nothing to be done for tda2xx-evm tda2xx a_15 csl_pcie_rc_write_loopback_app + +Hi, The CORE should be a15_0. Regards, Rishabh + +I explicitly added CORE param as a15_0 in make command , made a change in source code. cleaned the build, rebuilt, still did not compile. + +You don't need to make any changes in source code. Refer to processors.wiki.ti.com/.../PDK_TDA_Building_The_Package on how to build PDK examples. Regards, Rishabh + +Can you list the steps you are following. Also make sure that you have removed all custom changes. Regards, Rishabh + diff --git a/sample_embedding_folder2/0775180.txt b/sample_embedding_folder2/0775180.txt new file mode 100644 index 0000000000000000000000000000000000000000..272e39cfa9621316c5acfa04e4c139d86c69f445 --- /dev/null +++ b/sample_embedding_folder2/0775180.txt @@ -0,0 +1,36 @@ +Ticket Name: Linux/TDA2EVM5777: Connect KSZ989x to cpsw_emac1 ....? + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Tool/software: Linux Hello *! Connect a single PHY to one EMAC is no problem: &cpsw_emac0 { + status = "okay"; + phy_id = <&davinci_mdio>, <9>; + phy-mode = "rgmii-id"; + dual_emac_res_vlan = <1>; +}; This is working fine. But now we have to use a switch behind the cspw... therefor the "port 0" (from Linux view) of the KSZ9893 have been set to "PHY Mode" and I can see the 3 ports over MDIO: [ 1.951119] davinci_mdio 48485000.mdio: phy[0]: device 48485000.mdio:00, driver unknown [ 1.959219] davinci_mdio 48485000.mdio: phy[1]: device 48485000.mdio:01, driver unknown [ 1.967329] davinci_mdio 48485000.mdio: phy[2]: device 48485000.mdio:02, driver unknown (Driver unknown: If a use a simple homebrew driver on base of KSZ9031, it will be probed... BUT: Port0 will get something like a PHY ID: 004040FE...? The other will be shown as 221637 as expected...? Okay, only sidekick information. I go on:) There is a driver for KSZ9893 (in our case) I took from mainline Linux and backported it to our 4.4.84 Kernel. Microchip placed it to "DSA"-part of network driver. I never used a switched like this with DSA... I tried some silly first hook: &cpsw_emac1 { + status = "okay"; + switch@0 { + compatible = "microchip,ksz9897"; + port@2 { + reg = <2>; + label = "lan6"; + }; + + port@1 { + reg = <1>; + label = "lan3"; + }; + + port@0 { + reg = <0>; + label = "cpu"; + fixed-link { + speed = <1000>; + full-duplex; + }; + }; + }; + Of course... it do not work. Is somebody able to tell me, how it works using a switch behind the cpsw_emac... Maybe somebody used KSZ9897 (or similar?) behind TDA2+ and would tell little secrets? I'm running out of ideas right now... an out of time, too. So: Thank you! Every help is welcome.... + +Responses: +Hi With the native CPSW driver the connection to the external switch will need to appear as a FIxed-PHY connection (no cable connect , disconnect), operating at a fixed speed and duplexity. The device tree parameters need to be modified as such. Any additional Switch configuration is outside the scope of the CPSW driver - it would treat it as external PHY only To the ethernet device node in the device tree file, you need to add a sub device node describing the fixed link to the PHY For more details refer description in Documentation/devicetree/bindings/net/cpsw.txt, Documentation/devicetree/bindings/net/fixed-link.txt + diff --git a/sample_embedding_folder2/0775293.txt b/sample_embedding_folder2/0775293.txt new file mode 100644 index 0000000000000000000000000000000000000000..d52572a97c56d83b790565cfbae375174cc18459 --- /dev/null +++ b/sample_embedding_folder2/0775293.txt @@ -0,0 +1,10 @@ +Ticket Name: Compiler/TDA2: Buying a TDA2x + +Query Text: +Part Number: TDA2 Tool/software: TI C/C++ Compiler Good night! I would like to tell you where I can buy the TDA3x or TDA2x because on the site Texas instruments the sale is not available. Thank you, Hugo + +Responses: +Hi Hugo, please check: www.ti.com/.../samplebuy www.ti.com/.../samplebuy Regards, Yordan + +HI, Yordan! I thank you for your help and I had trouble to follow It looks like we’ve encountered some resistance (Sorry, the page you’re looking for can’t be found.) Regards, Hugo. + diff --git a/sample_embedding_folder2/0776346.txt b/sample_embedding_folder2/0776346.txt new file mode 100644 index 0000000000000000000000000000000000000000..43d4afa37ee14ed3c7f331c02a9da8e8138f2cbb --- /dev/null +++ b/sample_embedding_folder2/0776346.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: Where to find "Image data buffer address of capture source" ? + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi Sir, My HW is TDA2x CPU board + Vision Board + daughter board + LVDS sensor and SDK is PROCESSOR_SDK_VISION_03_05_00_00 with TDA2XX_EVM_LINUX_ALL define. I select use-case "4CH VIP LVDS capture + SGX MOSAIC + DISPLAY" and I want to save the source image in this ues-case. I try to check the typedef structure in this case, but I can't find the parameters for recording the image buffer address. "structure name: Chains_lvdsVipMultiCam_SgxDisplayAppObj". May you tell me where to find the image buffer location and any document about describing the structure define ? Thanks. Ranny. + +Responses: +Hi Ranny, Probably, you could put breakpoint on the capture callback, and once it runs FVID2_Dequeue, you could get the address of the frame captured from Fvid2_frameList.frame[0].addr[0][0] field. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0776577.txt b/sample_embedding_folder2/0776577.txt new file mode 100644 index 0000000000000000000000000000000000000000..56a64326206eda5b7e36b9e4067e78ec8264634a --- /dev/null +++ b/sample_embedding_folder2/0776577.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2: PCI configuration for TDA2x + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, I want to know about how the PCI lines of TDA2x can be configured in linux? I have a custom board developed based on TDA2x. I have to configure PCI as two 1X1 pci .How the configurations can be done in linux? + +Responses: +Hi Sreerag, can you check those documents and see if they can give you some directions: processors.wiki.ti.com/.../Linux_Core_PCIe_EP_User's_Guide processors.wiki.ti.com/.../PCIe_Debugging Regards, Yordan + +Hi Sreerag, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Yordan + diff --git a/sample_embedding_folder2/0776609.txt b/sample_embedding_folder2/0776609.txt new file mode 100644 index 0000000000000000000000000000000000000000..456bdef6f99f7d1d591e2fea3ec6d02208e04658 --- /dev/null +++ b/sample_embedding_folder2/0776609.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA3: TDA2/TDA3 materials + +Query Text: +Part Number: TDA3 Hello, Is there TDA2X, TDA3x introduction and development process information, materials like PPT, especially focusing on the basic development process, my customer has been evaluating the test platform. This matter is very important to customers, and it is also urgent, could sent to my email if available, thank you! + +Responses: +Hi, Multiple trainings are available on ti.com for starting TDA2/3 development: training.ti.com/tda2-and-tda3-processors-training-series Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +Hi Garg, Thanks for your suggestion! + diff --git a/sample_embedding_folder2/0776754.txt b/sample_embedding_folder2/0776754.txt new file mode 100644 index 0000000000000000000000000000000000000000..56a4a0c669aedaf33eb5a5f8a5e54e3cc29dac97 --- /dev/null +++ b/sample_embedding_folder2/0776754.txt @@ -0,0 +1,20 @@ +Ticket Name: Linux/TDA3XEVM: Vision SDK for TDA3MA ADAS SoCs - Linux + +Query Text: +Part Number: TDA3XEVM Other Parts Discussed in Thread: TDA3MA, TDA2 Tool/software: Linux Hi, Please help me to find guidelines to setup Yocto configuration files or Yocto set up for vision SDK for TDA3MA. Is SDK_VISION_03_06_00_00 is latest SDK for this platform Thanks and Regards Vishal Singh + +Responses: +Hi Vishal, Linux support is not available for TDA3 platform. On RTOS side we don't support Yocto builds. You can download latest SDK from software-dl.ti.com/.../index_FDS.html Regards, Rishabh + +Hi, Sorry but I am confused when by this text "Linux not supported for TDA3" As On product page under software tab I observed that Linux Filesystem binaries are attached for this platform. and docs attached also mentions about Linux development and use cases on on this board using Linux. Please refer:- http://software-dl.ti.com/processor-sdk-vision/esd/TDAx/vision-sdk/latest/index_FDS.html Let me know if I am referring something wrong. it will be really nice if you can elaborate "not support" do you mean Yocto framework not supported for this. or there is no Linux SDK support for this platform. Thanks and Regards Vishal Singh + +Hi, In addition to my last reply does in my last link SDK attached is meant for TDA2 not for TDA3. (please confirm) In this case I am sorry because same link is pointed from TDA3 product page also. Ok if this is case then can you let me know when there is possibility for TDA3 SDK and Yocto support for that. Thanks and Regards Vishal Singh + +Vishal, Linux installer for Vision SDK RTOS is available. Linux OS and Yocto support is not available. Hope this helps. Regards, Rishabh + +Hi Rishabh, Thanks I got the point. May i know what is probable date when Yocto build and Linux SDk for this platform will be available. Is TDA2 family is supported with Linux OS SDK. Thanks and Regards Vishal Singh + +Vishal, Vision SDK Linux is already available today for TDA2 platform. We are not planning to add Linux support for TDA3. Regards, Rishabh + +Hi Rishabh, Thanks for your quick reply It really helped to clarify confusion . Thanks and Regards Vishal Singh + diff --git a/sample_embedding_folder2/0776807.txt b/sample_embedding_folder2/0776807.txt new file mode 100644 index 0000000000000000000000000000000000000000..dae574d227cfa91fe4b33f08489f2f81d32297c5 --- /dev/null +++ b/sample_embedding_folder2/0776807.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: To add the 5th AWR1243 here are the pinout changes + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: AWR1243 To add the 5th AWR1243 here are the pinout changes we are planning to the cascade radar reference design. Can you confirm we are not using any pins incorrectly? With Muxmode = 7 Pins needed for 5th AWR1243: Pin remove add C14 open vin6a_fld0 G12 I2C5_SDA vin6a_vsyn F12 I2C5_SCL vin6a_hsyn B13 TDA_FPGA_SPI_SEL_A_GPIO5_12 VIN6A_D13 A12 TDA_FPGA_SPI_SEL_B_GPIO4_17 VIN6A_D12 E14 TDA_AWR1_GPIO0_GPIO4_18 VIN6A_D11 A13 TDA_AWR1_GPIO1_GPIO6_4 VIN6A_D10 G14 TDA_AWR1_GPIO2_GPIO6_5 VIN6A_D9 F14 open VIN6A_D8 B12 TDA_AWR2_SPI_INT_GPIO5_10 VIN6A_D15 A11 TDA_AWR3_SPI_INT_GPIO5_11 VIN6A_D14 D14 open VIN6A_DE0 A19 open VIN6A_D7 C15 open VIN6A_D5 A16 open VIN6A_D4 A18 open VIN6A_D6 B18 open VIN6A_D3 B19 open VIN6A_D1 C17 open VIN6A_D0 F15 open VIN6A_D2 E17 open VIN6A_CLK0 D18 open VIN6A_D0 Move these signals to new pins: Pin remove add AA3 TDA_VIN4A_D20 I2C5_SDA AB9 TDA_VIN4A_D21 I2C5_SCL C18 TDA_VIN4A_D16 TDA_AWR2_SPI_INT_GPIO5_10 A21 TDA_VIN4A_D17 TDA_AWR3_SPI_INT_GPIO5_11 G16 TDA_VIN4A_D18 TDA_AWR1_GPIO0_GPIO4_18 D17 TDA_VIN4A_D19 TDA_AWR1_GPIO1_GPIO6_4 AB3 TDA_VIN4A_D22 TDA_AWR1_GPIO2_GPIO6_5 R6 TDA_VIN3A_MUX_D16 TDA_FPGA_SPI_SEL_A_GPIO5_12 T9 TDA_VIN3A_MUX_D17 TDA_FPGA_SPI_SEL_B_GPIO4_17 + +Responses: +Hi Zach, Please find some feedback on the pin list below: C18 TDA_VIN4A_D16 TDA_AWR2_SPI_INT_GPIO5_10 --> Pad does not support GPIO. A21 TDA_VIN4A_D17 TDA_AWR3_SPI_INT_GPIO5_11 --> Pad does not support GPIO G16 TDA_VIN4A_D18 TDA_AWR1_GPIO0_GPIO4_18 --> Pad does not support GPIO D17 TDA_VIN4A_D19 TDA_AWR1_GPIO1_GPIO6_4 --> Pad does not support GPIO AB3 TDA_VIN4A_D22 TDA_AWR1_GPIO2_GPIO6_5 --> Pad does not support GPIO R6 TDA_VIN3A_MUX_D16 gpio7_3 T9 TDA_VIN3A_MUX_D17 gpio7_4 Others are okay. Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0776941.txt b/sample_embedding_folder2/0776941.txt new file mode 100644 index 0000000000000000000000000000000000000000..df4c36f8518c48529fcb78e0f25324d69ac23868 --- /dev/null +++ b/sample_embedding_folder2/0776941.txt @@ -0,0 +1,18 @@ +Ticket Name: TDA2: TDA2 5h AWR1243 frame over PCIe + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: AWR1243 To achieve 32 channel radar we are putting two of the TDA2 Cascade Radar hosts together. TI has recommended these two TDA2 chips are connected together by PCI-e to facilitate synchronization for all 32 channels. Will it be possible to pass a AWR1243 4 channel VIP frame between the two TDA2 chips to process data in the center channel? + +Responses: +Pass the VIP frames over PCI-e in real time? + +Zach, what is the kind of data rates you are looking at? We have PCIe based storage to SSD which can potentially reach 400-420 MBytesps data rates. On Processor SDK 3.6 release there is a known issue for the PCIe speeds which limits the data rate to 1.6 Gbits ps, which is planned to be fixed in 3.7. Thanks and Regards, Piyali + +Hi Piyali, We are planning 30 frames per second of 128 doppler for the 1024 bits per chirp for 12 transmitter at the AWR1243 ADC resolution for 12 bits so per channel: 30 x 128 x 1024 x 128 x 12 x 12 = 566,231,040 bits per second for each channel. We have been thinking in terms for a VIP frame with we assume had 4 channel interlaced per VIP frame. So we need 4 times this number of bits per second. This is more then the 1.6 Gbps currently supported by PICe. When will SDK 3.7 release? Is this same SDK of the TDA2-AWR1243 we are on hold for? What is the PCI-e expected data rate at that time? Can we plan on taking the VIP and separate it into channels and pass just on channel each way between the two TDA2 rather then the 4 channel VIP frame? Regards, Zach + +Hi Zach, To set your expectation correctly, we don't have application level SW for board to board communication over PCIe. We have bare metal PCIe driver which can be used as your base to implement your own SW for the board to board communication. Or, we have third party who can provide board-to-board PCIe solution. The bare metal driver can transfer data between board at > 4Gbps. The 1.6Gbps throughput Piyali mentioned was the PCIe SSD card write throughput using Linux SW with block driver. We are working on improving the performance. However, this is not applicable to your usage since it doesn't have support for board to board communication. Regards, Stanley + +Thank you Stanley. Please provide the third party who can provide board-to-board PCIe solution contact information? Thank again, Zach + +You can contact RT-RK. + diff --git a/sample_embedding_folder2/0777041.txt b/sample_embedding_folder2/0777041.txt new file mode 100644 index 0000000000000000000000000000000000000000..7d3d0b1487716d5415288824e3d5f8e0b099a399 --- /dev/null +++ b/sample_embedding_folder2/0777041.txt @@ -0,0 +1,26 @@ +Ticket Name: Linux/TDA2: TDA2XX Vision SDK + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, TDA2XEVM board have Connectors and Transceivers,with Video output interface: one HDMI Out, one FPD-Link III, one LCD. CPU Board Block Diagram have VOUT3 interface,As shown below.but I see all of the Use case in VisionSDK_DataSheet.pdf, Display on LCD or HDMI capture and HDMI display are also supported. I want to know which Use case Video output use VOUT3 interface?and I want to Let VOUT3 be the video output interface,what should I do? Regards, YCC + +Responses: +Is any display device connected on vout3? Then it would be supported in VSDK.. Rgds, Brijesh + +because all use case use VOUT1 port (connect LCD) or HDMI port (Display can be on HDMI display via HDMI output port).They are not use VOUT3 port .So I want to know how to use VOUT3 port. Can it connect LCD or HDMI display device?Can you give me a use case that use VOUT 3 port ? Thank you! Regards, ycc + +Please check schematic and see if anything connected to LCD3 output.. It can be enabled only if some display is connected.. It can be enabled in ChainsCommon_SetDctrlConfig in the file vision_sdk\apps\src\rtos\usecases\common\chains_common.c file.. Rgds, Brijesh + +Hi,Brijesh VOUT3 connected a LVDS monitor ,The model of lvds is user-customized.Interface chip used is DS90UB940. How can I set it up?Which documents should I refer to? Regards, Ycc + +Hi,Brijesh VOUT3 connected a LVDS monitor ,The model of lvds is user-customized.Interface chip used is DS90UB940. How can I set it up?Which documents should I refer to? Regards, Ycc + +Hi, VOUT3 connected a LVDS monitor ,The model of lvds is user-customized.Interface chip used is DS90UB940. How can I set it up?Which documents should I refer to? Regards, Ycc + +Hi YCC, Give me some time, i will come up with the exact steps required for vout3 addition.. Rgds, Brijesh + +Hi Brijesh, Thank you for providing the requested information. How the work progresses about the use of VOUT3?I urgently need the help of this questions. Thank you for your attention to this matter. I am looking forward to your reply. Regards, Ycc + +Hi , I haven’t received your reply for a long time. How the work progresses about the use of VOUT3?I urgently need the help of this questions. Thank you for your attention to this matter. I am looking forward to your reply. Regards, Ycc + +Hi YCC, Could not get time to check it. Will check it tomorrow and get back to you. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0777316.txt b/sample_embedding_folder2/0777316.txt new file mode 100644 index 0000000000000000000000000000000000000000..05e4da9c1a085ba237d006ceb839c89ac414be63 --- /dev/null +++ b/sample_embedding_folder2/0777316.txt @@ -0,0 +1,28 @@ +Ticket Name: TDA2EVM5777: Is TDA2x a processor or evaluation board? + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2, DM505 Is TDA2EVM5777 evaluation board? What SOC or processor is on this evaluation board? + +Responses: +Hi Amer, it is evaluation board with TDA2x SoC, you can check it's page on ti.com for description: www.ti.com/.../TDA2EVM5777 Regards, Yordan + +In addition to what Yordan suggested, I wanted to clarify that the 5777 is the superset chip that contains all features of all TDA2x parts for your evaluation purposes. Thanks, Alex + +What is 5777? Is it a SOC like TDA2x? Could you provide complete part number for 5777? + +It's just labeling of the superset TDA2x SOC found on your EVM. There is no part number because you can't order it. Like I said it's for evaluation. When you decide which features you will use from the superset, then you can pick a particular TDA2 part number. thanks, Alex + +Currently, I'm unable to access TDA2 link provided above. We need to know all SOC's that are similar to DM505. We want to read about SOCs that DM505 resources such as Image Signal Processor(ISP) and Display Subsystem(DSS) but also have features such as H.264 engine and USB 3.0. Regards, Amer + +Hi Amer, you can check this page where you can filter the processors by features: www.ti.com/.../products.html Regards, Yordan + +If you really need a twin device to the DM505x, you should look at TDA3x, here is its datasheet: www.ti.com/.../tda3.pdf Or you can also look at the TDA2Px (TDA2 Plus) which is TDA2 "plus" the ISS and other stuff, here is the datashet of the ACD package: www.ti.com/.../tda2phg-acd.pdf Right now your EVM is with TDA2x superset (but still not the Plus device) which doesn't contain ISS. thanks, Alex + +TDA2 is Automotive. Are there non-automotive versions of TDA2? Like DM505 is non-automotive version of TDA3. + +Hi Amer, you can check Sitara processors: www.ti.com/.../products.html Regards, Yordan + +TDA2 Plus meets our needs. Is there a non-automotive version of this SOC. We need ISS, USB 3.0, DSS, IVA-HD Regards, Amer + +Can you contact your TI representative? There may be some Sitara parts similar to the TDA2 Plus which are not part of the public catalog right now. thanks, Alex + diff --git a/sample_embedding_folder2/0777424.txt b/sample_embedding_folder2/0777424.txt new file mode 100644 index 0000000000000000000000000000000000000000..f3b666e0ae501ad8dd2d0033d53036417ebb8776 --- /dev/null +++ b/sample_embedding_folder2/0777424.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2: How does TDA2 achieve video processing? + +Query Text: +Part Number: TDA2 TDA3 SOC achieves live video processing in purely hardware using Imaging Subystem(ISS). How does TDA2 achieve live video processing? Regards, Amer + +Responses: +Amer, ISS is mainly used for converting RAW bayer data into YUV format, RAW data is captured from the bayer sensor. TDA2x does not have ISS, TDA2x uses sensors which outputs YUV data directly. Rgds, Brijesh + +RAW monochrome data will be captured from our sensor. No companding. Typically, how would TDA2x process live RAW monochrome video? Regards, Amer + +Amer, As far as i know, there is no algorithm to process monochrome data. You will need to add this algorithm. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0777428.txt b/sample_embedding_folder2/0777428.txt new file mode 100644 index 0000000000000000000000000000000000000000..ec981e63e2544f6c812567975a0f7f097448761b --- /dev/null +++ b/sample_embedding_folder2/0777428.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2: What is purpose of VPE in TDA2x Superset? + +Query Text: +Part Number: TDA2 Other Parts Discussed in Thread: DM505, Is VPE in TDA2 similar to ISS in DM505? Can live video processing be achieved using VPE module? If yes, would it be purely hardware? + +Responses: +Amer, VPE is difference module on TDA2x and is not similar to ISS.. VPE can be used for the scaling and color conversion operation, whereas ISS can be used for Bayer to YUV conversion and scaling.. Rgds, Brijesh + +Hi, Amer Naseem, In addition to Brijesh's answer, please download the Technical Reference Manual books for both devices and go through chapter 7 Imaging Subsystem (for TDA2) in and Chapter 10 Video Processing Engine (for DM505) in Regards, Mariya + diff --git a/sample_embedding_folder2/0777429.txt b/sample_embedding_folder2/0777429.txt new file mode 100644 index 0000000000000000000000000000000000000000..f7f373c7e012f6964095a6e1540da526f4408cd3 --- /dev/null +++ b/sample_embedding_folder2/0777429.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2: Can H.264 encoding achievable purely in hardware using IVA HD Co-Processor? + +Query Text: +Part Number: TDA2 In TDA2x Superset, can H.264 encoding achievable purely in hardware using IVA HD Co-Processor? Regards, Amer + +Responses: +Hi Amer, it can not encode directly, you need separate SW encoder. Regards, Yordan + diff --git a/sample_embedding_folder2/0777618.txt b/sample_embedding_folder2/0777618.txt new file mode 100644 index 0000000000000000000000000000000000000000..34c8988d41fcec09f1eeafde719fa3b5561cf2c5 --- /dev/null +++ b/sample_embedding_folder2/0777618.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: I2C configuration for processor as SLAVE + +Query Text: +Part Number: TDA2 Tool/software: Linux HI, How can we configure the Processor as I2C slave in TDA2x? I have I2C4 to be configured as I2Cslave . Is it possible to configure CONFIG_I2C_SLAVE? + +Responses: +Hi Sreerag, current version of I2C-omap driver do not support slave mode. You can check those posts for detailed description: e2e.ti.com/.../2151948 e2e.ti.com/.../2156908 Regards, Yordan + diff --git a/sample_embedding_folder2/0777629.txt b/sample_embedding_folder2/0777629.txt new file mode 100644 index 0000000000000000000000000000000000000000..c6ad0fe1907f3b29af9c5d2c8bca09910ad7ae14 --- /dev/null +++ b/sample_embedding_folder2/0777629.txt @@ -0,0 +1,16 @@ +Ticket Name: Linux/TDA2EVM5777: Linux/TDA2EVM5777 + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Tool/software: Linux Hello, I cann't find pinmux file for TDA2EVM5777 evaluation board. Can you help me find it? Thanks + +Responses: +Hi, You should use the pinmux tool: https://dev.ti.com/pinmux/ Regards, Rishabh + +Helllo, I needs a *.pinmux file (for example, " TDA2EVM5777.pinmux") for corresponding EVM module. Regards, Maxim + +Hi, We don’t have sample files for TDA2 EVM. You can choose the mux mode values from tool and generate the file. You can use files for a similar device as reference: bitbucket.itg.ti.com/.../board_files Regards, Rishabh + +It's pity. P.S. Developers, which made EVM did not used PinMux utility really? + +Hi, Unfortunately Vision SDK does not use this tool. Every driver does pin mux before using the respective peripheral. Regards, Rishabh + diff --git a/sample_embedding_folder2/0777692.txt b/sample_embedding_folder2/0777692.txt new file mode 100644 index 0000000000000000000000000000000000000000..88b01c6543d4000d533c7a63f9c58f41218700c8 --- /dev/null +++ b/sample_embedding_folder2/0777692.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2P-ACD: balls AA1,AA2,AB1,AB2,AC1,AC2 + +Query Text: +Part Number: TDA2P-ACD Other Parts Discussed in Thread: TDA2, DRA77P Hi. (1) There is no mech.drawing of ACD(784-balls)-package in datasheet. Do I need to use ABC(760-balls)-package drawing as reference for my design? (Does it have the same size and pitch? Is ABC the same as ACD but only 24 balls are excluded?) (2) There are no any description about 6-balls in TDA2P-ACD-datasheet: AA1,AA2,AB1,AB2,AC1,AC2. Where I can find info about Pullup or Pulldown requirements for these balls if they are unused? These balls marked as MLBP-pins in SD TDA2P_EVM design (see picture). Is DRA7x TRM applicable for reference TDA2 MLBP description? But, do I need to use DRA7xxP datasheet for reference about these balls? --- best regards + +Responses: +Hi Arseniy, 1. As layout - yes, ACD is the same as ABC, but includes missing balls - 23 mm × 23 mm, 0.8-mm Pitch. Note that ball-mapping is different - they are not pin compatible! Please also note that ACD have different dimensions: 2. Yes, these balls are unused in TDA2P devices. You should leave them unconnected. Thanks, Dian + diff --git a/sample_embedding_folder2/0777746.txt b/sample_embedding_folder2/0777746.txt new file mode 100644 index 0000000000000000000000000000000000000000..ee37b69b67de65e9e0e47dc276182961037d4b6f --- /dev/null +++ b/sample_embedding_folder2/0777746.txt @@ -0,0 +1,26 @@ +Ticket Name: TDA2: Termination Resistors on PCI-e TX and RX + +Query Text: +Part Number: TDA2 Is the a requirement for termination resistors on TX and RX for the PCI-e layout? This PCI-e bus is chip to chip not to an off board device. I see in the recommended layout details for differential and single ended trace impedance. The is detail on the clock termination 50 ohm to GND on P and N. Other resources for PCI-e show TX and RX termination resistors both to GND and across P and N. + +Responses: +There is not much space to place the termination resistors to I am hoping I can get by without... + +Hi Zach, PCIe data lanes are internally terminated. No need for external termination. Note the need for AC-coupling capacitors on the Tx path however (on both PCIe devices). Best regards, Stan + +Regarding TDA2 clock input (LJCB): • If the clock is provided externally by a High-speed Current Steering Logic (HCSL) source, no termination at the TDA2 LJCB_CLKN and LJCB_CLKP differential input is needed, and the lines should be DC-coupled. The standard 50 Ohm single-ended termination that is inherent to HCSL should be implemented at the clock source. • If the clock is provided externally by a LVDS source, the lines must be AC-coupled and a parallel (differential) termination of 100 Ohm might be required at the receiver. In this case, check that 100 nF capacitors are present on the clock pair lines, and that a 100 Ohm resistor is connected between the TDA2 LJCB_CLKN and LJCB_CLKP pads. + +I have one TDA2 on one side and another TDA2 on the other side as well. Both have sides for the clock diff pair have 50 ohms to ground of P and N, and AC coupling caps. Do we need the 100 ohms parallel resistor in this case? + +Hi, Can you please post a diagram of the clocking? Including the clock generator IC, clock path, clock inputs of TDA2s. Thanks, Stan + + + +Hi Zach, This must be like bullet (1) from my previous post. Assuming U1A is clock source and the other TDA2 is clock consumer, then you need only R301 and R302. Other components must be removed. Regards, Stan + +Stan, Ok. Remove the capacitors as well so not AC coupled as I read in the datasheet. So my original question, the TX and RX signals. These do need to be AC coupled and don't need termination resistor just the impedance controlled trace? Thanks, Zach + +Please see summary below: + +Great! Thank you. + diff --git a/sample_embedding_folder2/0777896.txt b/sample_embedding_folder2/0777896.txt new file mode 100644 index 0000000000000000000000000000000000000000..1d545973ac94bb198e221b794dc2cf5988556257 --- /dev/null +++ b/sample_embedding_folder2/0777896.txt @@ -0,0 +1,8 @@ +Ticket Name: CCS/TDA2: how to remove symbol tables from compiler Libraries + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio Hi : i use ccs compiler Libraries, now i want to remove symbol tables from Libraries , What compilation options should i use? + +Responses: +Hello, If I am understanding your question correctly, one way to do it is from the CCS build options menu. Sample screenshot below. Hope it helps, thanks, Alex + diff --git a/sample_embedding_folder2/0777925.txt b/sample_embedding_folder2/0777925.txt new file mode 100644 index 0000000000000000000000000000000000000000..d91af048fd782d92f77f23e21fce9df51c890b1c --- /dev/null +++ b/sample_embedding_folder2/0777925.txt @@ -0,0 +1,26 @@ +Ticket Name: Linux/TDA2: Can network_tx.out in network tool be set to TCP/IP mode, not using TFDTP, how to set + +Query Text: +Part Number: TDA2 Tool/software: Linux Create a Vision SDK use-case on target side. Specify the source of data as “Network_rx” link. NDK runs on A15 CPU. NDK_PROC_TO_USE=a15_0. Set NetworkRxLink_CreateParams.dataRxMode as NETWORK_RX_LINK_DATA_RX_MODE_TCPIP I use the network tool to send image data on the pc side, Network Tx: Connecting to server 172.18.0.205:29171 ... # ERROR: NETWORK: Server connect Failed (172.18.0.205:29171)!!! # INFO: Closing connection to Server + +Responses: +Hi Hua Liu Liu, Do you want to send the captured data to the PC via the network (network_rx) or File from PC to the evm for HDMI Display (network_tx) ? These are the commands you should use respectively Network Tx ---------------- network_tx.out --target_ip --host_ip --files Network_Rx ---------------- network_tx.exe --target_ip --host_ip --files If you don't use --usetfdtp in the command, it'll use tcp/ip for default. Regards, Anand + +Hi Anand, I want to sent File from PC to the evm for HDMI Display (network_tx) , Network TX ----------------------- root@ubuntu:/home/ti/vision_sdk/apps/tools/network_tools/bin# ./network_tx.out --target_ip 172.18.0.200 --host_ip 172.18.0.156 --files airshow_1280x720_5frs.yuv # Network Tx: Connecting to server 172.18.0.200:29171 ... # ERROR: NETWORK: Server connect Failed (172.18.0.200:29171)!!! # INFO: Closing connection to Server # Network Tx: Connecting to server 172.18.0.200:29171 ... + +Hi Hua Liu Liu, Please try the ping and make sure it works before trying out a network usecase. I'm assuming you're using dynamic IP here. Regards, Anand + +Hi Anand, Thanks, In the windows environment,I sent File from PC to the evm for HDMI Display (network_tx) ,is ok. I ported the networ_rx code to Linux and it is a bit of a problem. Let me check the code myself. + +Sure, Hua Liu Liu. Let me know of any updates! Regards, Anand + +Hi Anand, NDK_PROC_TO_USE=a15_0, #define VIDEO_SENSOR_NUM_LVDS_CAMERAS (4) Camera 1, Camera 2, Camera 3 and Camera 4 are used for 4 channel LVDS use-case I joined NetworkRx (A15) in lvds_vip_sv_standalone, there is no image output in the loop, and there is a conflict when the camera is used with the network. + +Hi, What exact changes did you make when you ported the code to linux? I suppose the usecase was working for you in Windows. Have you made any additional changes? Regards, Anand + +No code changed during the migration process。I am running under windows, no problem, I am transplanted to linux to run the following problems ASSERT (chains_lvdsVipSurroundViewStandalone_priv.c|chains_lvdsVipSurroundViewStandalone_Create|332) line332:status = System_linkCreate(pObj->NetworkRxLinkID, &pObj->NetworkRxPrm, sizeof(pObj->NetworkRxPrm)); UTILS_assert(status == SYSTEM_LINK_STATUS_SOK); + +Hi Hua Liu Liu, I am not sure how these changes would affect the 'TCP/IP or TFDTP' parameter. So the System_linkCreate is not successful in your linux code? I mean the assert is failing? Regards, Anand + +Hi Hua Liu Liu, It's been a while since I've heard from you. Were you able to resolve the issue? :) Regards, Anand + diff --git a/sample_embedding_folder2/0777943.txt b/sample_embedding_folder2/0777943.txt new file mode 100644 index 0000000000000000000000000000000000000000..62c66f26adaa1e269122100cd369a0ea94edb31b --- /dev/null +++ b/sample_embedding_folder2/0777943.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2: How to integrate a simple application with SDK. + +Query Text: +Part Number: TDA2 Tool/software: Linux Hi, i want to integrate my openGL based application with SDK . please tell me how i can do that. thank you + +Responses: +Vijender, SDK exposes standard openGL ES 2.0 EGL libraries. As long as your application uses the standard APIs, it can be integrated to the SDK - Subhajit + diff --git a/sample_embedding_folder2/0778057.txt b/sample_embedding_folder2/0778057.txt new file mode 100644 index 0000000000000000000000000000000000000000..37eac6dfdab903ae16cbd92f504ac48f1c5450c1 --- /dev/null +++ b/sample_embedding_folder2/0778057.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2: Linux/TDA2: I2C configuration for processor as SLAVE + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi, How can we configure the Processor as I2C slave in TDA2x? I have I2C4 to be configured as I2Cslave . Is there any sample example for Multiprocessor communication or have any example for I2C slave config? + +Responses: +Hi, You can refer to PDK example app: PROCESSOR_SDK_VISION_03_06_00_00\ti_components\drivers\pdk_01_10_02_07\packages\ti\drv\stw_lld\examples\i2c\i2c_slave_app Regards, Rishabh + +Hi, Is there any document to know what the example is for? I tried it with connecting with an i2c master device. But the slave is not detected at master side. How the acknowledgment from slave to master is send in this example? + +Hi, My suggestion will be to go through printUsage API in the application. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0778365.txt b/sample_embedding_folder2/0778365.txt new file mode 100644 index 0000000000000000000000000000000000000000..400e8404ffc3722efe2b0a11b97bc08078cfe979 --- /dev/null +++ b/sample_embedding_folder2/0778365.txt @@ -0,0 +1,12 @@ +Ticket Name: CCS/TDA2: How to find the target name in "Modify Build Target" window + +Query Text: +Part Number: TDA2 Tool/software: Code Composer Studio Hi, i want to compile the u-boot in CCS linux plate form . i ref. that training link "training.ti.com/linux-board-porting-series-module-6-building-u-boot-ccs but i not able to find the Target name . please suggest the target name for TDA2x device. during build i found that error "10:52:24 **** Build of configuration Default for project u-boot **** make ARCH= arm CROSS_COMPILE=arm-linux-gnueabihf- tda2xx_evm_linux_all scripts/kconfig/conf --silentoldconfig Kconfig *** scripts/kconfig/Makefile:46: recipe for target 'silentoldconfig' failed *** Configuration file ".config" not found! Makefile:477: recipe for target 'silentoldconfig' failed *** *** Please run some configurator (e.g. "make oldconfig" or *** "make menuconfig" or "make xconfig"). *** make[2]: *** [silentoldconfig] Error 1 make[1]: *** [silentoldconfig] Error 2 make: *** No rule to make target 'arm'. Stop. 10:52:25 Build Finished (took 769ms)" + +Responses: +Hi Vijender, I am not sure how to compile u-boot in CCS, but in VisdionSDK for u-boot defconfig for TDA2x is used 'dra7xx_evm_vision_config' . Regards, Yordan + +Hi Vijender, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Yordan + +thanks Yordan, Now this is working fine. + diff --git a/sample_embedding_folder2/0778597.txt b/sample_embedding_folder2/0778597.txt new file mode 100644 index 0000000000000000000000000000000000000000..82a529206f02fab3e3f23e842da7279dfaec1c94 --- /dev/null +++ b/sample_embedding_folder2/0778597.txt @@ -0,0 +1,10 @@ +Ticket Name: RTOS/TDA2: [Vlib in vision sdk]. Is Vlib function thread safe ? + +Query Text: +Part Number: TDA2 Tool/software: TI-RTOS Hi Ti, I am currently use Vlib with links-chain concept in the latest rtos vision SDK for TI TDA2X (2 dsp core). I have used vlib's connected component function and it works fine. Now i plane to use this function to multiple 'link'(thread) on 2 dsp cores. (2 links on 2 dsp core each. total 4 links) Problem is, this function does not work correctly when I use it with multiple link with 2 dsp cores. (It works fine if I use just one link on one dsp core.) All the memories for each connected component functions are allocated in inside of link, and, I checked that the memories not invaded each other. They have a different address. But It seems that the results of each functions are mixed. Have Vlib function tested with multiple link? Is it thread safe ? + +Responses: +No, VLIB is not thread-safe and was not designed or tested as such. This may explain the issue you are seeing. + +Thank you Jesse. + diff --git a/sample_embedding_folder2/0778882.txt b/sample_embedding_folder2/0778882.txt new file mode 100644 index 0000000000000000000000000000000000000000..9f1199cf053cc3b77c7490827a09c33b21fcfda4 --- /dev/null +++ b/sample_embedding_folder2/0778882.txt @@ -0,0 +1,16 @@ +Ticket Name: RTOS/TDA2PXEVM: Inserting data to MessageQ results in application to hang or unrecovery state. + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS Hello Everyone, Using MessageQ_put makes my application to hangs and results in unrecovery state. Created a MessageQ with below configurations in NetworkCtrl Module which is part of NDK which runs of A15. Changes in NetworkCtrl module... My structure being.. typedef struct MyMsg { MessageQ_MsgHeader header; uint32_t datasize; } MyMsg; #define HEAP_NAME "myHeapBuf" #define HEAPID 1 #define NUMLOOPS 10 MessageQ_Handle messageQ; MessageQ_Params messageQParams; SyncSem_Handle syncSemHandle; HeapBufMP_Handle heapHandle; HeapBufMP_Params heapBufParams; MyMsg *my_msg; syncSemHandle = SyncSem_create(NULL, NULL); MessageQ_Params_init(&messageQParams); messageQParams.synchronizer = SyncSem_Handle_upCast(syncSemHandle); HeapBufMP_Params_init(&heapBufParams); heapBufParams.regionId = 0; heapBufParams.name = HEAP_NAME; heapBufParams.numBlocks = 1; heapBufParams.blockSize = sizeof(MyMsg); heapHandle = HeapBufMP_create(&heapBufParams); if (heapHandle == NULL) { Vps_printf("HeapBufMP_create failed\n" ); } /* Register this heap with MessageQ */ MessageQ_registerHeap((IHeap_Handle)heapHandle, HEAPID); messageQ = MessageQ_create(MESSAGEQNAME, &messageQParams); Creation of MessageQ was successfull and the same MessageQ ID is being generated/obtained during Open call. Chages in my own module which is been compiled for IPU1-0 core. MessageQ_Msg msgQ = NULL; Vps_printf("Opening the Heap memory \n"); do { status = HeapBufMP_open(HEAP_NAME, &heapHandle); if (status < 0) { Task_sleep(1); } } while (status < 0); Vps_printf(" Registering the Heap with HeapID \n "); MessageQ_registerHeap((IHeap_Handle)heapHandle, HEAPID); do { status = MessageQ_open(MESSAGEQNAME, &remoteQueueId); Task_sleep(10); }while (status < 0); Vps_printf("MessagQ ID obtained through Init %d !!!!! \n",remoteQueueId); msgQ = MessageQ_alloc(HEAPID, sizeof(MessageQ_MsgHeader)); if (msgQ == NULL) { Vps_printf("MessageQ_alloc failed\n" ); } //Intializing the MyMsg Structure memebers ((MyMsg*)msgQ)->datasize = msg.datasize + msg.headersize-sizeof(StorageHeader); Vps_printf(" Mymsg data size is %d !!!!!!!!\n",((MyMsg*)msgQ)->datasize); It works fine till this part post to which I use MessageQ_Put to insert data to MessagQ which makes my application to hangs/crash. /*status = MessageQ_put(remoteQueueId,msgQ); if (status < 0) { Vps_printf("MessageQ_put was not successful with ID being %d!!!!!n", status); }*/ .cfg file changes source/vision/platform/ti/tda2/links_fw/src/rtos/bios_app_common/tda2px/ipu1_0/Ipu1_0.cfg and source/vision/platform/ti/tda2/links_fw/src/rtos/bios_app_common/tda2px/a15_0/a15_0.cfg var MessageQ = xdc.useModule('ti.sdo.ipc.MessageQ'); var HeapBufMP = xdc.useModule('ti.sdo.ipc.heaps.HeapBufMP'); // Maximum length of MessageQ names MessageQ.maxNameLen = 32; Can you guys let me know what would be problem and what makes application to hang or unrecovery state. Please let me know if any further information is needed. + +Responses: +Does the core go into a hang state such that you cannot connect to CCS or do you get an exception or abort? Thanks and Regards, Piyali + +I believe the core went in to hang state, but I haven't tried out with CCS, I didn't get exception but the only to come out is to do hard reset(Restart) + +Can you please connect via CCS and run the code? If there is an exception due to a bad access, you would see some logs on the CCS console output which would give more clues for the issue. Thanks and Regards, Piyali + +I think it may take time for me, as I don't have the setup handy right now, and I would like to mention that inserting the data to MessageQ in the Networkctrl module were the MessageQ creation was happened was successful. Inserting the data from other core was not successful. I was suspecting issue with my TransPortProxy setting for MessageQ in .cfg file. But having these TransportMsg configuration in .cfg file results in linker issues. a_15.cfg and IPU1_0.cfg file var VirtioSetup = xdc.useModule('ti.ipc.transports.TransportRpmsgSetup'); var MessageQ = xdc.useModule('ti.sdo.ipc.MessageQ'); MessageQ.SetupTransportProxy = VirtioSetup; These are the errors reported.. ------------------------ /opt/vision_sdk/FFC/FFC_WORKSPACE/sdk/ti/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/os_tools/ipc_3_45_00_00/packages/ti/ipc/rpmsg/RPMessage.c:112:2: error: #error unknown processor! #error unknown processor! ^ /opt/vision_sdk/FFC/FFC_WORKSPACE/sdk/ti/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/os_tools/ipc_3_45_00_00/packages/ti/ipc/rpmsg/RPMessage.c:166:5: error: unknown type name 'VirtQueue_Handle' VirtQueue_Handle virtQueue_toHost; ^ /opt/vision_sdk/FFC/FFC_WORKSPACE/sdk/ti/PROCESSOR_SDK_VISION_03_03_00_00/ti_components/os_tools/ipc_3_45_00_00/packages/ti/ipc/rpmsg/RPMessage.c:167:5: error: unknown type name 'VirtQueue_Handle' VirtQueue_Handle virtQueue_fromHost; ^ + +This may be because the macro VAYU is not defined as per the makefiles. Can you please try adding this to the makefile defines -DVAYU and then give the build a try. Did you get a chance to connect to the core via CCS to see which core is crashing and what is the status of the crash? THanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0779150.txt b/sample_embedding_folder2/0779150.txt new file mode 100644 index 0000000000000000000000000000000000000000..f0c7a74addaaf26ad284166dd5e843c500ae9116 --- /dev/null +++ b/sample_embedding_folder2/0779150.txt @@ -0,0 +1,17 @@ +Ticket Name: Linux/TDA2: Trivially reproducible hard lockup (JTAG reports pipeline stall) with RT Linux and FIO + +Query Text: +Part Number: TDA2 Tool/software: Linux We have a Cortex-A15 based device (the TDA2) and with the RT kernel and fio 2.16-1 from Debian, I get a lockup where JTAG reports: CortexA15_0: Trouble Halting Target CPU: (Error -1323 @ 0xFFFF1044) Device failed to enter debug/halt mode because pipeline is stalled. Power-cycle the board. If error persists, confirm configuration and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 8.0.903.6) + This typically happens within a minute of starting the test. Because it happens with a ram based block device and not actual hardware I'm assuming this can be duplicated on hardware other than our own. I'm hoping someone else can try this test on newer RT kernel versions (we're using 4.1) and report back on whether they see issues. Here is the fio test file: [global] name=fio-verify-RW filename=fio-verify-RW rw=randrw bs=4K numjobs=1 invalidate=1 iodepth=1 loops=1 verify=crc32 [file1] filename=/dev/nullb0 I chose the null_blk device driver but any block device works, such as an actual physical block device, a loopback mounted file on tmpfs, or the ramblock driver. Writing to a file does not duplicate the issue. Not verifying the data greatly decreases the likelihood of seeing the lockup. I also can't reproduce on a non-RT kernel. + +Responses: +Hi The SDK release does not support RT kernel patches - hence we have not validated RT support on the SDK code base. Are you trying to bring this up on a different kernel version and have integrated RT patches on your own - would be quite difficult to support in which case. Though not part of the SDK, RT patches have been integrated on TI kernel branches for kernel 4.4/4.14 - refer git.ti.com/.../ti-rt-linux-4.14.y as an example. This should serve as better baseline for RT feature development, but please be aware that not all SDK features,patches would be available on this branch Finally to re-iterate SDK release does not support RT kernel patches and there are no plans to take this up + +Hi, I am not asking TI to support my specific kernel on my specific processor. I provided a test case which should be very fast to reproduce on alternate CPUs and kernels since it uses very standard software - fio - and doesn't require any specific hardware. My understanding is many TI processors are quite similar to each other, so others who are using a cortex-A15 based processor from TI, perhaps such as a Sitara 5728, and an RT kernel may want to try this test case. If so I'm hoping they will report back on what happened for them. + +Hi Did check internally on the specific tests that we run In addition to running cyclic test to measure latency, we also run block IO test(read/write to block media) to measure IO throughput in case of RT kernel. We have not run FIO tests + +We have not been able to reliably reproduce this with anything other than FIO, and only when writing directly to a block device. We write directly to block devices as part of our software update proces, but this does not reliably reproduce the hard lockup. + +Sarah Our product test team was able to run FIO tests against 4.19 kernel(TI kernel:RT and non-RT branches) and did not see any lockups Testing was carried out on AM57x platform + diff --git a/sample_embedding_folder2/0779268.txt b/sample_embedding_folder2/0779268.txt new file mode 100644 index 0000000000000000000000000000000000000000..c92cc3c939c39f44df182b515cf7fb6c318e604d --- /dev/null +++ b/sample_embedding_folder2/0779268.txt @@ -0,0 +1,22 @@ +Ticket Name: TDA2: TDA2X + +Query Text: +Part Number: TDA2 Hi, I want a boot print message for a TDA2X EVM board.Could you give me a complete Boot print log?Please send me a document.Thank you! Best regards , Ycc + +Responses: +Hi Ycc, Are you running RTOS or Linux? Regards, Rishabh + +linux + +Hi, I use SD only boot,when Create SD card boot and insert it into EVM micro SD slot.Turning on the power of TDA2XEVM,then give me a complete print log.Thank you! Best regards , Ycc + +Hi, Please find attached the logs for the application (Vision-SDK) as well the kernel logs on boot-up. Regards Shravan VSDKLinux boot logs.txt + +Hi, I have already seen your VSDKLinux boot logs.txt.I have a question.when you Log in as root on the UART console,you can run ./apps.out directly. I compiled VisionSDK according to VisionSDK_Linux_UserGuide to create SD card boot.The instructions for running the demo are as follows: I have to run load_ocl_kos.sh、opencl_env.sh、vision_sdk_load.sh first,then run apps.out.Otherwise it will give an error.As shown below root@dra7xx-evm:/opt/vision_sdk# ./apps.out ASSERT (osa_mem.c|OSA_memInit|595) Why can you run apps.out directly?What are the effects of these three documents?Finally, I attached the log record of my operation. Regards, Yccmy log.log + +Hi, I am sorry that the picture above is wrong.The instructions for running the demo in VisionSDK_Linux_UserGuide are as follows: I am looking forward to your reply. Regards, Ycc + +Hi, You have to run the vision_sdk_load.sh script before running apps.out as it loads the memcache kernel module which is used by the Vision-SDK application. If you have any further questions, please create a new thread, we will support you. Issue pertaining to the Vision-SDK logs is resolved. Thank you. Regards Shravan EDIT: You need to run the script vision-sdk-load.sh, not source it. please go to /opt/vision_sdk folder and run ./vision-sdk-load.sh. + +Hi Ycc, Even in the log shared with you, ./vision_sdk_load.sh is called. Other two scripts are needed for for opencl. The scripts are present here: PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\build\hlos\scripts\linux. I would suggest you to go through them to understand what each one is doing. Regards, Rishabh + diff --git a/sample_embedding_folder2/0779975.txt b/sample_embedding_folder2/0779975.txt new file mode 100644 index 0000000000000000000000000000000000000000..72b50444cc89b2c153e949b72cea99c0cdcca6be --- /dev/null +++ b/sample_embedding_folder2/0779975.txt @@ -0,0 +1,28 @@ +Ticket Name: Looking for a, ISP chip that can handle two 1080p60 streams + +Query Text: +Other Parts Discussed in Thread: TDA2 Hello, I am building a stereovision setup that will use two 1080p60 camera sensors that will either use MIPI CSI-2 or (SUB) LVDS. The ISP chip should be as cheap as possible and handle the two streams so that it can give them to a main processor that will run algorithms to determine the depth. It should have these protocols: CSI-2, LVDS, USB and PCIe. + +Responses: +TDA2Px + +I see that many of the TDA2 and TDA3 chips have multi camera interfaces, how would I know that the TDA2Px chips are the best ones? I am also planning on adding an IR pattern chip like the Panasonic Grid-EYE and the SoC should include a timestamp as well. + +Hi, Both TDA3x and TDA2Px support CSI serial as well as parallel input interface. On CSI input interface, we could interleave frames from multiple camera and both of these devices can receive them and demux them.. There are multiple parallel interfaces supported and you could connect one camera to each of these parallel input paths. Rgds, Brijesh + +Thank you for the asnwer. However, I see that most camera sensors that can capture 1080p at 60 fps use the SUB LVDS serial connection, for example the Sony IMX265LQR ( www.sony-semicon.co.jp/.../industry.html) We are looking to add a third camera for NIR (which will most likely be the same sensor) or an other use. Would it still be possible to use a TDA chip to capture that simultaneously? + +You would require external device to convert from LVDS to CSI.. Rgds, Brijesh + +Sorry, you would require external module to convert from LVDS to CSI/Parallel. Three cameras are possible to capture over CSI.. Rgds, Brijesh + +Thank you for the response. As seen in paragraph 6.1 from the TDA2Px datasheet "And the TDA2Px SoC also integrates a host of peripherals including multi-camera interfaces (both parallel and serial) for LVDS-based surround view systems, displays, CAN and GigB Ethernet AVB." Wouldn't this mean that I don't need the LVDS to CSI/Parallel converter? + +Hi, I think it says it supports multi-camera interface for LVDS based surround view systems, but it requires external device (ub960) to convert from lvds (FPD Link III) interface to CSI interface.. Rgds, Brijesh + +Thank you, this clarifies a lot. This chip is exactly what I need to bridge the sensors before the ISP chip. It's difficult to find an ISP that supports such inputs simultaneously without looking at FPGAs. + +Hi Petros, Please close the thread if your question is answered. Rgds, Brijesh + +I do have one more question regarding to this chip. Is FPD Link III the same as LVDS? In other words, can I directly connect a LVDS camera to the ub960 chip? + diff --git a/sample_embedding_folder2/0780118.txt b/sample_embedding_folder2/0780118.txt new file mode 100644 index 0000000000000000000000000000000000000000..ef8f9863cd06cdb0c7c0f54f82e8bb06c0bb787b --- /dev/null +++ b/sample_embedding_folder2/0780118.txt @@ -0,0 +1,36 @@ +Ticket Name: RTOS/TDA2-17: Crashing when using simple OpenCV functions + +Query Text: +Part Number: TDA2-17 Tool/software: TI-RTOS Hello everyone! I am trying to use some OpenCV functions from the precompiled libraries on A15 provided with the Vision SDK, version 3.04. These functions work within the given alg-plugin examples, such as in opencvcanny. I can even modify these plugins with other OpenCV calls successfully, as long as I keep everything contained within the "cannyThreadFunc()" in alg_plugins/opencvcanny/canny.cpp However, as soon as I try to move the OpenCV code outside of this function, it crashes with output that looks like this: [HOST ] 51.719971 s: Unhandled Exception: +[HOST ] 51.720002 s: Exception occurred in ThreadType_Task +[HOST ] 51.720002 s: Exception occured in A15 with exception type 18 +[HOST ] 51.720002 s: handle: 0x848ab5b8. +[HOST ] 51.720002 s: stack base: 0x848adb60. +[HOST ] 51.720032 s: stack size: 0x100000. +[HOST ] 51.720032 s: R0 = 0x00000000 R8 = 0x849ac670 +[HOST ] 51.720032 s: R1 = 0x00000001 R9 = 0x849adc5c +[HOST ] 51.720063 s: R2 = 0x00000098 R10 = 0x849adc34 +[HOST ] 51.720063 s: R3 = 0x048c0010 R11 = 0x849ac53c +[HOST ] 51.720063 s: R4 = 0x849ac6c8 R12 = 0x2000015f +[HOST ] 51.720093 s: R5 = 0x849ac660 SP(R13) = 0x8409c430 +[HOST ] 51.720093 s: R6 = 0x849ac670 LR(R14) = 0x8a7350e4 +[HOST ] 51.720093 s: R7 = 0x3ff00000 PC(R15) = 0x8409c430 +[HOST ] 51.720093 s: PSR = 0x849adc5c +[HOST ] 51.720124 s: DFSR = 0x00000206 +[HOST ] 51.720124 s: IFSR = 0x00000000 +[HOST ] 51.720124 s: DFAR = 0x00000010 +[HOST ] 51.720124 s: IFAR = 0x00000000 +[HOST ] 51.720154 s: Terminating Execution... +[HOST ] 51.720154 s: +[HOST ] 51.720154 s: ### XDC ASSERT - ERROR CALLBACK START ### +[HOST ] 51.720185 s: +[HOST ] 51.720185 s: E_dataAbort: pc = 0x8409c430, lr = 0x8a7350e4. +[HOST ] 51.720215 s: +[HOST ] 51.720215 s: ### XDC ASSERT - ERROR CALLBACK END ### + This particular output was caused by multiplying two cv::mat objects inside a .cpp function that was called directly from the "AlgorithmLink_xxxxProcess()" function of a custom-written plugin. Matrix addition and certain constructors were also demonstrated to fail in a similar manner. It seems that there are certain restrictions on how the precompiled OpenCV libraries should be used... or else they will crash the application. Does anyone know what exactly these restrictions are? Much appreciated, Ying + +Responses: +Update! It looks like the application is crashing because I am calling functions from two different threads. This explains why any links using OpenCV dedicate an entire, isolated thread to its use (see opencvcanny or opencvopencldilation, for example). Lesson learned: You cannot use two links that utilize OpenCV in the same chain. You will have to combine their functionality into a single link, or somehow funnel the entire chain's OpenCV usage into a single thread. + +Hi Ying, Thanks for sharing your findings. Regards, Yordan + diff --git a/sample_embedding_folder2/0780234.txt b/sample_embedding_folder2/0780234.txt new file mode 100644 index 0000000000000000000000000000000000000000..8d44a17c6f358e4a552405ab12c3c6af7448e2dc --- /dev/null +++ b/sample_embedding_folder2/0780234.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2SG: DDR usage + +Query Text: +Part Number: TDA2SG Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS May I know how to get the DDR usage in percentage? Thank you + +Responses: +Hi, You can see DDR usage by using print statistics “p” option on UART console when you are running Processor SDK Vision. You can see TDA2 performance app note to see theoretical max bandwidth and actual max, then calculate the percentage. Regards, Rishabh + +Hi TDA2 performance app note. Could you please pass me the url? Thank you for quick reply:) + +Hi, Here is the link: www.ti.com/.../sprac21.pdf Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0780272.txt b/sample_embedding_folder2/0780272.txt new file mode 100644 index 0000000000000000000000000000000000000000..05736654fa943fb2b83a61be66b283e390400280 --- /dev/null +++ b/sample_embedding_folder2/0780272.txt @@ -0,0 +1,10 @@ +Ticket Name: RTOS/TDA2PXEVM: I want to know how to boot eMMC of TDA2PX at TI-RTOS + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS Hi, Sir As title, I want to know how to boot eMMC of TDA2PX at TI-RTOS. We are doing OS changes from linux to TI-RTOS. So. We downloaded RTOS image(appimage and MLO) in uboot. But,The log looks like this and it does not read the image in emmc. SD Boot - File open fails Valid App Image is not Available Could tou please advice us how to achieve it. Thanks, + +Responses: +Hi, SBL supports QSPI, NOR and SD boot for TDA2 devices. eMMC boot is supported only by Linux i.e. Uboot. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0780294.txt b/sample_embedding_folder2/0780294.txt new file mode 100644 index 0000000000000000000000000000000000000000..62bd4b97376e2ffa5c8131ddf9f943e918db2497 --- /dev/null +++ b/sample_embedding_folder2/0780294.txt @@ -0,0 +1,16 @@ +Ticket Name: RTOS/TDA2P-ACD: RGB888 or YUV420_SP conversion to BGR565 format + +Query Text: +Part Number: TDA2P-ACD Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS Hi, I'm working on VisionSdk 3.5 and TDA2P-ACD board. My input is in RGB888 or YUV420_SP. I want to convert it BGR565 format. Whether is it possible to convert it to BGR565 format using VPE or dss_m2mwb link or any other link? Regards, Megha + +Responses: +Hi Megha, You can do this using DSS M2MWB. Regards, Rishabh + +Hi Rishabh, Thank you for the reply. Dss M2MWB supports all formats of Fvid2_dataformats. I checked that there is supported format named FVID2_DF_BGR16_565_A8. But I want only BGR16 565 (16 bit)and not A8 part. What should I do ? Regards, Megha + +Megha, FVID2_DF_BGR16_565 is supported for all TDA2/TDA3 devices. Please see \packages\ti\drv\vps\include\dss\vps_m2mDss.h. Regards, Rishabh + +Hi Rishabh, Thank you for the reply. It really helped a lot. Regards, Megha + +Hi Megha, Glad that your issue is resolved. Please mark relevant posts as "This resolved my issue" and close the thread. Regards, Rishabh + diff --git a/sample_embedding_folder2/0780640.txt b/sample_embedding_folder2/0780640.txt new file mode 100644 index 0000000000000000000000000000000000000000..5484efb06c3eb7f57b8cb48bc2ca7cabedfe6288 --- /dev/null +++ b/sample_embedding_folder2/0780640.txt @@ -0,0 +1,34 @@ +Ticket Name: RTOS: Emulator and TDA2x has different result with TIDL(version 01.01.03). + +Query Text: +Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS Hello, I have test my own model using TIDL(version 01.01.03). I recently found that the PC emulator and TDA2x generate different results. I have checked each layer dump , discovering a convolution layer gives different output. Furthermore, I checked the layer result which gives different output and found another strange phenomenon. My convolution layer has 96 input channels and 192 output channels with group = 8 and kernel size = 3. The output feature maps is different at 0th, 24th, 48th, 72th, 96th, 120th,144th, 178th. It seems that the first generated feature map in each group has different value. After that I extract the particular convolution layer to do the test which input is previous layer output.(ex: trace_dump7.y ). The result from PC emulator and TDA2x is different. I generate the TDA2x eve test and PC-emulator ,using below instruction respectively. "gmake TARGET_BUILD=release CORE=eve all" "gmake TARGET_BUILD=release TARGET_PLATFORM=PC CORE=eve all" All detail is in the appendix .rar file , including Convolution layer information , input data , PC_emulator result and TDA2x result. Thank you. TIDL_issue.rar + +Responses: +The PC emualtion is expected to give the same result as Target. Your build commands are right. BTW, Is the PC emualtion results matching with expected results (caffe)? Which is the first layer mismatching ? + +I just check the proto file. This has only one layer. We will look in to this get back on this . + +The rar does not contain, the caffe model file? Can you share the caffemodel also? + +The Caffe model contains only the layer which begins to generate different output.Layer_model.rar + +We have checked the output which given by PC emulator. Detection Boxes generated by PC emulator are similar to the result from Caffe. + +Hi KaiNan Hsieh, We could not re-produce this issue in latest code base. Looks line one the recent fix had solved this isse as well. We will locate the right fix and share the patch soon. + +Hi KaiNan Hsieh, We are not able to reproduce this issue in 01.01.03 release as well. Are you observing this issue when you the full network or with the attached single layer as well? + +We found this issue when we do the detection with full network , and we dumped each layer to check which layer gives the different output. Then we test the attached single layer see if it gives the same issue which we found in full network. So this issue was found in both cases. Thank you + +Hello , We have tried another case, discovering that it has different output with convolution layer on PC-simulator and TDA2x. In our test case we found the PC-simulator and TDA2x have same output when we didn't use dense convolution. Therefore , We regenerate the model by set some layer using dense convolution , and these makes the output different. Is any problem with dense convolution may cause this problem? Thank youconvolution-Issue.rar + +Hi, Last thread I have mentioned that dense convolution gives different output in some case. I have built a caffe model with only 3 convolution layer and test different setting of dense convolution.(The first model import with no dense convolution and another with all dense convolution). The results are in the attached file ,including files below: import.txt , infer.txt , caffemodel , deploy.prototxrt, input data, output data from TDA2 and PC-simulator. I used the command "gmake TARGET_BUILD=release TARGET_PLATFORM=PC CORE=eve all" to generate eve_release_out.exe and generate the PC-simulation result. Use "eve_release.out" which is existed in the testcv/out folder to generate the TDA2 result. Thank you, ti_conv_issue.rar + +Hi KaiNan Hsieh, Could you please provide the version of your TIDL? I can get incorrect result with your eve_test_dl_algo.out.exe, but get correct result with TIDL 1.1.3. Please provide your import tool binary to make sure I can reproduce it. So you mean that PC-simulation is not align with the inference on TDA2 target? Your prototxt has 3 conv layers, only the third layer can be configured as dense conv. All 3 layers are not aligned or only the third layer is incorrect? Thanks & Best Regards! ZM + +Hi, I can reproduce it now(first channel of each group of the third layer is not aligned with PC tool). and get back to you later. Thanks & Best Regards! ZM + +Thanks for your reply. The output of these 3 layers have the same result with TDA2 and PC-simulation at first and second layers.But third layer is not align with TDA2. Only the third layer is not aligned. Thank you + +Thanks, Problem is solved. + diff --git a/sample_embedding_folder2/0780672.txt b/sample_embedding_folder2/0780672.txt new file mode 100644 index 0000000000000000000000000000000000000000..3ed59e92a129d9945b1dd86052ed35ea14da3ef1 --- /dev/null +++ b/sample_embedding_folder2/0780672.txt @@ -0,0 +1,68 @@ +Ticket Name: Linux/TDA2EXEVM: [External ] AVB camera packet be dropped by Sequence number broken + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2 Tool/software: Linux Hi, We executed the usercase of 1: 4CH AVB Capture + Decode + SGX MOSAIC + DISPLAY on TDA2X board. But it couldn't preview the video image on HDMI TV, then enable debug message in the AVB Sequence checking in AVBTP_processRxPackets() function. Due to the broken sequence of packet be dropped, it resulted in the failure of DECODE. The system image was build by Vision SDK v3.5, The u-boot info: U-Boot 2016.05 (Feb 27 2019 - 21:47:31 +0800) arm-linux-gnueabihf-gcc (Linaro GCC 5.3-2016.02) 5.3.1 20160113 GNU ld (GNU Binutils) 2.25.0 Linaro 2015_10 And the kernel info: 4.4.84-00032-g0f6b93d-dirty BTW, the captured AVB packets & the message log as the attached. Could you teach us how to solve the issue of AVB broken sequence number? Thanks. BR, Sam Hsieh 1854.avb_phy_log.txt AVB_captured.rar + +Responses: +Hi Are you using AVB cameras or AVB talker as input data source? Can you use all the tools (versions) and Linux Kernel, uboot as specified by VSDK user guide - \vision_sdk\docs\Linux\VisionSDK_Linux_UserGuide.pdf. Any deviation from this is untested and may result in demo application failure. This user guide has a section, explains - how to build and run AVB on VSDK Linux, please follow the same regards, Shiju + +Hi Shiju, Thank you for your feedback. We used 4 CH AVB camera as the input data source, and confirmed that the User guide described, the AVB talker works fine. We observed that the comments of AVBTP_processRxPackets() [ \avbtp_0_10_00_00\packages\ti\avbtp\avbtp.c] /* we only care about broken sequences after we find the JPEG SOI marker. * If this packet happens to contain it, then don't drop it */ /* * TODO: In the future, we may have to deal with SOI flags that do not * appear at the start of the payload. */ Could you help let me know how to handle the packet without SOI flag? Thanks. BR, Sam Hsieh. + +Hi Sam Ok, thanks for confirming that the UC works with AVB talker. WRT your query on SOI flag, will check and get back to you regards, Shiju + +Hi Shiju, Is there any updates on it? As the avbtp_0_10_00_00_user_guide described: I observed that TDA2 default enable JPEG Restart marker detection flag to lower the system latency during AVBRX initialization. If there is no JPEG marker in the payload, how avbtp_task(avb_handle) notify client Restart JPEG? Otherwise all AVB packets will be dropped by broken equence number. Is it possible caused by CPDMA buffer is not enough? I ever have tried to increase the AVB2NSP_RX_PACKETS (64-> 128), but it results in the memory fauts. It seems that there is some dependencies among AVBTP library, GWMAC and CPDMA modules. Could you teach me how to increase listener the count of AVB2NSP_RX_PACKETS? Thanks. regards, Sam Hsieh + +Hi Shiju, Could you help update the SOI flag? Thanks. BTW, we tested some scenarios with various combinations: AVB[#1]: normal AVB(8081), send one packet frame per 2ms. AVB[#2]: Fast AVB(8061), send one packet frame per 0.7ms OK: It means that no broken sequence occurred; NG: it means that broken sequence occurred often case combinations result 1 4 CH AVB[#1] OK 2 4 CH AVB[#2] NG 3 3 CH AVB[#1] & 1 CH AVB[#2] NG 4 1 CH AVB[#2] OK We also tried to increase the quantity of buffer (AVB_RX_LINK_BUFS_PER_TALKER_DEFAULT, 6 -->16), But the issue broken Sequence occurred often. Could you help teach us how to look into the issue of broken sequence? Thanks. regards, Sam Hsieh + +Hello Sam, For broken sequence, what is CPU load? Also did you check AVB statistics to see if there was buffer underflow encountered? Regards, Prasad + +Hi Prasad, As we observed that the CPU (M4) System load is around 45~50%, didn't see the buffer underflow phenomenon occurred. I tried to change the CPDMA configuration of rxInterruptsPerMsec = 1 (per 1ms). but it is not helpful for the sequence broken. Could you teach me how to identify the all AVB Sequence packets are received in nsp_gmacsw driver module? Thanks. BR, Sam Hsieh + +Hello Sam, AVB module maintains statistics of all drop count etc. in avb2NspStats structure. If you have CCS connection, just put this variable into the "expressions window" and observe which count increases. Hopefully this will give some idea where drop happens and why. To enable statistics, set below to true in your config file. AVBTP.instrumentedBuild = true; typedef struct AVB2NSP_STATS_ +{ + AVB2NSP_PacketTaskStats rxStats; + AVB2NSP_PacketTaskStats txStats; + AVB2NSP_ProcessingStats procStats; +#if defined(AVBTP_INSTRUMENTATION_ENABLED) + uint32_t rxReadyAVBTPPacketEnqueue; + uint32_t rxReadyAVBTPPacketDequeue; + uint32_t rxFreeAVBTPPacketEnqueue; + uint32_t rxFreeAVBTPPacketDequeue; + + uint32_t txReadyAVBTPPacketEnqueue; + uint32_t txReadyAVBTPPacketDequeue; + uint32_t txFreeCPDMAPacketEnqueue; + uint32_t txFreeCPDMAPacketDequeue; + + uint32_t etherTypeError; + uint32_t controlDataPacketCount; + uint32_t streamIDValidFlagError; + uint32_t avbSubTypeError; + uint32_t invalidStreamIDError; + uint32_t invalidPacketSizeError; + uint32_t noBuffersAvailable; + uint32_t outOfSequenceError; + uint32_t insufficientSizeError; +#endif + uint32_t txFreeCPDMAPacketUnderflow; + uint32_t txDroppedPacketCount; + uint32_t txFreeAVBPacketQueueUnderflow; +} +AVB2NSP_Stats; Regards, Prasad + +Hi Prasad, Thank you for your feedback. Yes, I configured the "AVBTP.instrumentedBuild = true", but I have no experience in the CCS tools on the TDA2XX board. Could you help teach me How to setup the connection between DUT and PC (Linux)? Thanks. BR, Sam. + +Hello Sam, Sorry for late reply. Below is app note for CCS information. Please let us know if any clarification. http://www.ti.com/lit/an/sprac17b/sprac17b.pdf Regards, Prasad + +I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). + +Hi Prasad, I still stock in the issue which result from the bandwidth limitation of TDA2X and SWITCH. I estimate the bandwidth requirement per channel AVB camera (100BASET) without Image distortion about 50Mbps. Even though the Ethernet MAC could support 1Gbps, because Both TDA2X and AVB camera don't support Stream Reservation Protocol (SRP), it means that A data stream associated with a stream reservation guaranteed latency &Bandwidth. It results in the AVB packet could be dropped. Could you help teach me how to solve the issue ? Thanks. regards, Sam Hsieh + +Hello Sam, Can you please let me know the contents of statistics registers? (address 0x4848-4900 to 0x4848-4990) Regards, Prasad + +Any update? + +Hi Jondhale, Sorry reply for late. The issue doesn't be fully solved, the root cause could not be identified yet, perhaps be related to the bandwidth of SWITCH. Because I am not familiar with the CCS tools, Could you help teach me how to get statistics registers? (address 0x4848-4900 to 0x4848-4990)? Thanks. Thank you for your support. regards, Sam Hsieh + +For steps on how to debug using CCS please refer to : www.ti.com/.../sprac17b.pdf + diff --git a/sample_embedding_folder2/0781535.txt b/sample_embedding_folder2/0781535.txt new file mode 100644 index 0000000000000000000000000000000000000000..c25e259ffe973a58fdca7545ccff79892e7173e2 --- /dev/null +++ b/sample_embedding_folder2/0781535.txt @@ -0,0 +1,18 @@ +Ticket Name: RTOS/TDA2PXEVM: Creating folder and copying the files into the SD card using network Ctrl + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS hello, I need to create a folder in the SD card and copy the files into the folder. I am able to create the folder but not able to copy the files into it. And also if the folder is already present,it gives assertion fail. Assertion @ Line: 195 in /source/vision/platform/ti/tda2/apps/src/rtos/modules/network_ctrl/network_ctrl_handle_mmc_wr.c: 0 == status : failed !!! 1. how to create a folder into the sd card? 2. how to change the directory to copy the files into the folder created? Below is my code: status = File_getcwd(cwd, (Int32)1000); if(0 == status) { char godfolder[NETWORK_CTRL_CMD_STRLEN_MAX]={'G','O','D'}; // new folder :GOD strcat(cwd, "/GOD"); System_linkControl( linkId, SYSTEM_LINK_CMD_MAKE_DIR, godfolder, strlen(godfolder)+1, TRUE); status = File_chDir(cwd); } + +Responses: +Hi Vijeetkumar, Which version of VSDK are you using? I am supposing that the MAKE_DIR is a custom command you have added. If yes, can you please share your version of the network_ctrl_handle_mmc_wr.c(both pc side and evm side) file so that I can have a closer look at it :) Regards, Anand + +Hello Anand, I am using PROCESSOR_SDK_VISION_03_03_00_00. But anyways folder is getting created now. Thanks for the help. I want one more help on deleting the folder. I am using the below function: status = File_delete(dirPath); f_unlink(filename) is returning 7, which means access denied. FR_DENIED, /* (7) Access denied due to prohibited access or directory full */ Note: I am able to delete the file with the same api but not directory. + +Hi Vijeetkumar, This is strange. The same api should work for both file or directory delete. Can you put a breakpoint in f_unlink() and step through to find out why exactly does it go to FR_DENIED? It could be due to attempting to delete a read-only dir/file, or other reasons like that. Meanwhile, I'll try to replicate this on my side. Regards, Anand + +Hello Anand, I cant find definition for f_unlink() and also debugging is slightly difficult for me as I am not using jtag. I putting print statements for debugging. if its denying due to read-only how to make it write? were you able to replicate it? + +Hi Vijeetkumar, I have not yet been able to replicate the setup. Hmm. It is strange that you can't find the definition of f_unlink(). You should be able to find it in some of the fatfs library files. Then you can try putting printfs under each ifdef. I would recommend using a debugger though. Regards, Anand + +Hi Vijeetkumar, Were you able to find the function f_unlink()? I believe you were able to fix the issue/you don't see the issue anymore? Regards, Anand + diff --git a/sample_embedding_folder2/0781775.txt b/sample_embedding_folder2/0781775.txt new file mode 100644 index 0000000000000000000000000000000000000000..5fc678000ef1ed5fc6cbfc3ce88f35f41f853f31 --- /dev/null +++ b/sample_embedding_folder2/0781775.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2PXEVM: How to process the data what tda2 receive by yuv422_8B from ub964, but ub964 send data by raw12 + +Query Text: +Part Number: TDA2PXEVM Tool/software: TI-RTOS my hardware is tda2p + ub964 + Camera module, the Camera module output yuv422_8B data, but it use the raw12 of ub913 and ub 964 to transmit. when i receive the data in tda2p by yuv422_8b, it it not correct. How i should process this thing. + +Responses: +Hi, You could probably work in 10bit mode for UB913 and UB964 and in Ub964 select the 8bit processing in RAW10_8BIT_CTL field. Please note that this field might not be supported in all UB964, so please check your ub964 data sheet. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0781965.txt b/sample_embedding_folder2/0781965.txt new file mode 100644 index 0000000000000000000000000000000000000000..26a4f8da9071266c38c224aa0170bf799dc051d5 --- /dev/null +++ b/sample_embedding_folder2/0781965.txt @@ -0,0 +1,46 @@ +Ticket Name: CCS/TDA2EVM5777: TDA2x Vision EVM Kit – Spectrum Digital (Includes CPU Board and Vision Application Board) + +Query Text: +Part Number: TDA2EVM5777 Tool/software: Code Composer Studio Hello People, We have recently purchased the TDA2x Vision EVM Kit , and a Blackhawk USB560v2 System Trace Emulator from Spectrum digital. I as a beginner tried to work around the EVM by following the steps as 1. Powered the Kit with Supply provided to the CPU board. 2.Created a new target connection for TDA2x processor with Blackhawk USB560v2 System Trace Emulator. 3. Launched the target which is successful. 4. As its a multi core kit, I should be able to connect any one core as a target. 5. It gives me error "that board is held in rest" even though i pressed the reset before connecting,the error stays same. Can you please help me out here,why i am not able to connect to the board.? Also one more question, as the EVM comes with a bottom CPU board and a mounted Vision Application Board. Does powering up CPU board powers up the Vision Application Board too. Regards Sajad + +Responses: +Hi Sajad, Please follow user guide to understand how to connect, load and run the usecase.. Rgds, Brijesh + +Hi Sajad, Are you able to connect to A15 core? Regards, Rishabh + +Hello, As others have mentioned here, follow the user guides. The quick step through to connect to a core successfully is basically: - Download the Vision SDK, you will probably need it for your further development anyway: - Follow the user guide found in the installation folder, everything is in there to get you started. \vision_sdk\docs\UserGuides\VisionSDK_UserGuide_TDA2xx.pdf. In particular, see section "Load using CCS". It explains exactly what you ask, how to install device support and initialization gel scripts. how to connect to target and bring the board up, etc. Hope it helps, thanks, Alex + +Dear Guys, Thanks for all the help, I have downloaded the user guide and VISION SDK is also installed. Is it needed to built and compile the code for user cases through Command prompt, i mean we should be able to do same using CCS, if the same project can be Imported into CCS window and then builded up and uploaded to EVM. Also I have the following queries 1. I have two SDK vision Guides, Vision SDK TDA2xx (v03.06.00) & Vision SDK TDA2xx v02.09.00, Everthing is same in both except the later uses some other method to build the user cases, Why is that and which guide should i follow? 2. Are there any Prebuild user cases within SDK, which can be directly ported onto the hardware without building? 3. Is there any demo based on surround view also which is already Prebuilded? Regards Sajad + +Hi Sajad, Can you refer to Vision SDK Training series. training.ti.com/tda2-and-tda3-processors-training-series training.ti.com/introduction-processor-sdk-vision Regards, Rishabh + +Also make sure to use the latest Vision SDK i.e. 03.06 release. Regards, Rishabh + +Hello Rishabh, I have gone through the video series, TDA2x Video Part3 is not opening,there is some problem in website in running the demo. Also the videos skip the most of the parts. Could you help me in providing a prebuild binary for the board or if it comes with SDK vision , which can be directly loaded on the board using ccs. Also please confirm if i can import the user cases in CCS and build in CCS without going into CMD based build option? Regards Sajad + +Hi, Prebuilt binaries are also present in the release page: software-dl.ti.com/.../index_FDS.html. Also we don't support CCS based projects, only makefile build is supported. Regards, Rishabh + +Dear Rishabh, I have tried with make file build option and followed the steps as per the user guide, My cmd is still building it but it shows compilation failure with some cases. PIc Attached.. Normally how much time it takes to build the binaries. Regards sajad + +Dear Rishabh, In cmd , following commands are to be run >gmake -s -j depend > gmake -s -j --user guide mentions that if not sure about the number of CPU's, not to use "-j". --will it run fine As the guide v03.06.00 Suggests in section 3.3 step 2 that set required config MAKECONFIG = tda2xxevm_bios_all And when i open the file Rules.make ,the line is there as MAKECONFIG ?= tda2xxevm_bios_all Do i have to remove that '?' symbol. + +Hi Sajad, "-j" is to invoke multiple builds in parallel. Depending upon the machine you are using you can choose to build using '-jx' where x is num of CPUs or without '-j' option. Wrt questions like the one for '?' symbol mentioned above, I would suggest you to try and see. Regards, Rishabh + +Hi Rishabh, I have followed the whole process, using Make Setup, It gives me errors as in image attached. Also please can you tell me where and which location of Vision SDK those files get generated, On ARP32_EVE_4, load the binary, “vision_sdk_arp32_4_release.xearp32F”. On ARP32_EVE_3, load the binary, “vision_sdk_arp32_3_release.xearp32F”. On ARP32_EVE_2, load the binary, “vision_sdk_arp32_2_release.xearp32F”. On ARP32_EVE_1, load the binary, “vision_sdk_arp32_1_release.xearp32F”. On C66xx_DSP2, load the binary, “vision_sdk_c66xdsp_2_release.xe66”. On C66xx_DSP1, load the binary, “vision_sdk_c66xdsp_1_release.xe66”. On Cortex_M4_IPU1_C0, load the binary, “vision_sdk_ipu1_0_release.xem4”. On Cortex_M4_IPU1_C1, load the binary, “vision_sdk_ipu1_1_release.xem4”. On CortexA15_0, load the binary, "vision_sdk_a15_0_debug.xa15fg” + +Hi, You need to install A15 compiler. Please refer to user guide. You should search for the error messages on e2e forum. Most likely the question would have already been answered in the past. Regards, Rishabh + +Dear Rishabh, As the user guide gives the link for ARM compilier as i have already installed it and it is in the location as per the user guide steps. STEP 1. STEP 2. installed in location C:\ti\PROCESSOR_SDK_VISION_03_06_00_00\ti_components\cg_tools\windows Can you Please Verify the path Regards Sajad + +Hi Sajad, Did you search this error on forum? Your path in Rules.make must be different from installation path. Regards, Rishabh + +Hey Rishabh, Thank You for all the help. I was able to find out the issue which was that by default the ARM 15 compiler installs in directoey as /ti_components\cg_tools\windows\4.9 2015q3 & we have to replace it as ti_components/cg_tools/windows/gcc-arm-none-eabi-4_9-2015q3. It is compiling till now without any isssues. But still it would be great if i could do all this using CCS alone, any docs for same? Regards Sajad + +Hi, Glad that the issue is resolved. Please mark the posts that helped you as "This resolved my issue" and close the thread. As I have already mentioned previously, SDK cannot be built as a CCS project. It has too many components and multiple dependencies. Regards, Rishabh + +Hey Rishabh, Does that mean , if i have to edit anything as per my needs, I have to edit all the required dependencies and build it again using same procedure to view the results. Regards Sajad + +Hi Sajad, BIOS only build involves only two commands i.e. "make -s depend" and "make -s". If you are changing anything in dependent components say PDK, then you need to build "depend" as well as SDK otherwise "make -s" is sufficient for SDK only changes. Also please note that builds will be incremental in nature. Make system will identify the changed files and build only those files. In case you add new headers or make more involved changes wrt makefiles you might need a clean build. Regards, Rishabh + +Hi Rishabh, Thank you for all the info provided. Really Appreciated. Regards Sajad + diff --git a/sample_embedding_folder2/0782460.txt b/sample_embedding_folder2/0782460.txt new file mode 100644 index 0000000000000000000000000000000000000000..27606260974059528343d5e2a35524ca74fa704f --- /dev/null +++ b/sample_embedding_folder2/0782460.txt @@ -0,0 +1,34 @@ +Ticket Name: Linux/TDA3: Camera tests throwing failed assertion "status == SYSTEM_LINK_STATUS_SOK" error + +Query Text: +Part Number: TDA3 Tool/software: Linux Whenever I try to run any of the tda3xx_RVP demos, I get the following error: [IPU1-0] 20.146220 s: Assertion @ Line: 574 in /srv/jenkins/workspace/Vision_SDK/D3_Platform/Vision_SDK_3.02.00.00/sdk_manager/staging/vision_sdk/apps/src/rtos/video_sensor/src/vid_sensor.c: status == SYSTEM_LINK_STATUS_SOK : failed !!! I'm not sure if I'm running a demo for the tda2 when I shouldn't be, or if there is something else going on. This is the full terminal log: I also tried to change the camera model, but got a different error: 13.274629 s: Assertion @ Line: 548 in captureLink_drv.c: pInst->captureVipHandle != NULL : failed !!! + +Responses: +Hi Adam, You should set MAKECONFIG to tda3xx_rvp_bios_all. Can you share the Rules.make. Regards, Rishabh + +Which usecase are you trying to run? From the assertion, it looks like you are trying some VIP based usecase, could you please make sure that the Ov10635 sensor is connected? Rgds, Brijesh + +Here is the Rules.make # file name: Rules.make # set up the build environment ifeq ($(vision_sdk_PATH), ) # # Application to build for # # Supported Applications are: # sample_app # apps MAKEAPPNAME?=apps # # Config to use # # Selecting a config selects the system config and modules to include # in the build # # Edit the detailed config in file # $(vision_sdk_PATH)/$(MAKEAPPNAME)/configs/$(MAKECONFIG)/cfg.mk # # Supported "out of box" configs are listed below # - TDA2x Configs, # tda2xx_evm_bios_all # tda2xx_rvp_bios_all # tda2xx_evm_bios_opencx # tda2xx_evm_bios_radar # tda2xx_evm_linux_all # tda2xx_rvp_linux_all # tda2xx_evm_linux_infoadas # tda2xx_evm_linux_opencl # tda2xx_evm_linux_opencx # tda2xx_evm_robust_rvc # # - TDA3x Configs, # tda3xx_alps_bios_radar # tda3xx_evm_bios_all # tda3xx_evm_bios_radar # tda3xx_rvp_bios_all # tda3xx_evm_bios_iss # tda3xx_rvp_bios_iss # # - TDA2Ex Configs, # tda2ex_17x17_evm_linux_all # tda2ex_evm_bios_all # tda2ex_evm_linux_all # tda2ex_evm_linux_infoadas # tda2ex_evm_robust_rvc # # - TDA2Px Configs, # tda2px_evm_bios_all # tda2px_evm_bios_radar # tda2px_evm_linux_all # tda2px_evm_linux_infoadas # tda2px_evm_bios_iss # # MAKECONFIG?=tda3xx_rvp_bios_all # Default build environment # Options: Windows_NT or Linux BUILD_OS ?= Linux ifeq ($(OS),Windows_NT) BUILD_OS=Windows_NT endif # # Set BUILD_MACHINE to 32BIT as required, this is needed only # if A15_TARGET_OS is going to be Linux # # Options: 32BIT or 64BIT BUILD_MACHINE ?= 64BIT vision_sdk_RELPATH = vision_sdk vision_sdk_PATH := $(abspath ..) # Application paths $(MAKEAPPNAME)_PATH := $(vision_sdk_PATH)/$(MAKEAPPNAME) include $($(MAKEAPPNAME)_PATH)/configs/defaults.mk include $($(MAKEAPPNAME)_PATH)/configs/cfg.mk include $($(MAKEAPPNAME)_PATH)/configs/autorules_header_cfg.mk include $(vision_sdk_PATH)/build/tools_path.mk include $($(MAKEAPPNAME)_PATH)/configs/autorules_footer_cfg.mk endif include $(MAKERULEDIR)/build_config.mk include $(MAKERULEDIR)/platform.mk include $(MAKERULEDIR)/env.mk include $(MAKERULEDIR)/component.mk export MAKEAPPNAME export $(MAKEAPPNAME)_PATH export MAKECONFIG I think I had it set up to build for tda3xx_rvp_bios_all, but in addition to the build for tda3xx_rvp I also built an AppImage for tda3xx_evm on accident so maybe I got them confused and put the evm one on my SD card. Would running the AppImage generated from the wrong MAKECONFIG produce the error I keep seeing? + +I'm trying to run Single Camera Usecases --> 1CH VIP capture + Display. The camera is connected, but its an ov10640 sensor not an ov10635. + +Hi Adam, You can try the clean build in order to make sure that you are using the correct AppImage. But OV10640 will not work for OV10635 use case. Can you try with OV10635. Regards, Rishabh + +I rebuilt the AppImage but I'm still getting the error. Is the Single Camera use case for OV10635 only? If so which use case should I be running just to test if the OV10640 is working? + +Hi Adam, Assuming the following A. Camera module is connected to RVP via FPD Link III (Refer VisionSDK_UserGuide_TDA3xx_RVP.pdf Section "ISS Multiple Channel (SRV) Use-case Hardware Setup") Note that casing for RVP is removed in this picture. B. Camera module is IMI (i.e. OV10640 with UB913 Serializer) Please check on the following 0. Connect the camera module to one of connector on the edge (i.e. connector on the boundary) 1. Ensure it's built as described in section "Building the application" of VisionSDK_UserGuide_TDA3xx_RVP.pdf 2. Choose OV10640 as described in section "Run the demo" of VisionSDK_UserGuide_TDA3xx_RVP.pdf 3. Choose "5: ISS Usecases, (TDA3x ONLY)"" 4. Choose "1: 1CH ISS capture + ISS ISP + ISS LDC+VTNF + Display" If you still see failure, connect the camera to 0. Connect the camera to other edge connector and repeat above steps (1 to 4) Regards, Sujith + +I tried the steps you provided and the TDA threw the following error when the camera was plugged in to both edge connectors: [IPU1-0] 18.715945 s: I2C0: Error timeout 1 ms!!! [IPU1-0] 18.716006 s: Assertion @ Line: 384 in /srv/jenkins/workspace/Vision_SDK/D3_Platform/Vision_SDK_3.02.00.00/sdk_manager/staging/vision_sdk/apps/src/rtos/iss/src/common/app_util_iss.c: 0 == status : failed !!! + +It's quite strange. Can you check if the initial configuration is going through or the very first write is failing? also, would be possible to attach the camera module picture that you are using? Regards, Sujith + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +The initial configuration goes through. It seems like the tda3 is timing out when it tries to connect to i2c devices during start up. Also here are some pictures of the camera module: + +The Camera module seems okay, let me check with others. Regards, Sujith + +It looks like you are running VIP capture instead of ISS capture. The camera you are is OV10640, the right sequence of commands should be: s2a51 If that does not work, please attach the complete log including the menu options you are selecting. + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0783067.txt b/sample_embedding_folder2/0783067.txt new file mode 100644 index 0000000000000000000000000000000000000000..f8ef9f2e320aab000900b775324c5832f35beacf --- /dev/null +++ b/sample_embedding_folder2/0783067.txt @@ -0,0 +1,20 @@ +Ticket Name: Linux/TDA2SX: Memory frequency how to adjust dynamically. + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Tool/software: Linux hi ti The DDR memory model I used was w632gu6mb-12.I want to know how to set it to dynamically adjust the frequency according to the load. Can I use devfreq?What if I could change the device tree?I hope I get the answer. thaks. + +Responses: +Hi, It isn't recommended to update the DDR frequency dynamically. It is set as part of the bootloader and must not be modified. By default in the Linux kernel, Dynamic Voltage Frequency Scaling is enabled which modifies the frequency of the A15 depending on the system load. Regards Shravan + +hi Shravan If it has to be modified, is it possible to implement it in the kernel? What are the effects of the changes? + +thanks + +Hi, Linux runs out of DDR, so you can't modify the DDR frequency on the fly. The DDR configuration happens from U-boot (SPL), which runs from the on-chip memory. After this no configuration of DDR happens. Regards Shravan + +hi Shravan Is there a memory low power mode? thanks + +Hi, TDA2 family of SoCs don't support low power memory mode. Regards Shravan + +thanks + diff --git a/sample_embedding_folder2/0783693.txt b/sample_embedding_folder2/0783693.txt new file mode 100644 index 0000000000000000000000000000000000000000..84609cc4b7adc5dcd32c24b950f8a95703180b66 --- /dev/null +++ b/sample_embedding_folder2/0783693.txt @@ -0,0 +1,36 @@ +Ticket Name: RTOS/TDA2EVM5777: Uart data missing + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS Hi, I register Uart ISR in IPU1, to receive data from external device. it works well when data size not more than FIFO size, but will fail when data size more than FIFO size. the FIFO trigger level is set to 1, and we tried several baud rate (230.4k / 460.8k / 921.6k), the symptoms are the same. could you give me some help. Thanks~~~ + +Responses: +Hi, Can you set the FIFO trigger level to half the FIFO size and try? Also check with baudrate of 115.2K. Regards, Prasad + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +Hi, sorry to reply late. baud 115200 also not works. I found some symptoms. I register ISR in one task. when ISR can be processed, the data transmission seems already finished. so we always can receive less than FIFO size. does it mean ISR not be processed immediately ? and the INT priority is already set to 1. Thanks~~~ + +Hi Markii, Did you try setting the FIFO threshold as suggested above? Regards, Rishabh + +Hi, yes, we also check FIFO threshold to 8/16/32, but it seems no much difference. Thanks~ + +Hi Markii, I did not get from your previous reply what you mean by - "I register ISR in one task. when ISR can be processed, the data transmission seems already finished. so we always can receive less than FIFO size." Are you receiving the data from external device before the UART in SoC is configured? Regards, Prasad + +Hi, Uart config and ISR register in task's drvcreate function, before receiving the data from external device. if external device send more than 64 bytes to TDA2, I always can receive only the first 64 bytes data. that is why I think the data transmission had already finished when ISR was called. Thanks~~ + +Hi, Can you tell what version of software you are using? Also share the sequence of APIs you are using to configure UART? Regards, Prasad + +Hi, SDK version is 03_04 UART configure flow as below ***************************************************************************************************** HW_WR_REG32(SOC_L4PER_CM_CORE_BASE + CM_L4PER_UART2_CLKCTRL,0x2); PlatformUnlockMMR(); PlatformUART2SetPinMux(); UARTConfigInit(SOC_UART2_BASE, 921600, UART_WORD_LENGTH_8, UART_STOP_BIT_1, UART_NO_PARITY, UART13x_OPER_MODE); UARTRegConfigModeEnable(SOC_UART2_BASE, UART_REG_CONFIG_MODE_B); HW_WR_REG32(SOC_UART2_BASE+UART_TLR, 0x0); UARTRegConfigModeEnable(SOC_UART2_BASE, UART_REG_OPERATIONAL_MODE); HW_WR_REG32(SOC_UART2_BASE+UART_FCR, 0x41); HW_WR_REG32(SOC_UART2_BASE+UART_LCR, 0x3); HW_WR_REG32(SOC_UART2_BASE+UART_SCR, 0x81); BspOsal_irqXbarConnect(CSL_XBAR_INST_IPU1_IRQ_60, CSL_XBAR_UART2_IRQ); BspOsal_registerIntr(CSL_XBAR_INST_IPU1_IRQ_60, (BspOsal_IntrFuncPtr)UARTIsr, NULL); Hwi_enableInterrupt(CSL_XBAR_INST_IPU1_IRQ_60); UARTIntEnable(SOC_UART2_BASE, UART_INT_RHR_CTI); ***************************************************************************************************** Thanks~~ + +Hi, Can you try to use the UART driver and check if you can receive the data? Driver handles the interrupts and fifo etc properly and its tested in multiple use cases. The uart driver is present in "\packages\ti\drv\bsp_lld\uart". You can refer the example provided. Regards, Prasad + +Hi, I am trying to understand this UART driver and use it. I have 2 questions. 1. Does this UART driver can be used in TI RTOS? 2. What's wrong of my flow and configuration? why it can not work? Thanks~~~ + +Hi Markii, This driver can be used in RTOS. The issue here is that you are trying to use CSL based UART code in Vision SDK context. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +Hi, I found the problem of my configuration. It can work now. Thanks~~ + +Hi Markii, Glad that your issue is resolved. Can you please post the solution for future references. Regards, Rishabh + diff --git a/sample_embedding_folder2/0783892.txt b/sample_embedding_folder2/0783892.txt new file mode 100644 index 0000000000000000000000000000000000000000..0692cc0e32ec56a5c8929191e8b83384105c8100 --- /dev/null +++ b/sample_embedding_folder2/0783892.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2P-ACD: Several questions for using TDA2 with radar + +Query Text: +Part Number: TDA2P-ACD Other Parts Discussed in Thread: TDA2, AWR1243, TDA2PXEVM Hello team, My customer has the plans to use TDA2 to use it with AWR1243 and perform first order FFT and second order FFT using TDA2 devices and to perform it on the 2.5MB L3 RAM On-chip (without DDR2/3). 1. could you please advise if our device can use the C66x DSP without external DDR2? 2. there is a need to have at least 2.5GB throughput of output data from the device, what is the best I/F for doing that (I think the PCIe II could do the trick)? 3. what is the PN chipset that comes with TDA2PXEVM (the customer is looking for TDA2PHF-ACD chipset EVM)? 4. Could you please advise if the upcoming TDA4 comes with higher memory (on-chip) in the L3 RAM than the TDA2 (2.5MB)? Thanks in advance Shai + +Responses: +Hi Shai, There are couple of things to look at: What is the Radar cube you are looking at? We could have C66x code running from OCMC RAM along with rest of the radar cube, but a memory partition needs to be done on what is the code/data section requirements for C66x and then plan for a DDR less system. Are there other cores you are looking at for running code out of OCMC? PCIe would do the trick if the requirement is 2.5 Gbits per second. For the PCIe if you would like to have enumeration features, the linux PCIe drivers are more mature than bare metal PDK drivers. With Linux in the picture, it would be a challenge to fit everything in a DDR less system. The EVM comes with a pre-production part DRA77xP/DRA76xP/TDA2Px (Superset SoC) . For TDA4x specific questions please contact your TI representative. Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0784546.txt b/sample_embedding_folder2/0784546.txt new file mode 100644 index 0000000000000000000000000000000000000000..087b4fea2572160e4146955c48b70bfe44aff3e9 --- /dev/null +++ b/sample_embedding_folder2/0784546.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2E: Software design for connecting SOC to MMC1 to SD card + +Query Text: +Part Number: TDA2E Tool/software: Linux When the SD card is taken out, the SOC does not need to read and write the SD card, so we want to configure the MMC1 port to be a zero-level output. But the information we learned is that the software can't configure pinmux as gpio, can't set gpio function, we want to confirm whether the information is correct? . How can we set the MMC1 port output zero level when the card is pulled? Our current hardware design: SD card VCC power supply is controlled by a controllable 3.3v, SOC MMC1 I / O power supply is supplied by SOC VDDSHV8, and SOC MMC1 port is used as SDBOOT function. + +Responses: +Hi, Which pin cannot be configured as GPIO? If the pinmux has an option for GPIO, the padconf be configured to use as GPIO. Regards, Vishal + +Hi Vishal, It is not always configured as GPIO or SD/SDIO, but also needs to be switched as the TF card is inserted or removed. When the SD card is unplugged, we want to configure these pins first to exit the SD/SDIO signal mode, and then configure them to be low level output: W6, Y6, AA6, Y4, AA5, Y3 However, the SOC needs to detect the status signal that the SD card is reinserted, so this pin may still have the function of retaining the SD_CD signal : W7 We want to know if the software can implement the above functional description? + +Hi Feng Xiaoyu, The omap_hsmmc driver in Linux Kernel does pinctrl operations based on speed modes (for IODELAY reasons). You can do something similar based on when card is inserted or removed. Regards, Vishal + +Hi Feng Xiaoyu, Do you have any more questions on this? This support is not available currently in omap_hsmmc driver, you have to add the pinctrl operations needed for your design. Regards, Vishal + diff --git a/sample_embedding_folder2/0784912.txt b/sample_embedding_folder2/0784912.txt new file mode 100644 index 0000000000000000000000000000000000000000..b25a4b4580cba30dabed95cf2a3e11d759ce88f4 --- /dev/null +++ b/sample_embedding_folder2/0784912.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS / TDA2EG-17: AVM Solution on TDA serial + +Query Text: +Part Number: TDA2EG-17 Tool/software: TI-RTOS Hi TI expert I have some questions. Q1. Could i TDA2EG-17 receive 4ch 1280P or 1080P @ 30 Yuv422 (8bit) on VIP ? if can't , How about TDA2-EG or TDA2P ? Q2.Could i use D0~D7 output 1080P @30fps Yuv422 BT.601/BT.656 on the TDA2EG-17 LCD3 Port ? I implemented D0~D7 output 720P @ 30fps Yuv422 BT.601 on the TDA2EG-17 LCD 3 port. Q3.From above questions,should I use 913 and 914 to transfer data or 933 and 934 to transfer? + +Responses: +1. A single VIP port can capture 8-bit 1080p @ 30 FPS or 720p @ 30FPS. Kindly refer to the device/part manual to see if all the 4 VIP pins can be used. Also as long as the input to the VIP is less than 165 MHz, then it can capture 1920x1280p as well. 2. 1080p30 8-bit is not validated in DSS driver 3. Kindly refer to serializer manual to check if it supports the required pixel clock + diff --git a/sample_embedding_folder2/0785313.txt b/sample_embedding_folder2/0785313.txt new file mode 100644 index 0000000000000000000000000000000000000000..5e85b8f4821fbd3af1ae33ee1e42787fbea918e2 --- /dev/null +++ b/sample_embedding_folder2/0785313.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2EXEVM: File Structure and Explain the Hierarchy of Code Compilation and Execution + +Query Text: +Part Number: TDA2EXEVM Hi, I am having problem in finding the proper document to understand the whole structure of this board. How it works, rather than just using the userguides to specifically execute the specific. I would like to learn how the code process works, including the main function which executes the module and creating an independent development environment by importing the library along with their documentation. Just consider that most of the developers who are willing to use this board have no background knowledge about this or Embedded systems, I believe. Thank you. + +Responses: +Hi Owais, you can look at this training for introduction of TDAx boards and VisionSDK: training.ti.com/tda2-and-tda3-processors-training-series Regards, Yordan + diff --git a/sample_embedding_folder2/0785456.txt b/sample_embedding_folder2/0785456.txt new file mode 100644 index 0000000000000000000000000000000000000000..3e4ee56561da0f1c664b6309b0e28c90294451ec --- /dev/null +++ b/sample_embedding_folder2/0785456.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2EVM5777: The rstoutn function of TDAx + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Tool/software: Linux The following is a section of the TDA2 manual. Why does the manual recommend using an AND gate instead of an OR gate? We measure the waveform as shown below: The rstoutn signal we designed is used to reset to other devices connected to the SOC without any gates.When the SOC is powered up, RSTOUTn (green) is reset after PORz (yellow) and there is a glitch during PORz reset. So I think if we choose an OR gate, we can keep other SOC devices with a longer reset time. + +Responses: +Hi, user3378603, IF I understand you correctly - the signals RSTOUTn and PORn are active-low signals. That's why they must be ANDed, not ORed. Regards, Mariya + +As Mariya said, Reset signals are active-low. That's why we have an 'inverted logic', and we need an AND gate for an active reset output until both resets release. 1 AND 1 = 1 Regards, Stan + diff --git a/sample_embedding_folder2/0785906.txt b/sample_embedding_folder2/0785906.txt new file mode 100644 index 0000000000000000000000000000000000000000..f2bc0019dcca9c6c198aad64d7527844d398d6d2 --- /dev/null +++ b/sample_embedding_folder2/0785906.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2EVM5777: How to optimize the build time? Want to reduce the Gmake building time + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hi, I am following the guidelines given in the userguide for tda2, gmake takes too much time to build for building new package or editing code. Almost 3,4 hours at least. How can make it, since I want to edit code more often. Moreover, if there is any package specific building, like in ROS, just to put package name next to catkin_make in order build that specific package. I believe that would be more quicker than building whole thing. Is there specific guide that explains the whole makefile thing? Thank you. With best regards, H.M. Owais + +Responses: +Hi, You should refer to chapter 3 Fast Builds from PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_UserGuide_BuildSystem.pdf. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0786820.txt b/sample_embedding_folder2/0786820.txt new file mode 100644 index 0000000000000000000000000000000000000000..b6624dbea3bfe65d8f9c3e8ddab41a630a599697 --- /dev/null +++ b/sample_embedding_folder2/0786820.txt @@ -0,0 +1,66 @@ +Ticket Name: Compiler/TDA2-17: vision sdk compile error can't find a JVM + +Query Text: +Part Number: TDA2-17 Tool/software: TI C/C++ Compiler Dear TI, I have two Ubuntu machinces. 1. I compiled visionSDK successful in machine one. 2. And then i execute make clean before i commint all the released code to svn. 3. I checked out the code into the second machine and compile it as: make clean; make allclean; make linux_clean make linux make linux_install make -s -j depend make -s -j 4. Got the compile errors when i try to `make -s -j` /home/gan.liu/server/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/build/rtos/makerules/rules_66.mk:185: target `/home/gan.liu/server/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_all/obj/app_alg_plugins/tda2xx-evm/66/release/GAlignLUT_tda2xx.oe66' given more than once in the same rule. +/home/gan.liu/server/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/build/rtos/makerules/rules_66.mk:185: target `/home/gan.liu/server/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_all/obj/app_alg_plugins/tda2xx-evm/66/release/GAlignExt_tda2xx.oe66' given more than once in the same rule. +/home/gan.liu/server/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/build/rtos/makerules/rules_66.mk:185: target `/home/gan.liu/server/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_all/obj/app_alg_plugins/tda2xx-evm/66/release/GAlignLUT_tda2xx.oe66' given more than once in the same rule. +/home/gan.liu/server/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/build/rtos/makerules/rules_66.mk:185: target `/home/gan.liu/server/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/binaries/apps/tda2xx_evm_linux_all/obj/app_alg_plugins/tda2xx-evm/66/release/GAlignExt_tda2xx.oe66' given more than once in the same rule. +XDC_CFG_FILE: +# Invoking configuro... +# Invoking configuro... +XDC_CFG_FILE: +XDC_CFG_FILE: +# Invoking configuro... +# Invoking configuro... +# Invoking configuro... +/home/gan.liu/server/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/os_tools/linux/xdctools_3_32_01_22_core/xs.x86_64U: error: can't create session manager: can't find a JVM; try setting the environment variable 'XDCTOOLS_JAVA_HOME' to the absolute path of any directory containing a 64-bit Java Runtime Environment (1.7 or greater); e.g., '/usr/lib/jvm/java-7-openjdk-amd64'. +/home/gan.liu/server/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/os_tools/linux/xdctools_3_32_01_22_core/xs.x86_64U: error: make[6]: can't create session manager: can't find a JVM; try setting the environment variable 'XDCTOOLS_JAVA_HOME' to the absolute path of any directory containing a 64-bit Java Runtime Environment (1.7 or greater); e.g., '/usr/lib/jvm/java-7-openjdk-amd64'. +*** [xdc_configuro] Error 1 +XDC_CFG_FILE: +make[5]: *** [apps_eve3] Error 2 +make[5]: *** Waiting for unfinished jobs.... +make[6]: *** [xdc_configuro] Error 1 +make[5]: *** [apps_dsp2] Error 2 +# Invoking configuro... +/home/gan.liu/server/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/os_tools/linux/xdctools_3_32_01_22_core/xs.x86_64U: error: can't create session manager: can't find a JVM; try setting the environment variable 'XDCTOOLS_JAVA_HOME' to the absolute path of any directory containing a 64-bit Java Runtime Environment (1.7 or greater); e.g., '/usr/lib/jvm/java-7-openjdk-amd64'. +make[6]: *** [xdc_configuro] Error 1 +make[5]: *** [apps_eve2] Error 2 +/home/gan.liu/server/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/os_tools/linux/xdctools_3_32_01_22_core/xs.x86_64U: error: can't create session manager: can't find a JVM; try setting the environment variable 'XDCTOOLS_JAVA_HOME' to the absolute path of any directory containing a 64-bit Java Runtime Environment (1.7 or greater); e.g., '/usr/lib/jvm/java-7-openjdk-amd64'. +make[6]: *** [xdc_configuro] Error 1 +make[5]: *** [apps_eve4] Error 2 +/home/gan.liu/server/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/os_tools/linux/xdctools_3_32_01_22_core/xs.x86_64U: error: can't create session manager: can't find a JVM; try setting the environment variable 'XDCTOOLS_JAVA_HOME' to the absolute path of any directory containing a 64-bit Java Runtime Environment (1.7 or greater); e.g., '/usr/lib/jvm/java-7-openjdk-amd64'. +make[6]: *** [xdc_configuro] Error 1 +make[5]: *** [apps_dsp1] Error 2 +/home/gan.liu/server/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/os_tools/linux/xdctools_3_32_01_22_core/xs.x86_64U: error: can't create session manager: can't find a JVM; try setting the environment variable 'XDCTOOLS_JAVA_HOME' to the absolute path of any directory containing a 64-bit Java Runtime Environment (1.7 or greater); e.g., '/usr/lib/jvm/java-7-openjdk-amd64'. +make[6]: *** [xdc_configuro] Error 1 +make[5]: *** [apps_eve1] Error 2 +make[4]: *** [apps] Error 2 +make[3]: *** [apps] Error 2 +make[2]: *** [apps_exe] Error 2 +make[1]: *** [apps] Error 2 +make: *** [vision_sdk] Error 2 +gan.liu@ubuntu:~/server/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/build$ + make config : tda2xx_evm_linux_all So , what can i do to solve this problem? Regards, Liu Gan + +Responses: +Hi, Can you check below threads: e2e.ti.com/.../1904682 e2e.ti.com/.../907733 Regards, Rishabh + +Hi Rishabh, I have checked the threads you post, but they are not help for my problem. add to check out Machine 1 -------------------> svn --------------------------> Machine 2 compile success compile failed Regards, Liu Gan + +Hi Liu, Can you confirm if Java is installed on 'Machine-2' Ubuntu PC? You may find the below link useful. https://stackoverflow.com/questions/22539779/how-to-tell-if-jre-or-jdk-is-installed Once this is done, you can export the XDCTOOLS_JAVA_HOME variable to the jdk path, and it should build. Regards Shravan + +Hi Shravan, I'm sorry I missed an important message. I didn't get any error if i reinstall VisionSDK on 'Machine-2'. In addition, why should i export XDCTOOLS_JAVA_HOME variable manually? snippet from ti_components/os_toos/linux/xdctools_3_32_01_22_core/packages/xdc/bld/xdc_rules.mak: XDCTOOLS_JAVA_HOME ?= $(XDCROOT)/jre my jre directory : gan.liu@ubuntu:~/server/PROCESSOR_SDK_VISION_03_05_00_00/ti_components/os_tools/linux/xdctools_3_32_01_22_core/jre$ ls +bin lib man README THIRDPARTYLICENSEREADME-JAVAFX.txt Welcome.html +COPYRIGHT LICENSE plugin release THIRDPARTYLICENSEREADME.txt + So I think the variable ‘XDCTOOLS_JAVA_HOME ’ should be set automatically by Makefile,am i right? BTW, my workmates need use the code from svn for their own jobs. That's why i must solve the problem. Regards, Liu Gan + +Hi Liu, Whenever you build on another machine, its recommended you build perform a clean build. Does make clean, make depend etc. work and its failing only during 'make -s -j'? If this is the case, what are the changes you're committing to your SVN? It could be that you're modifying some of the make files which is updating the build path for some tools preventing the make from executing. Regards Shravan + +Hi Shravan, Yes, you are right. Only 'make -s -j' reported the error. I executed 'make clean' and 'rm -rf vision_sdk/binary/' before I committed the code to SVN. I compared the vision_sdk/build/tools_path.mk files from the check out code and newly installed, they are all the same... So, can you provide some other makefiles for me to review? Regards, Liu Gan + +Hi Liu, Can you please review the changes you're committing to SVN. Also it is recommended you have separate repository for Vision-SDK alone (not bundle everything into one component). Also can you follow the suggestion here in this post and see if it helps (Ensure you aren't running using sudo). e2e.ti.com/.../512844 Regards Shravan + +Hi Shravan, Thanks for your help. I solved this by accident. It is a stupid mistake. I found that all .so/.a files are missed in the checked out code. May be i executed command like 'find . -name --delete', before i committed the code to svn. It was about two monthed ago, I can't remember exactly...... Regards, Liu Gan + +Hi Shravan It's the svn "global-ignores" feature that cause this problem. When i try to commit all the files to svn, it ommits the following filse types by default. Regards, Liu Gan + diff --git a/sample_embedding_folder2/0787352.txt b/sample_embedding_folder2/0787352.txt new file mode 100644 index 0000000000000000000000000000000000000000..ab75a95f893781ec46c47dfe02e5b1ea00dd8a96 --- /dev/null +++ b/sample_embedding_folder2/0787352.txt @@ -0,0 +1,16 @@ +Ticket Name: Linux/TDA2SG: TDA internal pull-up/pull-down resistor + +Query Text: +Part Number: TDA2SG Tool/software: Linux Hi, We are analyzing the state of the processor's pins after reset. In which cases do I need to use an external pull-up or pull-down resistor on the GPIO input signal? What is the specific resistance value inside the GPIO pin of the processor? What are the typical and maximum current requirements for GPIO? Thanks. Best Regards, + +Responses: +Hi Feng, 1. You can find buffer types, pullup capability, and default mux mode of each pin in the Datasheet, Table 4.1 Ball Characteristics. 2. It is completely dependent on your use-case. Depends on the buffer type of the external device (push-pull, open-drain) and if this device always drives 0 or 1 (e.g. will it sleep sometimes and go tri-state, or, disconnects via a PCB connector). Depends if it drives relatively static signals: 0 to few kHz, or faster. In other words: - if you expect that external driver is always online and it is a push-pull, you can disable the internal pullup to save some power. - If external device goes tri-state or disconnect - enable an internal pullup - in most cases should be enough - If your external device is some interface (for ex,. I2C, SPI) you need pullups depending on the interface needs 3. Please check the datasheet for the internal resistance. Very roughly it is somewhere 40-70 kohms. 4. Sorry, I don't understand you question for current requirements Regards, Stan + +Hi Stan, Thank you very much for your reply, I am already clear. Two other questions: Q1: What is the difference between IOL and IIN? Does IIN refer to the injection current of PIN in tri-state? Q2: If the GPIO output is low, why is the driving capability of the 1.8V mode larger than 3.3V, is this normal? Regards, + +Q1: Note that IOL=2mA (Output current during drive Low) is only a condition to parameter VOL. Yes, IIN should be the max leakаge current with pullups/downs disabled. Q2: Driver strength is defined as nominal value of 40-Ohm in all conditions. This, however, this will result in different values for the current in 3.3V and 1.8V modes. ~8mA and 4.5mA respectively. Note that min and max driver strength wasn't defined and may vary. Best regards, Stan + +Hi Stan, We have found that two of the SOC chips in our products are overheated. The phenomenon is that the current value of one of the SOC chips fluctuates, sometimes large and sometimes small. The other SOC current value is always large. But the cores of both SOCs can run normally. One of the reasons may be that the external pull-up resistor on the given signal is not connected to the power rail that supplies the VDDSHVn domain to which the GPIO pad belongs,cause the pad to be damaged. Can we read the relevant fault point through the SOC register? How do we diagnose the point of failure? Best regards + +Hi, One possible programming method could be: 1. Switch a pin to GPIO function (it is very rare a pin to be GPIO func. by default) in the Control Module padconfig register 2. In the same Control Module register, make sure that input buffer is enabled 3. From the relevant GPIO module, switch the relevant GPIO I/O to output (OE) 4. Set the GPIO I/O to drive 1 (in the output register) , read the GPIO input to see if it is 1 5. Set the GPIO I/O to drive 0 (in the output register), read the GPIO input to see if it is 0 6. IF 4. or 5. fails, THEN this pin is damaged OR it is driven by an external device 7. GOTO 1. for the NEXT pin I think you understand the idea. Note that every pin needs evaluation - is it driven by external device on PCB, or not? If yes, then the pin could be just fine, but you will possibly see the external driven value. !Avoid using it on externally driven pins (especially for long time) because they can get damaged! No issues with external pullups/downs, however. Regards, Stan P.S. You can try also searching for a short (or partial short/low resistance) with a multimeter where possible and where you suspect a failure. + diff --git a/sample_embedding_folder2/0787931.txt b/sample_embedding_folder2/0787931.txt new file mode 100644 index 0000000000000000000000000000000000000000..05b88514525f95348e26d0e8dd967040186a3c85 --- /dev/null +++ b/sample_embedding_folder2/0787931.txt @@ -0,0 +1,50 @@ +Ticket Name: TDA2SX: TIDL limitations + +Query Text: +Part Number: TDA2SX Hi everyone, I have model trained in Caffe framework and want to convert it using TIDL converter. From TIDL documentation I read that dense convolution flow is supported for only 1x1 and 3x3 kernels with stride = 1 and dilation =1. Also I read about conv2DKernelType parameter for conversion process: conv2DKernelType can be either 0 or 1 for each layer. Default value is 0 for all the layers. Set it to 0 to use sparse convolution, otherwise, set it to 1 to use dense convolution. In prototxt file of my model, I noticed that stride is set to 2. So, if conv2DKernelType is by default 0, sparse convolution is used for all layers, there shouldn't be any limitations regarding above mentioned, right? I also tested version where I set conv2DKernelType values for layers to 1, to use dense convolution, which is clearly not supported and I got the same output like for sparse convolution. So my question is, can we influence type of convolution with conv2DKernelType parameter? Another thing I noticed is that when processing sample frame some negative values could be seen for sparsity attribute. Can someone explain what this attribute mean and why there are negative values? Layer 1 : Out Q : 28 , TIDL_ConvolutionLayer, PASSED #MMACs = 19.44, 12.87, Sparsity : 33.80 + Layer 2 : Out Q : 11 , TIDL_ConvolutionLayer, PASSED #MMACs = 6.48, 6.48, Sparsity : 0.00 + Layer 3 : Out Q : 3 , TIDL_ConvolutionLayer, PASSED #MMACs = 46.08, 27.54, Sparsity : 40.23 + Layer 4 : Out Q : 9 , TIDL_ConvolutionLayer, PASSED #MMACs = 3.24, 3.24, Sparsity : 0.00 + Layer 5 : Out Q : 4 , TIDL_ConvolutionLayer, PASSED #MMACs = 46.08, 49.81, Sparsity : -8.11 + Layer 6 : Out Q : 17 , TIDL_ConvolutionLayer, PASSED #MMACs = 6.48, 6.48, Sparsity : 0.00 + Layer 7 : Out Q : 27 , TIDL_ConvolutionLayer, PASSED #MMACs = 92.16, 100.10, Sparsity : -8.62 + Layer 8 : Out Q : 53 , TIDL_ConvolutionLayer, PASSED #MMACs = 1.66, 1.66, Sparsity : 0.00 + Layer 9 : Out Q : 51 , TIDL_ConvolutionLayer, PASSED #MMACs = 47.32, 53.86, Sparsity : -13.82 + Layer 10 : Out Q : 62 , TIDL_ConvolutionLayer, PASSED #MMACs = 3.33, 3.33, Sparsity : 0.00 + Layer 11 : Out Q : 87 , TIDL_ConvolutionLayer, PASSED #MMACs = 94.63, 106.89, Sparsity : -12.95 + Layer 12 : Out Q : 74 , TIDL_ConvolutionLayer, PASSED #MMACs = 0.83, 0.83, Sparsity : 0.00 + Layer 13 : Out Q : 126 , TIDL_ConvolutionLayer, PASSED #MMACs = 47.32, 47.28, Sparsity : 0.07 + Layer 14 : Out Q : 136 , TIDL_ConvolutionLayer, PASSED #MMACs = 1.66, 1.66, Sparsity : 0.00 + Layer 15 : Out Q : 195 , TIDL_ConvolutionLayer, PASSED #MMACs = 94.63, 94.55, Sparsity : 0.09 + Layer 16 : Out Q : 39 , TIDL_ConvolutionLayer, PASSED #MMACs = 1.66, 1.66, Sparsity : 0.00 + Layer 17 : Out Q : 278 , TIDL_ConvolutionLayer, PASSED #MMACs = 94.63, 94.47, Sparsity : 0.18 + Layer 18 : Out Q : 333 , TIDL_ConvolutionLayer, PASSED #MMACs = 1.66, 1.66, Sparsity : 0.00 + Layer 19 : Out Q : 399 , TIDL_ConvolutionLayer, PASSED #MMACs = 94.63, 94.26, Sparsity : 0.40 + Layer 20 : Out Q : 527 , TIDL_ConvolutionLayer, PASSED #MMACs = 1.66, 1.66, Sparsity : 0.00 + Layer 21 : Out Q : 473 , TIDL_ConvolutionLayer, PASSED #MMACs = 94.63, 94.39, Sparsity : 0.25 + Layer 22 : Out Q : 392 , TIDL_ConvolutionLayer, PASSED #MMACs = 1.66, 1.66, Sparsity : 0.00 + Layer 23 : Out Q : 604 , TIDL_ConvolutionLayer, PASSED #MMACs = 94.63, 93.11, Sparsity : 1.61 + Layer 24 : Out Q : 368 , TIDL_ConvolutionLayer, PASSED #MMACs = 0.46, 0.46, Sparsity : 0.00 + Layer 25 : Out Q : 1064 , TIDL_ConvolutionLayer, PASSED #MMACs = 52.43, 51.40, Sparsity : 1.96 + Layer 26 : Out Q : 980 , TIDL_ConvolutionLayer, PASSED #MMACs = 0.92, 0.92, Sparsity : 0.00 + Layer 27 : Out Q : 898 , TIDL_ConvolutionLayer, PASSED #MMACs = 104.86, 96.04, Sparsity : 8.41 + Layer 28 : Out Q : 2131 , TIDL_ConvolutionLayer, PASSED #MMACs = 26.21, 23.14, Sparsity : 11.72 + Layer 29 : Out Q : 2516 , TIDL_ConvolutionLayer, PASSED #MMACs = 29.49, 21.24, Sparsity : 27.97 + Layer 30 : Out Q : 6026 , TIDL_ConvolutionLayer, PASSED #MMACs = 1.64, 1.64, Sparsity : 0.05 + Layer 31 : Out Q : 3333 , TIDL_ConvolutionLayer, PASSED #MMACs = 2.65, 2.52, Sparsity : 5.17 + Layer 32 : Out Q : 6666 , TIDL_ConvolutionLayer, PASSED #MMACs = 0.29, 0.29, Sparsity : 1.09 + Layer 33 : Out Q : 5288 , TIDL_ConvolutionLayer, PASSED #MMACs = 1.18, 0.90, Sparsity : 23.39 + Layer 34 : Out Q : 6182 , TIDL_ConvolutionLayer, PASSED #MMACs = 0.07, 0.07, Sparsity : 0.27 + Layer 35 : Out Q : 5659 , TIDL_ConvolutionLayer, PASSED #MMACs = 0.07, 0.03, Sparsity : 58.08 + Layer 36 : Out Q : 274 , TIDL_ConvolutionLayer, PASSED #MMACs = 2.22, 2.79, Sparsity : -25.91 + Layer 37 :TIDL_FlattenLayer, PASSED #MMACs = 0.00, 0.00, Sparsity : 0.00 + Layer 38 : Out Q : 771 , TIDL_ConvolutionLayer, PASSED #MMACs = 1.11, 1.11, Sparsity : 0.00 + Thanks in advanse, Sasa + +Responses: +Yes , Stride by 2 is suported for sparse kernels. conv2DKernelType can be set for each layer seperaetly For other question refer below e2e.ti.com/.../2574510 + +Thank you for your reply. I refer to this link you sent and I noticed this regarding sparcity: For those layers may be dense convolutions are used, then these numbers are not relevant for those layers. If I put zeros for all layers in conv2dKernelType parameter, how can I get negative sparsity. Does it mean anything? Regards, Sasa + +Negative sparsity means we are processing more MACs than whats is actaully need (Over head on sparse processing) + diff --git a/sample_embedding_folder2/0788122.txt b/sample_embedding_folder2/0788122.txt new file mode 100644 index 0000000000000000000000000000000000000000..abf4c1c38a79d940037e3507079f85505ccb99e9 --- /dev/null +++ b/sample_embedding_folder2/0788122.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2SG: About the electromagnetic compatibility of TDA2 + +Query Text: +Part Number: TDA2SG Other Parts Discussed in Thread: TDA2 Tool/software: Linux Hello , I have two questions: Q1: In addition to the EMI content mentioned in the data sheet, I would like to know if TI can provide some summary or recommendation for solving EMI problems. For example, the software code of the spread spectrum DDR3 , etc. Q2: Where can I find out the EMC test report for TDA2? Especially the part of the RE test. + +Responses: +Hello Feng, Spread spectrum is supported on the VOUT interfaces only. The suggested usage is documented in this app note: http://www.ti.com/lit/an/spraby0a/spraby0a.pdf Thanks, Kyle + diff --git a/sample_embedding_folder2/0789154.txt b/sample_embedding_folder2/0789154.txt new file mode 100644 index 0000000000000000000000000000000000000000..a40253271e724bffa0d2e2385e5771a84f6f8037 --- /dev/null +++ b/sample_embedding_folder2/0789154.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2EVM5777: What other RTOS can be used in TDA2x cores? + +Query Text: +Part Number: TDA2EVM5777 Tool/software: TI-RTOS Hello everyone, I have a doubt about the types of RTOS that can be used in TDA2x cores, I refer to the ARMs, I know that the default OS is TI-RTOS that provide TI, but I don´t very sure if this OS is safety and recommended for automotive applications. Someone know if is possible to port some OS with certification in automotive?, because I see in TDAx ADAS SoCs - Support & training (http://www.ti.com/processors/automotive-processors/tdax-adas-socs/support.html ) a part who mention Elektrobit, is possible to have a OS safety EB in some of the cores of this DSP. I already know that this number part have multiple cores, and I'am asking for a port of some safety OS for one of them. I mean, in some of the Dual ARM M4 or ARM A15. Regards, + +Responses: +Hi, What is the end equipment you are looking at and what is the safety level for the same? You may want to explore the possibility of using QNX or GHS OS running on A15 for your safety story. Thanks and Regards, Piyali + +Mainly I want an OSEK compatible OS, like EB tresos AutoCore OS, I want to know if TI has a port of some operatng system like this. + +Hi Moises, Third party such as EB, Vector, KPIT do support TDA2xx/TDA3xx family of devices in their AUTOSAR offering. Regards, Sujith + +Thank you, this solve my question. Regards, + diff --git a/sample_embedding_folder2/0789828.txt b/sample_embedding_folder2/0789828.txt new file mode 100644 index 0000000000000000000000000000000000000000..ca418d18653b832de1e84b19b957fe063edc9e3e --- /dev/null +++ b/sample_embedding_folder2/0789828.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: TIDL conversion + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi everyone, I have one model which I want to convert to be able to use it on TDA2. Model is trained in Caffe framework. Model is trained for pedestrian detection and output is represented by 100 bounding boxes where every bounding box is described by 7 attributes: 1. BBox index 2. label ID 3. confidence 4. x1/width 5. y1/height 6. x2/width 7. y2.height I did conversion with tidl_model_import.out application, model is tested with eve_test_dl_algo.out.exe application and as a result stats_tool_out.bin file is generated. What I noticed is that not all information about bounding boxes are populated. Instead of 100 bbox information, I got a lot less. For other bounding boxes, all attributes are populated with zeros instead of BBox index which have value -1. Can this be sign of not good conversion process? Output file is in attachment. stats_tool_out.7z Thanks in advance, Sasa + +Responses: +TIDL outputs list of object which are having probability (Score) higher than the requested in the deploy.prototxt. -1 in the list indicates the end of the valid object list. + diff --git a/sample_embedding_folder2/0790555.txt b/sample_embedding_folder2/0790555.txt new file mode 100644 index 0000000000000000000000000000000000000000..a6d1e5ba8a8b457ea0a8ebf223de1fbd8205fc43 --- /dev/null +++ b/sample_embedding_folder2/0790555.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2xx: SD-Card booting: Jumping to MPU CPU0 Application (BIOS) + +Query Text: +Hello, I had created two Algplugin and integrated them in my Usecase . I tried to boot from an SD card. The TDA2xx only works until "Jumping to MPU CPU0 Application..." appears in the Terminal. + +Responses: +Hi Jagadish, can you check those threads with the same issue and see if they can give you any directions: e2e.ti.com/.../576746 e2e.ti.com/.../774364 Regards, Yordan + +Hi Yordan , I had already gone through the threads and tried them, But it was not helpful. Can you give me another solution ? + +Hi, Can you put a break point inside the init function of your alg_plugin and check what is going wrong? I hope the alg_id you have created , its value is less than the max alg_id for that core. Regards, Anuj + +Hi Anuj, Thanks for ur reply , its working. The alg_id i have created is greater than the max value, i rectified it and its working... + diff --git a/sample_embedding_folder2/0791506.txt b/sample_embedding_folder2/0791506.txt new file mode 100644 index 0000000000000000000000000000000000000000..3198017f0e9b726e27674df3e4cc8710c7f3d2d7 --- /dev/null +++ b/sample_embedding_folder2/0791506.txt @@ -0,0 +1,16 @@ +Ticket Name: Linux: How can i build CMEM. + +Query Text: +Tool/software: Linux Hi, I'm trying to build CMEM on TI TDA2x board. i succeed to boot the board but there are not /proc/cmem. (makeconfig: tda2xx_evm_linux_all) So, i tried to build CMEM following your OpenCL guide document. First, i used command line to install cmemk.ko using ./load_ocl_kos.sh file. However, it returns this error message. -------------------------------------------------------------------------------------------------------------------------------------------- Opened log file: lad.txt numProcessors = 5 id = 0 baseId = 0 [ 954.833540] CMEMK module: reference Linux version 4.4.84 Spawned daemon: /usr/bin/lad_dra7xx [ 954.841886] CMEMK Error: Failed to request_mem_region(0xa9000000, 0x4000000) insmod: ERROR: could not insert module /opt/vision_sdk/cmemk.ko: Bad address insmod: ERROR: could not load module /opt/vision_sdk/debugss_kmodule.ko: No such file or directory insmod: ERROR: could not load module /opt/vision_sdk/gdbserverproxy.ko: No such file or directory -------------------------------------------------------------------------------------------------------------------------------------------- Second, i typed command maually not using shell script file. The command is below. $ /sbin/insmod cmemk.ko pools=4x30000,2x500000 phys_start=0x0 phys_end=0x3000000 However, it also returns another error message. -------------------------------------------------------------------------------------------------------------------------------------------- [ 1122.801825] CMEMK module: reference Linux version 4.4.84 [ 1122.807984] CMEMK Error: pools specified: must specify both phys_start and phys_end, exiting... insmod: ERROR: could not insert module cmemk.ko: Invalid parameters -------------------------------------------------------------------------------------------------------------------------------------------- Third, i tried to modify the device tree following guide. However, there isn't am57xx-evm-cmem.dtsi file. So, i created that file and included into am57xx-evm.dts and build all again. However, the /proc/cmem was also not shown. Please let me know if there are any points that i missed. Thanks in advance. + +Responses: +Hi, Please include the below entry in your kernel DTB. &reserved_mem { cmem_shared_region: cmem-memories@ac000000 { compatible="shared-dma-pool"; reg = <0x00 0x9c000000 0x00 0x1000000>; // modify this address and size depending on your requirements. This examples allocates 16MB block from 0x9c000000 - 0x9d000000 no-map; status="okay"; }; }; / { cmem { compatible = "ti,cmem"; #address-cells = <1>; #size-cells = <0>; status = "okay"; cmem_block_0: cmem_block@0 { reg = <0>; memory-region = <&cmem_shared_region>; }; }; }; After rebuilding the DTB you need to run insmod cmem.ko and it should work. Regards Shravan + +Hi, Thanks for answering. As your reply, i checked my board uses dra7-evm-infoadas.dtb file and included that entry. Now, the command $ insmod cmemk.ko is executed normally and it showed this normal message. -------------------------------------------------------------------------------------------------------------------------------- [ 798.131706] CMEMK module: reference Linux version 4.4.84 [ 798.138752] allocated heap buffer 0xa9000000 of size 0x3000000 [ 798.144659] cmemk initialized -------------------------------------------------------------------------------------------------------------------------------- However, i couldn't see the cmem information when i put this command $ cat /proc/cmem. That command shows nothing and if i execute a program which it uses cmem, it returns this error message. -------------------------------------------------------------------------------------------------------------------------------- [ 933.270113] CMEMK Error: ALLOCCACHED: invalid pool (0) passed. CMEM Error: allocPool: ioctl CMEM_IOCALLOCCACHED failed from pool 0: -1 TIOCL FATAL: Failed to allocate 0x3000000 from CMEM block 0, allocated 0x0 -------------------------------------------------------------------------------------------------------------------------------- Please let me know what causes this problem. I'm using board dra7xx. Thank you again. Yoo + +Hi Yoo, Edited the previous post with the change needed (Typo, it should be reserved_mem and not reserved_memory). Regards Shravan + +Hi Sharavan, Yes, i corrected that and could see 'insmod cmemk.ko' operate normally. But, i faced another problem. $ cat /proc/cmem dosen't show any information about cmem. Does it indicates cmem is not actually allocated? The below is my dts file. -------------------------------------------------------------------------------------------------- #include "dra7-evm.dts" #define DISABLE_PRCM(label) &label { ti,no-idle; ti,no-reset-on-init; } #define DISABLE_COMPLETE(label) &label { status = "disabled"; ti,no-idle; ti,no-reset-on-init; } #define LATE_ATTACH(label) &label { ti,late-attach; ti,no-idle; ti,no-reset-on-init; } /* modules used by BIOS, disable from Linux */ DISABLE_COMPLETE(vip1); DISABLE_COMPLETE(vip2); DISABLE_COMPLETE(vip3); DISABLE_COMPLETE(i2c2); DISABLE_COMPLETE(wdt2); DISABLE_COMPLETE(vpe); DISABLE_COMPLETE(ocmcram1); DISABLE_COMPLETE(hdmi); DISABLE_COMPLETE(hdmi0); DISABLE_COMPLETE(dss); DISABLE_COMPLETE(dispc); /* modules shared between BIOS and Linux, Do not reset or cutoff clks */ DISABLE_PRCM(gpio1); DISABLE_PRCM(gpio2); DISABLE_PRCM(gpio4); DISABLE_PRCM(gpio6); /* Linux uses first 32 channels, BIOS uses last 32 */ &edma { dma-requests = <32>; }; /* Update the CMA regions for Vision SDK binaries */ &ipu2_cma_pool { reg = <0x0 0x99000000 0x0 0x5000000>; }; &dsp1_cma_pool { reg = <0x0 0xa1000000 0x0 0x2000000>; }; &ipu1_cma_pool { reg = <0x0 0x9e000000 0x0 0x2000000>; }; &dsp2_cma_pool { reg = <0x0 0xa3000000 0x0 0x2000000>; }; /* Additional memory regions required for Vision SDK * Keep this in sync with VSDK apps/build/tda2xx/mem_segment_definition_linux.xs */ &reserved_mem { cmem_ocmc: cmem@40300000 { compatible = "shared-dma-pool"; reg = <0x0 0x40300000 0x0 0x300000>; sram = <&ocmcram1>; no-map; status = "okay"; }; cmem_pool: cmem@A9000000 { compatible = "shared-dma-pool"; reg = <0x0 0xA9000000 0x0 0x2000000>; no-map; status = "okay"; }; vsdk_sr1_mem: vsdk_sr1_mem@84000000 { compatible = "shared-dma-pool"; reg = <0x0 0x84000000 0x0 0x13000000>; status = "okay"; }; vsdk_sr0_mem: vsdk_sr0_mem@A0000000 { compatible = "shared-dma-pool"; reg = <0x0 0xA0000000 0x0 0x1000000>; status = "okay"; }; vsdk_eve_mem: vsdk_eve_mem@A5000000 { compatible = "shared-dma-pool"; reg = <0x0 0xA5000000 0x0 0x4000000>; status = "okay"; }; cmem_shared_region: cmem-memories@ac000000 { compatible="shared-dma-pool"; reg = <0x00 0xA9000000 0x00 0x3000000>; // modify this address and size depending on your requirements. This examples allocates 16MB block from 0x9c000000 - 0x9d000000 no-map; status="okay"; }; }; / { cmem { compatible = "ti,cmem"; #address-cells = <1>; #size-cells = <0>; status = "okay"; cmem_block_0: cmem_block@0 { reg = <0>; memory-region = <&cmem_shared_region>; }; }; }; &ipu1 { /delete-property/ watchdog-timers; }; &ipu2 { /delete-property/ watchdog-timers; timers= <&timer9> , <&timer11>; }; &dsp1 { /delete-property/ watchdog-timers; }; &dsp2 { /delete-property/ watchdog-timers; }; -------------------------------------------------------------------------------------------------- Thank you. Yoo + +Hi Yoo, To check if cmem is correctly loaded you would need to run lsmod and check if cmem is listed as a module. If it is, you can assume the cmem module has successfully been inserted with pools/heaps reserved. Regards Shravan + diff --git a/sample_embedding_folder2/0792106.txt b/sample_embedding_folder2/0792106.txt new file mode 100644 index 0000000000000000000000000000000000000000..71dcd0e853d10a2705cf5302f48b0c76e83972c3 --- /dev/null +++ b/sample_embedding_folder2/0792106.txt @@ -0,0 +1,16 @@ +Ticket Name: Linux/TDA2-17: AVB surround view, Ethernet switch band width issue. + +Query Text: +Part Number: TDA2-17 Other Parts Discussed in Thread: TDA2 Tool/software: Linux Hi Sir, I am running AVB surround view case. There are 4 AVB cameras through a 100/1000 base Ethernet switch to connect to TDA2 EVM. My AVB camera uses 100 Mbps phy to transmit the data. Because of this Ethernet switch limit, when connecting camera with 100 Mbps data rate, All switch port becomes 100Mbps band width. It means if amount data rate of 4 cameras is over than 100 Mbps, Ethernet switch can't handle it. May you suggest which "Ethernet switch" can handle 100 Mbps camera input and output 1000Mbps at the same time? May provide the product brand and part number. Thank you. Ranny. + +Responses: +Hi Ranny, On the TDA side, we support upto 1Gbps datarate. There shouldn't be any issues on that. Regarding the Ethernet switch problem you've mentioned, it seems rather strange, as I have never came across this rate limiting on the ports. I'm afraid we can't provide product brand or related information. I would suggest to use the TI Ethernet Surround View Board for your usecase, which wouldn't require you to use off the shelf ethernet switches. Regards, Anand + +Ok, I got. Thank you very much. Ranny. + +Hi Sir, May you provide website or web link of " TI Ethernet Surround View Board" to me? Thanks. Ranny. + +Hi Ranny, Will you be interested in the purchase of the board or do you just want to review the specifications of the board? Regards, Anand + +Hi Anand, I just want to review the specifications of the board, we will put the Ethernet switch circuit and TDA2 platform together on our own design PCB. Thanks. Ranny. + diff --git a/sample_embedding_folder2/0792498.txt b/sample_embedding_folder2/0792498.txt new file mode 100644 index 0000000000000000000000000000000000000000..f1d6e9ca291d6f5315f48c1e394a4a7973f4db07 --- /dev/null +++ b/sample_embedding_folder2/0792498.txt @@ -0,0 +1,28 @@ +Ticket Name: RTOS/TDA2SX: TDA2 A15 generic timer + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS Hi, I try to use generic timer as MPU system tick source, but I found that only IPU 1_0 boots normally. What should I do to use generic timer? Thanks&Regards. + +Responses: +Hi, can you check chapter "7.1.2 BIOS Tick and Time Stamp Provider Concerns" in vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_DevelopmentGuide.pdf and see if it can give you some directions? Regards, Yordan + +Hi Yang, Can you explain what you mean by "only IPU 1_0 boots normally". Also MPU timer is used by TDA2 SBL. You can refer to the same. Regards, Rishabh + +Hi, On the UART console, I can only find logs output by IPU 1_0. + +Hi Yang, Can you share the UART log? Regards, Rishabh + +Hi, I have found the reason. When A15 idle and execute PMLIBCpuIdle function, A15 sleeps and its clock is gated. This results in generic timer stopping work, so A15 can not be waked up by system tick. + +I have another question. In function PmlibDoWFI, ACTLR.SMP is set to 0. But I can't find this bit is enabled again after wake-up. When SMP bit is set again? + +Hi Yang, Yes.. the timer inside the A15 would stop if clock gated. You should used the SoC level GP Timers for the OS Tick instead to allow the A15 to wake up from low power. Thanks and Regards, Piyali + +Yang, The SMP bit should be set again in the ISR context which after it wakes up. Are you using the dual A15 subsystem in SMP mode? If no, then you would not need to set this back to 1. However, if you are setting the A15 to work in SMP mode you would need to set the ACTLR.SMP in the ISR routine which is run after the A15 wakes up from low power. Thanks and Regards, Piyali + +Hi, Piyali Yes, I am using MPU in SMP mode. OK. So user should be responsible for setting SMP bit again. I think this is not convenient, because every ISR should do this in theory. Is it necessary that disable SMP before sleep? Is the reason for clearing SMP bit that A15 power is placed in retention state after sleep? + +Hi Yang, The clearing of ACTLR.SMP bit is required before going to retention or placing the Cortex A15 in power off mode (power down modes). You need not to place the setting of SMP in all user ISR routines. This is only required in the function which is called when IRQ or FIQ is triggered. (2 interrupts). The other user-defined ISRs are called only after this from these two functions. You can skip this if you are only getting the A15s to clock gated (power on) state. Thanks and Regards, Piyali + +Hi Piyali, OK. Thank you! By the way, I think TI should update SDK or at least make a statement about this. + diff --git a/sample_embedding_folder2/0792934.txt b/sample_embedding_folder2/0792934.txt new file mode 100644 index 0000000000000000000000000000000000000000..4bb87b1bb49dbe6f4e5d81b776d717accfefe3eb --- /dev/null +++ b/sample_embedding_folder2/0792934.txt @@ -0,0 +1,22 @@ +Ticket Name: Linux/TDA2SX: Need support for TDA2XX EVM boot from NAND + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Tool/software: Linux Hi All, We are using VISION_SDK_03_04 source(TDA2xx). Nand support is not enabled in default u-boot source. We enabled Nand support in below paths. We added #define CONFIG_NAND 1 in include/configs/dra7xx_evm.h and modify #define CONFIG_CMD_NAND to #define CONFIG_CMD_NAND 1 in include/configs/ti_armv7_omap.h . After compiled and flash new images to EVM. We got mtdparts in u-boot. But in u-boot it shows below logs.log_NAND.txt NAND: 0 MiB And kernel log it shows "[ 1.788753] nand: No NAND device found" and "[ 2.010108] evm_3v3_sw: supplied by sysen1"No NAND device found". Please help us to solve this issue. For your reference,please find the attachment. Thanks & Regards, Sankar. + +Responses: +Hi Sankar, this topic is discussed here: e2e.ti.com/.../788250 I will close this thread. Regards, Yordan + +Hi Yordan, Thanks for quick reply. In u-boot we given mtdparts command,we got below logs. mtdparts variable not set,see 'help mtdparts' Device nand0 not found. In which files we need to modify for enable nand0. Thanks & Regards, Sankar. + +Hi Sankar, As mentioned in other thread TDA2 EVM does not have NAND flash. Regards, Rishabh + +Sorry, corrected a typo in my previous reply. Regards, Rishabh + +Hi Rishabh, You mean to say S/W support? Regards, Sankar. + +Hi Sankar, I mean the HW support. You can check the board schematics for the same. Regards, Rishabh + +0160.sprr212.pdf3107.CPU_Schematic.pdfHi Rishabh, Please find the attached schematic and layout. In schematic U6 NAND IC present in out EVM. Could you please confirm,whether we are referring correct schemtic and Source code? Regards, Sankar. + +Hi Sankar, You have a duplicate thread here: e2e.ti.com/support/processors/f/791/p/788250/2932772#2932772 Please post your queries there, I am closing this thread. Regards, Rishabh + diff --git a/sample_embedding_folder2/0792980.txt b/sample_embedding_folder2/0792980.txt new file mode 100644 index 0000000000000000000000000000000000000000..51aa0b7cf63440dc7c74ae82d7d368f45dc6bbdd --- /dev/null +++ b/sample_embedding_folder2/0792980.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2EVM5777: Master core + +Query Text: +Part Number: TDA2EVM5777 Hello, The Vision SDK documentation talks about master cores. If BIOS is used on the A15 core, the IPU1_0 core is treated as the master core. If Linux is used on the A15 core, then the A15 core itself is treated as the master core. What exactly does the concept of "master core" mean? Thank you. + +Responses: +Hi, The usecase and filesystem and some other key things will be controlled by the master core. Regards, Anuj + +Hello, Where can I find more information about this concept? Thank you. + +Hi, there is no specific doc for the master core. But you can check below docs vision_sdk\docs\Architecture Regards, Anuj + diff --git a/sample_embedding_folder2/0793055.txt b/sample_embedding_folder2/0793055.txt new file mode 100644 index 0000000000000000000000000000000000000000..4a82ee6f90d132d182c77792d7adccf20f48294f --- /dev/null +++ b/sample_embedding_folder2/0793055.txt @@ -0,0 +1,20 @@ +Ticket Name: RTOS/TDA2EVM5777: How to detect SD card insert/remove event in VisionSDK + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS Dear Expert, I'm helping to provide a method to detect SD card(MMC1) insert/remove in VisionSDK bios_all. I'm using original VisionSDK 03.06 with TDA2XEVM5777. Here is my test: Build the original VisionSDK 3.6 bios_all, and boot to menu, dump the MMC register, then unplug sdcard, dump the MMC register. Nothing changed between before and after. Since the register is no change, I tried to call HSMMCSDIsCardInserted API, and get incorrect result. Could you please help provide some guideline to detect a SD card event on bios_all. Thanks & Best Regards! ZM + +Responses: +Hi Ming, I am not sure if we have tested the functionality for card insert/remove in RTOS. Let me check with MMC Linux experts and get back to you. Regards, Rishabh + +Hi Ming, I checked and confirmed that there is no internal card detect. Linux drivers have muxed the card detect pin as a GPIO and software uses that to detect whether a card is inserted or not. You can implement something similar in the RTOS software. Hope this helps. Regards, Rishabh + +Hi Rishabh: At PDK package just can raw read MMC2 interface eMMC card. Try to modified those project support MMC1 interface but failed at my side. We did not find MMC1 card insert detect and fat system mount example at BIOS system. Customer want to use TDA2x pin W7 (MMC1_SDCD) probe the card exist or not. Best Regards! Han Tao PDK example folder \PROCESSOR_SDK_VISION_03_05_00_00\ti_components\drivers\pdk_01_10_01_06\packages\ti\csl\example\mmcsd + +Hi Tao, MMC1 is used at multiple places in PDK for TDA2x. You can use any of these for referring to MMC1 code. 1. TDA2 SBL uses MMC1 for SD boot. 2. stw_lld has one example for MMC1 present here: PROCESSOR_SDK_VISION_03_06_00_00\ti_components\drivers\pdk_01_10_02_07\packages\ti\drv\stw_lld\examples\mmcsd\sd_file_io\main.c Fatlib code is present here: PROCESSOR_SDK_VISION_03_06_00_00\ti_components\drivers\pdk_01_10_02_07\packages\ti\drv\stw_lld\fatlib Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +Hi Rishabh: You can close this item now. If customer have updated information, I will create new request for it. Best Regards! Han Tao + +Hi Tao, Thanks for the confirmation. Regards, Rishabh + diff --git a/sample_embedding_folder2/0793373.txt b/sample_embedding_folder2/0793373.txt new file mode 100644 index 0000000000000000000000000000000000000000..d95ba2d2b1aafce18e17c22b185b37881c4e37de --- /dev/null +++ b/sample_embedding_folder2/0793373.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux: gst-launch-1.0 filesrc location=testvideo.mpg ! tsdemux ! video/x-h264 ! h264parse ! avdec_h264 ! autovideosink sync=false + +Query Text: +Other Parts Discussed in Thread: TDA2 Tool/software: Linux Hello, I want to play *.mpg video file on TDA2, I'm using gstreamer now, I don't know how to write pipeline, Can you ask next, thank! Below is the pipeline I tried to play, but it doesn't work properly. ********************************************************************************************************************************** root@dra7xx-evm:/opt/vision_sdk# gst-launch-1.0 filesrc location=testvideo.mpg ! tsdemux ! video/x-h264 ! h264parse ! avdec_h264 ! autovideosink sync=false Setting pipeline to PAUSED ... Pipeline is PREROLLING ... ERROR: from element /GstPipeline:pipeline0/GstTSDemux:tsdemux0: Internal data stream error. Additional debug info: ../../../git/gst/mpegtsdemux/mpegtsbase.c(1347): mpegts_base_loop (): /GstPipeline:pipeline0/GstTSDemux:tsdemux0: stream stopped, reason error ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... Freeing pipeline ... root@dra7xx-evm:/opt/vision_sdk# root@dra7xx-evm:/opt/vision_sdk# + +Responses: +Hi What is the vision-sdk version used? VISION_SDK v3.06 has support for video playback and display on waylandsink . What you are trying is an explicit pipeline and you need to know the format of the stream(h264, mpeg4 mpeg2, vc1 etc). Using playbin to playback will choose the correct parser and decoder. You can try gst-launch-1.0 playbin uri=file:///home/root/testvideo.mp4 video-sink=waylandsink or gst-play-1.0 --videosink waylandsink testvideo.mp4 will work. This will choose hardware based decoder instead of software decoders(avdec). Thanks Ramprasad + diff --git a/sample_embedding_folder2/0794522.txt b/sample_embedding_folder2/0794522.txt new file mode 100644 index 0000000000000000000000000000000000000000..7ff45b610d8fc2818430caade48b3c4db01eb93a --- /dev/null +++ b/sample_embedding_folder2/0794522.txt @@ -0,0 +1,10 @@ +Ticket Name: RTOS: How can i import TensorFlow MobileNet V1 model to TIDL model? + +Query Text: +Tool/software: TI-RTOS Hi, I'm trying to convert TensorFlow-slim based MobileNet model(ver1) following TIDLDeepLearningLibrary.pdf section 3.6.5. I downloaded mobilenet_v1_1.0_224.ckpt.data-00000-of-00001, mobilenet_v1_1.0_224.ckpt.index, mobilenet_v1_1.0_224.ckpt.meta, mobilenet_v1_1.0_224.pb. And i ran the command to optimize mobilenet_v1_1.0_224.pb. However, these warning messages were shown. -------------------------------------------------------------------- WARNING:tensorflow:From /usr/local/lib/python3.4/dist-packages/tensorflow/python/tools/strip_unused_lib.py:86: extract_sub_graph (from tensorflow.python.framework.graph_util_impl) is deprecated and will be removed in a future version. Instructions for updating: Use tf.compat.v1.graph_util.extract_sub_graph WARNING:tensorflow:From /usr/local/lib/python3.4/dist-packages/tensorflow/python/tools/optimize_for_inference_lib.py:113: remove_training_nodes (from tensorflow.python.framework.graph_util_impl) is deprecated and will be removed in a future version. Instructions for updating: Use tf.compat.v1.graph_util.remove_training_nodes WARNING:tensorflow:Didn't find expected Conv2D input to 'MobilenetV1/MobilenetV1/Conv2d_1_depthwise/BatchNorm/FusedBatchNorm' WARNING:tensorflow:Didn't find expected Conv2D input to 'MobilenetV1/MobilenetV1/Conv2d_2_depthwise/BatchNorm/FusedBatchNorm' WARNING:tensorflow:Didn't find expected Conv2D input to 'MobilenetV1/MobilenetV1/Conv2d_3_depthwise/BatchNorm/FusedBatchNorm' WARNING:tensorflow:Didn't find expected Conv2D input to 'MobilenetV1/MobilenetV1/Conv2d_4_depthwise/BatchNorm/FusedBatchNorm' WARNING:tensorflow:Didn't find expected Conv2D input to 'MobilenetV1/MobilenetV1/Conv2d_5_depthwise/BatchNorm/FusedBatchNorm' WARNING:tensorflow:Didn't find expected Conv2D input to 'MobilenetV1/MobilenetV1/Conv2d_6_depthwise/BatchNorm/FusedBatchNorm' WARNING:tensorflow:Didn't find expected Conv2D input to 'MobilenetV1/MobilenetV1/Conv2d_7_depthwise/BatchNorm/FusedBatchNorm' WARNING:tensorflow:Didn't find expected Conv2D input to 'MobilenetV1/MobilenetV1/Conv2d_8_depthwise/BatchNorm/FusedBatchNorm' WARNING:tensorflow:Didn't find expected Conv2D input to 'MobilenetV1/MobilenetV1/Conv2d_9_depthwise/BatchNorm/FusedBatchNorm' WARNING:tensorflow:Didn't find expected Conv2D input to 'MobilenetV1/MobilenetV1/Conv2d_10_depthwise/BatchNorm/FusedBatchNorm' WARNING:tensorflow:Didn't find expected Conv2D input to 'MobilenetV1/MobilenetV1/Conv2d_11_depthwise/BatchNorm/FusedBatchNorm' WARNING:tensorflow:Didn't find expected Conv2D input to 'MobilenetV1/MobilenetV1/Conv2d_12_depthwise/BatchNorm/FusedBatchNorm' WARNING:tensorflow:Didn't find expected Conv2D input to 'MobilenetV1/MobilenetV1/Conv2d_13_depthwise/BatchNorm/FusedBatchNorm' -------------------------------------------------------------------- Anyway, i ignored that messages and used result pb file to convert to TIDL model. After i executed tidl_model_import.out.exe D:\TI_TDA2x\ti_dl\test\testvecs\config\import\tidl_import_mobileNet1.txt, this error message was shown. -------------------------------------------------------------------- TF Model File : ..\..\test\testvecs\config\tensorflow_models\mobilenet\mobilenet_1_224.pb Could not find the requested input Data : MobilenetV1/MobilenetV1/Conv2d_0/Relu6 !! -------------------------------------------------------------------- Doesn't TIDL importing tool support Relu6 layer? If then, could you let me know how could you validated TF MobileNet V1 model? Thanks in advance. Yoo. + +Responses: +Please use TF version 1.1 for the freezing graph. We are yet to upgrade to the latest version of TF. + +Thank you. It works normally after i reinstalled tensorflow 1.1.0 version. Regards Yoo. + diff --git a/sample_embedding_folder2/0794885.txt b/sample_embedding_folder2/0794885.txt new file mode 100644 index 0000000000000000000000000000000000000000..b482bf924b178dc0645052a5523b990db0e5d184 --- /dev/null +++ b/sample_embedding_folder2/0794885.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2SX: TIDL SSD model setup + +Query Text: +Part Number: TDA2SX Hi everyone, I have SSD object detection model which I want to run on SoC. During conversion eve_test_dl_algo.exe is run and I get correct results in stats_out_tool.bin file. I am running full net with eve_test_dl_algo.exe application. However, by instructions, I should run it partially on EVE and partially on DSP core. Since I don't have DSP test app, a made usecase similar to TIDL OD one where I am running 1 EVE core and 1 DSP core with TIDL algorithm link with this model. But, I am getting empty list of bounding boxes as a result. Also, I tried this model with TIDL usecase and results are the same as for the previous usecase. Does anyone know why I am getting correct results only during the conversion but only when it is not run by isntructions and on SoC not at all? Regards, Sasa + +Responses: +Did you get the model working with the original TIDL OD use case without any modification to the usecase? Most cases the difference result are observed if the input used for import and use cases are not the same. Check the input tensor passed to use case and make sure, it matches with the first tensor of import (trace_0*.y) + +Input to import and usecases are same and identical to trace_dump_0*.y . I didn't check the model with original TIDL OD usecase yet because originali it takes video input instead of singe image so modifications are necessarry. Can I somehow get output from all layers on SoC like during the import process having trace_dump_* file for all layers? + +No, generation trace on the SoC is not supported by the library. + diff --git a/sample_embedding_folder2/0795053.txt b/sample_embedding_folder2/0795053.txt new file mode 100644 index 0000000000000000000000000000000000000000..299d6b6076ad169b2f864bcc6b89f5a4b0b6624e --- /dev/null +++ b/sample_embedding_folder2/0795053.txt @@ -0,0 +1,22 @@ +Ticket Name: CCS/TDA2SG: About DDR stress test + +Query Text: +Part Number: TDA2SG Tool/software: Code Composer Studio Hi, Can you tell me what is the difference between using the CCS tool and the memtester tool for DDR stress testing? Which test method does TI recommend? why? best regards. + +Responses: +Hi Feng, What is the CCS tool that you are referring here? Regards, Rishabh + +Hi Rishabh, We use this tool: Code Composer Studio v8 . Refer to this document :Avatar_EMIF_Tools_UserGuide.pdf + +Hi Feng, CCS is an IDE used for loading/testing the binaries. You can also create/build projects using CCS. Similarly Memtester is the program that can be run using CCS. Hope this helps. Regards, Rishabh + +Hi Rishabh, Comparing the DDR stress test results of the two tools, I want to know which test method is more comprehensive, or equivalent? Regards, + +Hi Feng, As I explained previously memtester is the utility to test the DDR stability. Hence you should use the same. In order to run mem tester you need CCS tool. Hence you need both the tools. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +Hi Rishabh, Is my statement clear enough? You mean that the test results using Avatar EMIF Tools(CCS Memory Test Tool) and Memtester (Linux Memory Test Tool) are the same. But it seems that Memteser has higher requirements on the space of the measured memory. Regards, + +Hi Feng, Yes, both might have separate requirements due to difference in OS but the results are the same. Regards, Rishabh + diff --git a/sample_embedding_folder2/0795773.txt b/sample_embedding_folder2/0795773.txt new file mode 100644 index 0000000000000000000000000000000000000000..c3a97e450965143cb395411470c072c21d57547e --- /dev/null +++ b/sample_embedding_folder2/0795773.txt @@ -0,0 +1,24 @@ +Ticket Name: tda2x + +Query Text: +hi: i have sensor ar0132 that data type is raw. we need put raw-data output to algorithm mode. i have question: 1.Whether raw-data pass through the vip module not direct output to algorithm mode? 2.if it pass through the vip,then it can pass through which vip sub-modules? eg.repacker,parser,csc1 and son. + +Responses: +Hi, I could not understand your question completely, RAW data can be captured via VIP. In this case, internal modules like CSC, Scalar will be bypassed.. and the captured data will directly go the memory, then you could pass it to algorithm for further processing. Rgds, Brijesh + +ok,u means captured data not directly go the vpdma but go memory,didn't u? + +vpdma capture data to memory. vip outputs to vpdma and vpdma writes to memory.. + +hi brijesh : i read page 2267 of TRM .VPDMA Data Formats just support rgb and yuv types. i don't see raw data + +raw is implemented in driver using YUV422 data type. VIP ip does not support raw as a format. Rgds, Brijesh + +ok.but i don't have isp? 1.is the output to vpdma also yuv422? 2.how implement raw data in driver using YUV422?where should i find these code or file? 3.if Algorithm interface only supported raw-data,then what should i do? + +It is yuv422 input and yuv422 output, so essentially no other processing, the input data straight goes to memory. Just the data format to FVID2_DF_RAW, it is supported.. It is not problem, just set the data format to RAW in the driver, driver will capture the raw data and that you could use it in the algorithm. Rgds, Brijesh + +hi: i read sample code about how to set dataformat in vision_sdk_0306/ti_components/drivers/pdk_01_10_02_07/packages/ti/drv/vps/examples/vip/captureVip/src/CaptureVip_main.h 653~677 line: ar013 have 12-bit raw data type.why didn't select FVID2_DF_RAW12 but FVID2_DF_RAW16? + +There is no RAW12 because VIP does not support it. it can support 8bit or 16bit or 24bit input.. You could capture RAW12 by tying upper 4 bits to low, even in this case, output will be stored 12ibt in 16bit container.. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0795786.txt b/sample_embedding_folder2/0795786.txt new file mode 100644 index 0000000000000000000000000000000000000000..b10598478b9a454950409cb333b9e38a9d428a8a --- /dev/null +++ b/sample_embedding_folder2/0795786.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2SX: TIDL OD usecase + +Query Text: +Part Number: TDA2SX Hi, I converted SSD based object detection model and output is as expected on PC. However, when I am running this model in TIDL OD usecase, I don't get detected objects at all. I checked the output of the TIDL algorithm link on DSP and I can see that there is no valid bounding boxes detected. I scaled input to fit to expected dimensions of model (300x300), so the input shouldn't be a problem. Is there anything you can suggest me to try to figure out what makes this problem? Regards, Sasa + +Responses: +Hi Sasa, can you go thru this thread and see if you can find something useful: e2e.ti.com/.../689617 Regards, Yordan + +Hi, this thread is useful for some understanding of usecase, but as I already discovered that I don't have proper results on the output of tidl link, I hope that someone could tell me what could be making that problem. Results are ok during import, but I can't get the same results with usecase. Do you have any idea what could cause that? Regards, Sasa + +Is the input to import and use case same?n If not first try with the same input and make sure that basic integration is right. + +Input is same file. What mostly make me wondering is that I am getting good results in stats_tool_out.bin when running full net with eve_test_dl_algo.exe, even this is SSD based model. So, should it work like that in first place? + +If the model is working in the import step, Mostly it shall work in target flow also. + diff --git a/sample_embedding_folder2/0796590.txt b/sample_embedding_folder2/0796590.txt new file mode 100644 index 0000000000000000000000000000000000000000..84f9675367d09bbe497ae3c25f08780a19db0c03 --- /dev/null +++ b/sample_embedding_folder2/0796590.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2EVM5777: SYSBOOT and SW5 settings for EVM Rev. H + +Query Text: +Part Number: TDA2EVM5777 Hello, We recently purchased multiple VAYU XC5777X EVMs. The EVM revision is 'H'. As per SPRUI51 (TDA2x EVM CPU Board User's Guide), "ES2.0 is on CPU Board Rev H+". We are working with Vision SDK 3.06 and I am referring to VSDK User Guide for TDA2xx, section 3.5 (Boot Modes). This section does not contain the relevant settings for the TDA2xx ES2.0 device. Please advise. Thank you. + +Responses: +Hi, SYSBOOT and SW5 settings are same between TDA2xx ES1.1 and TDA2xx ES2.0. You can also refer to "Initialization" chapter from TRM. Regards, Rishabh + diff --git a/sample_embedding_folder2/0796928.txt b/sample_embedding_folder2/0796928.txt new file mode 100644 index 0000000000000000000000000000000000000000..7b4ef2540e52054711529442d31bbf258cb003a6 --- /dev/null +++ b/sample_embedding_folder2/0796928.txt @@ -0,0 +1,95 @@ +Ticket Name: Linux/TDA2PXEVM: Nullsrc read mp4 file and decode then Display. Video seems disordered + +Query Text: +Part Number: TDA2PXEVM Tool/software: Linux Hi all, I use vision_sdk to build a usecase. And my chains picture is below: Then I saw Rtsp link shows video alright. But Display link show video seems like it disordered on timeline. My decode create parameter is below: UInt32 chId; + DecLink_ChCreateParams *decPrm; + + for (chId = 0; chIdchCreateParams[chId]; + + decPrm->dpbBufSizeInFrames = DEC_LINK_DPB_SIZE_IN_FRAMES_DEFAULT; + decPrm->algCreateStatus = DEC_LINK_ALG_CREATE_STATUS_CREATE; + decPrm->decodeFrameType = DEC_LINK_DECODE_ALL; + + decPrm->processCallLevel = DEC_LINK_FRAMELEVELPROCESSCALL; + decPrm->targetMaxWidth = MAX_FRAME_WIDTH; + decPrm->targetMaxHeight = MAX_FRAME_HEIGHT; + decPrm->numBufPerCh = 6; + decPrm->defaultDynamicParams.targetBitRate = 10*1000*1000; + decPrm->defaultDynamicParams.targetFrameRate = 29; + decPrm->fieldMergeDecodeEnable = FALSE; + + decPrm->format = SYSTEM_IVIDEO_H264HP; + decPrm->profile = 3; + decPrm->displayDelay = 0; + } And my mp4 detail information is below: [STREAM] +index=0 +codec_name=h264 +codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 +profile=High +codec_type=video +codec_time_base=1/58 +codec_tag_string=avc1 +codec_tag=0x31637661 +width=1280 +height=964 +coded_width=1280 +coded_height=976 +has_b_frames=2 +sample_aspect_ratio=1:1 +display_aspect_ratio=320:241 +pix_fmt=yuv420p +level=32 +color_range=unknown +color_space=unknown +color_transfer=unknown +color_primaries=unknown +chroma_location=left +field_order=unknown +timecode=N/A +refs=1 +is_avc=true +nal_length_size=4 +id=N/A +r_frame_rate=29/1 +avg_frame_rate=29/1 +time_base=1/14848 +start_pts=0 +start_time=0.000000 +duration_ts=7806976 +duration=525.793103 +bit_rate=366088 +max_bit_rate=N/A +bits_per_raw_sample=8 +nb_frames=15248 +nb_read_frames=N/A +nb_read_packets=N/A +DISPOSITION:default=1 +DISPOSITION:dub=0 +DISPOSITION:original=0 +DISPOSITION:comment=0 +DISPOSITION:lyrics=0 +DISPOSITION:karaoke=0 +DISPOSITION:forced=0 +DISPOSITION:hearing_impaired=0 +DISPOSITION:visual_impaired=0 +DISPOSITION:clean_effects=0 +DISPOSITION:attached_pic=0 +DISPOSITION:timed_thumbnails=0 +TAG:language=und +TAG:handler_name=VideoHandler +[/STREAM] So did I miss something? Thanks a lot!!!! + +Responses: +Hi, You need to provide an elementary stream to decoder. Are you able to play the stream without dup and rtsp link? Regards, Anuj + +Also what is disordered? Hopefully you are removing the padding that decoder adds to the output. Rgds, Brijesh + +I modified Null link, so that it can unpacked mp4 file. Then it will send to decode link. Last night I try to use "IssCapture -> Alg_SimpleIsp (A15) -> Encode -> Null" to record video as "file.h264" and "file.hdr". Then play those as "NullSource (A15) -> Decode -> Display", it displayed no disorder. But when I use "NullSource (A15) -> Null" to record h264 file, then play it on "NullSource (A15) -> Decode -> Display", it displayed disorder. So I think it may it may NullSource unpack problem. But when I played those disordered h264 file by ffplay, it looks fine. That is so wired... Did Decode link decode file on any specify way? + +En... it is hard to explain what is disorder. People move seems like shake. And would you please explain how to remove the padding? I can't seem it in usecase:null_src_decode_display + +Sorry this is my fault. I use ffmpeg convert avi to mp4. And it insert b frame by itself. When I setting b-frame as 0, everything goes fine. Thanks all! + diff --git a/sample_embedding_folder2/0797052.txt b/sample_embedding_folder2/0797052.txt new file mode 100644 index 0000000000000000000000000000000000000000..325659afdf1833df20e5b8cae722cca809ae3040 --- /dev/null +++ b/sample_embedding_folder2/0797052.txt @@ -0,0 +1,10 @@ +Ticket Name: RTOS: Where could i find source codes for tidl preproc, EVE's computation. + +Query Text: +Tool/software: TI-RTOS Hi, I'm trying to find source codes that are implementing tidl preprocess and Alg_tidl_EveX. Could you let me know where the source codes for them in project? Thanks in advance. Regards, Yoo. + +Responses: +Which SDK are you using? Regards, Manisha + +Hi, You can find the source code for the above asked link in below path PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\apps\src\rtos\alg_plugins\tidl Regards, Anuj + diff --git a/sample_embedding_folder2/0797116.txt b/sample_embedding_folder2/0797116.txt new file mode 100644 index 0000000000000000000000000000000000000000..50f255810aac36c93ba35b12ae58e26d240e09ee --- /dev/null +++ b/sample_embedding_folder2/0797116.txt @@ -0,0 +1,24 @@ +Ticket Name: why ancillary data need ANC_SKIP_NUMPIX, ANC_SKIP_NUMLINES ? + +Query Text: +follow:https://e2e.ti.com/support/processors/f/791/p/796261/2948349#2948349 i have last question: i had read page 2211 of TRM. why is ancillary data that it need what are ANC_SKIP_NUMPIX, ANC_SKIP_NUMLINES? i think it just video data need these.why also trimmer in ancillay data? + +Responses: +It is a features, you could even trim unwanted ancillary data.. Rgds, Brijesh + +ok. if i need all ancillary data, How do I assign the following? ANC_SKIP_NUMPIX ANC_ NUMLINES_USE ANC_SKIP_NUMLINES ANC_ USE_NUMPIX + +ok, In that case, you don't need to enable cropping for the ancillary data.. Just set the bypass bit to 1. + +hi: we have requirement that get ancillary data in vip module. + +You could capture ancillary data when vsync is active high. + +hi: i had know u say. but i had read page 2211 of TRM.the page wrote it need configure ANC_SKIP_NUMPIX,ANC_USE_NUMPIX,ANC_SKIP_NUMLINES,ANC_USE_NUMLINES for Vertical Ancillary. It makes me confused.these four registers used to crop field in frame.however The veritical ancillary store in bottom and top field in frame. so how to configure these? + +Yes, but this registers need to be configured only if you want to enable cropping.. If you dont want ancillary data cropping, then these registers need not be configured and VIP will capture entire blanking area in the memory. Rgds, brijesh + +ok,i have see vision_sdk_0306/ti_components/drivers/pdk_01_10_02_07/packages/ti/drv/vps/include/vip/vps_cfgVipParser.h follow: it choosed VPS_VIP_LINE_CAPTURE_STYLE_HSYNC can be capture Horizontal Blanking Ancillary Data. so which other choose can capture Vertical Blanking Ancillary data? + +vertical blanking data depends on the size of the vsync, no change required in VIP. + diff --git a/sample_embedding_folder2/0797520.txt b/sample_embedding_folder2/0797520.txt new file mode 100644 index 0000000000000000000000000000000000000000..5d663d8d9c3534c90258218c6700c72f319214ea --- /dev/null +++ b/sample_embedding_folder2/0797520.txt @@ -0,0 +1,14 @@ +Ticket Name: Compiler: VPE Link : Support for YUV420P + +Query Text: +Tool/software: TI C/C++ Compiler Hello Everyone, Does VPE link support SYSTEM_DF_YUV420P format? I tried converting YUV420SP to YUV420P using Vpe Link, but it fails to set it. Instead it is setting SYSTEM_DF_YUV422I_YUYV format . Dont know why? And if, VPE does not support YUV420P format ,how can we add support for it in VPE? Regards, Neha + +Responses: +Hi Neha, VPE does support YUV420 to YUV420 output.. Can you share your create parameters? Rgds, Brijesh + +Sure. Below is the function to set VPE parameters in the usecase. static Void TF_Algo_setVPEParams( VpeLink_CreateParams *pPrm, UInt32 numCh, UInt32 OutWidth, UInt32 OutHeight, UInt32 inCropWidth, UInt32 inCropHeight) { UInt32 chId; VpeLink_ChannelParams *chPrms; UInt32 outId = 0; pPrm->enableOut[0] = TRUE; for (chId = 0; chId < numCh; chId++) { chPrms = &pPrm->chParams[chId]; #ifndef TDA3XX_128MB_DDR chPrms->outParams[outId].numBufsPerCh = VPE_LINK_NUM_BUFS_PER_CH_DEFAULT; #else chPrms->outParams[outId].numBufsPerCh = 2U; #endif chPrms->outParams[outId].width = OutWidth; chPrms->outParams[outId].height = OutHeight; #ifdef YUV420P Vps_printf("YUV420P converted in VPE***********\n"); chPrms->outParams[outId].dataFormat = SYSTEM_DF_YUV420P; #endif chPrms->scCfg.bypass = FALSE; chPrms->scCfg.nonLinear = FALSE; chPrms->scCfg.stripSize = 0; chPrms->scCropCfg.cropStartX = 0; chPrms->scCropCfg.cropStartY = 0; chPrms->scCropCfg.cropWidth = inCropWidth; chPrms->scCropCfg.cropHeight = inCropHeight; } } Usecase is as follows: NetworkRx (A15) -> Decode -> Dup -> VPE -> Sync -> Alg_Plugin1 (DSP1) -> DssM2mWb -> Display_Video The dataformat received in Alg_Plugin1 is not set to SYSTEM_DF_YUV420P instead it is set to SYSTEM_DF_YUV422I_YUYV, don't know why? Please note I need to set "SYSTEM_DF_YUV420P", i.e YUV420 planar. Thanks, Neha + +Please note: I want to convert YUV420 Semi Planar to YUV420 Planar. I want to process YUV420 Planar dataformat. + +No module supports conversion from from 420SP to 420P. + diff --git a/sample_embedding_folder2/0798042.txt b/sample_embedding_folder2/0798042.txt new file mode 100644 index 0000000000000000000000000000000000000000..f03a1a3b1fb2075c2519405d7c4ffca6a0d56289 --- /dev/null +++ b/sample_embedding_folder2/0798042.txt @@ -0,0 +1,24 @@ +Ticket Name: TDA2EVM5777: Vision SDK sample_app build configuration + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hello, I am attempting to build the sample_app provided with PROCESSOR_SDK_VISION_03_06_00_00 for TDA2 EVM with RTOS (config: tda2xx_evm_bios_all). My Vision SDK is located in the path C:\PROCESSOR_SDK_VISION_03_06_00_00, while my 'build', 'links_fw', and 'sample_app' folders are located in the path D:\TEST. Following build steps from the TDA2xx Vision SDK User Guide and with a few modifications to the makefiles, I was able to build the sample_app. The issue is, my binaries are getting generated in the path C:\PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\binaries. How can I modify the make configuration so that my binaries are generated in the path D:\TEST\binaries? Thank you. + +Responses: +Hi, You need to change DEST_ROOT in PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\build\rtos\makerules\env.mk. Regards, Rishabh + +Hello, My objective is to separate the application from the TI toolchain and other VSDK dependencies. Thus, my folder structures are as shown below. C:\PROCESSOR_SDK_VISION_03_06_00_00 |___ti_components |___vision_sdk |___apps |___build |___docs |___links_fw |___sample_app D:\TEST |___binaries |___build |___links_fw |___sample_app I also performed the following steps: (1) All content under C:\PROCESSOR_SDK_VISION_03_06_00_00 is unchanged from its default state (2) Edited line #13 of D:\TEST\build\Rules.make to build 'sample_app' instead of 'apps' (3) Edited line #2 of D:\TEST\build\tools_path.mk to point to C:\PROCESSOR_SDK_VISION_03_06_00_00\ti_components (4) Edited line #11 of D:\TEST\build\rtos\makerules\env.mk to point to D:\TEST\binaries I had expected that these steps will create the executables as I wanted. But the executables are still getting created under C:\PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\binaries. It appears that the build configuration from D:\TEST does not override the configuration from C:\PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\build. What are the proper steps to achieve this? Thank you. + +Hi, I see binaries folder inside D:/Test as well as shared in the above folder. Are you initiating build from D:/Test/build folder? Are you seeing few folders in C:\PROCESSOR_SDK_VISION_03_06_00_00\ and others in D:\Test or everything is under C:\PROCESSOR_SDK_VISION_03_06_00_00\. Regards, Rishabh + +Hello, Rishabh Garg said: I see binaries folder inside D:/Test as well as shared in the above folder. In the folder structure that I have depicted, I have shown the binaries folder under D:\TEST only, because that is how I want it. Rishabh Garg said: Are you initiating build from D:/Test/build folder? Yes. Rishabh Garg said: Are you seeing few folders in C:\PROCESSOR_SDK_VISION_03_06_00_00\ and others in D:\Test or everything is under C:\PROCESSOR_SDK_VISION_03_06_00_00\. I am seeing everything under C:\PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\. Thank you. + +Hi, Just to confirm, the build folder (D:\Test\build) from where you are trying to build, Did you copied it from "C:\PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk" folder ? And also looking like you are modifying wrong "env.mk" file (4) Edited line #11 of D:\ADAS_PRK_I\build\rtos\makerules\env.mk to point to D:\TEST\binaries Either you should edit the file under C:\PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\build\rtos\makerules\env.mk to point to D:\TEST\binaries or edit the file under D:\Test\build\rtos\makerules\env.mk to point to D:\TEST\binaries Regards Surya + +Hello, Suryamani Jena said: Just to confirm, the build folder (D:\Test\build) from where you are trying to build, Did you copied it from "C:\PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk" folder ? Yes. Suryamani Jena said: And also looking like you are modifying wrong "env.mk" file (4) Edited line #11 of D:\ADAS_PRK_I\build\rtos\makerules\env.mk to point to D:\TEST\binaries Either you should edit the file under C:\PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\build\rtos\makerules\env.mk to point to D:\TEST\binaries or edit the file under D:\Test\build\rtos\makerules\env.mk to point to D:\TEST\binaries I did NOT edit D:\ADAS_PRK_I\build\rtos\makerules\env.mk. By mistake, I specified the wrong path here; I have corrected step (4) in my earlier post. I edited D:\TEST\build\rtos\makerules\env.mk to point to D:\TEST\binaries, which is as per your suggestion. Thank you. + +Hi, 1. Instead of changing DEST_ROOT in file D:\Test\build\rtos\makerules\env.mk, you can modify "vision_sdk_PATH " in file "Rules.mk" & then try building from D:\TEST\build folder vision_sdk_PATH := $(abspath ..) to vision_sdk_PATH := D:\TEST 2. Rename "vision_sdk" folder inside the "PROCESSOR_SDK_VISION_03_06_00_00" package to "__vision_sdk" & then try building from D:\TEST\build folder Regards Surya + +Hello, Your suggestion worked nicely. The binaries were generated under D:\TEST, as required. Thank you very much for your help. + +Hi Sagar, Thanks for the update and confirmation. Regards, Rishabh + diff --git a/sample_embedding_folder2/0798536.txt b/sample_embedding_folder2/0798536.txt new file mode 100644 index 0000000000000000000000000000000000000000..b9b6c8edbc4ddfdaa38dcce3b82b378d9e959272 --- /dev/null +++ b/sample_embedding_folder2/0798536.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/PROCESSOR-SDK-DRA7X: What is the size limit for MLO ? + +Query Text: +Part Number: PROCESSOR-SDK-DRA7X Tool/software: Linux hi first booting image store into internal RAM,MLO is second booting image,u-boot is Third booting image. I want to remove third booting image, MLO needs to do many functions,My question is whether MLO has size limitations? + +Responses: +Hi, What's the expected size of your MLO? There's a total 512KB OCM RAM in most of the devices where the MLO is first downloaded. Check the data manual of your device to know this number. However, please note about 32KB of OCM may be used by ROM at the time of booting. Regards, Somnath + +Hi, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Yordan + diff --git a/sample_embedding_folder2/0798541.txt b/sample_embedding_folder2/0798541.txt new file mode 100644 index 0000000000000000000000000000000000000000..2a45677f57409786756fae38154207f2e371306e --- /dev/null +++ b/sample_embedding_folder2/0798541.txt @@ -0,0 +1,8 @@ +Ticket Name: Is The ancillary data have code words or head in memory? + +Query Text: +are there have code words or head in ancillary data after send to memory? similar "0x00,0xff,0xff" + +Responses: +Not really, the captured ancillary data will be exactly what is sent from the sensor.. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0798744.txt b/sample_embedding_folder2/0798744.txt new file mode 100644 index 0000000000000000000000000000000000000000..0fac3c62f47d881b5acf212eebc312e566b4d3b1 --- /dev/null +++ b/sample_embedding_folder2/0798744.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2PXEVM: Decode link output has offset + +Query Text: +Part Number: TDA2PXEVM Tool/software: Linux Hi all, When I use decode link, there is offset problem, please see my screenshot below which is show in RTSP. My usecase is NullSource (A15) -> Decode -> Dup Dup -> Encode ->Rtsp (A15) Dup -> Null (A15) When I dump frame use Null link, it shows: pitch: 2048, height: 964, width: 1280, startx: 32, starty: 24. Then I saw decode link had added UTILS_ENCDEC_PADX and UTILS_ENCDEC_PADY. But it is useless to set them as 0. So do you have any idea about it? Thanks a lot! + +Responses: +Which release you are using? I see UTILS_ENCDEC_PADX is set correctly to 32 and same for UTILS_ENCDEC_PADY. Rgds, Brijesh + +V3.4 And could you please tell me why Decode link add this pad? Thanks! + +Hi TI implementation of H264 decoder on IVA-HD HW need some padding around the output buffer. This can not be avoided. You can either use 1. VPE to crop or 2. SW way of manipulating the buffer start address to avoid this padding If you are connecting Display after Decode, then VSDK display link support this kind of cropping SW way of Manipulating the buffer start address = buf_addr + pitch * start_Y + start_X retards, Shiju + +And also codec implementation requires this padding area internally. Rgds, brijesh + diff --git a/sample_embedding_folder2/0798823.txt b/sample_embedding_folder2/0798823.txt new file mode 100644 index 0000000000000000000000000000000000000000..16e195310c6cc6cf385aff9290e01fc926c436ec --- /dev/null +++ b/sample_embedding_folder2/0798823.txt @@ -0,0 +1,36 @@ +Ticket Name: RTOS/TDA2EVM5777: changing PHY DP83865 to PHY DP83867IRPAP + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: DP83865, DP83867IRPAP-EVM Tool/software: TI-RTOS Background: Hardware Platform:TDA2x EVM Board Version:ASSY 516580 REV H Software Platform:SDK Version:PROCESSOR_SDK_VISION_03_04_00_00 Explanation: Originally,there are two PHY chips (DP83865) on the EVM board. When I intended to design a new board based on the EVM board,I found it’s very hard to buy the DP83865 chip. I want to verify the DP83867 can replace the DP83865 chip, so I designed a seprate new testing board used the chip DP83867IRPAP also from TI. When I removed the connection between the TDA2x chip and DP83865 chip on the EVM board, and then connect the DP83867 testing board, didn’t change any software configuration, I found it doesn’t work, printed “NDK: Link Status: 1000Mb/s Full Duplex on PHY 3”.But it didn’t establish connection successfully with PC. I want to know what can I do, I saw some codes relative with DP83867 in SDK, But I don’t know how can I use them. Can you offer me some solution? Thank you very much! + +Responses: +Hi Yongliang, If there was a connection problem, you wouldn't see the link status message. So, after printing the link status message, did it print the IP address of the EVM? Also, are you using static or dynamic IP? Regards, Anand + +Hi Yongliang, It's been a while since I have heard from you. Were you able to solve this issue? Regards, Anand + +No, I applied a DP83867IRPAP-EVM EVM board from TI, and I recieved it, and then I had a look, I found it's not very easy to solder strap resisitor on the board, and actually I don't understand why the TI can design their EVM board in that way. + +Hi Yongliang, In TDA2Ex and some other EVMs, we use the DP83867. To use this PHY, we have to specifically configure the delays for the phy. If you check inside your vision sdk folder you should find this file \ti_components\networking\nsp_gmacsw_4_15_00_00\packages\ti\ndk\j6eco\examples_ipu1\client\j6eco_init.c. You should see a function to configure delays for dp83867. You can use the same function in your existing code when you use the custom board. This is the only change in 83867 I suppose. Let me know if this helps :) Regards, Anand + +Thank you very much! I will try tomorrow, and I think I get your idea. I also compared my hardware configuration with the evm board which use dp83867. I think I can solve it next. Thank you for your quick reply. + +Hi Yongliang, I understand that you're still facing trouble trying to get the PHY to work. Are you facing a HW problem? Have you tried the changes I have recommended Regards, Anand + +I think hardware part is OK,and I also tried according your sugesstion, but it still dosn't work.I pasted the hardware board indicator video. + +Below is the log, after I insert the phy delay function into my code, but it still dosn't work. Do you have any suggestions? + +Hi Yongliang, Your logs tell me that the connection with the PHY is established. When you say your code isn't working, what exactly is the error? Are you able to get an IP printed in the console? Regards, Anand + +I used static IP, and after I insert the PHY delay configuration function in my code, I can't successfully ping(command) with the board(PHY is DP83867), then I used my another board running same code(PHY is DP83865), the PHY DP83865 still can run correctly, I can easily feed video by my labtop to the board, so I guess may be my inserted function dosn't work anymore. I confused. Thank you for your reply! + +Hi Yongliang, I believe the configureDelays function might not be getting executed. Can you put a breakpoint inside the function and see if it is hitting? Also, make sure that if there are any SoC specific if conditionals or # defines, comment them out so that the function blindly configures the delays for you. Regards, Anand + +I printed some information in the configure delay function, and I saw the information from the initialize Log. I will check the platform related compile option next, after I get the result, I will reply you. I guess may be because of some ethernet related hook, have some limitation on calling the PHY configuration function.Thank you! + +Hi Yongliang, It's been a while since I've heard from you. Were you able to go forward in this? Regards, Anand + +Hi Yongliang, Any updates on this? Regards, Anand + +Hi Yongliang, Since I have not heard back from you in a long time, I assume you have solved this issue. Regards, Anand + diff --git a/sample_embedding_folder2/0799121.txt b/sample_embedding_folder2/0799121.txt new file mode 100644 index 0000000000000000000000000000000000000000..7214645f0c782cbf15c52b8f0f9541aa1b08f454 --- /dev/null +++ b/sample_embedding_folder2/0799121.txt @@ -0,0 +1,16 @@ +Ticket Name: RTOS: Which core manages IPC in TIDL? + +Query Text: +Tool/software: TI-RTOS Hi, I'm analyzing TIDL usecase and i have 3 questions. Q1) I did read some documents for understanding IPC. As i understand, each core has message box and messages from other cores are received by that. (Is this right?) If i understand correctly, is there any main core for IPC? (I mean the core which handle the messages from each core) Q2) Does IPC1_0 executes Chains_main function? In that case, the main core of TIDL usecase is IPC1_0, is this right? Q3) In converting caffe model to TIDL by using TIDL importing tool, i saw 'LayersGroupID' parameter. Is that value existing for giving each layers of DL model to DSP/EVE? If so, where can I find the source code that provides each layer of the DL model on each core? Thanks in advance. Regards, Yoo. + +Responses: +Hi Yoo, VisionSDK experts will answer Q1 and Q2 soon. For Q3 please check FAQ #21 in PROCESSOR_SDK_VISION_03_06_00_00\ti_components\algorithms\REL.TIDL.01.01.03.00\modules\ti_dl\docs\TIDeepLearningLibrary_UserGuide.pdf Regards, Yordan + +Hi, Please find your answer below Q1> All cores has its message box for IPC. There is no main core for this each core can communicate with any core independently. Q2> I hope you mean IPU1_0 Yes IPU1_0 is master core when we run VSDK bios. So this core runs all usecase. Regards, Anuj + +LayersGroupID is set via import config file. refer TIDL users guide for more information + +Thank you, I understand the way to allocate each layers into DSP/EVE core. Then, the diagram below, which shows the data flow of the TIDL OD usecase, shows only the flow of the frame. And each layer operation actually is executed by DSP or EVE according to the layer groupid? or In the diagram below, first Alg_tidl_Eve executes computation of specific layers that are allocated to EVE and Alg_tidl_Dsp executes computation of other layers? + +Yes, it shows only the flow of the frame. And each layer operation actually is executed by DSP or EVE according to the layer groupid + diff --git a/sample_embedding_folder2/0799159.txt b/sample_embedding_folder2/0799159.txt new file mode 100644 index 0000000000000000000000000000000000000000..e4ea473440ad505e31722759c7b472f410272bc8 --- /dev/null +++ b/sample_embedding_folder2/0799159.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2E: Dears ,What is the Speed of CNN of TDA2 , What is the XX Tops ? What is the reference price of TDA2 ? + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2 Dears ,What is the Speed of CNN of TDA2 (operational capability), What is the XX Tops ? What is the reference price of TDA2 ? + +Responses: +Hi Andrew, for the CNN performance please check TIDeepLearningLibrary_DataSheet.pdf in "PROCESSOR_SDK_VISION_03_06_00_00\ti_components\algorithms\REL.TIDL.01.01.03.00\modules\ti_dl\docs" directory. For TDA2x pricing you need to contact authorized distributor: www.ti.com/.../distributors.html Regards, Yordan + +Dear Yordan Could you offer the File ,Or link , many thanks ~ + +Hi Andrew, you can install VisionSDK for TDAx processors which includes TIDL library as well as example usecases fir deep learning: I also attach the file for your reference. TIDeepLearningLibrary_DataSheet.pdf Regards, Yordan + diff --git a/sample_embedding_folder2/0799180.txt b/sample_embedding_folder2/0799180.txt new file mode 100644 index 0000000000000000000000000000000000000000..d70cd4f17b20e8103ca8d6ac7e954d9d1aa2d794 --- /dev/null +++ b/sample_embedding_folder2/0799180.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS: Why the cores(DSP, EVE, A15) initialize for NullSource link? + +Query Text: +Tool/software: TI-RTOS Hi, I saw the image that is showing the flow of TIDL OD chain. As the below image showing, the NullSource link is allocated to IPU1_0. However, in linksInclude_${core}.h, there are define instruction for nullsrc in EVE, DSP. For example, in linksInclude_a15_0.h, #ifndef linksInclude_a15_0 #define linksInclude_a15_0 #define links_common_algorithm #define links_common_dup #define links_common_gate #define links_common_ipcIn #define links_common_ipcOut #define links_common_merge #define links_common_null #define links_common_network_tx #define links_common_network_rx #define links_common_nullSrc #define links_common_select #define links_common_sync #define utils_common #define links_common_system #define links_a15_system #endif Could you tell me Why #define links_common_nullSrc is needed in a15 and DSP, EVE? + +Responses: +Hi, In TIDL_OD usecase we use NullSrc link on IPU1_0 but it is a common link which can run on any core. So we build this link for all cores but filesystem support is not available for all cores except IPU1_0 so you can not read any files using NullSrc if you run on any cores. In TIDL_OD we have to read a file so its been used on IPU1_0 cores. Regards, Anuj + diff --git a/sample_embedding_folder2/0799227.txt b/sample_embedding_folder2/0799227.txt new file mode 100644 index 0000000000000000000000000000000000000000..a4aa5e3a8695355991b9fb90550699919c721d95 --- /dev/null +++ b/sample_embedding_folder2/0799227.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2SG: About CNN Performance + +Query Text: +Part Number: TDA2SG Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS Hi SIr Does TI have any performance report about CNN calculation and the unit is Tops for TDA2 and TDA3. for NXP S32V23x , the CNN accelerator is about 10 Tops by using Apex V3 with 4xA53/1xM4. please advise BR Yimin + +Responses: +Hi Yimin, please check TIDeepLearningLibrary_DataSheet.pdf in "PROCESSOR_SDK_VISION_03_06_00_00\ti_components\algorithms\REL.TIDL.01.01.03.00\modules\ti_dl\docs" directory. Regards, Yordan + diff --git a/sample_embedding_folder2/0799285.txt b/sample_embedding_folder2/0799285.txt new file mode 100644 index 0000000000000000000000000000000000000000..60f9e4119ad663822ec55d10f498add2420dbfb3 --- /dev/null +++ b/sample_embedding_folder2/0799285.txt @@ -0,0 +1,20 @@ +Ticket Name: RTOS/TDA2SX: Can i use HDMI input in EVM + +Query Text: +Part Number: TDA2SX Tool/software: TI-RTOS Hi, I am using TI TDA2xx EVM with Vision SDK Linux Environment. I need some clarifications about HDMI. I want to use USB Camera to capture frames. Can i connect USB camera to HDMI input port of the EVM via USB-HDMI Converter ?? if, Yes means which USECASE have to use. + +Responses: +If it supports standard HDMI output, with the supported resolution/format, it can be used. Rgds, Brijesh + +Thanks for quick response, However, We are looking to use the HDMI port present in the VIsion APP Board for receiving video input, not for sending through HDMI output port of TDA2xx EVM. We are expecting this below flow, CAMERA ---> HDMI INPUT ---> VISION SDK ---> TDA2xx Regards, ARUNKUMAR + +Hi Brijesh, Sorry for interrupting you, I understood, what you had explained. But, I want a usecase for camera capture. Flow : USB Camera --> HDMI Converter --> HDMI Input to Vision SDK Board + +As i said, if converter can convert to standard HDMI signal, it should be possible. + +Hi Brijesh Jadav, I understood, what you had answered to my question from compatibility perspective. Now I am looking for visionsdk usecase to capture and display or capture and dump to file from HDMI. For Example : TDA2xx vision SDK usecase for multides camera capture and display using the 1) "lvds_vip_multi_cam_view_sgx_display" to capture & display. 2) "lvds_vip_multi_cam_vpe_enc_null" to capture and store in file. like this above usecases, is there any usecase there to test HDMI input from visionSDK usecase ? Thanks & Regards, ARUNKUMAR V N + +Not really, but you could easily add by merging two usecases. rgds, brijesh + +Closing this thread as there is no further questions.. + diff --git a/sample_embedding_folder2/0800039.txt b/sample_embedding_folder2/0800039.txt new file mode 100644 index 0000000000000000000000000000000000000000..00691d2d68db717601f7901d99c9c477fb19bfeb --- /dev/null +++ b/sample_embedding_folder2/0800039.txt @@ -0,0 +1,12 @@ +Ticket Name: CCS/TDA2EVM5777: Ethernet framework + +Query Text: +Part Number: TDA2EVM5777 Tool/software: Code Composer Studio Hello sir , I would like create application that has to transfer image and CAN data from PC to board over Ethernet. which document it will helpful for me to develop application using TI provided Library . Thanks and Regards, Madhav + +Responses: +Hi Madhav, Which version of Vision SDK are you using ? You can find a bunch of getting started guides under the docs folder inside the main SDK folder. Please provide more details about your SW environment. Regards, Anand + +Hello Anand, Vision SDK version 3.0.6. Windows 10 code compose studio 8.3.0 Regards, Madhav + +Hi Madhav, I see that the thread e2e.ti.com/.../2972950 is a possible duplicate of this thread. Please close this thread. We can continue discussion in the other thread. Regards, Anand + diff --git a/sample_embedding_folder2/0800491.txt b/sample_embedding_folder2/0800491.txt new file mode 100644 index 0000000000000000000000000000000000000000..293300b4da084e4f05de97741b1cffbff2324bfe --- /dev/null +++ b/sample_embedding_folder2/0800491.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS: What is SystemLink_init function for? + +Query Text: +Tool/software: TI-RTOS Hi, I couldn't understand the role of SystemLink_init function. Is it different with some links like NullsrcLink? In the source code, the comment says 'Initializes the linkObj and creates the task for SystemLink_tskMain'. Does each core have only one linkObject? Is there any guide for this question? Regards, Yoo. + +Responses: +Please provide more details to help us provide appropriate guidance: 1. What device and what version of Processor SDK RTOS are you using . What HW platform are you testing on. 2. The APIs that you are referring are not commonly used by the drivers and RTOS ...Please indicate what component and what source file you are referring to. Regards, Rahul + diff --git a/sample_embedding_folder2/0800854.txt b/sample_embedding_folder2/0800854.txt new file mode 100644 index 0000000000000000000000000000000000000000..7f47737de13963123cd0a0d5567ad4e80195f706 --- /dev/null +++ b/sample_embedding_folder2/0800854.txt @@ -0,0 +1,18 @@ +Ticket Name: RTOS: How EVE/DSP cores read the parameters of specific layers? + +Query Text: +Tool/software: TI-RTOS Hi, I have a question about TIDL usecase. In TIDL OD, how eve/dsp cores read the parameters which are belonged to specific layers in SSD? I saw the usecase reads bin files which have information of Network architecture and real parameters in tidlODInit function. However, in AlgorithmLink_tidlProcess, which is a function that actually implements eve and dsp algorithms, i couldn't find the core verify each layer is designated to itself. Could you let me know where the source code implements that part? Thanks in advance. Regards, Yoo. + +Responses: +Hi Yoo, "LayergroupID" parameter in the import config decides which layer to run on EVE or DSP cores. Please check FAQ #21 and #22 in TIDeepLearningLibrary_UserGuide.pdf for more details on this. Thanks, Praveen + +Hi, Thank you for reply. Yes, i already read that section. However, what I would like to know is how to pass each layer set in import config to eve and dsp when real TIDL OD usecase is running. In source code, there is AlgorithmLink_tidlProcess function in tidlLink_algPlugin.c file. However, i didn't find where to check each layer is set to be calculated on DSP/EVE. Could you let me know how to know DSP/EVE each layer is responsible for themselves? Thank you. Regards, Yoo. + +Hi, In AlgorithmLink_tidlProcess, we check the input buffer type and depending on that we decide its running on DSp or EVE. If buftype is video frame then it is running on EVE and if its meta buffer then it is running on DSP. Regards, Anuj + +Hi, If buffer type decides whether each layer is running on DSP or EVE, what LayerGroupID is for? Could you explain what is meta buffer? I understood the video buffer is for each frame. Then meta buffer is just for contains information of frame? So far as I understand it, check each layer group id in the AlgorithmLink_tidlCreate function. At this time, if the result of the layer assigned to eve is input to the next layer assigned to dsp, or vice versa, an input buffer and an output buffer are generated. Then, in AlgorithmLink_tidlProcess, it gets the input buffers from previous link and put them into temporary queue. The input buffers may be the input frame that is preprocessed by A15. And it prepares output buffers corresponding to input buffers. After that, it checks whether the input buffer is meta data or video frame. (which link sends meta data?) And algProcess executed using inBufs, outBufs, etc. After algProcess, it puts out buffer to queue and notify to previous link and release input buffers. Could you please let me know if i understand code incorrectly? In addition, if i understand correctly, i think it doesn't match with the flow of TIDL OD chains below image. (Maybe, i missed some point) Thanks for your reply. Regards, Yoo. + +Hi, Meta frame is a kind of buffer holder in VSDK which contains meta information. We have different kind of buffer holder, please check below file. vision_sdk\links_fw\include\link_api\system_buffer.h TIDL link running on eve gives meta buffer as output. Regards, Anuj + +Hi, Its been long since any update on this thread. I hope the issue is resolved. If not then please reply below or create a new thread for different issue. Regards, Anuj + diff --git a/sample_embedding_folder2/0801060.txt b/sample_embedding_folder2/0801060.txt new file mode 100644 index 0000000000000000000000000000000000000000..1134827ee2447a10ab0de7aa126caa9ed45bc98e --- /dev/null +++ b/sample_embedding_folder2/0801060.txt @@ -0,0 +1,10 @@ +Ticket Name: RTOS/TDA2HG: 2D SRV calibration issue. + +Query Text: +Part Number: TDA2HG Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS Hi Sir, I followed "VisionSDK_UserGuide_SurroundView_Calibration_TDA2xx.pdf" to using "calibration_tool.exe". This tool asks me to input a reference image, I don't know how to generate a reference image and I give the "refimg.jpg" that is from "/surround_vision_tools/docs/", is it right? I input all the image files and parameters, and then follow the document to go to next step, after I go to step that select "reference image" and click "Continue", this tool will close and no next step, But if I input the sample data (from "/2D_calbration_tool/sample_data"), this tool can work correctly. Attachment are the "refimg.jpg" and I took a calbration picture by TDA2 EVM, original .yuv file is 1.31MB, I transfer it into .jpg file. FRONT_1.rarRanny, + +Responses: +Hi Sir, I change the file name form .YUV to .yuv, just rename the image extension name as small letter, calibration tool can work now. Ranny. + +Hi Ranny, thanks for updating the thread and sharing the solution. Regards, Yordan + diff --git a/sample_embedding_folder2/0801443.txt b/sample_embedding_folder2/0801443.txt new file mode 100644 index 0000000000000000000000000000000000000000..9982d4f45abb90f8605db4fc75321fbce487ea19 --- /dev/null +++ b/sample_embedding_folder2/0801443.txt @@ -0,0 +1,34 @@ +Ticket Name: RTOS/TDA2PXEVM: Global variables not initialized in IPU ( M4 ) + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS When we try to run a Algolink ( VSDK 3.03) which was earlier running on A15 in IPU on TDA2P, we see the uninitialized global variables are not getting initialized to 0. Can you tell us if there is something we need to check on the compiler/linker options which might help. + +Responses: +Hi, By default the memory map sections for VSDK is uninitialized to reduce the boot up time. If you want initialize some global variables then you can create 1 section in cfg file under bss section and map it with IPU1_0_DATA_MEM and assign its type as "INIT". And map your global variables to this new section. Please refer to autosarIpcShm section in VSDK3.5 release onwards. Regards, Anuj + +Hi Poorva FYI, there is a build option also available, but this one will apply globally to all uninitialized variables, arrays etc. and this can impact on boot time. --zero_init=on So as mentioned earlier, Zero init a specific section would be the recommended option. BTW, you do not need this logic at all, if your C code is capable of performing all the required variable initialization at run-time! regards, Shiju + +Hi Shiju, I made --zero_init=on for LNKFLAGS_GLOBAL_ipu1_0 and LNKFLAGS_GLOBAL_ipu1_1 in source\vision\platform\ti\tda2\build\rtos\makerules\build_config.mk. file. After this change I checked the global variable values again but they weren't still initialized. Could you please mention the location where the change needs to happen? Also, in the same file for LNKFLAGS_GLOBAL_a15_0, no value for zero_init was set. Is that correct? + +Hi Poorva Yes, your changes are correct, I doubt there may be some other make files overriding your changes Please do a grep in /vision_sdk/build folder and make appropriate changes if any cfg/make files overriding your changes regards, Shiju + +I searched all the places where zero_init is off for IPU1_0 in the vision_sdk/build folder, but there is no override. Any other possibility do you suspect for it to be not working? Does zero_init has to be set with any other combination of compiler/linker options? I had explored cinit_compression option but there is no effect with it's value also. + +Poorva We have used this in C66x & M4 CPUs, with TI compilers. BTW, are you trying on A15 with GCC compiler? If yes, this combination is not checked! regards, Shiju + +Hi Shiju, We are also using M4 CPU with TI compiler (i.e. cg_tools), but it doesn't work for us. Regards, Poorva + +Poorva This needs to be checked again. Meantime can you check the first option described in the beginning of the post? regards, Shiju + +Hi Anuj, I tried the solution you had mentioned, but is there any other solution that zero initializes all the global variables automatically as it is not feasible for me to initialize each one of them individually. I also tried the Shiju's solution but it does not seem to be working for us. Regards, Poorva + +Hi, I hope you are doing this for a specific section only. You can keep some value in any variable which is in that section and after boot just check that 1 variable and if that has a value of 0 then it will work for the entire session. Regards, Anuj + +Hi, zero_init flag works on DSP but not on IPU core so using that you will not be initialize variables to 0. You can try out the experiment which has been suggested earlier. You can map all your wanted variables to a section like below assuming section name is "temp" and variable name "gVar" #pragma DATA_SECTION(gVar, ".bss:temp") Then open below file links_fw/src/rtos/bios_app_common/${platform}/${core}/${core}.cfg and map your temp section to data_memory section of that core like below assuming you are doing it for IPU1_0 Program.sectMap[".bss:temp"] = "IPU1_0_DATA_MEM"; Program.sectMap[".bss:temp"].type = "INIT"; Regards, Anuj + +Hi Anuj, Thanks for the response. This resolves our query. But we want to understand the reason of this restriction for IPU. Could you please help us understand that? Regards, Poorva + +Hi Poorva, Are you asking for IPU or MPU. As the above example should work for IPU1_0 core. Regards, Anuj + +Hi, Its been long since any update on this thread. I hope the issue is resolved. If not then please reply below or create a new thread for different issue. Regards, Anuj + diff --git a/sample_embedding_folder2/0801767.txt b/sample_embedding_folder2/0801767.txt new file mode 100644 index 0000000000000000000000000000000000000000..d61b0122db52217327abf920ee80cbd7819fb25c --- /dev/null +++ b/sample_embedding_folder2/0801767.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2SX: Surround view use case in TDA2x + +Query Text: +Part Number: TDA2SX Tool/software: Linux Hello, We are looking to set up a demo for Surround view use case on TDA2X board. We are looking for an out of the box solution which we can showcase. We have finalized following set up to order. Please let us know your feedback if this will work out of the box with vision SDK. Also, it will be great if we are guided with the exact use case to be run from vision SDK HLOS side. Board Link for purchase (TI or Spectrum) Project tda2x http://www.spectrumdigital.com/tda2x-vision-evaluation-module-kit/ ADAS base board + vision daughter card surround view kit http://www.spectrumdigital.com/multides-surround-view-kit/ SV kit thanks, Naren K. + +Responses: +Hi Naren, This appears the be the correct kit, however I did want to point out that this is the TDA2x part that doesn't have the ISP integrated in the SOC. If you were interested in that then there is a separate kit that comes with the TDA2PX parts. In this setup the ISP is on the ov10635 cameras that you are purchasing with the SRV kit. Regards Shashank + diff --git a/sample_embedding_folder2/0802151.txt b/sample_embedding_folder2/0802151.txt new file mode 100644 index 0000000000000000000000000000000000000000..5f39e0034d4f4b63fd86216742a2f44840d76407 --- /dev/null +++ b/sample_embedding_folder2/0802151.txt @@ -0,0 +1,20 @@ +Ticket Name: RTOS/TDA2EVM5777: VLIB Test Report memory design + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS Dear experts, We are using TDA2 C66 VLIB for opencv replacement. When we use profile function to calculate VLIB API performance, it differs a lot with the number in test report(about 10 times more than that number). Could you please expain more about how the test report is profiled? On L1SRAM? on L2SRAM? Can we achieve the same number as the test report on target application? Thanks & Best Regards! ZM + +Responses: +ZM, The values in the test report are obtained when running the tests using the DSP cycle accurate simulator on CCS5.x. It is effectively the performance assuming that all code, stack, data are in L1 RAM; what we call flat memory model. It only accounts for the performance of the DSP core with NO memory hierarchy stalls. As such, this is typically a best case baseline which a real world system can only hope to get close to based on how the memory system is defined. In this way, the numbers are helpful in comparing the core performance with each other, and gives an upper bound as to the performance you can get close to based on memory model optimizations, such as cache configuration or using DMA to bring in data into L2SRAM or L1D SRAM. I have attached a spreadsheet which summarizes the test performance, when run in on VLIB 3.3.0.1 release, on a sample of different memory models, to give you a better idea of what to expect based on the memory model you are using. The memory configuration number in the spreadsheet corresponds to the following legend: perf_vlib_3_3_0_1_C66_tda2.xlsx Memory configuration of test + +1. Simulator - flat memory modoel. Cycles assume all of data/code accesses are in L1 memories. This is to serve as a baseline which indicates the best possible performance on the particular DSP. + +2. L2 Cache = 256kB, all code and data in DDR - pure cache memory model. + +3. L2 Cache = 128kB, all code in DDR, data buffers in L2RAM - on TDA2x, this means 128k+32k RAM for buffers. + +4. L2 Cache = 64kB, all code in DDR, data buffers in L2RAM - on TDA2x, this means 192k+32k RAM for buffers. + +5. L2 Cache = 32kB, all code in L2RAM, data buffers in L2RAM - on TDA2x, this means 224k+32k minus size of code RAM for buffers, . I presume you are using the option 2 by default: All code and data in DDR with cache. As you can see from the spreadsheet, this is typically the worst performance (unless you have cache turned off). Options 3-5 are meant to reflect if DMA is used to move data from DDR into L2SRAM, so the processing can happen on data already in L2SRAM. This removes the expensive L2 data cache miss penalty on the data access, and leaves only the L1 cache miss penalty. Hopefully, this spreadsheet can help you determine if it is worthwhile for you to make memory movement optimizations such as using DMA to move data to L2 or L1 data. If you are still seeing a significant delta, you may want to consider the system and DDR clocks you are using, as this performance is measuring DSP clock cycles. If DDR clock is set to lower, then the number of DSP clocks may go up due to the additional memory system stall cycles imposed by lower DDR clock. I am using the default clock settings from the CCS gel file for TDA2x. Best Regards, Jesse + +Thanks Jesse. This statistic helps a lot. + diff --git a/sample_embedding_folder2/0802326.txt b/sample_embedding_folder2/0802326.txt new file mode 100644 index 0000000000000000000000000000000000000000..32c1da4706bc8ffe0b13a54cd74cb577d7ea6916 --- /dev/null +++ b/sample_embedding_folder2/0802326.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2EVM5777: How to enable 4 channels in NullSource link? + +Query Text: +Part Number: TDA2EVM5777 Tool/software: Linux I want NullSource link to output 4 channels video frames, who can tell me how to do it? + +Responses: +Hi, can you try to change the value of NULL_SRC_LINK_NUM_CHANNELS_DEFAULT in vision_sdk/links_fw/include/link_api/nullSrcLink.h Regards, Yordan + +/* * Validating the create params * TODO: Extend to validate width, height and pitch params also */ /* Only one channel is supported as of now */ OSA_assert(pPrm->outQueInfo.numCh == 1U); OSA_assert(pPrm->timerPeriodMilliSecs != 0); /* No support for Network RX Mode */ OSA_assert(pPrm->dataRxMode == NULLSRC_LINK_DATA_RX_MODE_FILE); it can't work. thanks. + +Hi, if you use Linux on A15, core, than you can remove this assert and it should work, please check this thread: e2e.ti.com/.../2650316 Regards, Yordan + diff --git a/sample_embedding_folder2/0802525.txt b/sample_embedding_folder2/0802525.txt new file mode 100644 index 0000000000000000000000000000000000000000..e7b97f6913de4b9094f328af55bd549d27f186c7 --- /dev/null +++ b/sample_embedding_folder2/0802525.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2EVM5777: display link question + +Query Text: +Part Number: TDA2EVM5777 Tool/software: Linux How to display a RGB_24_888 video frame via display link? + +Responses: +Hi, You cannot explicitly set input format for display link. You need to output frame in RGB_24_888 format from the previous link. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0802669.txt b/sample_embedding_folder2/0802669.txt new file mode 100644 index 0000000000000000000000000000000000000000..8b1746cfb5da1fdd4363adaf195b42a303f5c3a8 --- /dev/null +++ b/sample_embedding_folder2/0802669.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2SX: Evaluation Module for TDA2SX + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2P-ACD, TDA2EVM5777, , TDA2E TI (Spectrum Digital) offers an evaluation module TDA2x Vision EVM Kit with part number TDA2EVM5777. I want to know whether its processor is TDA2P-ACD or TDA2S or TDA2H? I am interested in getting evaluation module based on TDA2S which has 4 EVE while others have 2 EVE. Regards + +Responses: +Hi, TDA2EVM5777 is a super set part and it has four EVEs. You can order this EVM for the purpose mentioned. Refer this for details - https://e2e.ti.com/support/processors/f/791/t/777316?TDA2EVM5777-Is-TDA2x-a-processor-or-evaluation-board- + +Thanks for your reply. I did not know about the concept of Super set part number. Just for further knowledge, could you please further elaborate my following query: Question: Since TDA2S is super set part number. Is there any difference between part number TDA2S and X5777x? Although part number X5777x is mentioned in datasheet of tda2sx.pdf but never mentioned in "Mechanical Packaging and Orderable Information" section of the datasheet. So my question is whether both TDA2S and X5777x are same part numbers? If not, where can I find datasheet of X5777x part number? Regards, Dr. Imran Ali + +Moreover, I guess that Pin configuration of following components is different: TDA2E, TDA2H, TDA2L, TDA2P, TDA2S. So how will X5777x serve as super set of this TDA2x family? If I purchase the development board based on X5777x, and later on I develop my own board based on any TDA2x component, I will have to make the schematic myself which would be very difficult task. Kindly reply me. Thanks in advance. + +TDA2EVM5777 is a superset part for TDA2SX/TDA2HX etc. It is not for all TDA2x devices - specifically not for for TDA2Px. Since you are looking for TDA2Sx, you can go ahead with TDA2EVM5777. If you change the part number you need, please check an EVM for that specific part. + diff --git a/sample_embedding_folder2/0802858.txt b/sample_embedding_folder2/0802858.txt new file mode 100644 index 0000000000000000000000000000000000000000..2dc83789770eb8a90372db8fed84447180def082 --- /dev/null +++ b/sample_embedding_folder2/0802858.txt @@ -0,0 +1,20 @@ +Ticket Name: Linux/TDA2EVM5777: VPE output buffer pitch is less than width + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Tool/software: Linux Dear experts, In VisoinSDK 3.6 Linux_all/Bios_all on TDA2 EVM. Capture(720P) -> VPE(600x600) -> Display(600x600 inside 1080P HDMI) I ran into a problem that VPE's output buffer size is less than the width I provided. DSS init will fail because input pitch is less than 600. I found that in VPE code: vpeLink_drvCommon.c@ line 481, function VpeLink_drvCreateOutObj, /*Width aligned to satisfy encoder requirement*/ +- pFormat->width = VpsUtils_floor(pFormat->width, 16U); ++ pFormat->width = VpsUtils_align(pFormat->width, 16U); + pFormat->pitch[0] = + VpsUtils_align(pFormat->width, VPS_BUFFER_ALIGNMENT); Please help to confirm is it correct? by default it will get 592, after modification, it will get 608. Thanks & Best Regards! ZM + +Responses: +I think width is 592, but pitch will still more than width, isn't it? pitch is calculated from the aligned/floored pitch. Rgds, Brijesh + +Hi Brijesh, Our customer's algorithm wants 600x600 image. If VPE outputs 592x592, it means 8 pixels data is lost/incorrect. if output data is 608x608, it is larger than 600x600, which make sense. the algorithm can only take 600x600 from it, all 600x600 is correct. From the example in the description, displayLink is configured 600x600, this is not same with VPE, which will cause assertion. Thanks & Best Regards! ZM + +Ming, Can you show the display error? Ideally it should not. Display just works based on what is sent by the previous link. in this case, it will just display 592 pixels, if the pitch and width are correct. The last 8 pixels will be back ground color.. The other way to fix is, to change the code to make it ceil, instead of floor.. But then you need to enable inline scalar, or crop the buffer.. Is it possible to just comment out floor operation and check output? I am not sure why it is added.. I think width can be anything, does not necessarily required to be aligned to 16.. Rgds, Brijesh + +Hi Brijesh, 1. VPE must output the exact size as we want, no matter the size is 16-aligned or not. It can provide a larger buffer for us to crop, but it shouldn't provide a smaller buffer. The patch at the beginning works for this. Please help to check if this logic is correct, since all our demo are 16-aligned. 2. DisplayLink CreateParam is set from usecase, may not align with VPE. (From my understanding, we only configure displayLink's output size, input size is from previous link. There might be some debug work to do here. After changing VPE source code, this error disappear.) The error message is as follows. [HOST] [IPU2 ] 51.171140 s: DISPLAY: Create in progress !!! [HOST] [IPU2 ] 51.171597 s: dispcore/src/vpscore_dss.c @ Line 1079: [HOST] [IPU2 ] 51.171719 s: Pitch less than Width [HOST] [IPU2 ] 51.171811 s: dispdrv/src/vpsdrv_displayCore.c @ Line 304: [HOST] [IPU2 ] 51.171902 s: Set DSS parameter failed [HOST] [IPU2 ] 51.171963 s: Assertion @ Line: 459 in displayLink_drv.c: status==SYSTEM_LINK_STATUS_SOK : failed !!! Thanks & Best Regards! ZM + +Great Ming, since the issue is resolved after changing VPE link, i am closing the thread.. + diff --git a/sample_embedding_folder2/0802987.txt b/sample_embedding_folder2/0802987.txt new file mode 100644 index 0000000000000000000000000000000000000000..11a0e6f910093fb56df14fc4d2cad54b864ee5da --- /dev/null +++ b/sample_embedding_folder2/0802987.txt @@ -0,0 +1,20 @@ +Ticket Name: Linux/DRA72XEVM: Video quality issue when using 4 channels input for H264 decode + display + +Query Text: +Part Number: DRA72XEVM Tool/software: Linux Hi TI, We are using PVSDK_03_04 SDK in DRA72XEVM board. The usecase being executed is NullSrc + Decode + Display Below is the usecase diagram: NullSource (A15) -> Decode -> VPE -> Merge -> Sync -> Alg_DmaSwMs -> Merge_1 DispDistSrc_weston -> Merge_1 Merge_1 -> Display The video display is slow as we are using 4 channels as input. So to fix this reduced the number of buffers from 6 to 2 for nullSrc as below: pPrm->channelParams[chId].numBuffers = 2; Video performance is improved, but could see flickers oftenly every 8-10 seconds of video playback. And also if there is any object/person moving, the same is not been displayed properly, macroblocks seems to get distorted during reconstruction. FYI, the input is H.264 encoded video (VGA resolution, 4 channels so 4 x VGA @ 30fps). Is the IVA H264 decoder capable of decoding 4 VGA resolution encoded video @ 30fps? [Datasheet says decoder performance is 2x1080 @ 30fps) We are using HDMI display displayType == CHAINS_DISPLAY_TYPE_HDMI_1080P(chains_common.c). However, final product will be HDMI VGA. Hence after decoding we are scaling video from VGA to QVGA to fit 4 channels into Mosaic display. (Using VPE here to scale video) Could you please provide inputs to resolve these issues?? Note: Without Merge video us not played, hence Merge has to be present in usecase because Merge fwds single buffer corresponding to each CH ID VPE is necessar in our usecase, because we need to scale video from VGA to QVGA resolution, as the output HDMI display unit is VGA size Regards, Sudhi + +Responses: +Hi Ti, Below is additional information for this video quality issue. decPrm->dpbBufSizeInFrames = DEC_LINK_DPB_SIZE_IN_FRAMES_DEFAULT; decPrm->algCreateStatus = DEC_LINK_ALG_CREATE_STATUS_CREATE; decPrm->decodeFrameType = DEC_LINK_DECODE_ALL; decPrm->processCallLevel = DEC_LINK_FRAMELEVELPROCESSCALL; decPrm->targetMaxWidth = ENCDEC_MAX_FRAME_WIDTH; decPrm->targetMaxHeight = ENCDEC_MAX_FRAME_HEIGHT; decPrm->numBufPerCh = 6; decPrm->defaultDynamicParams.targetBitRate = 1*1000*1000; decPrm->defaultDynamicParams.targetFrameRate = 30; decPrm->fieldMergeDecodeEnable = FALSE; switch (pObj->codecType) { case '1': /* H264 */ decPrm->format = SYSTEM_IVIDEO_H264BP; decPrm->profile = 0;; decPrm->displayDelay = 0; break; } I have attached the sample video for depicting the issue (Flicker and macrblock distortion) + +Hi, Just for debugging purpose, can you remove the weston link. You can directly feed alg_dmaswms output to display and check. I hope nullSrc is reading all 4 channel then you do not need merge link. You can directly connect vpe with sync link. Please share the usecase log after pressing p after 1 min to check is there any frame drop. Please make sure your threshold for sync link is sufficient. Regards, Anuj + +Hi Anuj, Thanks for the information. As suggested, have removed both the Weston and Merge links. [ nullSrc is reading all 4 channels hence it worked by removing Merge Link] We have directly connect vpe with sync link. Threshold for Sync Link is set as below: (pObj->SyncPrm).syncThreshold = 10000/*SYNC_DROP_THRESHOLD_IN_MSEC*/; (pObj->SyncPrm).syncDelta = 1000; I have attached the Usecase log, which contains framework statistics (pressing p) in interval of 30 secs, 60 seconds, 90 seconds, etc. Could you also pls suggest an optimum values for syncThreshold & syncDelta. Regards, Sudhi TI_NoWestonMerge_Log1.txt + +Hi Anuj, Thanks for the information. As suggested, have removed both the Weston and Merge links. [ nullSrc is reading all 4 channels hence it worked by removing Merge Link] We have directly connect vpe with sync link. Threshold for Sync Link is set as below: (pObj->SyncPrm).syncThreshold = 10000/*SYNC_DROP_THRESHOLD_IN_MSEC*/; (pObj->SyncPrm).syncDelta = 1000; I have attached the Usecase log, which contains framework statistics (pressing p) in interval of 30 secs, 60 seconds, 90 seconds, etc. Could you also pls suggest an optimum values for syncThreshold & syncDelta. Regards, Sudhi 3247.TI_NoWestonMerge_Log1.txt + +Hi Anuj, Thanks for the information. As suggested, have removed both the Weston and Merge links. [ nullSrc is reading all 4 channels hence it worked by removing Merge Link] We have directly connect vpe with sync link. Without Weston Flickering is not seen. But could you pls help to rectify flickering with Weston because we need Weston to have QT app running on top of video layer. As suggested by you, after removing Westin and Merge, the video quality is still not improved, distortions in the macroblock reconstruction is still seen. Threshold for Sync Link is set as below: (pObj->SyncPrm).syncThreshold = 10000/*SYNC_DROP_THRESHOLD_IN_MSEC*/; (pObj->SyncPrm).syncDelta = 1000; I have attached the Usecase log, which contains framework statistics (pressing p) in interval of 30 secs, 60 seconds, 90 seconds, etc. Could you also pls suggest an optimum values for syncThreshold & syncDelta. Regards, Sudhi 2330.TI_NoWestonMerge_Log1.txt + +Hi, Delta should be same as frame interval and threshold should be twice of frame interval. Regards, Anuj + +Hi, Its been long since any update on this thread, I hope the issue is resolved, if not then please reply below or create anew thread for different queries. Regards, Anuj + diff --git a/sample_embedding_folder2/0803582.txt b/sample_embedding_folder2/0803582.txt new file mode 100644 index 0000000000000000000000000000000000000000..9f9ceff6e95d773041d9fface4cd018247200f8f --- /dev/null +++ b/sample_embedding_folder2/0803582.txt @@ -0,0 +1,22 @@ +Ticket Name: RTOS: I could not understand how each LAYER works in TIDL OD Usecase. + +Query Text: +Tool/software: TI-RTOS Hi, In JDetNet example, the layersGroupId is set as 0 1 1 1 1 (all 1s) 1 1 1 1 2 0. In this case, EVE creates 1 input buffer and 2 output buffers. And DSP creates 2 input buffers and 1 output buffe as following the model architecture. However, if the layersGroupId is set as 0 1 1 1 (all 1s) 2 1 1 1 2 0 (there are two layers which works on DSP), EVE/DSP creates input/output buffers corresponding the model architecture. What i couldn't understand, if that case, how EVE waits to get the result of middle layer that is working on DSP? In TIDL OD data flow, Alg_tidl_EVEx works first and Alg_tidl_Dsp works after that. However, if there is a layer assigned to the DSP in the middle of the model structure, should not the next layer assigned to EVE wait to receive the result of the DSP layer as input? If the tidl od case is executed as data flow, I think this process is impossible. But, when i execute that model, the usecase goes well. How is it possible? Regards, Yoo. + +Responses: +Hi, I read TIDeepLearningLibrary_UserGuide.pdf again. In FAQ21, it refered 'Condition : Only DectectionOutputLayer should run on DSP and rest of the all the layers on EVE in the SSD network.' . And when i test the model which have dsp in the middle layer of Network, the model couldn't detect object normally. I have determined that if the middle layer belongs to dsp, there is a problem in the buffer transfer process. When using the SSD model, should layers always be allocated to EVE except detectionoutputlayer, data layer and output layer? Thanks in advance. Regards, Yoo + +Hi Yoo, It is recommended to run only DetectionOutput layer on DSP and rest all the other layers on EVE. This is because the DetectionOutput layer is better optimized on DSP and all the other layers are better optimized on EVE. So, the same is tested in VSDK use case also. Thanks, Praveen + +Hi, Does that mean that the sequence of EVE and DSP layers does not matter? However, when I changed one middle layer of the successive layers in EVE to the DSP, the model almost lost performance. The below is before i changed. layersGroupId = 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 0 And this is after i changed. layersGroupId = 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2(here) 1 1 1 1 1 1 1 1 1 2 0 If this change will not be a problem, Could you describe the process of their buffer exchange? According to the link sequence in tidl_od.jpg, Alg_tidl_dsp will be executed after Alg_tidl_eve, so how do the eve layer immediately behind the intermediate DSP layer receive the input buffer? + +Hi, The sequence of EVE and DSP layers does matter for performance, as explained in the previous post all the initial layers except the last detection output layer are better optimized on EVE and only the last layer (detection output layer) is better optimized on DSP. So, if you change any middle layer to DSP from EVE will result in performance degradation. Also, the current tidl_od use case is also designed to run all the initial layers on EVE and last detection output layer on DSP. Thanks, Praveen + +Hi, Thank you for answering. BTW, i have two more questions. 1) The performance degradation you referred, does it mean processing time and accuracy both? Actually, when i change a middle layer to DSP, The model detected the wrong place as an object. 2) Could you explain what is OCMC? In setting APP parameters, the EVEs have ocmcAddr. How they used by EVE? I refered the source code, and saw the EVEs init their own L1, L2 cache size. Is that for storing Network parameter? Or could you where the document about this question? Best Regards, Yoo. + +Hi, 1. The degradation is only in processing time as DSP consume more cycles than EVE , for processing for all layers except detection output layer. The wrong detection's could be because of some problem in your use case. 2. This OCMC is Level 3 (L3) memory. Yes, it is used for storing the parameters in TIDL. We don't have any detail document on this. Thanks, Praveen + +Hi, Thanks for answering. It really helps me. I have a last question about this thread. If all layers except the detection output layer are operating on eve, is there a way to see what the output of the last eve layer looks like? I mean I want to know the data format of the input and output of the detection output layer. Could you please let me know if there is any document or simple method? Thanks again. Best regards, Yoo. + +Hi, For the output format of the detection layer, you can see Draw Boxes (not exact function name, check similar) function where the detection output layer output is consumed to draw the output boxes. You can also refer to this below thread to understand output format of detection output layer (but this output is from standalone TIDL run not in the use case). e2e.ti.com/.../679186 The input format is.. from delpoy.prototxt.. layer { name: "detection_out" type: "DetectionOutput" bottom: "mbox_loc" bottom: "mbox_conf_flatten" bottom: "mbox_priorbox" top: "detection_out" include { phase: TEST } There are 2 inputs to the detection output layer, first input is locations buffer (flattened and concatenated from all the heads) and second one is conf scores buffer ( flattened and concatenated from all the heads but without reshape and softmax as these will be done in detection output layer it self). The prior boxes are calculated in the import time it self and stored in the parameters in the import tool. Hope this clarifies. Thanks, Praveen + diff --git a/sample_embedding_folder2/0803746.txt b/sample_embedding_folder2/0803746.txt new file mode 100644 index 0000000000000000000000000000000000000000..ff008adb36a26bbe168f7d26b9c0de6e7f6abc0c --- /dev/null +++ b/sample_embedding_folder2/0803746.txt @@ -0,0 +1,153 @@ +Ticket Name: TDA2EVM5777: EVE accessing A15 Memory + +Query Text: +Part Number: TDA2EVM5777 Hello, I am currently running eve_sw_01_19_00_00 starterware examples under PROCESSOR_SDK_VISION_03_06_00_00. My application is a dual core appImage (a150 and eve1). The a15 allocates an input array that needs processing by the EVE. The a15 also allocates an output array which is to where the EVE needs to write its output. The a15 sends the pointer of the input array (declared as a global array and located on DDR RAM) over to the EVE, and I want the EVE to access the data that the pointer points to. I have verified that the pointer was successfully sent, but when the EVE tries to access the data from that pointer, the EVE program halts. How do I make it so that the EVE can read and write to memory addresses (specifically DDR RAM) allocated by the A15? + +Responses: +Hi iFer, Have you configured the EVE MMU for particular DDR address? Regards, Rishabh + +1727.linker.txt /* +* +* Copyright (c) 2009-2017 Texas Instruments Incorporated +* +* All rights reserved not granted herein. +* +* Limited License. +* +* Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive +* license under copyrights and patents it now or hereafter owns or controls to make, +* have made, use, import, offer to sell and sell ("Utilize") this software subject to the +* terms herein. With respect to the foregoing patent license, such license is granted +* solely to the extent that any such patent is necessary to Utilize the software alone. +* The patent license shall not apply to any combinations which include this software, +* other than combinations with devices manufactured by or for TI ("TI Devices"). +* No hardware patent is licensed hereunder. +* +* Redistributions must preserve existing copyright notices and reproduce this license +* (including the above copyright notice and the disclaimer and (if applicable) source +* code license limitations below) in the documentation and/or other materials provided +* with the distribution +* +* Redistribution and use in binary form, without modification, are permitted provided +* that the following conditions are met: +* +* * No reverse engineering, decompilation, or disassembly of this software is +* permitted with respect to any software provided in binary form. +* +* * any redistribution and use are licensed by TI for use only with TI Devices. +* +* * Nothing shall obligate TI to provide you with source code for the software +* licensed and provided to you in object code. +* +* If software source code is provided to you, modification and redistribution of the +* source code are permitted provided that the following conditions are met: +* +* * any redistribution and use of the source code, including any resulting derivative +* works, are licensed by TI for use only with TI Devices. +* +* * any redistribution and use of any object code compiled from the source code +* and any resulting derivative works, are licensed by TI for use only with TI Devices. +* +* Neither the name of Texas Instruments Incorporated nor the names of its suppliers +* +* may be used to endorse or promote products derived from this software without +* specific prior written permission. +* +* DISCLAIMER. +* +* THIS SOFTWARE IS PROVIDED BY TI AND TI'S LICENSORS "AS IS" AND ANY EXPRESS +* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +* IN NO EVENT SHALL TI AND TI'S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT, +* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +* OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +-e _reset_handler +-w +-stack 0x1000 +--heap_size=0x800 + +MEMORY +{ + PAGE 0: + VECMEM: origin = 0x80000000, length = 0x0100 + CMDMEM: origin = 0x80000100, length = 0x0e00 + DDR_CODE: origin = 0x80001000, length = 0x7000 + PAGE 1: + DATMEM_CHECK: origin = 0x40020000, length = 0x0100 + DMEM_DATA: origin = 0x40020100, length = 0x0e00 + RES_SET_LOC : origin = 0x40026000, length = 0x0200 + DATMEM: origin = 0x40021000, length = 0x4000 + STACKS: origin = 0x40027000, length = 0x1000 + IMEML : origin = 0x40050000, length = 0x4000 + IMEMH : origin = 0x40054000, length = 0x4000 + WMEM : origin = 0x40040000, length = 0x8000 + OCMCRAM: origin = 0x40300000, length = 0x0007fe00 + GEM1L2: origin = 0x40810000, length = 0x00010000 + SYNC_AREA: origin = 0x4037fe00, length = 0x00000100 + DDR: origin = 0x80030000, length = 0x00100000 +} + + + +SECTIONS +{ + .intvecs > VECMEM PAGE 0 + .inthandler > CMDMEM PAGE 0 + .exitlocation > CMDMEM PAGE 0 + .text: > DDR_CODE PAGE 0 + { + rtsarp32_v200.lib(.text) + rtsarp32_v200.lib(.text) + rtsarp32_v200.lib (.text) + rtsarp32_v200.lib (.text) + rtsarp32_v200.lib (.text) + rtsarp32_v200.lib<_lock.obj> (.text) + rtsarp32_v200.lib (.text) + *.obj(.text) + } + + GROUP + { + .bss /* This order facilitates a single segment for */ + .data /* GDP-relative addressing */ + .rodata + }>DATMEM PAGE 1 + + .far > DATMEM PAGE 1 + .fardata > DATMEM PAGE 1 + .cinit > DATMEM PAGE 1 + .cio > DATMEM PAGE 1 + .dmem_int_sec > DATMEM PAGE 1 + + Adata: load = IMEML PAGE 1 + Bdata: load = IMEML PAGE 1 + Cdata: load = IMEMH PAGE 1 + Pdata: load = WMEM PAGE 1 + Sdata: > DATMEM_CHECK PAGE 1 + EOutdata: > DATMEM PAGE 1 + res_set_sect: > RES_SET_LOC PAGE 1 + .cint: > DATMEM PAGE 1 + .bss : > DATMEM PAGE 1 + .const: > DATMEM PAGE 1 + .data: > DATMEM PAGE 1 + .sysmem: > DATMEM PAGE 1 + .stack: > STACKS PAGE 1 + SectionSync: load = SYNC_AREA PAGE 1 + DDRData: > DDR PAGE 1 + OCMCRam_data: > OCMCRAM PAGE 1 + GEM1L2_data: > GEM1L2 PAGE 1 +} + + Hi Rishabh, Thank you for your help. I am currently running a slightly modfied example ARP32 code from this directory: starterware/examples/mailbox_eve1_to_dsp1/eve1/src/ I didn't change anything in the code or the linker cmd file with respect to the MMU. (I did not see any MMU Init in the base example) The base example is using the default linker cmd file (please see attached). Does the base example mentioned have the necessary software to configure the MMU correctly? If not, can you provide information on where to find that example MMU init for EVE? So far I have confirmed we can access elements in OCM L3 space but not DDR space. Would the MMU be the only reason why? Thank you, -iFer + +Hi, Can you use API SblLibEVEMMUConfig to map the DDR space you are accessing. This API is defined in PROCESSOR_SDK_VISION_03_06_00_00\ti_components\drivers\pdk_01_10_02_07\packages\ti\boot\sbl_auto\sbl_lib\src\tda2xx\sbl_lib_tda2xx_platform.c. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0803902.txt b/sample_embedding_folder2/0803902.txt new file mode 100644 index 0000000000000000000000000000000000000000..bf269bc9a33fa7d43c7ab6d15af5503e5fdc1014 --- /dev/null +++ b/sample_embedding_folder2/0803902.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2EVM5777: how to use TDA2 Linux USB otg link USB Storage + +Query Text: +Part Number: TDA2EVM5777 Tool/software: Linux I want to be on a Linux system use USB Storage in TDA2EVM5777 USB otg it can't work + +Responses: +Hi Martin, The USB host mode is supported on Processor-SDK Linux. You may find the below thread useful. e2e.ti.com/.../553432 Regards Shravan + diff --git a/sample_embedding_folder2/0803971.txt b/sample_embedding_folder2/0803971.txt new file mode 100644 index 0000000000000000000000000000000000000000..9cf7202887094696f6ba4e4582dbbe8c52e7fc6e --- /dev/null +++ b/sample_embedding_folder2/0803971.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2EVM5777: PHY swich,(Ndk_nsp_hook.c) + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: DP83865 Tool/software: TI-RTOS Hello, everyone! Can I ask for help about switching the DP83865 phy to DP83867 on TDA2x evm board? I found there is a old question related to it. I also had a look the file "Ndk_nsp_hook.c",but I didn't find out any idea to change it, if anyone successfully switched the phy, please give me direction,thanks a lot. + +Responses: +Hi Yongliang, I believe this thread is a duplicate to the thread e2e.ti.com/.../798823 .Kindly close this thread. We can continue discussion on the other thread. Regards, Anand + diff --git a/sample_embedding_folder2/0804373.txt b/sample_embedding_folder2/0804373.txt new file mode 100644 index 0000000000000000000000000000000000000000..7e531f77feb8d84dff074f85b76f73c731ff157d --- /dev/null +++ b/sample_embedding_folder2/0804373.txt @@ -0,0 +1,16 @@ +Ticket Name: Linux/AM5728: TIDL application note + +Query Text: +Part Number: AM5728 Other Parts Discussed in Thread: TDA2 Tool/software: Linux Hi. I found this document talking about TDA2 Deep Learning. https://usermanual.wiki/Document/TIDeepLearningLibraryUserGuide.1793363394.pdf My question: A. Can I follow this to test the TI Deep Learning on the AM57xx? B. If no, Why AM57xx has no this kind of APP note? BR Rio + +Responses: +Rio Chan said: A. Can I follow this to test the TI Deep Learning on the AM57xx? No, you can't follow the document that you shared above to program TIDL on AM57x. That is applicable for SDKs for TDAx. Rio Chan said: B. If no, Why AM57xx has no this kind of APP note? Please follow below documentation to program on AM57x. + +This kind of user guide cannot be easily to let customer faster get into the TIDL. Also, if you compare the TDA2 DL document, it's more clear than the AM5 User guide. At least, the TDA2 document is more specific to clearly all the steps that AM5 user guide not do so. + +Hi Manisha: If you read the TDAx2 documentation, you will find this kind of chapter: in this section: Building Sample Test Application it will tell us those useful information: DSP Code Generation Tool version 7.4.2 EVE/ARP32 Code Generation Tool version 1.0.7 XDAIS version 7.22.00.03 DMA utility Library Version 00.08.00.00 MATH LIB for C66x version 3_1_0_0 But, in the AM57 user guide, there is no such clear instruction we can follow up. With this kind of situation, how do we educate our customers? Please specify. Thanks. BR Rio + +Hi Rio, The TIDL on vision SDK is different than on Sitara Processor SDK Linux. On Sitara processor side, TIDL library is a black box. The source code on DSP or EVE side is not opened, and hence they do not need to learn about the tool chain, compiler information etc. On Sitara Processor SDK Linux, TIDL library is accessed using TIDL API (underneath uses OpenCL to offload the acceleration on DSP/EVE) and runs on host A15 side. Hope that clarifies. If you have any other concern with current document, I will be happy to learn that and feedback to my team to improve the document. Regards, Manisha + +Hi Manisha: I have read the entire TIDL several times. I have some questions, Please see the posted picture. A. There is the TIDL Import tool I can download? ( I ever sent you an email, but got no reply yet.) B. What's the OpenCV / OpenCL version that we support? C. Regarding the grey part " ML application", what's the example of it? Where we can find it? D. Component off " TIDL SW stack", what is this? I'm preparing a Training slide to our customers, and I need to have 2~3 working examples (beside the TI DL demos) runs from steps by steps clearly. Do we have a training slide for letting customers feel better than just to see a DL demo? BR Rio + diff --git a/sample_embedding_folder2/0804755.txt b/sample_embedding_folder2/0804755.txt new file mode 100644 index 0000000000000000000000000000000000000000..248a063c3616c7603ea7307462b2dadc22c79edb --- /dev/null +++ b/sample_embedding_folder2/0804755.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2SX: u-boot & kernel device tree porting + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TPS65090 Tool/software: Linux Dear TI, I am now trying to porting linux to my custom board and stucking in device tree porting. Please help me with these questions. uboot device tree: question 1: Is it nessary to use devicetree in uboot? If not, how the periferals drivers be registered? question 2: Which stage is the compiled dtb file being used in?(sbl, uboot) question 3: I have tda2x evm at hand for now. I found it so hard to get my own dts file modify from dra7x-evm-vision.dts file. Because there are so many devices , which are defined in the dtsi files, but not present on my board. So which dts file should i reference to start my own dts file? kernel device tree: question 4: Are there any rules to organize the dtsi and dts files? i.e. Which devices should be placed in dtsi file? Regards, Liu Gan + +Responses: +Hi Liu, Which version of Linux / U-boot are you using? 1. Yes, DTBs need to be ported on both u-boot and kernel. 2. The DTB file is used in the second stage boot loader (u-boot) 3. Please use dra7-evm.dts as the reference device-tree. This device-tree is written for the base EVM board. 4. dtsi files should have all the devices listed. DTS files includes dtsi files and modifies attributes for the devices defined in dtsi. Regards Shravan + +Hi Shravan Thanks for your reply. I am working with TI VSDK v3.6 and the corresponding kernel/u-boot release tags. Do i need to disable the devices descripted in the included dtsi files, but are not uesed in my custom board if i take dra7-evm.dts as reference? dts snippet from dra7-evm.dts: What are these two nodes used for? What's more i can not find the min/max-microvolt definded here in the data manual of tps65903x. So i cannot decide how to modify or delete these nodes. Does TI have any released or traning docs/videos about the dts file ? Regards, Liu Gan + +Hi Liu, It is recommended you add the status = "disabled" attribute in the final dts file for devices you aren't using. For example if you're not using uart2, please add the below in your kernel device-tree &uart2 { status = "disabled"; }; The snippet in the above post lists the voltage regulators for MMC/SD card which is adjusted depending on the mode at which the sd card operates. If you're using the tps65903x PMIC, please refer to Documentation/devicetree/bindings/regulator/tps65090.txt for the device tree bindings. Regards Shravan + diff --git a/sample_embedding_folder2/0804800.txt b/sample_embedding_folder2/0804800.txt new file mode 100644 index 0000000000000000000000000000000000000000..e48ed9f5b5c6f1dc1f68e35973753e9a0101eb2a --- /dev/null +++ b/sample_embedding_folder2/0804800.txt @@ -0,0 +1,152 @@ +Ticket Name: RTOS/TDA2P-ACD: Is there any demo available in sdk v3.6 in TDA2PX? + +Query Text: +Part Number: TDA2P-ACD Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS Hi, I got this hardware below,I would like to capture image from ov2775,But I cannot find the correct usecase. I try the ISS Usecases, (TDA3x ONLY) but its for tda3x only.So which usecase should I use? a. TDA2Px EVM x 1 b. Fusion Card/EVM x 1 c. TIDA OV2775 cameras (with Fakra cables) x 1 Thanks! + +Responses: +Hi, I think single channel usecase works also on TDA2Px, can you try it? Rgds, Brijesh + +Hi Brijesh, I‘ve tried single channel usecase before,but it didn't work.It captures signal from vip but csi2.And the fusion board is csi2 port Here is the log. Thank you for your help. [IPU1-0] Single Camera Usecases + +[IPU1-0] ------------------------ + +[IPU1-0] 1: 1CH VIP capture + Display + +[IPU1-0] 2: 1CH VIP capture + Alg Frame Copy (DSP1) + Display + +[IPU1-0] 3: 1CH VIP capture + Alg Frame Copy (EVE1) + Display + +[IPU1-0] 4: 1CH VIP capture + Alg Frame Copy (A15) + Display + +[IPU1-0] 5: 1CH VIP capture + Edge Detect (EVE1) + Display + +[IPU1-0] 7: 1CH VIP capture (HDMI) + Sparse Optical Flow (EVE1) + Display + +[IPU1-0] 8: 1CH VIP capture + Alg Subframe Copy (EVE1) + Display + +[IPU1-0] a: 1CH VIP capture + ENC + DEC + VPE + Display + +[IPU1-0] b: 1CH VIP capture (HDMI) + Lane Detect (DSP1 + EVE1) + Display + +[IPU1-0] c: 1CH VIP capture (HDMI) + SOF (EVE1) + SFM (DSP1) + Display + +[IPU1-0] d: 1CH VIP capture (HDMI) + Traffic Light Recognition (TLR) (DSP1) + Display + +[IPU1-0] e: 1CH VIP capture (HDMI) + Pedestrian, Traffic Sign, Vehicle Detect 2 (EVE1 + DSP1) + Display + +[IPU1-0] f: 1CH VIP capture (HDMI) + FrontCam Analytics 2 (PD+TSR+VD+LD+TLR+SFM) (DSPx, EVEx) + Display (HDMI) + +[IPU1-0] g: 1CH VIP capture + QM Alg Frame Copy with FFI (DSP1) + Display + +[IPU1-0] h: 1CH VIP capture + QM Alg Frame Copy with FFI (EVE1) + Display (TDA3x only) + +[IPU1-0] i: 1CH VIP capture + Safe Frame Copy (A15) + Display + +[IPU1-0] n: NullSrc (File IO) + Decode + Display + +[IPU1-0] + +[IPU1-0] x: Exit + +[IPU1-0] + +[IPU1-0] Enter Choice: + +[IPU1-0] + +[IPU1-0] 28.483011 s: + +[IPU1-0] 28.588391 s: CAPTURE: Create in progress !!! + +[IPU1-0] 28.588604 s: CAPTURE: VIP1 Slice0 PortA capture mode is [ 8-bit] !!! + +[IPU1-0] 28.589550 s: CAPTURE: Create Done !!! + +[IPU1-0] 28.589885 s: DISPLAY: Create in progress !!! + +[IPU1-0] 28.590465 s: DISPLAY: Create Done !!! + +[IPU1-0] 28.590617 s: GRPXSRC: Create in progress !!! + +[IPU1-0] 30.263618 s: GRPXSRC: Create Done !!! + +[IPU1-0] 30.264228 s: DISPLAY: Create in progress !!! + +[IPU1-0] 30.264716 s: DISPLAY: Create Done !!! + +[IPU1-0] 30.264930 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1022 + +[IPU1-0] 30.265113 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 248224 B (242 KB) + +[IPU1-0] 30.265265 s: SYSTEM: Heap = SR_OCMC @ 0x00000000, Total size = 0 B (0 KB), Free size = 0 B (0 KB) + +[IPU1-0] 30.265418 s: SYSTEM: Heap = SR_DDR_CACHED @ 0x88503000, Total size = 368037888 B (350 MB), Free size = 356978688 B (340 MB) + +[IPU1-0] 30.265601 s: SYSTEM: Heap = SR_DDR_NON_CACHED @ 0xbfc00000, Total size = 127872 B (0 MB), Free size = 106368 B (0 MB) + +[IPU1-0] 30.272799 s: CHAINS: Sensor create in progress + +[IPU1-0] 30.273439 s: VIDEO_SENSOR: INST0 : I2C4 : I2C Addr = 0x30 + +[IPU1-0] 30.274324 s: + +[IPU1-0] 30.274629 s: i2cMdSubmitChan: i2c4 transfer to slave address 0x30 failed + +[IPU1-0] 30.274720 s: src/bsp_deviceI2c.c @ Line 765: + +[IPU1-0] 30.274812 s: I2C4: DEV 0x30: RD 0x300a ... ERROR !!! + +[IPU1-0] 30.274903 s: src/bsp_deviceI2c.c @ Line 836: + +[IPU1-0] 30.275025 s: I2C4: Error timeout 1 ms!!! + +[IPU1-0] 30.275483 s: Assertion @ Line: 510 in /home/lyp/hd2/tda2/sdk/vision_sdk/apps/src/rtos/video_sensor/src/vid_sensor.c: status == SYSTEM_LINK_STATUS_SOK : failed !!! + +[IPU1-0] 30.276276 s: Assertion @ Line: 510 in /home/lyp/hd2/tda2/sdk/vision_sdk/apps/src/rtos/video_sensor/src/vid_sensor.c: status == SYSTEM_LINK_STATUS_SOK : failed !!! + +[IPU1-0] 30.277801 s: *** UTILS: CPU KHz = 20000 Khz *** + +[IPU1-1] 30.266302 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 + +[IPU1-1] 30.266424 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 655360 B (640 KB), Free size = 645240 B (630 KB) + +[HOST ] 30.266821 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 + +[HOST ] 30.266821 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 6291456 B (6144 KB), Free size = 6246760 B (6100 KB) + +[DSP1 ] 30.267095 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 + +[DSP1 ] 30.267126 s: SYSTEM: Heap = LOCAL_L2 @ 0x00800000, Total size = 227264 B (221 KB), Free size = 227264 B (221 KB) + +[DSP1 ] 30.267156 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 524288 B (512 KB), Free size = 516376 B (504 KB) + +[DSP2 ] 30.267431 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 + +[DSP2 ] 30.267461 s: SYSTEM: Heap = LOCAL_L2 @ 0x00800000, Total size = 227264 B (221 KB), Free size = 227264 B (221 KB) + +[DSP2 ] 30.267492 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 524288 B (512 KB), Free size = 516376 B (504 KB) + +[EVE1 ] 30.268163 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 + +[EVE1 ] 30.268468 s: SYSTEM: Heap = LOCAL_L2 @ 0x40020000, Total size = 22528 B (22 KB), Free size = 22528 B (22 KB) + +[EVE1 ] 30.269017 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 254208 B (248 KB) + +[EVE2 ] 30.270450 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 + +[EVE2 ] 30.270725 s: SYSTEM: Heap = LOCAL_L2 @ 0x40020000, Total size = 22528 B (22 KB), Free size = 22528 B (22 KB) + +[EVE2 ] 30.271274 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 254208 B (248 KB) + +[IPU2 ] 30.272280 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 + +[IPU2 ] 30.272402 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 252016 B (246 KB) + +Hi, You should select 1 ch capture display UC under ISS Usecases [IPU1-0] ISS Usecases (TDA3x ONLY) [IPU1-0] --------------------------- [IPU1-0] 1: 1CH ISS capture + ISS ISP + ISS LDC+VTNF + Display [IPU1-0] 2: 4CH ISS capture + ISS ISP + Simcop + Surround View (DSP1) + Display [IPU1-0] 4: 3D SRV 4CH ISS capture + ISS ISP + DeWarp + Synthesis (DSP1) + Display [IPU1-0] 5: Surround View Calibration [IPU1-0] 6: 3D + 2D SRV 4CH ISS capture + ISS ISP + DeWarp + Synthesis (DSP1) + Display [IPU1-0] c: 4 Channel (2 ch per CSI2 Inst) ISS Capture (OV2775 Sensor) Display [IPU1-0] [IPU1-0] x: Exit [IPU1-0] [IPU1-0] Enter Choice: But please make sure you select the capture source as TIDA OV2775 under capture settings before running UC From Main menu: s -> 2 -> e Regards Surya + +Hi Surya I've set TIDA OV2775 as capture source.But it still doesn't work .It seems cannot access the slave address.Here's the log. [IPU1-0] 44.529280 s: CHAINS: Using DCC Profile from Driver [IPU1-0] 44.540078 s: *** UTILS: CPU KHz = 20000 Khz *** [IPU1-0] 44.540291 s: [IPU1-0] 44.540566 s: i2cMdSubmitChan: i2c4 transfer to slave address 0x3d failed [IPU1-0] 44.540718 s: src/bsp_deviceI2c.c @ Line 580: [IPU1-0] 44.540810 s: I2C4: DEV 0x3d: WR 0x0c = 0x0f ... ERROR !!! [IPU1-0] 44.540932 s: src/bsp_deviceI2c.c @ Line 602: [IPU1-0] 44.540993 s: I2C4: Error timeout 1 ms!!! [IPU1-0] 44.541054 s: Could not configure deserializer !!! [IPU1-0] 44.541115 s: configDeserializer failed!!! [IPU1-0] 44.541176 s: Power ON failed!!! [IPU1-0] 44.541237 s: Assertion @ Line: 388 in /home/lyp/hd2/tda2/sdk/vision_sdk/apps/src/rtos/iss/src/common/app_util_iss.c: status == 0 : failed !!! [IPU1-0] 44.541877 s: Assertion @ Line: 388 in /home/lyp/hd2/tda2/sdk/vision_sdk/apps/src/rtos/iss/src/common/app_util_iss.c: status == 0 : failed !!! [IPU1-1] 44.520527 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 Regards lyp + +Hi, From logs, looking like deserializer configuration is failed [IPU1-0] 44.541115 s: configDeserializer failed!!! [IPU1-0] 44.541176 s: Power ON failed!!! Could you please check your fusion board has powered on or not ? Regards Surya + +Hi, Thank you for your help. I resoved my issue.The ds90ub60 jumper(s4,s5) is not right.I download the schematic of fusion board and turn it correct and it can capture the image now. Regards lyp + diff --git a/sample_embedding_folder2/0805338.txt b/sample_embedding_folder2/0805338.txt new file mode 100644 index 0000000000000000000000000000000000000000..b51aee7bc804cde968298afa622a023786bef628 --- /dev/null +++ b/sample_embedding_folder2/0805338.txt @@ -0,0 +1,30 @@ +Ticket Name: Linux: VPE Link drops too many frames in TIDL OD Usecase in Linux + +Query Text: +Tool/software: Linux Hi, I converted TIDL OD Usecase from RTOS to Linux. The links of usecase are created normally and started. However, Only full green screen was showed in display. When i printed statistics of each link, from NullSrc to Decode link, the 30 FPS was showed both input fps and output fps. However, from VPE link, Out Drop FPS increased to about 29 FPS like below capture image. VPE link is executed on IPU1_0. Could you suggest any solution? Thanks in advance. Regards, Yoo. + +Responses: +Hi Yoo, it seems that the VPE link do not receive enough output buffers, can you check if the link after VPE link is holding buffers for longer period of time. Regards, Yordan + +Hi, Thanks for answering. Could you explain the way how to check which link after VPE link is holding buffers for longer period of time? Is that showed when i print link statistics? Then, could you let me know which element indicates that time? Thanks again. Best regards, Yoo. + +Hi, could you post the complete statistics log (you can attach it as a text file). Regards, Yordan + +Hi, I attached statistics log file. log_tidl_linux.txt Thank you. Regards, Yoo. + +Any updates here? I checked FPS in a case that has only NullSrc(A15) -> IPCOUT/IN(A15->IPU1_0) -> Decode(IPU1_0) -> VPE(IPU1_0) -> Display(IPU1_0). The FPS was showed normally in VPE link. However, after i add Dup link, VPE drops almost every frames. Then, should i edit Dup link? If that, could you suggest any solution? Thank you again. Regards, Yoo. + +Hi, I see "Local Link Latency" is quite high for tidl link, but I am not sure if it is higher than expected or normal. Let me ping VisionSDK experts to provide more help. Regards, Yordan + +Hi, As Yordan suggested the link latemcy for TIDL link is very high so its keeping the buffer and causes an unavailability of buffer in VPE link which cause a drop. Even you are running it in 30FPS which is not possible in any scenario. Please check the datasheet of vision sdk. If you are running with release profile with all 4 EVE core enabled and running a OPP_HIGH MLO the you can get around 20-22 FPS with TI provided network and params files. Regards, Anuj + +Could you let me know where should i set to run OPP_HIGH MLO? I really appreciate to both to you guys. Regards, Yoo. + +I attached the link statistics of TIDL BIOS. It executed normally. RTOS_TIDL.txt And i checked Local Latency of TIDL link. However, i think the difference of Local Latency of TIDL link is not very much? And i rebuild as release mode after editing APP/configs/tda2xx-evm-linux-all/cfg.mk. The fps of VPE was a little increased. However, from SYNC link, there aren't any number in output statistics. The below is log. [HOST] [IPU2 ] 60.651131 s: [ SYNC_LINK_0 ] Link Statistics, [HOST] [IPU2 ] 60.651192 s: ****************************** [HOST] [IPU2 ] 60.651253 s: [HOST] [IPU2 ] 60.651314 s: Elapsed time = 14139 msec [HOST] [IPU2 ] 60.651375 s: [HOST] [IPU2 ] 60.651467 s: New data Recv = 34.58 fps [HOST] [IPU2 ] 60.651558 s: Driver/Notify Cb = 30.27 fps [HOST] [IPU2 ] 60.651619 s: [HOST] [IPU2 ] 60.651680 s: Input Statistics, [HOST] [IPU2 ] 60.651741 s: [HOST] [IPU2 ] 60.651772 s: CH | In Recv | In Drop | In User Drop | In Process [HOST] [IPU2 ] 60.651863 s: | FPS | FPS | FPS | FPS [HOST] [IPU2 ] 60.651955 s: -------------------------------------------------- [HOST] [IPU2 ] 60.652046 s: 0 | 4.24 3.74 0. 0 0. 0 [HOST] [IPU2 ] 60.652168 s: [HOST] [IPU2 ] 60.652229 s: Output Statistics, [HOST] [IPU2 ] 60.652260 s: [HOST] [IPU2 ] 60.652321 s: CH | Out | Out | Out Drop | Out User Drop [HOST] [IPU2 ] 60.652382 s: | ID | FPS | FPS | FPS [HOST] [IPU2 ] 60.652504 s: --------------------------------------------- [HOST] [IPU2 ] 60.652626 s: [HOST] [IPU2 ] 60.652656 s: [ SYNC_LINK_0 ] LATENCY, [HOST] [IPU2 ] 60.652717 s: ******************** [HOST] [IPU2 ] 60.652778 s: [HOST] [IPU2 ] 60.656194 s: [HOST] [IPU2 ] 60.656255 s: [ IPC_OUT_4 ] Link Statistics, [HOST] [IPU2 ] 60.656316 s: ****************************** [HOST] [IPU2 ] 60.656377 s: [HOST] [IPU2 ] 60.656469 s: Elapsed time = 14375 msec [HOST] [IPU2 ] 60.656530 s: [HOST] [IPU2 ] 60.656591 s: Driver/Notify Cb = 32.83 fps [HOST] [IPU2 ] 60.656682 s: [HOST] [IPU2 ] 60.656713 s: Input Statistics, [HOST] [IPU2 ] 60.656774 s: [HOST] [IPU2 ] 60.656835 s: CH | In Recv | In Drop | In User Drop | In Process [HOST] [IPU2 ] 60.656926 s: | FPS | FPS | FPS | FPS [HOST] [IPU2 ] 60.656987 s: -------------------------------------------------- [HOST] [IPU2 ] 60.657109 s: [HOST] [IPU2 ] 60.657140 s: Output Statistics, [HOST] [IPU2 ] 60.657201 s: [HOST] [IPU2 ] 60.657231 s: CH | Out | Out | Out Drop | Out User Drop [HOST] [IPU2 ] 60.657323 s: | ID | FPS | FPS | FPS [HOST] [IPU2 ] 60.657414 s: --------------------------------------------- [HOST] [IPU2 ] 60.657658 s: [HOST] [IPU2 ] 60.657719 s: [ IPC_OUT_4 ] LATENCY, [HOST] [IPU2 ] 60.657780 s: ******************** [HOST] [IPU2 ] 60.657841 s: [HOST] [IPU2 ] 60.666931 s: [HOST] [IPU2 ] 60.666992 s: [ IPC_IN_1 ] Link Statistics, [HOST] [IPU2 ] 60.667083 s: ****************************** [HOST] [IPU2 ] 60.667144 s: [HOST] [IPU2 ] 60.667175 s: Elapsed time = 14369 msec [HOST] [IPU2 ] 60.667266 s: [HOST] [IPU2 ] 60.667297 s: Driver/Notify Cb = 32.91 fps [HOST] [IPU2 ] 60.667388 s: [HOST] [IPU2 ] 60.667480 s: Input Statistics, [HOST] [IPU2 ] 60.667541 s: [HOST] [IPU2 ] 60.667571 s: CH | In Recv | In Drop | In User Drop | In Process [HOST] [IPU2 ] 60.667663 s: | FPS | FPS | FPS | FPS [HOST] [IPU2 ] 60.667754 s: -------------------------------------------------- [HOST] [IPU2 ] 60.667846 s: [HOST] [IPU2 ] 60.667907 s: Output Statistics, [HOST] [IPU2 ] 60.667968 s: [HOST] [IPU2 ] 60.667998 s: CH | Out | Out | Out Drop | Out User Drop [HOST] [IPU2 ] 60.668090 s: | ID | FPS | FPS | FPS [HOST] [IPU2 ] 60.668151 s: --------------------------------------------- [HOST] [IPU2 ] 60.668395 s: [HOST] [IPU2 ] 60.668486 s: [ IPC_IN_1 ] LATENCY, [HOST] [IPU2 ] 60.668547 s: ******************** [HOST] [IPU2 ] 60.668608 s: [HOST] [IPU2 ] 60.668669 s: [ IPC_IN_1 ] Detailed IPC Latency Statistics [ DSP1 -> IPU2 ] , [HOST] [IPU2 ] 60.668761 s: *************************************************************** [HOST] [IPU2 ] 60.673580 s: [HOST] [IPU2 ] 60.673671 s: [ ALG_OBJECT_DRAW ] Link Statistics, [HOST] [IPU2 ] 60.673763 s: ****************************** [HOST] [IPU2 ] 60.673824 s: [HOST] [IPU2 ] 60.673854 s: Elapsed time = 14352 msec [HOST] [IPU2 ] 60.673946 s: [HOST] [IPU2 ] 60.673976 s: [HOST] [IPU2 ] 60.674037 s: Input Statistics, [HOST] [IPU2 ] 60.674098 s: [HOST] [IPU2 ] 60.674129 s: CH | In Recv | In Drop | In User Drop | In Process [HOST] [IPU2 ] 60.674220 s: | FPS | FPS | FPS | FPS [HOST] [IPU2 ] 60.674983 s: -------------------------------------------------- [HOST] [IPU2 ] 60.675105 s: [HOST] [IPU2 ] 60.675135 s: Output Statistics, [HOST] [IPU2 ] 60.675196 s: [HOST] [IPU2 ] 60.675257 s: CH | Out | Out | Out Drop | Out User Drop [HOST] [IPU2 ] 60.675318 s: | ID | FPS | FPS | FPS [HOST] [IPU2 ] 60.675410 s: --------------------------------------------- [HOST] [IPU2 ] 60.675715 s: [HOST] [IPU2 ] 60.675745 s: [ ALG_OBJECT_DRAW ] LATENCY, [HOST] [IPU2 ] 60.675806 s: ******************** [HOST] [IPU2 ] 60.675867 s: [HOST] [IPU2 ] 60.679344 s: [HOST] [IPU2 ] 60.679405 s: [ DISPLAY ] Link Statistics, [HOST] [IPU2 ] 60.679527 s: ****************************** [HOST] [IPU2 ] 60.679588 s: [HOST] [IPU2 ] 60.679649 s: Elapsed time = 14351 msec [HOST] [IPU2 ] 60.679710 s: [HOST] [IPU2 ] 60.679771 s: [HOST] [IPU2 ] 60.679802 s: Input Statistics, [HOST] [IPU2 ] 60.679863 s: [HOST] [IPU2 ] 60.679893 s: CH | In Recv | In Drop | In User Drop | In Process [HOST] [IPU2 ] 60.679985 s: | FPS | FPS | FPS | FPS [HOST] [IPU2 ] 60.680076 s: -------------------------------------------------- [HOST] [IPU2 ] 60.680168 s: [HOST] [IPU2 ] 60.680229 s: Output Statistics, [HOST] [IPU2 ] 60.680259 s: [HOST] [IPU2 ] 60.680320 s: CH | Out | Out | Out Drop | Out User Drop [HOST] [IPU2 ] 60.680381 s: | ID | FPS | FPS | FPS [HOST] [IPU2 ] 60.680503 s: --------------------------------------------- [HOST] [IPU2 ] 60.680747 s: [HOST] [IPU2 ] 60.680808 s: [ DISPLAY ] LATENCY, [HOST] [IPU2 ] 60.680869 s: ******************** [HOST] [IPU2 ] 60.680930 s: [HOST] [IPU2 ] 60.680991 s: [HOST] [IPU2 ] 60.681052 s: [ DISPLAY VID1 ] Additional Statistics, [HOST] [IPU2 ] 60.681113 s: ************************************ [HOST] [IPU2 ] 60.681205 s: Driver Queued = 0 frames [HOST] [IPU2 ] 60.681266 s: Driver De-Queued = 0 frames [HOST] [IPU2 ] 60.681357 s: Driver Displayed = 0 frames [HOST] [IPU2 ] 60.681418 s: Driver Repeated = 0 frames [HOST] [IPU2 ] 60.681510 s: [HOST] [IPU2 ] 60.681571 s: ##### DSS DISPC Underflow Count = 0 ##### Could you suggest the way how i check which link doesn't return buffers? Thanks again. Regards, Yoo. + +Hi, I edited OPPMODE from opp_nom to opp_high in sbl_auto_component.mk file. However, i'm not sure this change what you did suggested. Besides, does OPP_HIGH works in linux enviroment? Thanks again. Regards, Yoo. + +Hi, You do not need to modify any files. After building SBL you have to pick MLO from opp_high folder instead of opp-nom folder. Regards, Anuj + +Hi, Its been long since any updates on this thread. I hope the issue is resolved. If not then please reply below or create a new thread for a different query Regards, Anuj + diff --git a/sample_embedding_folder2/0805840.txt b/sample_embedding_folder2/0805840.txt new file mode 100644 index 0000000000000000000000000000000000000000..7d02e8f4091949503ce3681cdb9f19e9fe1623ae --- /dev/null +++ b/sample_embedding_folder2/0805840.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2EXEVM: bios pdk + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: SYSCONFIG Tool/software: TI-RTOS hello, i have a same issue in tda2ex, details below: after runing into system, i check the gpio2 reg CM_L4PER_GPIO2_CLKCTRL = 0x00020001 GPIO_SYSCONFIG = 0x1d after i reset gpio2 by set GPIO_SYSCONFIG = 0x1f the GPIO_SYSSTATUS can't Reset completed , the value is always 0x0 the question i want ask is that : why i can't reset gpio2 again but , when i set CM_L4PER_GPIO2_CLKCTRL [8] = 1, it reset ok. can you give me some help? + +Responses: +Hi, When CM_L4PER_GPIO2_CLKCTRL = 0x00020001, GPIO is in idle state. Hence you are not able to reset the GPIO. You need to make sure that GPIO2 is fully functional i.e. CM_L4PER_GPIO2_CLKCTRL =0x00000001. Regards, Rishabh + diff --git a/sample_embedding_folder2/0806484.txt b/sample_embedding_folder2/0806484.txt new file mode 100644 index 0000000000000000000000000000000000000000..e01059a3f071c58734c96bbd67ffa3a26e24747b --- /dev/null +++ b/sample_embedding_folder2/0806484.txt @@ -0,0 +1,16 @@ +Ticket Name: Linux: VPE link of TIDL OD Usecase in Linux drops too many frames. + +Query Text: +Tool/software: Linux Hi, I'm trying to port TIDL OD Usecase from BIOS to Linux. The usecase created and executed. However, the FPS is too slow. The below is usecase flow. (IPC IN/OUT links were contained, but skip here) NullSrc (A15) --> Decode (IPU1_0) --> VPE (IPU1_0) -->DUP (IPU1_0) --> TIDL_PREPROC(IPU1_0) --> TIDL (EVE1~4) --> MERGE_OD (DSP1) --> TIDL (DSP) ---I -----------------------------------------------------------------------------------------------------------------------------I MERGE(IPU1_0) --> SYNC(IPU1_0) -> TIOP(DSP) --> OBJ DRAW (IPU1_0) --> DISPLAY (IPU1_0) And from NullSrc to DECODE link, the FPS is keeped as 30FPS. However, in VPE, it drops 25FPS and after that it decreased more, the display link shows 1.x fps. Is there any suggestion? Should i modify something if i want to use EVE/DSP in Linux environment? Or should i add something to synchronize each core in Linux? Please help me. Thanks in advance. Regards, Yoo. + +Responses: +These are logs both of Linux and BIOS. 1. Linux [HOST] [IPU2 ] 141.917830 s: #### EVE CLK = 535.0 Mhz [HOST] [IPU2 ] 141.918013 s: #### DSP CLK = 750.0 Mhz [HOST] [IPU2 ] 141.918166 s: #### IPU CLK = 212.800000 Mhz [HOST] [IPU2 ] 141.918288 s: #### A15 CLK = 1000.0 Mhz [HOST] [EVE1 ] 141.505795 s: LOAD: CPU: 26.1% HWI: 0.2%, SWI:0.2% [HOST] [EVE1 ] 141.506100 s: [HOST] [EVE1 ] 141.506283 s: LOAD: TSK: SYSTEM_TSK_MULTI_MBX: 25.4% [HOST] [EVE1 ] 141.506588 s: LOAD: TSK: MISC : 0.3% [HOST] [EVE1 ] 141.506832 s: [HOST] [EVE2 ] 141.608918 s: [HOST] [EVE2 ] 141.609070 s: LOAD: CPU: 26.2% HWI: 0.2%, SWI:0.2% [HOST] [EVE2 ] 141.609375 s: [HOST] [EVE2 ] 141.609558 s: LOAD: TSK: SYSTEM_TSK_MULTI_MBX: 25.6% [HOST] [EVE2 ] 141.609863 s: LOAD: TSK: MISC : 0.2% [HOST] [EVE2 ] 141.610107 s: [HOST] [EVE3 ] 141.712011 s: [HOST] [EVE3 ] 141.712194 s: LOAD: CPU: 26.0% HWI: 0.2%, SWI:0.2% [HOST] [EVE3 ] 141.712468 s: [HOST] [EVE3 ] 141.712651 s: LOAD: TSK: SYSTEM_TSK_MULTI_MBX: 25.4% [HOST] [EVE3 ] 141.712956 s: LOAD: TSK: MISC : 0.2% [HOST] [EVE3 ] 141.713200 s: [HOST] [EVE4 ] 141.815134 s: [HOST] [EVE4 ] 141.815287 s: LOAD: CPU: 26.0% HWI: 0.2%, SWI:0.2% [HOST] [EVE4 ] 141.815592 s: [HOST] [EVE4 ] 141.815775 s: LOAD: TSK: SYSTEM_TSK_MULTI_MBX: 25.4% [HOST] [EVE4 ] 141.816080 s: LOAD: TSK: MISC : 0.2% 2. BIOS [IPU1-0] 35.658512 s: #### EVE CLK = 535.0 Mhz [IPU1-0] 35.658634 s: #### DSP CLK = 600.0 Mhz [IPU1-0] 35.658756 s: #### IPU CLK = 212.800000 Mhz [IPU1-0] 35.658848 s: #### A15 CLK = 750.0 Mhz [IPU1-1] 35.760446 s: [IPU1-1] 35.760507 s: LOAD: CPU: 1.2% HWI: 0.6%, SWI:0.4% [IPU1-1] 35.760629 s: [IPU1-1] 35.760721 s: LOAD: TSK: MISC : 0.2% [IPU1-1] 35.760782 s: [HOST ] 35.861343 s: [HOST ] 35.861343 s: LOAD: CPU: 11.9% HWI: 0.1%, SWI:0.1% [HOST ] 35.861373 s: [HOST ] 35.861373 s: LOAD: TSK: MISC : 11.7% [HOST ] 35.861373 s: [DSP1 ] 35.961202 s: [DSP1 ] 35.961233 s: LOAD: CPU: 18.2% HWI: 0.2%, SWI:0.1% [DSP1 ] 35.961263 s: [DSP1 ] 35.961263 s: LOAD: TSK: SYSTEM_TSK_MULTI_MBX: 17.6% [DSP1 ] 35.961294 s: LOAD: TSK: MISC : 0.3% [DSP1 ] 35.961324 s: [DSP2 ] 36.061245 s: [DSP2 ] 36.061245 s: LOAD: CPU: 0.2% HWI: 0.1%, SWI:0.0% [DSP2 ] 36.061276 s: [DSP2 ] 36.061306 s: LOAD: TSK: MISC : 0.1% [DSP2 ] 36.061337 s: [EVE1 ] 36.161715 s: [EVE1 ] 36.161867 s: LOAD: CPU: 90.7% HWI: 0.3%, SWI:0.2% [EVE1 ] 36.162172 s: [EVE1 ] 36.162355 s: LOAD: TSK: SYSTEM_TSK_MULTI_MBX: 90.0% [EVE1 ] 36.162660 s: LOAD: TSK: MISC : 0.2% [EVE1 ] 36.162874 s: [EVE2 ] 36.264137 s: [EVE2 ] 36.264289 s: LOAD: CPU: 83.8% HWI: 0.3%, SWI:0.2% [EVE2 ] 36.264594 s: [EVE2 ] 36.264777 s: LOAD: TSK: SYSTEM_TSK_MULTI_MBX: 83.1% [EVE2 ] 36.265143 s: LOAD: TSK: MISC : 0.2% [EVE2 ] 36.265387 s: [EVE3 ] 36.366131 s: [EVE3 ] 36.366314 s: LOAD: CPU: 84.2% HWI: 0.3%, SWI:0.2% [EVE3 ] 36.366589 s: [EVE3 ] 36.366772 s: LOAD: TSK: SYSTEM_TSK_MULTI_MBX: 83.5% [EVE3 ] 36.367077 s: LOAD: TSK: MISC : 0.2% [EVE3 ] 36.367321 s: [EVE4 ] 36.467974 s: [EVE4 ] 36.468126 s: LOAD: CPU: 78.8% HWI: 0.3%, SWI:0.2% [EVE4 ] 36.468431 s: [EVE4 ] 36.468614 s: LOAD: TSK: SYSTEM_TSK_MULTI_MBX: 78.1% [EVE4 ] 36.468919 s: LOAD: TSK: MISC : 0.2% [EVE4 ] 36.469133 s: [IPU2 ] 36.569755 s: [IPU2 ] 36.569785 s: LOAD: CPU: 0.9% HWI: 0.4%, SWI:0.3% [IPU2 ] 36.569907 s: [IPU2 ] 36.569999 s: LOAD: TSK: MISC : 0.2% + +Hi, Can you share the complete log and check the local latency of TIDL link running on EVE. It should be around 170-190ms. Regards, Anuj + +Hi, I checked local latency of each TIDL EVE in Linux. That was recorded as about 207 ms. In BIOS, as you say each EVE TIDL local latency was about 185 ms. How can i optimize to linux? I didn't change anything in TIDL link of EVE. Is this problem about reading network parameter or other something? Could you suggest? Thanks again. Regards, Yoo. + +Hi, Please share the log first. Regards, Anuj + +Hi, Its been long since any update on this thread. I hope the issue is resolved. If not then please reply below or create a new thread for a different issue. Regards, Anuj + diff --git a/sample_embedding_folder2/0807726.txt b/sample_embedding_folder2/0807726.txt new file mode 100644 index 0000000000000000000000000000000000000000..e66f04a90756c1a0467e5b51e10e8c6f509a7ad2 --- /dev/null +++ b/sample_embedding_folder2/0807726.txt @@ -0,0 +1,18 @@ +Ticket Name: TDA2EVM5777: Cannot see any output of semantic segmentation, trained based on the Caffe-Jacinto's Jsegnet + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hi, After successful training and testing on the PC till the sparsification stage, I used the import tool to to generate the net and prm files of jsegnet. Converted the video as well which is also based on my previous experience of testing the demo version. However, when I run these files on the tda2, all I can see is the static output frame of my video which isn't moving at all. I didn't see any error while importation and execution, so I assume that there is no problem in the network. I used the semseg usecase with default settings to run my trained model and input video, however, my model is trained on two classes rather than four as I have only two objects. Things I noticed while execution: Cannot allocate the object for sync1,2,3 and algorithm 0,1,2,3,...7. Other than this, I cannot find any possible error. Another thing is that when I pause and resume my video it runs for that particular interval without any segmentation result otherwise it is stuck. Here is the log file.2330.log.txt. Kindly respond me as soon as possible. Thank you. With best regards, H.M. Owais + +Responses: +Hi, Please refer to below two e2e threads for training and running custom data set using semantic segmentation use case e2e.ti.com/.../660676 e2e.ti.com/.../794965 Thanks, Praveen + +Hi Praveen, Thank you for your reply, however, I have already seen these threads and couldn't find any relevant solution after searching a lot on e2e threads. I am dealing with different problem. I can try to explain it again. 1. I have done successful training with my own dataset (not using cityscape). My dataset has only two objects which need pixel-wise classification. 2. I used caffe-jacinto to train and tested on the PC successfully. My test dataset shows output successfully on the PC. 3. I converted the sparsed model using the import tool and generated BIN files for parameter and network. The import tool showed successful importation and generation of files. 4. I have also converted the test video as per the given instructions. My test video works well with other models. 5. I am using the same usecase, semSeg given in the demo codes with all default settings to display the results. This is what I have done so far. Now here are my questions, 1. Why I can't see the output of my two objects? it just shows me the test video frame, nothing else. 2. Where I can find the network output in the tidl_algplugin.c? can you precisely tell me the function to display it?\ 3. I have also attached the log file in the above question, can you have a look at it and tell me where the problem is ? 4.. If there is any helpful document which contains all the information about tidl_algplugin.c. Kindly share it with me as well. Thank you. With best regards, H.M. Owais + +Hi, From the log it seems sync link is dropping frame. Can you increase SYNC_THRESHOLD to 3000 is your semseg usecase. Regards, Anuj + +Hi, Its been long since any update on this. I hope the issue is resolved, if not then please reply below or create anew thread for different issue. Regards, Anuj + +Hi Anuj, Sorry for being late in replying the answer. The issue was with the input inData file. I resolved it back then. Thank you for your response. With best regards, H.M. Owais + +Hi, You can mark any answer as it resolved your thread and close it. Regards, Anuj + diff --git a/sample_embedding_folder2/0808654.txt b/sample_embedding_folder2/0808654.txt new file mode 100644 index 0000000000000000000000000000000000000000..ad07e26d7208c74ef01c96f8191eaf507cbc282b --- /dev/null +++ b/sample_embedding_folder2/0808654.txt @@ -0,0 +1,48 @@ +Ticket Name: TDA2EVM5777: how to modify input file for TDA2 evm on SDcard + +Query Text: +Part Number: TDA2EVM5777 Hi everybody , please about the input video file to be placed together with the final files on the SD card of the board. The video provided from TI ( inputdata ) , that is also used in the segmatic demo, is in a binary format and it is not possible to convert it to a standard video file. I would like to know how to change the input video , and how to create it froma a standard video format . best regards Carlo + +Responses: +Hi, Can you tell me which usecase are you trying? Regards, Anuj + +Hi Anuj, We were using the Semantic segmentation usecase. Regards, Aleksander + +Please refer below thread for input video generation https://e2e.ti.com/support/processors/f/791/t/660676?tisearch=e2e-sitesearch&keymatch=indata%20inheader + +I tried to convert the video using the ffmpeg tool as described in the other thread. The video is resized to 1024x512 as required by the input of segmentation use case. After substituting the demo video with the converted one, the output from the board is noisy and the image is not clear. The converted video is fine when I visualize it on VLC on PC. I attached a picture of the output video as well as the output of the serial terminal. + +Hi, There is some issue with the input file. Have you changed inHeader_semSeg file accordingly? Regards, Anuj + +Hi, No, in this case I only substituted the video file of the demo. In the demo there was no header file + +Hi, When you change the input video file then you have to change the input header file also. Otherwise it will read wrong size of frame. Please generate header file with new input video file. Regards, Anuj + +Hi Anuj, I generated the header file. Now the frames are displayed correctly, but the video is not fluid. It seems that before proceeding to the next frame it goes back for some frames than it moves forward. I uploaded a video of the output. + +the zip file contains the generated header and the video. nydrive_resized_bck.zip + +Hi, In VSDK we rewind the file when it reaches EOF. So it seems like you are reading versy small video with very less frames. Can you try with greater no of frames video. Regards, Anuj + +Hi Anuj, The video is long enough. During conversion I used a big number of frames. If you notice from the recording, the video goes some frames back than proceeds the next frames. Regards, Alex + +Hi, From the video it seems like it is running in a loop. I hope you are reading encoded file and has not done any modification in usecase except using your own file instead ti provided one. Regards, Anuj + +Hi, I confirm, I did not do any modification in the use case. Only converted the video and generated the header file. In the thread above I also included the video and the header. Regards Alex + +Hi, You have to use a null link to dump the the file which is going to decoder or the next link and find out where the frames are getting repeated. As from the video is not coming back. It just running 5-6 frame sin a loop. Regards, Anuj + +Hi, Its been very long since any update on this thread. I hope the issue is resolved. If not the please reply below or create a new thread for a different issue. Regards, Anuj + +Hi, Sorry, but I missed the email notifying me about your post on this thread. How to create a null link which dumps the file? Can you please write a detailed guide on how to do this? Regards, Alex + +Hi, We already have a null link, You just need to add that link in your usecase txt file and regenerate usecase. Please refer VisionSDK_ApiGuide doc available in doc folder and look for Null link. You can also refer below usecase for null link params vision_sdk\apps\src\rtos\usecases\null_src_dec_display Regards, Anuj + +So you mean, it is enough that I add the keyword "NullSource" in the file chains_semSeg.txt? If so, the NullSource link is already present the in the usecase before the Decode link. + +Hi, I have asked you to add null link not nullSource link. i have provide the reference usecase also. I have told, you have to add this null link after decoder link using a dup link. The apiguide is also available in doc folder in case of any issue with the param setting of null link. Regards, Anuj + +Hi, I'm sorry, maybe for you it is very clear what you are asking, but for me it is not as I'm not an expert on TI framework. U asked me to take as a reference vision_sdk\apps\src\rtos\usecases\null_src_dec_display. And so did I, in particular I'm referring to the txt file that generates the c files. Here is the content of this file: UseCase: chains_nullSrcDecDisplay NullSource (IPU1_0) -> Dup Dup -> Decode -> VPE -> Display Dup -> Null So referring to this file, I see only NullSource, so I have no idea what you mean by "null link and not nullSource". Here is the segmentation usecase: UseCase: chains_semSeg NullSource -> Decode -> Dup Dup -> Merge (A15) Dup -> Alg_tidlpreproc (A15) Alg_tidlpreproc (A15) -> Alg_tidl_Eve1 (EVE1) Alg_tidlpreproc (A15) -> Alg_tidl_Eve2 (EVE2) Alg_tidlpreproc (A15) -> Alg_tidl_Eve3 (EVE3) Alg_tidlpreproc (A15) -> Alg_tidl_Eve4 (EVE4) Alg_tidl_Eve1 (EVE1) -> Alg_tidlpostproc (A15) Alg_tidl_Eve2 (EVE2) -> Alg_tidlpostproc (A15) Alg_tidl_Eve3 (EVE3) -> Alg_tidlpostproc (A15) Alg_tidl_Eve4 (EVE4) -> Alg_tidlpostproc (A15) Alg_tidlpostproc (A15) -> Merge (A15) Merge (A15) -> Sync (A15) -> Alg_tidlpostproc_cpy (A15) Alg_tidlpostproc_cpy (A15) -> Display GrpxSrc -> Display_Grpx What am I supposed to modify and how? After modifying this, should I modify also the chains_semSeg.c file? If yes, how? As far as I'm concerned, instructions on how to modify the c file are not included in docs. I have same problem if I want to modify the usecase later to take input from camera. Thank you Regards + +Hi, If you do not have much idea on TI framework then i would first advice you to go through training videos. link are available with vision_sdk\docs\Index.htm. Go through the Api guide also as it will tell about the params of all link. Yes after modifying the the txt file you can generate the usecase file but you need to modify semseg,c file, its been not been mentioned in docs as there could be thousands number of usecase which we can not explain in docs. That is why i asked you to take a reference of other usecase file where params for null and dup link is set. Until you wont have much idea on our framework it will be difficult for us to answer and difficult for you as well to understand our answer. So i will suggest you to take some time and go through the docs and training videos. Run some sample usecase link single camera display, null source decode display etc and modify them and run it again. I hope i have made it clear myself, incase of any issue with the getting started with VSDK please post a new query. And close this one. If in future, you still face this isue afer going through all docs and the pointer shared in this thread, please raise a thread and we will help you. Regards, Anuj + diff --git a/sample_embedding_folder2/0809598.txt b/sample_embedding_folder2/0809598.txt new file mode 100644 index 0000000000000000000000000000000000000000..f611cb7457148eb4fa5d296dd7e43ccc7aa09696 --- /dev/null +++ b/sample_embedding_folder2/0809598.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/AM5728: Video encode by IVA + +Query Text: +Part Number: AM5728 Other Parts Discussed in Thread: TDA2, Tool/software: TI-RTOS hi, AM5728 and TDA2 have a IVA accelerator to encode video, in TDA2 rtos sdk i finde out rtos based program for video encoding is it possible to use that for am5728 ?? because for am5728 ti support IVA just for Linux ?! + +Responses: +Hi, Sorry the AM57x RTOS driver only support VIP and DSS, not IVA. There is not plan for this. Regards, Eric + diff --git a/sample_embedding_folder2/0809599.txt b/sample_embedding_folder2/0809599.txt new file mode 100644 index 0000000000000000000000000000000000000000..cbeff4002742279712a14ac5672966a7d859e7e0 --- /dev/null +++ b/sample_embedding_folder2/0809599.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2P-ACD: Video encode by IVA + +Query Text: +Part Number: TDA2P-ACD Other Parts Discussed in Thread: TDA2, AM5728 Tool/software: TI-RTOS hi, AM5728 and TDA2 have a IVA accelerator to encode video, in TDA2 rtos sdk i finde out rtos based program for video encoding is it possible to use that for am5728 ?? because for am5728 TI support IVA just for Linux ?! + +Responses: +Hello, This thread is duplicated with this one: https://e2e.ti.com/support/processors/f/791/t/809598 Please do not open multiple threads for the same question. I am closing this one. Best Regards, Margarita + diff --git a/sample_embedding_folder2/0810019.txt b/sample_embedding_folder2/0810019.txt new file mode 100644 index 0000000000000000000000000000000000000000..e2d5ddca958741b27e2891a1315183893e9f9507 --- /dev/null +++ b/sample_embedding_folder2/0810019.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2SX: How to control gpio in linux? + +Query Text: +Part Number: TDA2SX Tool/software: Linux Hi, We use gpio7_27 to enable the CAN interface in hardware, so before using the CAN interface, we need to set the GPIO7_27 pin to low level. How do I use gpio in Linux? I am using the hardware TDA2SX, using the VSDK version of 03-06-00-00. Regards Kepei + +Responses: +Hi, You can use the GPIO hog device tree entry so that the GPIO line is driven low. Refer to Linux kernel documentation on GPIO-hog https://www.kernel.org/doc/Documentation/devicetree/bindings/gpio/gpio.txt NIKHIL d + +Hi NIKHIL, Thank you for you reply! So i can used this code to set the gpio to 0? gpio_enable <&gpio7 27 GPIO_ACTIVE_HIGH> Regards Kepei + +Hi NIKHIL I have tried this code in dcan node. gpio_enable <&gpio7 27 GPIO_ACTIVE_HIGH> but it is not work and i tried this code in gpio7 node line_b { gpio-hog; gpios = <27 0>; output-low line-name = "dcan-standby"; }; It is not work too. The out put of gpio7_27 is high. + +You should be getting compiler error since you are missing a ; after output-low Maybe the DTB is not updated and that's why no effect. Otherwise, the code change is almost correct Nikhil D + diff --git a/sample_embedding_folder2/0810155.txt b/sample_embedding_folder2/0810155.txt new file mode 100644 index 0000000000000000000000000000000000000000..2c576aa50ce3d501b3525595080bf45ae3e01425 --- /dev/null +++ b/sample_embedding_folder2/0810155.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2EVM5777: How much the performance varies in tda2 as compared to PC + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hi, I have recently implemented the semantic segmentation using Caffe-Jacinto's Jsegnet on PC and TDA2 successfully with my own dataset which require two objects for pixel classification. However, the results I have got on PC are pretty much better than the results I got on tda2. Can you guys tell me why the performance has gone so lower on tda2, I believe it shouldn't be that worse. Thank you. With best regards, H.M. Owais + +Responses: +Hi , Yes, you are correct, it shouldn't be worse. Please refer to TIDL datasheet where we provided the performance of most of the semantic segmentation layers on EVE and DSP cores for checking the performance. Thanks, Praveen + diff --git a/sample_embedding_folder2/0810169.txt b/sample_embedding_folder2/0810169.txt new file mode 100644 index 0000000000000000000000000000000000000000..e13f84039fa5418520e14ead5b7e109a0628f81d --- /dev/null +++ b/sample_embedding_folder2/0810169.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2EXEVM: Support for LSTM and RNN to enable Speech Recognition usingTIDL + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2 Hi Kumar, We have TD2X EVM board. And till now we were working on vision side and we understood how one can use any existing Deep Learning model for object detection like face detection, car detection etc using TIDL. Now, I would like to know that if i want to add ASR (Automatic Speech Recognition) on TDA2X .What should be the approach? I understand that TIDL should support LSTM, RNN layer. Because, these layers are at core of NLP and speech recognition. Somewhere in documentation, I read that support for these layers is future scope (http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components_TIDL.html) 1. Can you comment on the support for LSTM and RNN in TIDL ? 2. Is there any other existing approach of speech recognition which we can use on TDA2X ? 3. Any examples or demos available ? 4. Can you suggest any speech recognition approach other that ML or DL, for quick prototyping on TDA2X ? Regards, Sagar + +Responses: +Hi Sagar, 1. As of now, we don't have any plans for supporting LSTM and RNN in TIDL on TDA2. 2. No, we don’t have solution using TIDL. 3. No, we don't have any demos. 4. User can use tensorflow Lite or ARM NN in the Linux running on A15 Thanks, Praveen + diff --git a/sample_embedding_folder2/0810307.txt b/sample_embedding_folder2/0810307.txt new file mode 100644 index 0000000000000000000000000000000000000000..e1dc252c80b1ce4a3d1181a866b4de594f276de2 --- /dev/null +++ b/sample_embedding_folder2/0810307.txt @@ -0,0 +1,16 @@ +Ticket Name: Linux: The performance of TIDL OD usecase are different when using different input video. + +Query Text: +Tool/software: Linux Hi, I'm testing TIDL OD usecase in linux. The format of chain is same with TIDL OD in BIOS except for TIDL Preprocessing. (It is running on DSP) The problem is the performance of that converted usecase is different each time when i use another video. The below video is normal case. And this is abnormal case. The usecase is running but all frames are dropped after showing some initial frames. And this is normal case that uses same video with upper case. I don't know why the results are different even though the input video was same. Could you suggest any cause of this problem or solution? Thanks & Regards, Yoo + +Responses: +Hi, Can you try to run preproc link on ipu and check. And lower the FPS also. Regards, Anuj + +Hi, Actually, we already tried on IPU. (in Vision SDK 3.6ver). However, the FPS was too low (about 1.2FPS in display link). We would try to that using Vision SDK 3.7ver and will update the result in this thread. If you have any other solution or reason of this problem, please tell me. BTW, there is frame reversing problem, is that caused by Sync link? Thanks & Regards, Yoo + +Hi, I tried to run preproc link on IPU in Vision_sdk 3.7ver. The boxes are drawed normally but FPS was 1~2FPS. When i run preproc link on DSP (also Vision_sdk 3.7ver), At least once every 10 times, the result is as strange as the video above. Could you please suggest any reason or solution about this prob? Thanks & Regards, Yoo + +Hi, So when you use preproc link on IPU then it works fine but on DSP its not working. Have you tried the same running on DSP with lower FPS. It will be better if you can share logs. Regards, Anuj + +Hi, Its been long since any update on this thread. I hope the issue is resolved. If not then please reply below or create anew thread for different query. Regards, Anuj + diff --git a/sample_embedding_folder2/0810744.txt b/sample_embedding_folder2/0810744.txt new file mode 100644 index 0000000000000000000000000000000000000000..1eca4cfd7600e7469bca11852be3351ca7e2c135 --- /dev/null +++ b/sample_embedding_folder2/0810744.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2EVM5777: Please tell me the reason why bboxPtr in ObjectDrawLink is calculated using this way. + +Query Text: +Part Number: TDA2EVM5777 Tool/software: TI-RTOS Hi, I'm doing analyze the src code of Object Draw link to know what is the buffer format of result after TIOP. In objectDrawLink_algPlugin.c file, I couldn't unserstand `bboxPtr = (float *)((char *)metaDataAddr + (bufferOffset*4)+4);` (Line 1484). Could you please tell me why bboxPtr is obtained as that way? Best Regards, Yoo + +Responses: +Hi, Its done in this way as TIDL algorithm does some padding and the actual data starts from that address. Regards, Anuj + +Hi, Anuj. If so, is there a way to know what data is in the (bufferOffset * 4) +4 space at the beginning of the metadata, including padding? I think it's too big to have only padding data in that space. Thank you & Regards, Yoo + +Hi, It should be all 0 except the 1st 4 bytes where we set offset. This padding comes from TIDL algorithm only so its been done like this in SDK. Regards, Anuj + +Hi, Its been long since any update on this thread. I hope the issue is resolved. If not then please reply below or create anew thread for different query. Regards, Anuj + diff --git a/sample_embedding_folder2/0811059.txt b/sample_embedding_folder2/0811059.txt new file mode 100644 index 0000000000000000000000000000000000000000..129efe9c44a32f3d846ace0ce44d273cdc781385 --- /dev/null +++ b/sample_embedding_folder2/0811059.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2EX17EVM: Tiler Memory in OMAPDRM + +Query Text: +Part Number: TDA2EX17EVM Tool/software: Linux Hello Sirs: We are using PSDK VISION 03_04_00_00, I saw that the tiler memory is implemented in omapdrm. I know that The VSDK uses vdrm rather than omapdrm, in your opnion, Is it possible to use it in VSDK? Regards, /ckhsu + +Responses: +It is possible to support tiler memory in VDRM, but TI does not have any plans to enable it now or in the future - Subhajit + +Dear Subhajit: How we can modify the VDRM to let it support tiler memory? Regards, /ckhsu + +please look at how omapdrm uses it. you can replicate the operations to get it working with vdrm. Once again, TI does not have any plans to support TILER memory from VDRM. I can say that it is doable, but I have not explored how much effort is required to accomplish this. I am closing this ticket now + diff --git a/sample_embedding_folder2/0811105.txt b/sample_embedding_folder2/0811105.txt new file mode 100644 index 0000000000000000000000000000000000000000..d92cb46f1fd47ceb4d66ffda33646a86c37492cd --- /dev/null +++ b/sample_embedding_folder2/0811105.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2EVM5777: About Display link in TIDL SemSeg Usecase + +Query Text: +Part Number: TDA2EVM5777 Tool/software: TI-RTOS Hi, I have a question about Display link in TIDL Semantic Segmentation Usecase. I saw the result of Alg_tidlpostproc in TIDL SemSeg usecase is YUV420_SP color map that is indicating each pixel of that map is contained some classes (None, Ped, Vehicle, ...). After processed in Merge/Sync link, the result of Alg_tidlpostproc is in Metadata and original input video frame is in Video Buf. So, the previous link (Alg_tidlpostproc_cpy) of Display link has the buffer that contains video frame and metadata(which is the result SemSeg Network). I refered FVID2 document and it is saying the FVID2 frame has 2 fields like bellow image. Then, in SemSeg usecase, the first field of FVID2 frame is for video frame and second field of FVID2 frame is for metadata? Could you please confirm that i understood correctly? + +Responses: +Hi, yes your understanding is correct but not completely. For field 1 having video buf the representation is same as attached picture but not for metadata buffer. Regards, Anuj + +Hi, Thanks for answering. I checked the sync link in TIDL SemSeg usecase adding the log. The all of log message was saying the input buffer is Video Frame data. I think the result of Alg_tidlpostproc link is video frame that is indicating each pixel is belonged to some class by using different color for different class. If this is correct, i'm curious that how the result of Alg_tidlpostproc is overlaped onto each original video frame. Regards, Yoo + +Hi, Yes the output of tidl_postproc is video frame. In semseg usecase we use 2 postproc link 1 for creating clut and other for copying it onto original image. Please check below params from usecase pUcObj->Alg_tidlpostprocPrm.outDataFormat = SYSTEM_DF_YUV420SP_UV; pUcObj->Alg_tidlpostprocPrm.outWidth = SEMSEG_INPUT_WIDTH; pUcObj->Alg_tidlpostprocPrm.outHeight = SEMSEG_INPUT_HEIGHT; pUcObj->Alg_tidlpostprocPrm.colPalette565 = pObj->colPalette; pUcObj->Alg_tidlpostprocPrm.inPad = TIDL_MAX_PAD_SIZE; pUcObj->Alg_tidlpostprocPrm.numInputQueues = NUM_PIPELINES; pUcObj->Alg_tidlpostprocPrm.mode = TIDLPOSTPROC_MODE_CLUT;; /* Y and UV copy */ pUcObj->Alg_tidlpostproc_cpyPrm.outDataFormat = SYSTEM_DF_YUV420SP_UV; pUcObj->Alg_tidlpostproc_cpyPrm.outWidth = SEMSEG_INPUT_WIDTH; pUcObj->Alg_tidlpostproc_cpyPrm.outHeight = SEMSEG_INPUT_HEIGHT; pUcObj->Alg_tidlpostproc_cpyPrm.numInputQueues = 1; pUcObj->Alg_tidlpostproc_cpyPrm.mode = TIDLPOSTPROC_MODE_COPY; Regards, Anuj + +Hi, Its been long since any update on this thread. I hope the issue is resolved. If not then please reply below or create anew thread for different query. Regards, Anuj + diff --git a/sample_embedding_folder2/0811470.txt b/sample_embedding_folder2/0811470.txt new file mode 100644 index 0000000000000000000000000000000000000000..ac4b67e68464fc04122e33db2af8a5243aa65ea6 --- /dev/null +++ b/sample_embedding_folder2/0811470.txt @@ -0,0 +1,14 @@ +Ticket Name: RTOS/TDA2-17: VSDK_03_06_00_00:enbale custom LCD + +Query Text: +Part Number: TDA2-17 Tool/software: TI-RTOS I want to use a new LCD with FDPLINK to get vedio signals.The resolution of the custom LCD is 1280*720. In this SDK, I found that there are two resolution for LCD output directly. 800*400 and 1280*800. And there is a resolution for FPD output.1280*720. This resolution is what I need.But another TI employee told me that this SDK does not support FPD output format. Now, I have already set the FPDLINK and parameters related to displayctrl. I tried two output configurations 1.use the FPD directly in the SDK. 2.use LCD ouput and change the resolution to 1280*720. Both methods don’t seem to work.Am I missing some settings? + +Responses: +Hi, Have you tried change the Video Port's configuration to 720p? Regards, Rishabh + +I want to achieve single channel output.I have changed the video outport in the ChainsCommon_StartDisplayCtrl funtion of chains_common.c + +Hi, Can you share the changes you have made. Also are you able to turn the backlight to ON state for FPD display? If you are not able to see the back light then there is some issue with the FPD driver and we don't have support for the same in SDK. You need to use linux for FPD driver. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0811497.txt b/sample_embedding_folder2/0811497.txt new file mode 100644 index 0000000000000000000000000000000000000000..220e0c8b89f47507758e6e7208d624feeba02e81 --- /dev/null +++ b/sample_embedding_folder2/0811497.txt @@ -0,0 +1,18 @@ +Ticket Name: RTOS: TDA2 RTOS bmp array heapmem + +Query Text: +Tool/software: TI-RTOS Hello, We want to create a array for bmp of RGB888, and convert it to RGB565. When creating a array [1024 * 720 *3] and compile, we will get some error. We guess they are because of HeapMem, or overflowed ...etc But we can successfully compile when we create a array [640 * 480 * 3] Q1:Can we create a array [1024*720*3], and we can successfully compile ? Q2:where could we get information of heapmem setting from code or document ? Thank, Ting + +Responses: +Hi Ting, How are you allocating the array. Are you specifying some section or allocating from stack? What is the build configuration you are using? Regards, Rishabh + +Hi Rishabh Thanks for your reply. I create a array and give it value, like "static const unsigned char bmp_test[] = { 117,104,85,69,56,37,30,19,2,73,......}" Counts of value are size of array, and now it is 1024*720*3. I have find some memory setting for A15, IPU...... But I don't know how to match my array Thank, Ting + +Hi Ting, It seems that you are allocating buffer from stack, you need to allocate from UTILS_HEAPID_DDR_CACHED_SR. You can grep the same in Vision SDK to see how to use it. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +Hi Rishabh Thanks for your reply. Sorry, I have another thing to do, but I will grep "UTILS_HEAPID_DDR_CACHED_SR". Before I try that, maybe I can end this problem. When I get a new problem, I will ask a new question. Thanks, Ting + +Hi Ting, Thanks. I am closing the thread. Regards, Rishabh + diff --git a/sample_embedding_folder2/0811499.txt b/sample_embedding_folder2/0811499.txt new file mode 100644 index 0000000000000000000000000000000000000000..5167b119cedd84c20138e7ad3b16ffa31cd4c3fa --- /dev/null +++ b/sample_embedding_folder2/0811499.txt @@ -0,0 +1,12 @@ +Ticket Name: RTOS: TDA2 string font setting + +Query Text: +Tool/software: TI-RTOS Hello, We want to create a string font for Chinese. We trace code from draw2d_fontxx.c, and get some information, like width, height, num. They have created a array, and put value of 2 bytes each of col and row. Q1:What's the Font_CharNum mean ? Q2:How does it choose value to draw pixel of 'A' or another ? Q3:Can we create a array for new font ? Q4:Can we create a array for Chinese word to draw ? Thank, Ting + +Responses: +Hi Yes, you can create a new array for new fonts, and this can be Chinese letters too. Just follow the code of any existing font array to do the same regards, Shiju + +Hi Shiju Thanks for your reply. if I have chinese letters, I can follow the code to do. before that, We have to find truetype to bmp of chinese letters. Q:Do you have advices for truetype to bmp, or someone do that once ? Thanks, Ting + +Hi Ting Sorry, I do not have any utility to convert truetype to bmp. Please check on internet. regards, Shiju + diff --git a/sample_embedding_folder2/0811776.txt b/sample_embedding_folder2/0811776.txt new file mode 100644 index 0000000000000000000000000000000000000000..b9a4c6c4088c370d47f44329db4d11d4e8703873 --- /dev/null +++ b/sample_embedding_folder2/0811776.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2PSX-ACD: Functional Safety FMEDA + +Query Text: +Part Number: TDA2PSX-ACD We use the above mentioned part for our system. We had performed a FMEDA for our product and need to look more closely to the TDA2PSX-ACD. - Could you provide detail data for failure rate calculation? - Do you have an allocation of areas used for different sub-modules? - When switching to the device TDA2PHG-ACD is there anything we have to take into account from functional safety point of view? Thank you for your support. Best regards Viktor Tiederle + +Responses: +Hi Viktor, You would need to get in touch with your TI representative to understand the Failure Calculation using the FMEDA sheet. - When switching to the device TDA2PHG-ACD is there anything we have to take into account from functional safety point of view? This is little vague, do you have some specific device feature you have used in the past and curious if TDA2px supports this or not. Thanks and Regards, Piyali + +Hi Piyali, sorry for late answering. I was quite busy. First of all I need some understanding of the FMEDA calculation of the device. In our internal documentation, we have some files, e.g. J6Entry_FMEDA_r1.xlsm All of the information is password protected. Is it possible to discuss some question with you? The change of device is due to long lead time. yes, the question, what to do is vague, but the first product is highlighting the ADAS application, and the other not. This seems for me that anything could be different, that is to be taken into account with respect to functional safety. If not - that would be great. Hopefully now it is more clear for you. Best regards Viktor + +Hi Viktor, If you are moving from TDA2PSX-ACD. to TDA2PHG-ACD, there is really no change as they belong to the same family of devices. They would share the same FMEDA. Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0812662.txt b/sample_embedding_folder2/0812662.txt new file mode 100644 index 0000000000000000000000000000000000000000..d03af1c794c99ba89fb3d3686a312f370fdabc48 --- /dev/null +++ b/sample_embedding_folder2/0812662.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2SX: Whether we can provided those pin's resistor and capacitor value. + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi Experts: Our customer want use Automatic test machine probe SMT TDA2x board's build failure or not. They did not provide power supply to TDA2Sx IC. just probe below pins resistor or capacitor to those power rail's Power supply or GND. Does we have those pin's resistor/capacitor value at no power supply mode? At datasheet i did not found it. Best Regards! Han TaoSoC_parameter.xlsx + +Responses: +Hi Tao Han, I'm sorry, it was a little bit difficult for me to understand your question. Can you please give one example with exact resistor/capactor and a power rail of TDA2.? Some diagram or sketch will be helpful too. Regards, Stan + +Hi Stan: Like below picture. For example. item 1: pin AA3 connect to multi-meter + and reference test point VDDSHV 1.8V power supply connect to multi-meter -. test the resistor. item 10: pin Y18 connect to + and GND connect to - test the capacitor. Customer want to know the resistor and capacitor value to verify the PCB SMT quality. Best Regards! Han Tao + +Hi, I didn't notice your attached file last time. Do you mean you want to test your boards for continuity when only SoC was mounted? There will be some resistivity and capacitance on those pins, but if also other componets are mounted (relative to those pins), then measurments will not make much sense. Also, I don't think these parameters were characterized, nor they are repeatable between two SoCs. Also, measuring resistivity and capacitance with power off, could cause damage to the SoC (depends on the measuring machine and method). Perhaps, measuring voltages on a powered board would be much safer and beneficial. This is my personal opinion, I might be missing something. Regards, Stan + +Hi Stan, We will do ICT(In-Circuit-Test) after SMT. The results will be affected by the internal resistance and capacitance of SOC. If we know the range of resistors and capacitors, we can calculate the range of ICT results. Thanks! + +Hi Stan: Thanks for your suggest. You are right customer want to test those pin's resistor or capacitor value when SOC mount at PCB. Will follow your suggest that SOC do not contain those no power supply mode pin to GND/VDDSHVx resistor and capacitor character values. Best Regards! Han Tao + diff --git a/sample_embedding_folder2/0813027.txt b/sample_embedding_folder2/0813027.txt new file mode 100644 index 0000000000000000000000000000000000000000..e826a70cf47b11a671a2aee0dbae9dd3060b94b0 --- /dev/null +++ b/sample_embedding_folder2/0813027.txt @@ -0,0 +1,18 @@ +Ticket Name: Linux/TDA3XEVM: Building eve_test_dl_algo.out for X86 platform on UBUNTU 16.04LTS + +Query Text: +Part Number: TDA3XEVM Tool/software: Linux Hello, My question refers to visionSDK tools on linux UBUNTO 16.04. We are trying to import different Caffe networks using tidl_model_import.out tool. idl_model_import.out was successfully built by us and we manage to debug this tool, but it seems that eve_test_dl_algo.out is opaque. I managed to build eve_test_dl_algo.out for eve - based on the pdf. There exists an eve_test_dl_algo.out .exe utility, which I managed to run through wine, and with that - the imported CNN network for TI works. However, the problem is that I want to build eve_test_dl_algo.out for X86 UBUNTU16.04 platform - a version that does not need wine, and that we can debug. We need to research the operation of this tool. 1-Is it possible to build and debug this tool? If so, where are the instructions? 2-Where can I find documentation regarding the functionality of this tool? Thanks you + +Responses: +Hi, You can find the build steps in section 3.6.3 ( Building TIDL reference executable ) in the TIDL user guide. But you need source code access to build this. Thanks, Praveen + +Praveen, Thank you for your prompt response. I found this section in the pdf file - based on the reference provided by you. It seems that I followed the steps in this section - with some modifications: gmake TARGET_PLATFORM=PC TARGET_BUILD=release CORE=eve RUN_REF_FOR_STATS=1 all ARP32_TOOLS=/home/yoav/PROCESSOR_SDK_VISION_03_06_00_00/ti_components/cg_tools/linux/arp32_1.0.7 XDAIS_PATH=/home/yoav/PROCESSOR_SDK_VISION_03_06_00_00/ti_components/codecs/framework_components_3_40_02_07/fctools DMAUTILS_PATH=/home/yoav/PROCESSOR_SDK_VISION_03_06_00_00/ti_components/algorithms/REL.DMAUTILS.00.08.00.02/dmautils, But got this: /usr/bin/ld: ../../ti_dl/lib/eve/release/tidl_algo.lib(tidl_alg.obj): Relocations in generic ELF (EM: 143) /usr/bin/ld: ../../ti_dl/lib/eve/release/tidl_algo.lib(tidl_alg.obj): Relocations in generic ELF (EM: 143) /usr/bin/ld: ../../ti_dl/lib/eve/release/tidl_algo.lib(tidl_alg.obj): Relocations in generic ELF (EM: 143) /usr/bin/ld: ../../ti_dl/lib/eve/release/tidl_algo.lib(tidl_alg.obj): Relocations in generic ELF (EM: 143) /usr/bin/ld: ../../ti_dl/lib/eve/release/tidl_algo.lib(tidl_alg.obj): Relocations in generic ELF (EM: 143) /usr/bin/ld: ../../ti_dl/lib/eve/release/tidl_algo.lib(tidl_alg.obj): Relocations in generic ELF (EM: 143) /usr/bin/ld: ../../ti_dl/lib/eve/release/tidl_algo.lib(tidl_alg.obj): Relocations in generic ELF (EM: 143) /usr/bin/ld: ../../ti_dl/lib/eve/release/tidl_algo.lib(tidl_alg.obj): Relocations in generic ELF (EM: 143) /usr/bin/ld: ../../ti_dl/lib/eve/release/tidl_algo.lib(tidl_alg.obj): Relocations in generic ELF (EM: 143) /usr/bin/ld: ../../ti_dl/lib/eve/release/tidl_algo.lib(tidl_alg.obj): Relocations in generic ELF (EM: 143) So, it seems that something with my installation is missing or wrong. PROCESSOR_SDK_VISION_03_06_00_00_setuplinux.bin This is the visionSDK. Should I use some other repository or installation tool? Thanks, Yoav + +Hi Yoav, As mentioned in the section 3.6.3. "The tidlStatsTool can be built using the TIDL source code". Do you have access to TIDL source code? Thanks, Praveen + +Thank you Praveen, It seems that the code I have is not enough. Installing VisionSDK using PROCESSOR_SDK_VISION_03_06_00_00_setuplinux.bin - provides me with partial code base. I can create and modify algorithms and algorithm aids (for TIDL as well), build tests and build my version of AppImage. But, I can't build the utils. Trying to use BitBake to fully installed the sdk - failed because of problems with some recipes. With git://git.ti.com/tidl/tisl-utils.git - I managed to build the import tool - but I'm not sure that it is an official repository. What should we do in order to get access to the full code? Again, thank you for your prompt reply. Yoav + +Hi Yoav, You may have to contact your local TI FAE to get access to full code. Thanks, Praveen + +Thank you for your help Praveen. We will leave this issue in the meantime. + diff --git a/sample_embedding_folder2/0813624.txt b/sample_embedding_folder2/0813624.txt new file mode 100644 index 0000000000000000000000000000000000000000..4d710d1c8237c9e187631e9b4559b219574e3829 --- /dev/null +++ b/sample_embedding_folder2/0813624.txt @@ -0,0 +1,20 @@ +Ticket Name: RTOS: TDA2 Host Emulation Build for Source Package Build error + +Query Text: +Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS Hello, I follow "Ti Deep learning Library User Guide April 2018" to build source in host emulation. in path:C:\PROCESSOR_SDK_VISION_03_01_00_00\ti_components\algorithms\REL.TIDL.00.08.00.00\modules\ti_dl step1 "E:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" step2 gmake CORE=eve TARGET_BUILD=debug TARGET_PLAT=PC all then, I got error C:\PROCESSOR_SDK_VISION_03_01_00_00\ti_components\algorithms\REL.TIDL.00.08.00.0 0\modules\ti_dl>gmake CORE=eve TARGET_BUILD=debug TARGET_PLAT=PC all . ======== tidl ALGO ================= gmake -C ./algo -f makefile gmake[1]: Entering directory `C:/PROCESSOR_SDK_VISION_03_01_00_00/ti_components/ algorithms/REL.TIDL.00.08.00.00/modules/ti_dl/algo' /PROCESSOR_SDK_VISION_03_01_00_00/ti_components/algorithms/REL.TIDL.00.08.00.00/ makerules/rules.mk:383: *** multiple target patterns. Stop. gmake[1]: Leaving directory `C:/PROCESSOR_SDK_VISION_03_01_00_00/ti_components/a lgorithms/REL.TIDL.00.08.00.00/modules/ti_dl/algo' gmake: *** [all] Error 2 rules.mk:383: dir: $(OBJDIRS) How could I solve the error ? Thanks, Ting + +Responses: +Hello, More question Q1:Is "Ti Deep learning Library User Guide " for TDA2 RTOS or Linux ? Q2:Is Vision_SDK tidl for TDA2 RTOS or Linux ? Q3:Is tidl for RTOS and Linux ? I just build for getting net.bin and param.bin, and files for two systems to use ? Thanks, Ting + +Hi Ting, There is latest TIDL release available, please download it from VSDK from http://www.ti.com/tool/PROCESSOR-SDK-TDAX Regarding build source in host emulation, for this you need access to source release of TIDL which is not part of VSDK. You may have to contact your local TI FAE to get access to it. You do not need source release of TIDL to import your models and get net.bin and param.bin files, for this refer to section "3.6 Running a Model trained by user" in the "TI Deep learning Library User Guide". This Vision_SDK tidl is for TDA2 RTOS only. Thanks, Praveen + +Hi Praveen Thanks for your reply. I think I don't ask clearly, so I follow your reply and confirm that. Downloading the Vision_SDK, I can get the "usecases\tidl_OD" and "REL.TIDL.01.01.03.00", then first is for RTOS to recognize object and the other is for generate net.bin and param.bin Q1:"Is C:\PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\apps\src\rtos\usecases\tidl_OD" for RTOS ? Q2:"Is "C:\PROCESSOR_SDK_VISION_03_06_00_00\ti_components\algorithms\REL.TIDL.01.01.03.00\modules\ti_dl" not build source release of TIDL? is it for Linux or RTOS ? We think it is just for generate net.bin and param.bin, we don't care about it is for linux or RTOS, right ? Q3:If we want to build linux for TDA2 and run tidl, do you have some advices or documents, or I should create a new issue for this question ? Thank, Ting + +Q1:"Is C:\PROCESSOR_SDK_VISION_03_06_00_00\vision_sdk\apps\src\rtos\usecases\tidl_OD" for RTOS ? Answer : Yes Q2:"Is "C:\PROCESSOR_SDK_VISION_03_06_00_00\ti_components\algorithms\REL.TIDL.01.01.03.00\modules\ti_dl" not build source release of TIDL? Answer : Yes is it for Linux or RTOS ? We think it is just for generate net.bin and param.bin, we don't care about it is for linux or RTOS, right ? Answer : Yes Q3:If we want to build linux for TDA2 and run tidl, do you have some advices or documents, or I should create a new issue for this question ? Answer : You can refer to this thread https://e2e.ti.com/support/processors/f/791/t/777773 Thanks, Praveen + +Hi Praveen Thanks for your reply. Q1:About answer of Q3, Is it for rebuild DL model, like ".caffemodel", and convert to tidl for RTOS or Linux ? Q2:About answer of Q3, Is it for linux(make), I think it could also run from windows(gmake) ? is it anything different ? Q3:in RTOS, we can run "usecases/tidl/" to demo result of ObjectDetection, is any project for linux to demo result on TDA2 ? Thank, Ting + +Hi Ting, Regarding the answer of Q3, those steps are to build only import tool in the Linux. We do not have any references to run demo in Linux. Thanks, Praveen + +Hi Praveen Thanks for your reply. Thank, Ting + diff --git a/sample_embedding_folder2/0813807.txt b/sample_embedding_folder2/0813807.txt new file mode 100644 index 0000000000000000000000000000000000000000..26e46bb579ee845b25a31daa22d11a0d1ceddcb4 --- /dev/null +++ b/sample_embedding_folder2/0813807.txt @@ -0,0 +1,22 @@ +Ticket Name: TDA2SX: RadarSDK Usecase modifying to use other cores + +Query Text: +Part Number: TDA2SX Hi Experts, I am trying to figure out the processing flow of usecase below "radar_read_objectdetect_write" in Processor-SDK-Radar 3.6. I assume that each Alg_RadarProcess_fft / Alg_RadarProcess_pkDetects / Alg_RadarProcess_BeamForms uses WorkQ mechanism and all the 3 Work Threads run on EVE. Q1) How should I find out if the Alg_RadarProcess_xx uses WorkQ mechanism or not ? Do we need to check source code directly ? Q2) When we need to change the Host Thread of those to IPU1_0, is it possible ? (case-1) Q3) If Q2 can be done, is it possible to change the part of Work Thread to DSP1 ? (case-2) original: NullSource Alg_RadarProcess_fft (A15) -->[WorkQ]--> fft (EVE1) Alg_RadarProcess_pkDetect -->[WorkQ]--> peak_detect (EVE1) Alg_RadarProcess_beamForm (DSP1) -->[WorkQ]--> beam_forming (EVE1) Dup_0 (DSP1) Null case-1: NullSource Alg_RadarProcess_fft (IPU1_0) -->[WorkQ]--> fft (EVE1) Alg_RadarProcess_pkDetect (IPU1_0) -->[WorkQ]--> peak_detect (EVE1) Alg_RadarProcess_beamForm (IPU1_0) -->[WorkQ]--> beam_forming (EVE1) Dup_0 (IPU1_0) Null case-2: NullSource Alg_RadarProcess_fft (IPU1_0) -->[WorkQ]--> fft (EVE1) Alg_RadarProcess_pkDetect (IPU1_0) -->[WorkQ]--> peak_detect (DSP1) Alg_RadarProcess_beamForm (IPU1_0) -->[WorkQ]--> beam_forming (DSP1) Dup_0 (IPU1_0) Null Best regards, Saito + +Responses: +Hi, Q1) How should I find out if the Alg_RadarProcess_xx uses WorkQ mechanism or not ? Do we need to check source code directly ? Source code is available with SDK, you can find it in below location vision_sdk\apps\src\rtos\radar\src\alg_plugins\alg_fxns Q2) When we need to change the Host Thread of those to IPU1_0, is it possible ? (case-1) In the above path for each link you will find SRC_FILES.MK file. Inside that you can check for which all core you can run this. Q3) If Q2 can be done, is it possible to change the part of Work Thread to DSP1 ? (case-2) This will not be possible. Regards, Anuj + +Hi Anuj, Thanks for the prompt rely. > Q3) If Q2 can be done, is it possible to change the part of Work Thread to DSP1 ? (case-2) > > This will not be possible. Why is the case-2 not possible ? Because peak_detect & beam_forming for DSP is not availabe or any other reason ? So let me ask further questions to clarify. Q4) Can we add frameCopy to IPU1_0 (Host thread) and to EVE1 (Work thread) as below ? (case-3) case-3: NullSource Alg_RadarProcess_fft (IPU1_0) -->[WorkQ]--> fft (EVE1) Alg_RadarProcess_pkDetect (IPU1_0) -->[WorkQ]--> peak_detect (EVE1) Alg_RadarProcess_beamForm (IPU1_0) -->[WorkQ]--> beam_forming (EVE1) Alg_RadarProcess_frameCopy (IPU1_0) -->[WorkQ]--> frame_copy (EVE1) Dup_0 (IPU1_0) Null Q5) In the original data flow for beam forming below, after DSP1 dispatches to EVE Work thread in Alg_RadarProcess_beamform, DSP1 needs to wait until Work thread beam_forming finishes with poling mechanism. Is my understanding correct ? Alg_RadarProcess_beamForm (DSP1) -->[WorkQ]--> beam_forming (EVE1) Best regards, Saito + +Hi, Basically you can not build a part of a link in1 core and other part in other core. Entire link is work as a single module and it should be build for a single core. If you want a part of any link to run on any other core then create a separate link in that core and implement your workQ in that link. Regards, Anuj + +Hi, Its been very long since any update on this thread. I hope the issue is resolved. if not then please reply below or create a new thread for different issue. Regards, Anuj + +Hi, Apologies being long time. I would like to confirm your explanation.. Is the Case-3 possible ? Host threads are moved to IPU1_0 and Alg_RadarProcess_framecopy is just added. framecopy is doing after beamForm. Thanks. Best regards, Saito + +Hi, For case 3 can you tell us which all link you want to run on which cores. Remember Host thread and work thread of a same link can not be in the different core. If you have different link then you can run that on different cores provided that core supports that link requirement. Regards, Anuj + +Hi, Case-3 is similar to chains_radarobjectnull usecase in Radar SDK. (.\vision_sdk\apps\src\rtos\radar\src\usecases\radar_objectdetect_null) The difference from the chains_radarobjectnull usecase above are: - Host thread runs on IPU1_0, instead of DSP. - Alg_RadarProces_frameCopy is inserted after Alg_RadarProcess_beamForm. Best regards, Saito + +Hi, Please follow below userguide. Apologies for the delayed response vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_UserGuide_WorkQ.pdf Regards, Anuj + diff --git a/sample_embedding_folder2/0814297.txt b/sample_embedding_folder2/0814297.txt new file mode 100644 index 0000000000000000000000000000000000000000..5e00b8cb878a29b0a2e6aeddfb833583d6a8240d --- /dev/null +++ b/sample_embedding_folder2/0814297.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2SX: VIP Capture resolution changes in VisionSDK + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: DRA752 Tool/software: Linux Hi. I am using DRA752 CPU on D3 TDA2x setup with OV10635 LVDS Camera. I am new to this, I tried to change the resolution from 1280x720 to 600x400, But I am getting distorted image, unable to capture & display proper image. * I got register settings from OVT for 600x400 (YUV422 & PCLK=24MHz). * Changed the register values in BSP LVDS Structure. * Changed 600x400 in Capture link and Display link. * Written usecases for 1) Capture->Display to display 2) Capture -> Null(A15) to dump. Then, I run application to capture & display as well as capture & dump, But, i am getting distorted image in display and dump both. OVT Suggested, Receiver need to set resolution (image size) properly. Please check if the resolution (image size) setting is correct or not. Is anywhere, am i missed to set the resolution in visionSDK 3.04? I am using only VIP capture Link. I am not using SGX / Encoder also, So I changed in VIP Capture Link and usecase. Is there anywhere i missed ? Thanks & Regards ARUNKUMAR V N + +Responses: +Hi Arun, How are you displaying VGA resolution on 1080p display? Are you enabling scaling in display or just positioning it on display? Also is pitch setup correctly? If you could set the snap of the output (in yuv format), it would helpful in understanding issue. Rgds, Brijesh + +Hi Brijesh Jadav, Sorry for confusion. For capture to display, we are using the use-case lvds_vip_single_cam_view_sgx_display i.e.. [ Capture -> Sync (A15) -> SgxFrmcpy (A15) -> Display_M4 (IPU1_0) GrpxSrc -> Display_Grpx ] after changing the capture sensor width and height in use-case as well as capture link. We are assuming the said resolution change, pitch info etc are being taken care by SgxFrmcpy Link. Also, for dump use-case we have a chain [ Capture -> Encode -> NULL] and the recorded dump video is identicle to the video seen on HDMI display in former use-case. Attaching a image extracted from the dump. I can see image in background but lines are coming in foreground. With this additional information about our issue, is there any suggestions you can provide for us to move ahead. Best Regards, ARUNKUMAR V N + +Hi Brijesh, I am wating for your reply. I want to downscale 1280x720 to 600x400. I get vip_capture link yuv422 hex data, but its still shows distorted data. ( i played data hexdump from ffplay) Changed capture width and height in lvds_vip_single_cam_view_sgx_display. Changed registers to 600x400 resolution. Changed width and height in capturelink drv.c and .h After All changes display is completely distorted like above image attached CAPTURE: Map Link pVIPcreate mode = 4, width = 0, mode = 0, stream =1 CAPTURE: Map Link pVIP width = 1280, Height = 720, Dataformat = 6, Scanformat = 1 CAPTURE : Outprm width = 1280, Height = 720, Dataformat = 7 CAPTURE: Width = 1280, Height = 720, pitch 1280 1280 0 CAPTURE: framesize_after = 1382400 verbose output of D3 shows below in capture link : [HOST] [IPU2 ] 56.227414 s: CAPTURE: Frame 0: FVID2 CH 0: Link CH 0: 0x84203000, 0x842e4000, 1382400 B [HOST] [IPU2 ] 56.248917 s: CAPTURE: Frame 1: FVID2 CH 0: Link CH 0: 0x84355000, 0x84436000, 1382400 B [HOST] [IPU2 ] 56.270359 s: CAPTURE: Frame 2: FVID2 CH 0: Link CH 0: 0x844a7000, 0x84588000, 1382400 B [HOST] [IPU2 ] 56.291862 s: CAPTURE: Frame 3: FVID2 CH 0: Link CH 0: 0x845f9000, 0x846da000, 1382400 B [HOST] [IPU2 ] 56.313304 s: CAPTURE: Frame 4: FVID2 CH 0: Link CH 0: 0x8474b000, 0x8482c000, 1382400 B [HOST] [HOST ] 56.337125 s: SGXFRMCPY: Create in progress for resolution: 1920x1080 !!! [HOST] [IPU2 ] 56.334838 s: CAPTURE: Frame 5: FVID2 CH 0: Link CH 0: 0x8489d000, 0x8497e000, 1382400 B is there anything i missed ? thanks & regards ARUNKUMAR V N + +Hi Arunkumar, The config wise, it looks ok, but i am not sure which component is adding artifacts. It looks like pitch is wrong somewhere, but not sure. Can you dump the frames at the output of each block and check first output is correct, from capture, vpe.. If they are correct, then it is not configured correctly in the display alone. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0814336.txt b/sample_embedding_folder2/0814336.txt new file mode 100644 index 0000000000000000000000000000000000000000..614518692c77943f046c783559c91fca7b795f57 --- /dev/null +++ b/sample_embedding_folder2/0814336.txt @@ -0,0 +1,12 @@ +Ticket Name: Linux/TDA2-17: Creating tidl_param_jdetNet_ssd.bin and tidl_net_jdetNet_ssd.bin on PROCESSOR_SDK_VISION_03_06_00_00 + +Query Text: +Part Number: TDA2-17 Tool/software: Linux Hello, We have an installation of PROCESSOR_SDK_VISION_03_06_00_00 on UBUNTU 16.04 LTS - based on PROCESSOR_SDK_VISION_03_06_00_00_setuplinux.bin. The files tidl_net_jdetNet_ssd.bin and tidl_param_jdetNet_ssd.bin are located at PROCESSOR_SDK_VISION_03_06_00_00/ti_components/algorithms/REL.TIDL.01.01.03.00/modules/ti_dl/test/testvecs/config/tidl_models/jdetnet/ As we understand it - in order to create this files - we need to run the import tool on PROCESSOR_SDK_VISION_03_06_00_00/ti_components/algorithms/REL.TIDL.01.01.03.00/modules/ti_dl/test/testvecs/config/import/tidl_import_JDetNet.txt file. The problem is that there is no any caffe_jacinto_models/trained/image_detection directory within this installation, so - we can't create the files. Can you please help addressing this issue? + +Responses: +Hi Yoav, you need to clone this repository: please check chapter "3.6.4 Importing Caffe-Jacinto-Models" in PROCESSOR_SDK_VISION_03_06_00_00/ti_components/algorithms/REL.TIDL.01.01.03.00/modules/ti_dl/docs/TIDeepLearningLibrary_UserGuide.pdf Regards, Yordan + +Hello Praveen & Yordan, Thank you for your fast response. I already cloned this repository , but couldn't find image_detection directory. The directories image_classification, image_segmentation are there, though. https://github.com/tidsp/caffe-jacinto-models/tree/caffe-0.17/trained shows the same results. Best regards, Yoav + +Hi Yoav, You may have to update import config file with these GitHub paths to import detection models. Refer to below thread will help in this.. Thanks, Praveen + diff --git a/sample_embedding_folder2/0814536.txt b/sample_embedding_folder2/0814536.txt new file mode 100644 index 0000000000000000000000000000000000000000..d973b9e1bb26be80c08dd2bb79a5e18f550370ad --- /dev/null +++ b/sample_embedding_folder2/0814536.txt @@ -0,0 +1,8 @@ +Ticket Name: RTOS/TDA2EVM5777: Does detection output layer in TIDL Network apply NMS? + +Query Text: +Part Number: TDA2EVM5777 Tool/software: TI-RTOS Hi, I got a one question about detection output layer in TIDL Network (JDetNet). In deploy.prototxt file, there is nms_param and keep_top_k in detection_output_param section. Does it means detection output layer apply NMS and return the output buffer which is consists of top 20 detected objects? Besides, could you let me know what is the meaning of keep_top_k? (top_k objects in order of high confidence? or just detected order) Thanks & Regards, Yoo. + +Responses: +Hi Yoo, 1. Detection output layer apply NMS on the "top_k" elements per class in the sorted list based on the scores. 2. "keep_top_k" are final output of top 20 objects in order of high confidence across all the classes. Thanks, Praveen + diff --git a/sample_embedding_folder2/0814803.txt b/sample_embedding_folder2/0814803.txt new file mode 100644 index 0000000000000000000000000000000000000000..93803de80eb6e9614a666fa19a7fa7210b3fce4b --- /dev/null +++ b/sample_embedding_folder2/0814803.txt @@ -0,0 +1,59 @@ +Ticket Name: RTOS/TDA2SX: TDA2XX: enable OPENCV undefined reference ti_sysbios_family_arm_a15_Cache_wbInvAll__E + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: SYSBIOS Tool/software: TI-RTOS Hi, I would like to build image the OPENCV Usecases enable AVB_INCLUDE with the latest SDK (Ver: [DEV_VISION_SDK_03_07] on TDA2XX EVM(ES 2.0/Board Rev A). So I configured OPENCV_OPENCL=yes, AVB_INCLUDE=yes, NDK_PROC_TO_USE=Ipu1_1 in the file of cfg.mk" under tda2xx_evm_bios_all folder. Then rebuild vision_sdk, it show that the error message: /home/sam/proj/TI_SDK_VISION_V03_07/ti_components/open_compute/opencl_rtos_am57xx_01_01_10_00/packages/ti/opencl/usr/lib/libOpenCL.a(shmem_rw_policy_rtos.cpp.obj shmem_rw_policy_rtos.cpp:(.text+0x23c): undefined reference to `ti_sysbios_family_arm_a15_Cache_wbInvAll__E BTW, There is a 1GB DDR_MEM on TDA2XX EVM, I would like to increase the memory size by replace DDR_MEM=DDR_MEM_512M (default) with DDR_MEM_1024M. Could you help teach me how to configure for the Usecases? Thanks. regards, Sam Hsieh opencv_cfg_n_log.rar + +Responses: +Hi Sam, can you set MAKECONFIG=tda2xx_evm_bios_opencx under Rules.make and see if you face any problems? Regards, Yordan + +Hi Yordan, Thank you for your feedback. After change MAKECONFIG=tda2xx_evm_bios_opencx, I could rebuild image successfully [make depend;make vision_sdk;make appimage; make sbl;]. But It got the error message then system halts after boot from SD card. Putting MPU CPU1 in Off mode, Jumping to MPU CPU0 App ...0x8980514c Could you help teach me why it result in the MPU in Off mode, how to fix it? Thanks. regards, Sam. opencx_log_20190627.txt + TDA2xx SBL Boot + Ver:Jun 27 2019 10:28:50 + + DPLL Configuration Completed + + Clock Domain Configuration Completed + + Module Enable Configuration Completed + + TI EVM PAD Config Completed + + DDR Config Completed + + App Image Download Begins + + SD Boot - file open completed successfully + + MPU CPU0 Image Load Completed + + IPU1 CPU0 Image Load Completed + + DSP1 Image Load Completed + + App Image Download Completed + + SBLLibMPUCPU1BringUp: Enter !! Entry:0x0 mode=0x0 + + Putting MPU CPU1 in Off mode + +***************************************************************** + + PMCCNTR counts once every 64 clock cycles, multiple by 64 to get actual CPU cycles + + SBL Initial Config Cycles - 166844 (14.23 ms) + SOC Init Cycles - 170897 (14.58 ms) + DDR Config Clock Cycles - 43652 (3.72 ms) + App Image Load Cycles - 36849805 (3144.51 ms) + Slave Core Bootup Cycles - 110039 (9.38 ms) + SBL Boot-up Cycles - 37342300 (3186.54 ms) + Time at which SBL started IPU1_0 - 113350 (3459.16 ms) +***************************************************************** + + Jumping to MPU CPU0 App + +...0x8980514c + +Hi Yordan, BTW, as the answer of the question (RTOS/TDA2: A15 SMP feature conflict with OpenCX), Currently both OpenCX and A15 SMP feature not supported on Vision SDK BIOS. I traced the SBL parse & load the Applmage, it run normally before jump the entrypoint of mpuCore0EntryFuncPtr(). At the same time, I tried to dump the vision_sdk_a15_0_release.xa15fg.rprc, the address of core is OK. Why it couldn't run the AppImage normally? Could you help feedback the issue? Thanks. BRs, Sam. + +Hi, We do not support opencv or opencx since past a few releases. Still first you can try without changing your DDR_MEM config. Regards, Anuj + diff --git a/sample_embedding_folder2/0814899.txt b/sample_embedding_folder2/0814899.txt new file mode 100644 index 0000000000000000000000000000000000000000..092bf475b6933a550a2b72131a4402f51b3ba490 --- /dev/null +++ b/sample_embedding_folder2/0814899.txt @@ -0,0 +1,14 @@ +Ticket Name: Compiler: TDA2XX RTOS new usecase can not include network_api.h + +Query Text: +Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler Hi, I want to imlement a sever soceket, so create a new usecae by following step 6.1 of vision SDK Build System User Guild and include some h file =============================================================== #include #include #include #include #include #include #include #include =============================================================== but compile printf error message =============================================================== ".\src/rtos/usecases/new_usecase/new_usecase.h", line 13: fatal error: cannot o en source file "sys/socket.h" 1 catastrophic error detected in the compilation of "X:/TDA2/vision_sdk/apps/sr /rtos/common/chains_main_bios_misc.c". Compilation terminated. >> Compilation failure gmake[4]: *** [X:/TDA2/vision_sdk/binaries/apps/tda2xx_evm_bios_all/obj/app_lib /tda2xx-evm/ipu1_0/release/chains_main_bios_misc.oem4] Error 1 gmake[3]: *** [ipu1_0] Error 2 gmake[2]: *** [app_libs] Error 2 gmake[1]: *** [apps_libs] Error 2 gmake: *** [apps] Error 2 =============================================================== it seem the iclude path is not set of makefile? Where is the makefile and what's the parameter name? + +Responses: +Hi, sys/socket.h is Linux header and you should not include it if you create usecase for rtos. Can you check how "./links_fw/src/rtos/utils_common/src/network_api.c" is implemented and which headers it includes and use it in your usecase. Regards, Yordan + +Hi Yordan, thanks for your help, but it has error link message after i adding the h file according to "./links_fw/src/rtos/utils_common/src/network_api.h", fuctions of socket can't find link path the error message show below =================================== # undefined first referenced symbol in file --------- ---------------- NDK_accept X:/TDA2/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ ipu1_0/release/app_libs.aem4 NDK_bind X:/TDA2/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ ipu1_0/release/app_libs.aem4 NDK_listen X:/TDA2/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ ipu1_0/release/app_libs.aem4 NDK_recv X:/TDA2/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ ipu1_0/release/app_libs.aem4 NDK_socket X:/TDA2/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ ipu1_0/release/app_libs.aem4 error: unresolved symbols remain error: errors encountered during linking; "X:/TDA2/vision_sdk/binaries/apps/tda2xx_evm_bios_all/vision_sdk/bin/tda2xx- evm/vision_sdk_ipu1_0_release.xem4" not built gmake[7]: *** [X:/TDA2/vision_sdk/binaries/apps/tda2xx_evm_bios_all/vision_sdk/b in/tda2xx-evm/vision_sdk_ipu1_0_release.xem4] Error 1 gmake[6]: *** [ipu1_0] Error 2 gmake[5]: *** [apps_ipu1_0] Error 2 gmake[4]: *** [apps] Error 2 gmake[3]: *** [apps] Error 2 gmake[2]: *** [apps_exe] Error 2 gmake[1]: *** [apps] Error 2 gmake: *** [vision_sdk] Error 2 =================================== + +Hi, can you set "NDK_PROC_TO_USE=ipu1_0" in vision_sdk\apps\configs\tda2xx_evm_bios_all\cfg.mk and try (you will need to run 'make depend' after modifying cfg.mk). Regards, Yordan + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Yordan + diff --git a/sample_embedding_folder2/0815054.txt b/sample_embedding_folder2/0815054.txt new file mode 100644 index 0000000000000000000000000000000000000000..f842b74b30d3ede0878eeed160860a06194f1347 --- /dev/null +++ b/sample_embedding_folder2/0815054.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2EVM5777: Rebuilding AVBTP package failed! + +Query Text: +Part Number: TDA2EVM5777 Tool/software: Linux Hi, I'm trying to insert log message into AVBTP_processRxPackets function. At first, i cleaned previous linux and app and rebuild all that. However, the log message was not occured. I found and refered avbtp_0_10_00_00_user_guide.html. In that document, it says use xdc to rebuild AVBTP package in ti_components/networking/avbtp_0_10_00_00/packages/ti/avbtp directory. So, i execute xdc command in that directory but the error message was showed as below. making package.mak (because of package.bld) ... js: "./config.bld", line 77: define NDK_ROOT! gmake: *** No rule to make target `package.mak', needed by `.interfaces'. Stop. Could you suggest the cause of this error? Regards, Yoo + +Responses: +Additionally, i tried to find /opt/ti/ccsv6 but that is not exist. Could you also tell me how can i get this? Thanks. + +Hi Yoo, can you open ti_components/networking/avbtp_0_10_00_00/Rules.mak and modify following variables according to your installation: COMPILER_DIR (this should point to tools/compiler) and XDC_ROOT NDK_ROOT BIOS_ROOT EDMA3_ROOT NSP_ROOT currently they are set as if those components are installed in /opt/ti directory. You need to point them to the right directories in VisionSDK tree. Regards, Yordan + +Hi, Then, are you meaning the AVBTP package should rebuild by CCS compiler? Regards, Yoo + +Hi Yoo, I think you can point those variables: TIARMCGT_ROOT GCC_ROOT CGT6X_ROOT to the corresponding tools installed in ti_components/cg_tools/ Regards, Yordan + diff --git a/sample_embedding_folder2/0815153.txt b/sample_embedding_folder2/0815153.txt new file mode 100644 index 0000000000000000000000000000000000000000..20099e36a5d9d806a53ec7573016633e5e803853 --- /dev/null +++ b/sample_embedding_folder2/0815153.txt @@ -0,0 +1,16 @@ +Ticket Name: RTOS: Image distortion correction + +Query Text: +Part Number: TDA Tool/software: TI-RTOS Hi, I want to correct the image distortion of fisheye lens.I've got the internal parameters and distortion parameters of the lens.I don't know how to call the Remap and Merge Applet. Thanks! + +Responses: +To do this, you will need 2 things: 1. Convert the lens parameters to LDC look up table compatible with TI ISP format. 2. Package the LUT and other LDC parameters in a tuning plugin compatible with TI software. This can be done by TI's ISP tuning tool. If you don't have access, please request it through your TI representative. + +Hi Yulin, You may refer to the link below for LDC tuning e2e.ti.com/.../2435557 tuning#2435557 + +Hi, Thank you very much for your reply. I can get the remap matrix of my camera, that is, the coordinate mapping matrix of the current image and the image after distortion correction.I tried to call remapmerge link, but it failed. How do I use link remapmerge to correct image distortion? Mary + +Hi Mary, Which target device you want to use the remap link on ? It is tda2x or tda2+ ? The remap link was originally designed to be used for stereo-vision use-case so it expects two input queues for left and right images. Is your use-case for stereo or mono-camera ? regards, Victor + +Hello Mary, Let me know if you still have any issue with that or we will close the ticket. Thanks. regards, Victor + diff --git a/sample_embedding_folder2/0816548.txt b/sample_embedding_folder2/0816548.txt new file mode 100644 index 0000000000000000000000000000000000000000..9d98f1b364d74ca64e5e29635e01a93997aff074 --- /dev/null +++ b/sample_embedding_folder2/0816548.txt @@ -0,0 +1,30 @@ +Ticket Name: Linux/DRA76P: load visionSDK IPU firmware by bootloader, but IPU frequency setting is not correct + +Query Text: +Part Number: DRA76P Other Parts Discussed in Thread: TDA2 Tool/software: Linux hi all, i load visionSDK IPU2 firmware by bootloader from EMMC, it can run. but i get the IPU log as following show that the frequency is so low: [HOST] [IPU2 ] 3.670530 s: ***** IPU2 Firmware build time 16:37:06 Jul 2 2019 [HOST] [IPU2 ] 3.670743 s: ------ (1) clkHz = 16393 HZ [HOST] [IPU2 ] 3.670804 s: ------ (2) clkHz = 16393 HZ [HOST] [IPU2 ] 3.670865 s: *** SYSTEM: CPU Frequency , if i load the firmware by remoteproc kernel module, the frequency setting is correct. then i follow the code, i found the API "Utils_getClkHz(UTILS_CLK_ID_IPU);" return value is 16393. so the IPU2 frequency be set to it. why get the clock from PRCM is so low? can i change the frequency in uboot? how do it? best regards! + +Responses: +Hi Fanok, Can you please run the command Utils_getClkHz() from M4 after Linux is initialized and let us know if the issue is still observed? Regards Shravan + +hi Shravan, after linux kernel start, i get the clock frequency is normal, the log as following: [HOST] [IPU2 ] 5.979594 s: ------ (3) clkHz = 16393 HZ [HOST] [IPU2 ] 6.172543 s: startX = 0, startY = 0, width = 960, height = 540, srcPitch = 3840; destPitch = 7680, iconID = 1!!! [HOST] [IPU2 ] 6.173702 s: DMA copy take 934 us... [HOST] [IPU2 ] 6.173915 s: DISPLAY: 0 receive first frame!! [HOST] [IPU2 ] 6.174159 s: ------ Fill Grpx src buffer finish------ [HOST] [IPU2 ] 6.174251 s: ++++++++ switch grpxsrc icon id: 1!!! [HOST] [IPU2 ] 6.979564 s: ------ (3) clkHz = 212800000 HZ [HOST] [IPU2 ] 7.109589 s: startX = 0, startY = 0, width = 960, height = 540, srcPitch = 3840; destPitch = 7680, iconID = 2!!! [HOST] [IPU2 ] 7.110626 s: DMA copy take 836 us... [HOST] [IPU2 ] 7.110809 s: ------ Fill Grpx src buffer finish------ [HOST] [IPU2 ] 7.110870 s: ++++++++ switch grpxsrc icon id: 2!!! [HOST] [IPU2 ] 7.979594 s: ------ (3) clkHz = 212800000 HZ [HOST] [IPU2 ] 8.109223 s: startX = 0, startY = 0, width = 960, height = 540, srcPitch = 3840; destPitch = 7680, iconID = 1!!! [HOST] [IPU2 ] 8.110199 s: DMA copy take 776 us... [HOST] [IPU2 ] 8.110382 s: ------ Fill Grpx src buffer finish------ [HOST] [IPU2 ] 8.110473 s: ++++++++ switch grpxsrc icon id: 1!!! [HOST] [IPU2 ] 8.979625 s: ------ (3) clkHz = 212800000 HZ could you please hlep me figure out the issue? best regards! + +hi Shravan, when boot the IPU firmware by bootloader, how to set the correct the cpu frequency? why get the cpu frequency is so low? best regards! + +Hi Fanok, Can you please enable prcm for timer-9 in the function Utils_prcmTimerInitForIpu defined in links_fw/src/rtos/utils_common/src/tda2px/utils_prcm.c. This should set the frequency as expected. Regards Shravan + +hi Shravan, thanks for your help, i add timer9 in this function: Void Utils_prcmTimerInitForIpu(void) { /* PRCM enable for Timers 3 and 11 for IPU access */ prcm_set_module_mode(L4PER_CM_CORE, L4PER_CM_CORE__CM_L4PER_TIMER3_CLKCTRL, MODE_ENABLED, 0x00000000, 0x00000000 ); prcm_set_module_mode(L4PER_CM_CORE, L4PER_CM_CORE__CM_L4PER_TIMER9_CLKCTRL, MODE_ENABLED, 0x00000000, 0x00000000 ); prcm_set_module_mode(L4PER_CM_CORE, L4PER_CM_CORE__CM_L4PER_TIMER11_CLKCTRL, MODE_ENABLED, 0x00000000, 0x00000000 ); } but not work, Utils_prcmTimerInitForIpu() already be called in somewhere? or i need call it in my code? best regards! + +hi Shravan, i add the following code in Utils_prcmInit(), Utils_prcmInit() is called in IPU_primary_core_init(): prcm_set_module_mode(L4PER_CM_CORE, L4PER_CM_CORE__CM_L4PER_TIMER3_CLKCTRL, MODE_ENABLED, 0x00000000, 0x00000000 ); prcm_set_module_mode(L4PER_CM_CORE, L4PER_CM_CORE__CM_L4PER_TIMER9_CLKCTRL, MODE_ENABLED, 0x00000000, 0x00000000 ); prcm_set_module_mode(L4PER_CM_CORE, L4PER_CM_CORE__CM_L4PER_TIMER11_CLKCTRL, MODE_ENABLED, 0x00000000, 0x00000000 ); but did not work too. best regards! + +Hi Fanok, I use TDA2 and load IPU2 firmware by MLO, has the same issue. I checked the PMlib fined this issue is IPU1 DPLL setting error. Maybe you can try to turn IPU1 clock before IPU2. Best Regards + +hi jay chiang, thanks for your reply, can you tell me which file or function i need to modify? best regards! + +Hi, Fanok, Please modify and try board/ti/dra7xx/lateattach.c u32 spl_boot_core(u32 core_id) int tablesz; u32 decomp_len, inp_len; + struct rproc *ipu1_cfg = rproc_cfg_arr[IPU1]; + + if (IPU2 == core_id) { + if (ipu1_cfg->start_clocks) + ipu1_cfg->start_clocks(IPU1, ipu1_cfg); + } Best Regards. + +hi jay chiang, Thanks for your help, this solved my problem. best regards! + +hi jay chiang, now i encounter one another issue, a15 can not communicate with IPU by rpmsg. i follow the code, i found that IPU was blocked in the following code (can not get VDEV): while(1) { retval = Resource_getVdevStatus(RPMSG_LATE_ATTACH_A15_VDEV_ID); if(retval != RPMSG_LATE_ATTACH_A15_VDEV_ID) { BspOsal_sleep(10); retryCnt++; } else { Vps_printf("Connection established with HLOS, calling rpmsgInit\n"); break; } } IpcMgr_rpmsgStartup(); so IpcMgr_rpmsgStartup() will not be called. do you have the same issue? best regards! + +hi jay chiang, I found a problem, i think my problem is solved, but it is not exactly. even though i can get the correct frequency, but the animation i play is very slow like before. Do you have the same issue? *** SYSTEM: CPU Frequency , best regards! + diff --git a/sample_embedding_folder2/0816955.txt b/sample_embedding_folder2/0816955.txt new file mode 100644 index 0000000000000000000000000000000000000000..2e6951e11bc54d07b17738cfeae8b5a2d8946895 --- /dev/null +++ b/sample_embedding_folder2/0816955.txt @@ -0,0 +1,10 @@ +Ticket Name: [RadarSDK] Break point for Radar processing data layout + +Query Text: +Hi Expert, Radar proceesing data flow is described in "Appendix D: Radar Processing Data Flow" in EVE_Applets_UserGuide.pdf. Each Data layout of Radar processing is shown in following Figures. Figure 3: Output of ARxx sensor Figure 4: Output of Range FFT/Input to Doppler FFT Figure 5: Output of Doppler FFT Figure 6: Antenna Data out after Peak Detection Figure 7: CFAR CA Detection My customer wants to confirm each data above in DDR when running Radar SDK usecase with CCS. Can you please tell me the line number & file name to be set as break point and buffer name (structs and variables) to look at each DDR data in CCS memory window ? Data Layout Buffer name Break point (Line number) Filename ARxx sensor output Range-FFT output Doppler-FFT output Peak Detection output CFAR CA output RadarSDK : Processor SDK Radar 3.6 Usecase : "3: Radar (Single AR1243) Capture + Radar Object Detect (EVE1) + Display (TDA3xx Only)" Best regards, Saito + +Responses: +Hi, I am forwarding this question to a team member in the Automotive Processors group. Thank you, -Randy + +ARxx sensor output : Function: AlgorithmFxn_RadarFftProcess Address: inBufAddr File: vision_sdk\apps\src\rtos\radar\src\alg_plugins\alg_fxns\radarfft2\radarFft2.c Range-FFT output: Function: AlgorithmFxn_RadarFftProcess Address: pObj->intermediateBuf File: vision_sdk\apps\src\rtos\radar\src\alg_plugins\alg_fxns\radarfft2\radarFft2.c Doppler-FFT output: Function: AlgorithmFxn_RadarFftProcess Address: outBufAddr and (AlgorithmFxn_RadarFftBuffDescriptor *) metaDataBuffAddr File: vision_sdk\apps\src\rtos\radar\src\alg_plugins\alg_fxns\radarfft2\radarFft2.c Peak Detection output and CFAR CA output are the same: Function: AlgorithmFxn_RadarPkDetectProcess File: vision_sdk\apps\src\rtos\radar\src\alg_plugins\alg_fxns\radarpeakdetect\radarPkDetect.c Address: outBuf Beam form Output: File: vision_sdk\apps\src\rtos\radar\src\alg_plugins\alg_fxns\radarbeamform\radarBeamForm.c Function: AlgorithmFxn_RadarBeamFormProcess Address: outBuf Thanks and Regards, Piyali Data LayoutBuffer nameBreak point (Line number)FilenameARxx sensor outputRange-FFT outputDoppler-FFT outputPeak Detection outputCFAR CA output + diff --git a/sample_embedding_folder2/0817499.txt b/sample_embedding_folder2/0817499.txt new file mode 100644 index 0000000000000000000000000000000000000000..b803acefc2329c125221475ca69f7924df94673c --- /dev/null +++ b/sample_embedding_folder2/0817499.txt @@ -0,0 +1,16 @@ +Ticket Name: Linux/TDA2EVM5777: The VPE link couldn't receive frame from previous Select link + +Query Text: +Part Number: TDA2EVM5777 Tool/software: Linux Hi, My chain is consists of --------------------------------------------------------------------------------------------------- NullSource(A15) (ch0~3) -> Merge_cap(A15) -> Decode -> VPE_cap -> Dup_cap -> Sync_cap -> SgxFrmcpy(A15) -> Display Dup_cap -> Select Select -> VPE_dl -> Dup_dl Dup_dl -> Merge_dl Dup_dl -> Alg_tidlpreproc (DSP1) Alg_tidlpreproc (DSP1) -> Alg_tidl_Eve1 (EVE1) Alg_tidlpreproc (DSP1) -> Alg_tidl_Eve2 (EVE2) Alg_tidlpreproc (DSP1) -> Alg_tidl_Eve3 (EVE3) Alg_tidlpreproc (DSP1) -> Alg_tidl_Eve4 (EVE4) Alg_tidl_Eve1 (EVE1) -> Merge_OD(DSP1) Alg_tidl_Eve2 (EVE2) -> Merge_OD(DSP1) Alg_tidl_Eve3 (EVE3) -> Merge_OD(DSP1) Alg_tidl_Eve4 (EVE4) -> Merge_OD(DSP1) Merge_OD(DSP1) -> Alg_tidl_Dsp (DSP1) -> Merge_dl Merge_dl -> Sync_dl -> Alg_tiop(DSP1) -> Null(A15) --------------------------------------------------------------------------------------------------- The Sgx side is working normally but the VPE link of TIDL side (that is after Select link) is not receiving any frames from Select link. When i print each link statistics, the links in TIDL side didn't show any input & output FPS. I changed the ProcessData func in Select link link below. --------------------------------------------------------------------------------------------------- if (inBufList.numBuf) { Vps_printf("SELECT : inBufList numBuf %d", inBufList.numBuf); for (bufId = 0; bufId < inBufList.numBuf; bufId++) { #if 1 pBuf = inBufList.buffers[bufId]; UTILS_assert(pBuf->chNum < SYSTEM_MAX_CH_PER_OUT_QUE); pChInfo = &pObj->inChInfo[pBuf->chNum]; pSysCompBuf = (System_VideoFrameCompositeBuffer *)pBuf->payload; for (frameId = 0; frameId < pSysCompBuf->numFrames; frameId++) { for (planeId = 0; planeId < SYSTEM_MAX_PLANES; planeId++) { pVidBuf->bufAddr[planeId] = pSysCompBuf->bufAddr[planeId][frameId]; } pVidBuf->metaBufSize = pSysCompBuf->metaBufSize; pVidBuf->metaFillLength = pSysCompBuf->metaFillLength; pVidBuf->chInfo = pSysCompBuf->chInfo; pVidBuf->flags = pSysCompBuf->flags; } pOutBuf->payload = pVidBuf; pOutBuf->bufType = SYSTEM_BUFFER_TYPE_VIDEO_FRAME; pOutBuf->payloadSize = sizeof(System_VideoFrameBuffer); pOutBuf->chNum = 1; UTILS_assert(pOutBuf != NULL); #else --------------------------------------------------------------------------------------------------- Could you please let me know whether there is any incorrect things in that? Thanks & Regards, YOO + +Responses: +Hi Yoo, what is the type of 'pVidBuf'? Is it System_VideoFrameCompositeBuffer like pSysCompBuf? If so, then shouldn't you have: pVidBuf->bufAddr[planeId][frameId] = pSysCompBuf->bufAddr[planeId][frameId]; in the inner for loop? Regards, Yordan + +The type of pVidBuf is System_VideoFrameBuffer. I refered 'SyncLink_makeCompositeBuffer' function in syncLink_tsk.c Regards, Yoo + +Hi, Usecase does not seems proper. Where is the previous link of Dup_cap. Can you share the usecase stats. And share the jpg file of the usecase also. Regards, Anuj + +My bad, previous link of Dup_cap is Vpe_cap. The actual connection was set correctly. The status of each link in SV side, input & output FPS were showed normally and displayed well. However, in TIDL side, Select link received videoComposite buffer normally from Dup link but VPE link couldn't received composite type. So, we tried to convert type from composite to videoframe buffer in Select link. Regards, Yoo + +Hi, So i hope this issue is resolved. Regards, Anuj + diff --git a/sample_embedding_folder2/0817664.txt b/sample_embedding_folder2/0817664.txt new file mode 100644 index 0000000000000000000000000000000000000000..dde5814352ab5c1ab6672890d610827176519723 --- /dev/null +++ b/sample_embedding_folder2/0817664.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2EXEVM: How can I improve my train recognition accuracy using subclass attributes in ssdJacintoNetV2 networks? + +Query Text: +Part Number: TDA2EXEVM Hi, There's a problem,I use the ssdJacintoNetV2 which is Ti provided Object detect net. In the identification of traffic signs, one kind of images often make mistakes, resulting in low identification errors. just show as blow. The left image is belong to the speed limit signs, which I need to recognize in my task, but the right image is very similar to the left,which not in my task. How can I strengthen my training for this situation?The right image is not marked in my sample. 1、Can I use subclass attributes to reinforce the training of the sample? 2、We want to get a good result of vehicle identification at night,For ssdJacintoNetV2 networks, I need to separate night vehicles into another one category or a subcategory,or just in the car category without subdivision? typedef struct { uint32_t objTag; uint32_t objType; uint32_t objSubType; uint32_t xPos; uint32_t yPos; uint32_t objWidth; uint32_t objHeight; float objScore; float objScale; float reserved0; float reserved1; float reserved2; } TI_OD_objectDescriptor; + +Responses: +I don't think SSD is appropriate approach for identifying fine difference as you are looking for. + +I'm assuming this is closed. + diff --git a/sample_embedding_folder2/0817741.txt b/sample_embedding_folder2/0817741.txt new file mode 100644 index 0000000000000000000000000000000000000000..cc596b59244b8c6f783c9fcc72cbca9aab002065 --- /dev/null +++ b/sample_embedding_folder2/0817741.txt @@ -0,0 +1,32 @@ +Ticket Name: TDA2PXEVM: How to increase size of L2SRAM memory region for DSP core in TDA2P VSDK 3.0.6 relase + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2, SYSBIOS In VSDK 3.0.6 <<.bss:heapMemL2>> region is assigned to L2SRAM memory segment, In my code I had to increase UTILS_MEM_HEAP_L2_SIZE (which is indirectly assigned to UTILS_MEM_L2RAM_SIZE) [#define UTILS_MEM_L2RAM_SIZE ((224U+32U) * 1024U)] As shown above, we had increase it to 256K(0x40000) from 224K (0x38000). . With this change, I am getting below error i.e. not able to fit memory. "/source/vision/platform/ti/tda2/binaries/apps/harman_proto_A_bios/obj/vision_sdk/harman_tda2px-proto_A/c66xdsp_1/release/vision_sdk_configuro/linker_mod.cmd", line 238: error: program will not fit into available memory. run placement with alignment fails for section ".bss:heapMemL2" size 0x40000 . Available memory ranges: L2SRAM size: 0x38000 unused: 0x38000 max hole: 0x38000 Can you guide me where this region is defined and how to increase the region size. + +Responses: +Hi, It seems that L2SRAM size is defined as 224 KB in SDK. Can you run grep for L2SRAM in Vision SDK and change it to 256 KB. Regards, Rishabh + +I have already searched in SDK but couldnt find. + +Hi, Can you see PROCESSOR_SDK_VISION_03_07_00_00\vision_sdk\links_fw\src\rtos\links_common\system\system_rsc_table_dsp.h. Regards, Rishabh + +Yeah but I am seeing only below code, it corresponds to DSP_L2SRAM not L2SRAM. I had increased this also (see below) but it doesnt solve my issue #define DSP_L2SRAM_BASE 0x00800000 #define DSP_L2SRAM_SIZE 0x00040000 { TYPE_DEVMEM, DSP_L2SRAM_BASE, DSP_L2SRAM_BASE, DSP_L2SRAM_SIZE, 0, 0, "DSP_L2SRAM", }, + +Hi Ritesh, L2SRAM belongs to DSP only. There is on chip memory that can be used by different cores known as OCMC. I checked with our DSP expert. You can have max 256 KB of L2SRAM and 32 KB is reserved for BIOS. Hence you cannot increase the L2SRAM. Regards, Rishabh + +Will this be related to the platform configuration in BIOS packages. In BIOS user guide i see that size of L2SRAM etc can be configured from CCS. But unfortunately, Instructions are not so clear in user guide. Do let me know if you have any pointers. I am sure something needs to be done to reconfigure platform files in BIOS folder. + +Hi Ritesh, Can you please check my above reply. Regards, Rishabh + +Hi Rishabh, We are not increasing L2SRAM size beyond 256K. As mentioned in first msg, just trying to increase it from 224KB to 256KB. Regards + +Hi Ritesh, I understand that you are trying to increase L2SRAM size to 256 KB which is max allowed by hardware. In this case you are using SYSBIOS on DSP and SYSBIOS needs 32 KB for it's internal use. Hence application can have max 224 KB of L2SRAM. Same is set and used by Vision SDK. Hope this helps. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +No , it is not resolved. + +Ritesh, Can you provide details on the need of additional L2SRAM. In case you want to allocate additional buffers you can use DDR. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0817803.txt b/sample_embedding_folder2/0817803.txt new file mode 100644 index 0000000000000000000000000000000000000000..fbeda5bce3e4cc69d985b30a1131a0455f6c641e --- /dev/null +++ b/sample_embedding_folder2/0817803.txt @@ -0,0 +1,18 @@ +Ticket Name: Linux/DRA756: dra756 custom board, Card did not respond to voltage select, MMC: no card present + +Query Text: +Part Number: DRA756 Other Parts Discussed in Thread: PCF8575, DRA742 Tool/software: Linux Hi, recently, i encounter a problem about starting u-boot from SD card. SDK: ti-processor-sdk-linux-automotive-dra7xx-evm-5_00_00_01 CPU: DRA756 u-boot: git://git.ti.com/ti-u-boot/ti-u-boot.git connection: /* MMC1_PINS_SDR12 */ 0x1754 0x60000 W6 CTRL_CORE_PAD_MMC1_CLK mmc1_clk mmc1_clk 0x1758 0x60000 Y6 CTRL_CORE_PAD_MMC1_CMD mmc1_cmd mmc1_cmd 0x175C 0x60000 AA6 CTRL_CORE_PAD_MMC1_DAT0 mmc1_dat0 mmc1_dat0 0x1760 0x60000 Y4 CTRL_CORE_PAD_MMC1_DAT1 mmc1_dat1 mmc1_dat1 0x1764 0x60000 AA5 CTRL_CORE_PAD_MMC1_DAT2 mmc1_dat2 mmc1_dat2 0x1768 0x60000 Y3 CTRL_CORE_PAD_MMC1_DAT3 mmc1_dat3 mmc1_dat3 0x176C 0xE0000 W7 CTRL_CORE_PAD_MMC1_SDCD mmc1_sdcd mmc1_sdcd 0x1770 0xD0000 Y9 CTRL_CORE_PAD_MMC1_SDWP mmc1_sdwp mmc1_sdwp VDD is connected to 3.3v power directly instead of control by PCF8575. Now, i have no idea to fix the problem and i hope you guys give me some suggestion.I would be very grateful. the following log is that the u-boot output. ==================================================================== U-Boot SPL 2019.04-rc1-00239-gb89074f-dirty (Jul 05 2019 - 17:36:32 +0800) DRA752-GP ES2.0 Trying to boot from MMC1 no pinctrl state for default mode unable to get I2C bus. ret -19 tps65903x: could not set LDO1 voltage. clock is enabled (400000Hz) clock is enabled (25000000Hz) Loading Environment from FAT... *** Warning - bad CRC, using default environment Loading Environment from MMC... clock is enabled (400000Hz) Card did not respond to voltage select! *** Warning - No block device, using default environment U-Boot 2019.04-rc1-00239-gb89074f-dirty (Jul 05 2019 - 17:36:32 +0800) CPU : DRA752-GP ES2.0 Model: TI DRA742 Board: DRA74x EVM REV DRAM: 1.5 GiB MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1 Loading Environment from FAT... MMC: no card present Loading Environment from MMC... clock is enabled (400000Hz) Card did not respond to voltage select! *** Warning - No block device, using default environment Warning: fastboot.board_rev: unknown board revision clock is enabled (400000Hz) Card did not respond to voltage select! invalid mmc device Net: Could not get PHY for ethernet@48484000: addr 2 Warning: ethernet@48484000 using MAC address from ROM eth0: ethernet@48484000 Hit any key to stop autoboot: 0 MMC: no card present MMC: no card present MMC: no card present MMC: no card present Trying to boot Linux from eMMC ... clock is enabled (400000Hz) Card did not respond to voltage select! MMC: no card present Trying to boot Android from eMMC ... clock is enabled (400000Hz) Card did not respond to voltage select! MMC: no card present clock is enabled (400000Hz) Card did not respond to voltage select! clock is enabled (400000Hz) Card did not respond to voltage select! mmc - MMC sub system Usage: mmc info - display info of the current MMC device mmc read addr blk# cnt mmc write addr blk# cnt mmc erase blk# cnt mmc rescan mmc part - lists available partition on current mmc device mmc dev [dev] [part] - show or set current mmc device [partition] mmc list - lists available devices mmc hwpartition [args...] - does hardware partitioning arguments (sizes in 512-byte blocks): [user [enh start cnt] [wrrel {on|off}]] - sets user data area attributes [gp1|gp2|gp3|gp4 cnt [enh] [wrrel {on|off}]] - general purpose partition [check|set|complete] - mode, complete set partitioning completed WARNING: Partitioning is a write-once setting once it is set to complete. Power cycling is required to initialize partitions after set to complete. mmc bootbus dev boot_bus_width reset_boot_bus_width boot_mode - Set the BOOT_BUS_WIDTH field of the specified device mmc bootpart-resize - Change sizes of boot and RPMB partitions of specified device mmc partconf dev [boot_ack boot_partition partition_access] - Show or change the bits of the PARTITION_CONFIG field of the specified device mmc rst-function dev value - Change the RST_n_FUNCTION field of the specified device WARNING: This is a write-once field and 0 / 1 / 2 are the only valid values. mmc setdsr - set DSR register value Wrong Image Format for bootm command ERROR: can't get kernel image! => mmc info MMC: no card present => + +Responses: +Hi, The u-boot version does not look correct for ti-processor-sdk-linux-automotive-dra7xx-evm-5_00_00_01. Version should be 2018.01+, your log is sowing 2019.04+. Regards, Vishal + +You are right, i also tried the u-boot version(dra7xx-evm_05_00_00_01.xml, commit:eac41e26ac56fcabf9826b21377931c7b8e646f2). The results are same. Not sure if it is right because i download it manually. I will make sure the version is correct first. Thanks for your suggestion. + +Hi, I downloaded all the source code through setup.sh and burn a image into SD card. the following is the log: ======================================================= U-Boot SPL 2018.01-00556-geac41e2 (Jul 07 2019 - 23:30:58) DRA752-GP ES2.0 Trying to boot from MMC1 no pinctrl state for default mode MMC: no card present spl: mmc init failed with error: -123 SPL: failed to boot from all boot devices ### ERROR ### Please RESET the board ### ======================================================= + +Hello, i fixed it finally. the following is the change i made. Actually, i don't understand what it means, and i just try again and again. So if you guys know what it means, please let me know. I want to understand the essential reason. ============================================================= diff --git a/arch/arm/dts/dra7-evm.dts b/arch/arm/dts/dra7-evm.dts index aa426da..d55a144 100644 --- a/arch/arm/dts/dra7-evm.dts +++ b/arch/arm/dts/dra7-evm.dts @@ -334,7 +334,7 @@ * SDCD signal is not being used here - using the fact that GPIO mode * is always hardwired. */ - cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; + /* cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>; */ pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50", "ddr50-rev11", "sdr104-rev11", "ddr50", "sdr104"; pinctrl-0 = <&mmc1_pins_default>; pinctrl-1 = <&mmc1_pins_hs>; ============================================================= + +Hi, This is the property used to describe card-detect gpio. On TI EVM this GPIO is used to detect when SD card is inserted and removed. More information on this property can be found here --> https://www.kernel.org/doc/Documentation/devicetree/bindings/mmc/mmc.txt Regards, Vishal + +Thank you, Vishal. + diff --git a/sample_embedding_folder2/0818068.txt b/sample_embedding_folder2/0818068.txt new file mode 100644 index 0000000000000000000000000000000000000000..10fd9724b3329b01bdbc1bb8c878ca0c579ceeec --- /dev/null +++ b/sample_embedding_folder2/0818068.txt @@ -0,0 +1,38 @@ +Ticket Name: Linux/TDA2E: vision SDK 3.02 A15 set clock freqency SysCtlClockSet() + +Query Text: +Part Number: TDA2E Tool/software: Linux Hi, I would like to change a15 clock freqency. Can I use SysCtlClockSet() function to change clock freqency and use SysCtlClockGet() to check? If I can not use this function.Which function I can to use? Thanks yumei SysCtlClockSet() + +Responses: +Hi Yumei, do you run Linux on A15? You an check this guide how to configure A15 frequency: Also in Linux kernel Dynamic Voltage and Frequency scaling is enabled: Regards, Yordan + +Hi Yordan I run Linux on A15. I try to use CPUFreq to change frequency. I want to run below code in my sdk folder(PROCESSOR_SDK_VISION_03_02_00_00/vision_sdk/build/),but it is failed. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean +make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dra7xx-evm_defconfig +make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage -j8 it show error message like: make: *** No rule to make target `distclean'. Stop. make: *** No rule to make target `tisdk_dra7xx-evm_defconfig'. Stop. make: *** No rule to make target `zImage'. Stop. I see this code from this question last reply: https://e2e.ti.com/support/processors/f/791/t/648120?Linux-AM5728-CPU-frequency-scaling-support Did i run error path or error code? thanks Yumei + +Hi Yumei, You need to build the kernel from the kernel folder and not from Vision-SDK. In the kernel folder (present in ti_components/os_tools), run the following commands to make kernel: make ARCH=arm omap2plus_defconfig ./ti_config_fragments/defconfig_builder.sh -t ti_sdk_dra7x_release make zImage make modules make MOD_INSTALL_PATH= modules_install Then copy the zImage and the modules in the file-system to your target. To change the frequency you need to have CONFIG_CPU_FREQ_GOV_USERSPACE=y in the kernel config. Regards Shravan + +hi When I run make zImage to sjow some error message below. warning: (INTEL_SOC_DTS_IOSF_CORE && MMC_SDHCI_ACPI && PUNIT_ATOM_DEBUG) selects IOSF_MBI which has unmet direct dependencies (PCI) # # configuration written to .config # warning: (INTEL_SOC_DTS_IOSF_CORE && MMC_SDHCI_ACPI && PUNIT_ATOM_DEBUG) selects IOSF_MBI which has unmet direct dependencies (PCI) make: *** No rule to make target `zImage'. Stop. Do I need to set up other things before make zImage? thanks Yumei + +Hi Yumei, can you try the following: make ARCH=arm omap2plus_defconfig ./ti_config_fragments/defconfig_builder.sh -t ti_sdk_dra7x_release make ti_sdk_dra7x_release_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules and see if you get errors? regards, Yordan + +Hi Yumei, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Yordan + +Hi Yordan I still show some error message when make zImage. But I continue run other step. I confuse about whith modules I need to copy to sd card. Because I find folder name modules in my sd card not a file. Thanks Yumei + +Hi Yumei, what is the error you get? Regards, Yordan + +Hi Yotdan below message is the error,when I run make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage. drivers/built-in.o: In function `hip04_mask_irq': /home/autorad/PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/linux/kernel/omap/drivers/irqchip/irq-hip04.c:98:(.text+0x1960): additional relocation overflows omitted from the output make: *** [vmlinux] Error 1 thanks Yumei + +Hi Yumei, what are the changes you have compared to the original tag REL_VISION_SDK_03_02_00_00? Regards, Yordan + +Hi Yoedan Do you mean to chage which file in sd card? Thanks Yumei + +Hi Yumei, what are your changes in the kernel source code, compared to the default from the SDK? Are you able to compile it without any modifications? Regards, Yordan + +Hi Yordan I cannot to compile it without any modifications. Because original code which I want to set frequency,it had been modified many times by the others. Thanks Yumei + +Hi Yordan I cannot compared to the original code,because my original code which had been modified many times by the others. Yumei + +Hi Yumei, are you able to build the kernel with "make linux" from vision_sdk/build directory? Regards, Yordan + diff --git a/sample_embedding_folder2/0818222.txt b/sample_embedding_folder2/0818222.txt new file mode 100644 index 0000000000000000000000000000000000000000..ce7baf20bf653fb92861256e289f0e88deec7a21 --- /dev/null +++ b/sample_embedding_folder2/0818222.txt @@ -0,0 +1,20 @@ +Ticket Name: Linux/TDA2SX: TDA2 + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: OPT8241, TDA2 Tool/software: Linux Dear TI officer: I have a TDA2x development board and an OPT8241-CDK-EVM. Can I put the OPT8241-CDK-EVM 's SDK: Voxel SDK on the TDA2 development board compiler and execute the OPT8241 application? Thanks. + +Responses: +Dear TI Officer: Can someone answer my question? Can I add the Voxel SDK and the Point Cloud Library to the Vision SDK and compile them together? Thanks. + +Hi Finley, I am not too familiar with the Voxel SDK. I believe if this is C code and library which can be compiled for the cores on TDA2 SoC and have no dependency on any specific OS functions which is not provided as part of TI RTOS, it should be okay. Thanks and Regards, Piyali + +Dear Piyali: Thank you for your response Voxel SDK dependency on PCL-1.7.2, libusb-1.0-0-dev, libudev-dev, linux-libc-dev, G++ 4.8 or later on Ubuntu 14.04 Can it compile and run on TDA2 Linux ? Thanks + +Dear TI Officer: Can someone answer my question? Thanks. + +Hi Finley, I had tried running the PCL a long time back on the Linux on TDA2 and it was working fine. I believe you need to make sure your filesystem has the right libraries to support this. I will also let one of our Linux experts to have a look at your requirements to confirm this is indeed supported. Thanks and Regards, Piyali + +Hi Finley, The latest Linux SDK release, that can be used with TDA2, is 5.00. This has support for point-cloud-dev and all other libraries that you mentioned. Please try it out and see if you can get the Voxel SDK working. If not, we will have to look at the issues and see how we can enable you from there. Regards Karthik + +Dear Piyali and Karthik, Thank you for your response, i will try OPT8241 on TDA2x. thanks + diff --git a/sample_embedding_folder2/0818531.txt b/sample_embedding_folder2/0818531.txt new file mode 100644 index 0000000000000000000000000000000000000000..95895ee54e6699cb5aac83dbbce8a67e50eb0972 --- /dev/null +++ b/sample_embedding_folder2/0818531.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2PXEVM: How can I test the processing time of each layer on TDA + +Query Text: +Part Number: TDA2PXEVM Hi, I am running my OD net on TDA2P and the output is fine. And it shows the fps of the whole CNN model running on EVE. Now, I want to analysis and test each layer's running time. SO, how can I get each layer's processing time? + +Responses: +Hi, To get each layer's running time, you need to rebuild TIDL with enabling profile in the library which needs source code access of TIDL. But, the issue here is that performance is worse because of your are running all the layers on EVE core, as detection output layer is not optimized on EVE core, so you can see that more cycles consumed on EVE. Could you please run this last detection output layer on DSP and all the remaining layers on EVE to get better performance. For that please refer to FAQ 21 and 22 in the TIDL user guide for the import and inference steps to partition layers on EVE and DSP. Thanks, Praveen + +Hi, Praveen I have followed the FAQ 21 and 22 in user guide to set layerID and run detection output layer on DSP. My point is to test different convolution layer to see how does structure of convolution affect the performance. For example, testing whether setting group convolution is helpful for reducing running time, testing whether Nx1 + 1XN conv run faster than NXN conv, testing how much does sparse convolution help on different convolution layers. Those tests can help us a lot to run CNN on TIDL more efficiently. I am afraid the user guide is not enough for applying. So, is that possible to get source code to rebuild TIDL? Or, is there any testing tools for cnn testing? Thanks! + +Hi, Please refer to section 1.2 Performance Summery in the TIDL data sheet where we had given "Convolution Layer Performance" for different combination of kenel sizes and sparse, dense kernels, so you can refer to that table and based on those cycles you can estimate for your network. Thanks, Praveen + +Hi, Praveen Thanks for your advice. I don't have TIDL data sheet. Could you share it to me? I think it can help me a lot with estimating my network. Your replay is really helpful. Thanks again! + +Hi, This TIDL data sheet (TIDeepLearningLibrary_DataSheet.pdf) also included along with TIDL user guide in the "REL.TIDL.01.01.03.00\modules\ti_dl\docs" folder. Also, attached here for your reference. Thanks, Praveen2577.TIDeepLearningLibrary_DataSheet.pdf + diff --git a/sample_embedding_folder2/0818917.txt b/sample_embedding_folder2/0818917.txt new file mode 100644 index 0000000000000000000000000000000000000000..35133073256c8f40c7578126d928ca739c84e149 --- /dev/null +++ b/sample_embedding_folder2/0818917.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2EVM5777: I want to connect Null link after TIOP link. + +Query Text: +Part Number: TDA2EVM5777 Tool/software: Linux Hi, I'm testing the TIDL usecase in linux with changing the last two link(ObjectDraw, Display) with Null link. The null link just read meta data from TIOP link and do nothing. The usecase was executed but FPS was too slow in each link. Could you suggest any points what i missed? Regards, Yoo + +Responses: +Hi, Whats the FPS are you getting when you run without modifying the usecase? Can you share the usecase stats logs after running the usecase for 1 min. Regards, Anuj + +HI, I haven’t heard from you, I'm assuming the issue is resolved. I will close the thread. Regards, Anuj + diff --git a/sample_embedding_folder2/0818984.txt b/sample_embedding_folder2/0818984.txt new file mode 100644 index 0000000000000000000000000000000000000000..69edcc7ff44a096471c9b4522e9665f9de56f731 --- /dev/null +++ b/sample_embedding_folder2/0818984.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux/TDA2EVM5777: Is it possible to use only meta data in TIOP link? + +Query Text: +Part Number: TDA2EVM5777 Tool/software: Linux Hi, I wonder that is possible to use only meta data in TIOP link. In original TIOP link, that uses Video composite buffer in algProcess. However, i don't want to use Dup link in TIDL usecase. I mean i want to see only detected bbox information. Is it possible? Regards, Yoo + +Responses: +HI, You can dump the output of tidl link running on DSP. But as TIOP link output data as composite buffer, so that will not be possible. You can modify the object draw link and dump data from there only, this should be possible. Regards, Anuj + +HI, I haven’t heard from you, I'm assuming the issue is resolved. I will close the thread. Regards, Anuj + diff --git a/sample_embedding_folder2/0819749.txt b/sample_embedding_folder2/0819749.txt new file mode 100644 index 0000000000000000000000000000000000000000..47407f50a6953b9ed38c6ff38f954df5f7c2cb80 --- /dev/null +++ b/sample_embedding_folder2/0819749.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2HV: Will TDA2 device operate properly if VDD_RTC is disconnected from VDD (RTC SS not enabled) during usage? + +Query Text: +Part Number: TDA2HV Other Parts Discussed in Thread: TDA2 A TI customer asks the following: "We would like to know what would happen if the VDD_RTC pin of the TDA2x device is not supplied. Currently, VDD_RTC is connected to VDD. Please know that we do not use the RTC sub-system in the design. Will the SoC work properly or can it hang?" On behalf of the customer, I searched the TDA2x Data Manual and Technical Reference Manual for instances of VDD_RTC. Reviewing the documents, I do not see any warning related to the question. I do see that VDD_RTC appears in the required power-up and power-down sequencing; however, I believe the customer's concern is related to a use case after power-up and before power-down. I searched the TI Public E2E database for VDD_RTC and TDA2, but I did not find any relevant posts about the topic. So, specifically: If VDD_RTC is tied high and becomes disconnected during normal use, what would happen to the SoC? Would it damage the device? Would it cause the SoC to hang? If the customer's system does not use the RTC sub-system, does the power-up and power-down sequence matter? Currently, the VDD_RTC is held high. With kind regards, Jason + +Responses: +Hi Jason, Datasheet has a footnote to Figure 5-2. Recommended Power-Up Sequencing regarding VDD_RTC: (4) vddshv5, vdd_rtc, and vdda_rtc domains: – If RTC mode is used, then vdda_rtc, vdd_rtc and vddshv5 must be individually powered with separate power supplies and cannot be combined with other rails. – If RTC-mode is not supported then the following combinations are approved: – vdda_rtc can be combined with vdds18v – vdd_rtc can be combined with vdd – vddshv5 can be combined with other 1.8 V or 3.3 V vddshvn rails If combinations listed above are not followed then sequencing for these 3 voltage rails should follow the RTC mode timing requirements. My understanding is that these are the possible connections for VDD_RTC (when RTC low power mode used/unused) found working by TI. Everything else (like VDD_RTC droop) can lead to unpredictable outcome. Regards, Stan + +Hello Stan, I am grateful for your response; thank you! I saw the same note and considered it. However, the customer's key question has to do with momentary or prolonged disconnection of the VDD_RTC pin. Is it possible that the SoC be damaged? Is it possible that the SoC would reset or hang? I believe that because the pin is optional, the customer's configuration disables the RTC funtion and the pin is not connected the the PRCM, there would be no long-term damage or unexpected reset/hang. But I am not the expert. I only make an assumption based on past experience and what I've recently read in the Data Manual and Technical Reference Manual. Any way for you to comment? With kind regards, Jason + +Hi Jason, just to update you: Stan is currently out of office and some delay in response might be expected. Regards, Yordan + +Hi Jason, Sorry for late reply. The TI instructions are to keep all power supplies powered even if that part (e.g. RTS) will not be used. Typically, the device will operate normally, but long-term reliability WILL be affected, meaning that end-product must have this fixed (all power supplies connected and ramped as specified in datasheet). Regards, Stan + +Thank you! I have shared this response with the customer. + diff --git a/sample_embedding_folder2/0820315.txt b/sample_embedding_folder2/0820315.txt new file mode 100644 index 0000000000000000000000000000000000000000..751f64eedb058bd3fb862b94a4b71546599eae6c --- /dev/null +++ b/sample_embedding_folder2/0820315.txt @@ -0,0 +1,10 @@ +Ticket Name: Linux: TDA2 new-usecase function + +Query Text: +Tool/software: Linux Hi I use "PROCESSOR_SDK_VISION_03_07_00_00"and, I wanted to build a new usecase. I could read and show image by opencv and did the same things by draw2d.c. I followed VisionSDK_UserGuide_BuildSystem.pdf to build usecase. But I did't know what function or program could do that things. Q1:Is any document for building new-usecase, or about read and show ? Q2:Could someone show a brief process for this case ? + +Responses: +Hi, Can you refer to PROCESSOR_SDK_VISION_03_07_00_00\vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_DevelopmentGuide.pdf Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0820371.txt b/sample_embedding_folder2/0820371.txt new file mode 100644 index 0000000000000000000000000000000000000000..ad7e192a0f680aee9a950b469f3621ee574809e3 --- /dev/null +++ b/sample_embedding_folder2/0820371.txt @@ -0,0 +1,26 @@ +Ticket Name: RTOS/PROCESSOR-SDK-TDAX: How to set Ethernet Port with External Ethernet Switch? + +Query Text: +Part Number: PROCESSOR-SDK-TDAX Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS I am working on project using TDA2xx(X5777A7XGABC) in Custom board. I am developing with vision sdk 03.06 & ndk_2_24_02_31 & nsp_gmacsw_4_16_00_00. My system is as follows. * TDA2 RGMII-0 <--> Another System * TDA2 RGMII-1 <--> External Ethernet Switch(NXP SJA1105) <--> Port1/2/3/4/5 I rebuild nsp as dual emac mode. NSP is executed in a15(RTOS). External Ethernet Switch don't have MDIO. It is seperately initialized by SPI. It is controlled correctly. vision_sdk\links_fw\src\rtos\utils_common\ndk\ndk_nsp_hooks.c GMACSW_Config *GMACSW_getConfig(void) { ...... pGMACSWConfig->macInitCfg[i].mdioModeFlags = MDIO_MODEFLG_NOPHY; ...... pGMACSWConfig->macInitCfg[i].macConnectionType = MAC_CONNECTION_TYPE_RGMII_FORCE_100_FULL; ...... pGMACSWConfig->macInitCfg[i].phyMask = (uint32_t)((uint32_t)0x1 << (uint32_t)(0)); ...... } I sure that TXC(25Mhz)/RXC(25Mhz) each is output. I confirmed MAC Address in console log. I assigned static IP Address. [HOST ] MAC Port 0 Address: [HOST ] 6c-c3-74-1e-23-1e [HOST ] MAC Port 1 Address: [HOST ] 6c-c3-74-1e-23-1f [IPU1-0] 3097.101171 s: My IP address for interface 1 : 169.254.252.100 [IPU1-0] 3097.101262 s: My IP address for interface 2 : 169.254.253.101 How do I modify RGMII-1? Please let me know if it's wrong or if there are additional edit points. + +Responses: +Hi Jongyoun, Help me understand you query better. So you want to connect 1. RGMII0 (MAC Port 0) to a different system(I believe you mean PC by system, in that case you are configuring it in normal mode, i.e not PHY-less) 2. RGMII1 (MAC Port 1) to a switch, in which you need a MAC 2 MAC connection. If this is the case, you have rightly re-built the NSP in dual mac mode. You static IP assignment also looks good to me. Only place where it looks fishy is you're assigning NO_PHY mode and PhyMask to both the interfaces. In your case, shouldn't you be configuring RGMII1 as NO_PHY and the other one differently? Regards, Anand + +Hi Anand. Thanks for the answer. I will explain more about the system. 1. RGMII0 (MAC to MAC) : Another System(TDA2 direct without PHY) 2. RGMII1 (MAC to MAC) : The Other System(TDA2 with External Ethernet Switch) Both ports are connected as MAC to MAC. I guess I'll set it up together. 1. How do I set this up? 2. And how do I PING test it in the RTOS? 3. Do I need to set up additional pinmux and interrupts? Regards, Jongyoun + +Hi Anand. RGMII0/1 are not working. All ports don't have any Data Signal. But TX Clock output when Rx Clock is received. After building sdk, when you see the generated file in the binaries folder at the following location, there is ti_ndk_config_ip_init function. * vision_sdk/binaries/apps/tda2xx_evm_bios_all/obj/vision_sdk/tda2xx-evm/a15_0/release/vision_sdk_configuro/package/cfg/MAIN_APP_a15_0_pa15fg.c Void ti_ndk_config_ip_init(HANDLE hCfg) { /* Add our global hostname to hCfg (to be claimed in all connected domains) */ CfgAddEntry(hCfg, CFGTAG_SYSINFO, CFGITEM_DHCP_HOSTNAME, 0, strlen(ti_ndk_config_Global_HostName), (UINT8 *)ti_ndk_config_Global_HostName, 0); /* Configure IP address manually on interface 1 */ { CI_IPNET NA; CI_ROUTE RT; /* Setup manual IP address */ bzero(&NA, sizeof(NA)); NA.IPAddr = inet_addr(LocalIPAddr); NA.IPMask = inet_addr(LocalIPMask); strcpy(NA.Domain, DomainName); NA.NetType = 0; CfgAddEntry(hCfg, CFGTAG_IPNET, 1, 0, sizeof(CI_IPNET), (UINT8 *)&NA, 0); /* * Add the default gateway. Since it is the default, the * destination address and mask are both zero (we go ahead * and show the assignment for clarity). */ bzero(&RT, sizeof(RT)); RT.IPDestAddr = 0; RT.IPDestMask = 0; RT.IPGateAddr = inet_addr(GatewayIP); CfgAddEntry(hCfg, CFGTAG_ROUTE, 0, 0, sizeof(CI_ROUTE), (UINT8 *)&RT, 0); } } Is it OK to set only interface1 when setting to dual mac? NC_NetStart(ndk\netctrl\netctrl.c) --> NS_BootTask(ndk\netctrl\netnetsrv.c) -> SPIpNet(ndk\netctrl\netnetsrv.c) --> NtAddNetwork(ndk\nettools\ipaddr\ipaddr.c) It seems that the NtAddNetwork is run with the following path by that setting And the dual mac is not considered. Is it unrelated? please answer about my question. Regards, Jongyoun + +Hi Jongyoun, Don't worry about the configuration of the second interface not being added in NDK. That's taken care in the ndk_nsp_hooks.c file in vision sdk. How did you ping to the interfaces? If you used two different PCs, do both of them have static IPs in the matching subnet? I mean, are the static IPs of your PCs something like 169.254.252.x and 169.254.253.x ? Regards, Anand + +Hi Anand, I modified it as follows. 1. I applied patch (vision_sdk\docs\Patches\0001-PAD-Mux-changes-to-enable-Dual-MAC.patch) 2. ti_components/networking/nsp_gmacsw_4_16_00_00/packages/ti/nsp/drv/config.bld (Line84 ~ 86) 3. vision_sdk/links_fw/src/rtos/bios_app_common/tda2xx/cfg/NDK_config.cfg (enableStaticIpEth0 = 0 -> 1, enableStaticIpEth1 = 0->1) if(NdkProcToUse=="a15_0") if (enableStaticIpEth0) { /* Settings for static IP configuration */ Ip.address = "169.254.252.100"; Ip.mask = "255.255.255.0"; Ip.gatewayIpAddr = "169.254.252.1"; Ip.ifIdx = 1; } 4. vision_sdk/links_fw/src/rtos/utils_common/src/ndk/ndk_nsp_hooks.c GMACSW_Config *GMACSW_getConfig(void) { ...... pGMACSWConfig->macInitCfg[i].mdioModeFlags = MDIO_MODEFLG_NOPHY; ...... pGMACSWConfig->macInitCfg[i].macConnectionType = MAC_CONNECTION_TYPE_RGMII_FORCE_100_FULL; ...... pGMACSWConfig->macInitCfg[i].phyMask = (uint32_t)((uint32_t)0x1 << (uint32_t)(0)); ...... } void stackInitHookStaticEth1(void *hCfg) { /*Static IP Address settings for interface 2*/ const char *ip_addr_2 = "169.254.253.101"; const char *ip_mask_2 = "255.255.255.0"; const char *ip_gateway_2 = "169.254.253.1"; ................. ................. } 5. NDK rebuild Is it OK? And I tested it as follows. * RGMII0(169.254.252.100 / TI-RTOS) -> I don't try to test yet. * RGMII1(169.254.253.101 / TI-RTOS) --> Ethernet Swtich --> TDA2(static IP 169.254.253.105 / Linux) or PC(static IP 169.254.253.50 / Windows) : I don't try to test yet. * RGMII1(169.254.253.101 / TI-RTOS) <-- Ethernet Swtich <-- TDA2(static IP 169.254.253.105 / Linux) or PC(static IP 169.254.253.50 / Windows) : RGMII1 is not working * TDA2(static IP 169.254.253.105 / Linux) --> Ethernet Swtich --> PC(static IP 169.254.253.50 / Windows) : Ping test complete. * PC(static IP 169.254.253.50 / Windows) --> Ethernet Swtich --> TDA2(static IP 169.254.253.105 / Linux) : Ping test complete. Regards, Jongyoun + +Hi Anand, I'm currently continuing the test. vision_sdk/links_fw/src/rtos/bios_app_common/tda2xx/cfg/NDK_config.cfg enableStaticIpEth0 = 1 enableStaticIpEth1 = 1 The value is set as above. On booting time, LLIGenArpPacket is called(eth1), LLITxIpPacket is called(eth0). Function is located in ndk_2_24_02_31\packages\ti\ndk\stack\lli\lliout.c When I change the value of either enableStaticIpEth0 or enableStaticIpEth1 to 0, LLITxIpPacket is called(eth0) periodically after booting is completed. Do you have any reason to guess? Regards, Jongyoun + +Hi Anand, I'm currently checking NDK/NSP source code. NIMU_NDK_start function is called twice when I enable DUAL_MAC.(eth0, eth1) However, there is one question during source code checking. * nsp_gmacsw_4_16_00_00/packages/ti/nsp/drv/ndk2nsp/ndk2nsp.h typedef struct NDK2NSP_OBJECT_ { ............. uint8_t bMacAddr[MAC_NUM_PORTS][6]; ............ }NDK2NSP_Object, *NDK2NSP_Handle; * nsp_gmacsw_4_16_00_00/packages/ti/nsp/drv/ndk2nsp/nimu_ndk.c static int NIMU_NDK_start(NETIF_DEVICE *pNETIFDevice) { /*This variable tells us if we are dealing with interface 1 or 2*/ uint32_t devIdx = pNETIFDevice->index-1U; ................... /* Open the translation layer, which itself opens the hardware driver */ hNDK2NSP = NDK2NSP_open((STKEVENT_Handle)pNETIFDevice->pvt_data); if (NULL != hNDK2NSP) { ................. /* Copy the MAC Address into the network interface object here. */ mmCopy(&pNETIFDevice->mac_address[0], &hNDK2NSP->bMacAddr[0], (uint)6U); /* Set the 'initial' Receive Filter */ hNDK2NSP->Filter = ETH_PKTFLT_ALL; if(0U == devIdx) { NDK2NSP_setRx(hNDK2NSP); } ......... } } When copying the value of bMacAddr, why not refer to devIdx? Regards, Jongyoun + +Hi Jongyoun, It is an issue, and I can give you a patch for this. It is a book keeping structure which is used by the stack. This doesn't functionally affect the data flow, unless you try to send/recv data to/from eth1 and eth0 interfaces from the same physical port (which is not expected from the current implementation, as dual mac and switch mode of the GMACSW is not supported together now). There is an internal SW filter which forwards the packets depending on port. This should take care of the issue. But looking at your setup, I believe this should not affect you as you are trying to communicate with eth1 from the RGMII1, which should work fine. Are you unable to receive data in the devices connected to your switch? Regards, Anand + +Hi Jongyoun, Any updates on this? Regards, Anand + +Hi Jongyoun, Any updates on this yet? Shall I assume you were able to get past the issue? Regards, Anand + diff --git a/sample_embedding_folder2/0820575.txt b/sample_embedding_folder2/0820575.txt new file mode 100644 index 0000000000000000000000000000000000000000..e2b3af45966cfe515d320d7722ed808d0faf1c58 --- /dev/null +++ b/sample_embedding_folder2/0820575.txt @@ -0,0 +1,22 @@ +Ticket Name: DRA75P: Need direct connect CSI2 Camera Module for J6 EVM, J6+ EVEM + +Query Text: +Part Number: DRA75P Other Parts Discussed in Thread: TDA2, TVP5158 Is there an off-the-shelf CSI2 output camera module available for the J6/J6+/TDA2/TDA2+ EVM that mates directly to the CSI2 connector (J8 on J6+ EVM, J5 on J6 EVM)? That is, need a direct CSI2 connection without SERDES for development purposes. + +Responses: +Hi David, J6 does not support CSI interface, but you could connect LI based camera to LI input interface on TDA2x+ EVM. Rgds, Brijesh + +Oh, right, I forgot that J6 did not have CSI2 and those ports I mentioned are for leopard imaging parallel output sensors. TDA2x+ and J6+ EVMs do have CSI2 expansion connectors (P15/J15). Do you mean that LI has a CSI2 output camera module that mates directly to the TDA2+ EVM? + +Hi David, I dont remember exactly connectors. Is this J15 MIPI connector or LI connector? We can connect OV10640 LI based sensor on LI connector and OV2775 on MIPI connector. Rgds, Brijesh + +Brijesh, According to the Processor SDK Linux Automotive Developer Guide we support the following: Supported cameras Camera Adapter Layer is used to capture video from CSI Camera. Currently the CAL driver supports following features. Processor SDK Linux Automotive release supports following sensors/cameras/video inputs:- OV10635 sensor - YUYV sensor on Vision board OV10635 sensor - YUYV sensor connected through LVDS OV10633 sensor - YUYV sensor connected on J6 EVM TVP5158 decoder - Support for decoding single channel analog video OV10640/OV490 - 720p CSI2 raw camera connected to OV490 ISP in YUYV format Processor SDK supports following sensors/cameras + +My reply above got truncated... The OV2775 and OV10640 are both RAW output. We want YUV. Do you have experience with the OV10640/OV490 combo? Is it sold as a kit from LI? Do we have a sample configuration which sets up basic YUV output through the ISP or would customer have to figure all that out? Again, we were looking for a reference camera (CSI2, YUV, no SERDES) without needing to use the Vision SDK. Thanks, + +Hi David, It is not supported on Vision SDK. It might be supported on Linux Let me check with the Linux team. Rgds, Brijesh + +I checked with Leopard Imaging and they apparently do not offer a OV10640+OV490 combination with 36 pin connector to fit our EVM. Is someone on the Linux team familiar with the configuration mentioned in the SW Dev Guide? + +The Linux team explained that the OV10640 + OV490 was custom made for TI and not available to customers. + diff --git a/sample_embedding_folder2/0820770.txt b/sample_embedding_folder2/0820770.txt new file mode 100644 index 0000000000000000000000000000000000000000..55628ca0d2a6f928abfe114cfc79cad971e13b25 --- /dev/null +++ b/sample_embedding_folder2/0820770.txt @@ -0,0 +1,20 @@ +Ticket Name: TDA2PXEVM: Output of semseg pixels values at the tidl_postproclink_algplugin.c + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Hi TI team, I have successfully deployed my trained model on tda2. Now I want to apply image processing further which could help me generating the required output. I have two questions about it and detailed answers will be highly appreciated. 1. How can I see the pixel values of each classes at the tidl_postproclink, I added some part of the code but I can't understand the output it is generating. What I need is the pixel value of each classes of my segmented objects. So far, I have only two objects. Here is the picture below of my code: 2. Adding this for loop and print function also disturbs my output on the display and make it completely black. How to deal with issue also, do I need to allocate any memory before doing any such thing, if yes, can you give me some hint on it? Kindly respond me asap. Thank you. With best regards, H.M. Owais + +Responses: +Hi, Printing such a large array in short time is not possible, so you are getting improper display. You can add a dup link after tidlpostproc and add a null link on IPU1_0 core to dump that output and check. Regards, Anuj + +Hi Anuj, Thank you for your response. I tried to add the dup link in the txt file to generate the code but it gave me error. Error: Link [Dup] must have one and only one incoming link Following is my txt I used to add dup and null into my semseg: UseCase: chains_semSeg NullSource -> Decode -> Dup Dup -> Merge (A15) Dup -> Alg_tidlpreproc (A15) Alg_tidlpreproc (A15) -> Alg_tidl_Eve1 (EVE1) Alg_tidlpreproc (A15) -> Alg_tidl_Eve2 (EVE2) Alg_tidl_Eve1 (EVE1) -> Alg_tidlpostproc (A15) Alg_tidl_Eve2 (EVE2) -> Alg_tidlpostproc (A15) Alg_tidlpostproc (A15) -> Dup -> Null Alg_tidlpostproc (A15) -> Merge (A15) Merge (A15) -> Sync (A15) -> Alg_tidlpostproc_cpy (A15) Alg_tidlpostproc_cpy (A15) -> Display GrpxSrc -> Display_Grpx seems like I shouldn't add Alg_tidlpostproc(A15) as an input. Moreover, Is there any documents which explains about Links. Thank you. With best regards, H.M.Owais + +Hi, Dup link is a link which can have single input and multiple output. As there is already a dup in your usecase so the 2nd dup will have some different name like "DUP_1". Regards, Anuj + +Hi Anuj, Thank you for your reply. I followed your advice and did exactly as you suggested. I added the dup link at the output of the tidl_postproc and then added the Null link to dump the files. Something like this: tidl_postproc-> dup_1 dup_1-> Null. When I ran the usecase to check the frames at the print. I received this error Assertion @ Line: 231 in ipcOutLink_drv.c: pObj->createArgs.inQueParams.prevLinkQueId < pObj->prevLinkInfo.numQue :! can you tell me why is it happening.? Moreover, do I need to access the output of the null link to dump the files? I am bit confused with the structure of these usecases. What parameters should I set and how to get the values of it. It will be of great help if you could give some useful hints on it. Thank you. With best regards, H.M. Owais I added the dup link at the output of the tidl_postproc and then added the Null link to dump the files. Something like this: tidl_postproc-> dup_1 dup_1-> Null. When I ran the usecase to check the frames at the print. I received this error Assertion @ Line: 231 in ipcOutLink_drv.c: pObj->createArgs.inQueParams.prevLinkQueId < pObj->prevLinkInfo.numQue :! can you tell me why is it happening.? Moreover, do I need to access the output of the null link to dump the files? I am bit confused with the structure of these usecases. What parameters should I set and how to get the values of it. It will be of great help if you could give some useful hints on it. Thank you. With best regards, H.M. Owais + +Hi Anuj, Thank you for your reply. I followed your advice and did exactly as you suggested. I added the dup link at the output of the tidl_postproc and then added the Null link to dump the files. Something like this: tidl_postproc-> dup_1 dup_1-> Null. When I ran the usecase to check the frames at the print. I received this error Assertion @ Line: 231 in ipcOutLink_drv.c: pObj->createArgs.inQueParams.prevLinkQueId < pObj->prevLinkInfo.numQue :! can you tell me why is it happening.? Moreover, do I need to access the output of the null link to dump the files? I am bit confused with the structure of these usecases. What parameters should I set and how to get the values of it. It will be of great help if you could give some useful hints on it. Thank you. With best regards, + +Hi Anuj, Thank you for your reply. I followed your advice and did exactly as you suggested. I added the dup link at the output of the tidl_postproc and then added the Null link to dump the files. Something like this: tidl_postproc-> dup_1 dup_1-> Null. When I ran the usecase to check the frames at the print. I received this error Assertion @ Line: 231 in ipcOutLink_drv.c: pObj->createArgs.inQueParams.prevLinkQueId < pObj->prevLinkInfo.numQue :! can you tell me why is it happening.? Moreover, do I need to access the output of the null link to dump the files? I am bit confused with the structure of these usecases. What parameters should I set and how to get the values of it. It will be of great help if you could give some useful hints on it. Thank you. With best regards, + +Hi, If i have clearly understand your usecase then you want to check the output of tidlpostproc link. In order to do that you have to dump that data in sd card as printing those data is not possible. you can dump that data using null and dup link. replace below line from usecase txt file Alg_tidlpostproc (A15) -> Merge (A15) and add below lines Alg_tidlpostproc (A15) -> dup_1 (A15) dup_1 (A15) -> Null. dup_1 (A15) -> Merge (A15) And set dup and null link params correctly. For these params you can take reference from other usecase where these links has been used. Regards, Anuj + diff --git a/sample_embedding_folder2/0820788.txt b/sample_embedding_folder2/0820788.txt new file mode 100644 index 0000000000000000000000000000000000000000..2593f85d9aa56debcf70b7bdfba3e0c1c2aab263 --- /dev/null +++ b/sample_embedding_folder2/0820788.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2PXEVM: Questions regarding image processing tools and optimization of semseg on EVE's + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Hi Dear TI, I have some thought provoking questions regarding tda2 and tidl. I have successfully implemented semseg with 2EVEs on tda2px. Now I have these following questions for which I need detailed answers. 1. As far as I understood, I cannot use opencv due to performance issue for image processing. Therefore, the only option I am left with is either vlib or eve_sw. I wanna ask, among them, which one is more suitable and closer to opencv. This arises another question 2. If I use eve_sw, my computational requirement is already occupied by the semseg, so I believe that I can only use vlib as it is for dsp. Please put some light on it. 3. Now, the third question is: How can I optimize the semseg so that I can use only one EVE to make it run on more than 10fps. What are the possible way which can contribute to fulfill this purpose. 4. Finally, I wanna ask, how can I check the memory consumed by tda2 while running the network or any usecase. I can calculate the theoretical value by converting it from the PC memory usage while inference and converting it for the tda2. However, I actually wanna see the practical value printed by the tda2 on the fly. Thank you once again, will be waiting for your detailed answers. With best regards, H. M. Owais + +Responses: +Hi Owais, 1 & 2. You can use vlib. 3. There is no further optimization possible in the Semseg use case on one EVE, you need to more EVE's in parallel to improve fps. 4, You can refer to "tidl_tb.c" for all the allocated buffers. Thanks, Praveen + +Hi Praveen, Thank you for reply. Regarding your answer 3, as per my understanding the network structure contributes towards the performance on tda2. So I want to rephrase my question: The question is whether the network structure can enhance the performance (i.e. the fps), using the same usecase? If so, would you like to give any suggestions on it? If, we build another usecase, what are the things need to considered to increase the performance? Once again, my goal is achieve the highest fps on minimum number of EVEs. What are the possible choices do I have on your current platform. With best regards, H.M. Owais + +Hi Owais, Yes, the network structure can enhance the performance. For that you can use example scripts for training sparse models from Caffe-jacinto github link (https://github.com/tidsp/caffe-jacinto-models) and try couple of thimgs suggested below, 1. You can try to increase sparsity in the model 2. You can try to decrease the number of layers and use more convolution layers 3. You try to reduce the resolution of feature sixe if possible use sizes multiple of 32 Thanks, Praveen + diff --git a/sample_embedding_folder2/0820982.txt b/sample_embedding_folder2/0820982.txt new file mode 100644 index 0000000000000000000000000000000000000000..83d5654f93641c174233f130850d770bc861d132 --- /dev/null +++ b/sample_embedding_folder2/0820982.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2P-ABZ: rebuilding image for SDcard issues with TIDL case + +Query Text: +Part Number: TDA2P-ABZ Other Parts Discussed in Thread: TDA2 Hi everybody , I have a TI evm for TDA2 and a D3 board mounting TDA2P . using latest SDK by TI modifying rules.make as : MAKECONFIG?=tda2xx_evm_bios_all I can build generate a card which is working in TI TDA2 board . now modifying to compile for TDA2P changing rules.make as MAKECONFIG?=tda2px_evm_bios_all I can build --> D3 TDA2P can boot but TIDL use case is empty : why ? (attached screenshot) what is missing ? on top if I use TDA2P image it doesn t run on TDA2 board : why ? is tda2px reffering to superset with different package ? best regards Carlo + +Responses: +Hi Carlo, TIDL use cases are supported only on TDA2x. TDA2Px is a different device as compared to TDA2xx. Hence you can't run TDA2P image on TDA2 board. Regards, Rishabh + +Hi Rishabh , TIDL can work on TDA2P ? not supported use case means TIDL example not ported on TDA2P or no way at all to have any neural on TDA2P using tensorflow + TIDL ? thank you regards Carlo + +Hi Carlo, TIDL can work on TDA2P. Not supported means TIDL example is not ported on TDA2P. Regards, Rishabh + +Hi Rishabh ok thakn you please any directions/suggestion on how to port it on TDA2P ? I have a D3 TDA2P kit and a camera and TIDL use case as a basis will help a lot best regards Carlo + +Hi Carlo, I am not an expert on TIDL yet to help you with porting steps :) Can you please post a different thread so that TIDL experts can help you. Regards, Rishabh + diff --git a/sample_embedding_folder2/0821093.txt b/sample_embedding_folder2/0821093.txt new file mode 100644 index 0000000000000000000000000000000000000000..4e936f5acec31bb3f4cda65eb304913caa081dd4 --- /dev/null +++ b/sample_embedding_folder2/0821093.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2P-ABZ: TDIL use case or example for TDA2P + +Query Text: +Part Number: TDA2P-ABZ Other Parts Discussed in Thread: TDA2 Hello everybody , please VSDK does not support TIDL use case ( see my other post ) . coudl you help me on how to insert example and have something similar to TDA2 ? any instruction / example ? thank you regards Carlo + +Responses: +Hi, You can run tidl bios example on tda2px bios cfg. You just need to modify your usecase and use 2 EVE instead of 4. Regards, Anuj + +Hi Anuj, Can you please elaborate more on your answer? Since there are several files to modify (configuration files on what processors to include, use-case related files: chains_semSeg.c, chains_semSeg_priv.c). What modification should I do in order to have only 2 EVE instead of 4? Thank you Aleksander + +HI, An internal thread is going on with this. From the logs shared i hope the porting tidl usecase on tda2px is done and everything is working fine. Please close this thread and raise a new one for your camera issue with tidl. Regards, Anuj + diff --git a/sample_embedding_folder2/0821186.txt b/sample_embedding_folder2/0821186.txt new file mode 100644 index 0000000000000000000000000000000000000000..edb1596ce631107951f8e0d5e796e7121678a1b4 --- /dev/null +++ b/sample_embedding_folder2/0821186.txt @@ -0,0 +1,118 @@ +Ticket Name: Linux/TDA2E: vision SDK 3.02 DRA72x use kernel_menuconfig set A15 freqency + +Query Text: +Other Parts Discussed in Thread: TDA2E art Number: TDA2E Tool/software: Linux Hi I try to use make kernel_menuconfig to set governors is Performance. But I use omapconf show opp to check freqency is still 1000HZ. System also show can not find scaling_governor file message. Did I less some procedure or DRA72x can not use kernel_menuconfig set A15 freqency? thanks Yumei + +Responses: +Hi Yumei Hang, Selecting cpufreq governor from menuconfig should work. Could you share the full Kernel boot log and your kernel ".config" file (after you have built Kernel)? Regards, Vishal + +Hi Vishal There are my .config file and procedure message when I run sd card. Is MPU max freqency 800? Because I see tda2ex file table is show 800,but mpu default freqency is 1000. thanks Yumei 6013.kernel_boot.txt +U-Boot SPL 2016.05-00008-g1fbee98-dirty (Jul 18 2019 - 10:37:17) +DRA722-GP ES2.0 +*** Warning - bad CRC, using default environment + +Trying to boot from MMC1 +reading dra7-ipu2-fw.lzop +reading dra7-dsp1-fw.lzop +spl: falcon_args_file not set in environment, falling back to default +reading single-stage-boot.dtb +reading uImage +reading uImage +[ 0.000000] Booting Linux on physical CPU 0x0 + [ 0.000000] Initializing cgroup subsys cpuset + [ 0.000000] Initializing cgroup subsys cpu + [ 0.000000] Initializing cgroup subsys cpuacct + [ 0.000000] Linux version 4.4.84-00018-gd326d64-dirty (autorad@autorad-VirtualBox) (gcc version 5.3.1 20160113 (Linaro GCC 5.3-2016.02) ) #9 SMP PREEMPT Thu Aug 2 15:33:26 CST 2018 + [ 0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=30c5387d + [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache + [ 0.000000] Machine model: TI DRA722 Rev C EVM + [ 0.000000] bootconsole [earlycon0] enabled + +Welcome to Arago 2016.12! + +[ OK ] Listening on udev Kernel Socket. +[ OK ] Started Dispatch Password Requests to Console Directory Watch. +[ OK ] Created slice System Slice. +[ OK ] Started Forward Password Requests to Wall Directory Watch. +[ OK ] Reached target Paths. +[ OK ] Listening on Journal Socket (/dev/log). +[ OK ] Listening on Journal Socket. + Starting Journal Service... + Starting Create list of required st... nodes for the current kernel... � Starting Remount Root and Kernel File Systems... + Starting Load Kernel Modules... + Mounting Temporary Directory... + Mounting POSIX Message Queue File System... +[ OK ] Created slice User and Session Slice. +[ OK ] Reached target Slices. +[ OK ] Listening on /dev/initctl Compatibility Named Pipe. +[ OK ] Reached target Swap. +[ OK ] Created slice system-serial\x2dgetty.slice. +[ OK ] Listening on udev Control Socket. + Starting Setup Virtual Console... +[ OK ] Mounted POSIX Message Queue File System. +[ OK ] Mounted Temporary Directory. +[ OK ] Started Journal Service. +[ OK ] Started Create list of required sta...ce nodes for the current kernel. +[ OK ] Started Remount Root and Kernel File Systems. +[FAILED] Failed to start Load Kernel Modules. + +See 'systemctl status systemd-modules-load.service' for details. + [ OK ] Started Setup Virtual Console. Starting Apply Kernel Variables... Starting udev Coldplug all Devices... Starting Load/Save Random Seed... + Starting Create Static Device Nodes in /dev... + Starting Flush Journal to Persistent Storage... +[ OK ] Started Apply Kernel Variables. +[ OK ] Started Load/Save Random Seed. +[ OK ] Started Create Static Device Nodes in /dev. +� [ OK ] Started Flush Journal to Persistent Storage. + Starting udev Kernel Device Manager... +[ OK ] Reached target Local File Systems (Pre). + Mounting /media/ram... + Mounting /var/volatile... +[ OK ] Mounted /media/ram. +[ OK ] Mounted /var/volatile. +[ OK ] Started udev Kernel Device Manager. +[ OK ] Reached target Local File Systems. + Starting Create Volatile Files and Directories... +[ OK ] Started Create Volatile Files and Directories. + Starting Update UTMP about System Boot/Shutdown... +[ OK ] Started Update UTMP about System Boot/Shutdown. +[ OK ] Started udev Coldplug all Devices. +[ OK ] Found device /dev/ttyS0. +[ OK ] Reached target System Initialization. +[ OK ] Listening on D-Bus System Message Bus Socket. +[ OK ] Reached target Sockets. +[ OK ] Started Daily Cleanup of Temporary Directories. +[ OK ] Reached target Timers. +[ OK ] Reached target Basic System. + Starting rc.pvr.service... + Starting Permit User Sessions... + Starting Login Service... + Starting avm service... +[ OK ] Started D-Bus System Message Bus. +[ OK ] Started Permit User Sessions. +[ OK ] Started rc.pvr.service. +[ OK ] Started Login Service. + + Starting weston.service... +[ OK ] Started Serial Getty on ttyS0. +[ OK ] Reached target Login Prompts. +[ OK ] Started weston.service. + + _____ _____ _ _ +| _ |___ ___ ___ ___ | _ |___ ___ |_|___ ___| |_ +| | _| .'| . | . | | __| _| . | | | -_| _| _| +|__|__|_| |__,|_ |___| |__| |_| |___|_| |___|___|_| + |___| |___| + +Arago Project http://arago-project.org dra7xx-evm ttyS0 + +Arago 2016.12 dra7xx-evm ttyS0 5775.config.txt + +Hi, The Linux Kernel by default has 1000 MHz as the value for OPP_NOM. Regards, Vishal + +Below e2e posts shows examples on how to update u-boot and Kernel to change the OPP_NOM values. (Below examples are for 600 MHz, but similar change can be done for 800 MHz) u-boot change: https://e2e.ti.com/support/processors/f/791/p/619772/2286496#2286496 Kernel change: https://e2e.ti.com/support/processors/f/791/p/619772/2283850#2283850 Regards, Vishal + +Hi Vishal I use u-boot change freqency successfully. Can I chane OPP_NOW to OPP_OD or OPP_HIGH? Has default OPP_NOW 1000 MHz to belong overclocking condition? So I use Kernel change freqency unsuccessfully Because DRA72x is just one OPP? thanks Yumei + +Hi Yumei Recommend you to remain with OPP_NOM for TDA2Ex and 800 MHz as per the datasheet to avoid having higher leakage power than necessary. http://www.ti.com/document-viewer/TDA2E/datasheet/voltage-and-core-clock-specifications-voltage-core-clock-specs#SPRT637-1342 The 1000 MHz is for DRA72x device which is very similar to TDA2ex but supports different frequencies/OPPs: Kindly refer: http://www.ti.com/document-viewer/DRA726/datasheet/voltage-and-core-clock-specifications-voltage-core-clock-specs#SPRT637-1342 Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0821306.txt b/sample_embedding_folder2/0821306.txt new file mode 100644 index 0000000000000000000000000000000000000000..a6f68515bf84b14ff48f4b72a5603b9c67899ac4 --- /dev/null +++ b/sample_embedding_folder2/0821306.txt @@ -0,0 +1,24 @@ +Ticket Name: Linux/TDA2E: Can the kernel software support the power management of the TF card? + +Query Text: +Part Number: TDA2E Tool/software: Linux HI, How does the kernel software do the power management of the TF card: After the TF card is removed, we need to turn off the TF card power. When the TF card is reinserted, the kernel will not recognize the TF card, and then the TF card will be powered. The kernel still cannot recognize the TF card. + +Responses: +Hi, Could you provide more details, Which SDK version you are using, what issue you are facing? Regards, Vishal + +Hi Vishal, We are using the 2.02 SDK. The problem is :After turning off the TF card power supply, how to let the kernel recognize the inserted TF card? The kernel does not recognize the TF card. When the SOC performs this process: Turn off the TF power supply → Insert the TF card → Turn on the TF card power supply → The kernel cannot recognize the TF card + +Hi, Is the TF card connected via SD card slot using MMC interface? You can either use a dedicated GPIO for card detect or the SDCD signal of MMC. If dedicated gpio is used, then "cd-gpios" property in dts is used to specify the GPIO used for this purpose. Regards, Vishal + +Hi, Are there any more questions on this? Regards, Vishal + +Hi Vishal, We use the MMC1 interface to connect the TF card through the SD card slot. The SDCD signal of MMC1 has also been used. The software uses the original SDK provided. But still has not solved the problem Regards, + +Could you share the full Kernel logs from boot time? removal of card and re-insertion of card? + +Hi vishal , The attached file may be the file you want. dmesg_tf.rar + +Hi, Correction to my previous statement. We use a separate GPIO pin for SD card detect. The omap_hsmmc driver does not support SDCD pin. Regards, Vishal + +Hi, Do you have any other question on this? Regards, Vishal + diff --git a/sample_embedding_folder2/0821424.txt b/sample_embedding_folder2/0821424.txt new file mode 100644 index 0000000000000000000000000000000000000000..3614c099ac930f4dae90a7681b1b430bf1ad4d3b --- /dev/null +++ b/sample_embedding_folder2/0821424.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux: TDA2 PROCESSOR_SDK_VISION_03_07_00_00 new-usercase draw Ti logo + +Query Text: +Tool/software: Linux Hi I builded a new usecase "my_usecase", and I wanted to draw Ti logo first a. MAKECONFIG?=tda2xx_evm_linux_all b. my_usecase.txt UseCase: my_usecase GrpxSrc -> Display_Grpx c. grpxSrcLink_my_usecase.c Int32 GrpxSrcLink_my_usecase_draw(GrpxSrcLink_Obj *pObj) { Draw2D_RegionPrm region; Draw2D_BmpPrm bmpPrm; /* fill full buffer with background color */ region.color = DISPARITY_BACKGROUND_COLOR; region.colorFormat = SYSTEM_DF_BGR16_565; region.startX = 0; region.startY = 0; region.height = pObj->info.queInfo[0].chInfo[0].height; region.width = pObj->info.queInfo[0].chInfo[0].width; Draw2D_fillRegion(pObj->draw2DHndl,®ion); /* draw bitmap's */ /* TI logo */ bmpPrm.bmpIdx = DRAW2D_BMP_IDX_TI_LOGO_1; Draw2D_drawBmp(pObj->draw2DHndl, 1600 +80, DISPARITY_FRAME_THICKNESS, &bmpPrm ); return SYSTEM_LINK_STATUS_SOK; } I had build and run apps.out, I only got "Hello" and "test" from Vps_printf of my_usecase.c in usecases. But nothing output of logo or icon . It is still show 1920*1080 and FPS from HDMI on my output device Do any link or display function not set for my usecase to draw logo ? + +Responses: +Hi, Have you looked at the application present in the sample_apps folder which displays the TI logo on the screen? This sample chain to display content to screen can be found in the sample_app/src/hlos/usecases/nullSrc_display folder and uses the nullSrc link. Regards Shravan + diff --git a/sample_embedding_folder2/0822370.txt b/sample_embedding_folder2/0822370.txt new file mode 100644 index 0000000000000000000000000000000000000000..7511da207f8aa79fadee5f8a2d2a98bc97c3e6f8 --- /dev/null +++ b/sample_embedding_folder2/0822370.txt @@ -0,0 +1,24 @@ +Ticket Name: RTOS/TDA3LX: TDA3 OPP_PLUS + +Query Text: +Part Number: TDA3LX Other Parts Discussed in Thread: TDA2 Tool/software: TI-RTOS Hi, My customer wants to increase the TDA3 DSP and EVE speed. I notice that the TDA3 can run in OPP_PLUS mode. For TDA2, I think the SBL code for OPP_PLUS has been already implemented in \PROCESSOR_SDK_VISION_03_06_00_00\ti_components\drivers\pdk_01_10_02_07\packages\ti\boot\sbl_auto\sbl_app\src, but I cannot find any detail information about TDA3 OPP_PLUS. I have several questions about the SW/HW OPP_PLUS configuration. Could you please provide more details about the OPP_PLUS of the TDA3. 1. How to configure the Software for OPP_PLUS for TDA3 by using SBL? Is it same as the TDA2? 2. How to configure the Software for OPP_PLUS for TDA3 by using GEL? 3. Any special requirements for the hardware or PCB ? Thanks, Frank + +Responses: +Hi Frank, TDA3xx OPP Plus is supported on a particular part i.e. TDA3xxS. In order to configure SBL for EVE 900 MHz and DSP 1000 MHz you need to set SBL_LIB_CONFIG_DSP_1000GHZ_EVE_900MHZ to 1 in PROCESSOR_SDK_VISION_03_07_00_00\ti_components\drivers\pdk_01_10_03_07\packages\ti\boot\sbl_auto\sbl_lib\src\tda3xx\sbl_lib_config_tda3xx.h. For gel you need to call TDA3xx_PRCM_Clock_Config_OPPPLUS_TDA3xx_15x15 API. Regards, Rishabh + +Do you mean "TDA3SXX"? I can turn on the "OPP_PLUS" for the TDA3 on the D3 board now. Do I need additional cooling system for the chip? Also I notice that the video PLL will not work. Which function needs the video PLL? ISS capture? Video input port? + +Hi, Can you specify the exact part that you are using in you system. I am not aware of thermal characteristics of D3 board so for cooling you need to check with D3 Engineering. Video PLL is needed by DSS. Hence in case of OPP Plus display won't work. Regards, Rishabh + +Hi Rishabh, The part number of TDA3 on D3 board is xTDA3SXXBABFQ1. So I guess the TDA3SXX is the special part number that you were talking about, and B is the speed grade. Thanks, Frank + +Hi Frank, xTDA3SXX is the ADAS superset part. To have 900/1000 frequency you need to have part with speed grade S. Please see Device Comparison table from data manual for different parts: http://www.ti.com/document-viewer/TDA3MV/datasheet/device-comparison-int-device-comparison#int_Device_Comparison Regards, Rishabh + +Thank you. But why I can still turn on the OPP PLUS on this chip? I print the DSP and EVE frequencies by Chains_prfLoadCalcEnable(), and it shows that the DSP frequency is 1000 MHz and EVE is 900 MHz. I also can use OPP HIGH and the DSP freuqnecy = 745 MHz and EVE frequency = 666.67 MHz. + +Hi Frank, As I mentioned previously xTDA3SXX is the ADAS superset part which is used for SW development. This part can be run at max supported frequency. However this part is not meant to be used in production. For production you will need to order one of the parts mentioned in Data Manual and depending upon the speed grade you will be able to set the EVE/DSP frequency. Hope this helps. Regards, Rishabh + +Hi Rishabh, Thank you for your quick response. This could resolve my issue. Have a nice day. Best, Frank. + +Hi Frank, I am closing this thread as issue has been resolved. Regards, Rishabh + diff --git a/sample_embedding_folder2/0822782.txt b/sample_embedding_folder2/0822782.txt new file mode 100644 index 0000000000000000000000000000000000000000..7545e17fb3dcf350c53f35396d2bbf095058c3f6 --- /dev/null +++ b/sample_embedding_folder2/0822782.txt @@ -0,0 +1,8 @@ +Ticket Name: Linux/TDA2SX: About the TDA2 memory adjustment on Dual OS (Linux & RTOS) + +Query Text: +Part Number: TDA2SX Tool/software: Linux Our system does not have enough shared memory to do more algorithm, So we want to adjust the memory block position & size for increasing the SR1 size. After reading the URL http://processors.wiki.ti.com/index.php/VSDK/VisionSDK_UserGuide_MemoryMap#Memory_Map_of_the_Application, our adjustments are still fail. Even we only move the IPU1 & IPU2 position & size. ( not out of 0xA0000000 ) Could you help us ? Thank you very much. Regards, Eten + +Responses: +Hi Eten, If you don't intend M4 to perform a CPU access and all operations happen using DMA, you can add a carveout between 0xA0000000 - 0xC0000000 and use this as shared memory (refer the dra7-evm-infoadas.dts in kernel on how to add a reserved memory node). You then need to add the corresponding entry OSA_memInit to mmap this reserved region to userspace. Regards Shravan + diff --git a/sample_embedding_folder2/0823341.txt b/sample_embedding_folder2/0823341.txt new file mode 100644 index 0000000000000000000000000000000000000000..280914f2087ced98b970e8593a19edc37aa07aae --- /dev/null +++ b/sample_embedding_folder2/0823341.txt @@ -0,0 +1,14 @@ +Ticket Name: Linux/TDA2EVM5777: My Custom link build error + +Query Text: +Part Number: TDA2EVM5777 Tool/software: Linux Hi, I'm working on a project with TDA2EVM. I created three custom links and put them in myApp's "src/hlos/modules/" and assigned Link ID at system_linkId.h (links_fw). However, during the final linking process of the build, the error "MyApp.out: No soch file or directory" appeared. I checked that each custom link worked separately. and this error occurred during the process of merge. I solved this problem by modifying "src/hlos/MAKEFILE.MK" file, but I don't know why. Do I need to write down the MAKEFILE.MK content sequentially, such as a my custom Link ID? For example, when mod1 (LinkID 76), mod2 (LinkID 77) In MAKEFILE.MK order must be mod1, mod2 to prevent the above mentioned error from occur. I think MOD1 and MOD2 are not interrelated, are they interrelated in build process? I'm confused... I'd appreciate it if you could give me the answer. Regards, Lee. + +Responses: +Hi Lee, Depending upon where you want to run these custom links the answer will vary. Is there any custom link that is meant to be run on A15? Regards, Rishabh + +Hi, Rishabh. Thanks for answer. My three custom link run on A15 core. Regards, Lee. + +Hi Lee, You need to add the link under PROCESSOR_SDK_VISION_03_07_00_00\vision_sdk\links_fw\src\hlos\links_a15. Please see of the already available links on how to add the same to the make. Regards, Rishabh + +Hi Lee, Have you been able to make progress on this issue? Regards, Rishabh + diff --git a/sample_embedding_folder2/0823534.txt b/sample_embedding_folder2/0823534.txt new file mode 100644 index 0000000000000000000000000000000000000000..1afdc8afd3841f0c392c132e4687d1be3e0087db --- /dev/null +++ b/sample_embedding_folder2/0823534.txt @@ -0,0 +1,18 @@ +Ticket Name: Linux/TDA2EVM5777: Self converted JDetNet model doesn't show same FPS with pre-installed JDetNet model + +Query Text: +Part Number: TDA2EVM5777 Tool/software: Linux Hi, I downloaded JDetNet model from github and converted that model. In TIDL OD usecase, the installed JDetNet model that is contained in Vision SDK showed about 20 FPS. However, the converted JDetNet model shows about 10 FPS and file size was different. Moreover, the detected box of vehicle was pink color. The color of vehicle was green when is tested with original model. I also changed objectDraw link as related post says. The path of downloaded deploy.prototxt is 'ti_dl\test\testvecs\config\caffe-jacinto-models\trained\object_detection\voc0712\JDetNet\ssd768x320_ds_PSP_dsFac_32_hdDS8_0\test_quantize' and the name of pretrained model is voc0712_ssdJacintoNetV2_iter_120000.caffemodel. Is it normal situation? Regards, Yoo + +Responses: +Hi Yoo, Did you update the below parameters in the “deploy.prototxt” as indicated in the original thread keep_top_k: 20 confidence_threshold: 0.15 Thanks, Praveen + +Hi Praveen, Yes, i did it. I already did all things that were refered in original question. (https://e2e.ti.com/support/processors/f/791/t/689617) Is the jetnet model that is provided when i install the vision sdk from the jdetnet model which is opened in caffe-jacinto git repo? Regards, Yoo + +Hi Yoo, The jdetnet model that is provided when install the vision sdk is not same as one in the caffe-jacinto git repo. The jdetnet comes with VSDK had only 4 classes and the one in caffe-jacinto had 21 classes. Thanks, Praveen + +Hi Praveen, Thanks for your useful information. I got a one more question about whether you used any optimization method in training JDetNet model that is provided in vision sdk. I used tidl_import_JDetNet.txt file that is provided in vision sdk. However, as i say above post, the FPS was slower 2 times when i converted JDetNet caffe model from git repo (provided JDetNet 20 FPS, self converted JDetNet 10 FPS). Is that caused only because of difference of number of classes? Regards, Yoo + +Any updates here? I also wonder whether i can get deploy.prototxt and recipe txt file of provided JDetNet. Regards, Yoo + +Hi, Yes, the degradation could be because of difference of number of classes. I am not sure that I can share that publicly here, but only difference is if had four classes. Thanks, Praven + diff --git a/sample_embedding_folder2/0823662.txt b/sample_embedding_folder2/0823662.txt new file mode 100644 index 0000000000000000000000000000000000000000..750d4e50f0e1eb41b2c922725980fa82d29520f0 --- /dev/null +++ b/sample_embedding_folder2/0823662.txt @@ -0,0 +1,18 @@ +Ticket Name: TDA2E: Flashing the TDA2 Image + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2 Hello, I am using Radar TDA2 SDK (PROCESSOR_SDK_RADAR_03_07_00_00). I have compilation on windows. I have compiled the SDK with following option set MAKEAPPNAME=apps set MAKECONFIG=tda2xx_cascade_bios_radar gmake -s -j8 depend gmake -s -j8 Now next step for me is to flash this image. So i started following the VisionSDK_UserGuide_TDA2xx.pdf under section 3.6 (load using SD card) so i opted for option 3.6.1 (Option 1: Steps to prepare a bootable SD card ) and made the card bootable. So i went to step 3.6.3 (Steps to generate MLO) and than i saw a new folder comes up under C:\PROCESSOR_SDK_RADAR_03_07_00_00\vision_sdk\binaries\apps with name tda3xx_evm_bios_radar even thogh my compilation was for tda2xx_cascade_bios_radar. I guess it was ok. After this i did step 3.6.4 (Steps to generate appImage ). Now the document in section 3.6.5 says i need to copy this generated MLO and App files.(Once the AppImage and MLO are generated , Copy the MLO and AppImage at root folder of formatted SD Card) But i cannot able to see which App and MLO files i need to copy to root folder. My question form where i can get these files to be copied My folder structures are For vision_sdk\binaries\apps C:\PROCESSOR_SDK_RADAR_03_07_00_00\vision_sdk\binaries\apps>dir Directory of C:\PROCESSOR_SDK_RADAR_03_07_00_00\vision_sdk\binaries\apps 07/24/2019 08:26 AM . 07/24/2019 08:26 AM .. 07/23/2019 03:52 PM tda2xx_cascade_bios_radar 07/24/2019 08:36 AM tda3xx_evm_bios_radar Inside tda3xx_evm_bios_radar C:\PROCESSOR_SDK_RADAR_03_07_00_00\vision_sdk\binaries\apps\tda3xx_evm_bios_radar>dir Volume in drive C is Windows Volume Serial Number is 4EAB-E65F Directory of C:\PROCESSOR_SDK_RADAR_03_07_00_00\vision_sdk\binaries\apps\tda3xx_evm_bios_radar 07/24/2019 08:36 AM . 07/24/2019 08:36 AM .. 07/24/2019 08:36 AM nor_flash_writer 07/24/2019 08:35 AM qspi_flash_writer 07/24/2019 08:36 AM sbl 07/24/2019 08:29 AM ti 07/24/2019 08:26 AM vision_sdk tda3xx_evm_bios_radar\sbl C:\PROCESSOR_SDK_RADAR_03_07_00_00\vision_sdk\binaries\apps\tda3xx_evm_bios_radar\sbl>dir Directory of C:\PROCESSOR_SDK_RADAR_03_07_00_00\vision_sdk\binaries\apps\tda3xx_evm_bios_radar\sbl 07/24/2019 08:36 AM . 07/24/2019 08:36 AM .. 07/24/2019 08:34 AM mflash_uart 07/24/2019 08:34 AM nor 07/24/2019 08:36 AM nor_flash_writer 07/24/2019 08:31 AM qspi 07/24/2019 08:35 AM qspi_flash_writer 07/24/2019 08:32 AM qspi_sd Can someone please tell me what and which files i need to copy into root folder of the SD card to use the Sw i bring up. This is the first time i am trying to bring up this board. Br Deepak Joshi + +Responses: +Hi Deepak, My suggestion will be to change MAKECONFIG in PROCESSOR_SDK_VISION_03_07_00_00\vision_sdk\build\Rules.make. When you tried to build SBL and AppImage make would have searched for TDA3 paths and failed. There will be a folder named sd under SBL and Vision SDK will have AppImage in sbl_boot folder. Please note that Processor SDK Vision and Processor SDK Radar are quite similar wrt infrastructure. So you can find similar paths in Radar release package Regards, Rishabh + +Hi Deepak, The exact path is vision_sdk\binaries\apps\tda2xx_cascade_bios_radar\vision_sdk\bin\tda2xx-evm\sbl_boot\AppImage and vision_sdk\binaries\apps\tda2xx_cascade_bios_radar\sbl\sd\opp_nom\tda2xx-cascade-radar\MLO Regards, Rishabh + +Hello Rishabh, Thanks for yours reply so now under C:\PROCESSOR_SDK_RADAR_03_07_00_00\vision_sdk\binaries\apps\tda2xx_evm_bios_radar, I see Sbl folder which i will copy directly to root of the SD card. Now for the AppImage i went to the path suggested by you C:\PROCESSOR_SDK_RADAR_03_07_00_00\vision_sdk\binaries\apps\tda2xx_evm_bios_radar\vision_sdk\bin\tda2xx-evm\sbl_boot. Do i need to copy only sbl_boot or the three image files which has been generated. Thanks once again for yours help. Br Deepak joshi + +Hi Deepak, You only need to copy MLO and AppImage. In my second reply I have mentioned exact files. Regards, Rishabh + +Hello Rishabh, Thanks once again checked yours second reply. Now i have MLO and AppImage. So one last question before i plug this in TDA2 Cascade board, my SD card will have only two files and it will boot up ? my SD card folder structure will look like this F:\>dir Volume in drive F has no label. Volume Serial Number is 5D38-3D40 Directory of F:\ 07/24/2019 02:32 PM 119,988 MLO 07/24/2019 02:35 PM 6,438,676 AppImage 2 File(s) 6,558,664 bytes 0 Dir(s) 61,295,820,288 bytes free So it has only two files AppImage and MLO. Br Deepak Joshi + +Hi Deepak, Yes the EVM will boot up with only these two files. Regards, Rishabh + diff --git a/sample_embedding_folder2/0824073.txt b/sample_embedding_folder2/0824073.txt new file mode 100644 index 0000000000000000000000000000000000000000..ee395ec2d5f4561953deeb26ad5729844b515429 --- /dev/null +++ b/sample_embedding_folder2/0824073.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2E: MMWCAS-DSP-EVM Bring up + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: MMWCAS-DSP-EVM, TDA2 Hello I have as MMWCAS-DSP-EVM and want to use this to run RADAR Use case under the PROCESSOR_SDK_RADAR_03_07_00_00. I have compiled the PROCESSOR_SDK_RADAR_03_07_00_00 with use case for tda2xx_cascade_bios_radar and then followed following the steps mentioned in VisionSDK_UserGuide_TDA2xx.pdf 1) section 3.6 (Load using SD card ) 2) 3.6.1 (Option 1: Steps to prepare a bootable SD card ) 3) 3.6.3 (Steps to generate MLO) 4) 3.6.4 (Steps to generate appImage) 5) 3.6.5 (SD Card setup) Now when i try to plug the SD card into the MMWCAS-DSP-EVM board doesn't boot up. If anybody can tell me what is the issue it will be really helpful for me. Br Deepak Joshi + +Responses: +Hi Deepak, What is the SoC present on this board? Can you share the link where you ordered it. Regards, Rishabh + +Hello Rishabh, It has TDA2 Soc. we didn't ordered it online but was purchased directly via our FAE. I have the photo of the board, if this helps can post that in the forum. Br Deepak Joshi + +Hi Deepak, It will be helpful if you can get the link from your FAE. Regards, Rishabh + +Hello Rishabh, Just got info from our FAE that this board is not in public domain. So i will my question to further private forum. Br Deepak Joshi + +Hi Deepak, Ok thanks for the update, you can post it on private forum. FYI you might be missing SYSBOOT settings or UART serial port settings might not be set correctly in case you do not see any logs at all. Regards, Rishabh + diff --git a/sample_embedding_folder2/0824086.txt b/sample_embedding_folder2/0824086.txt new file mode 100644 index 0000000000000000000000000000000000000000..29e8379de2dcf58e0a1ebc8aa598d069812c0694 --- /dev/null +++ b/sample_embedding_folder2/0824086.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2EVM5777: Interfacing with vehicle CAN + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hello, TI TDA2 EVM has two CAN interfaces: DCAN1 and DCAN2. I want to receive information from vehicle CAN on one of these two interfaces, and use that information in an algorithm running on the DSP core. I have the following questions: 1. How can I physically connect these interfaces (DCAN1/DCAN2) to the vehicle CAN? Is there any reference which explains how to do this? 2. Are there any use-cases in Vision SDK that show how to receive/transmit CAN data? Thank you. + +Responses: +Hi Sagar, Answers to your questions are as: 1. Please refer to http://processors.wiki.ti.com/index.php/PDK/PDK_FAQ#CAN_Controller.28DCAN.2FMCAN.29 for more details. This page will tell you careabouts CAN connection. 2. Vision SDK do have the use-case to demonstrate the usage of DCAN. To enable this use-case you have to set 'DCAN_INCLUDE' to 'yes' in respective 'cfg.mk' file. Thanks & Regards, Vivek Dhande. Texas Instruments (India) Pvt Ltd + +Hello Vivek, The link you shared provides some information about the DCAN and MCAN, but it does not say anything about the physical connectors. For instance, some boards have a DB9 port to receive CAN. The TDA2x EVM has no such facility. So I am wondering if I need to solder or glue the CAN+ and CAN- wires on the DCAN terminals of TDA2x. In that regard, where can I get the board schematics for TDA2x EVM to know the positive and negative terminals of each DCAN? I found the usage for 'DCAN_INCLUDE' in Vision SDK, but it just seems to build the 'dcan' module under vision_sdk/apps/src/rtos/modules. I could not locate any application use-case(s) employing CAN information. Can you point out the same to me? FYI, we are using Vision SDK 3.06. Thank you. + +Hi Sagar, I am not sure which version of EVM are you using, but you can find EVM related documents here: http://www.ti.com/tool/TDA2EVM5777#technicaldocuments TDA2 EVM does not have DB9 connector for DCAN but it does have 3 pin header for CAN_H, CAN_L and GND. For DCAN use-case, you don't need to select any specific option, it runs with all use-cases. It periodically sends out a message and on reception, it prints the message details on the console. Thanks & Regards, Vivek Dhande. Texas Instruments (India) Pvt Ltd + diff --git a/sample_embedding_folder2/0824632.txt b/sample_embedding_folder2/0824632.txt new file mode 100644 index 0000000000000000000000000000000000000000..3e25356d54574437c5e7194e73ef57a8a75bba87 --- /dev/null +++ b/sample_embedding_folder2/0824632.txt @@ -0,0 +1,28 @@ +Ticket Name: TDA2SX: Angle Finding radar VSDK use case? + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2, AWR1243 How to customize use case with our angle finding technique for cascade TDA2 EVM? Is modifying the beam forming use case the right place to start? Is there a better choice use case for angle finding or maybe we should look at creating a new custom use case? + +Responses: +Hi Zach, Are you using MIMO or beamforming for getting the angle of arrival? You can create your own usecase using the TI out of box usecases as a reference. Thanks and Regards, Piyali + +Hi Piyali, We are using MIMO. Thanks and Regards, -Zach + +Zach We have a MIMO usecase which is part of the SDK. You can use this as a reference. Thanks and Regards Piyali + +We have cascade needed as well. We are expanding the 4 AWR1243 cascade to 8 AWR1243. How do I go about identify and quantify the changes need to get to 8 AWR1243 on TDA2s with one AWR1243 master? Which it the "MIMO" use case? + +***correction*** 8 AWR1243, 2 TDAs, one master AWR1243 + +cascade_radar_object_detect is the MIMO usecase. If each AWR1243 would have its own TDA software, you would not need to change the number of AWR1243 for each TDA. Chirp configs would only need to be in sync. + +Where is the chirp config that gets used by FxObAoA? Looks like a it read from a file handle. I don't see where this file name string and directory get set. So we can review the chirp setting in the use case. + +Where can I see and modify the chirp ramp scenario please? + +Hi Zach, There is a default chirp config built into the code in PROCESSOR_SDK_RADAR_03_07_00_00\vision_sdk\apps\src\rtos\radar\src\common\chains_common_cascade_ar12xx_config_mimo.c The one you see with the file read is searching for a folder with the below name: #define RADAR_CONFIG_PARAM_DIR_NAME "radar_test_vector/" Kindly go through the section: 3.9.1.6.3 File-based Use Case Configuration Support in the file : PROCESSOR_SDK_RADAR_03_07_00_00\vision_sdk\docs\Radar\ProcessorSDKRadar_UserGuide.pdf You can change the chirp configurations from the files in radar_test_vector under PROCESSOR_SDK_RADAR_03_07_00_00\vision_sdk\apps\src\rtos\radar\src\usecases\cascade_radar_object_detect and put this folder in an SD card to be plugged into the board. Thanks and Regards, Piyali + +For "Control Calibration" file in 3.9.1.6.1 4 AWR1243 Capture + Radar Object Detect (DSP) (MIMO) + Null from PROCESSOR_SDK_RADAR_03_07_00_00\vision_sdk\docs\Radar\ProcessorSDKRadar_UserGuide.pdf : "For Control Calibration, the Calibration is sent out over Ethernet to the Matlab tool. This is saved as a CC.mat file. Once this file is generated you need to run vision_sdk\apps\src\rtos\radar\src\usecases\cascade_radar_object_detect\create_calib_coefs.m to finally create the SD card based coefficients and then copy this over to the SD card for the next run." Where do I find more information about generating this CC.mat file and it's format? + +Zach You can refer to the end of the section 4.2 Data Flow of the vision_sdk\docs\Radar\ProcessorSDKRadar_DataSheet.pdf. You can look at the MATLAB scripts for more details for the format. Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0825232.txt b/sample_embedding_folder2/0825232.txt new file mode 100644 index 0000000000000000000000000000000000000000..322bc26a1d3c61502153e86556abb7a62e90568f --- /dev/null +++ b/sample_embedding_folder2/0825232.txt @@ -0,0 +1,12 @@ +Ticket Name: [TDA4M] Supporting RTOS at Cortex-A in TDA4 + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi, Only Linux is supported at CA72 in the latest sdk v0.9 of TDA4. But in your previous TDA2, RTOS version was the main platform at CA15. When will RTOS be supported at CA72? Regards, HJ Kim + +Responses: +Hi Kim, SDK v0.9 supports RTOS on CA72 with a limited set of features. TI is still discussing internally on the roadmap for RTOS support. Regards, Rishabh + +Hi Rishabh, Thank you for your reply. One more question, it is same for the following SDK v1.0 in Oct? Regards, HJ Kim + +Hi Kim, Yes the above will remain same for SDK v1.0 release in October. Regards, Rishabh + diff --git a/sample_embedding_folder2/0825291.txt b/sample_embedding_folder2/0825291.txt new file mode 100644 index 0000000000000000000000000000000000000000..8a23e87d9d2dc35640533dd51b14c2d38011783a --- /dev/null +++ b/sample_embedding_folder2/0825291.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2SX: Possibility evaluation of TDA2x + 1080p surrounded view cameras + ADAS + +Query Text: +Part Number: TDA2SX We known multi-channel cameras based on TDA2P MIPI interface via TI official website: TDA2P + DS90UB960 or DS90UB953; but we are familiar with TDA2S platform, we developed 720p(1280*720) surrounded view cameras and ADAS function. We want to evaluate possibility of TDA2S + 1080p(1920*1080) surrounded view cameras + ADAS: 1. Surrounded view cameras: 4pcs 1080 camera raw data; 2. Please recommend serializer and deserializer: + +Responses: +Hi, Only the TDA2Px devices have the integrated ISP needed for processing RAW data. The TDA2xx (Including TDA2Sx) devices do not have the ISP. Is there a reason why you don't want to use the TDA2Px device for this usecase? Shashank + +Because we are familiar with TDA2S plaftform and we developed mature product, TDA2S is cheaper than TDA2P, as we know TDA2P supports few CMOS sensors. if we give up integrated ISP, does TDA2S support 2 Mega surrounded view cameras ? + +Please see response in teh other thread. + diff --git a/sample_embedding_folder2/0825609.txt b/sample_embedding_folder2/0825609.txt new file mode 100644 index 0000000000000000000000000000000000000000..d1be60dfd5e791a7c969e91929892df0998e6d2d --- /dev/null +++ b/sample_embedding_folder2/0825609.txt @@ -0,0 +1,26 @@ +Ticket Name: TDA2E: linux vision SDK 3.02 dra72x scaling_governor not found + +Query Text: +Part Number: TDA2E Hi I try to run omapconf show opp,but it show scaling_governor not found. If I want to use this to chane frequency,what I need to set up? thanks Yumei + +Responses: +Hi Yumei, can you check in this doc how to enable the scaling governor: Regards, Yordan + +Hi Yordan I had been to use menuconfig to change governor. When I use menuconfig ,then use make linux_install and copy uImage to SD card. But omapconf show opp still show no find scaling governor. thanks Yumei + +HI Can you confirm if the kernel configuration used is similar to that of the Linux SDK - would help if you can mention the SDK/kernel version. You can check the kernel configuration by typing # zcat /proc/config.gz + +Hi Please confirm if your issue is still open If it is still unresolved, please check the kernel configuration and report back your findings + +Hi Sriam I am not sure path to run zcat /proc/config.gz. Do it run in the ti_components/os_tools/kernel? Thanks Yumei + +Hi You need to run the command on the target (EVM) once the kernel boots to the shell prompt + +Hi the verison is 4.4.84-00018-gd326d64-dirty I use tda2eg sdk302. thanks Yumei + +HI Were you able to verify the kernel configuration by running the "# zcat /proc/config.gz" command on the target side + +Hi Sriram I cannot to verify the kernel configuration by running the zcat /proc/config.gz. I even cannot find config.gz. file. thanks Yumei. + +Hi Config.gz file is exported at runtime if the corresponding kernel configuration option to include it the kernel image is enabled. It is enabled by default in the TI SDK - have you modified the kernel configuration at your end. If so can you verify the changes carried out - including selection of options for CPUFREQ, governors + diff --git a/sample_embedding_folder2/0825649.txt b/sample_embedding_folder2/0825649.txt new file mode 100644 index 0000000000000000000000000000000000000000..8a425dfb8e6d996cfde798c16b0b72b5c52ab44c --- /dev/null +++ b/sample_embedding_folder2/0825649.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2E: vision SDK 3.02 dsp change OPP_NOM to OPP_HIGH + +Query Text: +Part Number: TDA2E Hi I try to change dsp frequency from OPP_NOM to OPP_HIGH or OPP_OD. I modify DRA7_CORE_OPP from OPP_NOM to OPP_HIGH in Clock.c file.(file from ti_components/os_tools/linux/u-boot/u-boot/arch/arm/include/asm/arch-omap5/Clock.c) But I use omapconf show opp to check result,it still is OPP_NOM. Do anything I miss when I want to change dsp freqency? thanks Yumei + +Responses: +Hi Yumei, please check if this document can help you: Regards, Yordan + diff --git a/sample_embedding_folder2/0825792.txt b/sample_embedding_folder2/0825792.txt new file mode 100644 index 0000000000000000000000000000000000000000..7912e37fbf11ce3bbd6f42e6b0a8663959261de1 --- /dev/null +++ b/sample_embedding_folder2/0825792.txt @@ -0,0 +1,69 @@ +Ticket Name: TDA2PXEVM: git am ../linux-kernel-addon/earlyboot-kernel-patches/* failed + +Query Text: +Part Number: TDA2PXEVM Hi, I want to apply the earlyboot-kernel-patches for kernel.But it apply failed.My vision SDK version is 3.07. Here's the apply log. git am ../linux-kernel-addon/earlyboot-kernel-patches/* +应用:dra7xx: Kernel Optimizations for early-use-case enablement +error: 打补丁失败:ti_config_fragments/auto.cfg:50 +error: ti_config_fragments/auto.cfg:补丁未应用 +打补丁失败于 0001 dra7xx: Kernel Optimizations for early-use-case enablement +失败的补丁文件副本位于:.git/rebase-apply/patch +当您解决这一问题,执行 "git am --continue"。 +如果您想要跳过这一补丁,则执行 "git am --skip"。 +若要复原至原始分支并停止补丁操作,执行 "git am --abort"。 Could you give some help? Regards Ll + +Responses: +Hi Ll, can you make sure you have checkout the right branch as described in chapter "2.4.2.1.1 Clone kernel" of VisionSDK_Linux_UserGuide.pdf. You may need to run 'git am --abort' before you can checkout the branch. (also it could be useful if you change your local setting to English so we can read the error messages) Regards, Yordan + +Hi Yordan, I describe my steps below. 1.Checkout the right branch,I use a new branch name early_boot to distinguish origin branch. lyp@lyp-desktop:~/hd2/tda2/sdk_3.07/ti_components/os_tools/linux/kernel/omap$ git checkout -b early_boot tags/REL_VISION_SDK_03_07_00_00 +Switched to a new branch 'early_boot' +lyp@lyp-desktop:~/hd2/tda2/sdk_3.07/ti_components/os_tools/linux/kernel/omap$ git log +commit 0af2ab56214366ea1b8c1ea6ca0dae726dba083a +Author: Shravan Karthik +Date: Tue Jun 4 18:47:56 2019 +0530 + + ti_config_fragments: Add CONFIG_BLK_DEV_NVME to default config + + Cascade radar board has a NVME SSD card mounted on the board. + Add NVME driver support by default in the kernel config + + Signed-off-by: Shravan Karthik + +commit 9e4a96e876ff8cfffe8694f38f27635dfbc18f3f +Author: Shravan Karthik +Date: Tue Jun 4 18:45:32 2019 +0530 + + arm: dts: Change board name for cascade radar DTB + + Signed-off-by: Shravan Karthik + +commit 12d7cbeff8522722c1981d49b8e07d81fdd887ce +Author: Vignesh R +Date: Wed Nov 22 14:33:41 2017 +0530 + + pci: dwc: pci-dra7xx: Improve MSI IRQ handling + + We need to ensure that there are no pending MSI IRQ vector set (i.e + PCIE_MSI_INTR0_STATUS reads 0 at least once) before exiting + dra7xx_pcie_msi_irq_handler(). Else, the dra7xx PCIe wrapper will not + register new MSI IRQs even though PCIE_MSI_INTR0_STATUS shows IRQs are + pending. Therefore, keep calling dra7xx_pcie_msi_irq_handler() until it + returns IRQ_NONE, which suggests that PCIE_MSI_INTR0_STATUS is 0. +lyp@lyp-desktop:~/hd2/tda2/sdk_3.07/ti_components/os_tools/linux/kernel/omap$ git branch +* early_boot + infoadas-on-psdkla3.03 + kernel_dev + 2.Try to apply the patch,it still apply failed. lyp@lyp-desktop:~/hd2/tda2/sdk_3.07/ti_components/os_tools/linux/kernel/omap$ git am ../linux-kernel-addon/earlyboot-kernel-patches/* +Applying: dra7xx: Kernel Optimizations for early-use-case enablement +error: patch failed: ti_config_fragments/auto.cfg:50 +error: ti_config_fragments/auto.cfg: patch does not apply +Patch failed at 0001 dra7xx: Kernel Optimizations for early-use-case enablement +The copy of the patch that failed is found in: .git/rebase-apply/patch +When you have resolved this problem, run "git am --continue". +If you prefer to skip this patch, run "git am --skip" instead. +To restore the original branch and stop patching, run "git am --abort". + Regards, LI + +Hi, Can you apply patch 1 by 1 and tell us which patch is giving the error and share the output of gist status and git diff when you get the error. Regards, Anuj + +Hi LI, We haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Yordan + diff --git a/sample_embedding_folder2/0826165.txt b/sample_embedding_folder2/0826165.txt new file mode 100644 index 0000000000000000000000000000000000000000..34cd34c59484ced33d0994277a4e736d09f8381c --- /dev/null +++ b/sample_embedding_folder2/0826165.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2PXEVM: Function to extract the masks from semseg usecase + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Hi TI, I have few questions regarding post image processing on tda2. 1. How to use vlib within the tidl_postproclink,c? 2. Which function of vlib can be used to extract the information of individual class mask. What I am looking for is something similar to cv2.inRange function in Vlib? 3. Is there any function to find the contours as well in vlib? Thank you. With best regards, H.M. Owais + +Responses: +Hafiz Muhammad Owais said: 1. How to use vlib within the tidl_postproclink,c? I can't find the file tidl_posproclink.c in the SDK. Is there a typo? Also, not sure I understand the question. Assuming that this link is running on DSP, then adding vlib call is like adding any other library call. You need to call into the function you want, and make sure that the header file vlib.h is included and the makefile includes the include path for this. Hafiz Muhammad Owais said: 2. Which function of vlib can be used to extract the information of individual class mask. What I am looking for is something similar to cv2.inRange function in Vlib? There is none in vlib. Hafiz Muhammad Owais said: 3. Is there any function to find the contours as well in vlib? There is none in vlib. + +Hi Jesse, Thank you for your reply. I have solved the question 1. I want to be more precise for the rest of questions. Since TI has offered a demo version for semantic segmentation which is semseg. Once we finish the semantic segmentation, let's just say for three classes bicycle, person and background. What I want to do now is to apply image processing further to extract the information regarding whether the person is sitting on the bicycle or not. I believe most of the users need such kind of post image processing for the semantic segmentation. Do you have any solution for the post processing in the vlib? With best regards, Owais + +Hi Owals, Unfortunately, no we don’t have such function that would analyze the output of semantic segmentation. However you can train another deep learning network that would analyze the output of the semantic segmentation and detect regions in which there is a person sitting on a bike. Or the original semantic segmentation model could be retrained to detect 4 classes: bicvcle alone, person alone, person sit on bicycle, background. regards, Victor + +Hi Victor, I have written post processing algorithm by myself on C which works pretty fine enough :-) without utilizing any vision library. Your suggestion is useful but it would require more time for labeling and training it again. I will keep this suggestion in my mind for other segmentation tasks. Thank you. With best regards, Owais + diff --git a/sample_embedding_folder2/0826406.txt b/sample_embedding_folder2/0826406.txt new file mode 100644 index 0000000000000000000000000000000000000000..283a1d9031f59145105911485ef162055d88a442 --- /dev/null +++ b/sample_embedding_folder2/0826406.txt @@ -0,0 +1,30 @@ +Ticket Name: PROCESSOR-SDK-DRA7X: 4ch mix in/BT.1120 16bit to VIP Capture + +Query Text: +Part Number: PROCESSOR-SDK-DRA7X Other Parts Discussed in Thread: TDA2 Dear Sir, I have a 4 Channel video sensor input to one video decoder. This decoder will output one channel YUV422 BT.1120 16bit 74.25MHz to VIP captuer in TDA2. use line mixed method I need to confirm this kind application had verified, and the performace is fine. And, please let me know how to cahnge the VIP setting on PROCESSOR_SDK_VISION_03_05_00_00. Are these parameter coorrect? SYSTEM_VIFM_MCH_LINE_MUX_ES SYSTEM_VIFW_16BIT Thanks! + +Responses: +Hi Chen, Any specific reason for using line mux mode? You could connect multiple input to different input port. Rgds, Brijesh + +Hi, Becasue the source is form MIPI, so only line mux mode. Why do you suggest to connect multiple input to different input port? + +But which device is converting from MIPI to parallel output? Rgds, Brijesh + +Hi, we use FPGA to convert MIPI to BT.1120x1 + +Hi, Can you use pixel mux mode? Regards, Rishabh + +Hi, Can it output to multiple output ports? Regards, Brijesh + +Hi, Firstly, please let me know why can't use line mux mode, then tell me the better solution. + +Hi Chen, Line mux mode is not really recommended.. The other option is to use pixel mux mode. Is it possible to get the output in pixel mux mode? Regards, Brijesh + +Hi, We refer the doc - TDA2x_Tech_Reference_Manual http://www.ti.com/lit/ug/sprui29f/sprui29f.pdf In 9.4.5.8.4 Line Multiplexing, there is descibed the Line Mux mode is supported. It's impossible to change to pixel mux mode on current board schematic design. Please confirm line mux mode is verified, and performance is fine. We only use pixel mux mode in mass production, so this information is verry important for us. + +Hi Chen, Line mux is not much tested. I am not sure there could be challenges in bringing up line mux mode.. Since you are already considering pixel mux mode for mass production, why dont you use it for the bringup also? Rgds, Brijesh + +Hi Chen, Current driver does not support line mux so please use pixel mux as suggested previously. Regards, Rishabh + +Hi, Thanks for your comment. + diff --git a/sample_embedding_folder2/0826909.txt b/sample_embedding_folder2/0826909.txt new file mode 100644 index 0000000000000000000000000000000000000000..fcdeb8a959458ea70519544d06bf2f411fdf2221 --- /dev/null +++ b/sample_embedding_folder2/0826909.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2SX: Does TDA2S support 2 Mega surrounded view cameras ? + +Query Text: +Part Number: TDA2SX Because we are familiar with TDA2S plaftform and we developed mature product, TDA2S is cheaper than TDA2P, as we know TDA2P supports few CMOS sensors. if we give up integrated ISP, does TDA2S support 2 Mega surrounded view cameras ? + +Responses: +yes Regards Shashank + +Would you please describe in details ? 1. Serializer and deserializer chip type: DS90UB960 ? it is MIPI interface, TDA2S does not support MIPI; 2. Serializer and deserializer transmission data rate: we used DS90UB934/DS90UB934 for 1280*720 resolution, transmission data rate of 2 Mega pixel will 4 times for 1280*720p resolution. Thanks, + +1) You can use 933 serializer and 964 deserializer which allow data through parallel port VIP. You are correct in stating that TDA2S doesn't support MIPI. For the exact data rate you will have to reach out to the SERDES group , however it may be possible to reach 2 mpix with this serdes configuration (We may have to reduce frame rate if the b/w exceeds) My suggestion would be to use the TDA2P device even if you are not using the ISP since it allows for better interfaces. Regards Shashank + diff --git a/sample_embedding_folder2/0827002.txt b/sample_embedding_folder2/0827002.txt new file mode 100644 index 0000000000000000000000000000000000000000..99e41e0badf9b4d4fdf5c6fc42f2bc3fc0965fde --- /dev/null +++ b/sample_embedding_folder2/0827002.txt @@ -0,0 +1,14 @@ +Ticket Name: Compiler/TDA2EVM5777: How can i capture specific frame in Sgx link? + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler Hi, I'm trying to connect my camera to TDA2 board. I'm using Vision_sdk ver 3.6. In lvds_single_cam_sgx_display usecase, the captured frame has invalid data format. In capture link, i set input data format as YUV_422I_YUYV and output data format as YUV_422I_YUYV also. (I don't have exact information about this camera data format) To get valid data format, i'm going to dump the frame and get valid data format using YUV player. To do that, i add the code to save specific frame as raw file. The below is what i added in sgxFrmcpy ProcessData function. if(customTmp == 10) { FILE *fp = NULL; fp = fopen("/opt/vision_sdk/FRAME.RAW", "wb"); if (fp == NULL) { Vps_printf("[DEBUG] File not opened for capturing frame"); } else { Vps_printf("[DEBUG] File write is Started"); } fwrite(pBuffer->payload, pObj->inQueInfo.chInfo[pBuffer->chNum].width * pObj->inQueInfo.chInfo[pBuffer->chNum].height*2, 1, fp); //Vps_printf("[DEBUG] %d written", pBuffer->payloadSize); fclose(fp); } customTmp++; The usecase is going well but the file that is created by this cord is now displayed normally when i use YUV player. The below images are captured images what i refered. I changed input/output data format regarding all possible combinations. However, any one was not showed normally. Any suggestion? Regards, Yoo + +Responses: +Hi, Which camera sensor are you using? Is it a VIP capture or CSI? Can you try out with BIOS single cam display usecase. You can modify the same usecase and add dup and null link to dump that data into file to cross verify. Regards, Anuj + +Hi Anuj, I'm using VIP capture. I found the reason why the color space seems wrong. The input format of my camera is YUV422I_YVYU. However, the capture link inparams only support YUV422P, YUV444P, RGB24_888 and outparams only support YUV422I_YUYV, YUV420_SP_UV, YUV422SP_UV, RGB24_888, ARGV32_8888, RAW_VBI. And display link output only support RGB24_888, YUV422I_YUYV as following guide document. Could you suggest any solution for making possible capture link get data as YUV422I_YVYU and also output as YUV422I_YVYU in chain that is containing SgxFrmcpy, Display link? Regards, Yoo + +Hi Yoo, Sorry could not get your question. You want to capture YVYU format and get it displayed.. Typically the YUV422 format is YUYV or UYVY.. In your case, it seems chroma component is swapped.. When we say input format is YUV422P to the VIP driver, we are just information the driver that input YUV422. This is not VIP module configuration.. Using this format, VIP driver comes to know if there is any need to enable CSC in the path or not.. Are you using 8bit interface? If yes, which component comes in on the first clock cycle? Could you please help me understand your input details? I could help with the format you would need to set in capture and display.. Rgds, Brijesh + +Hi Brijesh, I solved my problem by shifting 2 YUYV data to make YVYU. Thanks for your reply. Regards, Yoo + diff --git a/sample_embedding_folder2/0827011.txt b/sample_embedding_folder2/0827011.txt new file mode 100644 index 0000000000000000000000000000000000000000..586ceca59c81da200c5c6adda8d29887ed09f0bf --- /dev/null +++ b/sample_embedding_folder2/0827011.txt @@ -0,0 +1,10 @@ +Ticket Name: PROCESSOR-SDK-TDAX: [TDA4M] What need files for running apps? + +Query Text: +Part Number: PROCESSOR-SDK-TDAX Other Parts Discussed in Thread: TDA2, SYSBIOS Hi, In TDA2, in order to run the apps, apps.out and firmware files(dra7-dsp1-fw, dsp-f2, ipu2-fw) are needed in Linux. And, in RTOS, the appimage and MLO files are needed. In TDA4M, if I build the PSDK, the out files are generated. If I'd like to run the app, just out file is needed? BR, Heechang + +Responses: +In targetfs/lib/firmware, there are many files. What need the file for running the apps in "firmware" directory? + +hi Mr Kim, After doing "make vision_apps" the .out files to load on R5F, C6x, C7x and A72 are stored here, vision_apps/out/J7/A72/LINUX/$PROFILE vision_apps/out/J7/R5F/SYSBIOS/$PROFILE vision_apps/out/J7/C66/SYSBIOS/$PROFILE vision_apps/out/J7/C71/SYSBIOS/$PROFILE The *.out files get loaded on respective CPUs. See vision_apps/docs/user_guide/BUILD_INSTRUCTIONS.html To copy to SD card do below make linux_fs_install_sd This copies the R5F, C6x, C7x .out from /lib/firmware folder in the SD card. Before copying they are renamed as shown below, ifeq ($(BUILD_CPU_MCU2_1),yes) # copy remote firmware files for mcu2_1 cp $(VISION_APPS_PATH)/out/J7/R5F/SYSBIOS/$(LINUX_APP_PROFILE)/vx_app_tirtos_linux_mcu2_1.out $(LINUX_FS_PATH)/lib/firmware/j7-main-r5f0_1-fw endif ifeq ($(BUILD_CPU_C6x_1),yes) # copy remote firmware files for c6x_1 cp $(VISION_APPS_PATH)/out/J7/C66/SYSBIOS/$(LINUX_APP_PROFILE)/vx_app_tirtos_linux_c6x_1.out $(LINUX_FS_PATH)/lib/firmware/j7-c66_0-fw endif ifeq ($(BUILD_CPU_C6x_2),yes) # copy remote firmware files for c6x_2 cp $(VISION_APPS_PATH)/out/J7/C66/SYSBIOS/$(LINUX_APP_PROFILE)/vx_app_tirtos_linux_c6x_2.out $(LINUX_FS_PATH)/lib/firmware/j7-c66_1-fw endif ifeq ($(BUILD_CPU_C7x_1),yes) # copy remote firmware files for c7x_1 cp $(VISION_APPS_PATH)/out/J7/C71/SYSBIOS/$(LINUX_APP_PROFILE)/vx_app_tirtos_linux_c7x_1.out $(LINUX_FS_PATH)/lib/firmware/j7-c71_0-fw endif The also copies A72 .out files to /opt/vision_apps. cp $(VISION_APPS_PATH)/out/J7/A72/LINUX/$(LINUX_APP_PROFILE)/*.out $(LINUX_FS_PATH)/opt/vision_apps cp $(VISION_APPS_PATH)/apps/basic_demos/app_linux_fs_files/* $(LINUX_FS_PATH)/opt/vision_apps In general see vision_apps/makerules/makefile_linux_arm.mak for more details on how things are copied from local folder/files to linux filesystem. To boot EVM additional bootloader files are needed these need to be copied as shown in below file vision_apps/docs/user_guide/RUN_INSTRUCTIONS.html During boot, uboot loads these binaries to respective CPUs. This is different from TDA2x where the linux kernel would load the binaries. Let me know if you need further information regards Kedar + diff --git a/sample_embedding_folder2/0827143.txt b/sample_embedding_folder2/0827143.txt new file mode 100644 index 0000000000000000000000000000000000000000..d903c22a2b5e12caa59068bcb71755008168b6bc --- /dev/null +++ b/sample_embedding_folder2/0827143.txt @@ -0,0 +1,22 @@ +Ticket Name: Compiler/TDA2EVM5777: run QT application error in Linux System on TDA2-evm + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler Hi: I compiled the QT library(5.13) with opengl es2 which is provided from ti's website(http://software-dl.ti.com/processor-sdk-vision/esd/TDAx/vision-sdk/latest/index_FDS.html) in rootfs image. Then, I ported the QT library on TDA2-evm board, and created an '/dev/fb0' symbol link from '/dev/vdrm-controller-0', but I got errors when running the QT application with GUI(examples/gui/rasterwindow) on board. PVR:(Error): WSEGL_InitialiseDisplay: Failed to create output [0, ] +Could not initialize egl display So, I have some questions about QT and OpenGL library: (1) Does TI not support the QT library on TDA2-evm board? (2) Does TI not support the OpenGL library on TDA2-evm board? Please help me solve this problem, thank you. Wxchen + +Responses: +Hi Wxchen, TI has not tested QT applications with vdrm. You have mentioned /dev/fb0, fbdev is no more supported and is replaced by drm. Please first check if you can run weston-simple-egl type of applications. Refer this link for the FAQ. http://processors.wiki.ti.com/index.php/Virtual_DRM_:_An_User_Guide_for_Developing_Usecases#FAQs Thanks RamPrasad + +Hi RamPrasad: After I tried the weston-simple-egl sample program, it worked perfectly by those instructions: 1. Run the vision_sdk_load.sh from /opt/vision_sdk 2. Run the apps.out from /opt/vision_sdk 3. Choose 'single camera usecase', and select 'DispDistSrc(weston) usecase'. 4. After run the usecase, the HDMI will output an X-desktop like environment. 5. Edit powervr.ini file from /etc, and add two line at the end of file. [weston-simple-egl] +DbmDriverName=vdrm + 6. Run weston-simgle-egl, the program will rotate an triangle on the X-desktop like environment. Unfortunately, I repeated the 5-6 step to run QT sample application, and I got similar error on the terminal( in desktop environment ). PVR:(Error): WSEGL_InitialiseDisplay: Failed to create DBM device: No such device [0, ] +Could not initialize egl display Is any possible to run the QT application in the TDA2 borad? Thanks Wxchen + +Hi Wxchen, Did you modify your /etc/powervr.ini with this change? [qtApp-name] +DbmDriverName=vdrm + +Hi RamPrasad: Yes, I did modify the file with those changes: [rasterwindow] +DbmDriverName=vdrm But it not worked for me. Wxchen + +Hi WxChen, What is the vision-sdk version used here? Can you check the commit-id of omap5-sgx-ddk-um-linux? If it is 32ad0237d69eb190d5b702a0bb4fac060e4995f2 as mentioned in ti_components/os_tools/linux/kernel/linux-kernel-addon/fs-patches/yocto/meta-glsdk/0003-ddk-update-libs.patch, please upgrade the commit it to bce94b557ffddd3984f8347ec41c5bfe464dff9e or you can directly download this from git.ti.com and upgrade your filesystem and give a try. http://git.ti.com/graphics/omap5-sgx-ddk-um-linux/commit/bce94b557ffddd3984f8347ec41c5bfe464dff9e Thanks RamPrasad + diff --git a/sample_embedding_folder2/0827231.txt b/sample_embedding_folder2/0827231.txt new file mode 100644 index 0000000000000000000000000000000000000000..8b76ab0aab6359f13bcb55cc7a48390fd03b19f8 --- /dev/null +++ b/sample_embedding_folder2/0827231.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2SX: Radar VSDK non-half-lambda antenna offest + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Using the TDA2 Cascade EVM, our custom front end has non-half-lambda antenna offset. In PROCESSOR_SDK_VISION_03_07_00_00\vision_sdk\docs\Radar\ProcessorSDKRadar_DataSheet.pdf - "3.9.1.6.3 Understanding Antenna Offsets in the board": *Here the antAzimOffs and the antElevOffs are given in half lambda spacing convention* How do we manage antenna offset in our front end where the offset distance divided by Lambda/2 are fractional not whole number? + +Responses: +Zach I would need to consult with radar experts here to help you. I will forward the question and get back to you. Thanks and Regards, Piyali + +Hi Zach I haven't heard back from the expert yet. I will continue to follow up internally on your behalf. Thanks and Regards Piyali + +Thank you Piyali, This is an open question for us still. Best, -Zach + +Hello Zach, For non lambda/2 by two spacing the processing would have to be very customized based on the exact antenna configuration you have. Could you provide the reasoning for using non lambda/2 multiple spacing? Also can you provide the exact antenna pattern? regards, vivek + +Hello Zach, any update on this? regards, Vivek + diff --git a/sample_embedding_folder2/0827377.txt b/sample_embedding_folder2/0827377.txt new file mode 100644 index 0000000000000000000000000000000000000000..4797517b52d85cf0388c48d57f96ecf324ddec71 --- /dev/null +++ b/sample_embedding_folder2/0827377.txt @@ -0,0 +1,12 @@ +Ticket Name: Is it possible to do QSPI IO ReCalibration in function [SBLUtilsScaleIODelay] ? + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi We changed QSPI to from 48MHz to 76.8MHz, also have checked code in [SBLUtilsScaleIODelay] We find [gPadDelayConfigCommon_1_0], [gPadDelayConfigGpmcPadOther_1_0], the list seems too many IO pins for us, and some pins in the list drive off some modules such as I2C, So we remove the list [gPadDelayConfigCommon_1_0], [gPadDelayConfigGpmcPadOther_1_0] and only do IO ReCalibration for QSPI as below [gPadDelayConfigGpmcPadQSPI], Then we want to know if it is possible for us only do the IO ReCalibration with [gPadDelayConfigGpmcPadQSPI]? static sblutilsPadDelayConfig_t gPadDelayConfigGpmcPadQSPI[] = { /* CTRL_CORE_PAD_GPMC_A3 -> QSPI1_CS2 (PIN_INPUT) MANUAL delaymode */ { 0x04C, 0x00070101, { 0x0000, 0, 0 }, { 0x0000, 0, 0 }, { 0x0218, 0, 0 } }, /* CTRL_CORE_PAD_GPMC_A4 -> QSPI1_CS3 (PIN_INPUT) MANUAL delaymode */ { 0x050, 0x00070101, { 0x0000, 0, 0 }, { 0x0000, 0, 0 }, { 0x0224, 0, 0 } }, /* CTRL_CORE_PAD_GPMC_A13 -> QSPI1_RTCLK (PIN_INPUT) MANUAL delaymode */ { 0x074, 0x00070101, { 0x0144, 0, 0 }, { 0x0000, 0, 0 }, { 0x0000, 0, 0 } }, /* CTRL_CORE_PAD_GPMC_A14 -> QSPI1_D3 (PIN_INPUT) MANUAL delaymode */ { 0x078, 0x00070101, { 0x0150, 0, 0 }, { 0x0000, 0, 0 }, { 0x0000, 0, 0 } }, /* CTRL_CORE_PAD_GPMC_A15 -> QSPI1_D2 (PIN_INPUT) MANUAL delaymode */ { 0x07C, 0x00070101, { 0x015C, 0, 0 }, { 0x0000, 0, 0 }, { 0x0000, 0, 0 } }, /* CTRL_CORE_PAD_GPMC_A16 -> QSPI1_D0 (PIN_INPUT) MANUAL delaymode */ { 0x080, 0x00070101, { 0x0168, 0, 0 }, { 0x0000, 0, 0 }, { 0x0170, 0, 0 } }, /* CTRL_CORE_PAD_GPMC_A17 -> QSPI1_D1 (PIN_INPUT) MANUAL delaymode */ { 0x084, 0x00070101, { 0x0174, 0, 0 }, { 0x0000, 0, 0 }, { 0x0000, 0, 0 } }, /* CTRL_CORE_PAD_GPMC_A18 -> QSPI1_SCLK (PIN_INPUT) MANUAL delaymode */ { 0x088, 0x00070101, { 0x0000, 0, 0 }, { 0x0000, 0, 0 }, { 0x0188, 151, 0 } }, /* CTRL_CORE_PAD_GPMC_CS2 -> QSPI1_CS0 (PIN_INPUT) MANUAL delaymode */ { 0x0B8, 0x00070101, { 0x0000, 0, 0 }, { 0x0000, 0, 0 }, { 0x0374, 0, 0 } }, /* CTRL_CORE_PAD_GPMC_CS3 -> QSPI1_CS1 (PIN_INPUT) MANUAL delaymode */ { 0x0BC, 0x00070101, { 0x0000, 0, 0 }, { 0x0000, 0, 0 }, { 0x0380, 22, 0 } }, }; + +Responses: +Hi, You can do the io delay calibration for QSPI pins as you mentioned. But it is recommended to do the io delay recalibration for all the pins used in your use case at the boot loader at the start up. Also the split in multiple structures for different pads is done basically for the NOR boot mode. For QSPI boot mode you may create a single structure with all the pads to be used in your use case. Regards, Prasad + +Hi Mi, On TDA2 devices TI strongly recommends to do all the pin mux along with IO delay re-calibration and manual/virtual delay configuration in isolation in order to guarantee IO timings. Please make sure to update IO delay re-calibration code accordingly if you create a single structure. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0828694.txt b/sample_embedding_folder2/0828694.txt new file mode 100644 index 0000000000000000000000000000000000000000..c5bdf0a53149b2f880eccf27b9f06288a4a281ab --- /dev/null +++ b/sample_embedding_folder2/0828694.txt @@ -0,0 +1,12 @@ +Ticket Name: [TDA4M] memory map & EMIF Tool + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi I have two questions. I am preparing for a TDA4M bringup. We use RTOS and Linux. We probably to prepare two OS version(RTOS and RTOS-Linux) First, I can't find the location of the memory map source. In TDA2, we modified the *.xs files in the following location vision_sdk/apps/build/tda2px/mem_segment_definition_bios.xs --> RTOS vision_sdk/apps/build/tda2px/mem_segment_definition_linux.xs --> Linux Please provide the location of the same file as the *.xs files in the TDA4 source. Second, I want to get the EMIF TOOL of TDA4.(DDR) We are designing a customer board. So, I want to receive the TDA4 EMIF tool. I wonder if in the future provide guidance that is provided When will be. Thanks + +Responses: +hello, .xs file is no longer supported. A equivalent method is to modify in a .py file, located here vision_apps/apps/basic_demos/app_tirtos/tirtos_linux/gen_linker_mem_map.py To use this you need to do below once, 1. install python3 and pip3. use 'sudo apt install python3-pip' to install pip, see google on how to install python3, mostly likely python3 should already be installed. 2. cd vision_apps/tools/PyTI_PSDK_RTOS pip install -e . You should see something like below, kedar@ubuntu:/ti/j7presi/workarea/vision_apps/tools/PyTI_PSDK_RTOS$ pip3 install -e . Obtaining file:///ti/j7presi/workarea/vision_apps/tools/PyTI_PSDK_RTOS Installing collected packages: ti-psdk-rtos-tools Running setup.py develop for ti-psdk-rtos-tools Successfully installed ti-psdk-rtos-tools Now goto below folder and run he python file, cd vision_apps/apps/basic_demos/app_tirtos/tirtos_linux ./gen_linker_mem_map.py (you may need to edit the first line of this file depending on the python version installed on your machine) This generates linker command files, .h files and Linux dts snippets based on memory map defined in gen_linker_mem_map.py It also outputs a system_memory_map.html in the same folder, open this file to see the memory map. You can update the .py files and generate a new memory map. After this step, some manual steps are still needed to copy the dts file snippets to Linux kernel dts files. Also some tweaking of MCU2-1 memory map is needed in the file vision_apps/apps/basic_demos/app_tirtos/tirtos_linux/mcu2_1/r5_mpu.xs See this note in above file /* make APP_LOG_MEM_ADDR, TIOVX_OBJ_DESC_MEM_ADDR, IPC_VRING_MEM_ADDR as non-cache */ We will document this in detail in next release update. How much DDR memory will be available in your system ? We assume atleast 2GB DDR is available, if you have 2GB DDR then no need to modify memory map. regards Kedar + +Kyungtae, I will contact you via the private message tab to help with your EMIF tool question. Thanks, Kyle + +Hello, Thank you for your answer. I check the .py file and find the memory file. I will test It. We will use 4GiB as the reference schematic. regards kyungtae + diff --git a/sample_embedding_folder2/0829834.txt b/sample_embedding_folder2/0829834.txt new file mode 100644 index 0000000000000000000000000000000000000000..c6b4277da136556f66b4fa7ad9621c30fb75fb0f --- /dev/null +++ b/sample_embedding_folder2/0829834.txt @@ -0,0 +1,8 @@ +Ticket Name: [TDA4M] Question about the removal of AUDIO_EXT_REFCLK source + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi, I have a question about AUDIO_EXT_REFCLK clocks. If audio functions are not used, can you confirm that AUDIO_EXT_REFCLK0/1/2/3 clock related circuit can be removed and these audio external clocks are only used for MCASP or other usages? Regards, Soolim + +Responses: +Hi Soolim, These clocks are similar to those in TDA2/TDA3, i.e. they are used for MCASP, ATL, and AASRC and are not mandatory if you will not use all of these audio modules. Regards, Stan + diff --git a/sample_embedding_folder2/0829941.txt b/sample_embedding_folder2/0829941.txt new file mode 100644 index 0000000000000000000000000000000000000000..54e2be87b24201ef18b92a3a7add98fb353ce676 --- /dev/null +++ b/sample_embedding_folder2/0829941.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA3MV: [TIDL]is there sematic segmentation, object detect usecase for TDA3? + +Query Text: +Part Number: TDA3MV Other Parts Discussed in Thread: TDA2 Dear Champs, It seems there are 'segmatic segmentation' and 'object detect' usecase only for TDA2 in VisionSDK. Can these usecase be used for TDA3? Could you please provide advice how customer can modify these usecase for TDA3 in VisionSDK? Thanks and Best Regards, SI. + +Responses: +Hi SI, Yes these use cases can be run on TDA3. The use case needs to be updated to have only one EVE and not four EVEs. Regards, Rishabh + +Rishabh, Thanks for your confirm. Then, is it possible to modify parameters of makefile or should customer modify the source to run it on IPU? When I checked the usecases, it seemed the applications will be run on A15 ARM core. Thanks and Best Regards, SI. + +Hi SI, TIDL library mainly runs on C66x and EVE cores. Customer needs to modify the use case for change in number of EVEs and it seems that source code changes will be needed for Alg plugin as well. I would suggest you to wait till next week for exact changes as use case expert is OoO this week. Regards, Rishabh + diff --git a/sample_embedding_folder2/0831055.txt b/sample_embedding_folder2/0831055.txt new file mode 100644 index 0000000000000000000000000000000000000000..5e68479eaa04523d0d1cd00775201170fdfb3d94 --- /dev/null +++ b/sample_embedding_folder2/0831055.txt @@ -0,0 +1,38 @@ +Ticket Name: [TDA4M] Questions about PSDK SPI Test on TDA4M EVM Board + +Query Text: +Other Parts Discussed in Thread: TDA2 Dear Ti members, I would like to test the SPI communication between the MCU and Main domain using PSDK 0.9 SW on the TDA4M EVM board. I have some questions about this as below. 1. According to the mcusw release document, SPI communication test between MCU and Main domain A72 is completed through MCUSS Demo App based on RTOS. Is the psdk 0.9 version of the SPI communication test complete? Error occurs due to header file when building ipc_spi_slave code of MCUSS Demo App. The problem is caused by an invalid header file which is not for TDA4M. ( in ipc_spi_slave_app.c ) Build error reason ==> #include Modify ==> #include As there is no code of am65xx, it is impossible to check the comparison, so I request reconfirmation upon completion of SPI communication test. 2. According to the mcusw release document, SPI communication test between MCU and Main domain A72 is completed through MCUSS Demo App based on RTOS. However, in PSDK 0.9, we know that the Main domain A72 is only Linux supported. I tried to modify the makefile for ipc_spi_slave_app to test on MCU2_0 or MCU2_1, but it does not build due to linker script( *.lds ) problem. Later I checked in the 0.9 release document that McSPI only supports MPU1_0 and MCU1_0. In version 0.9, is ipc_spi_slave_app test completely impossible on MCU2 and MCU3 in the main domain? Is it possible in version 1.0 3. I downloaded the kernel code from PSDK 0.9 Linux version and confirmed that the SPI Slave Driver code ( spi_omap2_mcspi.c ) exists. 1) I need to add and to modify code to use this driver ( the driver is not included now ), so I will be working on it. Can you give me a guide on how to modify and build for using this driver? ( I have no experience with Yocto base. ) 2) There are two SPI test examples in the "tools/spi" path. Are there any additional examples? And is it possible to slave test with SPIdev_test.c file? ( I will test by connecting MCU as Master and Main domain as slave. ) Please let me know your opinion. Thank you. + +Responses: +Hi Junny, Regarding your 1st question, please find my reply below. Please comment the include file portion #include as it is a bug and will be fixed in next release. After commenting, build should go fine. Regarding your 2nd question, please find my reply below. I agree with your point, right now ipc_spi_slave_app is tested on A72 only. In the next release ipc_spi_slave_app will be ported to MCU2 or MCU3 core. For 3rd question, I will forward this query to Linux expert. + +As of now, the SPI is not supported in the kernel. You need to describe the SPI device in device tree and enable the driver config for the this to work. Note that this has not been tried so far on Linux Nikhil D + +Dear Nikhil D Thank you for your answer. If so, will the next version of Linux(version 1.0) be released with the spi code fully included? Please let me know. Thank you. Best Regards. + +Dear Sunil Thank you for your answer. If possible, can I get the code for MCU2 or MCU3 before the next release? ( If there aren't many points to fix against 0.9 ) Please let me know. Thanks and Regards. + +Hi Junny, As this is a new requirement, need to get approval from the management and then needs to be implemented. I will inform you earliest after implementation or when it can be provided. Regards, Sunil Kumar M S + +HI Junny, Can we close this thread? Regards, Sunil Kumar M S + +Dear Sunil, I have not received an answer of additional linux question yet. After receiving the answer, I will close this thread if there are no further questions. Thanks and Regards, Junny. + +Dear Sunil, I have not received an answer of my additional linux question yet. After receiving the answer, I will close this thread if there are no further questions. Thanks and Regards, Junny. + +HI junny, What is the additional question you are referring to? Regards, NIkhil D + +Dear NIkhil D, As asked in my reply, will the next release version of Linux(version 1.0) be released with the spi code fully included? Additionally, Are you currently working on device tree and congifuration of SPI on Linux? If possible, can you share me device tree and configuration working guide for now? Please let me know your answer. Thanks & Regards, Junny. + +Hi Junny, As this SPI is not a standard SPI bus connected to a SPI device, it is rather difficult to verify the Linux driver standlaone. As mentioned, this will be new requirement that needs to be approved and implemented. Unfortunately, I do not have any code / DT changes to share with you. Regards, Nikhil D + +Dear Nikhil D, "As this SPI is not a standard SPI bus connected to a SPI device" ==> What does this mean? Is the SPI IP included in TDA4 completely different from the SPI IP included in the TDA2 family or other chips? Comparing the TRM documents seems to use the same SPI IP, isn't it? Please let me know. Thanks and Regards, Junny + +Hi Junny, The IP is same, but there is no realy SPI device connected to it, that's why I said it is hard to test in standalone Linux environment, You cannot write a SPI slave driver, because there is none. Nikhil D + +Dear Nikhil D, 1. According to the TRM document, MCU_SPI2 and Main_SPI4 are connected internally without pinout. So, I do not understand your comment that there is no realy SPI device connected to it. 2. Currently I have downloaded the 0.9 version of Linux code. 3. I checked the 0.9 Linux code, it seems that the SPI slave driver is included. However, as you said, it requires additional work except SPI driver (DTS, Config ... etc). 4. So, after completing the additional work, I'll try to test by setting MCU_SPI2 as Master (Running RTOS) and Main_SPI4 as Slave (Running Linux). If I do additional work on Linux, such as DTS, Config, etc. I think SPI communication test is possible. Is it wrong? Am I misunderstanding? Please let me know your opinion. Thanks and Regards, Junny + +Hi Junny, Yes your understanding is correct and the approach is correct. You just need to program the SPI device in slave mode. There are no pinmux to be set. You can try this out yourself. Regards, NIkhil D + +Dear NIkhil D, Thanks for your answer. I will try and If I have further questions, I will contact E2E again. And I will resolve this thread. Best Regards, Junny. + diff --git a/sample_embedding_folder2/0831892.txt b/sample_embedding_folder2/0831892.txt new file mode 100644 index 0000000000000000000000000000000000000000..8046206a89749f5fac2728b7fc70317df5fe98b5 --- /dev/null +++ b/sample_embedding_folder2/0831892.txt @@ -0,0 +1,18 @@ +Ticket Name: AM5749: TIDL model type + +Query Text: +Part Number: AM5749 Dear sir, According to TIDL web document 3.15.4.7.1, modelType "ONNX" can be set by 2. However, it seems not existing when I converted onnx file with import tools in vsdk version 3.7. Is there any version onnx can convert to TIDL? thank you, Gary + +Responses: +Hi Gary, can you clarify which device you use? Is it TDA2x (TIDL is not supported on AM5749). Regards, Yordan + +Hi Yordan, Thank you for your reply. My testing board is VAYU EVM (ES1.1) XC5777X CPU board with a vision application board. Gary + +Hi Gary, As pointed out in the original post, current TIDL 01.03 version in vsdk version 3.7 does not support importing ONNX models. We have plan to support this in next TIDL 01.04 release. Thanks, Praveen + +Hi Praveen, Thank you for your information. Do you know when will TIDL 01.04 be released? Thank you, Gary + +Hi Gary, TIDL 01.04 will be released along with next VSDK release 3.8. I will check internally about next VSDK release date and come back. Thanks, Praveen + +Hi Praveen, The next VSDK release 3.8 is planned for December 1st week. Thanks, Praveen + diff --git a/sample_embedding_folder2/0832617.txt b/sample_embedding_folder2/0832617.txt new file mode 100644 index 0000000000000000000000000000000000000000..80b3542303baee23757666e6a31e89b75efea64e --- /dev/null +++ b/sample_embedding_folder2/0832617.txt @@ -0,0 +1,8 @@ +Ticket Name: AM5728: _ + +Query Text: +Part Number: AM5728 Dear sir, Are there any documents can guide me how / where to modify the visualization for TIDL OD results? As attachment, I'm going to modify the category labels and the color of detected boxes. Thank you, Gary + +Responses: +Hi Gary, you can look at function AlgorithmLink_objectDrawRectangles() in vision_sdk/apps/src/rtos/alg_plugins/objectdetection/objectDrawLink_algPlugin.c and try to modify it according to your needs. (one note: please when creating a new thread choose TDA2x as your device - we will be able to look at your threads quicker) Regards, Yordan + diff --git a/sample_embedding_folder2/0833046.txt b/sample_embedding_folder2/0833046.txt new file mode 100644 index 0000000000000000000000000000000000000000..c2e2d4fca72c757362104127c22759d7f38ba103 --- /dev/null +++ b/sample_embedding_folder2/0833046.txt @@ -0,0 +1,170 @@ +Ticket Name: TDA2EXEVM: TDA2: Error of create an new use case + +Query Text: +Part Number: TDA2EXEVM hi, I want to create a new use case ,and I get the same mistake as Allen Cheng had in https://e2e.ti.com/support/processors/f/791/t/690852?tisearch=e2e-sitesearch&keymatch=new%25252525252525252520use-case#pi320966filter=all&pi320966scroll=false I followed the user guide and declared the function in "vision_sdk/apps/src/include/chains.h" too, how can I deal with this problem? Thanks + +Responses: +Hi Anyong, Have you done a clean build after declaring the function in chains.h. Can you describe what exactly you have done and the error message. Regards, Rishabh + +hi Rishabh, I create a new use-case "tidl_OD_test" referring to "tidl_OD" use-case, and I follow the steps in "6.1 Adding new use-cases to build (BIOS ONLY mode) " of VisionSDK_UserGuide_BuildSystem.pdf, "chains_tidlODtest" is the usecase entry point , this function is called in chains_main_bios_tidl.c and also defined in chains.h, before building I have cleaned the build using "gmake -s clean " command. Then"gmake -s -j depend " and "gmake -s -j ". During the building , error occured as below: "D:/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/apps/src/rtos/common/chains_main_bios_tidl.c", line 140: error: function "chains_tidlODtest" declared implicitly 1 error detected in the compilation of "D:/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/apps/src/rtos/common/chains_main_bios_tidl.c". >> Compilation failure + +Hi, Can you share the updated chains.h and chains_main_bios_tidl.c as an attachment. Regards, Rishabh + +hi Rishabh, Below files are the updated chains.h and chains_main_bios_tidl.c. Thanks chains.h chains_main_bios_tidl.c /****************************************************************************** +Copyright (c) [2012 - 2017] Texas Instruments Incorporated + +All rights reserved not granted herein. + +Limited License. + + Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive + license under copyrights and patents it now or hereafter owns or controls to + make, have made, use, import, offer to sell and sell ("Utilize") this software + subject to the terms herein. With respect to the foregoing patent license, + such license is granted solely to the extent that any such patent is necessary + to Utilize the software alone. The patent license shall not apply to any + combinations which include this software, other than combinations with devices + manufactured by or for TI ("TI Devices"). No hardware patent is licensed + hereunder. + + Redistributions must preserve existing copyright notices and reproduce this + license (including the above copyright notice and the disclaimer and + (if applicable) source code license limitations below) in the documentation + and/or other materials provided with the distribution + + Redistribution and use in binary form, without modification, are permitted + provided that the following conditions are met: + + * No reverse engineering, decompilation, or disassembly of this software + is permitted with respect to any software provided in binary form. + + * Any redistribution and use are licensed by TI for use only with TI Devices. + + * Nothing shall obligate TI to provide you with source code for the software + licensed and provided to you in object code. + + If software source code is provided to you, modification and redistribution of + the source code are permitted provided that the following conditions are met: + + * Any redistribution and use of the source code, including any resulting + derivative works, are licensed by TI for use only with TI Devices. + + * Any redistribution and use of any object code compiled from the source code + and any resulting derivative works, are licensed by TI for use only with TI + Devices. + + Neither the name of Texas Instruments Incorporated nor the names of its + suppliers may be used to endorse or promote products derived from this software + without specific prior written permission. + + DISCLAIMER. + + THIS SOFTWARE IS PROVIDED BY TI AND TI�S LICENSORS "AS IS" AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL TI AND TI�S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +******************************************************************************/ + +/****************** ************************************************************* + * INCLUDE FILES + ******************************************************************************* + */ +#include +#include + +char gChains_menuTIDLUsecases[] = { + "\r\n " + "\r\n TIDL Usecases" + "\r\n ---------------" + #ifdef UC_tidl + "\r\n 1: TIDL File I/O Usecase" + #endif + #ifdef UC_semSeg + "\r\n 2: Semantic Segmentation Usecase" + #endif + #ifdef UC_tidl_OD + "\r\n 3: TIDL OD Usecase" + #endif + #ifdef UC_tidl_OD_test + "\r\n 4: tidl_OD_test Usecase" + #endif + "\r\n " + "\r\n x: Exit " + "\r\n " + "\r\n Enter Choice: " + "\r\n " +}; + +/** + ******************************************************************************* + * + * \brief Function to select demo depending on user input + * Accepts user input as ch and switches to corrosponding usecase + * + * \param ch [IN] Input choise for user + * + ******************************************************************************* +*/ + +Void Chains_menuTIDLRun() +{ + char ch; + Bool done = FALSE; + + while(!done) + { + Chains_statCollectorReset(); + + Vps_printf(gChains_menuTIDLUsecases); + + ch = Chains_readChar(); + Vps_printf(" \r\n"); + + switch(ch) + { + #ifdef UC_tidl + case '1': + Chains_tidl(&gChains_usecaseCfg); + break; + #endif + + #ifdef UC_semSeg + case '2': + Chains_semSeg(&gChains_usecaseCfg); + break; + #endif + + #ifdef UC_tidl_OD + case '3': + Chains_tidlOD(&gChains_usecaseCfg); + break; + #endif + + #ifdef UC_tidl_OD_test + case '4': + chains_tidlODtest(&gChains_usecaseCfg); + break; + #endif + + case 'x': + case 'X': + done = TRUE; + break; + + default: + Vps_printf(" Unsupported option '%c'. Please try again\n", ch); + break; + } + } +} + +Hi, The API declaration is "Chains_tidlODtest" and API call is "chains_tidlODtest", there is difference in case 'C' vs 'c'. Please update the call to "Chains_tidlODtest" and retry the build. Regards, Rishabh + +hi Rishabh, I have built the application, and it's ok. Thank you very much for your quick reply. :) BR + diff --git a/sample_embedding_folder2/0833737.txt b/sample_embedding_folder2/0833737.txt new file mode 100644 index 0000000000000000000000000000000000000000..a291c5c245dbd45a4155c8376a7394149fbddbf0 --- /dev/null +++ b/sample_embedding_folder2/0833737.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SG: Consult about Type Selection and Application. + +Query Text: +Part Number: TDA2SG Other Parts Discussed in Thread: TDA2P-ACD Hi, I'm using TDA2SG now. Because of the problem of computing power, two DSPs and four EVEs are needed. But I saw only TDA2S series can satisfy these two conditions found on the official website. But there is no CSI input. Do you have any other suitable suggestions? In addition, the computing power of TDA2P-ACD is how much, our application need to achieve 50 G Macs. Or have any suggestion? thank. + +Responses: +Hi Wu Yisyuan The TDA2px may be a good option for you: 2x C6x DSP @ 1000 GHz = 2*32 GMACS = 64 GMACS 2xEVE @900 MHz = 2*16*900 MMACS = 28.8 GMACS 2xA15 @1800 MHz = 2* 8 * 1500 MMACS = 24 GMACS http://www.ti.com/lit/ds/symlink/tda2p-acd.pdf You can refer to https://e2e.ti.com/support/processors/f/791/t/615108 for the gflops calculation. Thanks and Regards, Piyali + diff --git a/sample_embedding_folder2/0833790.txt b/sample_embedding_folder2/0833790.txt new file mode 100644 index 0000000000000000000000000000000000000000..39ab7dd88e87e2810d80618d7acc221331034ca6 --- /dev/null +++ b/sample_embedding_folder2/0833790.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA3LA: TDA4x + +Query Text: +Part Number: TDA3LA Other Parts Discussed in Thread: TDA2 Hello, I was going through the ISP training in the CDDS. The specified DCC tool seems to assist us with the tuning process. I found in the RTOS SDK only xml & binary file for specific cameras sensors and various modes, but Unfortunately, I haven't found the DCC tool itself. Where can I download it? does it come with documentation? Thanks, Rotem Bernstein + +Responses: +Hello Rotem, DCC tuning tool is not yet released and will be available soon. Rgds, Brijesh + +To clarify... TDA3 tool is available but TDA4 tool is under development. + +Thanks for the quick response. It was written under TDA3 because there's no "TDA4x" topic in my scroll bar yet. BTW - Could I get the DCC tool for TDA2, so I'll be able to practice it with my previous EVM until TDA4x DCC will be released? Thanks, Rotem Bernstein + +Hello Rotem, TDA2 is an ISP less device, so the tool does not apply. If you are referring to TDA2Plus, then you can use the same tool as TDA3 since the ISP is exactly the same from tuning point of view. Regards, Mayank + diff --git a/sample_embedding_folder2/0834796.txt b/sample_embedding_folder2/0834796.txt new file mode 100644 index 0000000000000000000000000000000000000000..6d5988f47606d86c5b9dcaf44b1a72bdc6546563 --- /dev/null +++ b/sample_embedding_folder2/0834796.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2HG: TDA2HG TRM + +Query Text: +Part Number: TDA2HG Other Parts Discussed in Thread: TDA2 Hello, Could you give us a TDA2HG TRM.pdf. We are using this device. On the other hand, for TDA2HG, can we run the visionSDK 03 05? Thanks Terence + +Responses: +Hi, Please refer to http://www.ti.com/lit/ug/sprui29f/sprui29f.pdf Yes you can run Vision SDK 3.05 for TDA2HG. Please note that Vision SDK is not customized for paper parts, it supports TDA2 superset part. In case customer is using a part that contains lesser number of hardware accelerators or supports lower frequency as compared to superset part, they need to modify the software accordingly. Regards, Rishabh + +Hi Rishabh, I read the sprui29f.pdf. But, I can't find the information about TDA2HG. Do you have TDA2HG TRM.pdf? For example, TDA2Px TRM.pdf Thanks Terence + +Hi Terence, TDA2x is the platform and has multiple paper parts. TDA2HG is one of the paper part. Separate TRM for paper parts is not there. Similarly TDA2Px is platform with multiple paper parts. Regards, Rishabh + diff --git a/sample_embedding_folder2/0835375.txt b/sample_embedding_folder2/0835375.txt new file mode 100644 index 0000000000000000000000000000000000000000..787351402eae0459189dd8a59263f48e34ff52ba --- /dev/null +++ b/sample_embedding_folder2/0835375.txt @@ -0,0 +1,16 @@ +Ticket Name: PROCESSOR-SDK-VISION 3.7 : How to change HSYNC polarity on HDMI output + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi Expert, I am using Processor SDK Vision 3.7 (PSDKV 3.7) and trying to connect HDMI output to DLP5531 (DLPC230 used) with some modification in PSDKV 3.7. Resolution changing to 1152x576 was successful, since I conformed that 1152x576 output image was seen on HDMI monitor without any errors. However, sync error in DLP is now being faced when connecting TDA2 to DLP5531. As a result of deep investigation, it seems that HSYNC on TDA2 HDMI output needs resersal of polarity. Please see below analog waveform for HDMI output. #1: HSYNC original : #2: HSYNC reversal: Could you please tell me which source code in PSDKV 3.7 should be modified for HSYNC reversal (#2) ? Best regard, Saito + +Responses: +Hi Saito-san, Please refer to file PROCESSOR_SDK_VISION_03_07_00_00\ti_components\drivers\pdk_01_10_03_07\packages\ti\drv\vps\src\vpslib\hal\src\vpshal_dssHdmi.c. You can update halHdmiWpVideoFormatConfig to hard code the value as an experiment to make sure output works. Regards, Rishabh + +Hi Rishabh, Thank you for prompt reply. Initilized value is set as below. Is that correct ? //vpshal_dssHdmi.c VpsHal_HdmiInfo HdmiHalInfo = {{0U,0U,0U,0U,0U,0U,0U,0U,0U,0U,0U,0U}, {0U,0U,0U,0U,VPSHAL_HDMI_PACKETMODERESERVEDVALUE}, {0U,0U,0U,0U,0U,0U,0U,0U,0U,0U,0U,0U,0U,0U,0U,0U,0U}, {0U,0U,0U}}; I will try to chage HSYNC polarity. Best regards, Saito + +Hi Saito-san, I would suggest you to get these values while running the binary and then flip the one you want to modify. You can build SDK in debug mode and put a break point on halHdmiWpVideoFormatConfig API. Regards, Rishabh + +Hi Saito-san, Were you able to get this working? Regards, Rishabh + +Hi Rishabh, Closing this thread. Thanks. Best regards, Saito + diff --git a/sample_embedding_folder2/0835766.txt b/sample_embedding_folder2/0835766.txt new file mode 100644 index 0000000000000000000000000000000000000000..ceadbefccf8736a2a314a84fa600412a01f286ca --- /dev/null +++ b/sample_embedding_folder2/0835766.txt @@ -0,0 +1,22 @@ +Ticket Name: CCS/J6EVM5777: load using nor FLASH in J6-EVM but error + +Query Text: +Part Number: J6EVM5777 Tool/software: Code Composer Studio software : vision SDK 3.07 board: J6EVM(X5777) i want to load using nor , and Reference resources is doc-- "VisionSDK_UserGuide_TDA2xx.pdf" in sdk when i put sbl_nor_opp_high_a15_0_release.bin to board bu CCS, it is normal when i erase the nor flash and read file /********************************************************************/ [CortexA15_0] Starting NOR Flash Writer. CFI Query...passed. NOR Initialization: Command Set: Spansion Manufacturer: SPANSION Size: 0x40 MB Enter the file path to flash: DIR/sbl_nor_opp_high_a15_0_release.bin Erasing the NOR Flash upto range: 0xC000000 Erased through 0x8020000 ... ... ... ... Erased through 0xC000000 Erase Completed Load Options: ------------- 0 -> fread using code (RTS Library) 1 -> load raw using CCS (Scripting console) Enter Load Option: 0 Reading 101316 bytes from file... Read 16384 bytes [16%] from file... Read 32768 bytes [32%] from file... Read 49152 bytes [48%] from file... Read 65536 bytes [64%] from file... Read 81920 bytes [80%] from file... Read 98304 bytes [97%] from file... Read 101316 bytes [100%] from file. Done!! /********************************************************************/ but when writing the data to nor flash, it is comes error as follows: /********************************************************************/ Writing 0x18BC4bytes to NOR... Data verify failed. Buffered write failed @ address 0x%x Trying normal write Failed flashing @ 0x%x Normal write also failed NOR Write Failed...Aborting! ERROR: Writing NOR failed. NOR flashing failed! /********************************************************************/ + +Responses: +Hi Li, For NOR you need HW modifications. Have you done any modifications on the EVM? Regards, Rishabh + +Hi Rishabh, yes, i have adjust the SW2, SW3 and SW5 in the EVM as the document said. as following picture shows: + +SW2[1:16] -> 10101100 10000101 SW5[1:10] -> 0100100000 + +Hi Li, Please refer to chapter "6.1 TDA2xx Board Modification for NOR BOOT Mode" of SBL user guide http://processors.wiki.ti.com/images/b/b7/TDA_SBL_UserGuide.pdf Regards, Rishabh + +Hi Rishabh, thanks for your help! i have read the doc, and the EVM switch setting is right as doc ,like SW2 and SW5 but as the document discribe, that is means i should change the resistor in the borad? + +Hi Li, Yes you need to change the resistors on the board. Regards, Rishabh + +Hi Rishabh, thanks for your help, your answer is very helpful! thanks again! best regard, Li + +Hi Li, Please mark the answers that helped you in solving your issue as "This resolved my issue" and close the thread. Regards, Rishabh + diff --git a/sample_embedding_folder2/0836078.txt b/sample_embedding_folder2/0836078.txt new file mode 100644 index 0000000000000000000000000000000000000000..fb0b52db2c74b507189531c9632438dd54b1e5b5 --- /dev/null +++ b/sample_embedding_folder2/0836078.txt @@ -0,0 +1,8 @@ +Ticket Name: [TDA4M] Removal of RTC oscilator HW + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi, WKUP_LFOSC_XO/WKUP_LFOSC_XI external oscillator is used for low power operation. RTC OSC can be shown at HW schematic of TDA4 EVM. Q1) What is the functionality of using RTC OSC instead of using WKUP_LFOSC_XO/XI ? Q2) Should WKUP_LFOSC_XO/XI be added in my customized board? Q2) Can I remove RTC OSC HW if RTC OSC functionality which you will reply for my question is not needed ? BR, Soolim + +Responses: +Hi Soolim, Q1) TDA4, unlike TDA2/TDA3, doesn't feature an internal RTC capability thus an external HW is required if RTC function is needed. Q2) WKUP_LFOSC_XO/XI crystal is required for some of the SoC low power modes. This crystal is needed if some Timer modules need accurate 32.768k clock for your application. I would place crystal pads if not sure. Q3) RTC IC can be skipped if software doesn't need a real-rime clock function. Regards, Stan + diff --git a/sample_embedding_folder2/0838171.txt b/sample_embedding_folder2/0838171.txt new file mode 100644 index 0000000000000000000000000000000000000000..f2fa166eca4db9a86e160d5aabd7f5374247b79d --- /dev/null +++ b/sample_embedding_folder2/0838171.txt @@ -0,0 +1,14 @@ +Ticket Name: Compiler/TDA2EVM5777: Display true-color on TDA2 + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler Hi: I had an requirement for displaying true-color with transparent color(RGBA8888) in TDA2's board on Linux operation system, I tried two way to accomplish this requirement. (1) I created an new usecase and specified the link to "GrpxSrc -> Display_Grpx". I successfully run the usecase with those data format: pMyObj->GrpxSrcPrm.grpxBufInfo.dataFormat = SYSTEM_DF_BGRA16_4444; +//or +pMyObj->GrpxSrcPrm.grpxBufInfo.dataFormat = SYSTEM_DF_BGR16_565; It worked on displaying transparent color in SYSTEM_DF_BGRA16_4444. (2) I created another new usecase and specified the link to "NullSource (A15) -> Display". I setup those argument before the NullSource start: NullSrcLink_CreateParams *pNullSrcPrm = &pObj->ucObj.NullSourcePrm; +System_LinkChInfo *pChInfo = &pNullSrcPrm->outQueInfo.chInfo[0]; +pChInfo->flags = System_Link_Ch_Info_Set_Flag_Data_Format(pChInfo->flags, + SYSTEM_DF_YUV420SP_UV +/*SYSTEM_DF_YUV422SP_UV*/); It worked on displaying specific image in SYSTEM_DF_YUV_420SP_UV. But I setup the pChInfo->flags to other format(ex: SYSTEM_DF_YUV422SP_UV), then the program will ASSERT on creating nullsource. From above two testing and I find the different data format(SYSTEM_DF_RGBA32_8888) in "system_const.h", I wanna ask: (1) Is there any way to display true-color with transparent color in Grpx(Grpx looks like supporting Half-color(RGB444))? (2) Is there any way to sending RGBA8888 data format to displaying true-color with transparent in "NullSource -> Display"? (3) Is TDA2's hardware support true-color with transparent displaying mode? wxchen + +Responses: +Hi, NullSource is a link which reads from a file. So there is no such format of video data file which it wont be able to read. We just have not enabled all dataformat. If you want to read any specific data format then you have to enable it in the link. Please check NullSrcLink_fillData( ) function and add your data format support. in below file links_fw/src/hlos/links_a15/nullSrc/nullSrcLink_tsk.c Similarly you can add supoort for gspx link also for your data format. And yes TDA2 hardware support true-color with transparent displaying mode Regards, Anuj + diff --git a/sample_embedding_folder2/0838433.txt b/sample_embedding_folder2/0838433.txt new file mode 100644 index 0000000000000000000000000000000000000000..cb5740391db4610817f5e7117bc0ab44f2254de1 --- /dev/null +++ b/sample_embedding_folder2/0838433.txt @@ -0,0 +1,22 @@ +Ticket Name: TDA2SA: About DDR Memory change Issue + +Query Text: +Part Number: TDA2SA Other Parts Discussed in Thread: TDA2 Hi SIr We used TDA2 for development and we change the DDR P/N and size (512MB). Where should we modify about DDR timing setting and memory size setting ? As we know , we should modify SBL first. Do we need to modify other parts to let system can boot successfully and work well. ( for example : where to modify size for app image) please advise BR Yimin + +Responses: +Hi, You need to modify PROCESSOR_SDK_VISION_03_07_00_00\ti_components\drivers\pdk_01_10_03_07\packages\ti\boot\sbl_auto\sbl_utils\src\tda2xx\sbl_utils_tda2xx_ddr_config.c for DDR timing settings. You don't need to modify app image and Vision SDK as 512 MB is supported by default. Regards, Rishabh + +Hi Sir thanks for your reply. Do you have any suggestion why it stopped in "Jumping to MPU CPU0 App" by using SDCARD/QSPI booting. We have done the DDR test without issue. BR Yimin + +Hi, Is the DDR stable? Can you check individual CPUs and see if any CPU has crashed. What are the other changes that have made in SDK application? Can you also try SBL mbx image from PROCESSOR_SDK_VISION_03_07_00_00\ti_components\drivers\pdk_01_10_03_07\packages\ti\boot\sbl_auto\prebuilt_binaries\sbl_multicore_mbx\tda2xx and see if it works. Regards, Rishabh + +Hi Yimin, You can also check the below app notes: http://www.ti.com/lit/an/spraca1/spraca1.pdf http://www.ti.com/lit/an/sprac36c/sprac36c.pdf Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + +Hi SIr We have tried to load using CCS and it can work. The Menu can show up. But it will hang at below message by using SDCARD booting. Jumping to MPU CPU0 App Do you have any suggestion BR Yimin + +Hi Yimin, Have you made any changes in the gel files when you got the custom board working? If yes you should make sure that you have made same changes in SBL DDR configuration. Also do you have any other changes in SDK? Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0839391.txt b/sample_embedding_folder2/0839391.txt new file mode 100644 index 0000000000000000000000000000000000000000..3a3829a38d1c09b7cc2be2864b039917c30cfa4a --- /dev/null +++ b/sample_embedding_folder2/0839391.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2HG: TDA2HG run VSDK 03 05 + +Query Text: +Part Number: TDA2HG Other Parts Discussed in Thread: TDA2, Hello, We are ready to use the TDA2HG device. For TDA2HG,which config can we use in application/tda2_app/apps/configs based on VSDK 03 05? Is it supported by VSDK 03 05? Thanks Terence + +Responses: +Hi Terence, for TDA2HG, you need to use "tda2xx_evm_bios_all" or "tda2xx_evm_linux_all". Regards, Yordan + diff --git a/sample_embedding_folder2/0840142.txt b/sample_embedding_folder2/0840142.txt new file mode 100644 index 0000000000000000000000000000000000000000..7ed84eb49a9c1177b8c061ddf320f9ba2c11ec6e --- /dev/null +++ b/sample_embedding_folder2/0840142.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2E: TDA2 network_rx issue + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2 Hello, I am using the TDA2 board with PROCESSOR_SDK_RADAR_03_07_00_00 and running the usecase for TI Cascade Radar. Using this use case i want to send the FFT2D samples, The size of the FFT2D samples are x*y*16*2(Int32 words) now when i run the network_rx.exe i saw following error. To check when this error comes i debug the IPU1_1 code and saw following things in NetworkTxLink_drvSendData: 1 . dataFormat is showing as SYSTEM_DF_BAYER_BGGR (Not sure what this means) 2 . The cmdHeader looks ok, Here the data size is correct x*y*16(Rx Channels)*8(Real & Imag of each 32 bits) cmdHeader struct {numBuf=1,header=0,payloadType=8,chNum=0,dataSize=16777216...} 0x8621C8F0 numBuf unsigned int 1 0x8621C8F0 header unsigned int 0 0x8621C8F4 payloadType unsigned int 8 0x8621C8F8 chNum unsigned int 0 0x8621C8FC dataSize unsigned int x*y*16*4*2 0x8621C900 width unsigned int 2048 0x8621C904 height unsigned int 256 0x8621C908 pitch unsigned int[2] [16384,16384] 0x8621C90C [0] unsigned int 16384 0x8621C90C [1] unsigned int 16384 0x8621C910 3 . Than in NetworkTxLink_drvWriteHeader when we tries to write Network_write in line number 207 than network_rx.exe throws the above mentioned error. 4. Afterwards in the NetworkTxLink_drvSendData line 532 i saw ack = 255 and than status was set to SYSTEM_LINK_STATUS_EFAIL in line 534. I guess the network_rx.exe cannot handle the packet where the header says packet size is more than 1920*1080*2. So i tried to compile a new network_rx.exe and followed the steps mentioned in section 1.1 of VisionSDK_UserGuide_NetworkTools.docx and then run "gmake Makefile all" and it crashes c:/CodeBlocks/MinGW/bin/gcc -c -Wall -IC:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build/../common/inc -I../inc -I../priv -I. -IC:/PROCESSOR_SDK_RADAR_03_07_00_00/ti_components/networking/nsp_gmacsw_4_16_01_01/packages -IC:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build/../common/inc -I../inc -I../priv -I. -IC:/PROCESSOR_SDK_RADAR_03_07_00_00/ti_components/networking/nsp_gmacsw_4_16_01_01/packages network_cons_main.c network_cons_thr_win32.c -M > MAKEFILE.DEPEND make[4]: Leaving directory `C:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/network_cons/src' make[3]: Leaving directory `C:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build' make[2]: Leaving directory `C:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build' "C:/Program Files (x86)/GnuWin32/bin/make.exe" libs make[2]: Entering directory `C:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build' "C:/Program Files (x86)/GnuWin32/bin/make.exe" -fMAKEFILE.MK -CC:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build/../common/src MODULE=common make[3]: Entering directory `C:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/common/src' common: Compiling network_api.c c:/CodeBlocks/MinGW/bin/gcc -c -Wall -O3 -IC:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build/../common/inc -I../inc -I../priv -I. -IC:/PROCESSOR_SDK_RADAR_03_07_00_00/ti_components/networking/nsp_gmacsw_4_16_01_01/packages -IC:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build/../common/inc -I../inc -I../priv -I. -IC:/PROCESSOR_SDK_RADAR_03_07_00_00/ti_components/networking/nsp_gmacsw_4_16_01_01/packages -oC:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build/../lib/obj/common//network_api.o network_api.c make[3]: *** [network_api.o] Error 1 make[3]: Leaving directory `C:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/common/src' make[2]: *** [libs] Error 2 make[2]: Leaving directory `C:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build' make[1]: *** [exe] Error 2 make[1]: Leaving directory `C:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build' gmake: *** [Makefile:27: all] Error 2 Also i see one popup coming up Can someone tell if my assumption with network_rx.exe is correct and how to compile this exe + +Responses: +Hi Deepak, If you have made the changes as per mentioned in the UserGuide to the .mk files, the build should pass through, unless you have a compile error, which I don't see in your log. I am also not able to see the image files you have attached. I have only tried the network tools build in Linux. I see that you are using windows. Can you try with the gmake that comes with the XDC package anyways? Instead of the GnuWin32 one you have used. You should be able to find it under /ti_components/os_tools/windows/xdctools*/gmake Regards, Anand + +Hello Anand, I change the Gmake to the one in xdctools and still sees the same issue. point to be noted is i don't have changed any code till now. gmake[4]: Entering directory `C:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/network_cons/src' network_cons: Making Directories, if not already created mkdir -p C:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build/../lib// mkdir -p C:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build/../lib/obj/network_cons/ mkdir -p C:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build/../bin/ network_cons: Building dependancies c:/CodeBlocks/MinGW/bin/gcc -c -Wall -IC:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build/../common/inc -I../inc -I../priv -I. -IC:/PROCESSOR_SDK_RADAR_03_07_00_00/ti_components/networking/nsp_gmacsw_4_16_01_01/packages -IC:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build/../common/inc -I../inc -I../priv -I. -IC:/PROCESSOR_SDK_RADAR_03_07_00_00/ti_components/networking/nsp_gmacsw_4_16_01_01/packages network_cons_main.c network_cons_thr_win32.c -M > MAKEFILE.DEPEND gmake[4]: Leaving directory `C:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/network_cons/src' gmake[3]: Leaving directory `C:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build' gmake[2]: Leaving directory `C:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build' "C:/PROCESSOR_SDK_RADAR_03_07_00_00/ti_components/os_tools/windows/xdctools_3_32_01_22_core/gmake.exe" libs gmake[2]: Entering directory `C:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build' "C:/PROCESSOR_SDK_RADAR_03_07_00_00/ti_components/os_tools/windows/xdctools_3_32_01_22_core/gmake.exe" -fMAKEFILE.MK -CC:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build/../common/src MODULE=common gmake[3]: Entering directory `C:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/common/src' common: Compiling network_api.c c:/CodeBlocks/MinGW/bin/gcc -c -Wall -O3 -IC:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build/../common/inc -I../inc -I../priv -I. -IC:/PROCESSOR_SDK_RADAR_03_07_00_00/ti_components/networking/nsp_gmacsw_4_16_01_01/packages -IC:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build/../common/inc -I../inc -I../priv -I. -IC:/PROCESSOR_SDK_RADAR_03_07_00_00/ti_components/networking/nsp_gmacsw_4_16_01_01/packages -oC:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build/../lib/obj/common//network_api.o network_api.c gmake[3]: *** [network_api.o] Error 1 gmake[3]: Leaving directory `C:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/common/src' gmake[2]: *** [libs] Error 2 gmake[2]: Leaving directory `C:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build' gmake[1]: *** [exe] Error 2 gmake[1]: Leaving directory `C:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/tools/network_tools/build' gmake: *** [Makefile:27: all] Error 2 Is it possible can you give me new network_rx.exe compiled at yours end by increasing the MAX_BUF_SIZE to some big value as i expect the data to be x*y*16*2 (int 32 words) where current limit is around 2*1920*1080 Thanks Deepak Joshi + +Hello, The TI documentation is not complete, after lot of digging was able to figure out you need a particular version of CodeBlock and in all other version it will not work. and now have a stream of data + +Hi Deepak, I ran into data offset overflow error in network_rx. I rebuilt this code in Ubuntu tool chain but is not working. What CodeBlock version exactly have you use to rebuilt network_rx that made it work? My problem was it streams for a while and then ran into overflown problem. Thanks for the help. Regards, --Khai + +Hello Khai, you need codeblock version 13.12 and there it works for me. Regards Deepak Joshi + diff --git a/sample_embedding_folder2/0841602.txt b/sample_embedding_folder2/0841602.txt new file mode 100644 index 0000000000000000000000000000000000000000..dfd40cb7fd6ea73719f96fdcc22c6c37d0bb9041 --- /dev/null +++ b/sample_embedding_folder2/0841602.txt @@ -0,0 +1,8 @@ +Ticket Name: DRA756: dra756 custom board, Vision SDK 3.7, video capture + +Query Text: +Part Number: DRA756 Other Parts Discussed in Thread: TDA2 Hi, i have been debuging the single camera usecase. hardware structure is that: ar0231 > ap0202 > ds90ub933 > ds90ub934 > tda2(ipu2) > HDMI 1920*1080. everything goes well but displaying. The video always displayed as follows, i used the usecase "1: 1CH VIP capture + SGX Copy + DISPLAY": I have no idea to solve this problem, could you guys give me some suggestiones? Thanks a lot. + +Responses: +I solved this problem, polarity of HSYNC and VSYNC. + diff --git a/sample_embedding_folder2/0841928.txt b/sample_embedding_folder2/0841928.txt new file mode 100644 index 0000000000000000000000000000000000000000..a80fe3a95d46433c230fbb009946956c99392a5b --- /dev/null +++ b/sample_embedding_folder2/0841928.txt @@ -0,0 +1,42 @@ +Ticket Name: SYSBIOS: f_mkdir() api issue with with psdk3_05 + +Query Text: +Part Number: SYSBIOS Hey, I am running into trouble with f_mkdir() with sd card. See the following thread for detailed information of the issue. Do you have any ideas on this? best regards, Nicolas Rausch + +Responses: +Btw I am using bios_6_46_04_53 + +Nicolas, Can you provide a small exported project that reproduces the problem? Also, can you reproduce this on different SD cards? Todd + +Nicolas, SYSBIOS 6.46.04 has no built-in support for FatFs. Do you have any ideas what is being used as your media access interface--what performs the IO operations to the SD card? Derrick + +Hey Derrick, so the driver is within pdk_01_10_01_06. It is the stw_lld/fatlib/fatfs/ff.c file where the f_mkdir is declared. Does that answer your question? Best regards, Nicolas Rausch + +Hi Nicolas, It appears you have shared the location of where the third party FatFs software is provided in the SDK. In addition to this, the PSDK provides a media access layer which ports basic IO functions to enable reads/writes to the physical interface. Any ideas about what is being used for this? To better assist you, could provide a small exported project or a source file that shows your API usage? Since FatFs is an open source third party software, I recommend checking all API returns for errors--namely f_mkdir(). Additionally, you can ensure FatFs is configured sufficiently for your use case. Here is a link to the FatFs configuration documentation. Some interesting items to check would be: FF_LFN_BUF, FF_SFN_BUF FF_STR_VOLUME_ID If you choose to change any of these settings (in the ffconf.h), you will need to rebuild the FatFs library included in the PSDK. Derrick + +Hey Derrick, thank you for help! Regarding the media access layer I don´t know what is being used for this. About the api usage, did you check my original post I linked above? There is a code example of how I use the api, that shows all of my code that uses the api for my approach. Sharing the project is not really possible, sorry for that! I will take a look at the documentation to see if I find any clues. best regards, nico + +Hi Nico, In the previous thread, I saw your code. It looks like you're wrapping FatFs APIs--with the ChainsCommon and File namespaces. Are you able to share the implementation of each of these functions? I deem it unlikely there is a bug in the f_mkdir() API--however, I would encourage you to engage with the FatFs community by posting on the FatFs User Forum. I think it more likely there may be a use care error or media access interface error. If we determine what's driving the media access interface, you will be able to observe the data bus for correct behavior. Derrick + +Hey Derrick, a little update from my side. So I figured that by default in PSDK_3_5 the mode for LFN mode is set to 1. See code below: Here I changed it to two for testing, both modes 1 and 2 result in the problem. If I change it to 0 and set the folder and filename to fit the 8.3 format everything works fine, but with modes 1 or 2 even with shorter names the issues appear. I am now implementing option 3 to test if this might work. This looks like the media access interface is not the probleme here, since it should create the problems in every mode of those. I will add the code for chainscommon and file namespaces. best regards nico + +Hi Nico, One other configuration option to try is the FF_FS_REENTRANT configuration. Are you performing FatFs operations from multiple threads? + +Did this get resolved? [10/7 Update: Marking this as TI Thinks Resolved due to no response from original poster.] + +Hey, no the issue is not resolved. Trying the reentrance didn´t help either. So far I don´t know what else to try. best regards, Nico + +Nico, From what context are you calling the FatFs APIs? Such as Thread/Task, Hardware Interrupt (Hwi), Software Interrupt (Swi).. Are multiple concurrent calls to FatFs APIs occurring anywhere in your application? + +Hey Derrick, I am calling this from within a task, right at the start of the creation of my usecase. There are no multiple concurrenct calls to FatFs in my application. If the reason for this problem is because of from where I call the api, shouldn´t the issue also appear when I change the mode to 8.3 format? With 8.3 format the file creation works without problems. Thank you! best regards, nico + +Nico, Is using SFN an acceptable work-around for your use case or do you require LFN? Derrick + +For now I am not using directories and just add prefix to the filenames as a workaround. In this case everything works fine, even with LFN. SFN is not really an option, but for now I will stick to not using directories. best regards, nico + +Nico, The APIs you're using seem to be provided by the PSDK. I think if we understand how the APIs are wrapping the FatFs APIs, we may better understand what's causing the issue with LFN. Namely, there may be an issue with how File_mkdir() creates the directories and how ChainsCommon_Osal_fileChDir() is utilized. I will check with someone more familiar with these API implementations. Derrick + +Thank you Derrick! I Have been debugging the ff.c file to check if all the the conversions for LFN work properly and to see if I find any clues on where the issue is appearing. The name conversion works fine, but in the dir_find and dir_register functions I think something is going wrong with the Volume names, I´d expect the volume to be the same, since it is only one Volume it is supposed to write to, but at some point the name of the volume changes to something like SYSTEM~1, which is also the name of the file that gets generated when the sd_card gets corrupted. Unfortunately I couldn´t find out more about this. If it is possible for you I´d suggest you setup a simple usecase that just generates directories, so you could step through the functions as well. Looking forward to hear back from you! best regards, Nico + +Nico, Sorry for the delayed response. I spoke with some of the Processor SDK support and they're unable to support this thread further since FatFs is a third party software. I do encourage you to engage in the FatFs forum as it may be an issue with the FatFs API usage. I apologize for any inconvenience, Derrick + diff --git a/sample_embedding_folder2/0842280.txt b/sample_embedding_folder2/0842280.txt new file mode 100644 index 0000000000000000000000000000000000000000..b4d15e54dae0a5a031d732645c3b77f64d85c49e --- /dev/null +++ b/sample_embedding_folder2/0842280.txt @@ -0,0 +1,12 @@ +Ticket Name: Compiler/TDA2-17: How to test FPD-Link output (P1) on JACINTO 6 ENTRY EVM? + +Query Text: +Part Number: TDA2-17 Other Parts Discussed in Thread: DS90UH926QSEVB Tool/software: TI C/C++ Compiler Hi Team, I'm testing FPD-Link output (P1) on JACINTO 6 ENTRY EVM. My Deserializer board is DS90UH926QSEVB. Which Use cases of VISION SDK can test FPD-Link output(P1) on JACINTO 6 ENTRY EVM? SDK version: PROCESSOR_SDK_VISION 03_07_00_00 (Linux) + +Responses: +Hi, There is no such usecase in VSDK which uses FPD link port shown by you. Regards, Anuj + +Hi Anuj, Is there any other way to test it? Thanks. Will Hsu + +No. We are not support this. Regards, Anuj + diff --git a/sample_embedding_folder2/0842672.txt b/sample_embedding_folder2/0842672.txt new file mode 100644 index 0000000000000000000000000000000000000000..553f6d8389407a4e3ee08182de7fcf468ff5273b --- /dev/null +++ b/sample_embedding_folder2/0842672.txt @@ -0,0 +1,14 @@ +Ticket Name: PROCESSOR-SDK-TDAX: TDA2X + +Query Text: +Part Number: PROCESSOR-SDK-TDAX Other Parts Discussed in Thread: TDA2 Question 1: Hello: when I was debugging the TDA2 driver, the file directory is as follows "PROCESSOR_SDK_VISION_03_05_00_00 / vision_sdk/apps/SRC/hlos/adas/SRC/usecases/disp_dist_src_display" The file VDRM_CRTC = 26 chains_dispDistSrc_Display. C, That is: PUcObj - > DispDistSrc_westonPrm. VDrmControllerObjectId = VDRM_CRTC; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * excuse me: VDRM_CRTC 26 here is how to determine?If HDMI LCD1, LCD2, and LCD3 are used, what should the vDrmControllerObjectId be assigned? Question 1: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * excuse me: if the HDMI LCD1 LCD2 LCD3 used, that here I am in terminal execution "weston - flower", how to specify the HDMI, LCD1 one shown on the screen? Root @ dra7xx - evm entry: ~ # Root @ dra7xx - evm entry: ~ # Root @ dra7xx - evm entry: ~ # Root @ dra7xx - evm entry: ~ # Root @ dra7xx - evm entry: ~ # weston - flower + +Responses: +Hi, can you check this document and see if it you can find the answers to your questions: Regards, Yordan + +Hello, I just refer to the above link to do it. Now I output 4 channels, HDMI, lcd1/2, and adopt 4 independent VDRM. How do I specify weston-flower to be displayed in these 4 channels?Like HDMI, or LCD3? The document above did not seem to say!!!!! The document above did not seem to say!!!!! Here is my video card device: root@dra7xx-evm:/dev# ls -al vdr* crw------- 1 root root 246, 0 Sep 25 10:00 vdrm-controller-0 crw------- 1 root root 246, 1 Sep 25 10:00 vdrm-controller-1 crw------- 1 root root 246, 2 Sep 25 10:00 vdrm-controller-2 crw------- 1 root root 246, 3 Sep 25 10:00 vdrm-controller-3 root@dra7xx-evm:/dev# The following is the command I executed, which is displayed on HDMI. Now I want to display it on LCD2. What should I do? root@dra7xx-evm:/dev# root@dra7xx-evm:/dev# root@dra7xx-evm:/dev# weston-flower + +Hi, I have forwarded your question to DRM experts for further help. (note that some delay in response due to the holidays in India might be expected) Regards, Yordan + +Do you see weston background on the LCDs? Can you provide me the the output of "ls -l /dev", "ls -l /dev/dri" and "ls -l /dev/dri/by-path"? - Subhajit + diff --git a/sample_embedding_folder2/0842698.txt b/sample_embedding_folder2/0842698.txt new file mode 100644 index 0000000000000000000000000000000000000000..0c7029ae3fc9fabe818164091e17a817a3741403 --- /dev/null +++ b/sample_embedding_folder2/0842698.txt @@ -0,0 +1,45 @@ +Ticket Name: Compiler/TDA2EG-17: Mirror/Flip Displaying + +Query Text: +Part Number: TDA2EG-17 Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler Hi: My target operation system is 'Linux'. My project have two requirements about image transformation before displaying it. One is flipping image horizontally in ARGB8888 mode, and the other is rotating image in specified angle. My project will generate an image frame buffer by using totally computing resource on A15 core, so I don't want to waste computing resource in flipping/rotating image on A15. However, I find an enumeration (vpsissRszFlipCtrl_t from $SDK_DIR/ti_components/drivers/pdk_01_10_03_07/packages/ti/drv/vps/include/iss/vps_cfgrsz.h) which seems to indicate the flipping image mode on other core. But the usecase system seem that the flipping image mode is not supporting for ARGB8888 data format ($SDK_DIR/vision_sdk/links_fw/include/link_api/vpeLink.h). Here is the definition from vpeLink.h /** + ******************************************************************************* + * \brief Ouput param representation for VPE link. + * + * + ******************************************************************************* +*/ +typedef struct +{ + UInt32 width; + /**< Width of the video frame or field in pixels. */ + + UInt32 height; + /**< Height of the video frame or field in lines. */ + + System_VideoDataFormat dataFormat; + /**< Output Frame data Format. + * VPE link is validated only for the following output dataformats + * 1. SYSTEM_DF_YUV422I_YUYV + * 2. SYSTEM_DF_YUV420SP_UV + */ + + UInt32 numBufsPerCh; + /**< Number of output buffers per channel */ + + UInt32 inputFrameRate; + /**< applicable for progressive input OR when DEI bypass is TRUE + * inputFrameRate + outputFrameRate should be set to control required fps + */ + UInt32 outputFrameRate; + /**< applicable for progressive input OR when DEI bypass is TRUE + * inputFrameRate + outputFrameRate should be set to control required fps + */ +}VpeLink_OutParams; So, I wanna ask: 1. Is Vision sdk supporting for running flipping/rotating image on other core? If yes, how to do it? 2. Is TDA2's hardware supporting for outputting flipped screen directly? Thank you + +Responses: +Hi, Please find answers to you questions below. 1, vsdk in itself does not support, but you could EDMA to do so. 2, EDMA Rgds, Brijesh + +Hi: Would you please provide some information about EDMA? Is it an software library? or an hardware device? thank you. + +Hi, EDMA is HW module in SoC. Please refer to TRM for more details on EDMA. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0843641.txt b/sample_embedding_folder2/0843641.txt new file mode 100644 index 0000000000000000000000000000000000000000..cc08ab94db4ea5968427f9ec46d0a27d26ec02f6 --- /dev/null +++ b/sample_embedding_folder2/0843641.txt @@ -0,0 +1,12 @@ +Ticket Name: IssCapture Input Type + +Query Text: +Is it possible to use HDMI as an input instead of CSI2 in IssCapture. Thanks and Regards, Aneesh + +Responses: +Aneesh, IssCapture link support CAL module, which can receive data only from CAL, over CSI input format. For HDMI, you need to use VIP, capture link. Rgds, Brijesh + +Hi Brijesh, Can you tell me a usecase where i can see the hdmi as input to vip capture. Regards, Aneesh + +Hi Aneesh, You could use any object detection usecase, it uses HDMI as input port, where HDMI decoder output is connected to VIP. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0844208.txt b/sample_embedding_folder2/0844208.txt new file mode 100644 index 0000000000000000000000000000000000000000..43d36bad45dda61e8bc67eece61b4186c8056088 --- /dev/null +++ b/sample_embedding_folder2/0844208.txt @@ -0,0 +1,8 @@ +Ticket Name: Compiler/TDA2EVM5777: How can i check cd-gpios? + +Query Text: +Part Number: TDA2EVM5777 Tool/software: TI C/C++ Compiler Hi, I'm customizing the dra7-evm.dts file to boot my custom board. In dra7-evm.dts file, the cd-gpios is set as <&gpio6 27 GPIO_ACTIVE_LOW> and the below is MMC interface part of board schematic. I want to know how can i assure that SDCD signal is hardwired to gpio6 in this schematic. Thanks and Regards, Yoo + +Responses: +Hi Yoo, MMC1_SDCD pinmux is configured to GPIO, code snippet from u-boot below {MMC1_SDCD, (M14 | PIN_INPUT_PULLUP)}, /* mmc1_sdcd.gpio6_27 */ Regards, Vishal + diff --git a/sample_embedding_folder2/0844257.txt b/sample_embedding_folder2/0844257.txt new file mode 100644 index 0000000000000000000000000000000000000000..5c5ddfb7d99ebc0d54e1abaa06320f541af71331 --- /dev/null +++ b/sample_embedding_folder2/0844257.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA4VMXEVM: Building PSDK_RTOS_AUTO_j7_06 for TDA2pxevm + +Query Text: +Part Number: TDA4VMXEVM Hey, is it possible to build the psdk_rtos_auto_j7_06_00_01 vision apps demos for TDA2pxevm? I like to test the singlecamera usecase on the tda2pxevm. The idea is to build instead for A72 and R5F, I build the vision apps for A15 and M4. Could that work? best regards, NIco + +Responses: +Hi Nico, For TDA2P you should use Processor SDK Vision package, psdk_rtos_auto_j7_06_00_01 vision apps demos are only supported for TDA4x. Regards, Rishabh + +So you say it is not possible to use psdk_rtos_auto with tda2px? My aim is to debug the psdk_rtos_auto at the moment. best regards, Nico + +Hi Nico, Yes it is not possible to use psdk_rtos_auto with tda2px. You should debug using TDA4 EVM. Regards, Rishabh + +Hey Rishabh, so do I understand correctly that the whole concept of links and chains from psdk(for example 3.6) has been overthrown and in psdk_rtos_auto this is replaced by using tiovx? best regards, nico + +Hi Nico, Links and Chains is TI proprietary API which was present on TDA2/TDA2 whereas OpenVX is an industry standard API. Hence in line with TI's strategy to move to open standards, links and chains have been replaced by TIOVX. Regards, Rishabh + diff --git a/sample_embedding_folder2/0844506.txt b/sample_embedding_folder2/0844506.txt new file mode 100644 index 0000000000000000000000000000000000000000..b152036fa10fd1c7e19a7d94042687f4e786ff22 --- /dev/null +++ b/sample_embedding_folder2/0844506.txt @@ -0,0 +1,10 @@ +Ticket Name: Compiler/TDA2EG-17: EDMA on TDA2 + +Query Text: +Part Number: TDA2EG-17 Tool/software: TI C/C++ Compiler Hi: I would like to enable other core to help my system to flip/mirror/rotate image. 1. Is EDMA(mentioned from this post) support those functions? 2. Is there any tutorial about EDMA? 3. Is there any other way to implement those function on other core? Thank you + +Responses: +Hi, EDMA is a hardware IP and look at TRM for more information. It does not support these functions by default, you will have to configure it accordingly to achieve the desired functionality. EDMA can be run from any core. Hope this helps Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0844731.txt b/sample_embedding_folder2/0844731.txt new file mode 100644 index 0000000000000000000000000000000000000000..e524a9dd2b6dacd5cd583f4c2aa45e0b058b7e89 --- /dev/null +++ b/sample_embedding_folder2/0844731.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2HV: Customize TI-RTOS HWI_Disable()/HWI_Restore() APIs to toggle GPIO + +Query Text: +Part Number: TDA2HV Other Parts Discussed in Thread: TDA2, SYSBIOS Hello TI RTOS experts, TI RTOS runs on TDA2 on a custom board. Code base is custom and loosely based on an older Vision SDK release. A missed interrupt issue on A15 core is being debugged. One theory is that interrupts are globally disabled for too long via HWI_Disable()/HWI_Restore() APIs. Since JTAG access is not available on the board, the approach is to measure time between interrupts disabled/reenabled by toggling GPIO. The current implementation modifies low level code and adds low level GPIO register access code in multiple locations (where hwi disable is defined): in hwi.c ( "bios_6_46_04_53\packages\ti\sysbios\hal"), in file Core__epilog.h ( "bios_6_46_04_53\packages\ti\sysbios\hal"), and in ( "C:\ti\ford\bios_6_46_04_53\packages\ti\sysbios\family\arm\gic") . Is it necessary to "hit" all three locations with modifications? Are there more locations? Is there a cleaner way to implement this functionality? Basically customize HWI_Disable()/Restore() APIs to toggle a specific GPIO. Thanks in advance, Jelena + +Responses: +Jelena, User code will invoke the Hwi_disableFxn()/enableFxn/restoreFxn implementations in src/ti/sysbios/family/arm/gic/Hwi.c. When the custom SYSBIOS library is built, -Dti_sysbios_Build_useHwiMacros is added to the compile line for each source file pulled into the custom library. Defining that symbol invokes inlined versions of Hwi_enable/disable/restore to be used rather than the versions in Hwi.c. The optimized versions of those APIs are implemented in ti/sysbios/family/arm/gic/Hwi__epilogue.h and in ti/sysbios/hal/Hwi__epilogue.h. if you simply change the #ifndef ti_sysbios_Build_useHwiMacros statement in those header files to #ifdef ti_sysbios_Build_useHwiMacros Then the implementations of Hwi_enableFxn/disableFxn/restoreFxn found in ti/sysbios/family/arm/gic/Hwi.c should always be invoked. Alan + diff --git a/sample_embedding_folder2/0845612.txt b/sample_embedding_folder2/0845612.txt new file mode 100644 index 0000000000000000000000000000000000000000..b7acf7bae8f354009d9b42066b269012a34a25d0 --- /dev/null +++ b/sample_embedding_folder2/0845612.txt @@ -0,0 +1,40 @@ +Ticket Name: TDA2EVM5777: How to burn BIOS(sbl and appimage) into qspi ? + +Query Text: +Part Number: TDA2EVM5777 Hi, I want to boot bios from qspi, I reference the manual VisionSDK_UserGuide_TDA2xx.pdf - 3.7Load using QSPI.But I don't have JTAG,I cannot use ccs to download the binary. I heard there are also ways using the USB boot mode to load and execute an image from DDR3 to then run a secondary boot loader that can flash QSPI-NOR or eMMC flash. So could you indicate which documents mention this? Regards + +Responses: +Hi, You can use Mflash to flash via UART. Please see PROCESSOR_SDK_VISION_03_07_00_00\ti_components\drivers\pdk_01_10_03_07\packages\ti\boot\sbl_auto\docs\AppNote_mflash.pdf Regards, Rishabh + +Hi,Rishabh I follow the guide, I compile the sbl_mflash_tda2px-evm and copy AppImage_BE and MLO into mflash directory. And I enabled UART3 by two simple registers modification on the evm. I use below command try to download the AppImage_BE and MLO. sudo ./mflash.out -M sbl_mflash_tda2px-evm -P 0 -F AppImage_BE 0x80000 -F MLO 0x00 -C But it crash in Opening port for sbl_mflash. Here's the complete download log lyp@lyp-desktop:~/hd2/tda2/sdk_3.07/ti_components/drivers/pdk_01_10_03_07/packages/ti/boot/sbl_auto/tools/mflash$ sudo ./mflash.out -M sbl_mflash_tda2px-evm -P 0 -F AppImage_BE 0x80000 -F MLO 0x00 -C +Usage: mflash -M -P -C [optional: to clean the QSPI Flash]-F -F ... [PC] sbl_mflash sbl_mflash_tda2px-evm +[PC] File 0 AppImage_BE +[PC] Offset 0 0x80000 +[PC] File 1 MLO +[PC] Offset 1 0x00 +[PC] com /dev/ttyUSB0 +[PC] ##########Starting USB/UART Flasing Utility############## +[PC] Put UART Boot Mode, make fresh UART connection & restart +[PC] Press Enter when done... +[PC] Opening serial port successful. +[RBL]4 [RBL]1 [RBL]5 [RBL]1 [RBL]56 [RBL]41 [RBL]7 [RBL]3 [RBL]13 [RBL]4 [RBL]1 [RBL]5 [RBL]1 [RBL]56 [RBL]41 [RBL]7 [RBL]3 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]14 [RBL]21 [RBL]1 [RBL]0 [RBL]0 [RBL]4 [RBL]1 [RBL]5 [RBL]1 [RBL]56 [RBL]41[RBL]4 [RBL]1 [RBL]5 [RBL]1 [RBL]56 [RBL]41 [RBL]7 [RBL]3 [RBL]13 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]14 [RBL]21[RBL]1 [RBL]0 [RBL]4 [RBL]1 [RBL]5 [RBL]1 [RBL]56 [RBL]4 [RBL]1 [RBL]5 [RBL]1 [RBL]56 [RBL]41 [RBL]7 [RBL]3 [RBL]13[RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]14 +[PC] Requesting the ASIC ID +[RBL]4 [RBL]1 [RBL]5 [RBL]1 [RBL]56 [RBL]41 [RBL]7 [RBL]3 [RBL]13 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]14 [RBL]21 [RBL]1 [RBL]4 [RBL]1 [RBL]4 [RBL]1 [RBL]5 [RBL]1 [RBL]56 [RBL]41 [RBL]7 [RBL]3 [RBL]13 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]14 [RBL]4 [RBL]1 [RBL]4 [RBL]1 [RBL]5 [RBL]1 [RBL]56 [RBL]41 [RBL]7 [RBL]3 [RBL]13 [RBL]2 [RBL]4 [RBL]1 [RBL]5 [RBL]1 [RBL]56 [RBL]41 [RBL]7 [RBL]3 [RBL]13 [RBL]14 [RBL]21 [RBL]1 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]4 [RBL]1 +[PC] Requesting PERI_REQ mode +[PC] Sending SBL_MFLASH filesize. +[PC] Size of sbl_mflash = 51468 +[PC] Sending SBL_MFLASH... Please wait +[PC] File Size = 51468 +[PC] # +[PC] Transfer Complete. Time = 4.000 +[PC] Opening port for sbl_mflash. + I think there are something wrong with my operation....Do you have some idea? Regards + +Hi, Your original question mentions TDA2xx whereas as per your reply you are trying to use TDA2Px. Can you confirm what is the exact SoC you are using. Regards, Rishabh + +Rishabh, It's TDA2PX. Regards + +Hi, Can you confirm if you have followed the step "Put UART Boot Mode, make fresh UART connection & restart". Regards, Rishabh + +Hi Rishabh, Yes,I sure I make this. I have to give up this way. I try to boot up in Linux and flash image into /dev/mtd0 and it success.But I meet another problem. I will ask a new question in new thread. Thanks + diff --git a/sample_embedding_folder2/0846700.txt b/sample_embedding_folder2/0846700.txt new file mode 100644 index 0000000000000000000000000000000000000000..594531fb4da21dd764792e67fd5c11940885f40a --- /dev/null +++ b/sample_embedding_folder2/0846700.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2-17: Color 3D Model in GPU Based Surroundview + +Query Text: +Part Number: TDA2-17 Hello, How do I enable a color 3D model using the TDA2xx EVM and the SGX based surroundview? All of the Car models are rendered as Grayscale despite having color texture files. Thanks + +Responses: +Hi Ben, you will need the source release of the surround view and rebuild it with CAR_YUV flag set, please check those threads for details: Regards, Yordan + diff --git a/sample_embedding_folder2/0846847.txt b/sample_embedding_folder2/0846847.txt new file mode 100644 index 0000000000000000000000000000000000000000..a26be76cf64b276c9ecf8ce61d8e32b27f8343bd --- /dev/null +++ b/sample_embedding_folder2/0846847.txt @@ -0,0 +1,30 @@ +Ticket Name: Compiler/TDA2EVM5777: How can i shift the data of frame from camera sensor? + +Query Text: +Part Number: TDA2EVM5777 Tool/software: TI C/C++ Compiler Hi, I'm working with custom board. It is based on TDA2x EVM board. The lvds camera that i'm using sends data in format of YVYU. So, i want to shift 2 bytes of data to make it as YUYV format in ProcessData function of Capture Link. I reffered http://processors.wiki.ti.com/index.php/PDK/PDK_VPS_FVID2_User_Guide to know the data format of YUV422 interleaved and add the below source code in ProcessData function of Capture Link. pFrame->addr[0][0] = pFrame->addr[0][2]; pFrame->addr[1][0] = pFrame->addr[1][2]; However, it doesn't work well. Could you let me know how can i reformat the data of frame? (I mean the way how can i access the data of frame) Thanks and Regards, Yoo + +Responses: +Hi Yoo, What do you mean by shift? For YUV422, driver will always output frame in addr[0][0] location.. Regards, Brijesh + +Hi Brijesh, I mean i want to move back 2bytes of data received from camera sensor. For example, If the data from camera is arranged as Y U Y V Y U Y V, i want to remove the first Y U data from the buffer. In this case, i want to access to addr of FVID2_frame. Could you let me know whether this way is possible or acceptable? Regards, Yoo + +Hi, I checked from comment in source code and documentation that the data is arranged in single plane when the data format is YUV422 interleaved and progressive. The remain thing what i to do is make the data to start from Y V not Y U. To do this, i added this below line in CaptureLink_drvProcessData function of captureLink_drv.c . ((System_VideoFrameBuffer*)(sysBuf->payload))->bufAddr[0] += 2; I think if i add this line, the data which starts from Y U Y V Y U Y V will be reformated as Y V Y U Y V Y U. Please let me know this way is acceptable. Thanks and Regards, Yoo + +Yoo, it cannot be done in VIP. VIP cannot just shift 2 bytes. Instead of VIP doing it, can you ask sensor/decoder to drop, or shift start position? Rgds, Brijesh + +Hi Brijesh, Thanks for your help. Could you tell me more about where to modify the sensor to postpone the starting point two bytes behind? Is that part in ti_components/drivers/pdk_01_10_03_07/packages/ti/drv/vps path? Regards, Yoo + +Yoo, No, it depends on the sensor that you are using. If sensor supports it, you could shift in sensor. In VIP, you could swap the bytes, but cannot shift. Rgds, Brijesh + +Hi Brijesh, If i want to swap U data with V data, how could i access to data? In VIP, there are addr element of FVID2_frame and ((System_VideoFrameBuffer*)(sysBuf->payload))->bufAddr[0]. Which one that i need to use? Also, i really appreciate if you guide me to swap those data efficiently. Thanks again. Regards, Yoo + +Hi Yoo, FVID2_Frame address is what driver uses.. If you set the output frame format to YVYU from YUYV, then chroma is swapped. Regards, Brijesh + +Hi Brijesh, I wonder how the UV channel data is arranged in second plane of frame when the data format is YUV420_SP. I tried to set some value of output frame as 0 and checked that values were changed. At first, i thought it organized as order of U V U V U V. However, when i swapped the value of U with value of V, the output was not changed. The below line is what i used to set some value of frame as 0. memset(((System_VideoFrameBuffer*)(sysBuf->payload))->bufAddr[1], 0, sizeof(unsigned char) * 115200); And this is what i used to swap the U data with V data. for (i = 0; i < 102400; i+=2) { unsigned char tmp = (unsigned char)(*((unsigned char*)pFrame->addr[0][1] + i)); *((unsigned char*)pFrame->addr[0][1] + i) = (unsigned char)(*((unsigned char*)pFrame->addr[0][1] + i + 1)); *((unsigned char*)pFrame->addr[0][1] + i + 1) = tmp; } I think the data is not arranged as i assumed. Could you please let me know the order of U/V data in second plane? Thanks and Regards, Yoo + +Hi Yoo, Yes, for YUV420 output, chroma plane would have U followed by V and so on. When you say, it is not working, what does it mean? You don't see bytes swapped in memory? Is your buffer cached/ In that case, you would require to invalidate cache before updating buffer and then write back cache after updating. + +Hi Brijesh, Yes, i didn't see any bytes swapped. The frames that are shown in display were all same with before i apply swap the data. I applied swap in capture link of vip_capture directory. What i can't understand, if the cause of my problem is not invalidating/updating cache, why memset function works well... Anyway, I'm going to try to use cache function and reply in this thread. Thanks and Regards, Yoo + +Hi Byeongheon Yoo, Any further update on this question? Is it resolved? Rgds, Brijesh + diff --git a/sample_embedding_folder2/0847104.txt b/sample_embedding_folder2/0847104.txt new file mode 100644 index 0000000000000000000000000000000000000000..1671cef33de0785a17f8bb463732e213c2aaf5bd --- /dev/null +++ b/sample_embedding_folder2/0847104.txt @@ -0,0 +1,24 @@ +Ticket Name: Compiler/TDA2EVM5777: How to enable/use the C++ libraries for the usecases? + +Query Text: +Part Number: TDA2EVM5777 Tool/software: TI C/C++ Compiler Hi, I am trying to do the post processing on the tidl_postprocessing link and want to write my own functions on this link. I have replaced the tidl_postproc link from A15 to DSP1 to utilize my DSP. How can I simply add the libraries into the same code and kick start my post processing. Thank you. With best regards, Owais + +Responses: +HI, If you want to write your own function then go ahead and write and build the code. For adding your library please take a reference of below file \vision_sdk\apps\MAKEFILE.MK Regards, Anuj + +Hi Anuj, Thank you for your reply. I tried to add the vector library and call the std or other functions in the tild_postproc file but it gives me error. Moreover, the reference you have added, I can find the vlib added into it but still can't find the STL for C++. Can you help me with it. Thank you. With best regards, Owais + +Hi, If you want to add for dsp then add something like below DSP_ALG_LIBS += $($(MAKEAPPNAME)_PATH)/src/rtos/alg_plugins/commonutils/lib/commonutils_c66xdsp_$(PROFILE_c66xdsp_1).ae66 And build without using -s option and check while linking the lib is present. Please make sure the library you are adding is compatible with c66x architecture. Regards, Anuj + +Hi Anuj, Thank you once again for your quick response. I have added as per your suggestion but I am still having the compilation error. + +Hi, These are different error and not related to any library issue. inData_c is declared but you are not using that variable so you are getting these error. Please try to resolve this error by yourself or google it. These generic C query and not related to TI specific. Regards, Anuj + +Hi Anuj, These are not errors but are just warnings. The code works fine with these warnings. However, when I add the std function into it, it generates the error which probably either due to the proper linking of the c++ library or may be it is not supported in it. With best regards, Owais + +Hi, Is there anyone else can answer this problem. Thank you. With best regards, H.M. Owais + +Hi Owais, as Anuj is out of office I will ping other VisionSDK experts to help, they will reply here soon. Regards, Yordan + +If you are trying to build C++ file, you can follow the example under ~/vision_sdk/apps/src/rtos/alg_plugins/common/sample.cpp. You can also refer to below document regarding C++ support in C6000 compiler. You can find what's supported and what's not. + diff --git a/sample_embedding_folder2/0847218.txt b/sample_embedding_folder2/0847218.txt new file mode 100644 index 0000000000000000000000000000000000000000..9901f9e49798aad0f5cb45c795cbd74f6b75d568 --- /dev/null +++ b/sample_embedding_folder2/0847218.txt @@ -0,0 +1,27 @@ +Ticket Name: DRA756: How deal with DRA74x/TDA2x PCIe soft reset signal? + +Query Text: +Part Number: DRA756 Other Parts Discussed in Thread: PCF8575 According to the guide in the following link, http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components_Kernel_Drivers.html?highlight=pcie#pcie-end-point There is no setting of the reset pin of PCIe (for EP nor RC). diff --git a/arch/arm/boot/dts/dra7-evm.dts b/arch/arm/boot/dts/dra7-evm.dts +index eedd930..93d9f17 100644 +--- a/arch/arm/boot/dts/dra7-evm.dts ++++ b/arch/arm/boot/dts/dra7-evm.dts +@@ -1084,7 +1084,7 @@ + vdd-supply = <&smps7_reg>; + }; + +-&pcie1_rc { ++&pcie1_ep { + status = "okay"; + }; How to deal with the PCIe software reset signal on EVM? just ignore it? How about the hardware connection to RC device? + +Responses: +Hi, I can only tell about hardware details of PCIe SW reset. This signal assertion, similarly to few other features on EVM, is accomplished via an external GPIO IC. IC type: PCF8575 IC ref: U58 Connected to: I2C1 of DRA75x I2C address: 40h PCI_SW_RESETn is on pin: 14 (D hex) Hope some of these helps. + +Note that this reset will not propagate if PCI_RESET_SEL is high, which is selected by SW5-8 set to OFF. + +Thank you for your reply. I know where the PCIe-sw-reset connects on hardware, What I want to know is, how to link it with PCIe controller, especially in Linux. in reference design shown in http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components_Kernel_Drivers.html?highlight=pcie#pcie-end-point &pcie1_ep { + status = "ok"; +}; No binding of the gpio to PCIe controller. + +I don't know the history for that. I hope this will get answered soon in this thread. Perhaps this wasn't implemented in Linux because Reset is not a mandatory signal for PCIe devices. Regards, Stan   + diff --git a/sample_embedding_folder2/0847340.txt b/sample_embedding_folder2/0847340.txt new file mode 100644 index 0000000000000000000000000000000000000000..95c69711ed83762f317c820a592f0bd54eef92df --- /dev/null +++ b/sample_embedding_folder2/0847340.txt @@ -0,0 +1,78 @@ +Ticket Name: AM5728: All frames are dropped when running TIDL usecase with camera + +Query Text: +Part Number: AM5728 Other Parts Discussed in Thread: TDA2 Hi sir, As my previous question ( ), I'm still working on this issue. I used my own trained model, which was fine tuning from JDetNet, to do object detection. I tested the model worked fine on PC, but didn't work on TDA2x. When running my model on TDA2x, I found that VPE process dropped 60% of frames, and rest frames were dropped in the ALG_TIDLPREPROC process. statistic_log.txt Here are my questions, 1. Does this mean no frames go into EVEs, so there are nothing to display? 2. Is there something wrong with my model? 3. How to avoid frames being dropped? 4. Can you point me out where is the main code of ALG_TIDLPREPROC. I tested on TDA2x CPU board ( ES1.1) + Vision Application Board + OV10635 Image Sensor with VSDK 3.7. Thank you, Gary + +Responses: +Hi Gary, >> I tested the model worked fine on PC, but didn't work on TDA2x. Can you check if you get proper output from TIDL import tool itself. FYI, the import tool also runs TIDL inference on PC and will give output detection's, so first check are you getting proper output in the import itself then you can run the model on TDA2x. Thanks, Praveen + +Hi Praveen, >> ...check if you get proper output from TIDL import tool itself. >> the import tool also runs TIDL inference on PC and will give output detection's... How to check from TIDL import tool itself? Are there any reference documents? Thank you, Gary + +Hi Gary, The import tool will dump the final output in "stats_tool_out.bin" file along with layer level traces (outputs) for each layer. Please use markBox.c file from below e2e thread to visualize the import tool output and if you get correct output here then you can run your model on VSDK. https://e2e.ti.com/support/processors/f/791/t/679186 Thanks, Praveen + +Hi Praveen, I used jpeg image as a input of markBox.c. However, the output PPM file looks like noise, which as attachment shows. So my questions are, 1. How to use jpeg format image file as an input of markBox.c? Should I convert the jpeg file to .y format? If so, how can I generate a '.y' file thank you, Gary + +Hi Gary, You need to use ".y" file as an input in the markBox.c file. You will get this "y" file as part of pre-processing in the import tool and it will be dumped as "trace_dump_0_768x320.y" in the import tool traces. This is nothing but the ".y" conversion of the input jpeg image, so use this "trace_dump_0_768x320.y" file in the markBox.c file. Thanks, Praveen + +Hi Praveen, I used the dump .y file "trace_dump_0_512x512.y" in the markBox.c, but the result is the same. So here I list my steps to make sure there is no misunderstanding. My jpg file name is 000019.jpg, which is a color image. 1. I changed the "sampleInData" field in import tool setting file to "\path\to\000019.jpg" 2. Running import tool, I got dump files. One of these is "trace_dump_0_512x512.y" 3. I used "trace_dump_0_512x512.y" in the markBox.c to get PPM file Are there any problems for these steps? Thank you, Gary + +Hi Gary, Can confirm that you are taken care on below points, (1) Did you update the markBox.c file for your image resolution ? (2) Are you reading the "tats_tool_out_eve.bin" file in binary mode? as there is an issue in opening this file in the markBox.c as explained in the thread fb = fopen("stats_tool_out_eve.bin", "rb"); (3) Did you visualize the "trace_dump_0_512x512.y" file ? it should look similar to the input jpeg file. After checking all the above points still if you see the issue, please attach your import config file for review. Thanks, Praveen + +Hi Praveen, >>(1) Did you update the markBox.c file for your image resolution ? I changed orig size as my image size. >> (2) Are you reading the "tats_tool_out_eve.bin" file in binary mode? as there is an issue in opening this file in the markBox.c as explained in the thread I don't have "stats_tool_out_eve.bin", so I used "stats_tool_out.bin" instead. I have tried the parameter "r" & "rb", the results are the same. >>(3) Did you visualize the "trace_dump_0_512x512.y" file ? it should look similar to the input jpeg file. Yes, it is same as my original input image. So here are my import files, thank your for your help. Gary 8561.importFiles.zip + +Hi Gary, From the attached files, I see that you have not taken care of 1 and 3. >> (1) I changed orig size as my image size. You should replace all the values (768 and 320) with 512 accordingly >> (3) Yes, it is same as my original input image. I see that "trace_dump_0_512x512.y" file is some corrupted, this may because of "rawSampleInData = 1" in import config file, but your input is not raw data, so change this value "rawSampleInData = 0" and then try importing Thanks, Praveen + +Hi Praveen , 1. After changing "rawSampleInData = 0", the result is still not correct. 2. I have also tested another image for comparing the detected results between original trained model and model transferred by import tool. The results are listing below. OD model (Original) OD model (import tool) It looks like something wrong after transferring by import tool. My import file is same as previous one. Are there anything wrong with my import settings? Can you suggest me how to solve this problem? Thank you, Gary + +Hi Gary, >>> OD model (import tool) >> It looks like something wrong after transferring by import tool. Is this output with TI model or with your own model ? Thanks, Praveen + +Hi Praveen, >>Is this output with TI model or with your own model ? Both two results are coming from my own model. Thanks, Gary + +Hi Gary, I tried importing your model shared in the previous post. I see that in your model, for some of the layers weights are not normalized in the training. These weights are causing issue in the import process. Can you try to do L1 and L2 regularization on both BatchNorm and conv layers in your model while training. Thanks, Praveen + +Hi Praveen, >> Can you try to do L1 and L2 regularization on both BatchNorm and conv layers in your model... I checked my solver file and I have already set the regularization_type = "L1". Is this same as above which you suggest me to do? If not, can you give me some hints how to do this? I have no idea how to add regularization in both BatchNorm and conv layers. Here is my solver file solver_jdetnet.prototxt.txt train_net:"models/VGGNet/jdetnet/train_jdetnet.prototxt" +test_net: "models/VGGNet/jdetnet/test_jdetnet.prototxt" +test_iter: 2 +test_interval: 10 +base_lr: 0.001 +display: 100 +max_iter: 500 +lr_policy: "poly" +gamma: 0.1 +power: 4.0 +momentum: 0.9 +weight_decay: 1e-05 +snapshot: 2000 +snapshot_prefix: "models/VGGNet/jdetnet/jdetnet" +solver_mode: GPU +device_id: 0 +random_seed: 33 +debug_info: false +snapshot_after_train: true +regularization_type: "L1" +test_initialization: true +average_loss: 10 +stepvalue: 30000 +stepvalue: 45000 +iter_size: 4 +type: "SGD" +display_sparsity: 2000 +sparse_mode: SPARSE_UPDATE +sparsity_target: 0.7 +sparsity_step_factor: 0.05 +sparsity_step_iter: 2000 +sparsity_start_iter: 0 +sparsity_start_factor: 0.25 +sparsity_threshold_maxratio: 0.2 +sparsity_itr_increment_bfr_applying: true +sparsity_threshold_value_max: 0.2 +eval_type: "detection" +ap_version: "11point" +show_per_class_result: true + + Thank you, Gary + +Hi Praveen, Have you tried to convert the object detection model from caffe-jacinto-models-caffe-0.16 through import tool? Does the test result correct on your side? I did two tests by using the raw object detection model from caffe-jacinto-models-caffe-0.16. The tested models are l1reg and sparse located in "/JDetNet/ssd512x512_ds_PSP_dsFac_32_fc_0_hdDS8_1_kerMbox_3_1stHdSameOpCh_1/". The first one is tested on host emulation by using trace_dump_0_768x320.y.txt . I ran the steps you mentioned in the thread and visualized through markBox.c. The result is as follow. markedBoxes.ppm.txt The other test is running on TDA2 with a video clip. However, the result is same as using my own trained model which is mentioned in my previous post ( https://e2e.ti.com/support/processors/f/791/t/839810 ). Here are my questions, 1. If you have tried the raw model and tested it successfully, can you provide or point me out the related files? Files such as, deploy.proto, caffemodel, tidl_import_XXX.txt, etc. 2. In this thread( https://e2e.ti.com/support/processors/f/791/t/679186 ), I can't get the same result as you do. So, I would like to know which model do you use? Can you also share the related files or are there any documents for reference? Thank you, Gary + +Hi Gary, Use the model and prototxt from below link to get the correct the result for object detection, https://github.com/tidsp/caffe-jacinto-models/tree/caffe-0.16/trained/object_detection/voc0712/JDetNet/ssd768x320_ds_PSP_dsFac_32_hdDS8_0/sparse And use below link for more steps on how run this model, https://e2e.ti.com/support/processors/f/791/t/689617 Thanks, Praveen + diff --git a/sample_embedding_folder2/0847737.txt b/sample_embedding_folder2/0847737.txt new file mode 100644 index 0000000000000000000000000000000000000000..d852a030abb60582f8a233bcd25b938dbf0ee048 --- /dev/null +++ b/sample_embedding_folder2/0847737.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2EVM5777: Exploring the Vlib and other libraries for the purpose of post processing of semantic segmentation + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Dear TI experts, Currently, I am trying to do find some useful functions for the post processing of my semantic segmentation done on the tda2. I have some questions and would love to have your expertise on it. 1. How to use the Vlib at the tild_postproc link, any example will be much appreciated. 2. Is there any similar function as convex hull algorithm in Vlib or any other library for DSP which I can utilize for the same purpose? 3. What is the purpose of function connected components and how to use it? any example would help a lot. Thank you. With best regards, Owais + +Responses: +I have forwarded this thread to the experts that may be able to help. + +Hi Owais, We dont have optimized convex hull algorithm in vlib. Connected component labelling API, gives different label to different pixel level connected object information. This API comes with sample test application in vlib package, kindly go through the provided test case there to understand the functionality in details. Regards Deepak Poddar + diff --git a/sample_embedding_folder2/0848577.txt b/sample_embedding_folder2/0848577.txt new file mode 100644 index 0000000000000000000000000000000000000000..edc4b1f995c6ba0074fed53c997e6ccec40fa63f --- /dev/null +++ b/sample_embedding_folder2/0848577.txt @@ -0,0 +1,22 @@ +Ticket Name: [TIDL_J7] Import and infer Example for jSegNet. + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi, After look into the tidk_j7_00_09_01_00 package, there is no import example for jSegNet. I only see segmentation_list_x.txt in test/testvecs/config. Can TI provide an example for jSegNet import and infer ? Charles + +Responses: +Sorry, it's tidl_j7_00_09_01_00 not tidk_j7_00_09_00_00. + +Hi Charles, Can you check if you have ti_dl\test\testvecs\config\infer\internal\caffe\tidl_infer_jSegNet.txt? In case it is not there please wait for 1.0 release happening towards the end of this month. Regards, Rishabh + +Hi, The infer file is there, but there is no import file and corresponding caffe model, sample image and label files. Will these files be attached in the 1.0 release ? Charles + +Hi Charles, Sorry for the delayed response. We are using this network for internal TIDL validation and it is not a part of 1.0 release. We will validate a public version of this network and share with you. Regards, Rishabh + +Hi, Thanks. We also need an example talking about "how to import the segmentation model". I didn't see the details in the j7 tidl documents. (Only an example for classification model) We have several segmentation models already running in TDA2 and would like to test them in TDA4 EVM. Hope you can help it! Charles + +Hi, Rishabh Do you have a date for validating the public version of jSegNet? Charles + +Hi Charles, I will be able to look at this next week. Regards, Rishabh + +Hi Charles, You can download the caffe model from https://github.com/tidsp/caffe-jacinto-models/tree/caffe-0.17/trained/image_segmentation/cityscapes5_jsegnet21v2/sparse. Deploy.prototxt needs to be changed slightly. Modified file is attached 3005.deploy.prototxt Regards, Rishabh + diff --git a/sample_embedding_folder2/0849233.txt b/sample_embedding_folder2/0849233.txt new file mode 100644 index 0000000000000000000000000000000000000000..94a3cac034f7fdeea800a80e4aacad0b3c4ff86d --- /dev/null +++ b/sample_embedding_folder2/0849233.txt @@ -0,0 +1,26 @@ +Ticket Name: TDA2EXEVM: Frame drop in VIP link . + +Query Text: +Part Number: TDA2EXEVM Hi, The below is my use-case, Capture -> VPE_D1 -> Merge -> Display (6ch channels) We are configuring capture link to output 50fps. But, after that in VPE link some frames are getting dropped. I have placed "Null" link after capture link that there is no frame drop. but when adding VPE link drops frames. To make sure merge giving enough buffers to VPE link, i have kept null link after VPE. i.e., Capture -> VPE -> Null still dropping some frames. Since VPE internally uses same ISP(Image Signal Processor) HW to process frames. I think if VPE gets interleaved with the ISP operation,it will dropping frames. We are using same resolution for all the 6 channels. The below are the parameters setting for VPE link, ******************************************************** chPrms = &pPrm->chParams[chId]; chPrms->outParams[outId].numBufsPerCh = 15;//VPE_LINK_NUM_BUFS_PER_CH_DEFAULT; chPrms->outParams[outId].inputFrameRate = 50; chPrms->outParams[outId].outputFrameRate = 50; chPrms->outParams[outId].width = captureInWidth; chPrms->outParams[outId].height = captureInHeight; chPrms->outParams[outId].dataFormat = SYSTEM_DF_YUV420SP_UV; chPrms->deiCfg.bypass = FALSE; //chPrms->deiCfg.bypass = TRUE; chPrms->deiCfg.inpMode = VPE_DEI_EDIMODE_LUMA_CHROMA; chPrms->deiCfg.tempInpEnable = TRUE; chPrms->deiCfg.tempInpChromaEnable = TRUE; chPrms->deiCfg.spatMaxBypass = TRUE; chPrms->deiCfg.tempMaxBypass = TRUE; chPrms->scCfg.bypass = TRUE; chPrms->scCfg.nonLinear = FALSE; chPrms->scCfg.stripSize = 0; chPrms->scCropCfg.cropStartX = 0; chPrms->scCropCfg.cropStartY = 0; chPrms->scCropCfg.cropWidth = 0; chPrms->scCropCfg.cropHeight = 0; ******************************************************************** The print statistics logs for reference, cap_log_vpe_debug.txt Need some suggestions to resolve this issue. Rgds, Balaji T + +Responses: +Hi, I have also enabled print statistics in VPE link, the log file follows. vpe_enable_printlog.txt Rgds, Balaji T + +Hi there, It would be very helpful. if someone update on this. Rgds, Balaji T + +Hi Balaji, Why are you setting crop size to 0? Crop size must not be 0. Also what is the resolution you are using in VPE? what is fps? VPE can processing some ~160MP/sec. is your processing within this limit? Rgds, Brijesh + +Hi Brijesh, We referred lvds_vip_multi_cam_vpe_enc_null use-case the VPE configuration.? In addition to that, we have added dei configuration. Please correct the configuration which results in minimal frame drop/No frame drop. Rgds, Balaji T + +Hi Balaji, I could not understand below statement. "Since VPE internally uses same ISP(Image Signal Processor) HW to process frames. I think if VPE gets interleaved with the ISP operation" VPE on TDA2Ex is VPE only. There is no inbuild ISP for VPE on TDA2Ex.. Does it work fine without DEI enabled? Can you try disabling DEI? Rgds, Brijesh + +Brijesh, Yes i have validated disabling DEI there is no frame drop. If we set the below value for TRUE there is no frame drop. chPrms->deiCfg.bypass = TRUE; Rgds, Balaji T + +Balaji, This essentially means frame drops comes due to DEI enable. Are you sure you are providing correct field id in the frame? Please note that you need to provide correct field id in order for the DEI to work correctly. Otherwise, it could potentially drop frames. Rgds, Brijesh + +Brijesh, Will you please help me to validate that i am providing correct field-Id in the frame. Expect the parameters that i have mentioned above, i am not configuring any parameters. Rgds, Balaji T + +Hi Balaji, That should come from your capture source. Capture source should put in correct field id in fvid2_frame/system_buffer data structure.. Rgds, Brijesh + +Brijesh, It is possible to scale (up/down) the fields..? In my usecase, we are using the VPE with the above mentioned params to convert fields into frames. But, whatever the resolution we are setting to capture link the same is to given to VPE to convert as frames. If there is a need to scale(up/down) that frames, We are again using another VPE_1, for that we are getting an assert. Will you please suggest the links that captures fields and output frames are scalable. For example, look at the below use-case, Capture -> VPE -> VPE_D1 -> Encode -> IPCIn(A15) -> Link (A15) We are getting the following assert. [HOST] [IPU2 ] 33.500427 s: Bj No of channels for encoder 6 [HOST] [IPU2 ] 33.500518 s: ENCODE: DEBUG enclink_populate_outbuf_pool_size_info resClassChInfo.numActiveResClass = 2 [HOST] [IPU2 ] 33.501494 s: ENCODE: DEBUG EncLink_codecCreateOutObj pOutObj->numAllocPools = 1 [HOST] [IPU2 ] 33.510736 s: ENCODE: DEBUG EncLink_codecCreateOutObj pOutObj->outBufs[0] = 99d26090 [HOST] [IPU2 ] 33.519978 s: ENCODE: DEBUG EncLink_codecCreateOutObj pOutObj->outBufs[1] = 99d260b8 [HOST] [IPU2 ] 33.529311 s: ENCODE: DEBUG EncLink_codecCreateOutObj pOutObj->outBufs[2] = 99d260e0 [HOST] [IPU2 ] 33.538583 s: ENCODE: DEBUG EncLink_codecCreateOutObj pOutObj->outBufs[3] = 99d26108 [HOST] [IPU2 ] 33.539559 s: ENCODE: Creating CH0 of 640 x 480, pitch = (640, 640) [1] [0], bitrate = 2097 Kbps ... [HOST] [IPU2 ] 33.567162 s: ENCODE: CH0: H264EncCreated:H264ENC_TI DEV.500.V.H264AVC.E.IVAHD.02.00.09.01 [HOST] [IPU2 ] 33.567528 s: ENCODE: Creating CH1 of 1280 x 720, pitch = (2560, 2560) [1] [0], bitrate = 2097 Kbps ... [HOST] [IPU2 ] 33.568047 s: Assertion @ Line: 808 in iva_enc/encLink_common.c: pChAlgCreatePrm->inputChromaFormat == XDM_YUV_420SP : failed !!! We need to know, how to scale to fields.? Rgds, Balaji T + diff --git a/sample_embedding_folder2/0849798.txt b/sample_embedding_folder2/0849798.txt new file mode 100644 index 0000000000000000000000000000000000000000..ff7ac71dd61c0613083a0e8fa52fc34f9564709f --- /dev/null +++ b/sample_embedding_folder2/0849798.txt @@ -0,0 +1,66 @@ +Ticket Name: TDA2EXEVM: How to run a TIDL OD model in a different resolution? + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2 Hi sir, I followed this thread (https://e2e.ti.com/support/processors/f/791/t/689617) and ran TI jdetnet OD model successfully on TDA2. The input video resolution is 768x320. I used the same video and resized resolution to 512x512, and followed the same steps. But the there were nothing detected. The result is as follow. I also tested on host emulation, the result displayed correctly. Here are my testing files, can you please verified if they are correct? 512x512.rar If I would like to test in other resolution, should I training a new model for it? Are there any way to modify a exist model/setting so that it can suitable for other resolution without training a new model? Thank you, Gary + +Responses: +Hi Gary, >> But the there were nothing detected. The result is as follow Can you attach this again as I am unable to see the image? >> I also tested on host emulation, the result displayed correctly. Can you attach this again as I am unable to see the image? Thanks, Praveen + +Hi Praveen, I re-uploaded the missing pictures. Thank you for your help, Gary + +Hi Gary, The modified files for 512x512 size looks fine. Did you get proper output from import tool with 512x512 size? Thanks, Praveen + +Hi Praveen, I just tried, the output from import tool was correct. Will assign layersGroupId in import setting file relate to this issue? I checked import file for 768x320, it set some layers to DSP. But I'm not sure which layer should be set to DSP. Are there any other way to test? Thank you, Gary + +Hi Gary, Run only last layer (Detection output layer) in DSP and rest all the layers on EVE. Thanks, Praveen + +Hi Praveen, >> Run only last layer (Detection output layer) in DSP and rest all the layers on EVE. This is the setting I used for all above results. My layersGroupId setting: layersGroupId = 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 0 Thank you, Gary + +Hi Gary, Can you try with this below setting for layersGroupId ? layersGroupId = 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 0 Thanks, Praveen + +Hi Praveen, After changing the layersGroupId , the screen becomes black. Nothing shows up. Thank you, Gary + +Hi Gary, Is this with 521x512 size? Does the default size 768x320 worked for you on TDA2x? Thanks, Praveen + +Hi Praveen, >> Is this with 521x512 size? Yes. >>Does the default size 768x320 worked for you on TDA2x? Yes. Thank you, Gary + +What modifications you did in the use case for 512x512 size? Thanks, Praveen + +Hi Praveen, All modified files are copy from raw TI caffe-jacinto model ( ../ssd512x512_ds_PSP_dsFac_32_fc_0_hdDS8_1_kerMbox_3_1stHdSameOpCh_1/sparse/ ) I list modified parts in below. deploy.proto 1. Changing keep_top_k and confidence_threshold to 20 and 0.15 in DetectionOutput layer, respectively. caffemodel Nothing changes here, I used raw TI sparse 512x512 model located in above path. TIDL_SSD_CFG.txt (in SD card) 1. Changing input height/width from 768x320 to 512x512 2. Changing net/param file names to fit the bin file names generated from import tool. 3. Setting fps and threshold to [10, 0.15], respectively. chains_tidlOD.c 1. Changing GRAPHICS_HEIGHT value from (1080-64) to (1080 - 10). 2. Changing pUcObj->DisplayPrm.rtParams.posY value from 64 to 10. Note: The recompiled MLO and AppImage work fine with resolution 768x320. import setting file 8838.tidl_import_jdetnet_512x512.txt # Default - 0 +randParams = 0 + +# 0: Caffe, 1: TensorFlow, Default - 0 +modelType = 0 + +# 0: Fixed quantization By tarininng Framework, 1: Dyanamic quantization by TIDL, Default - 1 +quantizationStyle = 1 + +# quantRoundAdd/100 will be added while rounding to integer, Default - 50 +quantRoundAdd = 25 + +numParamBits = 8 +# 0 : 8bit Unsigned, 1 : 8bit Signed Default - 1 +inElementType = 0 + +inputNetFile = "D:\Download\19Oct14-18\import_tool_test_clean\deploy_512x512_sparse.prototxt +inputParamsFile = "D:\Download\19Oct14-18\import_tool_test_clean\voc0712_ssdJacintoNetV2_iter_104000_sparse_512x512.caffemodel +outputNetFile = "D:\Download\19Oct14-18\import_tool_test_clean\tidl_net_ssdJacintoNetV2_sparse_512x512.bin" +outputParamsFile = "D:\Download\19Oct14-18\import_tool_test_clean\tidl_param_ssdJacintoNetV2_sparse_512x512.bin" + +rawSampleInData = 1 +preProcType = 4 +sampleInData = "D:\Download\19Oct14-18\import_tool_test_clean\512x512.y" +tidlStatsTool = "..\quantStatsTool\eve_test_dl_algo.out.exe" +layersGroupId = 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 0 +conv2dKernelType = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 + + + + 1. Changing input & output path. Here I attach related files I used. import_tool_test_512x512.rar Thank you Gary + +Hi Gary, Thanks for sharing the files, I will get it checked by VSDK experts and come back. Please expect delays in the response as many people are on leave this week because of local holidays here. Regards, Praveen + +Hi Gary, Can you press p after running the usecase for 1 min. Please share entire log of this experiment. Regards, Anuj + +Hi, Its been long since any update on this thread. I hope the issue is resolved. If not then please reply below or create a new thread for different type of query. Regards, Anuj + diff --git a/sample_embedding_folder2/0849905.txt b/sample_embedding_folder2/0849905.txt new file mode 100644 index 0000000000000000000000000000000000000000..2c5b32fb39c1411f523b0ac1ba0f22b1d5fd9435 --- /dev/null +++ b/sample_embedding_folder2/0849905.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2-17: Internal Temperature sensor Accuracy + +Query Text: +Part Number: TDA2-17 Hello Is the internal temperature sensor accuracy guaranteed to +/- 2 deg C over the entire temp range (-40degC to 125degC) ? The DM(TDA2x_AAS_SR2.0_DM_vB) does not state explicitly this. Thanks ! Regards, Cristian. + +Responses: +Christian, Yes our testing shows a +/- 2 degC accuracy over the full temperature range. Regards, Kyle + diff --git a/sample_embedding_folder2/0851004.txt b/sample_embedding_folder2/0851004.txt new file mode 100644 index 0000000000000000000000000000000000000000..8888118dadc8746bb3cfa4ef658f4aafd5946674 --- /dev/null +++ b/sample_embedding_folder2/0851004.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2EXEVM: How to add GrpxSrcLink_drawCpuLoad() in the usecase + +Query Text: +Part Number: TDA2EXEVM Hi sir, As your suggestion in previous thread ( e2e.ti.com/.../849828 ) to show CPU loadings by using GrpxSrcLink_drawCpuLoad(). However, there are no usecase using this function. So I have no idea how to use it. Can you provide me in more detail? I tried to add GrpxSrcLink_drawCpuLoad() into OD usecase. However, an error was occurred when compiling. It said chains_tidlODAppObj is incompatible with GrpxSrcLink_Obj. And I observed that the usecase "1CH VIP capture + Display" can show cpu load without using GrpxSrcLink_drawCpuLoad(). Can you advise me where should I add the function? Thank you, Gary + +Responses: +Hi, You need to update PROCESSOR_SDK_VISION_03_07_00_00\vision_sdk\apps\src\rtos\modules\grpxSrc\grpxSrcLink_tidl_od_layout.c. You can grep GrpxSrcLink_drawCpuLoad in the folder PROCESSOR_SDK_VISION_03_07_00_00\vision_sdk\apps\src\rtos\modules\grpxSrc to see how to call this API. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0851009.txt b/sample_embedding_folder2/0851009.txt new file mode 100644 index 0000000000000000000000000000000000000000..f35954292e11dcb9070063ae6b61688c6de1024c --- /dev/null +++ b/sample_embedding_folder2/0851009.txt @@ -0,0 +1,20 @@ +Ticket Name: TDA2EXEVM: How to get a single frame from camera? + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2 Hi sir, I would like to get a single frame frame camera. How can I do this in a usecase? Thank you, Gary + +Responses: +Gary, I did not get you, you want to capture single frame from camera? You could start the capture module, once first frame is captured, you could stop the capture device/camera. Rgds, Brijesh + +Gary, You can run app_single_cam demo. Once the preview is running press 's' to save RAW and YUV images to the SD card. Regards, Mayank + +Hi Mayank, I couldn't find app_single_cam in TDA2 usecase. Can you advise where to find it? Thank you, Gary + +Hi Brijesh, My goal is to get a frame into a buffer and doing further processes. eg. I have added a camera capture link in tidlOD usecase. Now, I would like to create a new buffer and put a camera frame into it. Can I do this? If yes, how should I do? Thank you, Gary + +Hi Gary, Which capture link you are using? There are two capture links, VIP Capture link and ISS capture link. I think VIP capture link does not support dumping a frame into a specific buffer. But ISS capture link supports this feature. You would require to port this feature from ISS capture link to VIP capture link.. Rgds, Brijesh + +Hi Brijesh, I'm using the VIP way to capture image. Is it possible to do this: I'll set a flag. When the flag is false, the camera will drop all the frames. When the flag is true, a function will get frames until flag is set to false. If above case is possible, how can I do this via VIP capture link. Thank you, Gary + +Hi Gary, Unfortunately no. there is no feature like flag based capture in the VIP link. You would have to add it. Another way is, you could register an application callback, start the capture and after you get this capture, dump the frame and stop the capture. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0851113.txt b/sample_embedding_folder2/0851113.txt new file mode 100644 index 0000000000000000000000000000000000000000..63f9b37b86ba6ea6f1fdd3f6aa293120e976d5d4 --- /dev/null +++ b/sample_embedding_folder2/0851113.txt @@ -0,0 +1,34 @@ +Ticket Name: CCS/TDA3LA: Buffer management problem with SDIO interface + +Query Text: +Part Number: TDA3LA Other Parts Discussed in Thread: TDA2 Tool/software: Code Composer Studio Hi I have a problem with SDIO exchanging data. When I read data from SD card it goes normally. Before reading transaction I'm waiting for BRR flag of MMC_STAT and when it sets to 1 I make a reading, But when I try to write some data into block of SD card it has a problem. When I'm waiting for BWR it doesn't set to 1. It's equal to 0 always. What's wrong? + +Responses: +In addition to question. Needed bits in PSTATE register WTA (write transfer active) and BWE (buffer write enable) are in High state. They indicate that the buffer is ready to transfer + +Hi Ivan, If I understood correctly, you are testing an SD memory card? If this is the case, please note that in TDA3x, the MMC module's capability was limited to SDIO cards/interfaces only. SD/MMC memory cards are not supported. Regards, Stan + +Hi, Stan Are you sure? Because now I see in datasheet, that TDA3x supports MMC/SD/SDIO + +Ivan, I'm pretty sure. MMC module in TDA3 was restricted to SDIO from the very beginning. Actually, this is the MMC4 module known as a SDIO interface in earlier SoCs like TDA2 and DRA75x. MMC1 which is for eMMC and MMC2 dedicated to MMC/SD cards are not supported entirely. You are right - datasheet is showing SD and MMC cards Will check this internally with team. Most probably this is an document error. Actually SDIO cards use the same protocol (correct me if I'm wrong) as SD cards, therefore it could be possible SD card to work. One of the problems to solve will be handling of Write Protect and Card Detect pins which are missing on TDA3 (for example via GPIO). Currently, in your case, the SW driver may 'think' that SD card is write protected. However, please be aware TI will not be able to assist you further since SD card on TDA3 wasn't tested and validated. Regards, Stan + +Stan, Okay) But... A few days ago I managed it. I made simple block write operations (not Write Protect). So how do you expalin it? According to those facts it's so strange. Well, I'll try to do Write Protect operations + +Ivan, It was only my supposition. It was because you were waiting for write operation to complete and this never happened (your initial post) . I can't really say what could be the exact issue. + +Hi, Stan I'll try to describe how I wrote a data to SD card occasionally (before I asked about this problem on this thread) Procedure of writing consist of some steps (generally): (1) preparing BWR bits in MMC_IE register -> (2) sending command with CMD line -> (3) waiting for BWE in MMC_STAT register -> (4) sending data. So, this function hasn't worked, but... When I've set a breakpoint between steps (1) and (2) it has worked. After this actions I repeated this function without breakpoint and it still worked. When I restarted the TDA3 device then, I needed to repeat the operation with breakpoint. Then I decided to make reading function. I tested it and then my writing function started to work incorrectly (and it's not working now) How can the breakpoint actions affect the writing function? + +I've just tried to do a write protect operations So, as I see in SD Spec Part1, both SDHC and SDXC cards don't support Write Protect operations. In accroding to these words I've just checked Write Prot. operations and SD card doesn't respond to these commands + +> How can the breakpoint actions affect the writing function? This is often because a hardware (SDIO controller) is needing some time to complete a certain function but software proceeds to next function too early (e.g. SW is not polling for a register bit to toggle). If you insert a breakpoint in your code, then the software is paused, leaving to hardware a very long timeframe to complete its task before you decide to click to continue execution. + +Stan, I still don't understand something. You said: SD/MMC memory cards are not supported. But sometimes writing operations ended successfully after breakponits, but SW polled all needed flags in status register Where is the mistake... In addition to this - write protect operations aren't supported by SDHC and SDXC cards Well, I've searched some examples in PDK driver and CSL, so... mostly my SW consist of functions from those libraries and patterns. + +Hi, Stan I work with evaluation board (I've forgot to notice that, maybe it's famous) But I've found the mistake! As you see on the picture I need to poll BWR bit in MMC_STAT register to write data into the buffer. But this bit is always zero after preparing BWR bit in MMC_IE register and sending CMD. In according to reference manual, after I sent CMD, both WTA bit and BWE bit became 1 in MMC_PSTATE But BWR bit in MMC_STAT is still 0. When I learnt the examples from PDK driver I saw that SW polls the BWR bit MMC_STAT too. So, I decided to poll BWE bit in MMC_PSTATE (instead of BWR bit in MMC_STAT) and it started to work. It really works! Is there a mistake in reference manual or/and in PDK? + +Hi Ivan, Glad to hear you made writes working! The reason you are seeing BWR always 0 could be bacause the controller is being configured to DMA mode. See the following note in the TRM: Buffer write ready Note: If the DMA transmit mode is enabled, this bit is never set; instead, a DMA transmit request to the main DMA controller of the system is generated. Typically, such peripherals are being used in DMA mode, therefore it could be, the MMC driver has configured the SDIO module to DMA, during init. Regards, Stan + +Stan, I've just checked the configuration of SDIO controller. So, SDIO controller isn't in DMA mode. Maybe I could miss something, but I didn't configure DMA mode in SDIO controller, and all the bits in SDIO controller registers which related to DMA mode are zeros. Have you ever had any issues like this? I ask you because I haven't found it before. + +Hi Ivan, It is quite possible this is a documentation error in the flow diagram. Perhaps because polling method is rarely used, no one had noticed. I will work with TRM team to see how to fix this. thanks, Stan + diff --git a/sample_embedding_folder2/0851529.txt b/sample_embedding_folder2/0851529.txt new file mode 100644 index 0000000000000000000000000000000000000000..f1a31d060f8c59fcdeebbd5cf3ec9fec44c56c41 --- /dev/null +++ b/sample_embedding_folder2/0851529.txt @@ -0,0 +1,112 @@ +Ticket Name: DRA71XEVM: UART2 configuration + +Query Text: +Part Number: DRA71XEVM UART2 fifo can't receive data but can send data, the register configuration are as follows: 0x4806C000 (0xb6f5a000): 0x000000FD 0x4806C004 (0xb6f05004): 0x00000005 0x4806C008 (0xb6f0f008): 0x000000C1 0x4806C00C (0xb6f2600c): 0x0000001B 0x4806C010 (0xb6f25010): 0x00000000 0x4806C014 (0xb6fd3014): 0x00000060 0x4806C018 (0xb6f80018): 0x00000022 0x4806C01C (0xb6f9601c): 0x00000000 0x4806C020 (0xb6f9a020): 0x00000000 0x4806C024 (0xb6f7e024): 0x00000000 0x4806C028 (0xb6fbf028): 0x00000000 0x4806C02C (0xb6f2802c): 0x00000000 0x4806C030 (0xb6fd7030): 0x00000043 0x4806C034 (0xb6fc6034): 0x0000000E 0x4806C038 (0xb6feb038): 0x00000040 0x4806C03C (0xb6fc203c): 0x00000000 0x4806C040 (0xb6fec040): 0x000000C1 0x4806C044 (0xb6fad044): 0x00000004 0x4806C04C (0xb6fd204c): 0x00000000 0x4806C048 (0xb6fc8048): 0x00000000 0x4806C050 (0xb6efd050): 0x50412E03 0x4806C054 (0xb6f26054): 0x00000000 0x4806C058 (0xb6fce058): 0x00000001 0x4806C05C (0xb6f6405c): 0x000000FF 0x4806C060 (0xb6feb060): 0x00000069 0x4806C064 (0xb6ff0064): 0x00000000 0x4806C068 (0xb6fb0068): 0x00000000 0x4806C06C (0xb6fea06c): 0x00000000 0x4806C070 (0xb6f9c070): 0x00000003 0x4806C074 (0xb6fbc074): 0x0000001A 0x4806C078 (0xb6f2d078): 0x00000000 0x4806C07C (0xb6f9d07c): 0x00000000 0x4806C080 (0xb6f50080): 0x00000000 0x4806C084 (0xb6f01084): 0x00000000 hope for your suggestions. thanks. + +Responses: +Hello, Can you provide details on what SDK and version you're using, as well as a full boot log? Thanks, David + +Hello, We use vsdk3.6 on tda2ex-17x17, and config uart2 for M4, IPU2, with the boot log in the file. Tx fifo of uart2 can put the data out, but the Rx can't get data and the fifo is always empty. thanks6082.bootlog.txt + +Hello, To start with, can you fix the memory overlap issue between ipu1_cma and cmem? If that isn't the cause, do you know if any changes were made to the UART pinmuxing? Also, just making sure, you are sure there is something being put on the RX line for IPU2 to retrieve right? Are you able to test it in loopback mode? Thanks, David + +Hello, I'm sorry to have expressed inaccurately. Specifically, VP receive data from IP, and then send data from VP to IP. We are sure that IP have sent data out (through Oscilloscope) and the RX fifo of VP(IPU2) hasn't recive data (through adding 'printf'). Then we set data to TX fifo manually and IP can receive data under this condition. As for UART2 pinmux, we set 0x44(the UART2 crossbar) to IPU2_IRQ_60, and set 0x000e0000 to PAD_UART2_RXD and PAD_UART2_TXD. There is another question that how we confirm the RX and TX have been enabled through the register. Thanks + +Hi, David: Here is the register dump of UART2 and UART3. UART2 is from the current platform: TDA2E-17, and RX doesn't work. UART3 is from previous project, TDA2S, which both RX/TX work. uart2_rxerr_cmp.txt 0x4806C000 (0xb6f5a000): 0x000000FD +0x4806C004 (0xb6f05004): 0x00000005 +0x4806C008 (0xb6f0f008): 0x000000C1 +0x4806C00C (0xb6f2600c): 0x0000001B + + +0x4806C010 (0xb6f25010): 0x00000000 +0x4806C014 (0xb6fd3014): 0x00000060 +0x4806C018 (0xb6f80018): 0x00000020 +0x4806C01C (0xb6f9601c): 0x00000000 + + +0x4806C020 (0xb6f9a020): 0x00000000 +0x4806C024 (0xb6f7e024): 0x00000000 +0x4806C028 (0xb6fbf028): 0x00000000 +0x4806C02C (0xb6f2802c): 0x00000000 + + +0x4806C030 (0xb6fd7030): 0x00000043 +0x4806C034 (0xb6fc6034): 0x0000000E +0x4806C038 (0xb6feb038): 0x00000040 +0x4806C03C (0xb6fc203c): 0x00000000 + + +0x4806C040 (0xb6fec040): 0x000000C1 +0x4806C044 (0xb6fad044): 0x00000004 +0x4806C04C (0xb6fd204c): 0x00000000 +0x4806C048 (0xb6fc8048): 0x00000000 + + +0x4806C050 (0xb6efd050): 0x50412E03 +0x4806C054 (0xb6f26054): 0x00000000 +0x4806C058 (0xb6fce058): 0x00000001 +0x4806C05C (0xb6f6405c): 0x000000FF + + + + +0x4806C060 (0xb6feb060): 0x00000069 +0x4806C064 (0xb6ff0064): 0x00000000 +0x4806C068 (0xb6fb0068): 0x00000000 +0x4806C06C (0xb6fea06c): 0x00000000 + +0x4806C070 (0xb6f9c070): 0x00000003 +0x4806C074 (0xb6fbc074): 0x0000001A +0x4806C078 (0xb6f2d078): 0x00000000 +0x4806C07C (0xb6f9d07c): 0x00000000 + +0x4806C080 (0xb6f50080): 0x00000000 +0x4806C084 (0xb6f01084): 0x00000000 uart3_good_cmp.txt 0x48020000 (0xb6f0d000): 0x00000080 ([0:7] keep changing) +0x48020004 (0xb6fd5004): 0x00000005 +0x48020008 (0xb6fd9008): 0x000000C1 +0x4802000C (0xb6f8100c): 0x0000001B + +0x48020010 (0xb6f50010): 0x00000000 +0x48020014 (0xb6efe014): 0x00000060 +0x48020018 (0xb6fb9018): 0x00000022 +0x4802001C (0xb6ff001c): 0x00000000 + +0x48020020 (0xb6fcd020): 0x00000000 +0x48020024 (0xb6f02024): 0x00000000 +0x48020028 (0xb6fcd028): 0x00000000 +0x4802002C (0xb6fda02c): 0x00000000 + +0x48020030 (0xb6f16030): 0x00000008 +0x48020034 (0xb6f28034): 0x00000000 +0x48020038 (0xb6fbb038): 0x00000040 +0x4802003C (0xb6fbd03c): 0x00000000 + +0x48020040 (0xb6ff5040): 0x000000C1 +0x48020044 (0xb6fc4044): 0x00000004 +0x48020048 (0xb6f0c048): 0x00000000 +0x4802004C (0xb6f6704c): 0x00000000 + +0x48020050 (0xb6f3f050): 0x50412E03 +0x48020054 (0xb6fac054): 0x00000000 +0x48020058 (0xb6f4d058): 0x00000001 +0x4802005C (0xb6f6a05c): 0x000000FF + +0x48020060 (0xb6f62060): 0x00000069 +0x48020064 (0xb6f34064): 0x00000000 +0x48020068 (0xb6f37068): 0x00000000 +0x4802006C (0xb6f6a06c): 0x00000000 + +0x48020070 (0xb6f01070): 0x00000003 +0x48020074 (0xb6f10074): 0x0000001A +0x48020078 (0xb6f14078): 0x00000000 +0x4802007C (0xb6ff007c): 0x00000000 + +0x48020080 (0xb6f98080): 0x00000000 +0x48020084 (0xb6f0d084): 0x00000000 + +Hi Peter, Can you resolve the memory overlap issue between ipu1_cma and cmem and try to see if that helps, as well as test UART2 in loopback mode? In the meantime I'll look through the registers you've provided. Thanks, David + +Hi, David: Problem solved. Here is the summary: CTRL_CORE_PAD_UART2_RXD : according to errata i849: UART2_RXD Is Not Working for MUXMODE=0 (http://www.ti.com/lit/er/sprz397i/sprz397i.pdf) , the MUXMODE should be set 4 Baud-rate should match between the two terminals (TDA2E-17 UART2 and MCU UART) Many thanks for your support! + +Hi Peter, Glad you found that, I had just found that myself. Can I ask user6143399 to mark your answer as resolved? Thanks, David + diff --git a/sample_embedding_folder2/0851562.txt b/sample_embedding_folder2/0851562.txt new file mode 100644 index 0000000000000000000000000000000000000000..b96787650c0989aad3a1a92e738adbb081ef1e7c --- /dev/null +++ b/sample_embedding_folder2/0851562.txt @@ -0,0 +1,24 @@ +Ticket Name: TDA2E: 24.10 Gigabit Ethernet Switch (GMAC_SW) in Literature Number: SPRUI29F November 2015–Revised October 2018 + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2 HI, We use Cortex®-A15 microprocessor unit (MPU) subsystem on TDA2x ,and we want to driver GMAC_SW on A15 (MPU) subsystem. We have PROCESSOR_SDK_VISION_03_06_00_00 soft package,and the guide document of package is attached. My question is: 1. Where is GMAC( on TDA2x) driver code in PROCESSOR_SDK_VISION_03_06_00_00 soft package? 2. How to build the GMAC driver code into .out file? Thanks Dengfei Li VisionSDK_Getting_Started_Guide.pdf + +Responses: +Hi, can you check in "PROCESSOR_SDK_VISION_03_06_00_00\ti_components\networking\nsp_gmacsw_4_16_00_00" Regards, Yordan + +HI , PROCESSOR_SDK_VISION_03_06_00_00\ti_components\networking\nsp_gmacsw_4_16_00_00" DO NOT be built into kernel in PROCESSOR_SDK_VISION_03_06_00_00 package can you solve the second question below ? 2. How to build the GMAC driver code into .out file? Thanks Dengfei Li + +There are 2 options for GMAC driver support on TDA2 running Vision SDK. - Option 1: TI RTOS GMAC driver on M4. This is provided by nsp_gmacsw_4_16_00_00 and it is pre-built. VSDK will link the libraries from NSP package. It is included by defining NDK_PROC_TO_USE=ipu1_1 under ~\vision_sdk\apps\configs\tda2xx_evm_bios_all\cfg.mk. - Option 2: Linux Ethernet driver on A15. If you build the Linux Vision SDK and run Linux on A15, the ethernet driver is provided in Linux kernel by default. Regards, Stanley + +HI Stanley, Thanks for your answers firstly. There are 2 questions to need you help below: 1. We use A15 on TDA2x,and I see "NDK_PROC_TO_USE=a15_0" in ~\vision_sdk\apps\configs\tda2xx_evm_bios_all\cfg.mk. Now I want to know: what's the directory of the ethernet driver( GMAC_SW on TDA2x soc) provided in Linux kernel by default? 2. We use realtek PHY IC(RTL9000A) to connect GMAC_SW(on TDA2x),what's the directory of PHY driver for realtek in linux kernel ? if I know dir of PHY driver in liunux kernel,I can use it as base and change it according to new RTL9000A driver code. Thanks a lot Dengfei Li + +1. This is still using TI RTOS driver under nsp. To build for Linux, please refer to ~/vision_sdk/docs/Linux/VisionSDK_Linux_UserGuide.pdf. 2. Once you follow the Linux User Guide, the Linux 4.4 kernel will be installed. Please refer to Linux kernel documentation for ethernet driver. + +HI Stanley, Sorry for your misunderstanding my meaning. I want to know exactly "detailed directory" in in Linux kernel for Option2 below: - Option 2: Linux Ethernet driver on A15. If you build the Linux Vision SDK and run Linux on A15, the ethernet driver is provided in Linux kernel by default. Thanks Dengfei + +Linux kernel documentation will provide that information. + +HI , I do not find the detail directory of GMAC( on TDA2x) driver code for A15 (MPU) subsystem in linux kernel documents Could other engineer tell the directory below? What's the detailed directory of GMAC( on TDA2x) driver code for A15 (MPU) subsystem in PROCESSOR_SDK_VISION_03_06_00_00 soft package? Thanks a lot Dengfei Li + +Please follow the Linux user guide first to clone Linux kernel from public repo. Vision SDK doesn't come with Linux kernel since it is open source. All Linux drivers are under ~/ti_components/os_tools/linux/kernel/omap/drivers/. Please note we don't provide training on Linux since it is open source. + diff --git a/sample_embedding_folder2/0851869.txt b/sample_embedding_folder2/0851869.txt new file mode 100644 index 0000000000000000000000000000000000000000..251e0e8b1eb096cd19a3118aa87f3d880c68a9e9 --- /dev/null +++ b/sample_embedding_folder2/0851869.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2HV: How to build Ti-DL with PSDK on Linux ? + +Query Text: +Part Number: TDA2HV Other Parts Discussed in Thread: TDA2 Hi, I found Ti-DL source code in Ti-DL . and I am using PROCESSOR_SDK_LINUX for TDA2. I unzipped the PSDK package and its has following arch: cd PROCESSOR_SDK_VISION_03_07_00_00/ ls Index.html Processor_SDK_Vision_manifest.html ti_components uninstall uninstall.dat vision_sdk VisionSDK_Getting_Started_Guide.pdf When I want to build Ti-DL code on my Linux, it tell me (in tidl-api/0makefile) : # makefile for building from the tidl-api git repo # Cross-compilation requires TARGET_ROOTDIR to be set. # E.g. # PSDK_LINUX= # TARGET_ROOTDIR=$PSDK_LINUX/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi My questions are : 1. what is PSDK , isn't my PROCESSOR_SDK_VISION_03_07_00_00 folder? 2. how to get one "PSDK" 3. if Ti-DL is in PSDK source code , how can I build it ? + +Responses: +Hi @he zhan, TIDL is included as part of VisionSDK, please check the document "PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/docs/FeatureSpecificUserGuides/VisionSDK_UserGuide_TI_DeepLearning.pdf". The library itself is located in folder "PROCESSOR_SDK_VISION_03_07_00_00/ti_components/algorithms/REL.TIDL.01.01.03.00". You may need first to look at "PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/docs/UserGuides/VisionSDK_UserGuide_TDA2xx.pdf" first to get familiar how to set up and build the SDK. Regards, Yordan + diff --git a/sample_embedding_folder2/0851913.txt b/sample_embedding_folder2/0851913.txt new file mode 100644 index 0000000000000000000000000000000000000000..9b76afc8632b3ef1f4ac473e9e27a83372b0b3ce --- /dev/null +++ b/sample_embedding_folder2/0851913.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2SX: TDA2 EVE computing power issue + +Query Text: +Part Number: TDA2SX in this problem 's response in e2e.ti.com/.../615108 "Let me first define the terminology (at least used by me in my response) FLOPS: Single precision Floating point operations MAC: Multiply + Accumulate operation. 1 MAC is equivalent to 2 operations DLOPS: In Deep learning, as you said half float or even 8-bit fixed point data type is sufficient. So in the above slide DLOPS refers to 8-bit arithmetic or conditional operation (Multiply/Add/Compare). So you can assume 1 MAC = 2 DLOPS" But, I think that (MAC: Multiply + Accumulate operation) means 2 floating operations, DLOPS: if using 8-bit fixed point data type, 1 MAC = 2 DLOPS floating operations=2 DLOPS *4 8-bit fixed point data type operations so 4EVE @900 MHz = 4*16*900 GMACS = 57.6 GMACS should be = 57.6*8=460.8Glops is that right? + +Responses: +Hi, 57.6 GMACS is already accounting for 4 EVE's, why did you again multiplied by 4 in the below calculation : DLOPS floating operations=2 DLOPS *4 Regards, Anshu + +Hi, Is this query still open? Regards, Anshu + diff --git a/sample_embedding_folder2/0852234.txt b/sample_embedding_folder2/0852234.txt new file mode 100644 index 0000000000000000000000000000000000000000..ee47c93b24e06af6c37345b7f45adeed227c1253 --- /dev/null +++ b/sample_embedding_folder2/0852234.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2SX: TDA2s boot + +Query Text: +Part Number: TDA2SX HI。 I set board  boot from emmc. but when I  want to dvr in the sd card, then  i plug the sd card ,the board can not boot from emmc,because it think the sd card is boot deviece.how can  i slove it.(sd card is empty,so that has no boot file in the sd card). my boot mode is : support boot from sd ,emmc . + +Responses: +Hi, can you share which SYSBOOT settings you use for emmc boot? Regards, Yordan + +hi ,i Set sysboot [5:0] 000010 + +Hi, can you try to set sysboot [5:0] to 000111. Your value sets the boot order to USB -> SD card -> eMMC, you can look at "Table 29-9. Booting Devices Order" in device's TRM: Regards, Yordan + diff --git a/sample_embedding_folder2/0853822.txt b/sample_embedding_folder2/0853822.txt new file mode 100644 index 0000000000000000000000000000000000000000..e17bc7d06b8e8a2f823aeaececedead279e3136c --- /dev/null +++ b/sample_embedding_folder2/0853822.txt @@ -0,0 +1,18 @@ +Ticket Name: CCS/TDA2EX17EVM: TDA2, Boot from SD card, and flash the image onto EMMC? + +Query Text: +Part Number: TDA2EX17EVM Tool/software: Code Composer Studio Hi Champs: I wonder if the TDA2 can Boot from SD card, and flash the image onto EMMC? If yes, where is the document to explain the detail about this? BR Rio + +Responses: +Hi Rio, Please refer here : . This is for other Boards, but steps should be similar and you can take reference from it + +Hi R. The link is for Linux. Do you have the RTOS version? BR Rio + +Hi Rio, Please refer to these links and see if it is helpful. Particularly this point : "You can refer to mmc app present here: PROCESSOR_SDK_VISION_03_03_00_00\ti_components\drivers\pdk_01_09_00_17\packages\ti\csl\example\mmcsd\mmc_raw_access\. We don't have a lot of SW support for eMMC on RTOS side. I would recommend you to use QSPI or NOR flash for storing data instead of eMMC." e2e.ti.com/.../495282 + +Hi R. So, you mean to boot from the QSPI / NOR flash directly? And dont need to use the EMMC boot? Is my understanding correct? BR Rio + +Hi Rio, Yes you can boot from QSPI flash or NOR and there is no need for eMMC boot. Regards, Rishabh + +Hi, I haven't heard back from you, I'm assuming you were able to resolve your issue. If not, just post a reply below (or create a new thread if the thread has locked due to time-out). Regards, Rishabh + diff --git a/sample_embedding_folder2/0854137.txt b/sample_embedding_folder2/0854137.txt new file mode 100644 index 0000000000000000000000000000000000000000..342deb1bd2b424f97745a03b8d14678683604940 --- /dev/null +++ b/sample_embedding_folder2/0854137.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2-17: TDA2 Linux Link from TI.com is not working + +Query Text: +Part Number: TDA2-17 http://software-dl.ti.com/processor-sdk-vision/esd/TDAx/vision-sdk/latest/index_FDS.html Hi. I try to download the rootfs / Linux Bin, those 2 links are broken. Can someone fix it? Otherwise, we cannot support the customer. THanks. BR Rio + +Responses: +Hi Rio, I have asked moderators to look at this issue. I have shared an internal link via mail from which you can download rootfs and linux bin. Regards, Rishabh + +Thank you very much, Rishabh. + diff --git a/sample_embedding_folder2/0854252.txt b/sample_embedding_folder2/0854252.txt new file mode 100644 index 0000000000000000000000000000000000000000..4c343f3b67ff34914bcb33513dbe7c7e5707e0d6 --- /dev/null +++ b/sample_embedding_folder2/0854252.txt @@ -0,0 +1,55 @@ +Ticket Name: AM5728: I can't train ssd768x320 for objection detection on the Caffe-jacinto-models-0.17? + +Query Text: +Part Number: AM5728 I train ssd model by ./train_image_object_detection.sh in the Caffe-jacinto-models-0.17.I choose dataset=ti-custom-cfg1 to train my own dataset,it cannot work.Here is the log: I1106 16:38:10.926060 13633 net.cpp:412] Parameters memory (TEST) required for data: 11946688 diff: 11946688 I1106 16:38:10.926062 13633 net.cpp:415] Parameters shared memory (TEST) by data: 0 diff: 0 I1106 16:38:10.926064 13633 net.cpp:421] Network initialization done. F1106 16:38:10.926213 13633 io.cpp:55] Check failed: fd != -1 (-1 vs. -1) File not found: training/ti-custom-cfg1/JDetNet/20191106_16-37_ds_PSP_dsFac_32_hdDS8_1/sparse/ti-custom-cfg1_ssdJacintoNetV2_iter_120000.caffemodel *** Check failure stack trace: *** @ 0x7f69c02ae5cd google::LogMessage::Fail() @ 0x7f69c02b0433 google::LogMessage::SendToLog() @ 0x7f69c02ae15b google::LogMessage::Flush() @ 0x7f69c02b0e1e google::LogMessageFatal::~LogMessageFatal() @ 0x7f69c12bc6dc caffe::ReadProtoFromBinaryFile() @ 0x7f69c1334f56 caffe::ReadNetParamsFromBinaryFileOrDie() @ 0x7f69c0e6b88a caffe::Net::CopyTrainedLayersFromBinaryProto() @ 0x7f69c0e6b92e caffe::Net::CopyTrainedLayersFrom() @ 0x41204c test_detection() @ 0x40d1f0 main @ 0x7f69bea30830 __libc_start_main @ 0x40de89 _start @ (nil) (unknown) But when i replaced dataset=ti-custom-cfg2 ,it's ok. So why? + +Responses: +Hi Wang, One big difference between them is Cfg2 is for 512x256 where as cfg1 was for 768x320. So the issue could be because of memory requirement, may try reducing batch size. Could you pls share the full training log if the above suggestion also does not work? Thanks, Praveen + +Hi Praveen, The detailed training log is blow: train-log_20191106_16-37.txt 512*512 512*256 are available on my PC.I tried to reduce batch size to minimum1.It still cannot. Does it have something to do with the GPU?I put gpu info below: +-----------------------------------------------------------------------------+ | NVIDIA-SMI 418.74 Driver Version: 418.74 CUDA Version: 10.1 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce GTX 166... Off | 00000000:01:00.0 On | N/A | | 63% 57C P2 94W / 120W | 2728MiB / 5906MiB | 71% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 1162 G /usr/lib/xorg/Xorg 253MiB | | 0 19230 C ...uan/caffe-jacinto/build/tools/caffe.bin 2463MiB | +-----------------------------------------------------------------------------+ Thank you, Wang + +Hi Wang, We looked at the log it is not memory issue, we will have to run it our end to see what is going wrong.The setup will take some time, we will check and come back next week. BTW, are you still facing this issue? or you got some work around or fix for this issue? Thanks, Praveen + +Hi Praveen, Yes,It still puzzles me. I changed 'ssd_size':'512x512' into '300x300.' But it didn't work. At first I thought it was something wrong with my computer configuration,but the other one faced the same problem. Could it be that CUDA version caused this ? Thanks, Wang + +Looks like, the following not multiple of 2 is causing issue. It is supposed to be handled by the code somehow it is failing at your end. We are looking into it. resize_height=320 crop_height=320 Will it be possible to change it to 512 and give it a try? + +I saw some parameters in the log different from if just the following flag was toggled to ti-custom-cfg1. dataset=voc0712 #voc0712,ti-custom-cfg1,ti-custom-cfg2 I am observing reg_head_at_ds8':0 in teh log but it was set to 1 in the original script. Just to reproduce problem at our end can you pls send your modified scripts\train_image_object_detection.sh Also can you pls confirm you have not changed any other files? + +Hi,Soyeb I tried,it doesn't work. + +Hi, Yes,I did some changes.Cause i using original script and it just faced the same question. Actually "ti-custom-cfg2" from original script works,but i can't using template "ti-custom-cfg1" anyway.Compared this two,there are only these differences: cfg1 cfg2 +use_difficult_gt=0 use_difficult_gt=1 +chop_num_heads=1 +min_dim=368 min_dim=256 +resize_width=768 resize_width=512 +resize_height=320 resize_height=256 +crop_width=768 crop_width=512 +crop_height=320 crop_height=256 +small_objs=1 small_objs=0 + ssd_size='512x512' +use_batchnorm_mbox=0 use_batchnorm_mbox=1 +power=4.0 power=1.0 Which parameter could casues break off or it‘s barely buffer overruns. Thanks, Wang + +You need to use same setting as either ti-custom-cfg2 or ti-custom-cfg1. But I see your log shows reg_head_at_ds8 to be set as 0. Whereas original script sets it as 1. We are not able to see the problem you are facing. If we can't recreate at our end then we will be unable to have any suggestion. So pls run ti-custom-cfg1 as it is with the same LMDB as VOC0712 (e.g. shown below) and share us back the log. train_data="../../caffe-jacinto/examples/VOC0712/VOC0712_trainval_lmdb" test_data="../../caffe-jacinto/examples/VOC0712/VOC0712_test_lmdb" name_size_file="../../caffe-jacinto/data/VOC0712/test_name_size.txt" label_map_file="../../caffe-jacinto/data/VOC0712/labelmap_voc.prototxt" num_test_image=4952 num_classes=21 + +Thakn you for your suggestions,i will try it. + +Can you pls try new version? We have made small fix. + +Ok,i just see your new release. I will give feedback after tring. + +Hi, I failed to run neither custom-cfg1 and custom-cfg2. Here is the log.train-log_20191219_17-41.txttrain-log_20191219_17-37.txt I did nothing but chang trainval and test data.But problem stil remains.Please help. Thank you so much! Regards, Wang + +Can you pls hold on for some more time? It is still not fixed. We will ping you once it is done. + +Ok,I'm waiting for you. + +Can you pls try now? Your log says, Check failed: error == cudaSuccess (101 vs. 0) invalid device ordinal Does gpus specified match with what you have in your m/c? + +Hi, I'm sorry for my careless. custom-cfg2 works now. But there is CUDA memory allocation problem with custom-cfg1. Maybe i should run it on The server.Could you optimize and reduce memory requirements? + +Which graphics card are you using? We have tested on GTX1080Ti. You may reduce batch size if GPU memory is not sufficient. + +Thank you so much!I reduce the bachsize and it runs normally. Could you tell me what went wrong with the last caffe-jacinto version? Bty,i see your release list,are you goning to release pytorch? Tanks again,this problem puzzles me for almost 3 months. + diff --git a/sample_embedding_folder2/0855028.txt b/sample_embedding_folder2/0855028.txt new file mode 100644 index 0000000000000000000000000000000000000000..35258f14169d7e6ccc768a855de1356570396b56 --- /dev/null +++ b/sample_embedding_folder2/0855028.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA4VMXEVM: 32.768KHz + +Query Text: +Other Parts Discussed in Thread: TDA2 In PROC079E2A SCH, component U152 and Y8 can be saved if we use PROC078E5 (Locationn Y8) as SOC 32.768KHz source? One is using RTC (Coin Batt) Power and The other is using SOC standby power, right? + +Responses: +Hi Alex, TDA4 doesn't include a RTC hardware on-chip like TDA2 did. If your design requires "real" RTC function, external RTC IC/crystal/battery must be used. The 32.768k crystal connected to the SoC is for an optional oscillator used in some low-power modes, for example, for precise clocking of timer modules. Regards, Stan + diff --git a/sample_embedding_folder2/0855439.txt b/sample_embedding_folder2/0855439.txt new file mode 100644 index 0000000000000000000000000000000000000000..7523bf4f4d9c46ee596ff8bb5fb9fde19f5c7973 --- /dev/null +++ b/sample_embedding_folder2/0855439.txt @@ -0,0 +1,8 @@ +Ticket Name: CCS/TDA2-17: About TDA2 Wiki + +Query Text: +Part Number: TDA2-17 Other Parts Discussed in Thread: TDA2 Tool/software: Code Composer Studio Hi. http://processors.wiki.ti.com/index.php/TDA2x Most of the link on the above TDA2 Wiki are going. For ex: There is a product preview paper on TDA2x; 595-ADAS Applications Processor TDA2x System-on-Chip Technical Brief – OCTOBER 2013 http://focus.ti.com/general/docs/video/Portal.tsp?entryid=0_00ag9mtw&lang=en&DCMP=pro-ap-tda2x-131016&HQS=pro-ap-tda2x-pr-v2 Can anyone to fix the TDA2 wiki? THanks. BR Rio + +Responses: +Hi Rio, There are multiple documents for TDA2 available here: http://www.ti.com/tool/TDA2EVM5777#technicaldocuments Are you looking for a particular document that you cannot find? Regards, Rishabh + diff --git a/sample_embedding_folder2/0855954.txt b/sample_embedding_folder2/0855954.txt new file mode 100644 index 0000000000000000000000000000000000000000..8c804eeb2d233694631e5bd061f199dd6cb223a0 --- /dev/null +++ b/sample_embedding_folder2/0855954.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2EXEVM: How to get a single frame from camera? + +Query Text: +Part Number: TDA2EXEVM Hi sir, As my previous thread ( ) I still not solve my problem, so I start a new post here. --- I'm using VIP way to capture image. Is it possible to do this: I'll set a flag. When the flag is false, the camera will drop all the frames. When the flag is true, a function will get frames until flag is set to false. If above case is possible, how can I do this via VIP capture link. Thank you, Gary + +Responses: +Gary, The VIP driver is a streaming model. As long as the application provide a frame for capture, the driver will capture it. If the application stops providing the buffer, the driver will drop the frames automatically. You should use this default behavior for achieving your usecase. Regards Sivaraj R + +Hi, We haven't heard back from you on this and we hope you were able to solve your issue. We are closing this thread. If you have any more follow-up, feel free to raise another thread. Regards Sivaraj R + diff --git a/sample_embedding_folder2/0856226.txt b/sample_embedding_folder2/0856226.txt new file mode 100644 index 0000000000000000000000000000000000000000..9e9c538058d2402848c28227e5682de1063c6645 --- /dev/null +++ b/sample_embedding_folder2/0856226.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2EVM5777: Where and how to get the demo input clips? + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Dear Sirs: We are using PROCESSOR SDK VISION 03_07_00_00. We build the TDA2 RTOS demo and run the code to test on the EVM. We want to test the case Single Camera Usecases 1CH VIP capture (HDMI) + FrontCam Analytics 2 (PD+TSR+VD+LD+TLR+SFM) (DSPx, EVEx) + Display (HDMI) After execute, we play the input vide in NB and output to the HDMI which is connect to EVM HDMI input, however the result is not good. We know that TI has demo clips of this case, I just want to know where and how we can get it? Regards, /ckhsu + +Responses: +Hi Hsu, The demo clips are here: https://cdds.ext.ti.com/ematrix/common/emxNavigator.jsp?objectId=28670.42872.30602.25095 Thanks and Regards Piyali + +Hi Piyali: Thank you very much. Regards, /ckhsu + diff --git a/sample_embedding_folder2/0857661.txt b/sample_embedding_folder2/0857661.txt new file mode 100644 index 0000000000000000000000000000000000000000..559a73dc1ff971a454525d5539b316fd00443e46 --- /dev/null +++ b/sample_embedding_folder2/0857661.txt @@ -0,0 +1,14 @@ +Ticket Name: [TDA4M] EMIF avatar tool + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi~ I want to find the best register through DDR4 stress test. At tda2 there was an avatar EMIF TOOL.( www.ti.com/.../SITARA-DDR-CONFIG-TOOL TOOL&tisearch=Search-EN-everything) There was a 0.3 version of the EMIF tool, so I tested ddr4 on uboot. Do you have avator EMIF TOOL in tda4? And ask if you can provide it later. thanks Regards, kyungtae + +Responses: +Kyungtae, The EMIF DDR tool is available on CDDS: https://cdds.ext.ti.com/ematrix/common/emxTree.jsp?objectId=28670.42872.34616.54449&fromContent=true Regards, Kyle + +Hi, Kyle. As I mentioned, the AM752x_DRA82x_TDA4x_DDRSS_RegConfigTool.xlsm file already knows.(version 0.3) this EMIF TOOL extracts the register for the DDR I want. Create register with dts file and gel file. But what I want is AVARTAR EMIF TOOL which does DDR trainning like TDA2. At TDA2 (AVARTAR_EMIF_TOOL) creates a project in CCS to extract the optimal register after DDR stress test. I mean this Avartar emif tool. Thanks, Regards, kyungtae + +Hi Kyungtae, The TDA2x Avatar_EMIF_Tool did contain a CCS project that swept DLL values to optimize settings and account for system level timing skews. Similarly, the TDA4M has hardware algorithms inside the PHY which perform a similar function to optimize DLL values based on skews introduced in the system, such as the PCB routing. By using the hardware algorithms, this simplifies the procedure to quickly bring up new boards, and also allows each system to have unique settings and compensate for any board-to-board skew differences. The XLS tool Kyle has referenced already has the hardware training support enabled during initialization. Thus, the parameters are being optimized each boot cycle on TDA4M. Additional details regarding which parameters are trained can be found in section 8.2.4.7.9 (Memory Controllers -> DDR Subsystem -> DDRSS Functional Description -> DDR PHY Functional Description -> Training Support) of the TRM. Since hardware algorithms are used on TDA4M, the use of software (such as the Avatar EMIF Tools) is not required or supported. Best regards, Kevin + +Hi, Kevin. Thank you for the detailed explanation. Thanks. Regards, kyungtae + diff --git a/sample_embedding_folder2/0858093.txt b/sample_embedding_folder2/0858093.txt new file mode 100644 index 0000000000000000000000000000000000000000..be537c16ab633134155064d943d45c06cb331e7d --- /dev/null +++ b/sample_embedding_folder2/0858093.txt @@ -0,0 +1,30 @@ +Ticket Name: J7 TDA4 EVM - eDP Display support + +Query Text: +Other Parts Discussed in Thread: TDA2 Hello all, We have received J7 SOM , Common Processor Board and Fusion Daughter board. We don't have the fan on the heat sink . Is it required to connect the FAN ? Is display is supported in common processor board ? I find two display ports in the Common Processor board. We have a eDP connector cable. In other end what to connect ? Can I connect HDMI ? Regards, Gokul + +Responses: +Hi Gokul, In case you have heat sink, you don't need fan. You can connect Display Port to a DP monitor. For HDMI you need infotainment daughter card. Regards, Rishabh + +Hi, You can also refer to psdk_rtos_auto_j7_06_01_00_15/psdk_rtos_auto/docs/user_guide/evm_setup_j721e.html Regards, Rishabh + +Thanks Rishabh. Regarding the power supply for evm , it is mentioned that "The power supply current requires more than 1A @12V input " Is it correct ? Please confirm. Regards, Gokul + +Hi Gokul, Did you receive a power adapter with the EVM? If yes then please use the same. Regards, Rishabh + +Hi Rishabh, We have not received the power adapter. Regards, Gokul + +Gokul, I am using the same power adapter as TDA2, same should work for you as well. Regards, Rishabh + +Hi Rishabh, We do not have TDA2 EVM board. Please let me know the power specification. Is the above values are correct ? Regards, Gokul + +Hi Gokul, It seems that you were working on TDA2Px by looking at the history of your forum posts. You can use the same power supply as the one used for TDA2Px. I have contacted Mistral for exact recommendation. Regards, Rishabh + +Hi Rishabh, I were working for J6-Customized board. Regards, Gokul + +Hi Gokul, You need to use the power adapter as recommended in the HW user guide. 12V/5A is the recommended supply. DigiKey Part# Manufacturer Manufacturer Part # SDI65-12-U-P6-ND CUI Inc. SDI65-12-U-P6 SDI65-12-UD-P6-ND CUI Inc. SDI65-12-UD-P6 - Pratap. + +Thanks Pratap for the confirmation. + +Hi, I am closing the thread as confirmed by Mistral. Regards, Rishabh + diff --git a/sample_embedding_folder2/0858178.txt b/sample_embedding_folder2/0858178.txt new file mode 100644 index 0000000000000000000000000000000000000000..f78e70212c3eaa8a16a05de30cf91cc809ddc44a --- /dev/null +++ b/sample_embedding_folder2/0858178.txt @@ -0,0 +1,44 @@ +Ticket Name: [TDA4EVM] How to debug TIDL model in TDA4 + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi, We have import a caffe model by tidl_j7_01_00_00_00. The DL model output result, which is processed by import tool, looks correct. When I integrate the model to TDA4 demo app: app_tidl_avp2, the PC build also output correct results. However, when I build j7 code and execute in TDA4EVM, it take couple minutes to process three images. This DL model has been verified in TDA2 and can process less than 100 ms. What I want to know is: "How can I debug this issue ?". Thanks, Charles + +Responses: +Hi Charles, Have you tried running it on TIDL standalone. Please see psdk_rtos_auto_j7_06_01_00_15/tidl_j7_01_00_00_00/ti_dl/docs/user_guide_html/md_tidl_fsg_steps_to_debug_mismatch.html Regards, Rishabh + +Hi, When I use standalone test, the process is stocked at 1st "Deconvolution Layer". I know the document said "Recommend to use Resize/Upsample to get better performance. Only 4x4 kernel with 2x2 stride is supported". But is the "Deconvolution Layer" verified? Chares + +Hi Charles, What are the parameters of Deconvolution layer present in your network? Regards, Rishabh + +Hi, The parameters: param { lr_mult: 0.0 decay_mult: 0.0 } convolution_param { num_output: 48 bias_term: false pad: 1 kernel_size: 4 group: 48 stride: 2 weight_filler { type: "bilinear" } } + +Hi Charles, This particular deconvolution layer should have worked, we have verified this for a few networks. We will try to reproduce this at our end and get back to you. Regards, Rishabh + +Hi, For your reference. After processing for a long time, it finished. However the two results between PC and TDA4 are not the same. Input: PC: TDA4_EVM: Charles + +Charles, There is an issue with deconvolution that can cause mismatches between PC and TDA4x. We are in the process of fixing it and will let you know once the release is available. regards, Victor + +Hi Victor, Are you also verifying the execution time issue as Rishabh said ? Do you have a target date to release? Charles + +Hi Charles, The release will be available in the beginning of Jan 2020. It will fix some performance issue we have been seeing with deconvolution. However you are observing processing time of couple of minutes for 3 images, which is a long time. We have not encountered for any model such a long processing time on our end. Can you enable trace in the inference config file by setting: enableLayerPerfTraces = 1 debugTraceLevel = 1 Please refer to the section 'Steps to Analyze Performance' in the TIDL's user's guide 'Steps to Debug' chapter. You can share the performance log with us so we can see which layers take a long time to execute. regards, Victor + +Hi, The standalone test log is as follow. Layer 32, 37, 39 are Deconvolutional layers. Looks like layer 32 and 37 take a longer time. The overall TSC Mega Cycles is 315097 Mega. The TSC Mega Cycles of the same model test in TDA2x is ~26 Mega. The graphs generated by tidlModelGraphviz are as follow: + +Hi Charles, Yes I can see that the deconvolution layer takes a long time. Can you try to rerun the test with the attached library ? Thanks. regards, Victortidl_algo.lib + +Hi Victor, Please see the following table. Total Megacycles is 2/3 of previous test. The values in "LayerSetupCycles" field are reduced a lot. The others have no big difference. Charles + +Hi Charles, Please ignore the setup column as I modified the code to measure something else for my own debugging. We are still improving the deconvolution layer so the final release may be faster. However you reported execution time in the order of "minutes". I suspect it is because you have trace enabled. Can you try to run after disabling trace in the config file ? regards, Victor + +Hi, Here is my config setting: inFileFormat = 2 postProcType = 3 numFrames = 1 padInBuffInTB = 1 netBinFile = "testvecs/config/tidl_models/caffe/tidl_net_FS.bin" ioConfigFile = "testvecs/config/tidl_models/caffe/tidl_io_FS.bin" totNumClasses = 8 outData = testvecs/output/FreeSpace.bin inData = testvecs/config/test.txt debugTraceLevel = 0 writeTraceLevel = 0 enableLayerPerfTraces = 0 And the process time for single image in standalone test is around 3.5 mins. The "tidl_infer_adjsegNet" model is also test, the process time is very short. Charles + +Here is the console output of my test. + +Hi Charles, Would it be possible for you to make a dummy network that only includes layers 32 to 37 and share it with TI so we can reproduce the issue on your side ? regards, Victor + +Hi Victor, Will update to you once prepared. Charles + +Hi Charles, We found the root cause of the issue. There is a bug when the input feature map's width is smaller than 64 and when the number of input channels is also smaller than 64: some internal counters become negative and produce large iteration counts. Please try with a larger image, the issue should disappear. We'll fix for small images in the next release. regards, Victor + +Hi Victor, Thanks. Is this bug affect to Deconvolutional Layer only ? Charles + diff --git a/sample_embedding_folder2/0858285.txt b/sample_embedding_folder2/0858285.txt new file mode 100644 index 0000000000000000000000000000000000000000..070baca80b0616995665060a0a978be7478bbaa6 --- /dev/null +++ b/sample_embedding_folder2/0858285.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2PXEVM: Create an input file for a usecase that gets SYSTEM_BUFFER_TYPE_BITSTREAM data: + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 We have a tda2 VAYU application board and PROCESSOR_SDK_VISION_03_06 installed on my Ubunu 16.04PC. We are running tidl_od usecase. Our purpose is to create a new pair of index and mpeg file, that we can use in TIDL_SSD_CFG.TXT in order to run this example. Is there any documentation on how to create it? If so, can you direct me to it? Thanks + +Responses: +Hi Yoav, please check this E2E post: Regards, Yordan + diff --git a/sample_embedding_folder2/0858873.txt b/sample_embedding_folder2/0858873.txt new file mode 100644 index 0000000000000000000000000000000000000000..5fb89c807a9b0be784c8d5de9cf4443dc3b3a6ca --- /dev/null +++ b/sample_embedding_folder2/0858873.txt @@ -0,0 +1,46 @@ +Ticket Name: TDA2EXEVM: Algo SW_mosaic display actual frame is not displying + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2SX Hi, We are developing an automotive DVR Software using TDA2Sx processor leveraging upon Vision SDK. We designed the use-case with three functionalities namely recording of .mp4 files, single channel display and Quad display. Totally we are using six analog (CVBS) cameras. The below is the use-case. Capture -> VPE -> Dup -> Encode -> IPCIn(A15) -> DefLink_vsdkbuf (A15) Dup -> Merge -> Display Dup -> Sync -> Alg_DmaSwMs -> VPE_D2 -> Merge -> Display We are using Algorithm SW_mosaic for multiple channels(4-channels) in a single frame and then display it. Run time switching between single channel display and quad display are fine. But in Algo SW_mosaic display actual frame is not displying, actual frame is getting cropped in quad display. But in single channel display it fine. It would be very helpful if you could help us, having respective TI support team in providing us with inputs to resolve this issue. Rgds, Balaji T + +Responses: +For reference i have also given the small video clip, that differentiate the actual frame and frame displayed in quad view. Rgds, Balaji T + +Hi, Please share you usecase stats. I hope your sync link is getting 6 channel input. Can you please modify tour alg_dmaSwMs link to display all 6channel. Regards, Anuj + +Hi Anuj, We enabled all the six channel in quad display. All the channels are getting the data frames. Instead of downscaling the video frame it is cropping it and displaying. Sync link is getting all the 6-channel frames.The log file for reference is given below. nov22_quad_display.txt Rgds, Balaji T + +Hi Anuj, Is there any update on this.? Rgds Balaji T + +Hi, Why your log only shows stats of capture vpe and sync link only. Where are the other links. Those stats are not available. Have you tried to provide display all6 channels to alg_swms link? Regards, Anuj + +Hi Anuj, For debugging we have disabled stats for all other links. Yes, we have tried providing display link all the 6 channels via Alg_SwMosaic link. still the behaviour is the same. We are debugging using the Alg_SwMosaic source file(/vision_sdk/apps/src/rtos/alg_plugins/dmaSwMs) Incoming frame width and height are greater than the actual window size. UInt32 width; /**< Window width, * if window width < input width, cropped input is copied * if window width > input width, rest of window is filled with blank data */ UInt32 height; /**< Window height, * if window height < input height, cropped input is copied * if window height > input height, rest of window is filled with blank * data */ (./apps/include/alglink_api/algorithmLink_dmaSwMs.h) I think we need to downscale the incoming frames. please correct me if i am wrong. Rgds, Balaji T + +Hi Anuj, Can we try using vpeSwMs in place of Alg_SwMosaic.? Rgds, Balaji T + +Hi, Yes you can try with vpeSwMs also. With Alg_dmaswms can you add avpe link before that and make sure all 6 channel is scaled to proper resolution as per swms window size. Regards, Anuj + +Anuj, Is that really necessary to downscale the frame size before Alg_SwMosaic.? Alg_SwMosaic don't have this property to downscale the incoming frames according to window size.? What is the dofference between Dma_swMosaic and Vpe_SwMosaic.? i have tried designing a use-case with Vpe_SwMosaic but its throwing an compile time error.4135.vpe_enable_printlog.txt Please, provide solution based on the above. Rgds, Balaji T + +Hi Please share a compact log. And you have messed up with VSDK stats collector. Its showing wrong data. With such kind of log we will not be able to help you. There are multiple usecase are available who is using these swms links. You just have to refer that. And if you did not have messed around inside links_fw and alg_plugins folder. it should work straight forward. From next time please do not add your debug log, and stats log should should stats of all links. Regards, Anuj + +Anuj, We just disabled VSDK stats collector to run other applications. Here is the log after enabled all the stats collector, FS_debug_quadview_nov29.txt Regards & Thanks, Balaji T + +Anuj, Was the above provided log helpfull for you..? Rgds, Balaji T + +Hi Anuj, For give it a trial, we have tried use-case only for single channel and quad channel display, The above is the output for quad display. Will you please help me to resolve this error. Rgds, Balaji T + +Hi there, It would be really helpful, if there is any update on this.! Rgds, Balaji T + +Hi, As you are facing issue relate to swms link. Can you create a simple usecasec and check. It will be easy to debug. camera(6 ch) -> sync -> swms -> display. Use 3x2 grid for swms. Regards, Anuj + +Hi Anuj, Thank you for yours guidance and support. I think we are near to resolve this issue, please have a look on the below observation and comment on this. We have validated seperate usecases for single channel display and quad display. Use-case for single channel display. Capture -> Merge -> Display (the corresponding images are given in attached tar file, named camera(number)_singleview.jpg) Use-case for quad display. Capture -> Sync -> Alg_DmaSwMs -> Display (for quad display, the snap is provided in tar file named, mosaic_view2*2.jpeg) If we observe the all the images in the tar file, all the frames from single channel is expected to fit into the quad display. But, only half of the image is displaying in the quad display. i.e., if the actual frame is 640*480, Quad display gets only 320*480 for all the channels. How to configure that complete 640*480 fits to quad display window? Now, if we combine this usecase as shown below, Capture -> Dup-> Merge -> Display Dup -> Sync -> Alg_DmaSwMs -> Display What ever the output which is configured first is displaying properly, and next configured channel is having flickering issue in runtime switching. How to avoid this flickering issue? Rgds & thanks, Balaji T + +Hi there, Is there any update on this..? Rgds, Balaji T + +Hi, There are multiple usecase which uses Alg_dmaswms link. Can you refer to that usecase and check its params and use in same way. Try below usecase only Capture -> Sync -> Alg_DmaSwMs -> Display Regards, Anuj + +Anuj, My reply on Dec 06,2019, We have clearly mentioned that we have tried the single usecase (to validate functionalities individually) and results of them. For the below use-case, we have used the same params as referenced in the ti-usecases. Still we cannot achieve proper display in Quad view. Capture -> Sync -> Alg_DmaSwMs -> Display Rgds, Balaji T + +Hi, I hope after our call, you will be able to resolve your issue. So closing this thread. Regards, Anuj + diff --git a/sample_embedding_folder2/0859624.txt b/sample_embedding_folder2/0859624.txt new file mode 100644 index 0000000000000000000000000000000000000000..a889453ef7e11a4718c15e9a60ebb8827db06573 --- /dev/null +++ b/sample_embedding_folder2/0859624.txt @@ -0,0 +1,22 @@ +Ticket Name: TDA3XEVM: Import OpenCV algorithm on TDA3X EVM + +Query Text: +Part Number: TDA3XEVM Hello all, I have an algorithm implemented in openCV and I want to import it on TDA3X EVM? . and can you also tell me also if TDA3X support importing algorithms from Tensor flow, Thanks in advance + +Responses: +Please refer EVE SW package documentation in the SDK for computer vision-related function and integration of the same in the system. For TensorFlow - ref the TIDL (Deep learning library SW) documentation. + +Hello Kumar, For openCV , you refer me to "EVE SW package documentation" , but unfortunately I can't find it , also I try to use this use case , I assign Alg_OpennCVCanny to DSP1 instead of APU as TDA3X EVM don't have APU. When I try to build the use case the following error appears. Error: Link [Alg_OpenCVCanny] cannot be assigned to CPU [DSP1] (Valid CPUs:[A15]) !!! Shall I able to import such algorithm on TDA3x ? thanks in advance + +EVE SW documantion can be found in the below ti_components/algorithms/eve_sw_01_19_00_00/eve_sw_releasenotes.pdf + +Hello Kumar, Thank you kumar for your illustration , but my question is that openCV library is supported on TDA3x or not. + +No Opencv is not supported in TDA3x + +Does opencv supported on TDA2XX? I want to created a new Link by opencv. + +Hello dolpy, I think you can use OpenCv on TDA2x ,I think you shall only follow points 1.3 & 1.4 in this document. file:///C:/PROCESSOR_SDK_VISION_03_05_00_00/vision_sdk/docs/FeatureSpecificUserGuides/VisionSDK_UserGuide_opencx.pdf + +Thanks + diff --git a/sample_embedding_folder2/0860672.txt b/sample_embedding_folder2/0860672.txt new file mode 100644 index 0000000000000000000000000000000000000000..3ffd45c5a17fb3b875e083506145f18919570e0b --- /dev/null +++ b/sample_embedding_folder2/0860672.txt @@ -0,0 +1,10 @@ +Ticket Name: Compiler/TDA2EVM5777: TIDL is slower when the input is recorded video than the input is camera captured frame + +Query Text: +Part Number: TDA2EVM5777 Tool/software: TI C/C++ Compiler Hi, I'm testing the performance of TIDL in two case. First case is using the recorded video as input and second case is using the captured frame from camera sensor. When i compare the FPS of TIDL in above two case, the FPSs were different. The resolution of input were same in both case, moreover i used VPE link before feeding frame to TIDL. The chains of two case are below. - Video input (29.4 fps) NullSource (ch 1, 2, 3, 4) -> Merge -> Decode -> VPE -> Select -> tidlPreProc -> TIDL_EVE -> TIDL_DSP -> Merge -> NullLink - Camera input (30.3 fps) Capture (ch1, 2, 3, 4) -> VPE -> Select -> tidlPreProc -> TIDL_EVE -> TIDL_DSP -> Merge -> NullLink I removed TIDL_EVE and TIDL_DSP link in both case, to confirm whether the cause of difference is from different input link. However, the fps of both case were same as 30.x fps. Could you give me any clue to resolve this problem? Regards, Yoo + +Responses: +Hi, I do not understand why you use merge link for recorded frames. Please share the stats log by pressing p after running the usecase for 1 min for both cases. Regards, Anuj + +Hi, Its been long since any update on this threads. I hope the issue is resolved. if not then please reply below or create a new thread for different issue. Regards, Anuj + diff --git a/sample_embedding_folder2/0862226.txt b/sample_embedding_folder2/0862226.txt new file mode 100644 index 0000000000000000000000000000000000000000..ccf86a0548dcec1c463e688da2e88a962a3a105a --- /dev/null +++ b/sample_embedding_folder2/0862226.txt @@ -0,0 +1,22 @@ +Ticket Name: How to cross compile tidl-api-master (with examples) from source code with gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux toolchains? + +Query Text: +How to cross compile tidl-api-master (with examples) from source code with gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux toolchains? Can anybody give me a clue about it? + +Responses: +What is the SDK version and TIDL version that you are using ? Thanks, Praveen + +Hello, My version is Vision SDK 3.04. Thanks + +Could you point this folder "tidl-api-master " in SDK ? + +Thanks for the response, How can i do that? Could you please explain a bit? Should i do it by changing Makefile under "/../PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/build" directory + +Hi, Which processor platform are you using ? Because vision_sdk is the software for TDAx platform and TI-DL is accessed through openVX framework, not through tidl-api-master. tidl-api-master runs on Sitara platform. + +My platform is tda2xx. I pointed makefile of the tidl source code from sdk makefile by adding $(MAKE) -C $(vision_sdk_PATH)/tidl-api-master . But after making some environment corrections in tidl make file i get some compile errors. First opencl version used in tidl code is different from the one in vision sdk 3.04. Second boost library is used in tidl and it is not exist in sdk. I dont know any other type of inconvenience will appear. What is the compatible versions of boost and opencl libraries for tidl source code? Any suggestion will be appreciated... i compiled boost and solved appeared errors making patch in the link below. https://patches.linaro.org/patch/59550/ Thanks + +I want to use "tidl-api-master" in "TDA2xx" platform. is it possible cross compile and use it with TDA2xx platform instead of Links and Chains Concept? There are very few TIDL example in VisionSDK with Links and Chains Concept. + +No, it is not possible. The TIDL software programming and support is different in these two SDKs Thanks, Praveen + diff --git a/sample_embedding_folder2/0864079.txt b/sample_embedding_folder2/0864079.txt new file mode 100644 index 0000000000000000000000000000000000000000..fa686fdca99f0faa45fc62ed8f6ec4000f114f95 --- /dev/null +++ b/sample_embedding_folder2/0864079.txt @@ -0,0 +1,10 @@ +Ticket Name: Compiler/D3-3P-TDA2X-DK: TDA2x:program will not fit into available memory. placement with alignment fails + +Query Text: +Part Number: D3-3P-TDA2X-DK Tool/software: TI C/C++ Compiler Hi,i met some problem when creeating Usecase on TDA2x.And here is the log: /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/obj/vision_sdk/tda2xx-evm/ipu1_0/release/vision_sdk_configuro/linker_mod.cmd", line 268: error: program will not fit into available memory. placement with alignment fails for section ".text" size 0x29995d . Available memory ranges: IPU1_0_CODE_MEM size: 0xa00000 unused: 0x1c5 max hole: 0x4 # # /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/vision_sdk/bin/tda2xx-evm/vision_sdk_ipu2_release.xem4 created. # undefined first referenced symbol in file --------- ---------------- AlgorithmLink_issAewb1_initPlugin /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/obj/vision_sdk/tda2xx-evm/ipu1_0/release/app_init_ipu_primary.oem4 ChainsBoard_SetBoardMux /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 ChainsPlatform_SetPinMux /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 IssUtils_InitSimcopConfig /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 appCreateISSSensor /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 appDeleteISSSensor /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 appInitIssAewbParams /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 appInitIssCaptParams /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 appInitIssIspParams /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 appSetDefaultIspParams /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 appSetIspParamsFromDCC /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 appStartIssSensorSerDes /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 appStopISSSensor /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 error: unresolved symbols remain error: errors encountered during linking; "/home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/vision _sdk/bin/tda2xx-evm/vision_sdk_ipu1_0_release.xem4" not built /home/liuyuyuan/TI/vsdk/vision_sdk/build/rtos/makerules/rules_m4.mk:312: recipe for target '/home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/vision_sdk/bin/tda2xx-evm/vision_sdk_ipu1_0_release.xem4' failed make[7]: *** [/home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/vision_sdk/bin/tda2xx-evm/vision_sdk_ipu1_0_release.xem4] Error 1 /home/liuyuyuan/TI/vsdk/vision_sdk/build/rtos/makerules/common.mk:271: recipe for target 'ipu1_0' failed make[6]: *** [ipu1_0] Error 2 MAKEFILE.MK:151: recipe for target 'apps_ipu1_0' failed make[5]: *** [apps_ipu1_0] Error 2 MAKEFILE.MK:31: recipe for target 'apps' failed make[4]: *** [apps] Error 2 MAKEFILE.MK:299: recipe for target 'apps' failed make[3]: *** [apps] Error 2 Makefile:175: recipe for target 'apps_exe' failed make[2]: *** [apps_exe] Error 2 Makefile:38: recipe for target 'apps' failed make[1]: *** [apps] Error 2 gmake: *** [vision_sdk] Error 2 At first,i created a usecase and it sucessfully compiled.Then i created another usecase with these problems occured.I think maybe too much usecases causes out of memory,so i delete the second usecase,but the problem still remains,why?Plz help. Thanks, ZY Wang + +Responses: +Hi, Please delete binary folder and do a clean build. Please disable unwanted usecase from uc_cfg.mk file. Regards, Anuj + +Hi Anuj, I did it follow your advices,but it seems the problem still exist,here is the log: /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/obj/vision_sdk/tda2xx-evm/ipu1_0/release/vision_sdk_configuro/linker_mod.cmd", line 268: error: program will not fit into available memory. placement with alignment fails for section ".text" size 0x29608e . Available memory ranges: IPU1_0_CODE_MEM size: 0xa00000 unused: 0x1cc max hole: 0x4 undefined first referenced symbol in file --------- ---------------- AlgorithmLink_issAewb1_initPlugin /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/obj/vision_sdk/tda2xx-evm/ipu1_0/release/app_init_ipu_primary.oem4 ChainsBoard_SetBoardMux /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 ChainsPlatform_SetPinMux /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 IssUtils_InitSimcopConfig /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 appCreateISSSensor /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 appDeleteISSSensor /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 appInitIssAewbParams /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 appInitIssCaptParams /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 appInitIssIspParams /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 appSetDefaultIspParams /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 appSetIspParamsFromDCC /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 appStartIssSensorSerDes /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 appStopISSSensor /home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/lib/tda2xx-evm/ipu1_0/release/app_libs.aem4 error: unresolved symbols remain error: errors encountered during linking; "/home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/vision _sdk/bin/tda2xx-evm/vision_sdk_ipu1_0_release.xem4" not built /home/liuyuyuan/TI/vsdk/vision_sdk/build/rtos/makerules/rules_m4.mk:312: recipe for target '/home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/vision_sdk/bin/tda2xx-evm/vision_sdk_ipu1_0_release.xem4' failed make[7]: *** [/home/liuyuyuan/TI/vsdk/vision_sdk/binaries/apps/tda2xx_evm_bios_all/vision_sdk/bin/tda2xx-evm/vision_sdk_ipu1_0_release.xem4] Error 1 /home/liuyuyuan/TI/vsdk/vision_sdk/build/rtos/makerules/common.mk:271: recipe for target 'ipu1_0' failed make[6]: *** [ipu1_0] Error 2 MAKEFILE.MK:151: recipe for target 'apps_ipu1_0' failed make[5]: *** [apps_ipu1_0] Error 2 MAKEFILE.MK:31: recipe for target 'apps' failed make[4]: *** [apps] Error 2 MAKEFILE.MK:299: recipe for target 'apps' failed make[3]: *** [apps] Error 2 Makefile:175: recipe for target 'apps_exe' failed make[2]: *** [apps_exe] Error 2 Makefile:38: recipe for target 'apps' failed make[1]: *** [apps] Error 2 gmake: *** [vision_sdk] Error 2 I have cleared the usecase and disabled unwangted UC name.Is there any other problem? Thanks, Wang + diff --git a/sample_embedding_folder2/0864209.txt b/sample_embedding_folder2/0864209.txt new file mode 100644 index 0000000000000000000000000000000000000000..0729613309a4ec838049ae08a76dc77e31034218 --- /dev/null +++ b/sample_embedding_folder2/0864209.txt @@ -0,0 +1,12 @@ +Ticket Name: Compiler/TDA2SX: PROCESSOR_SDK_RADAR + +Query Text: +Part Number: TDA2SX Tool/software: TI C/C++ Compiler Hi, I have two questions about processor radar SDK: 1、 Why not provide CCS projects? The CCS project is easy to debug and the code structure is clear. 2、 How to check the code structure in makefile mode? How to debug? Thanks a lot. + +Responses: +Hi, For processor radar/vision SDK, we do not provide CCS project. Its a makefile based build system. You can export entire vision SDK folder into any editor and do code browsing its upto your choice. Using CCS you can debug. Please check userguide and check load using using CCS. There you can add breakpoints, step through the code. Even if you boot using SD card then you can connect to any core(1st remove gel files for that core) and then load symbol instead of loading the program. Regards, Anuj + +Hi, Thank you for your reply,but how can code built on makefiles be ported to CCS? Is there any guidance document? The code structure built by makefile is too complicated. How to assemble a complete CCS project? Thanks a lot + +Hi, As told in earlier post, CCS based build is not supported. So you have to proceed with makefile based build. What kind of complication you are facing when you build with makefile and you think that will be resolved using CCS? Entire radar sdk can be exported to any code editor for code browsing. Just the building part you have to use makefile. regards, Anuj + diff --git a/sample_embedding_folder2/0864222.txt b/sample_embedding_folder2/0864222.txt new file mode 100644 index 0000000000000000000000000000000000000000..50da85aaa7c92f0e76f9e425df45753c1a7e0c8b --- /dev/null +++ b/sample_embedding_folder2/0864222.txt @@ -0,0 +1,16 @@ +Ticket Name: Does TI have Deep-Learning tools : Pruning, Quantization, Compression ? + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi, expert: My customer is asking whether TI has the tools as following? Pruning Quantization (both post-training quantization and quantization aware training) Compression I can find some slides about Quantization in the TIDL training slides. it seems the Quantization is part of TIDL Import tool. Please kindly share your comments. Many thanks. + +Responses: +Hi, We are planning to publish tools for quantization - both post training calibration and quantization aware training. There are also several other training examples that we are including. It is expected to be made available at the following location very soon - hopefully in just a few days: https://git.ti.com/jacinto-ai-devkit/ In each repository at that link, click on the "about" tab to read the documentation for that repository. Also, here is a collection of the e2e queries related to jacinto-ai-devkit: https://e2e.ti.com/support/j721e/f/1026/tags/jacinto_2D00_ai_2D00_devkit When you post a question, you can include: jacinto-ai-devkit in the tags as you create the query, for a faster response. Best regards, Manu. + +Hi, Manu: Many thanks for the information regarding quantization tool. How about Pruning and Compression? Thanks. + +Hi Peter, This devkit can be used to train models for Jacinto7 TDA4x. Jacinto7 TDA4x does not benefit from sparsity. The MAC throughput is quite high anyway. So there is no point in applying pruning of weight coefficients like we used to do for Jacinto6 TDA2/TDA3. We need to add pruning/weight sparsity only if we want to enable training of sparse models for Jacinto6 TDA2/TDA3 through this devkit. We do not want to rule out adding that support - but it is not in the current plan. At present, you can use caffe-jacinto for that. + +To explain further, TIDL import tool does a simple calibration. It works reasonably well for common networks, but not so well for networks have Depthwise convolution layers. These is also a plan to address these short comings and implement advanced calibration in TIDL import tool for Jacinto7, but that will take a few months to be released. You can use jacinto-ai-devkit if: - you want to use advanced calibration before it is incorporated in TIDL import tool. - you want to use quantization aware training (which may be slightly better than advanced calibration). I hope it is clear. Let me know if you have further questions. + +Hi, We have make pytorch-jacinto-ai-devkit available. Please start by reading here: https://github.com/TexasInstruments/jacinto-ai-devkit It has tools to help with Calibration for Quantization and Quantization Aware Training. Best regards, Manu + diff --git a/sample_embedding_folder2/0864270.txt b/sample_embedding_folder2/0864270.txt new file mode 100644 index 0000000000000000000000000000000000000000..a35c665fb1baa34f1f1f8d73ca50637766a37abe --- /dev/null +++ b/sample_embedding_folder2/0864270.txt @@ -0,0 +1,12 @@ +Ticket Name: CCS/TDA2EXEVM: Un supported data format (FVID2_DF_BAYER_RGGB) + +Query Text: +Part Number: TDA2EXEVM Tool/software: Code Composer Studio Hi, I use TDA2EX_EVB connect to a camera. The sensor output is Bayer RGGB 12 bit RAW data. I am making a new chain IssCapture -> (Bayer RGGB 12bit -> RGB888 or YUV420 )-> Display_video I set : pPrm->videoIfMode = SYSTEM_VIFM_SCH_CSI2; pPrm->videoIfWidth = SYSTEM_VIFW_4LANES; pPrm->bufCaptMode = SYSTEM_CAPT_BCM_LAST_FRM_REPEAT; pPrm->outParams[0].dataFormat = SYSTEM_DF_BAYER_RGGB; pPrm->outParams[0].inCsi2DataFormat = SYSTEM_CSI2_RAW12 than I get a error meaasge [IPU1-0] 27.676538 s: dispcore/src/vpscore_dss.c @ Line 1111 [IPU1-0] 27.676599 s: Un supported data format [IPU1-0] 27.676691 s: dispdrv/src/vpsdrv_displayCore.c @ Line 304: [IPU1-0] 27.676752 s: Set DSS parameter failed [IPU1-0] 27.676813 s: Assertion @ Line: 459 in displayLink_drv.c: status==SYSTEM_LINK_STATUS_SOK : failed !!! The error message is from static Int32 VpsCore_dssGetRowInc() because the dataFormate = 0x0056 is FVID2_DF_BAYER_RGGB Is the setting correct? Is TDA2EX supported this color convert? + +Responses: +Hi, Display does not support Bayer format. You will need to convert Bayer format into RGB or YUV to get it displayed. Rgds, Brijesh + +Hi, Brijesh, Could you show me the sample code to convert Bayer RGGB to YUV? Best Regards, Jay + +Hi Jay, We don't have SW example for this conversion. There is a HW module, ISP, on TDA3x and TDA2Px, which can do this conversion.. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0864416.txt b/sample_embedding_folder2/0864416.txt new file mode 100644 index 0000000000000000000000000000000000000000..c998e442f3fc1cfb11838ca3154689d1b8e73bdd --- /dev/null +++ b/sample_embedding_folder2/0864416.txt @@ -0,0 +1,20 @@ +Ticket Name: CCS/TIDEP-01017: Boot TDA2 via CCS and Step through Code + +Query Text: +Part Number: TIDEP-01017 Other Parts Discussed in Thread: TDA2, Tool/software: Code Composer Studio Hi, I am trying to boot up TIDEP-01017 TDA2 via CCS and am following the steps provided in the Application Report SPRAC17B. I set the boot mode on SW4 to 6'b000000 as per the Technical Reference Manual SPRUI29F The tda2xx_cascade_bios_radar build that is provided in the processor sdk package does not use A15 has the host processor, so I bypassed it in the ccxml launch file. When I try to connect Cortex_M4_IPU1_C0, I get an error as below: Error connecting to the target: (Error -1170 @ 0x0) Unable to access the DAP. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). However, when I add back A15 as the host processor and connect to it first, then enable all cores from Scripts > TDA2xx_MULTICORE_Initialization > TDA2xx_MULTICORE_EnableAllCores and then connect to Cortex_M4_IPU1_C0, it is able to connect. I subsequently connect to all the remaining processors and load corresponding binaries. However, since A15 binary was not compiled, I do not load it. Is this ok? Also, once this is done I hit Resume on each of the processors and I see the below prints on the console: [Cortex_M4_IPU1_C1] MAC Port 0 Address: b4-52-a9-63-38-7a MAC Port 1 Address: b4-52-a9-63-38-7b Network Added: If-1:192.168.1.200 Service Status: Telnet : Enabled : : 000 [Cortex_M4_IPU1_C0] IPU1-0 Remote Log Shared Memory @ 0xbfb200a0 IPU1-1 Remote Log Shared Memory @ 0xbfb2e8a0 HOST Remote Log Shared Memory @ 0xbfb310a0 DSP1 Remote Log Shared Memory @ 0xbfb360a0 DSP2 Remote Log Shared Memory @ 0xbfb388a0 EVE1 Remote Log Shared Memory @ 0xbfb3b0a0 EVE2 Remote Log Shared Memory @ 0xbfb3d8a0 EVE3 Remote Log Shared Memory @ 0xbfb400a0 EVE4 Remote Log Shared Memory @ 0xbfb428a0 IPU2 Remote Log Shared Memory @ 0xbfb450a0 However, I still do not see the TDA2 boot up via UART terminal. Is there any step I am missing? How do I step through the code once boot up is done? Thanks, Siddharth + +Responses: +Hello, Siddharth Advani said: I subsequently connect to all the remaining processors and load corresponding binaries. However, since A15 binary was not compiled, I do not load it. Is this ok? Yes, it should be fine. The initialization scripts are ran on A15, that's why it's needs to connect there first and initialize the main processor. After which, you can do a IPUClkEnable_API if you are power conservative instead of initializing all cores. I was able to manage this, see screenshot: Siddharth Advani said: However, I still do not see the TDA2 boot up via UART terminal. I am not sure since I do not use/print on UART, have you tried enabling the UART module first from the same menu where the scripts are located (that is, PRCM_Module_AllEnable_Config)? Siddharth Advani said: How do I step through the code once boot up is done? I don't have the SDK project set up currently, but as far as I know, if you set breakpoints this should enable the breaking while at debug session, then in the code view you should be able to step through/into/over. Hope it helps, thanks, Alex + +Hi Alex, Thanks for your response. My app requires Cortex_M4_IPU1_C0, Cortex_M4_IPU1_C1, C66xx_DSP1, ARP32_EVE_1, ARP32_EVE_2, ARP32_EVE_3 and ARP32_EVE_4 so I enable them while bypassing the remaining (accept Cortex_A15_0). Once all the binaries are loaded and the cores are running, I did step through the code and I find that the IPU is in idle mode, in pmlib_cpuidle_utils_m4.asm probably waiting for user event (via UART) PmlibDoWFI: stmfd sp!, {lr} ; /* ; * Execute an ISB instruction to ensure that all of the ; * CP15 register changes have been committed. ; */ isb ; /* ; * Execute a barrier instruction to ensure that all cache, ; * TLB and branch predictor maintenance operations issued ; * by any CPU in the cluster have completed. ; */ dsb dmb ; /* ; * Execute a WFI instruction and wait until there is a wakeup event ; */ wfi ;@ Wait For Event nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop ldmfd sp!, {pc} As per your suggestion, I tried to run PRCM_Module_AllEnable_Config to enable the UART, but that did not help. I notice that you are using Blackhawk USB560 as your debug tool. I am using XDS200 with a MIPI60 adaptor connected to the TDA2. Hope that does not matter too much (apart from data transfer bandwidth). Appreciate if you could help me get the UART online to see the TDA2 bootup sequence via CCS. Thanks, Siddharth + +Let us ask the SDK team since I am not aware really what can be wrong. They will reply here soon. The good thing is that you are now able to connect. thanks, Alex + +Hi Siddharth In the GEL files are you making sure you are setting the below to 1: GEL File: TDA2xx_multicore_reset.gel #define VISION_SDK_CONFIG 0 --> 1 The behavior you are seeing is typically when the IPC Sync between all the cores is stuck. This happens when any one of the cores has crashed or is not loaded or the MMU settings are not correct for the IPC to work correctly. Thanks and Regards Piyali + +Hi Piyali, I set VISION_SDK_CONFIG to 1, but that did not help the TDA2 to boot-up. I noticed that after compilation, a .xa15g gets created in the same folder as the MLO file. I loaded that for the A15 processor in CCS and now I am able to step through sbl_td2xx_main.c until the TDA2 boots up. However I am facing two issues: (i) The bootup occurs only if the SD card with the AppImage is inserted into the TDA2. (ii) If I set breakpoints in parts of the code subsequent to the boot-up, for example in chains_radar_main.c, the control does not return to CCS I am not sure how to proceed since the main goal of using CCS was to be able to step through relevant parts of the radar processing pipeline. Any suggestions? Thanks, Siddharth + +Siddharth You are mixing 2 flows: Flow 1: Load SBL on A15 and keep the application image in an SD card and then run the SBL via CCS. If your intention is to use SBL to load the images, you need not load the SBL through CCS. You could load the MLO and the Appimage in the SD card, boot from the SD card (You would need to set the right SYSBOOT pins on the board for the SD card to boot) and then once the system is booted, you can connect to the CCS core you wish to debug and then load only the symbols from the .xem4, or .xe66. You would be able to set the breakpoints only when you have the symbols loaded. Also note, if you are going the SBL routed please do not load the other executables via CCS. Also, make sure you do not run GEL files as this would re-initialize the system from what the SBL has already initialized. GELs should not be run before running SBL as well in a single power cycle. Flow 2: Load the executables via CCS directly. Here you would need to make sure you load all the executables corresponding to the CFG file. The default for cascade radar bios configuration is as below: PROC_IPU1_0_INCLUDE=yes PROC_IPU1_1_INCLUDE=yes PROC_IPU2_INCLUDE=no PROC_A15_0_INCLUDE=no PROC_DSP1_INCLUDE=yes PROC_DSP2_INCLUDE=no PROC_EVE1_INCLUDE=yes PROC_EVE2_INCLUDE=yes PROC_EVE3_INCLUDE=yes PROC_EVE4_INCLUDE=yes I see in your snapshot EVE cores are at 0x0. They should be at main if loaded correctly. Once you see all the cores with yes marked for them, is loaded and reached main, you would need to run the cores. You can leave the A15 connected. Note the counter32K has a debug dependency on the A15 CCS halt state, in order to get the correct time stamps, you would eventually need to keep the A15 running. The IPC between all the cores should complete for you to see the UART logs in the console. Even if one core is stuck or not run correctly the IPC Sync between all cores would not go through and the UART initialization code would not be reached on the IPU. Thanks and Regards Piyali + +Thanks for the clarification Piyali. We decided to focus on Flow #2 and realized that when debugging on Windows 10 platform, the EVE processors would start running immediately after loading the binary rather than breaking at main. We moved to a Linux setup, connected to the A15 (without loading any binary for it), loaded all the binaries and the TDA2 boots up as expected. We are also able to place breakpoints after bootup and are able to use the debug environment. Thanks for the assistance. + diff --git a/sample_embedding_folder2/0865167.txt b/sample_embedding_folder2/0865167.txt new file mode 100644 index 0000000000000000000000000000000000000000..525efacc3c94dfd7f6e86a65217bfc76e7e895bf --- /dev/null +++ b/sample_embedding_folder2/0865167.txt @@ -0,0 +1,33 @@ +Ticket Name: TDA2SX: Emotion recognition - TIDL import + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi to all, I am trying to import emotion recognition model and I am facing some difficulties. Model have 7 output classes. For every input image I have same output index (same class) and same output for every input image. I looked at deploy.prototxt and added flatten layers before every InnerProduct layer. Also, I am using sparse convolution, so with kernel_size: 5 I think there shouldn't be a problem for convolution layers, should it? I don't see any other limitation that could affect me, but it will be useful if some expert take a look at model and import file to check if I missed something.emotion-recognition.7z I am using TIDL 01.01.01.00 with PSDK 03.04.00.00. There are model files in attachment. Thank you in advance and regards, Sasa + +Responses: +8637.emotion-recognition.7z + +Hi Sasa, Form the "deploy.prototxt" it looks like TIDL can support all the layers, but in the deploy.prototxt, can you use different output names for different flatten layers and try? Also, Did out check that outputs correct with caffe inference on these input images and your model? Thanks, Praveen + +Hi Sasa, Did you get a chance to try out above suggestions? Thanks, Praveen + +Hi Pravenn, I only managed to try renaming flatten layers to have different names and there was no success. I have usually class 4 detected and for some of images class 5. layer { + name: "flatten1" + type: "Flatten" + bottom: "pool_3" + top: "flatten1" + flatten_param { + axis: 1 + } +} +layer { + type: "InnerProduct" + name: "hidden_1" + inner_product_param { + num_output: 200 + } + bottom: "flatten1" + top: "hidden_1" +} These are changes made. I did the same with different names for other flatten and innerProduct pairs of layers. Also I have a question about checking correctness. This same caffe model is tried on another platform and worked correctly (same model and same inputs) . I wanted to run it on TDA2 to have comparison, so I can confirm that model is correct. + +Hi Sasa, Ideally we expect this to work properly, but not sure where the problem is. So I would suggest to check the layer level outputs from import tool against the caffe reference outputs to identify which layer is causing the issue, please refer to section 3.8 (Matching TIDL inference result) in the TIDL user guide on how to do this. Thanks, Praveen + diff --git a/sample_embedding_folder2/0865591.txt b/sample_embedding_folder2/0865591.txt new file mode 100644 index 0000000000000000000000000000000000000000..e9cb2da976b6f30cdf43d6e6f159ec7742d481c6 --- /dev/null +++ b/sample_embedding_folder2/0865591.txt @@ -0,0 +1,8 @@ +Ticket Name: CCS/TDA2EVM5777: how about the EDMA in TDA4 + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Tool/software: Code Composer Studio i am trying TDA4EVM , how can i using EDMA move data from DDR to L2? befor in TDA2 visonsdk i find a sample about this (ti_SDK_VISION_03_04_00_00\ti_components\algorithms\REL.DMAUTILS.00.08.00.02) where can i find the same dma sample in TDA4 sdk (ti-processor-sdk-linux-automotive-j7-evm-06_01_00_05-Linux-x86-Install)? thanks! shuai + +Responses: +Hi Shuai There is no EDMA in the TDA4x device. Instead there is a UDMA and DRU for data routing. You can refer to the DMAUTILS in pdk/packages/ti/drv/udma/dmautils. This is part of Processor SDK RTOS Automotive. Thanks and Regards Piyali + diff --git a/sample_embedding_folder2/0866001.txt b/sample_embedding_folder2/0866001.txt new file mode 100644 index 0000000000000000000000000000000000000000..dd34d4f9c8a2155de02acda47f6348804ec4be3c --- /dev/null +++ b/sample_embedding_folder2/0866001.txt @@ -0,0 +1,22 @@ +Ticket Name: PROCESSOR-SDK-TDAX: I can't train ssdJacintoNetV2 in caffe-jacinto-model-0.17 with 768x320 size. + +Query Text: +Part Number: PROCESSOR-SDK-TDAX Hi , when I use train_image_object_detection.sh to train ssdJacintoNetV2 in caffe-jacinto-model-0.17 with 768x320 size, an error list: when I switch to 512x512 is OK,and also switch to caffe-jacinto-model-0.16 is OK. why? I1216 17:11:22.872642 40400 solver.cpp:229] Starting Optimization on GPU 0 I1216 17:11:22.872648 40401 solver.cpp:229] Starting Optimization on GPU 1 I1216 17:11:22.872804 40400 solver.cpp:269] [MultiGPU] Initial Test started... I1216 17:11:22.872872 40400 solver.cpp:635] Iteration 0, Testing net (#0) I1216 17:11:22.872974 40428 common.cpp:550] NVML succeeded to set CPU affinity on device 0, thread 40428 I1216 17:11:22.873769 40429 common.cpp:550] NVML succeeded to set CPU affinity on device 1, thread 40429 I1216 17:11:23.038713 40400 net.cpp:1071] Ignoring source layer mbox_loss I1216 17:11:23.060695 40401 net.cpp:1071] Ignoring source layer mbox_loss F1216 17:11:23.424778 40401 solver.cpp:668] Check failed: result[j]->width() == 5 (3 vs. 5) *** Check failure stack trace: *** @ 0x7fec048d35cd google::LogMessage::Fail() @ 0x7fec048d5433 google::LogMessage::SendToLog() @ 0x7fec048d315b google::LogMessage::Flush() @ 0x7fec048d5e1e google::LogMessageFatal::~LogMessageFatal() @ 0x7fec054921e0 caffe::Solver::TestDetection() @ 0x7fec054950f7 caffe::Solver::TestAll() F1216 17:11:23.452100 40400 solver.cpp:668] Check failed: result[j]->width() == 5 (3 vs. 5) *** Check failure stack trace: *** @ 0x7fec05496406 caffe::Solver::Step() @ 0x7fec048d35cd google::LogMessage::Fail() @ 0x7fec054973d2 caffe::Solver::Solve() @ 0x7fec048d5433 google::LogMessage::SendToLog() @ 0x7fec0590628a caffe::P2PSync::InternalThreadEntry() @ 0x7fec048d315b google::LogMessage::Flush() @ 0x7fec048d5e1e google::LogMessageFatal::~LogMessageFatal() @ 0x7fec059c538c caffe::InternalThread::entry() @ 0x7fec054921e0 caffe::Solver::TestDetection() @ 0x7fec059c73eb boost::detail::thread_data<>::run() @ 0x7fec054950f7 caffe::Solver::TestAll() @ 0x7fec02dbe5d5 (unknown) @ 0x7fec05496406 caffe::Solver::Step() @ 0x7fec0288f6ba start_thread @ 0x7fec054973d2 caffe::Solver::Solve() @ 0x7fec030da41d clone @ (nil) (unknown) + +Responses: +Can you pls set chop_num_heads to 0 in caffe-jacinto-models/scripts/train_image_object_detection.sh and try training? + +Hi, It's amazing, it can work now, but I want to know what this parameter does. Why did it work on the previous version caffe-jacinto-model-0.16? + +It was some experimental option not supposed to be used in the final release. + +Hi Soyeb: Can I ask you a question: When marking targets with marking label software, what are the functions of marking attributes, such as occluded, truncation, difficulty and pose? How do I use it on ssdJacintoNetV2? Thank you very much! + +like this: 1280 720 3 0 VehicleFull Unspecified 0 0 474 257 495 275 + +You may find information about these attributes by looking at PASCAL VOC dataset. Also you may go through some blog like the following, https://towardsdatascience.com/coco-data-format-for-object-detection-a4c5eaf518c5 + +Hi Soyeb: I know what these tags mean, but what I want to know is how do I use these tags when I train the model? I can't find any place to call these tags, right? So what exactly do these tags do? Convenient data statistics? VehicleFull Unspecified 0 0 474 257 495 275 truncated: Indicates that the bounding box specified for the object does not correspond to the full extent of the object. For example, if an object is visible partially in the image then we set truncated to 1. If the object is fully visible then set truncated to 0 difficult: An object is marked as difficult when the object is considered difficult to recognize. If the object is difficult to recognize then we set difficult to 1 else set it to 0 + +Now I understand the question better. 'pose' and 'truncated' are not used in the code. However 'difficult' is used. Pls look at the config param, use_difficult_gt. You may refer the caffe-jacinto code to find out how exactly it is used? + diff --git a/sample_embedding_folder2/0866034.txt b/sample_embedding_folder2/0866034.txt new file mode 100644 index 0000000000000000000000000000000000000000..e964a00776578785c5203009f76939a70b5ed62e --- /dev/null +++ b/sample_embedding_folder2/0866034.txt @@ -0,0 +1,12 @@ +Ticket Name: CCS/AM5749: AM574x IDK target configuration + +Query Text: +Part Number: AM5749 Other Parts Discussed in Thread: TDA2 Tool/software: Code Composer Studio Dear TI Team, There is no target configuration listed to connect IDK_AM574x board(XDS 100v2 USB debug probe) to EVE_1 or EVE_2 core. Kindly share the files needed for the configuraion. CCS version using is: Code Composer Studio 9.0.1 Thanks and Regards, Deepa + +Responses: +Hi Deepa, The EVE programming toolchain is not publicly available, and as such, we do not expose the EVE cores in CCS. Regards, Mike + +Hi Mike, We have that EVE cores available for TDA platforms. And we are having PROCESSOR_SDK_VISION_03_07_00_00 and arp32_1.0.7 cg tool as a part of it. Thanks and Regards, Deepa + +Hi Deepa, At this time programming of the EVE is not supported on the AM57xx family. AM57xx treats the EVE as a black-box module for machine learning offload through the TIDL API. TDA2 and vision SDK have a different support model. What are you trying to do? Regards, Mike + diff --git a/sample_embedding_folder2/0866655.txt b/sample_embedding_folder2/0866655.txt new file mode 100644 index 0000000000000000000000000000000000000000..ba0ecc6a0f1f890e99f641c816a9e57cda380a7b --- /dev/null +++ b/sample_embedding_folder2/0866655.txt @@ -0,0 +1,20 @@ +Ticket Name: TDA3XEVM: TDA3 RVP loads eve binary failed when debugging on CCS + +Query Text: +Part Number: TDA3XEVM Other Parts Discussed in Thread: TDA2 Hi sirs, I am now doing porting TIDL OD on TDA3. I met some issus (), so I try to debug on TDA3 RVP. When I loaded EVE binary file, it was failed. The error is: ARP32_EVE_1: Trouble Reading Memory Block at 0xa1000000 on Page 1 of Length 0x4: (Error -1065 @ 0xA1000000) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 8.3.0.00003) +ARP32_EVE_1: File Loader: Verification failed: Target failed to read 0xA1000000@Data +ARP32_EVE_1: GEL: File: C:\PROCESSOR_SDK_VISION_03_07\vision_sdk\binaries\apps\tda3xx_rvp_bios_all\vision_sdk\bin\tda3xx-rvp\vision_sdk_arp32_1_release.xearp32F: Load faile Can you give me advise to fix this problem? Thank you, Gary + +Responses: +Hi Gary, can you check if you have following macros in the GEL file: VISION_SDK_CONFIG -> 0 EVE_SW_CONFIG -> 1 You can check section "3.6 Setup EVE in CCS" in PROCESSOR_SDK_VISION_03_07_00_00\ti_components\algorithms\eve_sw_01_20_00_00\docs\eve_sw_getting_started.pdf for detailed setup instructions. Regards, Yordan + +Hi Yordan, I check my gel file (TDA3xx_multicore_reset.gel) and change #define VISION_SDK_CONFIG -> 1. I didn't see EVE_SW_CONFIG, so I did nothing for this. The error remained the same after following steps in "3.6 Setup EVE in CCS" Is there any other way to cause this error? Does there any boot mode need to be set like TDA2? Although I don't see that on TDA3 user guide. ps. I work on TDA3 rvp board. Thank you, Gary + +Hi, To debug the EVE image of vision SDK, you need to disable all the gels because vision SDK already setups all the register when you boot from flash or SD card and choose the 'load symbol' option of CCS. regards, Victor + +Hi Victor, I'm not clear about "disable all the gels". Do you mean not to run "TDA3xx_MULTICORE_EnableAllCores" and then load program file for each core by using "load symbols"? Thank you, Gary + +Hi Gary, Some gel are automatically loaded when starting the debug configuration.The best method to avoid that is to create new TDA3x target configuration, select advanced tab and remove the default initialization script from the input 'initialization script'. box. For Cortex_M4_IPU1_C0, remove TDA3xx_cortexM4_startup.gel, for CS_DAP_DebugSS remove TDA3xx_dap_startup.gel. I have attached a snapshot of the CCS window when you create the default tda3x target configuration, it shows the presence of the initialization script. For your debugging purpose, you just need to remove the scripts before saving the configuration. regards, Victor + +Hi Victor, Thank you for your clear reply. Gary + diff --git a/sample_embedding_folder2/0866694.txt b/sample_embedding_folder2/0866694.txt new file mode 100644 index 0000000000000000000000000000000000000000..0e08f53c3f08ca82f33583316c6dd093b87fb4e1 --- /dev/null +++ b/sample_embedding_folder2/0866694.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA3XEVM: Need help on using L3 firewall to protect memory between M4 cores. + +Query Text: +Part Number: TDA3XEVM Hi, We are using TDA3X SOC. Needed help regarding L3 firewall. We are running task on both M4 core's, IPU_C0 and IPU_C1. We have a requirement where the task running on IPU_C1 should not access IPU_C0 memory buffers. We have memory buffer of 40MB allocated on IPU_C0 which should not be accessed by IPU_C1. The solution to this as per technical reference manual is L3 firewall. So as per L3 firewall we can protect certain memory of IPU core which cannot be accessed by other IPU core. I also looked into l3fw_app.c example code in vision SDK which protects SOC_OCMC_RAM1_BASE memory from being accessed by other M4 core. In the example the module instance is being given as L3FW_OCMC_RAM1_INST and target address is SOC_OCMC_RAM1_BASE. So I had few confusion as below, 1) Does L3 firewall works for IPU only on OCMC RAM. 2) Can I create L3 firewall for 40MB of buffer which should not be accessed by other M4 core. 3) As per memory map of TDA3x TRM says IPU_RAM 0x5882_0000 to 0x5882_0000 64KB of RAM, can we access only this RAM ?. What is the significance of this RAM. 4) Technical reference manual says IPU MMU has 32 entries, does this mean IPU cores can access only 32 entries(pages) of the DDR ? Best Regards, A G Megharaj. + +Responses: +Hi Megharaj, Please find answers to your questions as: No, you can use other L3 firewalls for IPU, through which you can protect other regions on L3 space. Please refer to L3 Firewall chapter in TDa3x TRM for more details. Differentiating/protecting accesses between M4 cores through Firewalls is not possible. This is an internal memory of IPUSS which has faster accesses as compared to other memories in the system. You can access any memory in the system through MMU pages but you can configure such 32 pages only. If you are programming all 32 pages for DDR access, then answer to your question is yes, you can access only 32 pages of DDR. But you won't able to access any other memory in the system in this case since all accesses are going through MMU. Thanks & Regards, Vivek Dhande. Texas Instruments (India) Pvt Ltd + +Hi Vivek Dhande, Thank you very much for the quick response. Just needed few clarification, 1)As per safety manual document section 4.17.3 Memory isolation on cortex M4, show one possible implementation of memory isolation for multiple tasks running on the Cortex-M4. * Define memory regions in external memory using L3 firewalls * Firewalls are reconfigured to QM mode in the following cases: QM tasks entry * Firewalls are reconfigured to ASIL mode in the following cases: QM tasks exit * Perform cache flush at entry of the QM task to remove cache entries from previous permission * Require task synchronization between both the cores; ASIL task is in one core, and the other core cannot run QM task Attaching the image as described in the document. 2) Also in the safety features manual says In case of M4, FFI between ASIL/QM can only be achieved by switching MMU tables at task-switch boundaries. So as per the above information only way to achieve FFI between M4 cores is throuh ASIL/QM task switch ? Can you please point to any examples if possible. Best Regards, A G Megharaj + +Hi Megharaj, Please find answers to your questions as: Yes, that is correct. But note that these are tasks running on the same core. One M4 core cannot run the ASIL task while the other is running the QM task within the same IPUSS at the same time. Yes, it is correct. We can achieve FFI on IPU through switching MMU tables for ASIL and QM tasks as mentioned. Example for demonstrating FFI - ASIL and QM tasks is currently not available in SDK but you can refer following the link for more details about achieving FFI on IPU: http://www.ti.com/lit/an/sprac41/sprac41.pdf But, the example demonstrating FFI within DSP and A15/M4 cores is available in the SDK. Thanks & Regards, Vivek Dhande. Texas Instruments (India) Pvt Ltd + diff --git a/sample_embedding_folder2/0867497.txt b/sample_embedding_folder2/0867497.txt new file mode 100644 index 0000000000000000000000000000000000000000..932532549ea7fa505a768999c51ae0cd4370fd75 --- /dev/null +++ b/sample_embedding_folder2/0867497.txt @@ -0,0 +1,24 @@ +Ticket Name: CCS/TDA3XEVM: TDA2/3 EVE tool - ARP32 cannot download? + +Query Text: +Part Number: TDA3XEVM Other Parts Discussed in Thread: TDA2 Tool/software: Code Composer Studio Hi Champs: By reading this doc: /ti_components/algorithms/eve_sw_01_19_00_00/docs/eve_sw_getting_started.pdf, section 3.2.1, there is an ARP tool needs to download from this link: http://software-dl.ti.com/dsps/dsps_public_sw/sdo_ccstudio/codegen/Updates/p2win32 However, this link is missed. Anyone can fix this? BR Rio + +Responses: +Hi Rio, This not a html link. You have to follow the steps as mentioned in eve_sw_getting_started.pdf to understand the installation instructions. ARP32 compiler also comes as part of SDK release and can be found at following location inside SDK : ti_components/cg_tools/arp32_1.0.7 Regards, Anshu + +Hi Anshu: Thanks, I already install the EVE compiler. 1 more question: By reading this: file:///C:/PROCESSOR_SDK_VISION_03_07_01_00/ti_components/algorithms/eve_sw_01_20_00_00/docs/eve_sw_getting_started.pdf There is only the TDA2 EVE building. Will the TDA3 EVE buidlign procedure the same with TDA2's EVE? BR Rio + +BTW, how to create / import a TDA3 project? + +Hi Rio, Both TDA2 and TDA3 have same EVE IP and hence same EVE binaries can be used for both. Regards, Anshu + +What do you mean by create/import a TDA3 project? Regards, Anshu + +Hi Anshu: Thanks for your helping. Originally, I'm the SW for Wireless + Sitara. I thought the PSDK of TDA2/3 is the same with Sitara. So, does it have the "create_project.bat" for creating the TDA2/3 proejcts? So that we can import and build the EVE? In short, my question is: once I set up the CCS5.4.0.91, how to import an existing / created project to build for EVE? The PDF didnot tell us how to import / create a project of EVE. Thanks. BR Rio BR Rio + +Hi Rio, Do you mean CCS project when you say create/import project to TDA3? Regards, Anshu + +Yes, your understanding is correct. + +Rio, We don't support CCS project as we use make based build. You can build the EVE library/test bench using the gettingStarted guide of EVE. The same can be loaded to CSS for running. If you want to create a project you can refer the makefile used for the build and create. Regards, Anshu + diff --git a/sample_embedding_folder2/0867741.txt b/sample_embedding_folder2/0867741.txt new file mode 100644 index 0000000000000000000000000000000000000000..e805a5d3ba1c24be2852d776f4a9db8db9912eee --- /dev/null +++ b/sample_embedding_folder2/0867741.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: How to support YOLOv3 with TIDL? + +Query Text: +Part Number: TDA2SX We want to running YOLOv3 model on TDA2SX to detect pedestrian and vehicle, but TIDL only support caffe model. Can TI provides support for YOLOV3 to caffe model, or where can I found some examples for this? Best Regards, Bob Deng + +Responses: +Hi Bob Deng, We haven’t validated YOLOv3, so TI can not provide support for YOLOV3 to caffe model. If the model format is caffe/tf/onnx and all the operators are supported by TIDL then they you can try importing. Thanks, Praveen + diff --git a/sample_embedding_folder2/0867872.txt b/sample_embedding_folder2/0867872.txt new file mode 100644 index 0000000000000000000000000000000000000000..de55ee0ab226f2e21c987f570bf84ac3c55b284c --- /dev/null +++ b/sample_embedding_folder2/0867872.txt @@ -0,0 +1,18 @@ +Ticket Name: TDA2SX: TIDL running multiple frames + +Query Text: +Part Number: TDA2SX Hi everyone, I am running TIDL usecase on DSP and want to use SSD model for object detection to make inference on multiple images at sequence. NullSrc is taking images one by one and sending them for preprocessing and inference. Inference on first image is correct, but for all images after the first one inference output have 26 bboxes detected and every bbox have confidence value 0.5 and values for coordinates are not as expected for any bbox. Some of them are invalid (below 0.0 and above 1.0). However, if TIDL link is restarted (System_linkStop, System_linkDelete, System_linkCreate, System_linkStart sequence of functions is called) after inference for one image and before another, results for next frame are correct. I tried same usecase with Image segmentation model and using multiple input images and there wasn't this problem. What could be the problem, why TIDL is not working correctly with my model? Regards, Sasa + +Responses: +Hi Sasa, Did you get import tool output correct for your model ? Thanks, Praveen + +Hi Praveen, Yes, import tool output is correct. Regards, Sasa + +Do you have any more suggestions? Can I at least try to have some "soft" restart for beginning? By "soft" restart I mean can I call some function at the end of AlgorithmLink_tidlProcess function to return link to initial state without taking too much time as now is the case with link restart. Thanks, Sasa + +Hi Sasa, You can try that but to root cause the issue, is it possible to run TIDL inference in standalone setup using multiple images. Thanks, Praveen + +Hi Praveen, you mean running it using debugger to download code to DSP? If that is the case, I can't because I don't have any debugger now. But I tried to have more frames as an input and after several frames the inference of multiple bboxes detected per frame, algorithm stabilizes itself and works OK for all of the frames. I wonder now why it has those few frames with bad inference?. Regards, Sasa + +Hi Sasa, Thanks for the update. You can try changing the below quantization parameters as suggested in the section 3.8 (Matching TIDL inference result) in the TIDL user guide, and check if you can see any improvement in the output. >>Set with below parameters for running on video sequence. createParams.quantHistoryParam1 = 20; createParams.quantHistoryParam2 = 10; createParams.quantMargin = 20; Thanks, Praveen + diff --git a/sample_embedding_folder2/0868080.txt b/sample_embedding_folder2/0868080.txt new file mode 100644 index 0000000000000000000000000000000000000000..bcfa52fa13f9bf2bdb4d346953332aa36d008935 --- /dev/null +++ b/sample_embedding_folder2/0868080.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2EVM5777: [TDA2x] Importing caffe-jacinto-model to TIDL + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hello, My customer is trying to run TIDL test application on TDA2. They are using TIDL 01.01.03.00 in PROCESSOR SDK VISION 03.07.00.00. (1)They want to import “ssd768x320_ds_PSP_dsFac_32_hdDS8_0” from below link. https://git.ti.com/cgit/jacinto-ai-devkit/caffe-jacinto-models/tree/trained/object_detection/voc0712/JDetNet We can find deploy.prottxt only in directory “test_quantize”. Can we use it for importing the network to TIDL? (2)After importing the network by step (1), they compared the result with JDetNet structure on Web. It looks like there are some difference in network structure between them. Example: [Layer #] [Original network] [Imported network] Layer No.8 Pooling Convolution Layer No.10 Convolution Pooling We also see the difference in parameter values. Please find attachment for details. Could you please let us know the reason of the difference? Do we need to do anything for that? TIDL_network_data.xlsx Best regards, -Shibata + +Responses: +Hi Shibata, (1) Yes, please use the deploy.prototxt from directory “test_quantize”. (2) This is expected because both the model are different, the "JDetNet structure on Web" had only 4 classes, but this model in git has 21 classes. For more details please refer to below e2e link. https://e2e.ti.com/support/processors/f/791/t/689617 Thanks, Praveen + +Hi Praveen, Thanks a lot for your comments. Regards, -Shibata + diff --git a/sample_embedding_folder2/0868101.txt b/sample_embedding_folder2/0868101.txt new file mode 100644 index 0000000000000000000000000000000000000000..d23ab434587ab71f49b41212cc8fc34467ddc0e9 --- /dev/null +++ b/sample_embedding_folder2/0868101.txt @@ -0,0 +1,10 @@ +Ticket Name: CCS: how to move tda2 C66 to TDA4 C66 + +Query Text: +Other Parts Discussed in Thread: TDA2 Tool/software: Code Composer Studio I have run our cnn on tda2 C66 , i use v7 ccs build my code creat c66 static lib and call it by visionsdk. in the lib i used EDMA to move data between L2 and DDR. now i have to run my cnn on tda4 c66, what should i do ? just using v9 ccs rebuild it? Thanks! Shuai + +Responses: +Shuai, The EDMA used in TDA2 is no longer in TDA4. You can first try to compile the lib in CCS v9 without EDMA (use cache) to see that the build, link, and run are functional. I will see who can follow up on what new DMA library you can use from the PSDKRA package. Regards, Jesse + +The DMA on TDA4x is called UDMA. You can reference how it can be used in following folder: PSDKRA: vision_apps/utils/udma Regards, Jesse + diff --git a/sample_embedding_folder2/0868369.txt b/sample_embedding_folder2/0868369.txt new file mode 100644 index 0000000000000000000000000000000000000000..e3669f0c44e88664bfe7f7f7db6264c0a07d4b7d --- /dev/null +++ b/sample_embedding_folder2/0868369.txt @@ -0,0 +1,14 @@ +Ticket Name: Compiler/TDA2EX17EVM: [Build Issue] errors encountered during linking + +Query Text: +Part Number: TDA2EX17EVM Tool/software: TI C/C++ Compiler Hi TI Team I modify usecase framecopy (vision_sdk\apps\src\rtos\alg_plugins\framecopy) to be my algorithm link and add a API in "Alg_FrameCopyProcess"(frameCopyAlgoLocalDma.c).But I build SDK fail and have the errors as below: ... ... "E:/jacob_adb/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/binaries/apps/tda2ex_evm_bios_all/obj/vision_sdk/tda2ex-evm/c66xdsp_1/release/vision_sdk_configuro/linker_mod.cmd", line 202: error: program will not fit into available memory. placement with alignment fails for section ".cinit" size 0x35c8be . Available memory ranges: DSP1_DATA_MEM size: 0xd00000 unused: 0x2db2b2 max hole: 0x2db2a4 error: errors encountered during linking; "E:/jacob_adb/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/binaries/apps/tda2 ex_evm_bios_all/vision_sdk/bin/tda2ex-evm/vision_sdk_c66xdsp_1_release.xe66" not built gmake[7]: *** [E:/jacob_adb/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/binaries/apps/tda2ex_evm_bios_all/vision_sdk/bin/tda2ex-evm/vision_sdk_c66xdsp_1_release.xe66] Error 1 gmake[7]: Leaving directory `E:/jacob_adb/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/links_fw/src/rtos/bios_app_common/tda2ex/dsp1' gmake[6]: *** [c66xdsp_1] Error 2 gmake[6]: Leaving directory `E:/jacob_adb/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/links_fw/src/rtos/bios_app_common/tda2ex/dsp1' gmake[5]: *** [apps_dsp1] Error 2 gmake[5]: Leaving directory `E:/jacob_adb/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/links_fw/src/rtos' gmake[4]: *** [apps] Error 2 gmake[4]: Leaving directory `E:/jacob_adb/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/links_fw/src/rtos' gmake[3]: *** [apps] Error 2 gmake[3]: Leaving directory `E:/jacob_adb/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/apps' gmake[2]: *** [apps_exe] Error 2 gmake[2]: Leaving directory `E:/jacob_adb/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/build' gmake[1]: *** [apps] Error 2 gmake[1]: Leaving directory `E:/jacob_adb/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/build' gmake: *** [vision_sdk] Error 2 I add the same API in "Alg_FrameCopyProcess"(frameCopyAlgoCpu.c) and it's OK.Could you give me some suggestions for the issue? Thanks so much. Best Regards, Jacob Lin + +Responses: +Hi, Its better that you increase your DSP data memory in memory map file by reducing any unwanted section size. please refer below doc vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_UserGuide_MemoryMap.pdf Regards, Anuj + +Hi Anuj I refer the document to modify the DSP1_DATA_MEM and get another error as below: ... ... [IPU1-1] 13.359330 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 [IPU1-1] 13.359482 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 254984 B (249 KB) [HOST ] 13.359940 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 [HOST ] 13.359940 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 6291456 B (6144 KB), Free size = 6250736 B (6104 KB) [DSP1 ] 11.861038 s: IPC_IN_0 : Create in progress !!! [DSP1 ] 11.861465 s: IPC_IN_0 : Create Done !!! [DSP1 ] 11.861648 s: ALGORITHM: Create in progress (algId = 0) !!! [DSP1 ] 11.861739 s: ALG_FRAMECOPY: DMA: Allocated CH (TCC) = 0 (0) [DSP1 ] 11.873574 s: ALGORITHM: Create Done (algId = 0) !!! [DSP1 ] 11.873726 s: IPC_OUT_0 : Create in progress !!! [DSP1 ] 11.873787 s: IPC_OUT_0 : Create Done !!! [DSP1 ] 13.360184 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 [DSP1 ] 13.360214 s: SYSTEM: Heap = LOCAL_L2 @ 0x00800000, Total size = 227264 B (221 KB), Free size = 227264 B (221 KB) [DSP1 ] 13.360245 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 524288 B (512 KB), Free size = 504528 B (492 KB) [IPU2 ] 13.360733 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 [IPU2 ] 13.360855 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 254936 B (248 KB) [DSP1 ] 13.859177 s: [DSP1 ] 13.859208 s: ### XDC ASSERT - ERROR CALLBACK START ### [DSP1 ] 13.859238 s: [DSP1 ] 13.859299 s: out of memory: handle=0x83d8b9b0, size=3686408 [DSP1 ] 13.859330 s: [DSP1 ] 13.859330 s: ### XDC ASSERT - ERROR CALLBACK END ### [DSP1 ] 13.859360 s: [DSP1 ] 13.859482 s: ti.sysbios.heaps.HeapMem: line 221: ti.sysbios.heaps.HeapMem: line 221: out of memory: handle=0x83d8b9b0, size=3686408 ... ... Do you give me suggestion again? Thanks a lot. Best Regards, Jacob Lin + +Hi, Why are you allocating 3 MB of data from DSP1 local heap. We allocate only very small data from local heap. If the data size is large then please use Ulits_memAlloc() ang provide heapId as SR1. Regards, Anuj + +Hi Anuj OK and I have resolved the issue.Thanks. Best Regards, Jacob Lin + diff --git a/sample_embedding_folder2/0868515.txt b/sample_embedding_folder2/0868515.txt new file mode 100644 index 0000000000000000000000000000000000000000..b8d9620615bcbc333a4f287da781e2554c9cc1f9 --- /dev/null +++ b/sample_embedding_folder2/0868515.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA4 data padding question + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi, I'm confused about the data padding. In the previous TDA2 version TIDL has all 4 padding in all directions and it's easy to understand. According to the documents "ti_dl/docs/user_guide_html/md_tidl_fsg_io_tensors_format.html" , it indicates that input and output will have pad{T , L ,R ,B}. But when I' m checking some value in custom layer example, it uses padH and padW. Here's the first question: Is padH = pad Top , pad Bot? Is padW = pad Left , pad Right? Also I check the value of some variables in the custom layer I made, founding that variables have different value when running quantools(TIDL Process with REF_ONLY FLOW) and inference phase. For example : In the quantools phase: A inData has width and height with 128 ,96 respectively , and its padW and padH equal to 1. InData pitch equal to 12771 (Channel Pitch) and 129(Line Pitch). (12771 = 129 x 99). Why the Channel Pitch is 129 x 99? In inference phase : InData has {w , h , padW , padH } = {128, 96 ,0 ,0 }. InData pitch equal to 12416 (Channel Pitch) and 128(Line Pitch). (12416 = 128 x 97). Why the Channel Pitch is 128 x 97 not 128 x 96? There is a same question about outData. The outData dims should be 64x48. outData channel pitch is 3840 and line pitch is 72. 3840 isn't divisible by 72. Could you please explain how the padding method works in TIDL or some customer layer import setting I probably miss to cause this problem. Thank you, Kevin + +Responses: +Hi Kevin, Is padH = pad Top , pad Bot? Anshu >>> Yes. We assume symmetric padding in both direction so same padding is used for top and bottom of feature map. Is padW = pad Left , pad Right? Anshu >>> This padding is only in one direction ( pad left) as during computation the same padding value (of next line) is used for the right side also. This requires one extra pixel towards the end of feature map and for allocation of input/output buffers to the network we consider full line for the same. So size of a feature map is (( W + PW ) * ( H + 2PH ) )+ PW. Where W and H are width and height of the feature map, PW = padW and PH = padH. Regards, Anshu + +Thanks for your reply. Could you please elaborate in detail with some illustrations or examples? The padW part is a little sophisticated. In my case : tidlLayer->outData[0].padH , padW == 2 , 8. Output width and height are 64 and 48. outData channel pitch is 3840 and line pitch is 72. I got these pitch value from outDataParams->pitch[1] and outDataParams->pitch[2] respectively. Somehow the channel pitch is not divisible by Line pitch. I wonder if I have missed for some parameters setting in the import phase. Thank you, Kevin. + +Hi Kevin, Channel pitch need not be a multiple of line pitch. The reason is that sometimes we align channel pitch in such a way that it is more efficient from DMA/kernel access point of view. But the minimum channel pitch should be as mentioned in my previous response (( W + PW ) * ( H + 2PH )) + PW ( I just noticed that one of the bracket was in correct in my previous response, I have corrected it now). Regards, Anshu + diff --git a/sample_embedding_folder2/0868752.txt b/sample_embedding_folder2/0868752.txt new file mode 100644 index 0000000000000000000000000000000000000000..3c326480522d794617aaab3a10443738828b11d8 --- /dev/null +++ b/sample_embedding_folder2/0868752.txt @@ -0,0 +1,186 @@ +Ticket Name: D3-3P-TDA2X-DK: How does the TDA2X UART configure GIO_read() as a non-blocking function + +Query Text: +Part Number: D3-3P-TDA2X-DK Engineers of TI: Now I have a tricky problem. I configure UART3 using the function in the "utils_uart.c" file and then use the GIO_read() function to read the data received by serial port 3. I configured the serial port 3 as "interrupt mode". During the use, I found that GIO_read() was a blocking function. If the program did not receive the data, it would be blocking in the GIO_read function. My thread needs to process other information as well, so I want to adapt GIO_read() to a non-blocking state, receiving data as it comes in, and continuing to run the rest of the program without it. Then, I configured "ioparams.timeout = 10000;" , configure UART3 to abort the read operation after waiting for 10ms without data. The benefit of this configuration is that GIO_read is not blocked by no serial port data, and my uart_link can go on to do other things. However, there is a problem, the program will run for a period of time will die. ERROR message: "XDC ASSERT - ERROR CALLBACK START". I am now suffering from the inability to use GIO_read() according to my requirements, so I have come to ask the engineers at TI how to configure GIO_read() to be non-blocking, so that my uart_link can do other things when there is no data in the serial port. My code is attached: Private_uart3Init() configures UART3. Void Private_uart3Init() +{ + Uart_ChanParams chanParams; + Error_Block eb; + GIO_Params ioParams; + static char uartName[16]; /* device name MUST be global or static variable */ + static DEV_Struct uartDevObj; + static GIO_Struct uartTxObj; + static GIO_Struct uartRxObj; + static SyncSem_Struct uartTxSyncSemObj; + static SyncSem_Struct uartRxSyncSemObj; + static Semaphore_Struct uartTxSemObj; + static Semaphore_Struct uartRxSemObj; + static IOM_Packet uartTxIomObj[UART_ASYNC_IOM_PACKET_MAX]; + static IOM_Packet uartRxIomObj[UART_ASYNC_IOM_PACKET_MAX]; + DEV_Params devParams; + Uart_Params uartParams; + SyncSem_Params syncSemParams; + Semaphore_Params semParams; + + Int32 devId; + + Error_init(&eb); + + /* + * Initialize channel attributes. + */ + GIO_Params_init(&ioParams); + + Uart_init(); + + if(Bsp_platformIsTda2xxFamilyBuild()) + { + strcpy(uartName, "/uart2"); + devId = 2; + } + else + { + Vps_printf("NOT TDA2XX!! PLEASE CHECK YOUR HARDWARE!!\n"); + } + + uartParams = Uart_PARAMS; + uartParams.opMode = UART_OPMODE_INTERRUPT; //UART_OPMODE_POLLED; UART_OPMODE_DMAINTERRUPT UART_OPMODE_INTERRUPT + uartParams.hwiNumber = 8u; + uartParams.rxThreshold = UART_RXTRIGLVL_8; + uartParams.txThreshold = UART_TXTRIGLVL_56; + uartParams.baudRate = UART_BAUDRATE_115_2K; + uartParams.prcmDevId = 0; + /* INVARIANT_CONDITION.UNREACH + * MISRAC_2004_Rule_13.7 + * MISRAC_WAIVER: + * Code is currently unreachable. + * This is kept to ensure future updates to modes. + */ + if(uartParams.opMode == UART_OPMODE_POLLED) + { + printf(" SYSTEM: UART: POLLED Mode is Selected \n"); + } + else if(uartParams.opMode == UART_OPMODE_INTERRUPT) + { + printf(" SYSTEM: UART: INTERRUPT Mode is Selected \n"); + } + else + { + /* MISRA WARNING */ + } + uartParams.enableCache = (Bool)FALSE; + + /* initialise the edma library and get the EDMA handle */ + chanParams.hEdma = NULL; + + /* If cross bar events are being used then make isCrossBarIntEn = TRUE and + * choose appropriate interrupt number to be mapped (assign it to + * intNumToBeMapped) + */ + chanParams.crossBarEvtParam.isCrossBarIntEn = (Bool)FALSE; + + chanParams.crossBarEvtParam.intNumToBeMapped = 0xFFU; + + ioParams.chanParams = (Ptr)&chanParams; + + DEV_Params_init(&devParams); + devParams.deviceParams = &uartParams; + devParams.initFxn = NULL; + devParams.devid = devId; + +/* MISRA.CAST.CONST + * MISRAC_2004 Rule_11.5 + * MISRAC_WAIVER: + * External package errors like bios which are not + * part of VSDK package can't be fixed + */ + DEV_construct(&uartDevObj, uartName, (Ptr)&Uart_IOMFXNS, &devParams, &eb); + + SyncSem_Params_init(&syncSemParams); + + Semaphore_Params_init(&semParams); + semParams.mode = Semaphore_Mode_BINARY; + + Semaphore_construct(&uartTxSemObj, 0, &semParams); + + syncSemParams.sem = Semaphore_handle(&uartTxSemObj); + + SyncSem_construct(&uartTxSyncSemObj, &syncSemParams, &eb); + + ioParams.sync = + SyncSem_Handle_upCast( + SyncSem_handle( + &uartTxSyncSemObj + ) + ) + ; + + if(ioParams.numPackets > UART_ASYNC_IOM_PACKET_MAX) + { + UTILS_assert(ioParams.numPackets <= UART_ASYNC_IOM_PACKET_MAX); + } + memset(&uartTxIomObj[0], 0, ioParams.numPackets * sizeof (IOM_Packet)); + ioParams.packets = &uartTxIomObj[0]; + + /* create the required channels(TX/RX) for the UART demo */ + GIO_construct(&uartTxObj, uartName, (UInt32)GIO_OUTPUT, &ioParams, &eb); + + SyncSem_Params_init(&syncSemParams); + + Semaphore_Params_init(&semParams); + semParams.mode = Semaphore_Mode_BINARY; + + Semaphore_construct(&uartRxSemObj, 0, &semParams); + + syncSemParams.sem = Semaphore_handle(&uartRxSemObj); + + SyncSem_construct(&uartRxSyncSemObj, &syncSemParams, &eb); + + ioParams.sync = + SyncSem_Handle_upCast( + SyncSem_handle( + &uartRxSyncSemObj + ) + ) + ; + // ioParams.timeout = 10000; + memset(&uartRxIomObj[0], 0, ioParams.numPackets * sizeof (IOM_Packet)); + ioParams.packets = &uartRxIomObj[0]; + + GIO_construct(&uartRxObj, uartName, (UInt32)GIO_INPUT, &ioParams, &eb); + + uartTxHandle2 = GIO_handle(&uartTxObj); + uartRxHandle2 = GIO_handle(&uartRxObj); + /* INVARIANT_CONDITION.UNREACH + * MISRAC_2004_Rule_13.7 + * MISRAC_WAIVER: + * Code is currently unreachable. + * This is kept to ensure future updates by the called function. + */ + if ((NULL == uartRxHandle2) || (NULL == uartTxHandle2)) + { + printf(" SYSTEM: UART: ERROR: GIO_create(%s) Failed !!!\n", uartName); + } + else + { + InitDone3 = (Bool)TRUE; + } +} uartRead3(Int8 *pOption) accepts serial port data. Void uartRead3(Int8 *pOption) +{ + Int32 nStatus = IOM_COMPLETED; + size_t nLen = 1u; + nStatus = GIO_read(uartRxHandle2, &uartReadBuffer2, &nLen); + if (IOM_COMPLETED != nStatus) + { + printf(" SYSTEM: UART: ERROR: GIO_read failed (status = %d) !!! \n",nStatus); + } + /* copy only one char */ + *pOption = (Int8)uartReadBuffer2[nLen - 1U]; +} + +Responses: +Hi, In case of the interrupt mode, looks like the current driver is not handling the timeout. When GIO_read() returns with the timeout, you can call the ioctl "IOCTL_UART_CANCEL_CURRENT_IO" before initiating the next read command. Can you check with this? In case of polled mode the timeout is handled properly, and it is used in the PDK drivers. you may refer the BspUtils_uartGetStr() with the timeout. Regards, Prasad + +Thanks for your reply. I forgot my password, so I re-registered my account. I used interrupt mode to configure the serial port "uart2", but I did not understand your reply. In case of the interrupt mode,, how do I configure the "GIO_read" function to use timeout attribute correctly? I configured it before with "ioParams.timeout = 10000;", but the program kept reporting errors. I don't know how to configure GIO_read without blocking. Please tall me more detailed and let me use UART well. I know Christmas is over, but I still want to say merry Christmas to you. Best Regards. + +Hi, In case the GIO_read returns an error with timeout, and when the UART is configured in interrupt mode, the driver doesnot cancel the current transaction, so you will have to call the ioctl GIO_control with IOCTL_UART_CANCEL_CURRENT_IO. Also the GIO_read will anyway be a blocking call even with UART in interrupt mode of operation and will wait for 10 sec in your case. If you donot receive any input in that time the GIO_read will return with a timeout error. The interrupt mode will only make the underlying UART driver to be scheduled to run only when the data is received in UART, and polled mode will poll on the UART register to get the data. However from application point of view the GIO_read will still block till it receives data/timeout happens. Even in polling mode the Task_sleep for 1 ms is called when checking for the status from UART register which will enable other tasks to be executed. May be you can use the polling mode instead as mentioned in previous reply if you need the timeout. If you are looking for processing other data from same task that is calling GIO_read for UART it will not be possible. May be you can create a task which reads from UART and gives it to other task which can process this as you receive it. Regards, Prasad + diff --git a/sample_embedding_folder2/0869218.txt b/sample_embedding_folder2/0869218.txt new file mode 100644 index 0000000000000000000000000000000000000000..d0e18728d8f85b55f3625e0df06e9eb6305a4605 --- /dev/null +++ b/sample_embedding_folder2/0869218.txt @@ -0,0 +1,12 @@ +Ticket Name: Compiler/TDA2PXEVM: TDA2PX target reset due to over temperature with SDK3.06 OPP_PLUS mode + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler Hi , In the latest 3.06 , we observed that , TD2px based HW reset due to linear increase in current and temperature when we execute below mentioned ADAS specific HM perception use case: UseCase: chains_hm_odld_adas NetworkRx_IMG (A15) -> Decode -> Dup_capture Dup_capture -> Merge_caputre Dup_capture -> Merge_caputre Merge_caputre -> VPE -> Dup_Imgs -> Select -> Alg_SvDraw (A15) -> Display_Result Dup_Imgs -> Alg_HMEve_0 (EVE1) Dup_Imgs -> Alg_HMEve_1 (EVE2) Alg_HMEve_0(EVE1) -> Alg_HModRcnnC66 (DSP1) -> Alg_HMAdasA15 (A15) Alg_HMEve_0(EVE1) -> Alg_HMldUpsampleC66 (DSP2) -> Alg_HMldPostA15 (A15) -> Alg_HMAdasA15 (A15) Alg_HMAdasA15 (A15) -> Dup_OD -> Alg_SvDraw (A15) Alg_HMAdasA15 (A15) -> Dup_LD -> Alg_SvDraw (A15) NetworkRx_CAN (A15) -> Dup_Can Dup_Can -> Alg_HMldPostA15 (A15) Dup_Can -> Alg_HMAdasA15 (A15) Dup_OD -> NetworkTx_Od(A15) Dup_LD -> NetworkTx_Ld(A15) GrpxSrc -> Display_Grpx SDK_VISION_03_06 software and HW configuration details : [IPU1-0] 15.317117 s: Vision SDK Version : [DEV_VISION_SDK_03_06_00_09] [IPU1-0] 15.317178 s: FVID2 Version : [FVID_02_01_00_01] [IPU1-0] 15.317269 s: BSP Version : [PDK_01_10_02_xx] [IPU1-0] 15.317330 s: Platform : [EVM] [IPU1-0] 15.317391 s: SOC : [TDA2PX] [IPU1-0] 15.317483 s: SOC Revision : [ES1.0] [IPU1-0] 15.317544 s: Board Detected : [TDA3XX BASE] [IPU1-0] 15.323705 s: Base Board Revision : [REV A] [IPU1-0] 15.323766 s: Daughter Card Revision: [REV A] DPLL CONFIG : OPP_PLUS DDR Config : DUAL_EMIF_2X1GB TDA2Px DDR Configuration Two EMIFs 1GB each (Total = 2GB) Here, The board has fan-less design . We are using MLO OPP Plus image with the DDR3 interleaved configuration as our library is designed on OPP_PLUS(EVE 0.9GHz, DSP 1GHz, A15 1.5GHz) and dual EMIF environment for meet to throughput. We didn’t touch anything related to temp and power management in our usecase. As per debug console logs analysis ,we find that, all DSP (at 60%) and EVE (at 90%) load. A15 and IPU are not utilized beyond 20-25% load. Note: We didn’t observe this issue with sdk3.03 release with same SW & HW configuration. Do we need to take care any specific configuration in TD2Px HW or software to prevent form over temperature issue for above usecase? Please let me know your inputs to resolve the above issue. Regards Raj + +Responses: +Raj Couple of things to check would be 1. Are you making sure you are setting AVS for the voltage rails correctly in your setup? 2. Are you setting CPU_IDLE_ENABLED=yes in your configuration file? Thanks and Regards Piyali + +Hi Piyali, Thank you for comments. We didn't modified in AVS .Using default AVS setting for Opp_plus mode. This is provided by TI released SDK-3.6(SBL). I also crossed check about "CPU_IDLE_ENABLED=yes" flag in our SDK code base. It's already configured as below. source/vision/platform/ti/tda2/apps/configs/xxxx_proto_A_bios/cfg.mk:134:CPU_IDLE_ENABLED=yes Regards Raj + +Raj OPP_PLUS support was added in the 3.6 release so there is a good chance where the 3.3 did not have OPP_PLUS frequency. Do you need OPP_PLUS for your compute requirement? Can you review if based on the compute requirement you can reduce the OPP to HIGH or OD in your usecase? Also can you review if all the rails need OPP_PLUS or only few rails need OPP_PLUS? Also, is this being run on EVM or your own custom board? Thanks and Regards Piyali + diff --git a/sample_embedding_folder2/0869816.txt b/sample_embedding_folder2/0869816.txt new file mode 100644 index 0000000000000000000000000000000000000000..03a10096dcb2f0f735b2fb84e250d618f93f1656 --- /dev/null +++ b/sample_embedding_folder2/0869816.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2EVM5777: IPU EDMA configuration for slave SPI transfers + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hello, Using starterware/PDK and running on a TDA2 we want to have IPU10 configure the EDMA to move data between SPI module 2 and DDR. The TDA will be the SPI slave for the data transfer. Transfers start when the TDA sets a GPIO high. A version of this driver was created for the A15_0, where the A15 configured the EDMA for transfers, and is working OK. Porting it to IPU10 though has not worked. Currently on IPU10 the EDMA and SPI are configured similarly to how they are in A15_0 (where EDMA does work when A15_0 does the configuration). However, when IPU10 sets the GPIO high to initiate the SPI transfer it seems the EDMA isn't moving data. Other than not seeing the SPI data in memory, the EDMA destination address register never shows movement and remains on the initial memory address despite SPI having burst hundreds of bytes. How do you configure the EDMA from IPU10 to move data to and from SPI 2 when SPI is configured as slave? Since this works on A15_0, what are the differences when configuring EDMA and/or SPI on IPU cores instead of A15 core? (SPI was configured same on both cores but the CPU ID and corresponding interrupt xbar instance numbers were changed for EDMA on IPU instead of A15.) Thank you. + +Responses: +Hi, For configuring the EDMA from IPU there are few changes required. 1. The EDMA register space address area starting from (0x4330_0000) is a bit band region from IPU memory map. You need to do the AMMU mapping for this area and use the EDMA register space from mapped address. You can refer the PDK edma example running from IPU1_0. 2. If you are using the EDMA interrupts then you need to update the interrupt configurations. You can refer the edma example for this. 3. You need to make sure that the DMA crossbar configuration is done properly to route the SPI dma event to a dma channel and the same is configured from IPU. Regards, Prasad + +Hello Prasad, Thank you for the reply. There were some things we were already doing prior to adding this EDMA SPI driver and so we were already configuring the AMMU through the TI provided function StwUtils_appConfigIPU1DefaultAMMU(). The EDMA interrupts are being used and configured in a similar manner as when configured in A15 where they do work. Is there any difference in their configuration in IPU versus A15? I will be further reviewing the DMA crossbars on IPU. On A15 only the EDMA channel was requested and no explicit crossbar configuration was done. Thank you. + +Hi, Which software are you using for the edma configuration? edma3lld or the starterware edma? Regards, Prasad + diff --git a/sample_embedding_folder2/0869825.txt b/sample_embedding_folder2/0869825.txt new file mode 100644 index 0000000000000000000000000000000000000000..78821beb97d6c0e272e3a2a141e9eeeda73b74e7 --- /dev/null +++ b/sample_embedding_folder2/0869825.txt @@ -0,0 +1,20 @@ +Ticket Name: TIDEP-01017: AWR1243 Cascade: MIPI CSI-2 Interface signal integrity + +Query Text: +Part Number: TIDEP-01017 Other Parts Discussed in Thread: TDA2, MMWCAS-DSP-EVM, AWR1243 Hi, We are trying to bring up one of our custom boards that uses two AWR1243 in cascade mode. This is interfaced with a TDA2 board (MMWCAS-DSP-EVM). Our initial tests with mmWave Studio 02.01.00.00 have all been successful. We are now wanting to move to an online data acquisition / data processing pipeline. We are using Processor SDK 3.7 Radar package for this purpose. We use one of the sample use cases provided as our starting point and customized it to enable our 2-chip cascade setup. However we are observing that data from one of the chips (slave device) is not entering the data processing chain. We probed the CSI-2 lanes on both the devices and identified that the 300 MHz CSI-2 clock signal on the slave device is skewed when compared to the master device. More specifically, the rise time is observed to be ~1.3 ns on the slave device compared to ~450 ps on the master device. The same experiments when using mmWave Studio produce very similar CSI-2 clocks (rise time of ~440-500 ps) on both master and slave devices, which leads us to believe that some configuration in the Radar SDK is causing this issue. Please see below screenshots of the measurements captured. Could you please advice as to what could be causing this discrepancy when we switch software frameworks? Thanks, Siddharth + +Responses: +Hi Siddharth, In Radar SDK implementation, it checks the cascade RF board revision to determine SPI port assignment. If it doesn't find the EEPROM for board revision, it will assume the McSPI1 (instance 0) / channel 0 is for Master and McSPI1 / channel 1 is for Slave1. Otherwise, it assign McSPI1/ch0 for Master and McSPI2/ch0 for Slave1. Could you first make sure you have the McSPI assignment set correctly for the custom board? Regards, Stanley + +Hi Stanley, Thanks for your reply. We checked the McSPI initialization and confirmed that device 0 (master) is using McSPI1 / channel 0 and device 1 (slave) is using McSPI2 / channel 0 We also checked that the firmware is loaded correctly on both devices (confirming SPI setup is correct). Below is a log of our boot up sequence. [IPU1-0] 9.026993 s: CHAINS: Init AR12xx ... [IPU1-0] 9.027084 s: Device 0 uses McSPI1->0,0 ... [IPU1-0] 9.027359 s: UTILS_MCSPI: McSPI is configured in interrupt mode!! [IPU1-0] 9.027786 s: Device 1 with board rev 5 uses McSPI2->1,0 ... [IPU1-0] 9.027938 s: UTILS_MCSPI: McSPI is configured in interrupt mode!! Device 0 [IPU1-0] 16.858781 s: AWR12XX: Version Master : 1.10.0.20 [IPU1-0] 16.858872 s: AWR12XX: Version RF:2.0.0.1 [IPU1-0] 16.858994 s: AWR12XX: Version mmWaveLink:1.2.0.0 [IPU1-0] 16.859116 s: AWR12XX: Version Master Patch[dd.mm.yy]:14.9.18 [IPU1-0] 16.859269 s: AWR12XX: Version RF Patch[dd.mm.yy]:14.9.18 Device 1 [IPU1-0] 16.861068 s: AWR12XX: Version Master : 1.10.0.20 [IPU1-0] 16.861251 s: AWR12XX: Version RF:2.0.0.1 [IPU1-0] 16.861343 s: AWR12XX: Version mmWaveLink:1.2.0.0 [IPU1-0] 16.861434 s: AWR12XX: Version Master Patch[dd.mm.yy]:14.9.18 [IPU1-0] 16.861556 s: AWR12XX: Version RF Patch[dd.mm.yy]:14.9.18 Is there anything else that could be affecting the CSI2-data when moving from mmWave Studio to Radar SDK Thanks, Siddharth + +Hi Siddharth, Could you double check the waveform for Slave1 again and make sure the probe has proper ground connection? Poor/unstable ground connection could also cause the waveform to look like what you have captured. Regards, Stanley + +Hi Siddharth, I would also recommend you to use Processor SDK 3.8 release, instead of 3.7. There are 2 configuration issues fixed in 3.8 release. Those 2 issues are probably not be related to your current problem but will be an issue with radar data integrity once data is received and being processed. Regards, Stanley + +Hi Stanley, We were able to capture the CSI-2 data using both mmWave Studio and Processor SDK and we observe a similar pattern. That is when using mmWave Studio, the data on lane 0 for both master and slave looks similar. But when we switch to Processor SDK the data from the slave appears noisy and Vpp is almost double that of the master. Please see below snapshot. We are pretty confident that the differential probe we are using is well connected to the test points of our board when conducting these experiments. Thanks, Siddharth + +Could you use the same configuration on TI 4-chip Cascade RF board and see if you notice the same behavior? + +Hi Stanley, We were able to resolve the issue. Basically, in the SDK the FPGA numbering is a function of numRadars which we changed to 2 to support our board. However, within ChainsCommon_fpgaStart, the ordering is FPGA1,2,3,0 so for our case the concerned FPGA was not turning on. We modified the code, and also mapped the VIP ports/slices correctly and we are now able to see end to end data flow for our use case. We also measured the clk again on the slave device and it looks similar to the master device which confirms the hypothesis regarding the FPGA not being enabled. Thanks, Siddharth + diff --git a/sample_embedding_folder2/0869998.txt b/sample_embedding_folder2/0869998.txt new file mode 100644 index 0000000000000000000000000000000000000000..f0a8399d70d890902e0171fba813a7f0ac4f94bd --- /dev/null +++ b/sample_embedding_folder2/0869998.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA4VM: TDA4 processor SDK download URL + +Query Text: +Part Number: TDA4VM Dear Sir, I am a software manager working in Longhorn Automotive Electronics Co., Ltd. at Shenzhen of China. Longhorn is Tier1 and also a TI AAA customer. We have completed 360 surround view monitor using TDA2S, but some scenarios are not handled well ,for example auto parking. Then we want to using TDA4 to doing auto parking. I find that TI has released TDA4 SDK at http://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-jacinto7/latest/index_FDS.html + +Responses: +Part Number: TDA4VM Dear Sir, TI has released TDA4 processor SDK, but I can not download it, please tell me how can I get the form to fill for downloading? Your reply will be greatly appreciated。 Best Regards, Bob Deng At software-dl.ti.com/.../index_FDS.html . + +Hi, please check here: Regards, Yordan + diff --git a/sample_embedding_folder2/0870312.txt b/sample_embedding_folder2/0870312.txt new file mode 100644 index 0000000000000000000000000000000000000000..72f9b7eee08b26c449d831a81a94fcbf9be01cb7 --- /dev/null +++ b/sample_embedding_folder2/0870312.txt @@ -0,0 +1,12 @@ +Ticket Name: PROCESSOR-SDK-DRA8X-TDA4X: How can I download TDA4 processor SDK? + +Query Text: +Part Number: PROCESSOR-SDK-DRA8X-TDA4X Dear Sir, I am a software manager working in Longhorn at Shenzhen of China ,We has implemented 360 surround view with TDA2S, but some scenes are not very good, such as APS automatic parking,so we want to using TDA4 to doing APS or AVP. I found that TI has released TDA4 processor SDK, but it can not be download, TI website tips that customer need to fill out the form for downloading。 Could you tell me how to fill form? Best Regards, Bob Deng qibao.deng@long-horn.com + +Responses: +Hi Bob, please check here: you can select Processor SDK RTOS or Linux for TDA4 device. regards, Yortdan + +Hi Yortdan, Thanks for your reply! I have another question is that, what is difference between Processor SDK RTOS and Processor SDK Linux? Whether do we need download both version to build surround view park assist system? Regards, Bob Deng + +Hello Bob, Both the PSDK RTOS and PSDK Linux are needed for the surround view application. The PSDK Linux is used in this demo because the A72 core is running Linux whereas all the remote cores are running RTOS. Therefore both of these are needed. Regards, Lucas + diff --git a/sample_embedding_folder2/0870328.txt b/sample_embedding_folder2/0870328.txt new file mode 100644 index 0000000000000000000000000000000000000000..63d0d7df0bd7beeb20f00f3937c197be696961a9 --- /dev/null +++ b/sample_embedding_folder2/0870328.txt @@ -0,0 +1,8 @@ +Ticket Name: Compiler/TDA2SG: TDA2 TDA4 JTAG + +Query Text: +Part Number: TDA2SG Tool/software: TI C/C++ Compiler hi,I want to buy debug tool like XDS110 ,XDS510, my problem is can XDS110 OR XDS510 support TDA2S & TDA4 simultaneously。 can you offer me the purchase link 。 + +Responses: +Hello, Yes, XDS110 is supported on both devices (TDA2S and TDA4). However, I don't see XDS510 as an option, did you mean XDS560? If so that is fine too. XDS110 is an entry-level, slower speed, fewer features type of JTAG debugger. The XDS560 is the more advanced high-performance choice. Details can be found here https://processors.wiki.ti.com/index.php/XDS560 You may purchase both of them from ti store. For example: https://www.ti.com/tool/TMDSEMU560V2STM-U https://www.ti.com/tool/TMDSEMU110-U Lastly, you may read more discussion on Jtag emulators comparison here: https://e2e.ti.com/support/processors/f/791/p/704912/2598746 https://e2e.ti.com/support/j721e/f/1026/p/850250/3144383#3144383 Hope it helps, thanks, Alex + diff --git a/sample_embedding_folder2/0870333.txt b/sample_embedding_folder2/0870333.txt new file mode 100644 index 0000000000000000000000000000000000000000..b0f2b987f127962e49e771af41d7f0c684803626 --- /dev/null +++ b/sample_embedding_folder2/0870333.txt @@ -0,0 +1,8 @@ +Ticket Name: Compiler/TDA2SG: how XDS110 connect to jtag + +Query Text: +Part Number: TDA2SG Tool/software: TI C/C++ Compiler hi, i use CCS7 & xds110 and try to debug tda2s , but not success 。 How can I connect the pin。 + +Responses: +Hi Zhangsc, can you check if this guide can give you something useful: Regards, Yordan + diff --git a/sample_embedding_folder2/0870482.txt b/sample_embedding_folder2/0870482.txt new file mode 100644 index 0000000000000000000000000000000000000000..cc32314d41efa49c7a120588bae570f1cc61b809 --- /dev/null +++ b/sample_embedding_folder2/0870482.txt @@ -0,0 +1,36 @@ +Ticket Name: TDA2SX: How to start TDA2Sx+AWR1243P cascade radar development + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: AWR1243, TDA2, Hello, experts! Background: we are currently developing the TDA2xx+AWR1243 vehicle mounted radar. Please refer to the document "processorsdkradar_userguide.pdf" section 3.9.1.6.1 as shown below: The demo board is just bought and has not been loaded yet. After power up, it can enter into the root@dra7xx-evm: interface, and then I want to run cascade_radar_demo() in matlab, but the run is wrong, because I didn't follow the above selection. The question is: 1. How to start the menu option? How to see the menu option and select "a"? 2. Is it because the demo routine is not loaded? I understand whether the new board has its own demo?Or do you need to recompile the download?Do you have any specific operating instructions? 3. Does the FPGA bit file downloaded by the demo board also come with it, so it does not need to be reloaded? Thank you very much! + +Responses: +Hi, There are 2 variants of SDK which run on TDA2+AWR1243 cascade radar board. The image you are running is Processor SDK Linux which is used for radar data acquisition with mmWave Studio on PC. It doesn't include the application mentioned in the processor sdk radar user guide. To see the above start menu, you have to download Processor SDK Radar from ti.com and follow the user guide to build the SDK. Regards, Stanley + +Hi, experts! Thank you for your reply. I have found the options in the start menu in the SDK use case, but I still have a question: 1. Is there any FPGA bit file on the TDA2SX+AWR1243P cascade demo board that is powered to run, or do we need to use the loader to download the bit file again, because the FPGA loader we bought has not come back yet? Is there any way to make sure that the FPGA is working when the power is on the demo board? 2. When using the above demo board for cascade radar development, the A15 above TDA2SX can run Linux or RTOS system. What is the difference between the two? Which is better? Thanks! + +1. FPGA is already programmed out of factory. Please refer to 2.3.2.2 Lattice FPGA Flashing Steps in user guide for the location of binary file if you want to update the binary. When you run the cascade demo, you should see log indicating FGPA is ready. 2. Linux on A15 is for data acquisition use case only to capture raw data with mmWave Studio. TDA2 doesn't do any processing. Only RTOS version supports radar data processing (FFT/Peak detect) and generates radar point cloud. If you plan to use this cascade radar EVM for data acquisition and process the data on PC, you should use the Linux on TDA2 with mmWave Studio on PC. If you plan to have radar processing on TDA2 for object detection, you should use RTOS version. Regards, Stanley + +Hi, Stanley! Thank you very much for your reply! Another question I'd like to ask you: According to the operation steps of the TDA2x User Guide document, the demo board can be successfully connected and downloaded. In addition to EVE, the connection results are as follows: The question is: 1. Why is there no address assignment after only EVE connection? 2. How does the IPU1-0 interface in 3.9.1.6 in the document processorsdkradar_userguide. PDF start?As shown in the figure above: Thanks! + +In addition, as shown in the figure below, it is the configuration introduced in the TDA2x user guide document. Is eve's lack of address assignment related to this?Should it be set to 1 to get an address assignment?What's normal? Thanks! + +Hi, Stanley! It should be noted that the above problems have been solved by reading the manual in detail! But there's a new problem: After downloading the demo routine, the IP could not ping, and the matlab program failed (failed to open the port).Is there any way to solve this problem? PS: C:\PROCESSOR_SDK_VISION_03_07_00_00\vision_sdk\apps\configs\tda2xx_cascade_bios_radar\cfg.mk NDK_PROC_TO_USE=ipu1_1, NSP_TFDTP_INCLUDE=yes Looking forward to reply! Thanks! + +\vision_sdk\links_fw\src\rtos\bios_app_common\tda2xx\cfg\NDK_config.cfg set var enableStaticIpEth0=1 reboot again + +In the main menu, please check the IP address of the board. You need to hit "enter" to refresh the main menu since it takes a minute for IP address to get assigned. By default, DHCP is enabled so you have to connect the board to router with DHCP server so the board can obtain IP address. + +Hi, jim jim3 & Stanley Liu Thank you very much for your reply! The following is my configuration ,And IP 192.168.1.200 assigned by demo, but still can not ping;In addition, the DHCP service is enabled, as shown below. Don't know where or have a problem?Can you help us? Thank you very much! + +If you enable static IP, you don't need to have DHCP server. IP address is statically assigned. With static IP, you can connect both PC and cascade board to a switch, not router. In matlab, you should update the target IP address to match the board and host IP address to match the PC. + +Thank you for your reply! Yes, I stopped the DHCP server and connected the cascade board and PC directly with the network cable, but the IP(192.168.1.200) was still not pinging, I don't know where is still wrong? Looking forward to reply! Thanks! + +Thank you for your reply! Yes, I stopped the DHCP server and connected the cascade board and PC directly with the network cable, but the IP(192.168.1.200) was still not pinging, I don't know where is still wrong? In addition, I download is IPU1_0 / IPU1_1 / DSP1 / EVE1 / EVE2 / EVE3 / EVE4 demo routines, is PROCESSOR_SDK_VISION_03_07_00_00 use version, MAKECONFIG?=tda2xx_cascade_bios_radar Looking forward to reply Thanks! + +I am not sure what's wrong in your setup. Could you try using Dynamic IP instead of static IP? Connect to a router with DHCP. Regards, Stanley + +Hi Stanley! Thank you very much for your reply. My problems have been solved, including cascade radar demo and radar cascade bf demo! However, it is not clear why radar works after CCS download, but static IP cannot be pinging, and dynamic IP is not used because there is no router. Thanks! + +One issue could impact you as well. Please refer to the below E2E and apply the workaround. https://e2e.ti.com/support/processors/f/791/t/866370 + diff --git a/sample_embedding_folder2/0870723.txt b/sample_embedding_folder2/0870723.txt new file mode 100644 index 0000000000000000000000000000000000000000..14eade46177a56e47f1ad9ca013a053cea67b00b --- /dev/null +++ b/sample_embedding_folder2/0870723.txt @@ -0,0 +1,8 @@ +Ticket Name: Compiler/TDA2SG: Utils_setCpuFreq not work success + +Query Text: +Part Number: TDA2SG Other Parts Discussed in Thread: TDA2, SYSBIOS Tool/software: TI C/C++ Compiler Hi ,my eve is run in 900MHZ, when i want to dynamic adjustment ,i call the function “”Utils_setCpuFreq“” ,but that is no success。 I work in tda2s, LateAttach ,how can I do? + +Responses: +Hi, First of all, EVE in TDA2 doesn't support Dynamic frequency and voltage scaling at run-time. The frequency and voltage has to be set at the boot time and remains static. Utils_setCpuFreq() is not actually changing frequency or voltage. It is used to pass the CPU frequency value in to TI RTOS / SYSBIOS kernel so it can calculate the CPU load correctly based on OS timer. SDK doesn't provide any API to change frequency or voltage at the run-time. At the boot time, Secondary Bootloader (SBL) can program EVE to different frequency based on OPP selected at the build time. Regards, Stanley + diff --git a/sample_embedding_folder2/0870755.txt b/sample_embedding_folder2/0870755.txt new file mode 100644 index 0000000000000000000000000000000000000000..9a4de14b85a5eb6b2e00b9572cd94a4fcc96e4e6 --- /dev/null +++ b/sample_embedding_folder2/0870755.txt @@ -0,0 +1,12 @@ +Ticket Name: Compiler/TDA2SX: I want to use GPU to accelerate my algorithm. Does tda2's GPU support opencl? + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler I want to use GPU to accelerate my algorithm. Does tda2's GPU support opencl? + +Responses: +Which SDK are you using? PSDKLA / PSDKRA does not support openCL - Subhajit + +Hi Subhajit, Thanks for your reply, I am using VSDK, but VSDK support only openGL on GPU, is there any way to use GPU to accelerate general algorithms? + +Since we do not support OpenCL, there is no method to use the GPU to perform GPGPU tasks, and therefore you cannot use TDA2X GPUs to accelerate algorithms + diff --git a/sample_embedding_folder2/0871280.txt b/sample_embedding_folder2/0871280.txt new file mode 100644 index 0000000000000000000000000000000000000000..f6c01b3c2f4d2f5274b4d69be24097c6ab93dcc6 --- /dev/null +++ b/sample_embedding_folder2/0871280.txt @@ -0,0 +1,8 @@ +Ticket Name: Compiler: how to run code on J7 C66 core + +Query Text: +Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler Hi : befor i have run my code on c66 of TDA2 evm , I use CCS to compile our algorithm into a static library of C66 and put it into the vision SDK, which is called in the framcopy link of C66。 now i have change to J7evm . I have make sdk make vision_apps and run follow app on the EVM . but i can't run app_tirtos how to compile it ? i can not find sample usecase and framcopy links in psdk_rtos_auto_j7_06_01_00_15 . how can i run my code on c66 now ./run_app_tidl.sh - Image classification demo (needs display) ./run_app_tidl_avp2.sh - Auto valet parking demo (needs display) ./run_app_dof.sh - Dense optical flow demo (needs display) ./run_app_stereo.sh - Stereo disparity demo (needs display) ./run_app_c7x.sh - C7x sample kernel demo ./run_app_srv.sh - 3D SRV 4 camera demo (needs display, Fusion1 board, 4x IMX390 camera) ./run_app_single_cam.sh - Single camera + VISS + Display demo (needs display, Fusion1 board, 1x IMX390 or compatible camera's) thanks shuai + +Responses: +Shuai, On TDA4x we have switched to OpenVx framework from the links-and-chains framework on TDA2x. You can take a look at one of many examples in the TIOVX library for getting a kernel executed on C66 DSP. For TIOVX tutorials please start here, psdk_rtos_auto_j7_06_01_00_docs_only/tiovx/docs/user_guide/index.html The run_app_tidl_xxx variants use a mix of underlying cores such as R5Fs, HWA, C66 and C7x DSP running multiple kernels and can be run without display as well. You can set the display_option flag to 0 to turn off display and enable file write option as well to see the outputs. Please take a look at the documentation of vision_apps here, psdk_rtos_auto_j7_06_01_00_docs_only/vision_apps/docs/user_guide/index.html Regards, Shyam + diff --git a/sample_embedding_folder2/0871967.txt b/sample_embedding_folder2/0871967.txt new file mode 100644 index 0000000000000000000000000000000000000000..25a64e979c349ff6fabba68a54fd20763841530a --- /dev/null +++ b/sample_embedding_folder2/0871967.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2SA: PROCESSOR_SDK_RADAR_03_07_00_00 matlab collected network port data, unable to display point cloud + +Query Text: +Part Number: TDA2SA Other Parts Discussed in Thread: MMWCAS-DSP-EVM, MMWCAS-RF-EVM As shown above, using MMWCAS-DSP-EVM + MMWCAS-RF-EVM, run the use case cascade_radar_object_detect and set the radar output to 01 0 1 0. , can be displayed smoothly in the GUI. When the radar output is set to 1 1 0 1 1, the display of the GUI is stuck, and and are not displayed. With Wireshark, you can see the data coming. What is the reason for this? Is there a better tool to collect and observe the network port data output by the radar? Thanks a lot. + +Responses: +Could you enable "pointCloud" only and see if the output is displayed correctly. If not, one reason could be you don't have the calibration data in the SD card. Please refer to the user guide for generating calibration data and put it on SD card. The "AzimuthHeatMap" runs very slowly in Matlab so when it is enabled, the display can be very slow. + +Thank you for your reply.But I can not find the user guide which remind the calibration method.Could you tell me the name of the document please. + +I tried to do radar calibration via HyperTerminal command"c: Control Calibration"with the parameter :“10 1 250”.And then enable "pointCloud"only.Matlab can display point clouds, but it can only last for more than ten seconds, and then it stops there. Thank you. + +Please read the VisionSDK_Getting_Started_Guide.pdf. It tells you where to find the documents including User Guide. In the User guide, you can find the instruction regarding calibration. + diff --git a/sample_embedding_folder2/0872128.txt b/sample_embedding_folder2/0872128.txt new file mode 100644 index 0000000000000000000000000000000000000000..20f02407cf18fb2ac99fb3f43acf1b9357864851 --- /dev/null +++ b/sample_embedding_folder2/0872128.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA3XEVM: Lane Detection Algorithm Calibration + +Query Text: +Part Number: TDA3XEVM Dear team, 1.For calibration Lane Detection algorithm we have followed User guide located in PROCESSOR_SDK_VISION_03_07_00_00\ti_components\algorithms\REL.200.V.LD.C66X.00.03.00.00\200.V.LD.C66X.00.03\modules\ti_lane_detection\docs\LaneDetection_DSP_UserGuide.pdf. Lane Detection was not smooth as we varied various parameters such as departThetaLeftMin,departThetaLeftMax,departRhoLeftMax ,etc for road with the camera holdings for different heights. Please let us know how to obtain current values (live) Theta and rho (theta1 ,theta2 ,Rho1 and Rho2) values printed on the consoles .This will help us to calibrate the road for Min and maximum values for theta1 ,theta2 ,Rho1 and Rho2 for different heights. Regards, Pradeep K + +Responses: +Dear team, 1. Any update ? 2. Do we have some calibration tool/ Reference tool to update the Theta and rho (theta1 ,theta2 ,Rho1 and Rho2) values for any given road? Currently we are not using CCES . Please let us know the above points how we can resolve? Regards, Pradeep K + +Dear team, Please respond the above query.. The theta information is provided in terms of bin and not in degrees .How we can correlate the lane detection while setting the road map information. Regards, Pradeep K + +We don't have a way to dump the running value of theta1 ,theta2 ,Rho1 and Rho2. These are not exposed by the algorithm library and we are not in a position to modify it. So, unfortunately, you need to use hit and trial to tune your parameters. Thanks, with Regards, Pramod + diff --git a/sample_embedding_folder2/0872192.txt b/sample_embedding_folder2/0872192.txt new file mode 100644 index 0000000000000000000000000000000000000000..5c5f7df4f70918d4ee4951bca5f6c5f966678bc4 --- /dev/null +++ b/sample_embedding_folder2/0872192.txt @@ -0,0 +1,10 @@ +Ticket Name: PROCESSOR-SDK-DRA8X-TDA4X: Why TIDL is disabled in TIOVX tutorial? + +Query Text: +Part Number: PROCESSOR-SDK-DRA8X-TDA4X Dear expert, I got the question: Why TIDL is disabled in TIOVX tutorial? Background: You can find the code in psdk_rtos_auto_j7_06_01_01_12/tiovx/tutorial/ch01_common/vx_tutorial.c #ifdef _DISABLE_TIDL printf("tidl tutorial disabled when compiled in 64-bits host-emulation, please compile in 32-bits\n"); #else vx_tutorial_tidl(); #endif Could you please give some more explanasion on this warning? Does it mean TIOVX/TIDL can only run in 32bit on host emulation? What about on TDA4(A72/R5F/C7x/C66)? Thanks & Best Regards! ZM + +Responses: +Hello ZM, The TIDL tutorial is only supported on the TDA2/3 family of devices as it uses the EVE. We will make this more clear in future releases. For TDA4, we have several TIDL apps in the vision apps project (vision_apps/apps/dl_demos) that you can reference for how to use the TIDL node. Please let us know if there is something specific that you are looking for from the tutorial. Regards, Lucas + +Thanks, Lucas. I will suggest our customer not to run it on TDA4/PSDKRA. + diff --git a/sample_embedding_folder2/0872700.txt b/sample_embedding_folder2/0872700.txt new file mode 100644 index 0000000000000000000000000000000000000000..0c9954fb1ea64e4a711044ecbdf07ef0a3cc44b9 --- /dev/null +++ b/sample_embedding_folder2/0872700.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2SG: tda2 McSPI interface + +Query Text: +Part Number: TDA2SG Other Parts Discussed in Thread: TDA2 Hi, two questions Q1: The normal McSPI MOSI data trace should be low in the leisure state. However, some small packets have been detected on the MOSI data trace. How do we optimize software? (MOSI: see green curve, CLK: see yellow curve) TDA2 internal and external interfaces are known to be pulled up to the same power source Q2:We measured the timing of McSPI with an oscilloscope and found that the specifications were not met,How do we optimize software? TDA McSPI operation mode: PHA = 0, POL = 0 The MOSI data is based on the falling edge of the CLK clock, and SM6 = 166.4ns is measured, which does not meet the requirements of SM6 = +-5ns. + +Responses: +Hi, Which software are you using for the McSPI? Is McSPI configured as master/slave? Are you using the TI EVM or a customer board? What is connected to the McSPI? Regards, Prasad + +Hi Prasad, We use vision-sdk software version number is ROCESSOR_SDK_VISION_03_07_00_00. The McSPI interface of TDA2 is configured as the master. Tested on our own board. A level conversion chip is connected to McSPI of TDA2, and the other end of the chip is a MCU,and the waveform measured by the MCU is normal. + +Hi, Is the data sent from the McSPI/SoC is received at the mcu correctly or there is any data corruption? Also Is the data sent from mcu received by the McSPI IP/software correctly? Is the signal measurement done near to the SoC (before the level shifter)? Regards, Prasad + diff --git a/sample_embedding_folder2/0873005.txt b/sample_embedding_folder2/0873005.txt new file mode 100644 index 0000000000000000000000000000000000000000..8141773b8e96ab5ef4009a6387914431dc7e185e --- /dev/null +++ b/sample_embedding_folder2/0873005.txt @@ -0,0 +1,8 @@ +Ticket Name: CCS/TDA2EXEVM: How to write those 3 files onto the EMMC? + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2 Tool/software: Code Composer Studio Hi Champs: Customer is asking how to Read/Write those 3 files onto the EMMC of the TDA2? A. TIDLCFG.TXT,NET / PRM.BIN? B. And how those 3 files are generated? What are those 3 files' purpose? how to use them? Thanks. BR Rio + +Responses: +Hi Rio, These files are needed for running TIDL. We don't support eMMC driver in RTOS whereas TIDL use cases are supported only for BIOS configuration. Can you ask customer to use SD card instead of eMMC. Regards, Rishabh + diff --git a/sample_embedding_folder2/0873432.txt b/sample_embedding_folder2/0873432.txt new file mode 100644 index 0000000000000000000000000000000000000000..1acf13c30ebd1c4743fde8bda4d73cbc2499c90b --- /dev/null +++ b/sample_embedding_folder2/0873432.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2SX: Linux : How to increase TDA2 memory on f Dual OS (Linux & RTOS) from 1GB to 2GB ? + +Query Text: +Part Number: TDA2SX Our system need more memory to do more algorithm, so our new platforms contain 2GB DDR memory. (M4 does not need to manage the memory area whose memory address is over 512MB) After reading the URL http://processors.wiki.ti.com/index.php/VSDK/VisionSDK_UserGuide_MemoryMap#Memory_Map_of_the_Application, our adjustments are still fail. Our testing code on EVE can access at 0xC0000000 ~ 0xD0000000 ( by modify "/vision_sdk/links_fw/src/rtos/bios_app_common/tda2xx/eve_common/tlb_config_eve_common.c" ) But the same testing code on DSP1/DSP2 cannot work. ( Note : the testing code is to access the memory address directly ) There are some error message about omap-iommu fault.... Could you help us ? Thank you very much. Regards, Eten + +Responses: +Hi, By default, DSP will have access to only those sections which are defined in the below memory map file. vision_sdk\apps\build\tdaxxx\mem_segment_definition_linux.xs So if you want to access a memory section beyond C0000000 then please add a dummy section in the above file so that it will automatically get accessed from DSP. For adding a new section please refer section 6.3 of the below doc vision_sdk/docs/FeatureSpecificUserGuides/VisionSDK_UserGuide_MemoryMap.pdf Regards, Gaviraju + +Hi Gaviraju, It works. Thanks for your help. Regards, Eten + diff --git a/sample_embedding_folder2/0873670.txt b/sample_embedding_folder2/0873670.txt new file mode 100644 index 0000000000000000000000000000000000000000..0d2a0ca9e3e1305ab4330e948eb0acd4f7a9644f --- /dev/null +++ b/sample_embedding_folder2/0873670.txt @@ -0,0 +1,10 @@ +Ticket Name: Compiler/TDA2PXEVM: Usecase is crashing in IPU core with File_open() function call + +Query Text: +Part Number: TDA2PXEVM Tool/software: TI C/C++ Compiler Hi, I was trying to create a very basic application on H264 decoding; objective was to achieve something similar to "null_src_dec_display" usecase from "Apps". So, I took the "Sample_app" as a staring point created the usecase: NullSource -> Decode -> Display On the target hardware, what i am observing is File_open() function hangs and i dont see any log, assert messages on the serial console. But the "null_src_dec_display" usecase which also deals with file input works properly. Vision SDK version: 03.07.00.00 # CPUs included in application, # PROC_IPU1_0_INCLUDE=yes # PROC_IPU1_1_INCLUDE=no # PROC_IPU2_INCLUDE=no # PROC_DSP1_INCLUDE=yes # PROC_DSP2_INCLUDE=no # PROC_EVE1_INCLUDE=no # PROC_EVE2_INCLUDE=no # PROC_EVE3_INCLUDE=no # PROC_EVE4_INCLUDE=no # PROC_A15_0_INCLUDE=no # Video Module config, # IVAHD_INCLUDE=yes # VPE_INCLUDE=yes # CAL_INCLUDE=yes # ISS_INCLUDE=yes # ISS_ENABLE_DEBUG_TAPS=no # WDR_LDC_INCLUDE=no # DSS_INCLUDE=yes + +Responses: +I found the issue. In "sample_app", the File_init() function not called. Following code at the beginning of ChainsCommon_Init() in chains_common.c solved the issue: #if defined(FATFS_PROC_TO_USE_IPU1_0) File_init(); #endif + +Hi Suman, thanks for the update. regards, Yordan + diff --git a/sample_embedding_folder2/0873880.txt b/sample_embedding_folder2/0873880.txt new file mode 100644 index 0000000000000000000000000000000000000000..711e82551777805766ee245bd429009ef01e9930 --- /dev/null +++ b/sample_embedding_folder2/0873880.txt @@ -0,0 +1,16 @@ +Ticket Name: CCS/TMS320C6748: TMS320C6748 NOR Writer Failing OMPL-138 Nor Flash Writer ? + +Query Text: +Part Number: TMS320C6748 Other Parts Discussed in Thread: OMAP-L138, OMAPL138 Tool/software: Code Composer Studio Hai Sir, I am using TMS320C6748 processor with MT28EW512ABA1HPN NOR flash using before we used MT28EW256ABA properly working but in 512Mb problem occurring through OMAPL-138 AISGen software. Below error displayed. Starting OMAP-L138 NORWriter. CFI Query...passed. NOR Initialization: Command Set: AMD Manufacturer: INTEL Size: 0x40 MB Enter the binary AIS application file name (enter 'none' to skip): ASPB_Monitor.bin INFO: File read complete. Erasing the NOR Flash Erased through 0x60020000 Erase Completed Writing the NOR Flash Data verify failed. We are selected below method in AIS Gen Software: Device Type: d800k006 DSP Boot mode : NOR FLASH Clock Source: CRYSTAL 25MHz FLASH DATA WIDTH:16-bit CS2 setup: 0x3FFFFFFC Thanking You, Regards, Ramachandra + +Responses: +Hi, Ramachandra, Could you let us know which SDK (RTOS or Linux) you are using, and its release version? Thanks! Rex + +Hi Rex, I am using OMAPL-138 starterware not using any OS through this AISGen software i am downloaded? for 256Mb Micron previos i am worked but 512Mb first time? I am able to read Manufacture ID and Device ID while loading File L2 RAM to Flash failure occurs not writing? could you give me the any suggestions, Thanking you, Regards, Ramachandra. + +Ramachandra, If you are able to read the manufacturer ID and Device ID, can you also confirm if you can read the first 32 KB of the NOR flash ? Can you also confirm that the EMIF NOR connection with OMAPL138 matches the guidelines provided in Appendix B of the guidelines provided in the schematic review guide : Are there any code changes to the NOR flash writer that we provided. Each CS on EMIF only has 32 KB of direct address mapped in the memory map, so how are you accessing > 32KB data. Regards, Rahul + +hai sir, Based on above pdf(NOR HardwareConnectionfor 32 M x 16 Device) we have same thing used but only single chip select (CS2) used in below diagram. For us only 32MB is enough other apart not required please check in above schematic diagram then i'm able to read the device ID and size proper way but write failure occurring. Could you give me some suggestion, Thanking you, Are there any code changes to the NOR flash writer that we provided. Each CS on EMIF only has 32 KB of direct address mapped in the memory map, so how are you accessing > 32KB data.? I am not changed in nor writer code Regards, Ramachandra + +Hai sir, When i am writing to nor flash properly writing and poweron reset time it's showing 0xFFFFFFFF after soft reset data showing original data showing i checked in memory browser window of ccs. May be it's the problem of reset not occring on power on time or any problem sir. Thanking you, Reagards, Ramachandra + diff --git a/sample_embedding_folder2/0873915.txt b/sample_embedding_folder2/0873915.txt new file mode 100644 index 0000000000000000000000000000000000000000..593e31a527eedea30daa62f640e7566291b9e1dc --- /dev/null +++ b/sample_embedding_folder2/0873915.txt @@ -0,0 +1,16 @@ +Ticket Name: Compiler/TDA2E: tda2x flash maximum + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler Hi Expert, I'm expected running PROCESSOR SDK VISION v03.05.00 rtos on tda2x custom board. what is the NOR / QSPI flash maximum size support to tda2x? Can it be larger than 256 MByte? Could you please provide some guide on these questions? Thanks in advance. + +Responses: +Hi, Maximum QSPI flash size can be 64 MB. You can use a bigger NOR but TI EVM support only 32 MB NOR and so we have I haven't come across any customer who uses a bigger NOR. You will need to update the NOR timings as per the custom part. Regards, Rishabh + +Hi. Please allow me to continue this E2E Thread. #1. If using TI RTOS for TDA2, the default is boot from QSPI Nor Flash, right? #2. If booting from the QSPI Nor Flash, what’s the Maximum size that QSPI Nor can be used? #3. Do we have those below items with Maximum size for TDA2/3/4? Any document? A. Boot Flash B. DDR C. EMMC? #4. To change the QSPI Nor For Booting, is there any document to let the customer follow the process for modifying the code? #5. Can we store those TIDL files on the "Booting QSPI Nor Flash" ? NET / PRM.BIN、TIDLCFG.TXT. if no, how to store them on the EMMC and what are the APIs to access those TIDL files? BR Rio + +Hi Rio, Please note that this answer is in context of TDA2/TDA3 family, for TDA4 question please start a new thread. Actually there are two interfaces: GPMC NOR and QSPI NOR. Boot via GPMC NOR is called NOR boot and it supports XIP mode. Boot via QSPI NOR is called QSPI boot. 1. There is nothing like default boot mode. In case SYSBOOT[0:15] is set to 00000000 00000000, RBL does not boot via any interface. Hence this becomes debug boot mode. 2. The maximum size for QSPI is 64 MB. 3. Boot flash can be 64 MB, DDR is 4 GB but not all CPUs will support it. eMMC is not supported in RTOS so you need to ask a separate query for eMMC size. 4. Customers can refer to SBL user guide and Vision SDK user guide. 5. TIDL files are quite big in size, hence you will need SD card. Regards, Rishabh + +Hi, How to program TIDL files to qspi (or NOR) flash if it is within 64MB? Could you please provide some guide on these questions? Thanks in advance. + +Instead of reading the network and parameters binary files, you can convert the binary files into an array in C code and compile them into AppImage. In tidlODInit(), you will read data from the array instead of from file to fill the NetParams memory. You can find the tool to convert binary to C under ~/vision_sdk/apps/tools/misc_tools/bin2c. As for configuration txt file, you may hard-code the configuration in the use case so it doesn't need to read from file. Regards, Stanley + diff --git a/sample_embedding_folder2/0874651.txt b/sample_embedding_folder2/0874651.txt new file mode 100644 index 0000000000000000000000000000000000000000..7fec9ebc2267902f7361566645da898639b01a3b --- /dev/null +++ b/sample_embedding_folder2/0874651.txt @@ -0,0 +1,12 @@ +Ticket Name: Compiler/DRA77P: Failed to boot remote proc IPU1. + +Query Text: +Part Number: DRA77P Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler Hi, In order to run RVC use case on IPU1 instead of IPU2 using TI SDK 03.02 And following to https://www.ti.com/lit/an/spracb6/spracb6.pdf The remote proc fail to boot with : [ 5.982483] remoteproc0: Booting fw image dra7-ipu1-fw.xem4, size 6706040 [ 6.009733] remoteproc0: bad phdr da 0x99000000 mem 0x4c8 [ 6.009737] remoteproc0: Failed to load program segments: -22 [ 6.012032] remoteproc0: failed to unmap 16777216/0 [ 6.012052] remoteproc0: failed to unmap 16777216/0 [ 6.012071] remoteproc0: failed to unmap 16777216/0 [ 6.034583] remoteproc0: rproc_boot() failed -22 dts changes : &ipu1_cma_pool { reg = <0x0 0x9e000000 0x0 0x02000000>; }; &mbox_ipu1_ipc3x { ti,no-reset-on-init; ti,no-idle-on-init; }; &mmu_ipu1 { ti,late-attach; ti,no-reset-on-init; ti,no-idle-on-init; }; &ipu1 { ti,late-attach; ti,no-reset-on-init; ti,no-idle-on-init; }; + +Responses: +and when I flash robust dts file : Kernel hangs at "starting kernel..." uboot logs : Core 2 ELF Image is valid Configuring IOMMU Starting the remote core loading remote core IPU1 successful Core 4 ELF Image is valid Configuring IOMMU Starting the remote core loading remote core DSP1 successful . . . Booting from eMMC ... ## Booting Android Image at 0x82000000 ... Kernel load addr 0x80008000 size 8125 KiB Kernel command line: buildvariant=userdebug RAM disk load addr 0x83000000 size 2113 KiB ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Kernel Image ... OK Loading Ramdisk to 8fdef000, end 8ffff0b9 ... OK Loading Device Tree to 8fdd2000, end 8fdee748 ... OK Using machid 0xfe6 from environment Starting kernel .. + +Hi Chokri, Just to make sure, you are using our Robust RVC Phase 6 release? It looks to me like the first issue you're seeing is that dra7-ipu1-fw.xem4 is still trying to load into the ipu2 memory region. Can you reverify all your changes through section 5 of the pdf you linked? Also, it looks like the instructions are written for TDA2 devices, not TDA2P, so please make sure you're editing the tda2px files. If possible, can you attach these files and we can double check them? PROCESSOR_SDK_VISION_03_xx/vision_sdk/build/Rules.make PROCESSOR_SDK_VISION_03_xx/vision_sdk/apps/configs/tda2px_evm_robust_rvc/cfg.mk PROCESSOR_SDK_VISION_03_xx/vision_sdk/apps/src/rtos/usecases/vip_single_rvc_ cam_view_crc/cfg.mk dra76-evm-robust-rvc.dts or dra76-evm-tfp41-0-robust-rvc.dts u-boot/include/configs/dra7xx_evm.h u-boot/common/spl/spl.c On the second issue, can I ask you to clarify what is happening? It looked like you were getting past boot in the first scenario, but after you flash the correct dtb it no longer boots? Thanks, David + +Hi David, Thanks a lot, Isuue fixed by editing PROCESSOR_SDK_VISION_03_xx/vision_sdk/apps/src/rtos/usecases/vip_single_rvc_ cam_view_crc/cfg.mk like : NEED_PROC_IPU2=no NEED_PROC_IPU1_0=yes NEED_PROC_DSP1=yes Regards, Chokri + diff --git a/sample_embedding_folder2/0874889.txt b/sample_embedding_folder2/0874889.txt new file mode 100644 index 0000000000000000000000000000000000000000..642d4bb82d0bef1dc8ed7c8a6dd9a17d7ac0fe10 --- /dev/null +++ b/sample_embedding_folder2/0874889.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2P-ACD: TIDL performance comparison between TDA2P and TDA2 + +Query Text: +Part Number: TDA2P-ACD Other Parts Discussed in Thread: TDA2 Dear Champs, Is there any benchmark data of TIDL on TDA2P and TDA2? Do you think the TIDL performance of 2x EVE of TDA2P is similar with 4x EVEs of TDA2 because the CPU clock of TDA2P EVE is 40% higher than TDA2? My customer validated their algorithm on 4x EVEs of TDA2 using TIDL and feel there is not much CPU resource remained. Now, because of internal ISP, they are thinking of TDA2P but are afraid if their algorithm can be run on 2 x EVE of TDA2P. But, because the core clock of TDA2P EVE is higher than TDA2(900Mhz vs 650Mhz), I think the TIDL performance would be similar between 2x EVE of TDA2P and 4x EVE of TDA2. Could you please let me know your idea on this total TIDL performance of TDA2P and TDA2? Thanks and Best Regards, SI. + +Responses: +Hi SI, TIDL experts are looking at your questions, but in meantime you can check those threads for some details of TIDL performance evaluation: Regards, Yordan + +Hi, By default we are not validating TIDL_OD usecase on TDA2px so we do not have any performance number for this on TDA2px plaform. We only run this usecase on TDA2xx platform and with TI's provided input files, you can get a FPS of 22-24 of Display. As we did not run this on TDA2px so we can not comment anything related to its performance on TDA2px. But its very easy to port the usecase on TDA2px and you can check the performance yourself. Please use OPP_HIGH(Higher clock speed for cores) MLO for running this usecase for both platforms. Regards, Praveen + diff --git a/sample_embedding_folder2/0875161.txt b/sample_embedding_folder2/0875161.txt new file mode 100644 index 0000000000000000000000000000000000000000..823383303813b41883f78db8c06e74755529664c --- /dev/null +++ b/sample_embedding_folder2/0875161.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2EVM5777: Vision SDK installation GUI + +Query Text: +Part Number: TDA2EVM5777 Hello, I am setting up VisionSDK 3.06 on a new PC with Ubuntu 16.04. I am not able to see the installation GUI when I run the installation executable. Instead, the installation starts in the Ubuntu Terminal. Am I missing some library which enables the installation GUI? Thank you. + +Responses: +Hi, We tested on ubuntu 14.04 & we din't tried on 16.04. please try to run from the command line Thanks Gaviraju + diff --git a/sample_embedding_folder2/0875530.txt b/sample_embedding_folder2/0875530.txt new file mode 100644 index 0000000000000000000000000000000000000000..0e764ad9fd16e72e7c141a0e14b044fed27cba38 --- /dev/null +++ b/sample_embedding_folder2/0875530.txt @@ -0,0 +1,34 @@ +Ticket Name: D3-3P-TDA3X-SK: DCAN Module in TDA3x + +Query Text: +Part Number: D3-3P-TDA3X-SK How will I be able to initialize and use the flags CFLAG BUILD_M4 or BUILD_DSP (in component.mk) in my usecase.I need to use a locally defined variable related to lane detection(infoFlag) in BUILD_DSP to reflect its value on core IPU1-1 's DCAN module(DCANTxTsk) Regards Akshatha + +Responses: +Hi Question is not clear can you please explain properly? Thanks Gaviraju + +I am developing a usecase that needs DCAN module. In the use case I am declaring a variable that needs to be sent to the other board via CAN. I have seen the below forum https://e2e.ti.com/support/processors/f/791/t/842250?tisearch=e2e-quicksearch&keymatch=dcan%20in and want to make use of CFLAGS. How can I use it and achieve to send the data through CAN. Regards Akshatha + +Hi If you want to use Dcan module please do the below changes in cfg.mk DCAN_INCLUDE=yes Using CFLAGS you cannot send any data to other boards using CAN because CFLAGS is used during build time & it is user-defined macros and others. If you want to send data to other board using CAN, you should use some API defined in the DCAN module vision_sdk/apps/src/rtos/modules/dcan/ Currently, Dcan source code is compiled for IPU core only. DCAN_SRCS = \ utils_dcan.c \ system_dcan.c SRCS_ipu1_0 += $(DCAN_SRCS) So you should use DCAN API in IPU core only & if you are using in other core then you will get a compile-time error. Thanks Gaviraju + +Hi In dcan/SRC_FILES.MK, I have added the following line SRCS_c66xdsp_1 += $(DCAN_SRCS) and trying to call DCAN in dsp1 core, it is compiling successfully. I declared a function (say, Temp(UInt8 x)) in Utils_Dcan.c which is called in the algorithm that is running in DSP_1. The parameter 'x' changes the DcanMsg data inside Temp() function but outside the function I am observing that x and DcanMsg data value being reset to 0. So how can I retain the changed value of DcanMsg data in other API's. Regards Akshatha + +Hi Currently, DCAN is supported on IPU core only it's not ported to other core. Thanks Gaviaju + +okay, then what should I do to send a message through dcan whose value is present in DSP core. Regards Akshatha + +Hi I have a variable declared in DSP_1 core and want to access it in IPU_1 core where DCAN is running. I tried PRAGMA DATA_MEM_BANK for sharing that variable between the cores but failed to compile by showing the "Unrecognised PRAGMA" error. How can I achieve the same. Regards Akshatha + +Hi As you said I am running DCAN from IPU core only and transmission is working as expected. If I want to receive the data through CAN from the other board at the same time the use case is hanging and stopped suddenly without any error. Sometimes it is showing XDC bad content error at line 407 (i.e; status = Utils_queGet(handle,(Ptr *)msgPtr,1, BIOS_NO_WAIT);) which is present in Utils_dcanQueGet() API. How to solve the issue such that DCAN should be able to recieve and send the data simultaneously. Regards Akshatha + +Hi which external module are you using to send & receive data from vision SDK? Are you sending data continuously? Send only one message then put a breakpoint in the function(Utils_dcanQueGet). & do step in line by line using CCS Thanks Gaviraju + +Hi I am not having a debugger to step through the code using CCS. Is there any other way yo see where the code is stopped. Also I am able to transmit the data through DCAN for long time but there is issue with receiver. So clearly it is the problem with the DCAN receiver. Is transmission and reception possible at the same time? Thanks Akshatha + +Hi Can you put a print statement & see the return value of the function? & add this statement before where you are getting the error. Thanks Gaviraju + +Hi In the code for transmission, periodic time (SYSTEM_DCAN_TX_PRD_MS (100)) is set, similarly for reception is it not set. Also I have a doubt whether transmission and reception is possible at the same time, because I want to transmit also want to receive at the same time. When both are enabled, DCAN reception is causing the usecase to go to hang state. How to resolve this issue. If you have developed any sample use case for DCAN can you attach that here. Regards Akshatha + +Hi Akshatha, DCAN is a serial interface, so either transmission or reception is possible at a given time. Both cannot happen simultaneously. If both nodes i.e. TDA3 and external CAN transmitter initiates transmission at the same time, the message with lower ID (i.e.higher priority) will go on the bus first. So from the DCAN perspective, it could be either in transmission or reception mode. You can enable both i.e. transmission as well as a reception in the DCAN use-case but both won't happen simultaneously. I think you have to put prints at various locations and look at them. Figure out where exactly it is failing and in next run print additional information needed for debugging like the status of the queue etc. at the same location. We do not have any sample use-case for DCAN except the existing one which I think you are already using. Thanks & Regards, Vivek Dhande. Texas Instruments (India) Pvt Ltd + +Thank you Vivek for the reply. As you said I will put prints at various locations and will see the function where it is failing. Will get back to you soon. Regards Akshatha + diff --git a/sample_embedding_folder2/0875571.txt b/sample_embedding_folder2/0875571.txt new file mode 100644 index 0000000000000000000000000000000000000000..c1b59bb258e2626a56967b8ec71750dfbd4f996d --- /dev/null +++ b/sample_embedding_folder2/0875571.txt @@ -0,0 +1,58 @@ +Ticket Name: TDA2PXEVM: [PDK SW]How to calculate Mesh LDC parameters + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Hello TI-san, I'm trying to create a Mesh LDC table from a one-to-one coordinate transformation table. (Not from camera parameters) I know how to calculate table data, but I don't know how to calculate some parameters of Mesh LDC. Could you tell me how to calculate the following Mesh LDC parameters? Physical Address0x4222 0134:LDC_BLOCK [7:0] OBW Output block width [15:8] OBH Output block height [19:16] PIXPAD Pixel pad Best regards, Yudai ISHIBASHI Physical Address0x4222 0134:LDC_BLOCK [7:0] OBW Output block width [15:8] OBH Output block height [19:16] PIXPAD Pixel pad + +Responses: +Hello Yudai, If you just one to one mapping, then you just need to fill entire table to 0x0. In this case, you could keep the output block size to be highest possible, lets say, 64x64 and pixel pad to be 0. Regards, Brijesh + +Hello Brijesh-san, I 'd like to use the mesh table downsampling factor with 8 or 16. Also, the original one-to-one table is a table for performing image transformation.(It is not a through output table.) Could you tell me how to calculate the three parameters (OBW, OBH, PIXPAD) in this case? Regards, Yudai + +Hello Yudai, output block size and pixel mapping really depends on the lookup table and based on the lookup table and input and output block ratio in the lookup table, these parameters need to be calculated. Regards, Brijesh + +Hello Brijesh-san, Could you tell me in detail how to calculate these three parameters from the lookup table? Regards, Yudai + +Hello Yudai-san, You could provide lookup table to DCC tool and tool will calculate optimal LDC parameters for the given LUT. Rgds, Brijesh + +Hello Brijesh-san, Where is the DCC tool located for Vision SDK 3.7? Regards, Yudai + +Hello Yudai, No, DCC tool is separately released on CDDS. Please contact your local TI FAE to get access. Regards, Brijesh + +Hello Yudai, Also i would suggest to try with 32x32 block size and 1 pixel pad to see if this works fine.. Rgds, Brijesh + +Hello Brijesh-san, I'm trying to use the DCC tool, but I have some questions, so please let me know: (1) Which is the unit of "Mesh table width" and "Mesh table height" in the “Advanced params” tab menu the number of bytes or the number of pixels? Table 1 of Mesh LDC plugin guide.pdf does not include these descriptions. (2) What kind of format should I prepare for LDC LUT file? Mesh LDC plugin guide.pdf only mentions "LDC LUT file", so I don't know the format details. Could you provide a sample of LDC LUT file? Additional question is below: (3) In DDC (Plugin is LDC), is it possible to arbitrarily change the values of "OBW Factors Checked" and "OBH Factors Checked" in Tuning method = "Semi-Automatic"? The values of "OBW Factors Checked" and "OBH Factors Checked" seem to be limited to 32, 64, 96, 128, 160, 192, 224 and 256. Regards, Yudai + +HI Yudai, For mesh generation, you may refer to this post: https://e2e.ti.com/support/processors/f/791/p/662696/2435557?tisearch=e2e-sitesearch&keymatch=LDC (TDA3 TRM: http://www.ti.com/lit/ug/spruie7d/spruie7d.pdf). For TDA2/TDA3 LDC, the mesh size is the same as the input image size (see LDC_INPUT_FRAME_SIZE in TRM). In "semi-auto" mode, the tool only searches some (not all) possible values. There are some constraints about the block size (please refer to TRM for details). You may fill in your desired size in "manual" mode and click "process" button to see if the size works without any error feedback. Best, Gang + +Hello Gang-san, My question (1) and (2) are resolved. For my question (3), I'd like to change the values of "OBW Factors Checked" and "OBH Factors Checked" within the hardware constraints. For example, even if OBW and OBH can be set to 8 or 16 in hardware, can't DCC tool include those values in semi-auto mode search? Regards, Yudai + +Hi Yudai, The tool tries to find largest block size for best performance. I am not sure how the tool searches exactly, but in general it tries to search all 16x values so that the search time is not too long. Typically the block size shall be no less than 32x32 (otherwise LDC performance is very bad). – OBW: 8x for YUV422; 16x for YUV420; 0 < OBW < 256 – OBH: 2, 4, 6, …, 254 – PIXPAD: 2, 3, 4, …, 15 Once you get the best 5 block sizes from the tool, you may try near by once manually with the above constraints if you want to further optimize the performance. Best, Gang + +Hello Gang-san, I understand that DCC tools only search for values above 32, because values below 32 can be very bad for performance. Thank you, Yudai + +Hi Yudai-san, I understand that you are seeing noise, can you please confirm. Regards, Sujith + +Hi Yudai-san, If you facing noise issue still, can you please provide the Mesh table, sample image and LDC configuration that you are using? Regards, Sujith + +Hello Sujith-san, Since the noise issue has not been solved yet, I attach the data for analysis. Please refer to ReleaseNote_20200226.txt for the contents. In this issue, MeshLDC output image is noisy when using the recommended parameter values of DCC tool in semi-auto mode search. (Ex. OBW=32,OBH=32) MeshLDC output image is not noisy when lower valued parameters are set manually, but the processing time increases significantly. (Ex. OBW=32,OBH=8) Since the noise is not reproduced by the DCC tool, we need to set the parameters manually and actually run the program on EVM. We'd like to more easily search parameters that is noise-free and does not degrade the performance. Is there any good way? Reards, YudaiLDCdata_for_analysis.zip + +Hi Yudai, My apologies! Once I got the request in my email, I confused this TDA2P case with TDA4. Please ignore my previous post which is assuming TDA4 LDC. Here is my TDA3 DCC tuning tool output screen capture for your LDC configuration and mesh LUT. You will need to use 16x16 with pixel pad 3 to avoid any output image artifacts. I am not sure if I misled you to use TDA4 version of DCC tuning tool. Please make sure you use TDA3 version. In your case, your output image scale down a lot from your input image, which reduces LDC performance. You may consider scaling down (e.g., 2x down) your input image first (e.g, using ISP resizer) and then use LDC. That way, you will have much better LDC performance with larger LDC block size. Best, Gang + +Hi Yudai, A few extra points about using TDA2P LDC H/W. In you example, only about 960x320 out of the output is useful. You may set the output image size to 960x320 with starting point at 480x530 (In TDA3 TRM, you may find register "LDC_FRAME_SIZE" and "LDC_INITXY" for them). In this way, LDC will only generate 960x320 output (which saves LDC time and bandwidth. You may use block size 32x10 with pixel pad = 3 for best LDC performance. An alternative is to prepare your mesh LUT so that the interested region is at the top left corner and you may use starting point 0x0 with 960x320 output image size. Unfortunately, the mesh size is decided by the input image size and you have to create a mesh LUT with the same size as input image rather than output image. This way may be easier for you S/W programming. For TDA3 LDC, there are constraints about LDC block size. OBW: 8x for YUV422; 16x for YUV420; 0 < OBW < 256 OBH: 2, 4, 6, …, 254 PIXPAD: 2, 3, 4, …, 15 Also, the output image size must be multiple of the block size. Best, Gang + +Hello Gang-san, I used TDA4 DCC, so I would like to get TDA3 DCC from local FAE. When I get TDA3 DCC, I will try to use it. By the way,I ran the sample code with your best parameters(OBW=16,OBH=16,PIXPAD=3) on TDA2Px-EVM, but hanged up with the message below: --- SIMCOP_APP: Error Submitting request --- As with the noise issue, it is very difficult for us to evaluate MeshLDC because DCC simulation works well but EVM does not. Is there any easier way to evaluate MeshLDC with TDA2Px-EVM? Regards, Yudai + +Hello Yudai, Do you see any other error message from driver? Looks like some error check if failing. Could you please share complete LDC configuration? Rgds, Brijesh + +Hello Brijesh-san, I attach the data for analysis (Captured image for CCS window when displaying error and the source code when ran). Regards, Yudai LDCdata_for_analysis_20200227.zip + +Hi Yudai, Your local support will provide the correct version, tools, and extra information related to your TDA3 test case. Best, Gang + +Hi Yudai, Can you try changing mode to VPS_ISS_SIMCOP_LDC on below line? I am suspecting some VTNF configuration is causing issue. LDC config looks fine.. pAppObj->simcopCoreOpenParams.mode = VPS_ISS_SIMCOP_LDC_VTNF; Regards, Brijesh + +Hi Yudai, I have tried this example with LDC only mode. It works fine. Could you please change mode to LDC and then test it out with LUT? Rgds, Brijesh + +Hello Brijesh-san, After changing the source code to LDC only mode, I ran the sample code with recomended parameters(OBW=16,OBH=16,PIXPAD=3) on TDA2Px-EVM. It worked fine. After this, I will use TDA3 DCC and try some of your suggestions. Regards, Yudai + +Thanks Yudai-san. I am closing this thread. + diff --git a/sample_embedding_folder2/0875654.txt b/sample_embedding_folder2/0875654.txt new file mode 100644 index 0000000000000000000000000000000000000000..17ccb1dbad57597dbf67d24f676bc04602568433 --- /dev/null +++ b/sample_embedding_folder2/0875654.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2HG: 3D GPU SGX544 SrvInit failed (24) [47, /pvrsrvinit.c] + +Query Text: +Part Number: TDA2HG Hi, In one production fail at Client, the following errors from GPU was observed : ---------------------------------------------------------------------------------------------------- PVR_K: (FAIL) SGXInit: Unable to validate device DDK version PVR:(Error): PVRSRVInitSrvDisconnect: KM returned 24 [2638, /bridged_pvr_glue.c] PVR:(Error): PVRSRVBridgeCall: Failed to access device. Function ID:3223086861 (Bad address). [294, /pvr_bridge_u.c] PVR:(Error): SrvInit: P[ 9.127164] DMA: Module install successful, device major num = 248 VRSRVInitSrvDisconnect failed (24). See srvkm lo[ 9.137745] DRV: Module install successful g for details. [135, /srvinit.c] PVR:(Error): m[ 9.145803] DRV: Module built on Jan 23 2020 19:58:43 ain: SrvInit failed (24) [47, /pvrsrvinit.c] ------------------------------------------------------------------------------------------------- Please find attached the complete log. terminalTDA2x@RT.#1.txt Is this a GPU hw issue ? Which other hw issues can make the initialization fail ? How to debug for exact cause? Thank you. Best Regards, Mukund + +Responses: +Hi Mukund, The log shows there is some compatibility mismatch between sgx-km and sgx-um. Compiler options used for sgx-km and sgx-um seems different. The dmesg log says sgx-km is in debug mode. As TI releases always release-mode sgx-um binaries this could be the issue for the failure. Is the issue observed consistently or sometimes? Do you have any idea of commit-id of sgx-km and sgx-um used in the system? Please share the same if you have. Thanks RamPrasad + +Hi RamPrasad, Can you please elaborate on compatibility mismatch between sgx-km and sgx-um. I could not make it out from the log. Also How does the Compiler options used for sgx-km and sgx-um seem different? Where does the log say sgx-km is in debug mode? Thanks Mukund + +Hi Mukund, Default sgx-us binaries available is built with BUILD=release, but the log you shared has some PVR_K prints in sgx-km which suggests , sgx-kernel modules are built with a different options(BUILD=debug and may be some more). Please try to get information on what compiler options are used to build sgx-km. Thanks RamPrasad + diff --git a/sample_embedding_folder2/0877174.txt b/sample_embedding_folder2/0877174.txt new file mode 100644 index 0000000000000000000000000000000000000000..d903ce04ebf9bf162ae480c9732a62b70464d218 --- /dev/null +++ b/sample_embedding_folder2/0877174.txt @@ -0,0 +1,50 @@ +Ticket Name: DRA78XEVM: GEL file to initialize all cores in SoC DRA78x + +Query Text: +Part Number: DRA78XEVM Which GEL file is best to initialize all cores for the SoC DRA78x ? Or Do I have to select a GEL file for each core and which GEL files then ? + +Responses: +If you have the latest device support package installed ( https://software-dl.ti.com/ccs/esd/documents/ccs_device_support_files.html?keyMatch=Automotive%2520device%2520support&tisearch=Search-EN ) when you create a target configuration and start a debug session it will automatically call the gel files for you. Then when you connect to each core, it will call the respective core initialization gels. There is no best file as they all do their part. If you are asking for a goot place to start it all, it's probably the "_startup_common.gel". + +Hi Alex. The page you provided has many links for download. are these below the required links for the DRA78x ? Automotive Automotive v1.1.6 The Shared support package 1.1.4 is also required. + +Hello, Yes, that is correct. Download and install Automotive and shared support packages. Thanks, Alex + +Hi Alex, I am using DRA78x. Shall I use the gel files in this path \TI\ccs910\ccs\ccs_base\emulation\gel\TDA3x ? But here I can not see any GEL file for C66xx_DSP for Cortex_M4_IPU1_C I can see GEL file TDA3xx_IPU1_startup.gel and TDA3xx_cortexM4_common.gel and TDA3xx_IPU1_startup.gel Which is one I use to initialize Cortex_M4_IPU_1 ? from the above two images which is which used for initialization ? Also where I can find info about using each GEL file in this folder: \TI\ccs910\ccs\ccs_base\emulation\gel\TDA3x ? Regards Hatem + +Correct, the DRA78x device is pointing to the TDA3x gel folder (shared b/w the 2 sibling devices). If you actually click on each core you will see the default gel that was set by the SDK team in the device target configuration file. So look like you should use the TDA3xx_IPU1_startup.gel gel actually. Again, when you connect this should be all done in the background, is there a reason you need to play with these? If so, there is always the scripts menu to experiment with. I don't have a precise guide to use these gels. If you have vision SDK, after you download and install it, there is a folder and a TDA3x doc that you can refer to which mentions how to connect to target and how each gel is called. vision_sdk\docs\UserGuides\VisionSDK_UserGuide_TDA3xx.pdf + +Hi Alex, One final question which GEL file I need to use for the C66xx_DSP ? Thank you. + +For DSP (in fact to enable all cores) the "multicore_reset" gel is doing the trick. See section "3.7 Load using CCS" in the attached doc: 4760.VisionSDK_UserGuide_TDA3xx.pdf Hope it helps and it's clear now. thanks, Alex + +Hi Alex, I am getting there. I build an example and tried to debug it. But I got: Error connecting to the target: (Error -6305) PRSC module failed to write to a router register. (Emulation package 8.3.0.00003) Any clues ? Regards + +So, you have installed the package (i.e. unzipped the files in the folder as stated on the wiki page). Then do you start a debug session and connect to M4 first, leaving gels to execute? + +Installed the package as wiki page says Then I tried to start a debug session and connect to DSP1 first as I want to run my example code on the DSP1. Then I got the error message: + +Try this, connect to M4 first. Then go to Scripts menu -> TDA3x multicore initialization -> EnableAllCores. Let us know the result. thanks, Alex + +The very first time I tried to start debug it asked me to which DSP1 or DSP2 I want to connect. Then I do not see it anymore From which menu I can connect to M4 first ? in my Scripts menu it says:: No scripts available + +Create a new target configuration file -> File -> New -> Target configuration Select your platform and click save. Launch debug session and right-click on M4 and click connect. Now you should see the scripts menu populated. + +This is what I did: File -> New -> Target configuration Selected DRA78x Initialization Script point to TDA3xx_multicore_reset.gel for every core Then From RUN menu Run -> Debug I am still getting the same error Moreover I do not see the various cores list in the Debug Perspective. WHY ? + +When I launch the debug I get: But I do not see the M4 nor the EVE cores. WHY ? + +I solved the above. Should I first connect to M4 then load the my project to DSP1 ? Not Sure. Please help + +When I try to connect to M4 I get this error : ortex_M4_IPU1_C0: Error connecting to the target: (Error -275 @ 0x0) The attempt to poll a target device exceeded its timeout limit. The utility or debugger has requested that a target device be repeatedly accessed for a specific data or status value. This has failed because the built-in limit for the maximum number of attempts when polling the JTAG scan-path has been exceeded. (Emulation package 8.3.0.00003) Any clues ? + +I solved the above: What I want now is to boot the DSP from the SD card Do I need to write a bootloader code and save it to the SD card and then boot the M4 from the SD card and then M4 boots and loads the DSP I am not sure about the sequence. Can please help ? + +You can't connect via JTAG when booting from SD card. You can load the compiled SDK binary on DSP to execute. + +Yes. I do not want to connect to the JTAG, I want to store my binary in the SD card and when I apply power, the DSP will boot and load the binary from the SD card. So I need a bootloader to boot the M4. Then the the M4 will boot the DSP and load the binary from the SD card to the DSP and run it Is this sequence correct ? Please clarify ? + +Can you open a new thread? We will assign the corresponding experts there. Your original issue with gels is resolved, so please mark this resolved. + +Thank you + diff --git a/sample_embedding_folder2/0877738.txt b/sample_embedding_folder2/0877738.txt new file mode 100644 index 0000000000000000000000000000000000000000..4d166c28654425c668e68d07ecbbf4920f1268ea --- /dev/null +++ b/sample_embedding_folder2/0877738.txt @@ -0,0 +1,20 @@ +Ticket Name: TDA4 different output between PC and platform + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi, I got the different output between PC and latform in TDA4. This model can also work normally in TDA2. The architecture is look like the figure below. The difference is begin with third layer. This layer is merged by convolution and relu. layer { name: "down2/bd" type: "Convolution" bottom: "down2/bn" top: "down2/bd" param { lr_mult: 0.0 decay_mult: 0.0 } convolution_param { num_output: 24 bias_term: false pad: 1 kernel_size: 3 group: 24 stride: 2 } } layer { name: "down2/bd_relu" type: "ReLU" bottom: "down2/bd" top: "down2/bd" } There are some files about the net and param in the last. I ask you a favor for making output become the same between PC and TDA4 platform. Thanks, Tedtidl_net.rartidl_param.rar + +Responses: +Usually, convolution and Relu layers are merged together. When you say PC, is it framework or TIDL host emulation? Do you see difference in layer level outputs? You can refer to section "steps to debug" in TIDL documentation to do layer level debug / difference analysis between framework and TIDL Can you please send zip files instead of rar files? - Subhajit + +Hi Subhajit: The PC I said, which is meaning the TIDL host emulation. I've already see the difference in layer level outputs by setting writeTraceLevel = 3 and check the trace files. The difference is start at third layer. Thanks, Ted tidl_net.zip tidl_param.zip + +Hi Ted, Can you share the deploy.prototxt, import and infer config files for me to reproduce the issue. Regards, Rishabh + +Hi Rishabh: Here is the files you need. Thanks, Ted conv_issue.zip + +Hi Ted, The model you have shared has a parameter called "blur_kernel" and cannot be imported with TIDL import tool I get an error message Error parsing text-format caffe.NetParameter: 181:16: Message type "caffe.ConvolutionParameter" has no field named "blur_kernel" Can you please share the model using which you are able to reproduce the mismatch issue with TIDL. Regards, Rishabh + +Hi Rishabh: Sorry about the wrong files. Here is the files after fixing. Thanks and Regards, Ted conv_issue.rar + +Hi Ted, TI made a new release for PSDKRA: http://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/index_FDS.html Can you confirm if you see the issue with latest release. Regards, Rishabh + diff --git a/sample_embedding_folder2/0878909.txt b/sample_embedding_folder2/0878909.txt new file mode 100644 index 0000000000000000000000000000000000000000..45a2cb96303665bc8c1b276e812465aaa998746b --- /dev/null +++ b/sample_embedding_folder2/0878909.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2EVM5777: [TIDL] Queries about caffe-jacinto layers + +Query Text: +Part Number: TDA2EVM5777 Hi, This is regarding TIDL (REL.TIDL.01.02.00.00) I’m looking caffe-jacinto model. I would like to know the details about “DetectionOutput” layer and “PriorBox” layer. - What is done in these layer? - The meaning of each parameters (min_size, aspect_ratio, share_location, code_type, etc.) I checked TIDeepLearningLibrary_UserGuide.pdf as well as API guide TIDeepLearningLibrary_API.chm, but could not find good explanation. Are there any information? Regards, -Shibata + +Responses: +Hi, TIDL implements Single Shot Multi Box Detector (SSD). https://arxiv.org/abs/1512.02325 The layers that you mentioned were originally developed by Wei Liu, who implemented SSD in Caffe. You can see the original implementation of SSD here: https://github.com/weiliu89/caffe/tree/ssd The original implementation of the specific layers that you mentioned are: https://github.com/weiliu89/caffe/blob/ssd/src/caffe/layers/detection_output_layer.cpp https://github.com/weiliu89/caffe/blob/ssd/src/caffe/layers/prior_box_layer.cpp You can go through these files to get a better idea. [caffe-jacinto](https://github.com/tidsp/caffe-jacinto) is derived from [nvidia-caffe](https://github.com/NVIDIA/caffe), the SSD part of which is which in turn inspired by Wei Lu's implementation. Best regards, + +Hi Mathew, Thanks for sharing the information. Please close this thread. Regards, -Shibata + diff --git a/sample_embedding_folder2/0878931.txt b/sample_embedding_folder2/0878931.txt new file mode 100644 index 0000000000000000000000000000000000000000..28b35e582649248970fe0e780dcd132513cbf6b3 --- /dev/null +++ b/sample_embedding_folder2/0878931.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2EVM5777: [TIDL_OD][PROCESSOR SDK VISION] Statistics with different input fps + +Query Text: +Part Number: TDA2EVM5777 Hi, This is regarding TIDL_OD running on TDA2x. Here are some experiment, running TIDL_OD with same indput data, differnt fps settings. Even though using the same input data, we see the different in Statistics printing between 1 fps and 60 fps. Please find below screenshot for details. What is the reason for the difference? Thanks, -Shibata + +Responses: +Hi DSP1(60 FPS): When the CPU load is very high(Almost close to 100%), then this will not print any statistics. IPU1(1 FPS): Some task CPU load we are not printing in our code if it's taking < 0.1 % Thanks Gaviraju + +Thanks Gaviraju. Understood. Regards, -Shibata + diff --git a/sample_embedding_folder2/0879255.txt b/sample_embedding_folder2/0879255.txt new file mode 100644 index 0000000000000000000000000000000000000000..763f9354fc61a2dbf0e58a6e01d1aab655ddfe92 --- /dev/null +++ b/sample_embedding_folder2/0879255.txt @@ -0,0 +1,20 @@ +Ticket Name: TDA4VM: PDK/MCAN - configuration for classic CAN mode + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 Hello, We are transmitting data over MCAN2. For the configuration of MCAN, we referred to the Gateway demo and MCAN EVM Loopback example from PDK. Our current configuration sets the mode of MCAN to CAN-FD with nominal bit rate of 1 Mbps. We wish to change this to classic CAN operating at 500 kbps. First, we simply tested the following change, but it did not work out. In the second attempt, we configured the following values, but these changes are also not working. Are these bit timings correct? Do we need to make any other changes to the MCAN configuration? Thank you. + +Responses: +Hi, Can you please make the following changes and check - bit.Times.nomRatePrescalar = 0xFU; bit.Times.nomTimeSeg1 = 0x5U; bit.Times.nomTimeSeg2 = 0x2U; You can find how to calculate bit rate in - https://processors.wiki.ti.com/index.php/PDK/PDK_FAQ#How_is_bit-rate_calculated.3F Regards, Karan + +Hello Karan, We made your suggested changes, switched the mode to Classic CAN, and tested our vision app. The app loads and processes camera frames for 1 to 4 minutes, and after that, it freezes/hangs. We were able to reproduce this behavior 4 different times. We are able to see some CAN signals, but we did not validate whether those were correct, because that is irrelevant if the app hangs. Later, we reverted all changes, and the same application runs fine in CAN-FD mode with 1 Mbps data rate configuration. Your suggested changing one value for the MCAN_NBTP register. Do we need to make any more changes? Also, are there any changes required for the MCAN_DBTP register? Thank you. + +Hi Sagar, I suspect this to an SW timing issue. Can you please check by adding inter packet delay's. i.e. transmit every 3rd or 4th frame. 500 Kbps has been used in many usecases without any issues. Regards, Sujith + +Hello Sujith, The J7 TRM states that for MCAN functional clock (MCAN2_FCLK) frequency of 8 MHz, setting the MCAN_NBTP register to its reset value configures it to work at 500 kbps. Accordingly, we set 'fdMode' to (0x0U) and modified the bitTimes values in our vision app. But the vision app is not able to start. We will try out your suggestion and reply with our observations on this thread. In the meantime, I have two questions: 1. What is the nominal value of MCAN2 Functional Clock (FCLK) frequency? 2. Is this frequency being modified in the K3 MCAN EVM Loopback example? Thank you. + +Hello Sujith, Sujith said: Can you please check by adding inter packet delay's. i.e. transmit every 3rd or 4th frame. We tested this, first for every 3rd frame, and then for every alternate (2nd) frame. In both tests, the vision app worked fine without any hang/freeze problem. We concluded both tests at the end of around 30000 frames, but I am assuming that the app would work fine for longer durations as well. So the MCAN settings shared by Karan are working for J7 MCAN 500 kbps operation. However, we are not able to transmit our CAN packets after every frame (33 ms). How can we resolve this issue? Note that on TDA2, we were able to transmit even larger CAN packets at every 30 ms or so. The difference is we used System_LinkControl on TDA2, and we are using Remote Service API on TDA4. Since my core issue is resolved, I can close this thread and open another one for further discussion. Kindly let me know. Thank you. + +Hi Sagar, Yes, please close this thread and open a new one. Regards, Karan + +Closing this thread. Thank you. + diff --git a/sample_embedding_folder2/0880281.txt b/sample_embedding_folder2/0880281.txt new file mode 100644 index 0000000000000000000000000000000000000000..151cfbf938e71ec98b79ee820c702a7a43b3e060 --- /dev/null +++ b/sample_embedding_folder2/0880281.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2EXEVM: TDA2 Processor Board + AWR RF Board Connection + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2 Hi, In the ProcessorSDKRadar_UserGuide.pdf, High Level Block Diagram on page 13, there is a UART3 connection from the Processor Board to the RF Board thru a selectable MUX. Can you tell me what the 4 UART lines into the RF board is for? I know Processor communicates with RF board over SPI and not UART. We redesign the RF board and have a device on it that we need to interface with from the Processor Board. Can we use one of these 4 UART to interface with this device? If not, please recommend an interface from the Processor Board to the RF Board we can use? Thanks, --Khai + +Responses: +Hi Khai, UART port is used for programming firmware to flash. One for each radar. Regards, Stanley + +Hi Stanley, Can you recommend an interface to communicate with a new device on the RF board from the Processor board. Thanks, --Khai + +Khai, The SoC can support up to 10 UARTs if that is the interface you would like to use for this other new device. Refer to the Data Manual for proper pin locations of UARTs. Also, there is I2C going from the TDA2 Processor Board to the AWR RF Board. So depending on what device has been added there are those options. Thanks, Alec + +Alec, Please provide Data Manual. Thanks, --Khai + +Khai, I edited my initial reply shortly after to include that I2C could be an option as well for communication. Just matters what your extra device is capable of. Datasheet is available at this link for reference: http://www.ti.com/product/TDA2SA?keyMatch=TDA2S&tisearch=Search-EN-everything&usecase=part-number Thanks, Alec + diff --git a/sample_embedding_folder2/0880350.txt b/sample_embedding_folder2/0880350.txt new file mode 100644 index 0000000000000000000000000000000000000000..9f4820386ba2d94ae3374d46b363abb5a80778a6 --- /dev/null +++ b/sample_embedding_folder2/0880350.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2EX17EVM: OpenVX Support on TDA2EX17x17 + +Query Text: +Part Number: TDA2EX17EVM Dear Sir: We are using PSDK VISION 03_08_00_00 on TDA2EX17x17EVM. The OpenVX support on it is v1.1. My question is that does TI has any plan to upgrade the OpenVX support from 1.1 to 1.2 or even 1.3? Regards, /ckhsu + +Responses: +Hello, As you said, we are currently supporting OpenVX 1.1 on our J6 platforms. Is there a feature that you need from the OpenVX 1.2 or 1.3 specifications? Regards, Lucas + +Hi Lucas: In OpenVX 1.2 or 1.3, there is hough line detection api but not in 1.1. This is what we want. We have normal houghline detection algorithm in C/C++ but we need a TI optimal solution in C66 to see how fast we can reach in C66 in comparing to our C implementation. Regards, /ckhsu + +Hello, As of now, we do not have any plans to implement the hough line detection api in TIOVX. Regards, Lucas + +Hi Lucas: Thank you for the information. Regards, /ckhsu + diff --git a/sample_embedding_folder2/0880595.txt b/sample_embedding_folder2/0880595.txt new file mode 100644 index 0000000000000000000000000000000000000000..391f89db8626930a1a0ac707c6df336411bc5542 --- /dev/null +++ b/sample_embedding_folder2/0880595.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2EXEVM: Understanding Processor SDK TDA2 Cascade Mode + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2 Hi, I am reading the code for Cascade use case running on TDA2. I am lost on the Chirp Configuration chains_common_cascade_ar12xx_config_mimo.c file. Is there a doc that explains the chirp config? 1. What's the concept of Master and Slave? 2. On line 249, rlChirpCfg_t gChains_cascadeRadarChirpCfgArgsMaster[CHAINS_RADAR_MAX_NUM_CHIRP_CFG], where CHAINS_RADAR_MAX_NUM_CHIRP_CFG = 64, but the initialization only fills 10. Same for the slave array of this structure. 3. I don't understand why txEnable is set as such in the code Thanks, --Khai + +Responses: +Also, There are two #define constant that I guess might mean the same. CHAINS_CASCADE_RADAR_RADAR_HEIGHT defines in chains_common_cascade_ar12xx_config_mimo.c - This is the number of chirps per frame CHAINS_RADAR_MAX_NUM_CHIRP_CFG defines in chains_radar.h - This is used in chains_common_cascade_ar12xx_config_mimo.c to create array of structure rlChirpCfg_t gChains_cascadeRadarChirpCfgArgsMaster[CHAINS_RADAR_MAX_NUM_CHIRP_CFG] If we desire to change number of chirps in the chirp frame, I suppose we need to change CHAINS_CASCADE_RADAR_RADAR_HEIGHT and not CHAINS_RADAR_MAX_NUM_CHIRP_CFG. But does CHAINS_RADAR_MAX_NUM_CHIRP_CFG also need to be changed if we change CHAINS_CASCADE_RADAR_RADAR_HEIGHT ? Thanks, --Khai + +Hi I will check with RADAR SDK expert & let you know. Thanks Gaviraju + +Hi Gaviraju, I have another question. In the ProcessorSDK_Radar_dataSheet.pdf chapter 4 where it mentioned "The height of the frame is Num of TDMA Tx antenna x Doppler Dimension". I understand the TX is chirping in a TDMA fashion from TX0 -> TX11 of all 4 sensors. What's not clear is that does each TX transmit chirp for the entire chirp frame (say if I have 128 chirps per frame) before the next TX chirps the next chirp frame OR all TXes only chirps 1 chirp round robinly and then the second and third chirps and so on... Thanks, --Khai + +1. Master is the AWR device providing the clock to the 3 Slave devices so the 4 AWR devices can be cascaded. 2. We just allocated the structure to accommodate the maximal number of chirp configurations as place holder. In the example, we only use 10 chirp configurations. 3. txEnable is the bit mask of which Transmitter in AWR to enable. /** * @brief Tx enable selection bit mask \n b0 Enable TX0 \n 0 Tx0 Disable \n 1 Tx0 Enable \n b1 Enable TX1 \n 0 Tx1 Disable \n 1 Tx1 Enable \n b2 Enable TX2 \n 0 Tx2 Disable \n 1 Tx2 Enable \n Note: Maximum of only 2 TX can be turned in a chirp \n */ rlUInt16_t txEnable; + diff --git a/sample_embedding_folder2/0881316.txt b/sample_embedding_folder2/0881316.txt new file mode 100644 index 0000000000000000000000000000000000000000..0924ad4cd70b9f7d3637d32d94d126a764ae5e31 --- /dev/null +++ b/sample_embedding_folder2/0881316.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2EG-17: caffe-jacinto-models/script/train_image_object_detection.sh error + +Query Text: +Part Number: TDA2EG-17 Other Parts Discussed in Thread: TDA2 Hi, After following installation instructions and solving some issue myself, when I tried to run the ./train_image_object_detection.sh to test my installation result, I got the error of: I0218 09:36:55.522869 14830 net.cpp:110] Using FLOAT as default forward math type I0218 09:36:55.522889 14830 net.cpp:116] Using FLOAT as default backward math type I0218 09:36:55.522899 14830 layer_factory.hpp:172] Creating layer 'data' of type 'AnnotatedData' I0218 09:36:55.522907 14830 layer_factory.hpp:184] Layer's types are Ftype:FLOAT Btype:FLOAT Fmath:FLOAT Bmath:FLOAT I0218 09:36:55.523039 14830 internal_thread.cpp:19] Starting 1 internal thread(s) on device 0 I0218 09:36:55.523171 14830 net.cpp:200] Created Layer data (0) I0218 09:36:55.523180 14830 net.cpp:542] data -> data I0218 09:36:55.523205 14830 net.cpp:542] data -> label I0218 09:36:55.523224 14830 data_reader.cpp:58] Data Reader threads: 1, out queues: 1, depth: 10 I0218 09:36:55.523243 14830 internal_thread.cpp:19] Starting 1 internal thread(s) on device 0 I0218 09:36:55.523627 14842 blocking_queue.cpp:40] Data layer prefetch queue empty F0218 09:36:55.523803 14843 db_lmdb.hpp:16] Check failed: mdb_status == 0 (2 vs. 0) No such file or directory *** Check failure stack trace: *** @ 0x7f7e0c8074dd google::LogMessage::Fail() @ 0x7f7e0c80f071 google::LogMessage::SendToLog() @ 0x7f7e0c806ecd google::LogMessage::Flush() @ 0x7f7e0c80876a google::LogMessageFatal::~LogMessageFatal() @ 0x7f7e0bb120ca caffe::db::LMDB::Open() @ 0x7f7e0b6936b3 caffe::DataReader<>::InternalThreadEntryN() @ 0x7f7e0b6bb19e caffe::InternalThread::entry() @ 0x7f7e0b6bcefb boost::detail::thread_data<>::run() @ 0x7f7e0ad007ee thread_proxy @ 0x7f7e098926db start_thread @ 0x7f7e09bcb88f clone @ (nil) (unknown) During make runtest, i did get some errors but I looked up online and someone mentioned these errors won't interfere training processes. But for debug references, they are: [----------] Global test environment tear-down [==========] 2101 tests from 283 test cases ran. (459627 ms total) [ PASSED ] 2094 tests. [ FAILED ] 7 tests, listed below: [ FAILED ] IOTest.TestDecodeDatum [ FAILED ] IOTest.TestCVMatToDatumReference [ FAILED ] IOTest.TestDecodeDatumNative [ FAILED ] LayerFactoryTest/0.TestCreateLayer, where TypeParam = caffe::CPUDevice [ FAILED ] LayerFactoryTest/1.TestCreateLayer, where TypeParam = caffe::CPUDevice [ FAILED ] LayerFactoryTest/2.TestCreateLayer, where TypeParam = caffe::GPUDevice [ FAILED ] LayerFactoryTest/3.TestCreateLayer, where TypeParam = caffe::GPUDevice Thank you for the time and assistance. Best regards, WeiChih + +Responses: +Hi, The following line is saying that your lmdb file (dataset file) could not be found: F0218 09:36:55.523803 14843 db_lmdb.hpp:16] Check failed: mdb_status == 0 (2 vs. 0) No such file or directory Please check the path. + +Hi Manu, Thanks for the heads up, I am able to run training script on voc0712 dataset now, but also got some questions regarding training on my own custom dataset: 1. Am I able to modify the SSD's network and still run on TDA2 fine? e.g. simplifying base VGG net's structure to my custom dataset for detecting fewer classes like 2~5 classes rather than so many classes as in voc0712? 2. Does tda2 support running other networks like Yolo? Thanks a lot & best regards, Wei + +Hi Wei, Yes - you can customize the number of classes other such similar parameters for the SSD object detector. Yolo is not supported. If you are running ./train_image_object_detection.sh, you are not using VGGNet - but a much simpler network. VGG is quite heavy for not only for TDA2x, but also for any embedded platform. Best regards, + +Hi Manu, Thanks for the swift reply. So, tuning hyper-parameters of the SSD detector, and number of classes of course, is fine as long as no changes in the network structure from ./train_image_object_detection.sh, right? Best regards, Wei + +Yes. That is fine. + diff --git a/sample_embedding_folder2/0881590.txt b/sample_embedding_folder2/0881590.txt new file mode 100644 index 0000000000000000000000000000000000000000..54cb552bad62993e706d60538a954ba8edff31d5 --- /dev/null +++ b/sample_embedding_folder2/0881590.txt @@ -0,0 +1,30 @@ +Ticket Name: TDA2E: SPI synchronisation as a SPI slave. + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2 I am useing the TDA2X MC SPI peripheral as SPI slave. The external master on the SPI bus is sending 64 byte packets and keeps the CS active during the 64 bytes. As far as I understood from the TDA2 datasheet I have to use 3 pin mode for SPI, becasue CS stays active for longer then the configured word length (32bit). Transmission and reception works fine so far but now I am having a problem is there is a glitch on the clock line then the transmitted message is shifted by one bit. The received messages is still OK. I tried to read back SPI status registers to detect this shift, but I could not find any register which could be used for detection. Could you recommend any mechanims to detect this issue? Alternatively it probably also would work if after each 64byte packet the SPI peripheral would be reset that we start counting at the first clock pulse again. However, I don't want to reset periodically, but maybe there is any quicker mechanism to resync? If I could clear the Tx shift register and write a new value or if there would be any SPI register to rescnchronise (to start counting with CLK pulse 0 again) this probably would fix the problem. From the datasheet I could not find any way to clear the Tx shift register. Please let me know what you think. Best regards Erwin + +Responses: +Hi, What software/version are you using? McSPI slave doesnot control the clock line, it works with the clock sent by the external master. When there is a glitch in clock line, is the read data shifted by one bit? You need to read the McSPI_Rx register to read the data received, but it will not know if the data is shifted because of glitch There is no error checking for transmission supported by the SPI protocol, so this has to be implemented by software as a higher level protocol. Regards, Prasad + +Hi Prasad, Many thanks for your quick response. I am using my own SPI driver on the TDA2X. It is correct, the external SPI master is generating the clock; my problem is that there is a clock transition from low to high which only affects the Tx shift register but not the Rx shift register (I think this is shifted by the opposite transition). Therefore the received message is correct; and the transmitted message is shifted, so I am looking for a mechanism to reset the Tx shift register (or the clock counter). Thanks Erwin + +Hi Prasad, In 3 pin mode I could setup a GPIO interrupt which comes on each raising edge of the CS signal. In this ISR I would need to reset the SPI peripheral. However, as discussed above I don't want to do a full reset; just the shift register needs to get emptied. Please let me know if you have any ideas how this can be done. I think it must be a common problem in 3 pin mode as a slave to be able to guarantee to stay synchronised. Thanks Erwin + +Hi, What is the edge on which the external master is sending the data and what edge is slave configured to send the data? I am not clear when you say only Tx register is affected not the Rx as the same SPI clock line is used for both. Can you clarify the Tx and Rx you mentioned is from master or slave? Do you currently using/require a full duplex communication or half duplex? clock glitch you mentioned is on the external SPI clock line right? Have you measured the glitch you are seeing? is it in the order of the SPI clock? Regards, Prasad + +Hi Prasad, Many thanks for your response. As far as I understand the master is sending data on the falling clock edge and the slave (TDA2) on the raising clock edge. So if there is a raising edge at the beginning the slave (TDA2) Tx shift register gets affected. In my previous message I meant slave Tx and slave Rx. It is an automotive project and safety critical data are transferred via SPI, so I have to make sure we are resistant against disruptions. For the raising edge I mentioned above I would be able to find a workaround but it would not fix the main problem to make the SPI slave resistant against glitches on the clock. I require full duplex communication; the master is transferring every 10ms a 64byte packet; most of the packets are filled with zeros, so the TDA2 is able to send responses during these packets. Every 100ms (10th packet) the master is sending a command. However, this might change later. Yes, I could see a transition from low to high on the clock line; I captured it with the logic analyser. I think for this transition I can find a workaround, but my main concern is that we need to be able to recover from this situation when this happens in the car; so I have to find a mechanism to resynchronise. A full SPI reset after each 64 byte packet would solve the problem; but I am looking for a more proper solution. Best regards Erwin + +Hi, Can you share the clock glitch that you have captured which resulted in only Tx shift but not Rx in SPI slave? This ideally should not happen because if the glitch is considered as a SPI clock pulse both Tx and Rx register should be sifted. You are able to see the shifted data at the master Rx right? Regards, Prasad + +Hi Prasad, In the first pic you can see the transition of the clock which causes the problem. I have no access to the master, but I can see on the logic analyser that the transmitted data from the TDA2 are shifted. When this happens the received data on the TDA2 are all fine, otherwise I would be able to detect a problem on TDA2 firmware protocol level, but on TDA2 Rx everything was OK. However, I would like to be resistent against glitches which would affect Rx as well. In the second pic I captured just a good case of a typcial SPI message on the bus. Best regards Erwin + +Hi, The issue seems to be happening as the clock state initially is low and the may be the SPI slave was initialized during this time. Can you make sure that the SPI clock line is held at the default state at the power on or make sure to do the SPI slave initialization after that SPI clock is at default state. To confirm this you cay check the clock signal value when you do the SPI slave initialization in working and non working cases? Any glitch in between should afftect both Tx and Rx. If it is interpreted as proper clock signal both Tx and Rx will be shifted by 1 bit. This will cause data integrety issue. Since the SPI protocol doesnot handle error scenarios, you can have a high level protocol and detect this. Regards, Prasad + +Hi Prasad, Many thanks for your response. I can confirm that I can get this szenario working when initializing the slave after the clock change from low to high. However, my question is still how can I recover if I get invalid data? With the shift on Rx and Tx as you described it will be possible to detect the shift on protocol level. When the protocol detect this kind of error the best would be to empty the shift register and start counting from clock 0. What is the best way to do this? Is there any register for reset the shift register? If possible I would like to avoid a full SPI reset. Best regards Erwin + +Hi Prasad, I am trying sice one month to explain my problem and a solution; unfortunately there was no helpful support yet. I think for somebody who know the SPI peripheral in detail it should be very quick to solve my problem. I also think this is not only a problem on my system; this is a general issue any maybe more people who are using SPI as a slave should have this issue. Could you please give me some feedback how to go ahead; are there maybe more people at TI we could ask for help? Best regards Erwin + +Hi, You can stop the channel and start it again by toggeling the MCSPI_CHxCTRL[0]. This should be sufficient to start fresh transfer again. Regards, Prasad + +Hi Prasad, Many thanks for your feedback; this is very helpful! I will try it out and let you know how it works. Many thanks and best regards Erwin + diff --git a/sample_embedding_folder2/0881642.txt b/sample_embedding_folder2/0881642.txt new file mode 100644 index 0000000000000000000000000000000000000000..041c452cf776a4284ee4d4218b619aaddc03702e --- /dev/null +++ b/sample_embedding_folder2/0881642.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2EVM5777: Linux - eth0 device not found + +Query Text: +Part Number: TDA2EVM5777 Hi. I am trying to set up an NFS shared folder using TDA2EVM5777. I'm working in a Linux environment, but the eth0 device doesn't appear. I checked the eth0 device through the "ifconfig -a" and "ls -l /sys/class/net/" commands, but the eth0 device does not exist. ================================================================================== root@dra7xx-evm:~# ifconfig -a can0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 NOARP MTU:16 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:10 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:98 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1%132976/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:160 errors:0 dropped:0 overruns:0 frame:0 TX packets:160 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:12160 (11.8 KiB) TX bytes:12160 (11.8 KiB) sit0 Link encap:IPv6-in-IPv4 NOARP MTU:1480 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) root@dra7xx-evm:~# ls -l /sys/class/net/ lrwxrwxrwx 1 root root 0 May 13 19:52 can0 -> ../../devices/platform/44000000.ocp/4ae3c000.can/net/can0 lrwxrwxrwx 1 root root 0 May 13 19:52 lo -> ../../devices/virtual/net/lo lrwxrwxrwx 1 root root 0 May 13 19:52 sit0 -> ../../devices/virtual/net/sit0 ================================================================================== However, I have confirmed that the network operates with the Ping command in U-Boot. (I have set up ipaddr, gatewayip, netmask with the setenv command.) So, there seems to be a problem with Linux settings. How can I find the eth0 device on Linux? In addition, I would like to modify the VisionSDK App and build it to update to the NFS shared folder. Do I simply change the app.out file? Or do I need more work to do? Regards, Lee. + +Responses: +Hi Lee, Based on the information you have provided it looks like probe of Ethernet device failed during linux boot. Can you please share linux boot logs and the dts file you are using? Thank you Regards Santhana Bharathi + +Hi Santhana Bharathi, Attach my Linux boot log and dts files. 5432.boot.zip Regards, Lee. + +I resolved this issue. It was a problem with the settings in my dts file. (ti_components/os_tools/linux/kernel/omap/arch/arm/boot/dts/dra7-evm.dts) The mac setting was "disabled", and after changing to "okay", the eth0 device is output normally. ============================================================================= root@dra7xx-evm:~# ifconfig eth0 Link encap:Ethernet HWaddr F0:B5:D1:0F:22:0C inet addr:192.168.1.150 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::f2b5:d1ff:fe0f:220c%132400/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:12 errors:0 dropped:0 overruns:0 frame:0 TX packets:32 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1316 (1.2 KiB) TX bytes:3132 (3.0 KiB) Interrupt:99 eth1 Link encap:Ethernet HWaddr F0:B5:D1:0F:22:0D UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1%132400/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:166 errors:0 dropped:0 overruns:0 frame:0 TX packets:166 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:12688 (12.3 KiB) TX bytes:12688 (12.3 KiB) ============================================================================= Regards, Lee. + diff --git a/sample_embedding_folder2/0881722.txt b/sample_embedding_folder2/0881722.txt new file mode 100644 index 0000000000000000000000000000000000000000..4ca102c2e50da0b221d61dc5fa64fc1c0e7e4fd8 --- /dev/null +++ b/sample_embedding_folder2/0881722.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2E: Cascade Radar AWR1243 VCO error + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: AWR1243 Hello, I am using the TI Cascade radar with 4 AWR1243 chips, for this I am using the PROCESSOR_SDK_RADAR_03_07_00_00 also the MMWave studio. I have a problem when i set the frequency to 76.566Ghz with radar slope to 14.677048 with .pfVcoSelect as 0, the SW give me an assert Assertion @ Line: 376 in C:/PROCESSOR_SDK_RADAR_03_07_00_00/vision_sdk/apps/src/rtos/radar/src/common/chains_common_ar12xx.c: SYSTEM_LINK_STATUS_SOK == retVal : failed !!! . I debugged it with MMwave studio there it was more clear Status: Failed, Error Type: RAMP END FREQUENCY IS NOT WITHIN VCO RANGE. if we check the user guide it says following PF_VCO_Select b1 VCO_SEL 0 VCO1(77G; 76-78Ghz) Note: 2. xWR1xxx devices: there is an overlap region of 77-78Ghz in which any of the VCOs can be used, for any other regions use only the VCO ccan work in that region ..... Going by this our setting of VCO1 should have worked but seems like its giving a problem, Is there something we missed or some feature like FUSA is activated. Can somebody give me a pointer on this regard how to check this either using mmWave or PROCESSOR_SDK_RADAR_03_07_00_00 Sw. Best Regards Deepak Joshi + +Responses: +Hi I will check with RADAR expert & get back to you. Thanks Gaviraju + +Hi Deepak, It is better to debug this with mmWave Studio. Regards, Stanley + +Hi Deepak, Valid VCO frequency range is a function of chirp start_frequency and end_frequency. That bandwidth is calculated as start_freq + chip_slope * ramp_end_time. Can you please verify if the full chirp bandwidth is valid for the VCO you are selecting? I also suggest giving problems like this a run in the mmWave Studio script environment. You can easily test which VCO ranges are valid or not. Please check the DFP ICD for valid values: http://downloads.ti.com/ra-processors/esd/MMWAVE-DFP/latest/exports/mmWave-Radar-Interface-Control.pdf Thanks, -Randy + diff --git a/sample_embedding_folder2/0883285.txt b/sample_embedding_folder2/0883285.txt new file mode 100644 index 0000000000000000000000000000000000000000..fd2a07faef50d261d9d540b973de21eff0c86f52 --- /dev/null +++ b/sample_embedding_folder2/0883285.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA4VM: BAM plugins + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 Hello guys, I'd like to know more about the BAM plugins in VXLIB: http://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/vxlib_c66x_1_1_4_0/docs/doxygen/html/bamplugins.html What does "BAM block based processing framework" mean? Is it somehow related or similar to the User Kernel Tiling extension in OpenVX (https://www.khronos.org/registry/OpenVX/specs/1.1/html/d0/d84/page_design.html#sec_known_extensions)? Thanks for your help, Fernando A. Endo + +Responses: +Fernando, Fernando Endo said: What does "BAM block based processing framework" mean? This is a TI custom framework that uses DMA libraries to copy blocks/tiles of images into DSP L2 RAM in a ping pong fashion, and does tiling processing across a graph of supported kernels. If the graph has 3 sequential kernels, for example, then then one block of input is DMA'd to L2 RAM and processed through all 3 kernels using only L2 SRAM scratch memory for intermediate outputs, and then final output is DMA'd back to DDR. In parallel to the kernel processing, the DMA would have already retrieved the next block. This continues until the full image is processed through all 3 kernels. The benefit here is the faster processing due to data already being in L2 SRAM instead of latencies due to DDR access, as well as reduced overall DDR bandwidth as compared to doing all 3 kernels as full frame processing to/from DDR. The link you have given is from VXLIB documentation, which indicates which kernels have BAM plugins already available to be submitted in callbacks to the BAM framwork. In TIOVX documentation : you can see the TIOVX target kernel functions that are used to create BAM graphs within a target OpenVX kernel on C66. Fernando Endo said: Is it somehow related or similar to the User Kernel Tiling extension in OpenVX It is achieving a similar goal, but it is not using the Khronos Tiling extension. NOTE: As of PSDRA 6.02 release last week, the TIOVX and VXLIB components support BAM, however, the DMAUTILS component which BAM is dependent on has not been fully ported to TDA4x (this works on TDA2/3x if you want to prototype). This is planned, but since this functionality is deemed an optimization, it has been planned at lower priority to other functional features. Please let me know if you have further interest, and if you would like to use this feature, at what point will it be needed from a scheduling point of view. + +Hello Jesse, Thanks for your help and insightful explanations. Jesse Villarreal said: Please let me know if you have further interest, and if you would like to use this feature, at what point will it be needed from a scheduling point of view. It depends on how fast computation can be with BAM. Do you have any pointer of speedups achieved in TDA2/3 compared to the non-BAM kernels? Kind regards, Fernando + +In general, it depends on the kernel. If the kernel is highly bottlenecked by the memory IO latency, I have seen more than 2x improvement in performance. If the kernel is highly compute limited, then you may NOT see a big speedup. Regards, Jesse + diff --git a/sample_embedding_folder2/0883484.txt b/sample_embedding_folder2/0883484.txt new file mode 100644 index 0000000000000000000000000000000000000000..685998fd4dac65a5a9facebc7a443f44e361ab6c --- /dev/null +++ b/sample_embedding_folder2/0883484.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2E: Git clone ipumm error for TDA2 + +Query Text: +Part Number: TDA2E Hi to whom it may conern, I'm trying to clone ipumm from git.ti.com but got the following error fatal: unable to connect to git.ti.com: git.ti.com[0: 198.47.28.207]: errno=Connecton refused I also tried to clone the linux kernel and got the same error report. Any solution for it? Regards, Ming + +Responses: +Hi Ming, do you work behind a proxy? Can you check this guide: Regards, Yordan + diff --git a/sample_embedding_folder2/0883659.txt b/sample_embedding_folder2/0883659.txt new file mode 100644 index 0000000000000000000000000000000000000000..56cccc1b7d06a3b4b2448dc6fa96241cbba05f88 --- /dev/null +++ b/sample_embedding_folder2/0883659.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2E: EVE output data format with beamforming in Processor Radar SDK + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2, AWR1243 Hi expert, We are working on TDA2+AWR1243 cascade board for beamforming test. There is two TX beam steering which is chirp based and frame based as below Is the EVE output data format same in these two scenarios? As mentioned in the graph as below. If not, what's the difference? Thanks a lot. Best Regards, Allen + +Responses: +Hi Allen, The figure which you mentioned is the output of Doppler FFT from the EVE processing. This will be same irrespective of the input, what will actually change is the way input is given to EVE FFT applet. The input is described using FFT_TI_BufferDescriptor structure. We have validated he first case (Chirp based). But I can see a potential problem if you use frame based sequence as TDA2X dma supports a maximum jump of 16 bit signed integer so if your frame jump is more than maximum 16 bit signed integer it will not work. Regards, Anshu + +Hi Anshu, Based on the sequence of frames, the number of frames is equal to the number of burst. In radarFft2. C, Eve is operated in the unit of burst. The input and output addresses correspond to their respective offset and width. How can I get the DMA parameters corresponding to the input and output of Doppler FFT. My Doppler FFT results are incorrect. Thanks. + +Hi Allen, DMA is programmed inside FFT_TI_dmaControl ( file : apps\fft\algo\src\fft_graph_int.c ). For doppler FFT fftDirection value will be FFT_TI_DIRECTION_VERTICAL. Regards, Anshu + diff --git a/sample_embedding_folder2/0884078.txt b/sample_embedding_folder2/0884078.txt new file mode 100644 index 0000000000000000000000000000000000000000..8fb982251b5156f434ea6ce7348e0d73668dbc20 --- /dev/null +++ b/sample_embedding_folder2/0884078.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2P-ACD: Whether we have the AVS voltage gap between OPP_LOW/OPP_NOM/OPP_OD/OPP_PLUS + +Query Text: +Part Number: TDA2P-ACD Hi experts: Our customer want to use MCU ADC monitor the VDD_MPU/VDD_DSP/VDD_GPU PMIC voltage is match with software AVS setting. They want to know every AVS level the gap is fix or random value? It means that MCU get AVS Efuse value, they want to use fix +/-6% margin to judgement PMIC output voltage is right or wrong. As DM said the AVS range is -3.5%, +5%.We know that voltage for OPP_OD > OPP_NOM, but I believe +/-6% margin is too big. We do not know the AVS voltage distribution of TDA2P. Please help us review it? Best Regards! Han Tao + +Responses: +Hi Han Tao, I suggest the customer should compare the voltage on the rails to the EFUSE value per sample. That way the variance is only driven by the step voltage size of the PMIC which is a fixed value and one does not have to take in to account the % variance in the AVS per sample. Basically read voltage from ADC and the compare against EFUSE for sample +/- PMIC step voltage. The EFUSE value can be read from TDA2PX and passed on to MCU using SPI or I2C or which ever communication mechanism present between TDA2P and MCU. This can be a one time thing per ECU and stored in MCU flash as well. Thanks and Regards Piyali + diff --git a/sample_embedding_folder2/0885278.txt b/sample_embedding_folder2/0885278.txt new file mode 100644 index 0000000000000000000000000000000000000000..af2cd4198c47a9ebd643a9227c12711b63dfc0de --- /dev/null +++ b/sample_embedding_folder2/0885278.txt @@ -0,0 +1,8 @@ +Ticket Name: Compiler/AM5728: AM5728 without HDMI port how to configure G streamer video codec things through serial port? + +Query Text: +Part Number: AM5728 Tool/software: TI C/C++ Compiler Hai sir, Before I am worked on AM5728 evaluation module through HDMI output port i have connected hdmi monitor through command prompt i have given commands? HIKVISION camera:1920x1080(25fps) a. sudo ifconfig eth1 10.10.11.85 netmask 255.255.254.0 up b.export RTSP_PATH=rtsp://admin:password@10.10.11.84:554 c.Less delay(80ms) & less frmaes missing command: Gst-launch-1.0 -v rtsp location="$RTSP_PATH" latency=0 ! rtpjitterbuffer ! rtph264depay ! h264parse ! ducatih264dec ! vpe ! videoconvert ! kmssink d.More delay(200ms) & More frmaes missing command: Gst-launch-1.0 -v rtsp location="$RTSP_PATH" latency=0 ! 'application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264' ! rtpjitterbuffer ! rtph264depay ! h264parse ! ducatih264dec ! vpe ! 'video/x-raw, width=1920, height=1080, framerate=25/1, videoconvert ! kmssin Through HDMI output it will works but serial port not working? Actually through serial port i have given commands but not working any thing gstreamer error occuring but in HDMI port side it's working fine, please give me some suggestions. Thanking you, Regards, Ramachandra. + +Responses: +Hi Ramchandra, Could you share the info on the TI baseline release you are using here. Thanks, Gowtham + diff --git a/sample_embedding_folder2/0885353.txt b/sample_embedding_folder2/0885353.txt new file mode 100644 index 0000000000000000000000000000000000000000..02350fa4716e61011b59c8e128f2814684ec7880 --- /dev/null +++ b/sample_embedding_folder2/0885353.txt @@ -0,0 +1,16 @@ +Ticket Name: PROCESSOR-SDK-DRA8X-TDA4X: Importing mobilenet v1 (tensorflow) into TIDL for the TDA4 + +Query Text: +Part Number: PROCESSOR-SDK-DRA8X-TDA4X I tried importing mobilenet v1 224 starting from this tutorial for the TDA2: https://e2e.ti.com/support/processors/f/791/p/735984/2717341 I had to adjust many file names and many paths. In the end I've been able to convert mobilenet v1 into TIDL format. However, when I run the inference simulation, I get the following error: Processing config file #0 : testvecs/config/infer/public/tensorflow/tidl_infer_mobileNetv1.txt ----------------------- TIDL Process with REF_ONLY FLOW ------------------------ # 0 . .. T 948.16 ... A : 896, 0.0000, 0.0000, 670 .... ..... # 1 . .. T 908.94 ... A : 558, 0.0000, 0.0000, 420 .... ..... # 2 . .. T 901.69 ... A : 443, 0.0000, 0.0000, 420 .... ..... # 3 . .. T 897.74 ... A : 499, 0.0000, 0.0000, 420 .... ..... # 4 . .. T 909.30 ... A : 539, 0.0000, 0.0000, 420 .... ..... # 5 . .. T 896.48 ... A : 539, 0.0000, 0.0000, 420 .... ..... # 6Error in reading �̽��, �̽�� Can anyone point me in the right direction ? Is there any tutorial about importing tensorflow mobilenet models for the TDA4 ? I tried searching the forums but found nothing clear. Thanks + +Responses: +Hi, You need to download latest SDK from http://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/index_FDS.html You should refer to TIDL user guide present here: http://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/tidl_j7_01_01_00_10/ti_dl/docs/user_guide_html/index.html Regards, Rishabh + +Hello Rishabh, thank you for your quick reply. Is there any turorial ? The documentation merely lists a series of parameters and I find it very difficult to start from scratch. Any useful getting started guide ? Kind regards, Guido + +Hi Guido, The same user guide has getting started tab. Please see http://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/tidl_j7_01_01_00_10/ti_dl/docs/user_guide_html/md_tidl_user_model_deployment.html Regards, Rishabh + +Thank you Rishabh, thanks to your indications we were able to fix our problem ! + +Hi Guido, Thanks for the confirmation. I am closing the thread. Regards, Rishabh + diff --git a/sample_embedding_folder2/0885715.txt b/sample_embedding_folder2/0885715.txt new file mode 100644 index 0000000000000000000000000000000000000000..48942e3c0bbafaf444e7af7b2797f985eedafca8 --- /dev/null +++ b/sample_embedding_folder2/0885715.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA4VM: MCU only BOOTMODE usecase of TDA4 + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 Dear Champs, My customer is very confusing on the complex boot mode in TDA4. I think the basic boot procedure is MCU boot -> Normal boot Is this right? Why MCU should be boot before Normal boot? What is the purpose of MCU only boot? Thanks and Best Regards, SI. + +Responses: +Hi SI, Think of the MCU's R5F processor as the boot master of the SoC. Note that boot master of J6/TDA2 was the A15 MPU, J6 didn't have an MCU island. The boot master runs its ROM code after reset and loads the SBL image. SBL then can load other cores images, in turn. The whole MCU island/domain is there for safety and diagnostics purposes in the automotive applications. The MCU-only boot allows sucessful boot even if main domain is not powered (due to power failure). MCU then can send message to other nodes in the vehicle that this node is not functional or can perform other tasks. The MCU-only boot is tryed only from MCU domain's peripherals, that's why it can be successful when main domain is OFF. Please refer also to section 4.2.3 Boot Process Flow of the TRM. Regards, Stan + diff --git a/sample_embedding_folder2/0885983.txt b/sample_embedding_folder2/0885983.txt new file mode 100644 index 0000000000000000000000000000000000000000..0c09f3f8570edfa5e07969117866485ea3041939 --- /dev/null +++ b/sample_embedding_folder2/0885983.txt @@ -0,0 +1,30 @@ +Ticket Name: TDA2EVM5777: How to use CAN bus in RTOS? + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hi, I want to use CAN bus in RTOS, is TI provide the driver(API) ? Regards + +Responses: +Hi, can you check if this document helps: Regards, Yordan + +Hi Wall-E, please disregard my previous answer, I missed that you are using TDA2x. You can check this example and see if it works for you: Regards, Yordan + +Hi Yordan, So sorry I reply so late. I have another question: How do I compile the example in sdk_3.07/ti_components/drivers/pdk_01_10_03_07/packages/ti/csl/example/mcan/mcanEvmLoopback ? Regards, + +Hi Wall-E, please check here: Regards, Yordan + +Hi Yordan, It seems the PDK CAN driver is independent of VisionSDK. And I have no JTAG debuger to download the binary object. Is a way to use CAN in VisionSDK? Like I can capture image from camera through IssCapute Link. I want to use CAN or other peripheral like camera. Regards. + +Hi Yordan, Could you give me some idea ? + +H Wall-E, I have pinged CAN experts, they will reply here soon. Regards, Yordan + +Hi Wall-E, TDA2 does not have an MCAN module in it. Instead of that, it has a DCAN module that does the handling of the CAN protocol. The sample application for DCAN is available here: 'pdk\packages\ti\csl\example\dcan\dcanLoopback'. You can try this application. VSDK does have a use-case available for the DCAN module which is available at '\vision_sdk\apps\src\rtos\modules\dcan'. I think this is only available/validated for TDA3x SoC. You can port the same use-case for TDA2x. Thanks & Regards, Vivek Dhande. Texas Instruments (India) Pvt Ltd + +Hi Dhande, Thank you for your reply. Regards. + +Hi Dhande, I want to port this usecase for TDA2Px, I search the topic in forum and found this: https://e2e.ti.com/support/processors/f/791/t/726840?tisearch=e2e-sitesearch&keymatch=tda2%25252525252520dcan And I meet the same problem, I cannot receive data from a external CAN device but the external CAN device can receive the data from TDA2Px when using loopback mode. The author said he resolve this problem through Need modify "platform_tda2xx_pad_config.c" setting to modify RX pin of DCAN form AD17 (Wakeup0) to G19(dcan1_rx) if use TDA2x EVM. But I still don't know how to modify because I didn't find this configuration. Perhaps we use the different VisionSDK version. Mine is 3.07. So could you tell me How to receive data from external CAN device in VisionSDK 3.07 in TDA2Px ? Regards + +Hi Wall-E, Looks like you are facing the same issue. Can you please configure DCAN-RX PAD on TDA2Px? Thanks & Regards, Vivek Dhande. Texas Instruments (India) Pvt Ltd + +Hi Wall-E, To port existing DCAN use-case from TDA3x to TDA2Px, you need to take care of the following: Module and clock enable for the DCAN module, this probably will be same for both the SoCs IO PAD (dcan_xta nd dcan_rx) configurations interrupt configurations To do the PAD configurations: You can add your own API in the file 'ti_components\drivers\pdk_xx_xx_xx_xx\packages\ti\drv\stw_lld\platform\src\tda2xx\platform_tda2xx_pad_config.c' and call it in the application OR you can modify the existing one also. Please refer to 'PlatformDCAN1PadConfig' API present in the same file for more details. Thanks & Regards, Vivek Dhande. Texas Instruments (India) Pvt Ltd + diff --git a/sample_embedding_folder2/0886171.txt b/sample_embedding_folder2/0886171.txt new file mode 100644 index 0000000000000000000000000000000000000000..e13f0ae271632e55116c8530a81aab77850f4e22 --- /dev/null +++ b/sample_embedding_folder2/0886171.txt @@ -0,0 +1,12 @@ +Ticket Name: CCS/BEAGLE-3P-BBONE-AI: what is the recommended GEL file to attach BBB AI board? + +Query Text: +Part Number: BEAGLE-3P-BBONE-AI Other Parts Discussed in Thread: TDA2, AM5729 Tool/software: Code Composer Studio Dear Champs, My customer is trying to connect BBB Ai board using CCS, and what is the recommended GEL file to attach BBB Ai board using CCS? Could you please share the GEL file for BBB Ai board? Thanks and Best Regards, SI. + +Responses: +Sung-IL, There is not a specific GEL bundled with the TI tools for the BB-AI a this time, but you can use much of the AM572x GEL files that are bundled with Code Composer Studio. Start with the gpevm_am572x, which will load the common AM572x gel files. Best regards, Dave + +Hi Dave, Is it possible to use TDA2 processor in this case? My customer succeed to connect Beaglebone AI using AM572x gel file and by reducing memory size to 1GB. When my customer tried to add AM5729, they found there was no EVE core in the processor, and want to connect EVE core when debugging issue was occurred. So, I would like to check if TDA2 processor can be used to connect Beagleboard AI. Thanks and Best Regards, SI. + +SI, Yes, you should be able to load the TDA2 gel. Best regards, Dave + diff --git a/sample_embedding_folder2/0886218.txt b/sample_embedding_folder2/0886218.txt new file mode 100644 index 0000000000000000000000000000000000000000..84baab4aaffcfda3e468b0eb37cc5040079fc256 --- /dev/null +++ b/sample_embedding_folder2/0886218.txt @@ -0,0 +1,8 @@ +Ticket Name: Vision SDK: Reading raw YUV data from NullSource link in order to avoid tidl_OD flicker problem + +Query Text: +Hi, I am trying to run tidl_OD example, although it runs, there is a lot of flickering (not related to fps as it only makes the video faster, but does not solve flickering issue). This is valid in the default tidl_OD example. I am using 3.03 currently. I have converted tidl_OD example to use Camera source and there is no flickering. UseCase: chains_tidl_OD NullSource -> Decode -> VPE -> .......... UseCase: chains_tidl_OD_cam Capture -> VPE -> ........ So, I think this means that Decode link is what's causing the flickering. I want to remove Decode link from Txt file and give raw yuv file in SD card. How do I achieve such a thing? UseCase: chains_tidl_OD_raw NullSource -> VPE -> .......... What kind of files are required in the SD card? Is there a usecase example of this? Any guidance is well appreciated. Thanks. + +Responses: +Hi, Refer TIDL use-case example. vision_sdk/apps/src/rtos/usecases/tidl Here raw data(BGR format not compressed) is reading from NullSrc link & sending it to the next link. In this example these parameter are set & modify according to your requirement. pChInfo->flags = System_Link_Ch_Info_Set_Flag_Data_Format(pChInfo->flags, SYSTEM_DF_BGR24_888); strncpy(pNullSrcPrm->channelParams[0].nameDataFile, pObj->inFileName, 260); Make sure raw data should be in the SD card Thanks Gaviraju + diff --git a/sample_embedding_folder2/0886384.txt b/sample_embedding_folder2/0886384.txt new file mode 100644 index 0000000000000000000000000000000000000000..d4f276d360620b10d87448c084d725ec30dbf258 --- /dev/null +++ b/sample_embedding_folder2/0886384.txt @@ -0,0 +1,14 @@ +Ticket Name: Compiler/TDA2SG: how can the tda2 support LCD output BT656 ,BT1120 + +Query Text: +Part Number: TDA2SG Tool/software: TI C/C++ Compiler HI, LCD default output Is LVDS 。How can it support BT656,BT1120,what I Need to do? + +Responses: +I see the detail Connect TDA2S to ADV7393, but I have a question about adv7393 support Input RGB444, TDA2S output format is RGB555,how can it work? + +Hi, You could find AppNote explaining how to interface ADV7393 with TDA2x at http://www.ti.com/lit/an/sprac23a/sprac23a.pdf. Rgds, Brijesh + +but I have a question about adv7393 support Input RGB444, TDA2S output format is RGB555,how can it work? + +Hi Zhangsc, I think RGB444 is not supported ADV7393. Could you please check again? Rgds, Brijesh + diff --git a/sample_embedding_folder2/0886438.txt b/sample_embedding_folder2/0886438.txt new file mode 100644 index 0000000000000000000000000000000000000000..1252249f1439b77abcacc5ec41e9331cc73cc8af --- /dev/null +++ b/sample_embedding_folder2/0886438.txt @@ -0,0 +1,8 @@ +Ticket Name: PROCESSOR-SDK-TDAX: TPS659039 Power Diagnostic + +Query Text: +Part Number: PROCESSOR-SDK-TDAX Other Parts Discussed in Thread: TDA2 Hi, We would like to implement Power Diagnostic via TPS659039 INT pin and reading Register Status. These status will be monitored, •VSYS_MON •HOTDIE •SHORT •WDT I have a question, if these issues happen(for example - SHORT), could TDA2 possibility work fine and read the PMIC register? Br, Yuki + +Responses: +Hi Yuki-san If the PMIC fails the TDA would not be working fine. Hence having a diagnostic from TDA in a fail situation would not be helpful. Thanks and Regards Piyali + diff --git a/sample_embedding_folder2/0886542.txt b/sample_embedding_folder2/0886542.txt new file mode 100644 index 0000000000000000000000000000000000000000..095f25c0a660525453823f689e4a80c135d64018 --- /dev/null +++ b/sample_embedding_folder2/0886542.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2PXEVM: TDA2 : About Tidl_OD usecase + +Query Text: +Part Number: TDA2PXEVM Hi Sirs, I need some advice. If my input is two-channel video, Which chain is recommended? chains_tidlOD_1 or chains_tidlOD_2? Or just use the original chains_tidlOD and run the loop twice. chains_tidlOD_1: chains_tidlOD_2: Thank you, Horace. + +Responses: +Hi, default TIDL_OD usecase is currently running with a single channel, So I'm not sure The TIDL algorithm will support multi-channel. So I will check with the team & get back. Thanks Gaviraju + +Hi, I am looking forward to your reply. Thanks. BR. Horace + +Hi, It will support multi-channel & use chains_tidlOD_1 usecase Thanks Gaviraju + +Hi, If use chains_tidlOD_1 usecase Two-channel run the same SSD model, but different weight. The alg_pluging whether to add an extra tidl, and give another alg_id. Or is there another method? Thanks Horace + diff --git a/sample_embedding_folder2/0886584.txt b/sample_embedding_folder2/0886584.txt new file mode 100644 index 0000000000000000000000000000000000000000..df2d7236933f7c86993eb492e05770f13fac3b85 --- /dev/null +++ b/sample_embedding_folder2/0886584.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2PHV-ACD: L3 Firewall + +Query Text: +Hello All, We have a Safety goal for a Buffer which is shared between DSP1 and IPU_C0. This buffer must be verified on each frame for possible corruption. It must not be corrupted once it fixed. Verifying each bit of buffer data for every frame is costly and time consuming. We are looking for an approach that can protect the Buffer against any memory corruption Instead of verifying Buffer for every frame. We are thinking to implement L3 firewall to protect this buffer. We are using TDA2PHV. If we read the code then it seems its General purpose device. Does this device support L3 firewall? Can we implement firewall to protect the buffer? Please guide us. Please let us know if you have other approach. Best regards, Naresh + +Responses: +Hi Naresh, can you check this Application Note and see if it can give you some directions: Regards, Yordan + +Dear Yordan, Thank you for the document. We are working on TDA2PHV. There is no any mentioned the L3 firewall support or not on TDA2P. Can you please help me to find out which L3 firewall will support or not on General purpose TDA2PHV? Here is the list of Variant for TDA2P and we are using TDA2PHV. • TDA2PHA • TDA2PHG • TDA2PHV • TDA2PSX Best regards, Naresh + diff --git a/sample_embedding_folder2/0887354.txt b/sample_embedding_folder2/0887354.txt new file mode 100644 index 0000000000000000000000000000000000000000..9613f79aac0cd1d3ecc28fd5ba908f3c71b0174d --- /dev/null +++ b/sample_embedding_folder2/0887354.txt @@ -0,0 +1,78 @@ +Ticket Name: Semaphore: ERROR of running ex02_messageq sample on Linux system in TDA2-evm board + +Query Text: +Hi , I was trying to run a sample for DSP program in TDA2-evm board(XC5777X CPU board). My host environment as follows: 1. OS: Ubuntu 16.04 2. Vision SDK: PROCESSOR_SDK_VISION_03_07 I built IPC module and example successfully on $(VSDK)/ti_components/os_tools/ipc_3_45_00_00 and $(VSDK)ti_components/os_tools/ipc_3_45_00_00/examples/DRA7XX_linux_elf/ex02_messageq/ex02_messageq, and I added some message output before calling MessageQ API. Then I put App_Host and server_dsp1.xe66 to target board as /lib/firmware/App_Host & /lib/firmware/dra7-dsp1-fw.xe66 I typed '/lib/firmware/App_Host DSP1' to run App_Host in target board terminal, the terminal returned: root@dra7xx-evm:/sys/kernel/debug/remoteproc# /lib/firmware/app_host DSP1 +--> main: +--> Main_main: +--> App_create: +Msg Param init! +MsgQ create... +MsgQ Open[DSP1:MsgQ:01]... + and the terminal was stuck on the message.(it can use Ctrl+C to exit program) However, I tested the program on CPU core(/lib/firmware/App_Host HOST), and the result seem to be normal. root@dra7xx-evm:/sys/kernel/debug/remoteproc# /lib/firmware/app_host HOST +--> main: +--> Main_main: +--> App_create: +Msg Param init! +MsgQ create... +MsgQ Open[HOST:MsgQ:01]... +App_create: Host is ready +<-- App_create: +--> App_exec: +App_exec: sending message 1 +App_exec: sending message 2 +App_exec: sending message 3 +App_exec: message received, sending message 4 +App_exec: message received, sending message 5 +App_exec: message received, sending message 6 +App_exec: message received, sending message 7 +App_exec: message received, sending message 8 +App_exec: message received, sending message 9 +App_exec: message received, sending message 10 +App_exec: message received, sending message 11 +App_exec: message received, sending message 12 +App_exec: message received, sending message 13 +App_exec: message received, sending message 14 +App_exec: message received, sending message 15 +App_exec: message received +App_exec: message received +App_exec: message received +<-- App_exec: 0 +--> App_delete: +<-- App_delete: +<-- Main_main: +<-- main: + Then, I checked the debug message on '/sys/kernel/debug/remoteproc/remoteproc2/trace0' in target board, and it showed following message: root@dra7xx-evm:/sys/kernel/debug/remoteproc# cat /sys/kernel/debug/remoteproc/remoteproc2/trace0 +[ 0.000] Watchdog disabled: TimerBase = 0x48086000 ClkCtrl = 0x4a009728 +[ 0.000] 17 Resource entries at 0x95000000 +[ 0.000] [t=0x0005f63c] xdc.runtime.Main: --> main: +[ 0.000] [t=0x00072a35] xdc.runtime.Main: --> main_Dsp1 entry point +[ 0.000] [t=0x0008b002] xdc.runtime.Main: --> main_Dsp1 Task init +[ 0.000] [t=0x000a3191] xdc.runtime.Main: --> main_Dsp1 Task create +[ 0.000] [t=0x000d2cc3] xdc.runtime.Main: --> main_Dsp1 BIOS start +[ 0.000] [t=0x000eec81] ti.ipc.rpmsg.RPMessage: --> RPMessage_init: (remoteProcId=0) +[ 0.000] [t=0x001187ce] ti.ipc.family.vayu.VirtQueue: vring: 0 0x0 (0x3000) +[ 0.000] +[ 0.000] [t=0x0013a4d3] ti.ipc.family.vayu.VirtQueue: vring: 1 0x0 (0x3000) +[ 0.000] +[ 0.000] [t=0x00159147] ti.ipc.family.vayu.VirtQueue: VirtQueue_startup: VDEV status: 0x3 +[ 0.000] +[ 0.000] [t=0x0017b8f6] ti.ipc.family.vayu.VirtQueue: VirtQueue_startup: Polling VDEV status... +[ 0.000] +[ 0.000] [t=0x0039a515] ti.ipc.family.vayu.VirtQueue: VirtQueue_startup: VDEV status: 0x7 +[ 0.000] +[ 0.000] [t=0x003c259f] ti.ipc.family.vayu.VirtQueue: Passed VirtQueue_startup +[ 0.000] +[ 0.000] [t=0x003e5773] ti.ipc.rpmsg.RPMessage: <-- RPMessage_init +[ 0.000] registering rpmsg-proto:rpmsg-proto service on 61 with HOST +[ 0.000] [t=0x004156fe] xdc.runtime.Main: NameMap_sendMessage: HOST 53, port=61 +[ 0.000] [t=0x00433764] ti.ipc.rpmsg.RPMessage: --> RPMessage_send: (dstProc=0, dstEndpt=53, srcEndpt=61, data=0x95171014, len=72 +[ 0.000] [t=0x00465c9f] ti.ipc.family.vayu.VirtQueue: getAvailBuf vq: 0x95161380 0 38166 256 0x95161390 0x1000 +[ 0.000] +[ 0.000] [t=0x00491841] ti.sysbios.knl.Semaphore: ERROR: line 202: assertion failure: A_badContext: bad calling context. Must be called from a Task. +[ 0.000] ti.sysbios.knl.Semaphore: line 202: assertion failure: A_badContext: bad calling context. Must be called from a Task. +[ 0.000] xdc.runtime.Error.raise: terminating execution + So, few question as below: 1. Do Semaphore: ERROR cause program stuck? 2. if yes, how to resolve Semaphore: ERROR? 3. if no, how to run DSP program normally on IPC module? Best / Regard Wxchen + +Responses: +Hi, Are you using the ex02_messageq as-is without modification? Your traces indicate that there may be some issue with getting the virtual address of the vring. The ex02_messageq example uses the default resource table provided in the IPC source code: packages/ti/ipc/remoteproc/rsc_table_vayu_dsp.h The address of the VRING in this table may not be matching with what is present in your environment. If the CMA region is different from what is in the default resource table, then to use the example, you will need to update the example to provide a custom resource table. Can you check the address in the Linux dts file address for the DSP CMA carveout? For example: dsp1_cma_pool: dsp1_cma@99000000 { compatible = "shared-dma-pool"; reg = <0x0 0x99000000 0x0 0x4000000>; reusable; status = "okay"; }; The default resource table in the IPC is using the same address of 0x99000000 for the VRING address. If yours is different, you will need to provide a custom resource table with the correct address for your setup: https://processors.wiki.ti.com/index.php/IPC_Resource_customTable To answer your other questions: user6065254 said: 1. Do Semaphore: ERROR cause program stuck? Yes, this error is printed from an assert. Upon assert, the program terminates. user6065254 said: 2. if yes, how to resolve Semaphore: ERROR? 3. if no, how to run DSP program normally on IPC module? For these, please check the resource table and make sure that the VRING address is aligned with the CMA pool for that core, as mentioned above, and let us know the results. Thanks, Angela + diff --git a/sample_embedding_folder2/0887393.txt b/sample_embedding_folder2/0887393.txt new file mode 100644 index 0000000000000000000000000000000000000000..96351146ef613948ed975da2e4da658a31bfd202 --- /dev/null +++ b/sample_embedding_folder2/0887393.txt @@ -0,0 +1,28 @@ +Ticket Name: TDA2EXEVM: XDC out of memroy when running TIDLOD usecase + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2 Hi sir, I was running raw TI tidlOD usecase with 1280x720 resolution model. I got a run time error: [2020-03-10 16:41:53.578] [IPU1-0] 24.989446 s: GRPXSRC: Create in progress !!! +[2020-03-10 16:41:53.578] [IPU1-0] 24.990453 s: +[2020-03-10 16:41:53.578] [IPU1-0] 24.990514 s: ### XDC ASSERT - ERROR CALLBACK START ### +[2020-03-10 16:41:53.578] [IPU1-0] 24.990575 s: +[2020-03-10 16:41:53.578] [IPU1-0] 24.990849 s: out of memory: handle=0x86ade77c, size=4293584896 +[2020-03-10 16:41:53.578] [IPU1-0] 24.990941 s: +[2020-03-10 16:41:53.578] [IPU1-0] 24.990971 s: ### XDC ASSERT - ERROR CALLBACK END ### +[2020-03-10 16:41:53.578] [IPU1-0] 24.991032 s: +[2020-03-10 16:41:53.578] [IPU1-0] 24.991429 s: ti.sysbios.heaps.HeapMem: line 221: ti.sysbios.heaps.HeapMem: line 221: out of memory: handle=0x86ade77c, size=4293584896 +[2020-03-10 16:41:53.578] [IPU1-0] 24.991581 s: UTILS: MEM: Memory allocation failed due to insufficient free memory, requested - -1382400 +[2020-03-10 16:41:53.593] [IPU1-0] 24.991673 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 +[2020-03-10 16:41:53.593] [IPU1-0] 24.991795 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 243232 B (237 KB) +[2020-03-10 16:41:53.593] [IPU1-0] 24.991947 s: SYSTEM: Heap = SR_OCMC @ 0x00000000, Total size = 0 B (0 KB), Free size = 0 B (0 KB) +[2020-03-10 16:41:53.593] [IPU1-0] 24.992100 s: SYSTEM: Heap = SR_DDR_CACHED @ 0x8a783000, Total size = 355979264 B (339 MB), Free size = 65602048 B (62 MB) +[2020-03-10 16:41:53.593] [IPU1-0] 24.992283 s: SYSTEM: Heap = SR_DDR_NON_CACHED @ 0xbfb00000, Total size = 127360 B (0 MB), Free size = 92800 B (0 MB) +[2020-03-10 16:41:53.593] [IPU1-0] 24.992435 s: Assertion @ Line: 389 in C:/PROCESSOR_SDK_VISION_03_07/vision_sdk/apps/src/rtos/modules/grpxSrc/grpxSrcLink_tsk.c: status == SYSTEM_LINK_STATUS_SOK : failed !!! +[2020-03-10 16:41:53.593] [IPU1-0] 24.993198 s: Assertion @ Line: 389 in C:/PROCESSOR_SDK_VISION_03_07/vision_sdk/apps/src/rtos/modules/grpxSrc/grpxSrcLink_tsk.c: status == SYSTEM_LINK_STATUS_SOK : failed !!! I'm wondering why it is out of memory, what is the max resolution for model can be ran on TDA2? Can you also suggest me how to fix it? Thank you, Gary + +Responses: +Hi, [2020-03-10 16:41:53.578] [IPU1-0] 24.990849 s: out of memory: handle=0x86ade77c, size=4293584896 From the log I noticed, The size seems to be the wrong value, So please check why this parameter is set wrong value. Thanks Gaviraju + +Hi Gaviraju, Where should I check this value? Thank you, Gary + +Hi, Assertion @ Line: 389 in C:/PROCESSOR_SDK_VISION_03_07/vision_sdk/apps/src/rtos/modules/grpxSrc/grpxSrcLink_tsk.c: status == SYSTEM_LINK_STATUS_SOK : failed !!! Please check in the above file. Thanks Gaviraju + diff --git a/sample_embedding_folder2/0888105.txt b/sample_embedding_folder2/0888105.txt new file mode 100644 index 0000000000000000000000000000000000000000..56101c32adc7b0b52de71aade9c2e066f3f3f9c9 --- /dev/null +++ b/sample_embedding_folder2/0888105.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2EG-17: GPU to support "Frame Sequential 3D"? + +Query Text: +Part Number: TDA2EG-17 Other Parts Discussed in Thread: TDA2 Hi Champs: Customer is using the TI TDA2 products for MP now. They are asking the "Frame Sequential 3D" feature from their end customer. Please see this : https://www.youtube.com/watch?v=5jv0HbhCuXI We have 2 questions: 1. How to use QT 3D studio to output the “Frame 3D Sequential” to the LCD output by using TDA2 GPU?? Any 3rd party or TI Document to address this support need? 2. Does our TDA2 EG parts supporting the 3D sequential output format? Please comment, thanks. BR Rio + +Responses: +Hi Rio, From the video link it appears that the left-right sequential content once generated are consumed by two displays (alternate frames going to each display). If the GPU is programmed to generate the alternate content it should be able to and this appears to be more of implementation details. Is there something specific that is needed here like support for an extension, specific format or etc. Thanks, Gowtham + +Hi Gowtham: The customer is willing to have this: https://www.youtube.com/watch?v=wZZ-KfNFG-I Does our TDA2 product is able to do this? If yes, how to implement? BR Rio + +https://github.com/dvdhrm/docs/blob/master/drm-howto/modeset-double-buffered.c hi Gowtham: please review the DRM on the above link. Customer can ser this buffer (dev->bufs[0]) as the left frame. And set this buffer: dev->bufs[1] as the right right frame Thus, they are capable to make a 3D Side by Side. Now, they want to have a 3D sequential frame (that mean: L/R frame will be viewed as a full screen. How to modify this code snippet as a 3D sequential frame? BR Rio + +Hi Rio, The mentioned buffers are ping-pong buffers used for display - one buffer is on the display and the other is used to ready the next frame and these roles keeps switching on every vsync. Here as there are two buffers for one frame, they would need four buffers to achieve ping-pong. Aside from above, the bulk of the changes needs to happen on the display side on how these left and right frames are submitted to the 3D display. What kind of display are they using and is this panel support been integrated to the driver. Thanks, Gowtham + diff --git a/sample_embedding_folder2/0888177.txt b/sample_embedding_folder2/0888177.txt new file mode 100644 index 0000000000000000000000000000000000000000..525c2fcd68de9f99c6d0f705b5a7afc0a4680a2c --- /dev/null +++ b/sample_embedding_folder2/0888177.txt @@ -0,0 +1,36 @@ +Ticket Name: TDA2EXEVM: UTILS: MBX: Utils_mbxSendCmd(): Msg Alloc Failed (0)!!! + +Query Text: +Part Number: TDA2EXEVM Hi sir, I ran tidlOD use case with a 1280x720 resolution model. I modified resolution relating part in tidlOD.c (such as display, grpxSrc) to fit my model. I also modify vpeLink_drvCommon.c according to this thread (). The detected process will be hung after starting detection process for a few seconds. 1. Here is the error message when detected process stops, [DSP1 ] 46.671628 s: Assertion @ Line: 782 in tiop/tiopLink_algPlugin.c: freeId != -1 : failed !!! +[DSP1 ] 169.284572 s: UTILS: MBX: Utils_mbxSendCmd(): Msg Alloc Failed (0)!!! + 2. Here is the inBufStats status in AlgorithmLink_tiopProcess() before error, [2020-03-12 17:29:38.765] [DSP1 ] 80.356981 s: inBufStats 0 1 +[2020-03-12 17:29:38.796] [DSP1 ] 80.357042 s: inBufStats 1 1 +[2020-03-12 17:29:38.796] [DSP1 ] 80.357042 s: inBufStats 2 0 +[2020-03-12 17:29:38.796] [DSP1 ] 80.357073 s: inBufStats 3 0 +[2020-03-12 17:29:38.796] [DSP1 ] 80.357073 s: inBufStats 4 0 +[2020-03-12 17:29:38.796] [DSP1 ] 80.357073 s: inBufStats 5 0 +[2020-03-12 17:29:38.796] [DSP1 ] 80.357103 s: inBufStats 6 0 +[2020-03-12 17:29:38.859] [DSP1 ] 80.453760 s: Assertion @ Line: 782 in tiop/tiopLink_algPlugin.c: freeId != -1 : failed !!! If I'm not misunderstanding, the buffer 2-6 are still available, but the error (tiop/tiopLink_algPlugin.c: freeId != -1) shows there is no free buffer can be used. 3. All things will be fine if I run with 768x320 model. Can you suggest me how to fix it? Thank you, Gary + +Responses: +Hi, Can you share the complete logs in text file? Thanks Gaviraju + +Hi Gaviraju, Here is the debug log 4645.logs.txt I found that when the error happened, the tiop buffer couldn't be released properly. And this was due to incorrect bufferID in tiopReleaseLockedBuffer() ( tmpId = -2010018329) This error will usually happen when the capture sense changed. Please suggest me what can I do next. Thank you, Gary + +Hi, Any suggestion? In my further testing , the tmpID should be positive. [2020-03-16 13:08:36.081] [DSP1 ] 33.191453 s: released tiopReleaseLockedBuffer in tmpID 2284948968 +[2020-03-16 13:08:36.112] [DSP1 ] 33.191484 s: released tiopReleaseLockedBuffer out tmpID 2284948967 Thank you, Gary + +Hi, You mentioned, "All things will be fine if I run with 768x320 model". So remove all your changes did for 1280x720 model then run the lowe resolution model( < 768x320) & let's see you will face the same issue or not. Thanks Gaviraju + +Hi, >> ...let's see you will face the same issue or not No, it runs correctly when removing changes. Can you advise the correct way to run tidlOD usecase with a 1280x720 model? Where should I change? Thank you, Gary + +Hi Gaviraju, I temporary solved this issue by lower deploy.prototxt "keep_top_k" value from 20 to 10. But 10 objects are not enough for my application. So I still need your help to find the root cause. How to deal with 20 or more objects at a time in my case? Do you have any idea? Thank you, Gary + +Hi, Please share your input files with us, we will debug the issue & get back. Thanks Gaviraju + +Hi Gaviraju, I've solved this issue, thank you for your help Gary + +Thanks for the update! + +Hi, Can you share your solutions please? I have the same problem. + diff --git a/sample_embedding_folder2/0888187.txt b/sample_embedding_folder2/0888187.txt new file mode 100644 index 0000000000000000000000000000000000000000..201fcf7db8257903d9211ee0e335ee62a05ff9c2 --- /dev/null +++ b/sample_embedding_folder2/0888187.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2PXEVM: TDA2 - Tidl_OD usecase + +Query Text: +Part Number: TDA2PXEVM Hi Sirs, Based on previous discussions -> https://e2e.ti.com/support/processors/f/791/t/886542 If use chains_tidlOD_1 usecase Two-channel run the same SSD model, but different weight. The alg_pluging whether to add an extra tidl, and give another alg_id. Or is there another method? Thanks Horace + +Responses: +Hi, I will check with TIDL team & get back Thanks Gaviraju + +Hi, Yes, you have to add an extra tidl, and give another alg_id. Thanks Gaviraju + +Hi, Thanks for your reply. BR. Horace + diff --git a/sample_embedding_folder2/0888197.txt b/sample_embedding_folder2/0888197.txt new file mode 100644 index 0000000000000000000000000000000000000000..c59db9cee3152d2f7e1d54dc1f22627322a12760 --- /dev/null +++ b/sample_embedding_folder2/0888197.txt @@ -0,0 +1,8 @@ +Ticket Name: TIDEP-01017: About DSP1 memory allocation issue + +Query Text: +Part Number: TIDEP-01017 Hi I modify the sample code of Cascade MIMO object detection of radar sdk 3.8. And I want to use MUSIC algorithm to calculation the angle of object on DSP1. Then I need to allocate memory to use SVD. The size of input data matrix of SVD is 86 * 86, and the data type is complex. I try to use "Utils_memAlloc" to allocate memory on UTILS_HEAPID_L2_LOCAL, but it failed. Can you give me some advice? Thanks. Morris + +Responses: +Hi, please try with this "UTILS_HEAPID_DDR_CACHED_SR" Thanks Gaviraju + diff --git a/sample_embedding_folder2/0888815.txt b/sample_embedding_folder2/0888815.txt new file mode 100644 index 0000000000000000000000000000000000000000..d0059d05f704ed0eee4c1a3bd0b9beafb7761596 --- /dev/null +++ b/sample_embedding_folder2/0888815.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA3XEVM: TDA3X RJ45 video output + +Query Text: +Part Number: TDA3XEVM For TDA3X EVM board, there is a RJ45 connector, I would like to use this RJ45 interface to output video streaming, how can I do ? do I need video codec? thank you! Steven + +Responses: +Steven, You mean over ethernet? We dont have exact usecase. rgds, Brijesh + +Brijesh: how about TDA2x or TRA4x ? can I use them to output video streaming from Ethernet to other equipment with Ethernet interface? thank you! steven + +I find Ethernet connector RJ45 on TDA2x/3z/4x EVM board on following photos, I would like to know if I can use this Ethernet interface to output vidieo streaming to other equipment. Thank you! stevenictures, + +Hello Steven, Sorry for pitching late. Would like to know your use-case in detail for TDA3xx. We can check if it can be supported in TDA3 without the video codec. + diff --git a/sample_embedding_folder2/0888903.txt b/sample_embedding_folder2/0888903.txt new file mode 100644 index 0000000000000000000000000000000000000000..d2e3d53a802d533d040af509e4f09df0484bf768 --- /dev/null +++ b/sample_embedding_folder2/0888903.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA4VM: TDA4VM OD(Jdetnet 768x320) green screen on EVB + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2, Hello, I tried testing JDetnet 768x320(TDA2 ssd) by run_app_tidl_avp.sh on TDA4VM , but it has green color on screen. The model output on PC via import tools(simulator) and the output value on TDA4V EVB looks good as below LOG(2.). I knew that it was related to 'kp_valid_ptr' in the tivxKernelODDrawDetectionsProcess (Vx_od_draw_detections_target.c) if((pPSpots->score >= params->viz_th) && (kp_valid_ptr[i] == 1) && (data_ptr_1 != 0x0) && (data_ptr_2 != 0x0)) { drawPoints(params, data_ptr_1, data_ptr_2, &kp_ptr[i*total_points_per_box*2],total_points_per_box, pPSpots->label); } It is '0', when EVB print log of the val for debugging the problem. could you explain the value in detail ? could you recommend on how the green screen issue resolve? The cfg file is as below. 1. PSDK: 6.1.0 cfg file in_size 1280 720 od_size 768 320 viz_th 0.4 0.2 enable_psd 0 enable_vd 1 enable_sem_seg 0 2. printf LOG [C6x_1 ] 96.427864 s: KHDBG: KernelODDrawProcess +++++++++ [C6x_1 ] 96.427926 s: NumObj[ 4] ObjInfoSize[28] Offset[16] !! [C6x_1 ] 96.427973 s: >>> L[2.0] S[0.359] viz_th[0.200] kp_valid_ptr[0], data_ptr_1[bddc0000], data_ptr_2[bde00000] [C6x_1 ] 96.428017 s: >>> L[2.0] S[0.334] viz_th[0.200] kp_valid_ptr[0], data_ptr_1[bddc0000], data_ptr_2[bde00000] [C6x_1 ] 96.428061 s: >>> L[2.0] S[0.229] viz_th[0.200] kp_valid_ptr[0], data_ptr_1[bddc0000], data_ptr_2[bde00000] [C6x_1 ] 96.428105 s: >>> L[2.0] S[0.229] viz_th[0.200] kp_valid_ptr[1], data_ptr_1[bddc0000], data_ptr_2[bde00000] [C6x_1 ] 96.428134 s: KHDBG: KernelODDrawProcess --------- [C6x_1 ] 96.458682 s: KHDBG: KernelODDrawProcess +++++++++ [C6x_1 ] 96.458728 s: NumObj[ 3] ObjInfoSize[28] Offset[16] !! [C6x_1 ] 96.458770 s: >>> L[2.0] S[0.409] viz_th[0.200] kp_valid_ptr[0], data_ptr_1[bd560000], data_ptr_2[bd5a0000] [C6x_1 ] 96.458813 s: >>> L[2.0] S[0.261] viz_th[0.200] kp_valid_ptr[0], data_ptr_1[bd560000], data_ptr_2[bd5a0000] [C6x_1 ] 96.458857 s: >>> L[2.0] S[0.229] viz_th[0.200] kp_valid_ptr[0], data_ptr_1[bd560000], data_ptr_2[bd5a0000] [C6x_1 ] 96.458885 s: KHDBG: KernelODDrawProcess --------- [C6x_1 ] 96.489408 s: KHDBG: KernelODDrawProcess +++++++++ [C6x_1 ] 96.489454 s: NumObj[ 2] ObjInfoSize[28] Offset[16] !! [C6x_1 ] 96.489495 s: >>> L[2.0] S[0.373] viz_th[0.200] kp_valid_ptr[0], data_ptr_1[bddc0000], data_ptr_2[bde00000] [C6x_1 ] 96.489539 s: >>> L[2.0] S[0.366] viz_th[0.200] kp_valid_ptr[0], data_ptr_1[bddc0000], data_ptr_2[bde00000] [C6x_1 ] 96.489567 s: KHDBG: KernelODDrawProcess --------- [C6x_1 ] 96.519823 s: KHDBG: KernelODDrawProcess +++++++++ [C6x_1 ] 96.519869 s: NumObj[ 3] ObjInfoSize[28] Offset[16] !! [C6x_1 ] 96.519926 s: >>> L[2.0] S[0.584] viz_th[0.200] kp_valid_ptr[0], data_ptr_1[bd560000], data_ptr_2[bd5a0000] [C6x_1 ] 96.519977 s: >>> L[2.0] S[0.229] viz_th[0.200] kp_valid_ptr[0], data_ptr_1[bd560000], data_ptr_2[bd5a0000] [C6x_1 ] 96.520022 s: >>> L[2.0] S[0.229] viz_th[0.200] kp_valid_ptr[1], data_ptr_1[bd560000], data_ptr_2[bd5a0000] [C6x_1 ] 96.520053 s: KHDBG: KernelODDrawProcess --------- BR, Khethan + +Responses: +Khethan, The AVP Demo is trained for fish-eye images and not rectilinear images, we have added an example to perform simple object detection on rectiliner images. This demo will be available publicly by May 2020 but if you need it before that, you will need to have a CDDS account where I can share the new demos. As the AVP demo works on fish-eye images, the parking sport is trapezoidal in nature. So a rectangle co-ordinates of (xmin, ymin) (xmax, ymax) does not apply. So we identify what is called as key-points, basically points at the four corners of the parking lot and then do some post-processing to interpolate the points and draw lines on a fish eye-image. If you are doing simple object detection, you will be unable to use this demo out-of-the-box. I am not sure why you are observing a green screen, its possible that you are not selecting the right input in Mosaic Node. When you disable PSD and segmentation, the Mosaic input list gets changed and the logic to select the inputs need to be updated. Regards, Shyam + +Hello Shyam, Thanks for you quick reply. I understand what you say and will be able to resolve the problem. I have CDDS account, so could you please share the new example demos ? BR, Khethan + diff --git a/sample_embedding_folder2/0889638.txt b/sample_embedding_folder2/0889638.txt new file mode 100644 index 0000000000000000000000000000000000000000..04b054c0d85a9befa2fcf746971086c61f0b8cf9 --- /dev/null +++ b/sample_embedding_folder2/0889638.txt @@ -0,0 +1,63 @@ +Ticket Name: DRA756: How to disable J6 emmc power save mode. + +Query Text: +Part Number: DRA756 Hi experts: Our customer need use PON (Power off notification) function at their project. Micron eMMC when received PON command -- CMD6, Micron emmc need long time to process the PON command. But J6 emmc driver will stop eMMC_CLK very quickly. So micron emmc can not successful finish PON command. Could you please suggest how to disable J6 emmc power save mode? We have try to modify omap_hsmmc_set_ios() power_off case and delete all those POWER_OFF function. it can not keep eMMC send out clock. Best Regars! Han Tao + +Responses: +Hi Tao Han, Could you share the procedure you are using to test Power Off Notification on Linux? Regards, Vishal + +Hi Han Tao, In Linux Kernel omap_hsmmc driver we don't think there is an issue handling power off notification. -1- In poweroff_notify timeout is correctly chosen based on SHORT or LONG static int mmc_poweroff_notify(struct mmc_card *card, unsigned int notify_type) +{ + unsigned int timeout = card->ext_csd.generic_cmd6_time; + int err; + + /* Use EXT_CSD_POWER_OFF_SHORT as default notification type. */ + if (notify_type == EXT_CSD_POWER_OFF_LONG) + timeout = card->ext_csd.power_off_longtime; + + err = __mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, + EXT_CSD_POWER_OFF_NOTIFICATION, + notify_type, timeout, true, false, false); + if (err) + pr_err("%s: Power Off Notification timed out, %u\n", + mmc_hostname(card->host), timeout); + + /* Disable the power off notification after the switch operation. */ + card->ext_csd.power_off_notification = EXT_CSD_NO_POWER_NOTIFICATION; + + return err; +} -2- In __mmc_switch API, this timeout is stored as busy_timeout int __mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value, + unsigned int timeout_ms, bool use_busy_signal, bool send_status, + bool ignore_crc) +{ +. +. + cmd.busy_timeout = timeout_ms; + -3- In omap_hsmmc driver, this busy_timeout is used as data timeout. static int +omap_hsmmc_prepare_data(struct omap_hsmmc_host *host, struct mmc_request *req) +{ + int ret; + unsigned long long timeout; + + host->data = req->data; + + if (req->data == NULL) { + OMAP_HSMMC_WRITE(host->base, BLK, 0); + if (req->cmd->flags & MMC_RSP_BUSY) { + timeout = req->cmd->busy_timeout * NSEC_PER_MSEC; + + /* + * Set an arbitrary 100ms data timeout for commands with + * busy signal and no indication of busy_timeout. + */ + if (!timeout) + timeout = 100000000U; + + set_data_timeout(host, timeout, 0); + } + return 0; + } + Regards, Vishal + +Hi Vishal: Thanks for your help. Except your provided driver modify. At linux PSDK release use below command can continue send out MMC clock. With below command, now can continue send out eMMC_CLK at EVM board. Believe this method can work. dd if=/dev/mmcblk0 of=/dev/null count=1000000 & omapconf write 0x480B4010 0x14 omapconf write 0x480b4110 0x130C omapconf write 0x480b412C 0x118620 Best Regards! Han Tao + diff --git a/sample_embedding_folder2/0889791.txt b/sample_embedding_folder2/0889791.txt new file mode 100644 index 0000000000000000000000000000000000000000..3becae4cfae413ae15eac3bfd13001165d61b4d7 --- /dev/null +++ b/sample_embedding_folder2/0889791.txt @@ -0,0 +1,8 @@ +Ticket Name: CCS/PROCESSOR-SDK-DRA8X-TDA4X: how to test time on TDA4 c66 + +Query Text: +Part Number: PROCESSOR-SDK-DRA8X-TDA4X Tool/software: Code Composer Studio Hi : on tda2 EVM i test time function cost use TSCH and TSCL. what about TDA4 evm ? unsigned long long WH_time[10]; double WH_cost[10]; TSCH = 0; TSCL = 0; WH_time[0] = _itoll(TSCH,TSCL); Thanks Shuai + +Responses: +Hi Shuai, you should be able to use the same functionality in TDA4x. For some directions you can see "Example 17. Profiling Example" in this AppNote: and this E2E post: Regards, Yordan + diff --git a/sample_embedding_folder2/0889812.txt b/sample_embedding_folder2/0889812.txt new file mode 100644 index 0000000000000000000000000000000000000000..1bf1bdc61926917b43933258b381c2561b4d4f5a --- /dev/null +++ b/sample_embedding_folder2/0889812.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2EXEVM: channel switching in single channel display. + +Query Text: +Part Number: TDA2EXEVM Hello there, We are having an use-case for 6-channel display. Capture(6-channels) -> VPE -> Merge -> Display. For switching between the channels we are using the below API, Int32 System_linkControl(UInt32 linkId, UInt32 cmd, Void *pPrm, UInt32 prmSize, Bool waitAck) If we want to switch the API, the parameter "params.activeChId" from structure typedef struct { UInt32 activeChId; /**< Active chID from which frames should be displayed */ } DisplayLink_SwitchChannelParams; are assigned the value to change the channels. But every-time channel 0 is displayed first. even though we have changed the activeChId to some other value not 0. For our requirement we need to display data based on the activeChId value. Please suggest the solution. Thanks & regards Balaji T + +Responses: +Hi, Can you confirm the function "DisplayLink_drvSwitchCh" is called or not after sending the command using the API "System_linkControl"? Thanks Gaviraju + +Hi Gaviraju, In file ./links_fw/src/rtos/links_ipu/display/displayLink_drv.c API DisplayLink_drvSwitchCh(pObj, &switchParams) i have enabled the print. While giving switch command to System_linkControl , that print is not getting printed in the debug screen, Regards Balaji T + +Hi, It seems you are not sending a command properly(Make sure link ID argument is correct or not) in the System_linkControl function call. refer "chains_lvdsVipMultiCam_Display_SwitchDisplayChannel" function here they are trying to switch the input channel to display. Thanks Gaviraju + diff --git a/sample_embedding_folder2/0890883.txt b/sample_embedding_folder2/0890883.txt new file mode 100644 index 0000000000000000000000000000000000000000..c44c7ea1c722c879b330b4005487ca9a1ee71a4a --- /dev/null +++ b/sample_embedding_folder2/0890883.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2EXEVM: Question about TDIL OD fps and input resolution of a model + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2 Hi, For my understanding, the larger input image size of a model, the lower fps on TDA2. When I test with 3 different input image size model, 768x320, 1080x635 and 1280x720, I got 22 and 5.47 and 9.65, respectively. Is this reasonable? I'm wounder what will make this happen. Thank you, Gary + +Responses: +Hi Gary, you can press 'p' when running the usecase to get statistics of the various links (including TIDL link) and see their input fps, output fps, processing time, etc. Can you try this and see if you can find what cause such behaviour? Regards, Yordan + +Hi Yordan, Here are the statistics for two different resolution models. 1280x720.txt 1080x636.txt As I can see, 1080x636 model take more time in TIDL part. I use the same model but different resolution to train. If all settings are the same, is there any reason make this happen? Thank you, Gary + +Hi Gary, >> As I can see, 1080x636 model take more time in TIDL part. Yes, this expected because this resolution is not suitable for SIMD optimization, as TIDL operates on blocks of 32x32, so you see some degradation compare to other resolutions. It is recommend to use resolutions that are multiples of 32 to get better fps. Thanks, Praveen + diff --git a/sample_embedding_folder2/0890898.txt b/sample_embedding_folder2/0890898.txt new file mode 100644 index 0000000000000000000000000000000000000000..5a95b7ecf3d4d4fe5391425da99be1aa42c6f97d --- /dev/null +++ b/sample_embedding_folder2/0890898.txt @@ -0,0 +1,20 @@ +Ticket Name: TDA2E: how I find the link ID related source code? + +Query Text: +Part Number: TDA2E (1)For example,IF I want to find the source code if ID Alg_RadarProcess_objectDetectLinkID,where I can find it. (2) I design anew set of radar parameter,how to make sure that the DSP,EVE will finish theri job in a certain time? Make the DSP a sinlge peoject test it? + +Responses: +Hi, (1)For example,IF I want to find the source code if ID Alg_RadarProcess_objectDetectLinkID, where I can find it. >>>> First you need to find out in which use-case this algorithm(Alg_RadarProcess_objectDetect) is used. This algorithm used in "vision_sdk/apps/src/rtos/radar/src/usecases/cascade_radar_object_detect" usecase. Here 5 Algorithm link is defined in the use-case such as Alg_RadarProcess_fft1 Alg_RadarProcess_fft2 Alg_RadarProcess_fft3 Alg_RadarProcess_fft4 Alg_RadarProcess_objectDetect For every algorithm link, the create parameter structure member is created in the use-case as below typedef struct { chains_cascadeRadarOdObj ucObj; ChainsCommon_Ar12xxConfigOut ar12xxCfg; Chains_Ctrl *chainsCfg; /* Algorithm */ AlgorithmFxn_RadarFftCreateParams radarFftParams1; AlgorithmFxn_RadarFftCreateParams radarFftParams2; AlgorithmFxn_RadarFftCreateParams radarFftParams3; AlgorithmFxn_RadarFftCreateParams radarFftParams4; AlgorithmFxn_RadarDspProcessCreateParams radarDspOdParams; } Chains_cascadeRadarOdAppObj; The next step is you have grep "AlgorithmFxn_RadarDspProcessCreateParams" in the vision SDK, then you can see where it's being used. vision_sdk\apps\src\rtos\radar\src\alg_plugins\alg_fxns\radardspprocess - This is the source code directory for the link "Alg_RadarProcess_objectDetect" 2)I design anew set of radar parameter,how to make sure that the DSP,EVE will finish theri job in a certain time? Make the DSP a sinlge peoject test it? >>> I will check with our teammates & get back + +For #2, yes, you will have to run it to get the benchmark numbers for DSP algorithm. + +Hi thank U (1)I didn't find the ision_sdk\apps\src\rtos\radar\src\alg_plugins\alg_fxns\radardspprocess,there is no file named radardspprocess,is it radardspcascademimo? (2)In your example, my code is /* Algorithm */ AlgorithmFxn_RadarFftCreateParams radarFftParams1; AlgorithmFxn_RadarFftCreateParams radarFftParams2; AlgorithmFxn_RadarFftCreateParams radarFftParams3; AlgorithmFxn_RadarFftCreateParams radarFftParams4; AlgorithmFxn_RadarDsp CascadeMimoCreateParams radarDspOdParams; is my software wrong? + +Yup Thanks Gaviraju + +hi ,please help me sovled my problem? I can't find the file you refered,and my source code is different from your + +HI thanks if I need test the DSP algorithm with static test data,what should I do?use a CCS project or use a link? + +(1)I didn't find the ision_sdk\apps\src\rtos\radar\src\alg_plugins\alg_fxns\radardspprocess,there is no file named radardspprocess,is it radardspcascademimo? >>>> radardspprocess was used in the older SDK version & for your SDK version "radardspcascademimo" is the source code directory of the link (2)In your example, my code is /* Algorithm */ AlgorithmFxn_RadarFftCreateParams radarFftParams1; AlgorithmFxn_RadarFftCreateParams radarFftParams2; AlgorithmFxn_RadarFftCreateParams radarFftParams3; AlgorithmFxn_RadarFftCreateParams radarFftParams4; AlgorithmFxn_RadarDspCascadeMimoCreateParams radarDspOdParams; is my software wrong? >>>> This is correct & whatever I mentioned in the above post that is used in the older SDK version Thanks Gaviraju + diff --git a/sample_embedding_folder2/0891499.txt b/sample_embedding_folder2/0891499.txt new file mode 100644 index 0000000000000000000000000000000000000000..cbcb91dfc9023224c18d0968f72b2481dfb4d9ab --- /dev/null +++ b/sample_embedding_folder2/0891499.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA4VM: How to dump Clock tree for CTT on TDA4VM + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 Dear experts, Is there a tool to dump clock tree for CTT from TDA4VM? I am using PSDKRA 6.2. In TDA2 gen, we have "omapconf ctt dump". Thanks & Best Regards! ZM + +Responses: +Hello ZM, git.ti.com/.../ This is k3conf Tool. Similar to omapconf. Please follow the readme. k3conf dump clock Gives the dump of all the clocks this might not be exactly like omapconf but this is the closest you can get with that. Attaching the binary for your reference. Just copy that your file system and run the command: k3conf dump clock Note: Attachment is k3conf.txt just download it and rename it to k3confk3conf.zip Hope this thread can be resolved. Regards, Keerthy + diff --git a/sample_embedding_folder2/0891905.txt b/sample_embedding_folder2/0891905.txt new file mode 100644 index 0000000000000000000000000000000000000000..702577ea456c6bab3d3213b6e332f68f17ac629c --- /dev/null +++ b/sample_embedding_folder2/0891905.txt @@ -0,0 +1,24 @@ +Ticket Name: TDA2E: How to realize TIDL model switching without reloading the whole Chain? + +Query Text: +Part Number: TDA2E Hi, I need to run two (OD and SemSeg) TIDL models alternatively. However, it takes too long to reload the whole chain. Besides, I found the 'ALGORITHM_LINK_OBJ_MAX' parameter. Does that mean I can load two models on one EVE, and switch while the chain running? + +Responses: +As long as you have enough resource to allocate for both chains, you can create them statically and feed data to one of the chains at a time. Regards, Stanley + +Thanks, i will verify the feasibility. + +Hi Stanley I'm trying to restart tidl_OD usecase without create & delete repeatedly. However, the chain can be started (chains_tidlEVE_StartAPP) and then stop (chain_tidlEVE_StopAPP) correctly, but can not be restarted again by chains_tidlEVE_StartAPP. Corresponding code and log are shown below. Void chains_tidlEVE_StartAPP(chains_tidlODAppObj *pObj) +{ +chains_tidlEVE_Start(&pObj->ucObj); +Chains_prfLoadCalcEnable(TRUE, FALSE, FALSE); +} + +Void chains_tidlEVE_StopAPP(chains_tidlODAppObj *pObj) +{ + chains_tidlEVE_Stop(&pObj->ucObj); + Chains_prfLoadCalcEnable(FALSE, TRUE, TRUE); +} log: [IPU1-0] ==================== [IPU1-0] Chains Run-time Menu [IPU1-0] ==================== [IPU1-0] [IPU1-0] 0: DeInit Chain [IPU1-0] [IPU1-0] 1: Stop Chain [IPU1-0] 2: Start Chain [IPU1-0] [IPU1-0] p: printStatistics [IPU1-0] [IPU1-0] c: PRINT_CORE_PRF_LOAD [IPU1-0] [IPU1-0] b: printBufferStatistics [IPU1-0] [IPU1-0] Enter Choice: [IPU1-0] [IPU1-0] 32.902580 s: [IPU1-0] 32.902671 s: DISPLAY: Start in progress !!! [IPU1-0] 32.902732 s: DISPLAY: Start Done !!! [IPU1-0] 32.908711 s: DISPLAY: Start in progress !!! [IPU1-0] 32.908802 s: DISPLAY: Start Done !!! [IPU1-0] 32.916519 s: [IPU1-0] [IPU1-0] ==================== [IPU1-0] Chains Run-time Menu [IPU1-0] ==================== [IPU1-0] [IPU1-0] 0: DeInit Chain [IPU1-0] [IPU1-0] 1: Stop Chain [IPU1-0] 2: Start Chain [IPU1-0] [IPU1-0] p: printStatistics [IPU1-0] [IPU1-0] c: PRINT_CORE_PRF_LOAD [IPU1-0] [IPU1-0] b: printBufferStatistics [IPU1-0] [IPU1-0] Enter Choice: [IPU1-0] [IPU1-0] 45.250960 s: [IPU1-0] 45.251082 s: DISPLAY: Stop in progress !!! [IPU1-0] 45.251174 s: DISPLAY: Stop Done !!! [IPU1-0] 45.254803 s: DISPLAY: Stop in progress !!! [IPU1-0] 45.254925 s: DISPLAY: Stop Done !!! [IPU1-0] 45.255047 s: ALGORITHM: Stop in progress (algId = 1) !!! [IPU1-0] 45.255139 s: ALGORITHM: Stop Done (algId = 1) !!! [IPU1-0] 45.255261 s: IPC_IN_1 : Stop Done !!! [IPU1-0] 45.256054 s: IPC_OUT_1 : Stop Done !!! [IPU1-0] 45.256298 s: IPC_IN_0 : Stop Done !!! [HOST ] 45.255413 s: IPC_OUT_3 : Stop Done !!! [HOST ] 45.255505 s: ALGORITHM: Stop in progress (algId = 16) !!! [HOST ] 45.255505 s: ALGORITHM: Stop Done (algId = 16) !!! [HOST ] 45.255566 s: IPC_IN_1 : Stop Done !!! [HOST ] 45.282742 s: IPC_OUT_0 : Stop Done !!! [DSP1 ] 45.255657 s: IPC_OUT_1 : Stop Done !!! [DSP1 ] 45.255840 s: ALGORITHM: Stop in progress (algId = 39) !!! [DSP1 ] 45.255840 s: ALGORITHM: Stop Done (algId = 39) !!! [DSP1 ] 45.255962 s: IPC_IN_3 : Stop Done !!! [DSP1 ] 45.256450 s: IPC_OUT_0 : Stop Done !!! [DSP1 ] 45.256572 s: ALGORITHM: Stop in progress (algId = 36) !!! [DSP1 ] 45.256603 s: ALGORITHM: Stop Done (algId = 36) !!! [DSP1 ] 45.256999 s: IPC_IN_0 : Stop Done !!! [DSP1 ] 45.282834 s: IPC_IN_1 : Stop Done !!! [EVE1 ] 45.280912 s: IPC_OUT_0 : Stop Done !!! [EVE1 ] 45.281492 s: ALGORITHM: Stop in progress (algId = 14) !!! [EVE1 ] 45.281736 s: ALGORITHM: Stop Done (algId = 14) !!! [EVE1 ] 45.282407 s: IPC_IN_0 : Stop Done !!! [EVE2 ] 45.379765 s: IPC_OUT_0 : Stop Done !!! [EVE2 ] 45.380558 s: ALGORITHM: Stop in progress (algId = 14) !!! [EVE2 ] 45.380802 s: ALGORITHM: Stop Done (algId = 14) !!! [EVE2 ] 45.381351 s: IPC_IN_0 : Stop Done !!! [HOST ] 45.381687 s: IPC_OUT_1 : Stop Done !!! [DSP1 ] 45.381961 s: IPC_IN_2 : Stop Done !!! [IPU1-0] 45.480265 s: IPC_OUT_0 : Stop Done !!! [IPU1-0] 45.480448 s: VPE: Stop in progress !!! [IPU1-0] 45.480540 s: VPE: Stop Done !!! [IPU1-0] 45.480631 s: DECODE: Stop in progress !!! [IPU1-0] 45.480814 s: DECODE: Stop Done !!! [IPU1-0] 45.481058 s: [IPU1-0] 45.481180 s: #### EVE CLK = 650.0 Mhz [IPU1-0] 45.481302 s: #### DSP CLK = 748.0 Mhz [IPU1-0] 45.481424 s: #### IPU CLK = 212.800000 Mhz [IPU1-0] 45.481547 s: #### A15 CLK = 1176.0 Mhz [IPU1-0] 45.481608 s: [IPU1-0] 45.481638 s: [IPU1-0] 45.481699 s: LOAD: CPU: 14.5% HWI: 1.8%, SWI:0.8% [IPU1-0] 45.482035 s: [IPU1-0] 45.482096 s: LOAD: TSK: IPC_IN_0 : 0.1% [IPU1-0] 45.482187 s: LOAD: TSK: IPC_IN_1 : 0.1% [IPU1-0] 45.482279 s: LOAD: TSK: IPC_OUT_0 : 0.1% [IPU1-0] 45.482370 s: LOAD: TSK: IPC_OUT_1 : 0.2% [IPU1-0] 45.482462 s: LOAD: TSK: NULL_SRC0 : 2.6% [IPU1-0] 45.482553 s: LOAD: TSK: SYNC0 : 0.3% [IPU1-0] 45.482645 s: LOAD: TSK: DISPLAY0 : 0.1% [IPU1-0] 45.482767 s: LOAD: TSK: DEC0 : 0.2% [IPU1-0] 45.482858 s: LOAD: TSK: VPE0 : 0.3% [IPU1-0] 45.482950 s: LOAD: TSK: ALGORITHM0 : 1.7% [IPU1-0] 45.483041 s: LOAD: TSK: GrpxSrc0 : 0.2% [IPU1-0] 45.483133 s: LOAD: TSK: STAT_COLL : 3.5% [IPU1-0] 45.483224 s: LOAD: TSK: DEC_PROCESS_TSK_0 : 0.4% [IPU1-0] 45.483316 s: LOAD: TSK: MISC : 2.1% [IPU1-0] 45.483377 s: [IPU1-1] 45.583267 s: [IPU1-1] 45.583358 s: LOAD: CPU: 1.1% HWI: 0.7%, SWI:0.3% [IPU1-1] 45.583450 s: [IPU1-1] 45.583541 s: LOAD: TSK: MISC : 0.1% [IPU1-1] 45.583633 s: [HOST ] 45.480082 s: IPC_OUT_2 : Stop Done !!! [HOST ] 45.480143 s: ALGORITHM: Stop in progress (algId = 12) !!! [HOST ] 45.480143 s: ALGORITHM: Stop Done (algId = 12) !!! [HOST ] 45.480204 s: IPC_IN_0 : Stop Done !!! [EVE3 ] 45.478374 s: IPC_OUT_0 : Stop Done !!! [EVE3 ] 45.478984 s: ALGORITHM: Stop in progress (algId = 14) !!! [EVE3 ] 45.479198 s: ALGORITHM: Stop Done (algId = 14) !!! [EVE3 ] 45.479747 s: IPC_IN_0 : Stop Done !!! [HOST ] 45.684133 s: [HOST ] 45.684133 s: LOAD: CPU: 26.3% HWI: 0.1%, SWI:0.0% [HOST ] 45.684133 s: [HOST ] 45.684133 s: LOAD: TSK: MISC : 26.2% [HOST ] 45.684163 s: [DSP1 ] 45.783962 s: [DSP1 ] 45.783993 s: LOAD: CPU: 15.0% HWI: 0.2%, SWI:0.1% [DSP1 ] 45.783993 s: [DSP1 ] 45.784023 s: LOAD: TSK: SYSTEM_TSK_MULTI_MBX: 14.5% [DSP1 ] 45.784023 s: LOAD: TSK: MISC : 0.2% [DSP1 ] 45.784054 s: [DSP2 ] 45.883974 s: [DSP2 ] 45.884005 s: LOAD: CPU: 0.2% HWI: 0.0%, SWI:0.0% [DSP2 ] 45.884035 s: [DSP2 ] 45.884035 s: LOAD: TSK: MISC : 0.2% [DSP2 ] 45.884066 s: [EVE1 ] 45.984444 s: [EVE1 ] 45.984597 s: LOAD: CPU: 75.7% HWI: 0.3%, SWI:0.2% [EVE1 ] 45.984841 s: [EVE1 ] 45.984993 s: LOAD: TSK: SYSTEM_TSK_MULTI_MBX: 75.0% [EVE1 ] 45.985268 s: LOAD: TSK: MISC : 0.2% [EVE1 ] 45.985481 s: [EVE2 ] 46.086744 s: [EVE2 ] 46.086866 s: LOAD: CPU: 72.9% HWI: 0.3%, SWI:0.2% [EVE2 ] 46.087140 s: [EVE2 ] 46.087293 s: LOAD: TSK: SYSTEM_TSK_MULTI_MBX: 72.3% [EVE2 ] 46.087537 s: LOAD: TSK: MISC : 0.1% [EVE2 ] 46.087750 s: [EVE3 ] 46.188800 s: [EVE3 ] 46.188952 s: LOAD: CPU: 73.2% HWI: 0.3%, SWI:0.1% [EVE3 ] 46.189227 s: [EVE3 ] 46.189379 s: LOAD: TSK: SYSTEM_TSK_MULTI_MBX: 72.5% [EVE3 ] 46.189654 s: LOAD: TSK: MISC : 0.3% [EVE3 ] 46.189867 s: [EVE4 ] 46.290703 s: [EVE4 ] 46.290855 s: LOAD: CPU: 0.5% HWI: 0.2%, SWI:0.1% [EVE4 ] 46.291099 s: [EVE4 ] 46.291282 s: LOAD: TSK: MISC : 0.2% [EVE4 ] 46.291496 s: [IPU2 ] 46.392515 s: [IPU2 ] 46.392576 s: LOAD: CPU: 0.8% HWI: 0.4%, SWI:0.3% [IPU2 ] 46.392698 s: [IPU2 ] 46.392789 s: LOAD: TSK: MISC : 0.1% [IPU2 ] 46.392881 s: [IPU1-0] 46.492984 s: [IPU1-0] [IPU1-0] ==================== [IPU1-0] Chains Run-time Menu [IPU1-0] ==================== [IPU1-0] [IPU1-0] 0: DeInit Chain [IPU1-0] [IPU1-0] 1: Stop Chain [IPU1-0] 2: Start Chain [IPU1-0] [IPU1-0] p: printStatistics [IPU1-0] [IPU1-0] c: PRINT_CORE_PRF_LOAD [IPU1-0] [IPU1-0] b: printBufferStatistics [IPU1-0] [IPU1-0] Enter Choice: [IPU1-0] [IPU1-0] 51.303178 s: [IPU1-0] 51.303269 s: DISPLAY: Start in progress !!! [IPU1-0] 51.303330 s: DISPLAY: Start Done !!! [IPU1-0] 51.304977 s: DISPLAY: Start in progress !!! [IPU1-0] 51.305038 s: DISPLAY: Start Done !!! [IPU1-0] 51.311840 s: [IPU1-0] [IPU1-0] ==================== [IPU1-0] Chains Run-time Menu [IPU1-0] ==================== [IPU1-0] [IPU1-0] 0: DeInit Chain [IPU1-0] [IPU1-0] 1: Stop Chain [IPU1-0] 2: Start Chain [IPU1-0] [IPU1-0] p: printStatistics [IPU1-0] [IPU1-0] c: PRINT_CORE_PRF_LOAD [IPU1-0] [IPU1-0] b: printBufferStatistics [IPU1-0] [IPU1-0] Enter Choice: + +The chain doesn't support "restart" from STOP state. Once in STOP state, it has to go to "Delete" next. After "Delete", you can start the chain again by "Create" and "Start". Regards, Stanley + diff --git a/sample_embedding_folder2/0892569.txt b/sample_embedding_folder2/0892569.txt new file mode 100644 index 0000000000000000000000000000000000000000..85b3a4bcf1859e932d769002c348dd1174ed2f5e --- /dev/null +++ b/sample_embedding_folder2/0892569.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: TDA2S VISION SDK 0305 Linux output 720p bt601/bt656 to DS90UB933 + +Query Text: +Part Number: TDA2SX Hello! expert I need to run Linux from tda2s Vout1 output bt601 SDK:PROCESSOR_SDK_VISION_03_05_00_00, tda2sx--vout1[0:7] vout1_sync vout1_v/hsync--->(BT601)----->DS90UB933----(CML)------>DS90UB934, How to output 720p bt601 to ds90ub933 to ds90ub934 under vision_SDK 0305 Linux? Bt655 output supported? Bt601 output supported? Does ds90ub933 support bt656 and bt601 output? + +Responses: +Hi, Well, i can answer from DSS point of view. DSS definitely supports BT601 output. But it is not supported or no example is available in vision sdk.. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0892591.txt b/sample_embedding_folder2/0892591.txt new file mode 100644 index 0000000000000000000000000000000000000000..9f6eb3755921b56ebb87c1144cee6dc19454b75d --- /dev/null +++ b/sample_embedding_folder2/0892591.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA4VM: TIDL: How can I get Out Q values(scale factors) of layers after model import ? + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 Hi, After model import in TIDL TDA2, we can get Out Q value from part of outArgs typedef struct { IVISION_OutArgs iVisionOutArgs; int32_t numOutBufs; int32_t dataQ[TIDL_NUM_OUT_BUFS]; } TIDL_outArgs;. Here is my question: How can I get Out Q values of layers in TIDL TDA4 after import? And is there any difference(like format or meaning of value) between Out Q values of TDA4 and TDA2? Thank you! Best regards. Kuanlin + +Responses: +Hi Kuanlin, If you enable in the inference config file: debugTraceLevel = 1 writeTraceLevel = 3 you'll see the scale value for each tensor being displayed in float. Please refer to section Feature Map Scale Analysis of Note that on TDA4x, the definition of TIDL_outArgs is: typedef struct { /** Common outArgs for all ivision based modules */ IVISION_OutArgs iVisionOutArgs; /** Number of output buffers */ int32_t numOutBufs; /** Scale factor for each output tensor */ float32_tidl scale[TIDL_NUM_OUT_BUFS]; } TIDL_outArgs; You can use the following C pseudo-code to convert each layer's output from integer to float: for (i=0;iConnect Target), I got the attached failure. Thanks, --Khai + +Hi Khai, can you check if this can help you: Regards, Yordan + +In addition, this looks like a HW issue to me. Try disassembling the EVM and putting it back together with all parts properly fasten. Then create a new target configuration and try again. + +My TDA2 Processor board is working fine. I am running radar use case on it and it works. Just now i need to debug it with debugger that failed to connect. It could be the debugger problem. Thanks, --Khai + +If you are booting an OS, that can also prevent it from initializing the JTAG. Are you trying to connect to a bare metal EVM (just initialized after ROM code)? + +I am running TI rtos. If that's a problem, how do I just run rom code. What's the step? Right now, I am running off a SIM card that contains the processor sdk appimage and trying to debug am offline algorithm by loading the application on to the c66. If that's not the proper step, please advice... Thanks, Khai + +Right, if you want JTAG, you shouldn't be booting software/OS from MMC/flash/another unit because it's messing with JTAG settings, and probably disabling it. If you want to debug the RTOS, the source/binary should be loaded via CCS when you connect to target. See device "Initialization" chapter in the TRM on how to not boot from external media but from ROM only. + +Please provide the doc. Does that mean for the processor board, I simply apply power without inserting the SIM card? Thanks, Khai + +Khai Trinh said: Please provide the doc. Here is the TRM for details: Khai Trinh said: Does that mean for the processor board, I simply apply power without inserting the SIM card? Generally speaking yes, but double-check your SYS_BOOT pins. Try it and let us know if you can connect to the device without booting anything first. thanks, Alex + +Hi Alex, No, Same thing. Removed the appimage SIM and power up the board, run the target config test, same error. Click reset button on the board, rerun target config test, same result. Can we schedule a debug session? Thanks, --Khai + +Hello Khai, Wait, I know it says EVM, but I don't see a SIM slot depicted in the general EVM documentation. Is this a custom board you are using? If so could be a problem with JTAG schematics. Another way is to play with the DIP switch to try different boot modes. thanks, Alex + +Hi Alex, Yes this is the factory TDA2 EVM Processor Board. See attached pic. + +OK this still looks like a HW issues to me. Assuming your JTAG is tested good with other boards, can you give us the EVM serial numbers and we will check with the manufacturer. thanks, Alex + +Khai Did you make sure the SYSBOOT pins are set correctly? Thanks and Regards Piyali + +HI Piyali, When you guys give instruction to the solution, can you be not assume that the person who asked the question knows or understand what you are referring to? The more specific you are, the shorter the thread it will be. This will save a hec lot of both your time and ours. We didn't design the HW/SW. So when you say SYSBOOT pin, you assume that I know exactly what you are referring to. Please supplement you answer with specific pic or doc that show me where to set this pin on the board would be greatly helpful and this thread can be closed. Now I have to hunt for the Doc that describe where the hec on the board this pin is and so far I have no luck in hunting it down and thus the thread continues on for yet another couple of back and forth. Just my take on most of the responses from your team. You support forum is great but you guys didn't take the time to raise the quality of the responses to cut it short. The goal of your support team should be to lessen your burden in spending a lot of time in support by addressing the questions to bring them to the bottom of it. Thanks + +SO i found the doc that given to me by Alex that described SYSBOOT in 31.2.4 Sysboot Configuration. So looks like there are two main booting type - Peripheral or MEM booting. I assume I need it to be in Peripheral mode. But then how to set the board to be in USB booting mode? Is there a dip switch taken out to the board level to set this boot mode? Thanks, --Khai + +Hello Khai, Apologize if we've been vague, but we also expect the from the user to be familiar with documentation first. When we post a reply, we assume that's already been done and they have read the docs (at least the important stuff like booting the device (like I said found in the initialization chapter in the technical reference manual)). We cannot possibly describe all things documentation explains here. So, you should be familiar and know where to look for information first before asking a question here. For example, get to know the SDK docs (found in the docs folder of the SDK for the device), and TRM (Technical reference manual) and DM (Data Manul) found on ti.com product page (for your processor: https://www.ti.com/product/TDA2P-ACD/technicaldocuments). On that product page, there are also many other custom docs for specific topics that may be needed one time or another. Now on to the last question. What we suggest is to set your pins in debug mode and see if you can finally connect. Here is an excerpt from VisionSDK_UserGuide_TDA2px.pdf found in "VisionSDK\vision_sdk\docs\UserGuides" folder. Let us know the results please, thanks! Alex + +Hi Alex, The XDS100 debugger i used was aml-function. I just purchased the 560v2 and it worked like a charm. With the 560v2, I ran the code with the SIM card that has the entire use case application and running, then run the debugger and tapped into the DSP device that I would like to debug on, load the debug symbol for the DSP, inserted some break point and resume the DSP and off I am running. So thanks for the help. I guess boot mode setting isn't necessary. It might be necessary if running without SIM. But I need to run with SIM to debug along with the whole application Regards, --Khai + +Hello Khai, Great to hear! So a broken JTAG then. Thanks for sharing your finds as well for others with similar issues to see. Closing this thread. thanks, Alex + diff --git a/sample_embedding_folder2/0892654.txt b/sample_embedding_folder2/0892654.txt new file mode 100644 index 0000000000000000000000000000000000000000..07593eb94531a280fee06740933430ce1b99ce3a --- /dev/null +++ b/sample_embedding_folder2/0892654.txt @@ -0,0 +1,16 @@ +Ticket Name: Compiler/TDA2EG-17: TDA2 with 4 Channel BT656 input + 1 TVI output output , format 1080P? + +Query Text: +Part Number: TDA2EG-17 Other Parts Discussed in Thread: TDA2, Tool/software: TI C/C++ Compiler Hi Champs: We have a customer wants to have 1080p format for 4 Channel BT656 input 1 TVI output output. Is this do-able? The TVI output is something like this: https://community.nxp.com/docs/DOC-335803 https://videos.cctvcamerapros.com/surveillance-systems/what-is-hd-tvi.html And the desired TVI IC is : Techpoint TP2854. TP2854: Automotive Grade 4 Channel 1080P/720P/D1 Receiver with MIPI CSI-2 Output Support http://www.techpointinc.net/products.html Please comment us if this is do-able on TDA2 or TDA4. THanks. BR Rio + +Responses: +Hi Rio, Yes, you could use VIP to capture 4 channel BT656 input. But i am not sure about output. What is HDTVI? DSS can output 1080p resolution over DPI (parallel embedded sync or discrete sync) and HDMI output. Can some external chip be used to convert to HDTVI format? Regards, Brijesh + +Hi Brijesh: Thanks for helping. The HD-TVI is this: http://smartvisiondirect.com/topic/hdtvi/ https://www.supercircuits.com/compare-hd-analog-video-formats The customer is using the TP2854 IC that converts HD=TVI to MIPI CSI-2. So, this shall work on the TDA2? I need to double confirm from you. Thanks. BR Rio + +Hi Rio, As far as i understand from the above link, HDTVI is difference format, uses different cabling. I think TDA2x cannot directly output this format. If they are anyway going to convert output to CSI2, they can use DPI to CSI conversion chip. Since external chip, which can be directly connected to TDA2x output.. Rgds, Brijesh + +Hi Brijesh, It's Jim from whetron. You can refer to link : drive.google.com/open The purpose is to achieve all HD-TVI video interface for AVM System. 4-channel camera with HD-TVI signal input and 1-channel HD-TVI signal output. Also, Support up to 1080P. The questions are : Could TDA2EG-17 support 4-channel BT656(1 clock, 8 bit data, without H/V Sync) or MIPI-CSI2 input ? Refer to page 1. Could TP2824 , TP2854 or TP2915 work on the TDA2EG-17 ? + +Hi Jim, Rio, VIP in TDA2EG definitely supports BT656 input. What i am not sure, how many VIP instances are supported in this devices. Could you please check? If there are atleast two instances supported, both can have two ports, and each port can support 8bit BT656 input. For Techpoint devices, it says it supports 4xBT656, but how does it output? Does it output in multiplexed mode or 4 different BT656 output? Also what is the sequence of SAV/EAV codes? Sometimes HD resolutions output different SAV/EAV codes. VIP supports only standard SAV/EAV codes.. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0893285.txt b/sample_embedding_folder2/0893285.txt new file mode 100644 index 0000000000000000000000000000000000000000..1da25f28428713f817923d2f9ef7da1df2fc4455 --- /dev/null +++ b/sample_embedding_folder2/0893285.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2P-ACD: RadarSDK of TDAx for AWR2243. + +Query Text: +Part Number: TDA2P-ACD Other Parts Discussed in Thread: AWR2243, TDA2 Hello Support team. AWR2243 has been released. And then customer needs to use this AWR2243 instead of AWR1243P for cascade usecase. I understood that TI has delivered RadarSDK for TDA2P(TDA2/TDA3). (1) Can this Radar SDK support AWR2243 instead of AWR1243P ? (2) Do you have a plan to update RadarSDK in future ? Best Regards KORO + +Responses: +Hi Koro, The team is working to release a patch to support AWR2243 with Radar SDK. Meanwhile, there are few e2e threads talk about the workaround to make Radar SDK work with AWR2243. https://e2e.ti.com/support/sensors/f/1023/p/882929/3273642#3273642 Regards, Jitendra + +Hello Jitendra-san Thanks a lot. O.K. It is good news to release patch. Br KORO + diff --git a/sample_embedding_folder2/0893396.txt b/sample_embedding_folder2/0893396.txt new file mode 100644 index 0000000000000000000000000000000000000000..7599d2ee645a28405d8ef0f12f1609ba187e28c1 --- /dev/null +++ b/sample_embedding_folder2/0893396.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2PXEVM: TDA2Px EVM board software warm reset will not reset LP87565? + +Query Text: +Part Number: TDA2PXEVM Hi Experts: We are working with customer review our TDA2P EVM design. When software warm reset trigger or PORz signal trigger, TDA2P pin D23 RSTOUTN will trigger TPS65917 pin 13 (GPIO_1 OTP configure as reset in). It will successful reset TPS65917 return to OTP default voltage output. But LP87565 will not be reset, The VDD_MPU and VDD_GPU power rail will keep to reset start voltage. We think this design is not right, it can not match snvu590.pdf guide introduced boot mode voltage. Can you help us double check the LP87565 whether been reset when TDA2P PORz/warm reset triggered? Best Regards! han Tao + +Responses: +The LP87565 device does not support a 'warm reset input' similar to that on the TPS65917 device. The TPS65917 warm reset input is typically critical as the SD card voltage must be reset to the default voltage for booting. The remaining power supply voltages (including LP87565) will remain as they were prior to the warm reset event. + +Hi Robert: Whether this will be have problem at warm reset boot? Because DM Table 5-3 said that boot mode need > 1.11V power supply. but when A15 work at OPP_NOM mode, the VDD_MPU voltage is maybe < 1.0V. At this time software trigger warm reset signal, LP87565+TPS65917 keep the power supply voltage is OPP_NOM, it below than DM request. Old TPS659039 PMIC when warm reset the output voltage will return to default setting as swcu175c.pdf user guide introduce. So J6P EVM board warm reset whether have risk can not successful boot up? Best Regards! Han Tao + +During development of the J6Plus EVM, TI SW team made an assessment on the value of warm reset & decided that this operation had minimal value. Please kindly refer to note #5 captured on the J6Plus EVM PDN diagram that clearly states the following: 5. This PDN does not support a “Warm Reset” that can be initiated by SW running on SoC by asserting the RSTOUTn ball. The LM87xxx PMIC family does not support this type of SW reset functionality that is supported by the TPS659xx PMIC family. + +Hi Bill & Robert: Thanks clarify it to me. Because customer when MCU probe TDA2P software hung, it will pull down PORz and restart TDA2P. Very low probability some board can not successful boot up i am worry that it have relationship with PMIC do not reset to the default voltage. It is clear that J6P/TDA2P EVM board warm reset will not trigger LP87565+TPS65917 output voltage return to the default value. Best Regards! Han Tao + +Tao, If the PMIC was at a safe AVS voltage prior to reboot, then the SoC should be able to boot just fine at that same voltage. Regards, Kyle + diff --git a/sample_embedding_folder2/0893425.txt b/sample_embedding_folder2/0893425.txt new file mode 100644 index 0000000000000000000000000000000000000000..cc6fd8508ef85bac98e46de173ac36af687e3066 --- /dev/null +++ b/sample_embedding_folder2/0893425.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2PXEVM: VisionSDK3.07 usecase DCAN cannot communicate with other CAN device. + +Query Text: +Part Number: TDA2PXEVM Hi, I try to use DCAN to communicate with other CAN device in TDA2Px-ACD EVM in VisionSDK3.07. I heard this usecase is for TDA3 but not TDA2Px. So I met some problem. Follow the TDA3 user guide, I compiled DCAN usecase into VisionSDK by setting "DCAN_INCLUDE=yes". But it seems it only run once and send nothing data to the CAN bus, Because my logic analysis do not capture any signal and my CAN device do not receive any data. And then I set ENABLE_B2B_DCAN_TEST to 0U to enable loopback mode. After that it can receive data that it transmit. My CAN device also receive data from TDA2Px. But TDA2Px still cannot receive the data that my CAN device transmit. I've created a topic about how to use DCAN and found some relevant topic https://e2e.ti.com/support/processors/f/791/p/885983/3301649 I created before. https://e2e.ti.com/support/processors/f/791/p/889985/3302997#3302997 A relevant topic he met a same problem Then then I found a important topic. The author said he resolve this problem through Need modify "platform_tda2xx_pad_config.c" setting to modify RX pin of DCAN form AD17 (Wakeup0) to G19(dcan1_rx) if use TDA2x EVM. But I still don't know how to modify because I didn't find this configuration. Perhaps we use the different VisionSDK version and different Board. https://e2e.ti.com/support/processors/f/791/t/726840?tisearch=e2e-sitesearch&keymatch=tda2%25252525252520dcan It seems it's a hardware problem. So could you give me some help ? Regards + +Responses: +Hi Wall-E, To port existing DCAN use-case from TDA3x to TDA2Px, you need to take care of the following: Module and clock enable for the DCAN module, this probably will be same for both the SoCs IO PAD (dcan_xta nd dcan_rx) configurations interrupt configurations I'll check with the colleague on PAD configurations and will get back to you. Thanks & Regards, Vivek Dhande. Texas Instruments (India) Pvt Ltd + +Hi Wall-E, To configure the DCAN_RX pad, you can add your own API in the file 'ti_components\drivers\pdk_xx_xx_xx_xx\packages\ti\drv\stw_lld\platform\src\tda2xx\platform_tda2xx_pad_config.c' and call it in the application OR you can modify the existing one also. Please refer to 'PlatformDCAN1PadConfig' API present in the same file for more details. Thanks & Regards, Vivek Dhande. Texas Instruments (India) Pvt Ltd + diff --git a/sample_embedding_folder2/0894086.txt b/sample_embedding_folder2/0894086.txt new file mode 100644 index 0000000000000000000000000000000000000000..a2fb9ec1785559551ce1834fb1a51cf1037d28ba --- /dev/null +++ b/sample_embedding_folder2/0894086.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2PXEVM: A15 Micro-Processor On the TDA2 + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2, TIDEP-01017 Hi, I am using the TDA2 Cascade Processor board and have the following questions: 1. Which flavor of TDA2 chip is on that board? There seems to be 3 variant of TDA2 chipset 2. The Dual ARM A15 processor, if I am running ti-rtos, can i develop radar application (use case) using this processor same way as how IPUs or DSP cores are being used? If this is possible, this will provide even more flexibility to radar application development 3. I looked in the processor SDK source tree. There is actually build configurations for tda2xx_cascade_linux_radar & tda2xx_evm_bios_radar that use the A15 where PROC_A15_0_INCLUDE=yes. I can understand the tda2xx_cascade_linux_radar uses the A15 as the main processor. What is tda2xx_evm_bios_radar build configuration? What EVM board is this and what is the purpose of this board that uses the A15? Thanks, --Khai + +Responses: +There is also IPU2 on the TDA2, Can both A15 and IPU2 be used in radar use case application? My guess is yes if the memory map is configured properly. Thanks, --Khai + +1) Please refer to TIDEP-01017 datasheet on ti.com. 2) Yes. 3) For bios build, A15 is not running any active task but just staying in Idle task. It is free to be used. It is for the same EVM as linux build. 4) Yes. IPU2 can also be used. + diff --git a/sample_embedding_folder2/0894771.txt b/sample_embedding_folder2/0894771.txt new file mode 100644 index 0000000000000000000000000000000000000000..581042b15f565317bca480c67e7bd59cd6be0c09 --- /dev/null +++ b/sample_embedding_folder2/0894771.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2P-ACD: CDDS Account for TI DMA Utility download + +Query Text: +Part Number: TDA2P-ACD I am looking at the document titled "TI Deep learning Library on TDAx - User Guide" from TI. Within this, one of the steps to get started is to install the DMA utility Library provided by the following link: https://cdds.ext.ti.com/ematrix/common/emxNavigator.jsp?objectId=28670.42872.62652.37497 The download package through the above link requires a TI CDDS account. How can I get access to this account? Please Help. + +Responses: +Hi Abhishek, you need to contact your local TI representative to get access to CDDS. Regards, Yordan + diff --git a/sample_embedding_folder2/0895136.txt b/sample_embedding_folder2/0895136.txt new file mode 100644 index 0000000000000000000000000000000000000000..bf03c374800480f5318972b4af4588911c449571 --- /dev/null +++ b/sample_embedding_folder2/0895136.txt @@ -0,0 +1,20 @@ +Ticket Name: TDA2EXEVM: Changing TDA2 Memory Map + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2, SYSBIOS Hi, I need to have much bigger DDR memory foot print for DSP1. Looks like all memory allocation request ended up a rquest to IPU0 for allocation. And ultimately the size of the Frame Buffer on SR1 needs to be much bigger. I tried to change the TDA2 memory map based on this doc https://processors.wiki.ti.com/index.php/VSDK/VisionSDK_UserGuide_MemoryMap 1. Created a new memory map C:\TI\processor_sdk_radar_03_08_00_00\vision_sdk\apps\build\tda2xx\mem_segment_definition_bios_1024mb.xs file for 1024MB with below changes: DDR3_SIZE = 1024*MB; DDR3_BASE_SIZE_0 = 1019*MB; if(java.lang.System.getenv("ECC_FFI_INCLUDE")=="yes") { /* Ensure ECC regions are 64kB aligned */ SR1_FRAME_BUFFER_SIZE = 809.5*MB; SR1_BUFF_ECC_ASIL_SIZE = 1*MB; SR1_BUFF_ECC_QM_SIZE = 40*MB; SR1_BUFF_NON_ECC_ASIL_SIZE = 1*MB; } else { SR1_BUFF_ECC_ASIL_SIZE = 4*KB; SR1_BUFF_ECC_QM_SIZE = 4*KB; SR1_BUFF_NON_ECC_ASIL_SIZE = 4*KB; SR1_FRAME_BUFFER_SIZE = 851.5*MB - } 2. From C:\TI\processor_sdk_radar_03_08_00_00\vision_sdk\build\rtos\tda2xx, modified the 4 config_a15.bld, config_m4.bld, etc...to look for 1024mb .xs file if (platformMem == "DDR_MEM_1024M") { var MemSegDefine = xdc.loadCapsule("" + appPath + "/build/tda2xx/mem_segment_definition_bios_1024mb.xs"); } if (platformMem == "DDR_MEM_512M") { var MemSegDefine = xdc.loadCapsule("" + appPath + "/build/tda2xx/mem_segment_definition_bios.xs"); } 3. Modified C:\TI\processor_sdk_radar_03_08_00_00\vision_sdk\apps\configs\tda2xx_cascade_bios_radar\cfg.mk DDR_MEM=DDR_MEM_1024M 4. Modified C:\TI\processor_sdk_radar_03_08_00_00\vision_sdk\build\rtos\makerules\components.make ifeq ($(PLATFORM),$(filter $(PLATFORM), tda2xx-evm tda2xx-rvp)) vision_sdk_CFLAGS = -DTDA2XX_BUILD -DTDA2XX_FAMILY_BUILD -DSOC_TDA2XX -DPLATFORM_EVM_SI vision_sdk_CFLAGS += -D_DRA7xx -D_SC_VER_1_16 -D__sysbios__ ifeq ($(DDR_MEM),DDR_MEM_512M) vision_sdk_CFLAGS += -DTDA2XX_512MB_DDR else vision_sdk_CFLAGS += -DTDA2XX_1024MB_DDR endif After that rebuilt the code with a fresh build (ie: gmake -s -j depend, etc...), Run the AppImage and it got stuck at boot in the attached screenshot. Please advice...any feedback is appreciate it. Thanks, --Khai + +Responses: +Hi, Have you done clean build by deleting the binaries folder? Thanks Gaviraju + +Yes + +Have you removed below changes in the 4 config_a15.bld, config_m4.bld, etc.. ? if(A15TargetOS == "Bios") { var MemSegDefine = xdc.loadCapsule("" + appPath + "/build/tda2xx/mem_segment_definition_bios.xs"); } Thanks Gaviraju + +Hi Gaviraju, But I have this kind of logic in all 4 files with 1024MB memory check below: if(A15TargetOS == "Bios") { if (platformMem == "DDR_MEM_1024M") { var MemSegDefine = xdc.loadCapsule("" + appPath + "/build/tda2xx/mem_segment_definition_bios_1024mb.xs"); } if (platformMem == "DDR_MEM_512M") { var MemSegDefine = xdc.loadCapsule("" + appPath + "/build/tda2xx/mem_segment_definition_bios.xs"); } } Thanks, --Khai + +Hi, Discard all your changes & refer to to below document. vision_sdk/docs/FeatureSpecificUserGuides/VisionSDK_UserGuide_MemoryMap.pdf Chapter 6.5: How To – Modify 512MB Bios Memory map to 1GB Bios Memory map Please apply the changes mentioned in the above steps. Thanks Gaviraju + +Hi Gaviraju, There are a few outdated steps against existing Processor SDK 3.08 source tree. I was able to get it to work, however. The main thing missing in the PDF User Guide is the SR1 Frame Buffer size needs to be changed higher as EVEs and DSPs memory allocations are moved to SR0 thus freeing up about 100MB of DDR3 on SR1. This helped a little bit but not actually an increase to 1024 MB from the original 512MB. Is this the best we can do? Can SR1 Frame Buffer cross over to the non-cached SR0? Thanks, --Khai + +Hi, Please refer the below section vision_sdk/docs/FeatureSpecificUserGuides/VisionSDK_UserGuide_MemoryMap.pdf 6.2 Changing size of a Section in the Memory map Thanks Gaviraju + diff --git a/sample_embedding_folder2/0895256.txt b/sample_embedding_folder2/0895256.txt new file mode 100644 index 0000000000000000000000000000000000000000..c93fbec8a252d1e91eacaf17517936b100981572 --- /dev/null +++ b/sample_embedding_folder2/0895256.txt @@ -0,0 +1,22 @@ +Ticket Name: TDA2P: Write Back channel cause SYNCLOST1 error + +Query Text: +Other Parts Discussed in Thread: SYSBIOS Hello All, Hello All, We are using TDA2P Soc. In Display driver, we have configured VID1 pipeline to display live picture through LCD output. We are using NV12 Video format to input VID1 Pipeline and output is RGB24. We also need to capture same LCD out and store in system memory. Hence we used Write Back pipeline to capture the display frame with capture mode and video format is RGB888. Surprisingly, once we enable the WB pipeline, we got the SYNCLOST1 Error and lost the live picture on LCD display. By further debugging, we check the IRQ_STATUS register and found that we are getting WBUNCOMPLETEERROR_IRQ along with SYNCLOST1 IRQ. To overcome WBUNCOMPLETEERROR_IRQ error, we have set the DISPC_WB_ATTRIBUTES2[7:0] WBDELAYCOUNT bit field to maximum but unfortunately we got the same errors again. WE thought there will be timing issue and we change the WB configuring from CAPTURE to Memory to memory transfer, but unfortunately again the we got the SYNCLOST1 error without WBUNCOMPLETEERROR_IRQ. We even try different burst size and burst type in WB and VID1 config with different arbitration priority. We also used WB_MFLAG mechanism to avoid WBUNCOMPLETEERROR, but result is the same, SYNCLOST1. Could you please help us and let us know what could be necessary to avoid this issue. Best regards Naresh + +Responses: +Hi Naresh, Please refer to WB-CRC usecase vision sdk and use WB pipeline accordingly. Rgds, Brijesh + +HI Brijesh, Thank you so much for your prompt response. Yes I will do that but this will be time consuming for us. Do you have anything in your mind on first glance what could be the wrong in configuration or what could be missed in init. Best regards, Naresh + +Hi Naresh, We also do have few examples in PDK in vision_sdk\ti_components\drivers\pdk_01_10_02_07\packages\ti\drv\vps\examples\dss\displayDssWb\src\DisplayDssWb_main.c. You could try and refer this example. Rgds, Brijesh + +Hi Brijesh, I have tried DisplayDSS eample code. While running the code I got below error. We running the code on our own TDA2p Board. Please let me know What must be we need to modify so this example code will work on our ECU. [Cortex_M4_IPU1_C0] DISP_DSS_APP: Sample Application - STARTS !!! ti.sysbios.family.arm.m3.Hwi: line 1105: E_hardFault: FORCED ti.sysbios.family.arm.m3.Hwi: line 1182: E_busFault: PRECISERR: Immediate Bus Fault, exact addr known, address: d1082800 Exception occurred in background thread at PC = 0x800af426. Core 0: Exception occurred in ThreadType_Task. Task name: {unknown-instance-name}, handle: 0x80200008. Task stack base: 0x80272f80. Task stack size: 0x2800. R0 = 0x0000000c R8 = 0x8007ec86 R1 = 0xd1082800 R9 = 0x00000000 R2 = 0x00000000 R10 = 0xffffffff R3 = 0x00000001 R11 = 0xffffffff R4 = 0x00000000 R12 = 0x17e60300 R5 = 0x8007eadc SP(R13) = 0x80275698 R6 = 0x8007ead4 LR(R14) = 0x800cd9cb R7 = 0x8007ead8 PC(R15) = 0x800af426 PSR = 0x01000000 ICSR = 0x0440f803 MMFSR = 0x00 BFSR = 0x82 UFSR = 0x0000 HFSR = 0x40000000 DFSR = 0x00000001 MMAR = 0xd1082800 BFAR = 0xd1082800 AFSR = 0x00000000 Terminating execution... Mfg, Naresh + +Hi Brijesh, I have debug the code further and found that Fvid2_create is returning a null pointer. No idea how it could happen. Mfg, Naresh + +Hi Brijesh, While running DisplayDSS vision sdk code on our own ECU, we are not able to access the memory mapped register. I have attached debug image. Best regards, Naresh + +Hi Naresh, How are you running this example? Are you running after loading and running gel files on A15? Please note that without running 'OnTargetConnect' Option on A15 gel files, this example can't be run. This option powers on the modules and enables clock.. Rgds, Brijesh + +Hello Brijesh, I am running the code on IPU1 C0. Yes, I am running by loading the gel files and running the script TDA2Px_MULTIPLECORES_EnableAllcores, OnTargetConnect and IPU1SSClkenable_API. Then Load the vps_examples_displayDssWb_ipu1_0_debug.xem4 on ipu1 c0. This is the build command. gmake -s vps_examples_displayDssWb BOARD=tda2px-evm CORE=ipu1_0 BUILD_PROFILE=debug Best regards, Nares + diff --git a/sample_embedding_folder2/0895570.txt b/sample_embedding_folder2/0895570.txt new file mode 100644 index 0000000000000000000000000000000000000000..4b3389869ecb9f8d209e6e8eed0f379738672a1a --- /dev/null +++ b/sample_embedding_folder2/0895570.txt @@ -0,0 +1,12 @@ +Ticket Name: PROCESSOR-SDK-DRA7X: How do we enable nfs server in busybox ? + +Query Text: +Part Number: PROCESSOR-SDK-DRA7X Other Parts Discussed in Thread: TDA2 First of all, the first problem we encountered is that we do not have the busybox source code used by the DRA7X SDK. Therefore, we may need the source code that TI provides to our busybox, which contains the defconfig used by the DRA7X SDK. In summary, we hope TI will provide us with the following two things suitable for DRA7X. 1. defconfig 2. The source code of the busybox can be used with the defconfig provided by TI + +Responses: +Hi Allen, The busybox source code is provided as part of the Yocto - please check the oe-core/meta/recipes-core/busybox/busybox_1.29.3.bb for the reference to the original source code and also check the meta-arago layer for further details on the patches on top of busybox. All of these are provided as source. The defconfig is also part of the same set of recipes and you can look further into that. Regards Karthik + +Hi Karthik, Thank you for your reply. So in the TDA2 project, have TI already introduced the Yocto system to manage the subsystem? It is not in the TDA4 project that TI start using Yocto to manage the subsystem? I started to participate in the TDA series of projects in a relatively late stage. + +Hi Allen, Yes, even for the TDA2 we were using the Yocto system to build the filesystem. Please refer to the Vision SDK documentation to find the related sections for enabling you with this. Regards Karthik + diff --git a/sample_embedding_folder2/0895725.txt b/sample_embedding_folder2/0895725.txt new file mode 100644 index 0000000000000000000000000000000000000000..9b5fd3846bc7ea76765e4a9fcd82e1e8f5f0d5ee --- /dev/null +++ b/sample_embedding_folder2/0895725.txt @@ -0,0 +1,10 @@ +Ticket Name: PROCESSOR-SDK-DRA8X-TDA4X: TDA2 to TDA4 transition + +Query Text: +Part Number: PROCESSOR-SDK-DRA8X-TDA4X Hello, we are analyzing Processor SDK RTOS Automotive with goal of using it for software development for TDA4 SoC based platform. We have years of experience with TDA2 SoC and Vision SDK, so shifting to newer TDA4 SoC and new SDK is giving us trouble to understand how are Linux and RTOS part of SDK supposed to work together? In terms of which SDK has what work to do throughout the joined build? Having separate SDKs got us confusing because we got used to have all in one place in previous SDK and to do all the work from one single top level make. And in Vision SDK we head links and chains, what is the concept for creating use-cases now? Can you elaborate on these matters to help us draw parallels between these to approaches to SDKs? Regards. Uros + +Responses: +Hi Uros, I believe that we have some links which already capture this, and I will try to provide you a reference on this soon. Regards Karthik + +hi, Here is how you can draw parallel between Vision SDK and PSDKRA. Installation and build Vision SDK Linux would look like a single installer, however there were some additional steps that were needed to make Linux and RTOS in Vision SDK like below 1. Download and install Vision SDK 2. Download a compatible Linux filesystem 3. Clone Linux kernel, uboot, graphics driver and then apply some specific patches. 4. Then build and run The above steps remain same in PSDKRA, only one needs to do below 1. Download and install PSDKRA - this is equivalent of Vision SDK 2. Download and install PSDKLA - this gives the compatible filesystem and Linux kernel, uboot and drivers. - The file system is at ${PSDKLA_PATH}/filesystem/tisdk-rootfs-image-j7-evm.tar.xz - The Linux kernel, uboot is at ${PSDKLA_PATH}/board-support 3. Now build and run vision_apps Application development Next in Vision SDK, one would goto vision_sdk folder and then do make to build everything. In PSDKRA, the equivalent is goto vision_apps folder and then do "make sdk" to build everything and then "make linux_fs_install_sd" to install everything to a Linux filesystem SD card. There are some steps to build a Linux filesystem SD card, one time, this is documented here, vision_apps/docs/user_guide/BUILD_AND_RUN.html There are scripts which help to do this. This about same as Vision SDK. Next is how to do application development using PSDKRA, I will assume you want to build analytics or camera or ADAS applications. For this refer to vision_apps once again, the "links and chain" equivalent in PSDKRA is OpenVX. To get started with OpenVX run the tutorials located here vision_apps/apps/basic_demos/app_vx_tutorial/main_vx_tutorial.c This is just the entry point to the OpenVX tutorial, actual tutorial code and documentation is here, tiovx/tutorial - code tiovx/docs/user_guide/index.html - documentation Once you familiarize your self with OpenVX you can try more specific example as listed in vision_apps/apps - code vision_apps/docs/user_guide/DEMOS.html - documentation Overall vision_apps is the equivalent of vision_sdk tiovx is the equivalent of vision_sdk/links_fw Refer to documentation in these two places, you can reach these two documentation by following the top level page ${PSDKRA_PATH}/index.html > "SDK components" See also "Developer notes" here for some additional information. Let me know if you need more information regards Kedar + diff --git a/sample_embedding_folder2/0895730.txt b/sample_embedding_folder2/0895730.txt new file mode 100644 index 0000000000000000000000000000000000000000..4d00f5fad86d154cd2916c4c88d1926922eed571 --- /dev/null +++ b/sample_embedding_folder2/0895730.txt @@ -0,0 +1,8 @@ +Ticket Name: PROCESSOR-SDK-DRA8X-TDA4X: Better understanding the Processor SDK RTOS Automotive source structure + +Query Text: +Part Number: PROCESSOR-SDK-DRA8X-TDA4X Hello, we are analyzing Processor SDK RTOS Automotive with goal of using it for software development for TDA4 SoC based platform. We have years of experience with TDA2 SoC and Vision SDK, so shifting to newer TDA4 SoC and new SDK is giving us trouble to understand how are Linux and RTOS part of SDK supposed to work together? When we make Linux SDK, what are the outputs we need for the system boot, and what are the outputs we need for the RTOS SDK, and vice versa? Also how do we build RTOS now from RTOS SDK, it has very complex build system with a lot of build targets, and we cannot quite grasp how do we distinguish what builds the use-case applications, and what builds the RTOS OS, nor what is the source structure for the system and what is the source structure for the use-case applications inside RTOS SDK? Regards. Uros + +Responses: +Hi Uros, Well different directories have different components, just like vision sdk. tiovx is core openvx frame implementation, whereas vision apps contains different demos, which internally uses all other components, ie tiovx, pdk, ipc etc.. Usually, we just use vision apps and build everything from vision apps. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0895733.txt b/sample_embedding_folder2/0895733.txt new file mode 100644 index 0000000000000000000000000000000000000000..f0c9df1b91fbdf2b918aef508355cbdb2a6e639c --- /dev/null +++ b/sample_embedding_folder2/0895733.txt @@ -0,0 +1,20 @@ +Ticket Name: TDA4VM: Power consumption on TDA4 + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: INA226, TDA2 Hello, we are analyzing TDA4 SoC as a base for developing new platform. We are wondering are there recommended methods or guides and tools in Processor SDK Automotive we can use to measure power consumption on TDA4? Regards. Uros + +Responses: +Uros, There are series resistors that can be used to measure power on the EVM, however that software is not provided in the SDK. In general, we don't recommend that you measure power directly since it is easy for incorrect conclusions to be drawn. Namely, the power consumption for the SoC will vary with manufacturing process. Instead, we recommend you work with your local FAE to have TI provide worst case power estimate for the SoC that will cover temperature and process variations. Regards, Kyle + +Hi Kyle, Will this software be available any time soon? We have interest in being able to measure power consumption our selves, because the custom device we are developing have certain power requirements, and we need to optimize power consumption during development. Having worst case power estimate information is ok at this point, but later the need for more precise power measurement will increase. Regards, Uros + +Hi Uros, I will need a week to check on this specific topic and come back to you. Regards Karthik, + +Hi Uros, We do not currently have support for measuring power measurement using software. This is going to be scheduled for a future SDK - don't have a date right now. However, if you are need to do this urgently, then you can refer to the INA226 driver that exists on our J6/TDA2 SDKs and use that as a reference to adapt to your needs. Regards Karthik + +You can simply add the INA226 devices to the device tree. Use the EVM schematic to find i2c addresses. Then a hwmon interface will appear for each supply which allows you to read back voltage, power, current. + +Hi Karthik, Just to be clear, if we decide to use the INA current shunt to measure voltage, are drivers for TDA4 supported and included in Process SDK or do we need to port them from TDA2 Vision SDK? Also, regarding power consumption and load, we noticed that OS gets randomly stuck on TDA4 EVM board after it is active for couple of minutes. Here is the kernel error: [ 61.973359] mmc1: Got data interrupt 0x00000002 even though no data operation was in progress. [ 61.981948] mmc1: sdhci: ============ SDHCI REGISTER DUMP =========== [ 61.988368] mmc1: sdhci: Sys addr: 0x00000008 | Version: 0x00001004 [ 61.994788] mmc1: sdhci: Blk size: 0x00007040 | Blk cnt: 0x00000008 [ 62.001209] mmc1: sdhci: Argument: 0x00000000 | Trn mode: 0x00000010 [ 62.007629] mmc1: sdhci: Present: 0x01f70000 | Host ctl: 0x0000001f [ 62.014050] mmc1: sdhci: Power: 0x0000000f | Blk gap: 0x00000080 [ 62.020471] mmc1: sdhci: Wake-up: 0x00000000 | Clock: 0x00000207 [ 62.026892] mmc1: sdhci: Timeout: 0x00000000 | Int stat: 0x00018000 [ 62.033312] mmc1: sdhci: Int enab: 0x03ff008b | Sig enab: 0x03ff008b [ 62.039734] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000001 [ 62.046153] mmc1: sdhci: Caps: 0x3fe8c801 | Caps_1: 0x18000407 [ 62.052573] mmc1: sdhci: Cmd: 0x00000c1a | Max curr: 0x00000000 [ 62.058993] mmc1: sdhci: Resp[0]: 0x00000000 | Resp[1]: 0x0077dd7f [ 62.065413] mmc1: sdhci: Resp[2]: 0x325b5900 | Resp[3]: 0x00000000 [ 62.071834] mmc1: sdhci: Host ctl2: 0x0000000c [ 62.076261] mmc1: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x00000008c2d70200 [ 62.083375] mmc1: sdhci: ============================================ We have installed active cooler on one of EVM modules and haven't had this problem on that board ever since. Is this power/temperature measurement related issue? Or should i create separate thread on forum for this? Regards, Uros. + +Uros, We do know that early samples had some devices that are "hotter" than expected during production. That said, we haven't seen issues with the EVM in a room temp configuration which is their intended use model. Since the EVM is not really comparable to your end system for thermal purposes, we recommend that you build up a thermal model of your system including our SoC thermal model with a mock-up of your heat sink configuration and SoC + system power consumption. That will help you to determine what type of cooling may be necessary for your system. Regards, Kyle + diff --git a/sample_embedding_folder2/0895916.txt b/sample_embedding_folder2/0895916.txt new file mode 100644 index 0000000000000000000000000000000000000000..3f20bb284451e756da8a6486b70e22da06c42751 --- /dev/null +++ b/sample_embedding_folder2/0895916.txt @@ -0,0 +1,12 @@ +Ticket Name: Compiler/TDA2PXEVM: SPI driver on SDK + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler Hi, I try to run SPI driver on IPC1_C0 core. 1. I delete all the code from Chains_main.. 2. I add the SPI driver code for test as below: Void Chains_main(UArg arg0, UArg arg1) { UInt8 Datatest[8] = {0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08}; UInt8 *ptest; ptest = &Datatest[0]; Utils_mcspiInit(0); IPU1_0_edmaHandle = Utils_dmaGetEdma3Hndl(0); IPU1_0_SpiHandle[0] = Utils_mcspiOpen(0,0,0,IPU1_0_edmaHandle); Vps_printf(" ####test aaaaaa #### \n"); while(1) { BspOsal_sleep(100U); Utils_mcspiWrite(IPU1_0_SpiHandle[0],ptest,(UInt16)0x0008); Vps_printf(" SPI send succeed! \r\n"); } } 3. I measured on the TDA2 EVM. CS/Clock drive failed. there is no output. I have two question: 1. Is it possible to RUN SPI on IPU1_0. 2. How to enable IPU1_0_main function since the default is IPU_PRIMARY_CORE_IPU1 enabled. + +Responses: +Hi, Yes, it is possible to run SPI driver on IPU. If you are using Linux then change IPU_PRIMARY_CORE_IPU to ipu1_0. By default, it is set to ipu2. Rgds, Brijesh + +Hi, background: SDK 3.0.7. TDA2P EVM The default configuration in cfg.mk: IPU_PRIMARY_CORE=ipu1_0 IPU_SECONDARY_CORE=ipu2 What is the concept for IPU_PRIMARY_CORE and IPU_SECONDARY_CORE? If I want to drive SPI. Which one should be set to IPU_PRIMARY_CORE? Thanks for your info. + +Hi, That depends on which core you want to access SPI driver. You could access from any core, as long as SPI driver is supported on that core. Please refer to PDK driver documentation to understand about drivers support. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0895952.txt b/sample_embedding_folder2/0895952.txt new file mode 100644 index 0000000000000000000000000000000000000000..1f932e5f86f8368436e7bd01ff239bdcfa353aac --- /dev/null +++ b/sample_embedding_folder2/0895952.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2P-ACD: U-Boot isolate_io function is failed + +Query Text: +Part Number: TDA2P-ACD Other Parts Discussed in Thread: TDA2 Hello. We made the custom board with TDA2P-ACD chip. And I tried to boot using SD CARD with MLO and u-boot.img in it. But it didn't boot. TDA2P EVM board with the same firmware boot well. When I checked the log by quickly initializing the UART in SPL, I got an error "IODELAY: Isolation of Device IOs failed" in the function __recalibrate_iodelay_end in the file dra7xx_iodelay.c. And I found out that the error occurred because the code below returned an error. ----------------------------- In dra7xx_iodelay.c ---------------------------- static int isolate_io(u32 isolate) { if (isolate) { clrsetbits_le32((*ctrl)->control_pbias, SDCARD_PWRDNZ, SDCARD_PWRDNZ); clrsetbits_le32((*ctrl)->control_pbias, SDCARD_BIAS_PWRDNZ, SDCARD_BIAS_PWRDNZ); } /* Override control on ISOCLKIN signal to IO pad ring. */ clrsetbits_le32((*prcm)->prm_io_pmctrl, PMCTRL_ISOCLK_OVERRIDE_MASK, PMCTRL_ISOCLK_OVERRIDE_CTRL); if (!wait_on_value(PMCTRL_ISOCLK_STATUS_MASK, PMCTRL_ISOCLK_STATUS_MASK, (u32 *)(*prcm)->prm_io_pmctrl, LDELAY)) { return ERR_DEISOLATE_IO << isolate; <----------------- } ------------------------------------------------------------------------------ I'd like to know why this happens. ------------------------------------ Full log ------------------------------------ U-Boot SPL 2016.05-00010-g9551b3d-dirty (Apr 10 2020 - 17:10:32) DRA762-GP ES1.0 IODELAY: Isolation of Device IOs failed Leveling timeout on EMIF1 SDRAM: identified size not same as expected size identified: 4 expected: 40000000 ---------------------------------------------------------------------------------- Best Regards, Yousik Kim. + +Responses: +Hi Yousik, 2016.05 was about 4 years old now. There can be multiple factors for this to fail like board design, aging of the device, total power on hours of the device. Is it failing always? We had customers reporting occasional failure on some TDA2 devices in the past. Can you Kindly migrate to the latest SDK for DRA7: http://downloads.ti.com/infotainment/esd/jacinto6/processor-sdk-linux-automotive/6_00_00_03/index_FDS.html Best Regards, Keerthy + +Hi Keerthy, It always fails. This is the board we've made recently and it's first test. We are using PROCESSOR_SDK_VISION_03_07_00_00, and U-Boot received from this SDK was 2016.05. It worked fine on the EVM board, so I think this is a H/W problem. But I am not sure which part to look at about this problem. Isolation Sequence part of "20.4.6.1.7 Isolation Requirements" of TDA2Px TRM document is failing. I want expert advice. Best Regards, Yousik Kim. + +Hi Yousik Kim, You are right this most certainly looks like Hardware board design issue(IO related). I am definitely not the expert in the board design front. May be you will have to share more hardware details in a different new query that could be assigned to right hardware expert. From bootloader side if you nothing else to ask for i would request you to resolve this issue and raise a new one with more hardware details so it can assigned to right expert. Best Regards, Keerthy + diff --git a/sample_embedding_folder2/0896112.txt b/sample_embedding_folder2/0896112.txt new file mode 100644 index 0000000000000000000000000000000000000000..402ee572e2a36ed598504f2a1fbd2223496dc1ae --- /dev/null +++ b/sample_embedding_folder2/0896112.txt @@ -0,0 +1,12 @@ +Ticket Name: DRA726: Virtual DRM + +Query Text: +Part Number: DRA726 Other Parts Discussed in Thread: TDA2, I am working on getting our cameras supported in IPU1 and have a question on Virtual DRM I have been reading "Virtual DRM : An User Guide for Developing Usecases". It seems straightforward but doesn't address my use case. We have two possible LCD displays, one 7 inch display 800x1280 and one 12 inch display 1920x720 The board is the same except for some jumpers that choose the proper LVDS serial format. No way to know from u-boot or Linux which jumpers are populated. How would I handle that in the M4 and on Linux if I want only one u-boot and one linux kernel? I would also be nice if the 7 inch display was seen as 1280x800 so the Linux software wouldn't have to flip the LCD 90 degrees Michel Catudal ACTIA Corp + +Responses: +Hi Michael, I am not sure of any way to enable without having different dtb files but again how to choose dynamically change the dtb file based on jumper setting. Many other customers are also using vertical display like 720x1920. TI has suggested a edma based frame-copy algorithm running on IPU to rotate the image. Thanks RamPrasad + +Hi Michael, forgot to add one more information. There is TILER2D memory available in the DRA7/TDA2 Soc which can be used for rotation, mirror etc but TILER2D is not used in visionSDK software. Thanks RamPrasad + +Hi Michel, Regarding "The board is the same except for some jumpers that choose the proper LVDS serial format. No way to know from u-boot or Linux which jumpers are populated.". Have you considered connecting a GPIO pin on the DRA726 device to the same jumpers, such that u-boot or Linux kernel can determine the proper boot flow? Regarding "I would also be nice if the 7 inch display was seen as 1280x800 so the Linux software wouldn't have to flip the LCD 90 degrees", What content is going to be displayed on the 800x1280 display? Thanks, kb + diff --git a/sample_embedding_folder2/0896456.txt b/sample_embedding_folder2/0896456.txt new file mode 100644 index 0000000000000000000000000000000000000000..0d58ccb8de498716810e625c0473c0c9987b16a2 --- /dev/null +++ b/sample_embedding_folder2/0896456.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2EVM5777: UART communication in RTOS on TDA2-EVM board + +Query Text: +Part Number: TDA2EVM5777 HI experts: I have a project that uses the TIDL function on the TDA2-EVM board for image recognition and receiving ultrasonic signals (via GPIO), I would like to transmit the information calculated by TIDL to another device for data integration through UART interface. At present, because the function of TIDL can only run in the RTOS system, it is currently developed using RTOS. I found several UART related discussions on the e2e forum, which mentioned that it can only be transmitted through UART3. But there are no related examples in the usecase of the SDK, so few questions as below: (1) How to add UART transmission examples in usecase or have operation manual in detail? (2) If there are multiple communication interface requirements, does the board support more than 2 transmissions? (3) Or are there other suggestions for that project? thank you Best / Regard wxchen + +Responses: +Hi I will check with the team & get back Thanks Gaviraju + +Hi, Thanks for your reply, how much time does your team need for checking? best / regard wxchen + +Hi, Theoretically, it's possible to communicate with other devices using UART & for this, you have to short TX & RX. using existing PDK software you can read & write data & this is not verified from our side. 1) Refer to this "vision_sdk/docs/FeatureSpecificUserGuides/VisionSDK_DevelopmentGuide.pdf" if you want to add new use-case 2) It might support & look into the TRM for more info 3) You can use Network_TX link to transfer data to other devices. Thanks Gaviraju + diff --git a/sample_embedding_folder2/0897843.txt b/sample_embedding_folder2/0897843.txt new file mode 100644 index 0000000000000000000000000000000000000000..77eec0fb9c3b8350babd7a30cee94f54c6d68553 --- /dev/null +++ b/sample_embedding_folder2/0897843.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2SG: Can TDA2S Support to Output Same resolution two different video sources on the same vout port? + +Query Text: +Part Number: TDA2SG Hello Sir/Madam, We have one project (surround view application) using TDA2x as video processor. GPU stitched surround view images (25FPS, 1440*900) output via DS90UB933 (TI Serializer) in YUV422 8bit format. Now we have new requirement, we want to output (25+1) frames, that means for every 25-Frame stitched images, there is 1 additional frame image (four raw surround view images in MOSAIC), this may be from different sources, GPU, A15, or DSP, but in same resolution 1440*900. We would like to know if this is achievable in TDA2SG and it would be appreciated that you can provide more implementation details. thanks. Jeffrey Yu + +Responses: +Hi Jeffrey, If i understand correctly, resolution and format remains same, so no change needed in the DSS. I believe main changes are in the application. You need to merge two channels, one from GPU and other may be from DSP.. You could probably use merge link, but this would require some changes to exactly control fps. Rgds, Brijesh + +thank you, Brijesh. We will try. Jeffrey Yu. + diff --git a/sample_embedding_folder2/0898044.txt b/sample_embedding_folder2/0898044.txt new file mode 100644 index 0000000000000000000000000000000000000000..e812753e71ac7c6493e11cc697d705841cc94bfa --- /dev/null +++ b/sample_embedding_folder2/0898044.txt @@ -0,0 +1,10 @@ +Ticket Name: Compiler/AM5749: Running pytorch-ai-devkit Demos on AM5749 IDK + +Query Text: +Part Number: AM5749 Other Parts Discussed in Thread: TDA4VM Tool/software: TI C/C++ Compiler Hi Experts, I have two specific questions: 1) I have already tested caffe-jacinto-models and they seem to work fine on my device. Now I am trying to test pytorch-jacinto-ai-devkit! I believe the models supposed to work on my device as well. Is it correct? If so, what adjustments should I be making in order to run any demo in pytorch-jacinto-ai-devkit. 2) Can I run the models available in pytorch-jacinto-ai-devkit using CPU-ONLY? I currently don't have access to GPU, so would it be possible to run these demos? Thanks in Advance, + +Responses: +Hi Adnan, from GIT I see this works on latest J7 (TDA4VM) devices. Not on AM57x. If you are starting evaluation/testing this might be OK, but just wanted to clarify. From https://github.com/TexasInstruments/jacinto-ai-devkit we have: "Deep Learning Examples for Jacinto7 family of devices - e.g. TDA4VM" With respect to your questions, I will come back soon after checking with one of our experts. thank you, Paula + +Thanks Paula - your answer is correct. We have tested the models in pytorch-jacinto-ai-devkit only on TDA4VM. We do not know whether they work on the older devices. Best regards, + diff --git a/sample_embedding_folder2/0898080.txt b/sample_embedding_folder2/0898080.txt new file mode 100644 index 0000000000000000000000000000000000000000..2bdfcf42f606d4c7be3e5c802c424b264f824bf6 --- /dev/null +++ b/sample_embedding_folder2/0898080.txt @@ -0,0 +1,32 @@ +Ticket Name: TDA2E: Different SSD models & some TDA4 questions + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2 Hello, I've several questions regarding caffe ssd implementations: 1. I understand the resize_width & resize_height, but what does the ssd_size referring to? Does it refer to the feature map size output by the base network (right after feature extraction)? 2. I've a relatively simpler detection task than ADAS, and I discovered that aside from ssdJacintoNetV2, in the code we also have jdetnet21_fpn, jdetnet21_s8, jdetnet21. Speed is also important to my application, does the remaining 3 networks offer any speed boost over ssdJacintoNetV2? 3. My boss has been considering to use TDA4, and I see one of the TI engineer mentioned the caffe trained networks are expected to work on TDA4. Does the conversion tool and usecase are provided already for TDA4 to run caffe models with hardware acceleration? If not, when would it be ready? 4. A TI engineer also mentioned, L1 & sparse training offer no speed boost on TDA4, would you please kindly to share some benchmark stats? How come including zeros to models to speed up calculation doesn't end up making much difference on TDA4? Would you please kindly explain the reason? Thank you, Wei Chih + +Responses: +1. Are you referring to import config "resize_width & resize_height" if yes, this not mandatory config. This is required only for classification networks 2. Please use to performance simulation on these networks - "http://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/tidl_j7_01_01_00_10/ti_dl/docs/user_guide_html/md_tidl_naps_executioninfo.html" 3. Yes, user can run the Caffe-based SSD network on TDA4 refer below for a list of validated nets http://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/tidl_j7_01_01_00_10/ti_dl/docs/user_guide_html/md_tidl_models_info.html 4. Optimization of Sparse models are not supported in TDA4 + +kumar.desappan said: 4. Optimization of Sparse models are not supported in TDA4 Isn't the sparse optimization done during training rather than run time, or is it? If I had a sparsed model, does it have no speed improvement at all or simply TDA4 cannot run sparsed SSD model? Thank you. + +TDA4 can run sparsed mode, But speed improvement is not expected. + +Hi Kumar, Another question is that, quantization optimization is done during runtime when running the model on the TDA2x board right? If so, does the given infer_video_object.py uses quantization when perform detection? Thanks. + +infer_video_object.py does not use quantization when performing detection. But when you run it on TDA2, quantization will be performed. You can read more about Deep Learning training software that we provide for TDA4 here: https://github.com/TexasInstruments/jacinto-ai-devkit Best regards, Manu + +Quantization is done for the purpose of speed, but it kind of downgrading my model's mAP quite a lot. Is the impact inevitable? Or any way to reduce the impact? I noticed that Pytorch implementation used quantization aware training, does this allows lower performance impact than TDA2's runtime quantization? + +Hi, Quantization scheme in TIDL for TDA2 is rather simple - so certain networks can have accuracy degradation. The accuracy degradation may be more pronounced for networks that use Depthwise convolution layers. So its better to avoid it if you are using TIDL for TDA2. Most of the development effort is now focused on TDA4 these days. As you noticed tools for QAT are provided in PyTorch jacinto-ai-devkit for TDA4. Also TIDL for TDA4 will have Advanced calibration options in the next release that should help to reduce much of quantization accuracy loss even without using QAT. So, since most of our development is now focused on TDA4, you have more options and support available on TDA4. So if you are considering TDA4, I would certainly encouraging it. Introduction: https://www.ti.com/product/TDA4VM If you read the datasheet: https://www.ti.com/lit/ds/symlink/tda4vm.pdf It says, it has 8 TOPS (8 Tera Operations per second, 8bit) for Deep Learning. That is much much more compared to TDA2. Best regards, + +Hi, Thanks for the thorough replies, Manu and Kumar. It's been really helpful. Best regards, Wei Chih + +kumar.desappan said: 1. Are you referring to import config "resize_width & resize_height" if yes, this not mandatory config. This is required only for classification networks After tweaking a bit, I discovered some issues when training SSD for detection: 1. Changing ssd_size from '768x320' to '300x300' has no impact on '...../initial/deploy.prototxt', input_shape in deploy.prototxt still shows: input_shape { dim: 1 dim: 3 dim: 768 dim: 320 } and ssd_size '768x320' & '300x300' took same amount of GPU memory with same batch size during training process. 2. setting forced_color=0 also has no impact on ....../initial//deploy.prototxt. input_shape still shows input as 3 channels images: input_shape { dim: 1 dim: 3 // forced_color=0 dim: 768 dim: 320 } Do we need to manually convert all our training/testing/validation data to grayscale? Thank you, Wei Chih + +I have just assigned this thread to the expert. + +Can you pls tell me where are you making changes to change the input resolution? Also can you pls share your training log file? Meaning of force_color=True is when during training it encounters gray scale image it will convert to color so you don't need to do anything extra. + +Hello Najori, 1. In the 'train_image_object_detection.sh', there are parameters such as ssd_size & resize_width & resize_height: I set, dataset=ti-custom-cfg1 ssd_size='512x512' #this doesn't change input_shape in generated /initial/deploy.prototxt elif [ $dataset = "ti-custom-cfg1" ] then resize_width=768 # these will change input_shape in generated /initial/deploy.prototxt resize_height=320 # these will change input_shape in generated /initial/deploy.prototxt crop_width=768 crop_height=320 Training log file (I've git clone caffe-jacinto-models again, ssd_size still have no control on input_shape in deploy.prototxt): 8484.run.log + +This is expected behavior. To actually change network input size the followings need to be set appropriately. resize_width=768 resize_height=320 crop_width=768 crop_height=320 ssd_size is used for something else. May be it should have been named differently. + diff --git a/sample_embedding_folder2/0899087.txt b/sample_embedding_folder2/0899087.txt new file mode 100644 index 0000000000000000000000000000000000000000..ac1b49ce0b587a9ba993f5590a3e75e50ec21211 --- /dev/null +++ b/sample_embedding_folder2/0899087.txt @@ -0,0 +1,40 @@ +Ticket Name: TDA2E: Issues running caffe trained SSD model on TDA2 development board + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2 Hello, I've used scripts 'train_image_object_detection.sh' to train SSD for detection. However, some trained models failed to run on TDA2 development board after conversion from tidl_model_import.out, the issues are: 1. It's does run for few frames, but then the output screen/detection process froze. 2. I only changed hyper-parameters listed in the 'train_image_object_detection.sh', but no matter how I changed ssd_size, resize_width/height, and ds_fac, the converted models still showed same error behavior. I've attached a converted caffe SSD (0420_3.7z) & a .caffemodel & deploy.prototxt & lable_map.prototxt (caffeModel.7z), would you please test it and perhaps offer any suggestion that might solve the issue? Thank you, Wei Chih 0420_3.7z 6724.caffeModel.7z + +Responses: +Hi Wei Chih, Did you get the default use case working at your end ? Also, which Vision SDK version you are using ? Thanks, Praveen + +Hi Praveen: This is wxchen who is colleague with Wei-Chin, i was trying to inspect image by this transferred model by default usecase in TIDL OD(RTOS, TDA2EVM, 4-eves, Processor VisionSDK: 3.07), here is the manifest on SDK.Processor_SDK_Vision_manifest.html but the output was same as Wei-Chin's saying. by the way, i was trying to use pre-built binary(3.08), and load the network file to board, then i got the following error: [IPU1-0] TIDL Usecases +[IPU1-0] --------------- +[IPU1-0] 1: TIDL File I/O Usecase +[IPU1-0] 2: Semantic Segmentation Usecase +[IPU1-0] 3: TIDL OD Usecase +[IPU1-0] +[IPU1-0] x: Exit +[IPU1-0] +[IPU1-0] Enter Choice: +[IPU1-0] +[IPU1-0] 17.395199 s: +[IPU1-0] 17.421734 s: TIDL Configuration parameters +[IPU1-0] 17.421826 s: ----------------------------- +[IPU1-0] 17.421887 s: inputWidth = 768 +[IPU1-0] 17.421978 s: inputHeight = 320 +[IPU1-0] 17.422039 s: inputFile = inData_OD +[IPU1-0] 17.422100 s: inputFile = inHeader_OD +[IPU1-0] 17.422161 s: netFileName = tidl_net_jdetNet_ssd.bin +[IPU1-0] 17.422222 s: paramFileName = tidl_param_jdetNet_ssd.bin +[IPU1-0] 17.422283 s: inputfps = 8 +[IPU1-0] 17.422344 s: threshold = 0.200000 +[IPU1-0] 17.422436 s: ----------------------------- +[IPU1-0] 17.517049 s: Assertion @ Line: 103 in /adasuser/surya/vsdk_3_8_6/vision_sdk/apps/src/rtos/usecases/common/chains_common_tidl.c: readSize == sizeof(sTIDL_Network_t) : failed !!! +[IPU1-0] 17.517873 s: Assertion @ Line: 103 in /adasuser/surya/vsdk_3_8_6/vision_sdk/apps/src/rtos/usecases/common/chains_common_tidl.c: readSize == sizeof(sTIDL_Network_t) : failed !!! + wxchen + +Hi Praveen, It turned out, it was the conversion mistake made by one of my coworker. It does run on the board as expected now. #update: It turns out only the newly cloned caffe-jacinto-model/scripts/train_image_object_detection.sh trained SSD models worked; every parameter left unchanged, and trained with my custom dataset Once changing parameters like ds_fac and ssd_size, the trained model will only run the first few frames on the board then froze. I will verify the change of ds_fac and ssd_size does make the trained models un-runable on the board tomorrow at work with the newly cloned caffe-jacinto-models again, then report back. Thanks a lot, Wei Chih + +Hi Praveen, After cloning new caffe-jacinto-models, and use 'train_image_object_detection.sh' for training, I discovered that the models that used batch normalization for training cannot be ran on TDA2 dev-borad. Thank you, Wei Chih + +Hi Wei Chih, Thanks for the update. Regards, Praveen + diff --git a/sample_embedding_folder2/0899445.txt b/sample_embedding_folder2/0899445.txt new file mode 100644 index 0000000000000000000000000000000000000000..47b39f87b4eebc96353b6cdbcd701b110a4dcc18 --- /dev/null +++ b/sample_embedding_folder2/0899445.txt @@ -0,0 +1,8 @@ +Ticket Name: Compiler/TDA2PXEVM: Error while installing and building Vision SDK + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler Hi, While installing the vision sdk in the Ubuntu 16.04 PC, I got following error. Please suggest what is the step that I have missed. error: symbol "HSMMCSDEdmaTransfer" redefined: first defined in "/home/teuser/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/binaries/apps/tda2 px_evm_linux_all/lib/tda2px-evm/ipu2/release/utils_common.aem4"; redefined in "/home/teuser/PROCESSOR_SDK_VISION_03_07_00_00/ti_components/drivers/pdk_01_ 10_03_07/packages/ti/drv/vps/lib/tda2px-evm/m4/release/vps_examples_utility. aem4" error: symbol "HSMMCSDEdmaClose" redefined: first defined in "/home/teuser/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/binaries/apps/tda2 px_evm_linux_all/lib/tda2px-evm/ipu2/release/utils_common.aem4"; redefined in "/home/teuser/PROCESSOR_SDK_VISION_03_07_00_00/ti_components/drivers/pdk_01_ 10_03_07/packages/ti/drv/vps/lib/tda2px-evm/m4/release/vps_examples_utility. aem4" error: symbol "HSMMCSDUARTPutNum" redefined: first defined in "/home/teuser/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/binaries/apps/tda2 px_evm_linux_all/lib/tda2px-evm/ipu2/release/utils_common.aem4"; redefined in "/home/teuser/PROCESSOR_SDK_VISION_03_07_00_00/ti_components/drivers/pdk_01_ 10_03_07/packages/ti/drv/vps/lib/tda2px-evm/m4/release/vps_examples_utility. aem4" error: symbol "HSMMCSDUartPuts" redefined: first defined in "/home/teuser/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/binaries/apps/tda2 px_evm_linux_all/lib/tda2px-evm/ipu2/release/utils_common.aem4"; redefined in "/home/teuser/PROCESSOR_SDK_VISION_03_07_00_00/ti_components/drivers/pdk_01_ 10_03_07/packages/ti/drv/vps/lib/tda2px-evm/m4/release/vps_examples_utility. aem4" error: symbol "HSMMCSDEdmaWaitTransfer" redefined: first defined in "/home/teuser/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/binaries/apps/tda2 px_evm_linux_all/lib/tda2px-evm/ipu2/release/utils_common.aem4"; redefined in "/home/teuser/PROCESSOR_SDK_VISION_03_07_00_00/ti_components/drivers/pdk_01_ 10_03_07/packages/ti/drv/vps/lib/tda2px-evm/m4/release/vps_examples_utility. aem4" # # /home/teuser/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/binaries/apps/tda2px_evm_linux_all/vision_sdk/bin/tda2px-evm/vision_sdk_ipu1_0_release.xem4 created. # error: errors encountered during linking; "/home/teuser/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/binaries/apps/tda2 px_evm_linux_all/vision_sdk/bin/tda2px-evm/vision_sdk_ipu2_release.xem4" not built /home/teuser/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/build/rtos/makerules/rules_m4.mk:312: recipe for target '/home/teuser/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/binaries/apps/tda2px_evm_linux_all/vision_sdk/bin/tda2px-evm/vision_sdk_ipu2_release.xem4' failed make[7]: *** [/home/teuser/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/binaries/apps/tda2px_evm_linux_all/vision_sdk/bin/tda2px-evm/vision_sdk_ipu2_release.xem4] Error 1 /home/teuser/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/build/rtos/makerules/common.mk:271: recipe for target 'ipu2' failed make[6]: *** [ipu2] Error 2 MAKEFILE.MK:162: recipe for target 'apps_ipu2' failed make[5]: *** [apps_ipu2] Error 2 MAKEFILE.MK:31: recipe for target 'apps' failed make[4]: *** [apps] Error 2 MAKEFILE.MK:314: recipe for target 'apps' failed make[3]: *** [apps] Error 2 Makefile:175: recipe for target 'apps_exe' failed make[2]: *** [apps_exe] Error 2 Makefile:38: recipe for target 'apps' failed make[1]: *** [apps] Error 2 Makefile:12: recipe for target 'vision_sdk' failed make: *** [vision_sdk] Error 2 + +Responses: +Hi Revathi, do you have any modifications in the SDK? Can you try clean build: make clean make linux_clean make linux make linux_install make -s -j depend make -s -j Regards, Yordan + diff --git a/sample_embedding_folder2/0899472.txt b/sample_embedding_folder2/0899472.txt new file mode 100644 index 0000000000000000000000000000000000000000..f60977cd2e94696851c517b52278dad986301680 --- /dev/null +++ b/sample_embedding_folder2/0899472.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2E: Parameters to tweak for higher model sparsity during SSD stage-3 sparsity training + +Query Text: +Part Number: TDA2E Hello, Sometimes during SSD's sparsity training, the weights' sparsity stuck at some point (0.32, etc) where keep training won't increase the sparsity level. Is there any suggestions on hyper-parameters tweaking to achieve higher model sparsity? Thank you, Wei Chih + +Responses: +Hi Wei Chih, Please check if this can help.. - Starting from this line, you can see several factors that affect sparsification: https://github.com/tidsp/caffe-jacinto/blob/caffe-0.17/src/caffe/proto/caffe.proto#L524 Starting with a value of sparsity_start_factor Starting from iteration: sparsity_start_iter And increasing by: sparsity_step_factor Once in every: sparsity_step_iter iterations Until it reaches: sparsity_target You can adjust these parameters to control how sparsity is induced. In order to reach sparsity target abruptly - set sparsity_start_factor to 0.7 and sparsity_target to 0.7 will try to induce 70% sparsity in sparsity_start_iter In order to reach sparsity target gradually - do more iterations if your sparsity_start_factor or sparsity_step_factor is small. Thanks, Praveen + diff --git a/sample_embedding_folder2/0899504.txt b/sample_embedding_folder2/0899504.txt new file mode 100644 index 0000000000000000000000000000000000000000..ec2550e10f5ee4f4d1570d62c2c21838e287b2b3 --- /dev/null +++ b/sample_embedding_folder2/0899504.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2P-ACD: SoC Sleep mode realization + +Query Text: +Part Number: TDA2P-ACD Other Parts Discussed in Thread: TDA2 Hello, We are using TDA2Px in our project, we are facing some issues related to boot time optimization and sleep mode implementation with TDA2Px. We need to implement a sleep mode with TDA2Px and need to wake up the SoC using CAN signals. Is this possible for power better power management. Is there any readily available solution for this kind of implementation? The second thing is like we need to optimize the boot time to 4 seconds using Linux, Could you please suggest a way to optimize the boot time. And also please help with a readily available solution? Warm regards, Alwin Mathew + +Responses: +Hi Alwin, 1) No such implementation is available. It depends on what and how you want to implement. We only support dynamic power management: http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components/Kernel/Kernel_Drivers/Power_Management.html i believe you are looking at idle low power modes which are not supported. 2) http://www.ti.com/lit/an/sprac82/sprac82.pdf Describes multiple steps to optimize boot time optimization on DRA7/TDA2 devices. Regards, Keerthy + diff --git a/sample_embedding_folder2/0900020.txt b/sample_embedding_folder2/0900020.txt new file mode 100644 index 0000000000000000000000000000000000000000..9f9740e78282eff612a534f3687060b75ba681f3 --- /dev/null +++ b/sample_embedding_folder2/0900020.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2EXEVM: How to measure total processing time for one frame in TIDL_OD usecase + +Query Text: +Part Number: TDA2EXEVM Hi Team, This is regarding the total processing time for one frame in TIDL_OD usecase running on TDA2x. To measure it, my customer tried following two ways: (1) To accumulate Local Link Latency (average) of each Link from Source Link to Display Link, took only one pipeline for EVE. -> 313 ms (2) Simply check Source to Link Latency (average) in Display Link -> 220 ms Please find attached log and excel sheet for calculation. As you can see, there is a gap between the number (1) and (2). log_Sparse_A-manual.txt Sparse_A-manual_latency_en.xlsx - Which one is the correct way of measuring the total processing time for one frame? - What is the reason of the gap? Thanks -Shibata + +Responses: +Hi, You can be calculated in both methods but 1) In the first method, you should not include "SYNCH" link latency. Thanks Gaviraju + +Hi Gaviraju, Thanks for your comment. By removing SYNC Link latency from (1), I got a similar number with (2). Actually I saw a large difference between MIN number and MAX number in SYNC Link latency. That might affect the total processing time. But could you please explain why we can exclude the SYNC Link as it is also running in the chain? Thanks & Regards, -Shibata + +Hi, Please refer & try to understand what sync link is doing. Source file: vision_sdk/links_fw/src/rtos/links_common/sync. But I have another best option to measure total processing time for 1 frame. Add the below lines of code in the first link( beginning of the link process function) UInt64 startTime; startTime = Utils_getCurGlobalTimeInMsec(); Vps_printf("%llu", startTime); Add the below lines of code in the last link( end of the link process function) UInt64 endTime; endTime= Utils_getCurGlobalTimeInMsec(); Vps_printf("%llu", endTime); Now you can see the output of startTime & endTime in the print console, take the difference & this is the total processing time for 1 frame. totalTime = endTime - startTime Thanks Gaviraju + diff --git a/sample_embedding_folder2/0900339.txt b/sample_embedding_folder2/0900339.txt new file mode 100644 index 0000000000000000000000000000000000000000..e1f75c6626ac1bde57c8f436c41dc135da4f3051 --- /dev/null +++ b/sample_embedding_folder2/0900339.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2PXEVM: TDA2: Power and reset buttons + +Query Text: +Part Number: TDA2PXEVM Please explain the functionalities of the following buttons in TDA2P board, Attached image of what I am refring to. , 1. Power Cycle 2. CPU Reset switch 3. Power Reset switch Thanks, Sandeep + +Responses: +Hi Sandeep, Please refer to section 3.3 Reset Structure in https://www.ti.com/lit/ug/spruii4a/spruii4a.pdf . 1. Power Cycle - Power ON or Power OFF command to PMIC 2. CPU Reset switch - Warm reset to SoC 3. Power Reset switch - SoC cold (Power-On) (aka POR) Reset Regards, Stan + diff --git a/sample_embedding_folder2/0900418.txt b/sample_embedding_folder2/0900418.txt new file mode 100644 index 0000000000000000000000000000000000000000..d666c928377bdf4533a48e99c0c669fbbd8164e3 --- /dev/null +++ b/sample_embedding_folder2/0900418.txt @@ -0,0 +1,47 @@ +Ticket Name: DRA77P: Early capture late weston usecase build error + +Query Text: +Part Number: DRA77P Hi, I am working on DRA77P, with vision SDK v3.07, and for early initialisation of HDMI, I have been trying to build the particular usecase early capture late weston . I have done the following steps based on VisionSDK_Linux_UserGuide.pdf: EARLY_USECASE_ENABLE=yes in the apps/configs/_linux_all/cfg.mk make linux make linux_install make -s -j depend make -s -j On make -s -j command, I encounter the following error, gmake[1]: Leaving directory `/home/ubantu/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/binaries/apps/tda2px_evm_linux_all/obj/vision_sdk/tda2px-evm/ipu2/release/vision_sdk_configuro/package/cfg/MAIN_APP_ipu2_pem4.src/sysbios' +Build of libraries done. +# Configuro done! +# Making tda2px-evm:ipu2:release:vision_sdk_lib... +# Compiling tda2px-evm:ipu2:release:vision_sdk: src/main_common_ipu2.c +# Compiling tda2px-evm:ipu2:release:vision_sdk: src/eve_firmware.c +# Compiling tda2px-evm:ipu2:release:vision_sdk: src/ipu_primary.c +# Compiling tda2px-evm:ipu2:release:vision_sdk: /home/ubantu/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/apps/src/common/app_init/app_init_ipu_primary.c +# Compiling tda2px-evm:ipu2:release:vision_sdk: /home/ubantu/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/apps/src/common/main_app/tda2px/ipu2/src/main_ipu2.c +# Compiling generated MAIN_APP_ipu2_pem4.oem4 +# Linking into /home/ubantu/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/binaries/apps/tda2px_evm_linux_all/vision_sdk/bin/tda2px-evm/vision_sdk_ipu2_release.xem4... +# + + undefined first referenced + symbol in file + --------- ---------------- + chains_earlyCaptureLateWeston /home/ubantu/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/binaries/apps/tda2px_evm_linux_all/lib/tda2px-evm/ipu2/release/app_libs.aem4 + +error: unresolved symbols remain +error: errors encountered during linking; + "/home/ubantu/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/binaries/apps/tda2 + px_evm_linux_all/vision_sdk/bin/tda2px-evm/vision_sdk_ipu2_release.xem4" not + built +make[7]: *** [/home/ubantu/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/binaries/apps/tda2px_evm_linux_all/vision_sdk/bin/tda2px-evm/vision_sdk_ipu2_release.xem4] Error 1 +make[6]: *** [ipu2] Error 2 +make[5]: *** [apps_ipu2] Error 2 +make[4]: *** [apps] Error 2 +make[3]: *** [apps] Error 2 +make[2]: *** [apps_exe] Error 2 +make[1]: *** [apps] Error 2 +make: *** [vision_sdk] Error 2 + What am I missing here ? Regards, Padmesh + +Responses: +Hi Padmesh, When you have changed any flags in config file , recommendation is to clean everything and then build Please try with this make clean make -s -j depend make -s -j Thanks RamPrasad + +Hi Ram, I tried the above steps. Still I get the same errors. Regards, Padmesh + +Hi Padmesh, I see this usecase by default is not enabled for tda2px platform. You need to add ifeq ($(EARLY_USECASE_ENABLE),yes) UC_early_capture_late_weston=yes endif in apps/configs/tda2px_evm_linux_all/uc_cfg.mk Please refer apps/configs/tda2xx_evm_linux_all/uc_cfg.mk where all usecases are supported. Thanks Ram + +Thanks Ram, I was able to resolve the issue. Doing this which firmware do i need to place in the QSPI and in what named should it be placed ? Regards, Padmesh + +Refer section 3.4.1 of the visionDK_Linux_userguide.pdf You need all the three firmwares . Please refer build/hlos/scripts/linux/flash-qspi.sh Thanks Ram + diff --git a/sample_embedding_folder2/0900665.txt b/sample_embedding_folder2/0900665.txt new file mode 100644 index 0000000000000000000000000000000000000000..3efe676c02ec14c34c53fabde613473a50fb7200 --- /dev/null +++ b/sample_embedding_folder2/0900665.txt @@ -0,0 +1,34 @@ +Ticket Name: TDA2EXEVM: Switching AWR Profile Config in Cascade MIMO Usecase + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2 Hi, The MIMO usecase defines an AWR configuration that uses all 4 radar sensors with single profile. Say if I would like to extend the number of profiles from 1 to 4, I would simply add 3 more statically filled profile data structures in rlProfileCfg_t gChains_cascadeRadarProfileArgs. This enhanced profile config will then be registered with Bsp_ar12xxRegisterConfig() after ChainsCommon_ar12xxInit() was called. That's fine and all. Now I would like to instruct to switch from profile 0 to profile 1, how can that we done? Thanks, --Khai + +Responses: +Please use the below function under ~/vision_sdk/apps/src/rtos/radar/src/common/chains_common_ar12xx.c. You can refer to the use case, radar_objectdetect_display, to see how it is used. /** ******************************************************************************* * * \brief Function to change the profile parameters at run time * * \param algId Algorithm Link ID for the FFT Heat Map * \param pAr12xxCfg Pointer to the configuration structure. * * \return retval SYSTEM_LINK_STATUS_SOK if the parameter change has happened. * ******************************************************************************* */ Int32 ChainsCommon_ar12xxChangeParameters(UInt32 algId, ChainsCommon_Ar12xxConfigOut *pCfgOut) + +Resolved + +Hi Stanley, Using your suggestion with some code mods allows me to switch from one chirp profile to another. However, the new profile radar cube didn't seem to automatically recognize in the processing data flow (ie: FFT Alg didn't get a new profileID). Debugging into the FFT code that sets the ProfileID in this code block below get skipped over the logic. pObj->inBufAddrOffset[chId] is never > 0. So, currProfile is always 0 due to initialization. My new chirp profile change also has numADCSamples and numLoops that are different than the the first profile. if (pObj->inBufAddrOffset[chId] > 0U) { currProfile = ((*(UInt32*)inBufAddr) >> 2U) & 0xFU; } Any thought? Can I get a zoom session with you to debug this? Thanks, --Khai + +Hi Stanley, If currProfile = ((*(UInt32*)inBufAddr) >> 2U) & 0xFU; is not changing upon ProfileCfg_t change, how do I know if the AWR radar cube size actually did change? Thanks, --Khai + +Did you use the data out format 6 in dataPathCfgArgs? You need that so chirp profile will be added to the beginning of input data.. .dataPathCfgArgs = { + .intfSel = (rlUInt8_t) 0, + .transferFmtPkt0 = (rlUInt8_t) 6, /**< Data out Format, \n + b5:0 Packet 0 content selection\n + 000001 - ADC_DATA_ONLY \n + 000110 - CP_ADC_DATA \n + 001001 - ADC_CP_DATA \n + 110110 - CP_ADC_CQ_DATA + b7:6 Packet 0 virtual channel number (valid only for CSI2)\n + 00 Virtual channel number 0 (Default)\n + 01 Virtual channel number 1\n + 02 Virtual channel number 2\n + 03 Virtual channel number 3 \n*/ + +Yes, when i set .transferFmtPkt0 = (rlUInt8_t) 6, profileId varies from 0 -> 15 from frame to frame. Not reliable. I would expect it to remain 0 until a new profile is changed. Thanks, --Khai + +Is there another way to know when profile changes (which in turns radar cube size changes), the correct radar cube size is coming into the TDA2 processing chain? In the past, reply on setting this flag to 6 so when profile changes, a new profileId is updated in FFT Alg and thus pull the right parameters to process the incoming ADC data. Now that that is not reliable, how do I know the profile has actually been changed on the AWR? Where can i print the actual ADC radar cube size and not from the pre-populated profile info in the pRadarParam object? Thanks, --Khai + +This would be a question for our radar team. Maybe you can test this with mmWave Studio first to see if it is even possible to do what you want to achieve with the radar configurations. + diff --git a/sample_embedding_folder2/0900741.txt b/sample_embedding_folder2/0900741.txt new file mode 100644 index 0000000000000000000000000000000000000000..39c73503e6e893d7d5a55e0e3e2517d534b83445 --- /dev/null +++ b/sample_embedding_folder2/0900741.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: TDA2S DDR3 interface Performance + +Query Text: +Part Number: TDA2SX Hi, As we known, TDA2S includes 2 DDR0 and DDR1 controllers, each DDR3 interface can connect with 2pcs 16bit DDR3 RAM, so TDA2S can connect 4pcs 16bit DDR3 RAM; Based on above understanding, although TDA2S supports 2 DDR3 controller, DDR3 controller work under 32bit data bus, if we connect 4pcs 16bit 512M bytes DDR3 with 2 DDR3 controller, is it equivalent to 2pcs 16bit 1G Bytes DDR3 with 1 DDR3 controller ? Thanks + +Responses: +Hi, If you connect 2x 16-bit 1GB (or 8Gb) DDR memories to 1x DDR controller, you would have the same amount of memory available as connecting 4x 16-bit 512MB (or 4Gb) DDR memories to 2x DDR controllers. The system performance would vary when using 1x controller vs. 2x controllers, as using two controllers effectively provides a 64-bit data bus to the system. As an example, the two controllers can be interleaved such that system memory alternates between the two controllers every 128 bytes, utilizing both controllers in parallel. Best regards, Kevin + diff --git a/sample_embedding_folder2/0900776.txt b/sample_embedding_folder2/0900776.txt new file mode 100644 index 0000000000000000000000000000000000000000..c86f2850ae490a5f656d74d39c4b4b324be47657 --- /dev/null +++ b/sample_embedding_folder2/0900776.txt @@ -0,0 +1,14 @@ +Ticket Name: J6EVM5777: RTOS / Getting Started + +Query Text: +Part Number: Hi all. A few questions from someone new to this area. 1) The RTOS SDK supplied is of version 04.03.00.05, and SDK documentation is somewhat confusing. Nowhere could we find any references to DRA75x / TDA2x / EVM5777 devices. For example, referring here specifically to "Processor SDK RTOS 04_03_00_05" as available on the web at h t t p : // software-dl.ti.com/processor-sdk-rtos/esd/docs/04_03_00_05/rtos/index.html 2.1.6.1. Devices -- table does not list any of the above 2.2. Supported platforms and EVMs -- neither 1.1.6.2. Emulator support -- same thing 1.1.6.3. Is TDA2x is of any of the listed types? (AM335x, AM473x, AM57xx, AMIC110, C665x, C667x, C6747/OMAP-L17, C6748/OMAP-L138, and variants of K2 are listed as supported options). Similarly, at h t t p s : // training.ti.com/processor-sdk-training-series it is stated that: For more information on AM57x Sitara processors, refer to the AM57x Sitara™ Processors Training Series. For more information on TI ARM & DSP processors, refer to the KeyStone ARM & DSP Multicore Device Training Series For a high-level look at the AM57x Sitara evaluation module, view the Evaluate the New AM57x Sitara Processors with an EVM Based on the New BeagleBoard-X15 video. and we are pretty much at loss as what is the type of the TDA2x device and what sort of training should be taken for it. 2) SDK Getting Started manual refers to pre-built SD cards shipped with SDK located at [SDK Install Path]\processor_sdk_rtos__\prebuilt-sdcards\\sd_card_img\ but for our fresh install (CCS followed by SDK) this folder is empty. We have tried to "gmake all", which completed successfully, but it is still empty. Are there prebuild RTOS images? 3) Due to circumstances beyond our immediate control, we do not have access to JTAG emulator for the time being. Is there a way to configure CCS/SDK so that a compiled program is exported as an "app" that can be written to SD card along with MLO and ran (booted) from SD card? If yes, is there any tutorial available? Ideally, stdin/stdout in such deployment should be bound to UART. We totally understand all inconveniences and impossibilities associated with not having JTAG access to board. Thanks. + +Responses: +Hi Ramani, Your post seems to indicate that you are using a J6 EVM but I want to be sure. Could you please provide me with the following information so that we can check further on how to help you? Are you using a TI EVM for your development? If yes, which EVM is this? If no, please clarify the SoC on your custom board. Please provide the exact version of the SDK that you are using - if you downloaded it from ti.com, please provide link to be sure. If you are not using the latest version of the installer, please indicate why you chose that version. Logs and/or screenshots will be useful to describe some of the problems above, please considering expanding your post. Regards Karthik + +Hello Karthik, 1. Above the original post there is a line "Part Number: J6EVM5777", in case you missed it. 2. The original message says "The RTOS SDK supplied is of version 04.03.00.05", in case you missed it. 3. N/A. The SDK was obtained by: -- googling for EVM5777 and landing at h t t p : // www.ti.com/tool/J6EVM5777 (I can not paste the URL intact as it gets expanded into a large icon immediately for some reason) -- following "Processor Software Development Kit for DRA7x Jacinto Processors -- Linux, Android, and RTOS" link at the very bottom of the page to arrive at h t t p : // www.ti.com/tool/PROCESSOR-SDK-DRA7X -- clicking on "Get Software" in "PROCESSOR-SDR-RTOS-AUTOMOTIVE-DRA7X" row to get to h t t p : // software-dl.ti.com/infotainment/esd/jacinto6/processor-sdk-rtos-automotive/latest/index_FDS.html -- and downloading ti-processor-sdk-rtos-automotive-dra7xx-evm-04.03.00.05-Windows-x86-Install.exe from that web page. No logs or screenshots are available, as no actual development have had been happened yet. Thank you. + +Bump + +Hi Ramani, Thanks, I checked further and it seems like our download page needs to be corrected. If your requirement is a RTOS SDK for TDA2 then you need to be looking at the following - http://www.ti.com/tool/PROCESSOR-SDK-TDAX, please download the PROCESSOR-SDK-VISION 3.08 and also the please look at the documents that this offers. If you have any further questions, please create a new thread if you have questions on this version of the SDK. Regards Karthik + diff --git a/sample_embedding_folder2/0902300.txt b/sample_embedding_folder2/0902300.txt new file mode 100644 index 0000000000000000000000000000000000000000..c6029b12dd6561836fc02edb547bf651025451c3 --- /dev/null +++ b/sample_embedding_folder2/0902300.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2E: Caffe jacinto Sparse Training Sparsity Question + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2 Hello, As title, I finished and saved a caffemodel after the sparse training with the total sparsity of 63% and everything seems normal and the model ran pretty fast on the TDA2 dev borad. However, when I used the model as pretrained model for sparse training tuning (sparse training will calculate the sparsity of the model before training), the output log is showing the model has the sparsity of 36% only. The displayed two different sparsity(s) to the same model confuses me, do you know what the issue is? Thanks, Wei Chih + +Responses: +HI Wei Chih, Could you please provide the log to understand the problem Thanks, Praveen + +Hi Praveen, I will upload the log file to you tomorrow when I'm back to the office. However, let me try to explain it again: After finishing the sparse training, I got a 15000iter.caffemodel with 63% sparsity. But when I use the 15000iter.caffemodel as the pre-trained model for another sparse training, before the sparse training starts, caffe will calculate the sparsity of the input weights (15000iter.caffemodel), the calculated sparsity is showing 37% only. My suspicion is that the pretrained model's weights did not fully transferred to the new training model. Correct me if I am wrong, caffe will compare layers' name, if the layers name matched between the two models, then the weights will be copied/used. If not, initializing weights as defined in prototxt. Strangely I'm using the exact same model, the layers should be exactly the same, but it seems like not all the weights were used from the pre-trained model. Is this an expected behavior? If so, could you kindly explain what is happening behind the scene? Thanks a lot. Much appreciated, Wei Chih + +Hi Wei Chih, I think we have not tried to use a sparse model as pre-trained for another sparse training. This flow may not be properly supported in caffe-jacinto. Thanks, Praveen + diff --git a/sample_embedding_folder2/0902518.txt b/sample_embedding_folder2/0902518.txt new file mode 100644 index 0000000000000000000000000000000000000000..4c7b2f10c07d8d3182c8502105a74775c4146343 --- /dev/null +++ b/sample_embedding_folder2/0902518.txt @@ -0,0 +1,8 @@ +Ticket Name: PROCESSOR-SDK-DRA8X-TDA4X: Which core is use for CPSW2? & CPSW2 work in core mcu2_1 + +Query Text: +Part Number: PROCESSOR-SDK-DRA8X-TDA4X Hello Sir, I trying to initialize all the CPSW2 deriver on MCU2_1. In the vision App application UDMA driver is already initlizsed in the mcu2_1 core. So whenever I try to run the function CpswAppUtils_udmaOpen, it crashed. 1. Can I use the handle of initialized UDMA? If yes what are the changes required. 2. Is CPSW2 work in core mcu2_1? (Cpsw2 design for the mcu core only.). 3. Which other core is use for CPSW2? Thank you VIjender + +Responses: +Vijender, CPSW2G currently is supported on Linux, on A72 core. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0902539.txt b/sample_embedding_folder2/0902539.txt new file mode 100644 index 0000000000000000000000000000000000000000..b48ddf04b3d5100b31968f2e0b36c98e7c552a50 --- /dev/null +++ b/sample_embedding_folder2/0902539.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2HG: How can TDA2HG configure O917A133 on DVFS mode + +Query Text: +Part Number: TDA2HG Other Parts Discussed in Thread: TDA2 Hi, My board use TDA2HG as processor, O917A133 as PMIC. And external MCU set POWERON and POWERHold to let O917A133 output power to TDA2HG. Please refer diagram below: TDA2HG output signal to O917A133 's nRESWARM, and O917A133 output Rest_out signal to TDA2HG's RESETn. The problem: is everytime when TDA2HG configure O917A133 in "warm reset sequences", TDA2HG will reset by O917A133. But actually TDA2HG only want O917A133 change it's output voltage not reset TDA2HG. Or it may called DVFS mode. But from O917A133 datasheet, it only have OFF2ACT, ACT2OFF, ACT2SLP and Warm Reset Sequences. So is DVFS mode available on this design? Thanks a lot! + +Responses: +Tim, DVFS is a software concept where application code would change the Voltage and Frequency to a new OPP to increase performance (and increase power) or decrease power (and decrease performance) at run-time. However, DVFS is not supported in the SDK for the TDA2 devices. Regards, Kyle + +Thanks Kyle! I finger out this problem already. Actaully SOC rest_out singal is because I configure SMPS4 on a wronge voltage then cause SOC rest. And I think if I leave SMPS4 along which is only for DDR supply, is OK for my system to work property. Anyway, thanks for your reply! + diff --git a/sample_embedding_folder2/0902561.txt b/sample_embedding_folder2/0902561.txt new file mode 100644 index 0000000000000000000000000000000000000000..522f199114ca710f62c6be19c7610d148853c43a --- /dev/null +++ b/sample_embedding_folder2/0902561.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2E: Caffe jacinto quantization aware training + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2 Hello, \ As title, I wonder does the caffe-jacinto offer quantization aware training for the SSD? I've tried the offered two different base-networks SSDs: jacintoNetV2 & mobilenet: \ As previously noted by a TI's engineer, depth-wise convolution will suffer more from the runtime weights quantization, and that is also the result I got as well: JacintoNet_v2 SSD: After sparse training: mAP = 0.88 Quantization test shows: mAP = 0.74 MobileNet SSD: After sparse training: mAP=0.89 Quantization test shows: mAP=0.62 \ Though the quantization loss is lesser in jacintoNet, but I still want to minimize the quantization loss, therefore: (1.) I'm asking if the quantization aware training is offered for caffe-jacinto? (2.) Any other suggestions to minimize the quantization loss? (3.) Is there a way to turn off the runtime quantization (for accuracy experiment purposes) when running the model on TDA2 dev board? Thank you, Wei Chih + +Responses: +Hi Wei Chih, I will check with the team internally and come back you. Thanks, Praveen + +Hi, Here are the answers. >>(1.) I'm asking if the quantization aware training is offered for caffe-jacinto? No. It is not offered in caffe-jacinto. It is offered for PyTorch, but that PyTorch repository is targeted towards TDA4, not TDA2. >>(2.) Any other suggestions to minimize the quantization loss? Increasing weight decay during training causes the weights to be more suitable for quantization. So, you can try training with a higher weight decay. But this has to be done in all the training phases, right from the beginning. >>(3.) Is there a way to turn off the runtime quantization (for accuracy experiment purposes) when running the model on TDA2 dev board? No. Only quantized inference is supported on the EVM. Best regards, + diff --git a/sample_embedding_folder2/0903159.txt b/sample_embedding_folder2/0903159.txt new file mode 100644 index 0000000000000000000000000000000000000000..b3e6f9ff66782ce7239cff5b8aa00a27d5374c46 --- /dev/null +++ b/sample_embedding_folder2/0903159.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2EX17EVM: TDA2 EX - RTOS , customer needs to know how to set / config to their own GPIO + +Query Text: +Part Number: TDA2EX17EVM Hi Champs: If customer wants to make their own purpose on the GPIO and test it on the TDA2 EX17 EVM, How to give them the GPIO example to work? I trace the code of this: ultrasonicCaptureLink_hw.c Can the ultrasonic code be able to re-modify for their own purpose GPIO? If no, how to set the other GPIO to make their own purpose? BR Rio + +Responses: +Hi Rio, can you check if PDK standalone GPIO examples can help you: Regards, Yordan + +Hi Yordan: May we know where is the GPIO example path? This is TDA, not Sitara... BR Rio + +Hi Rio, please check in \ti_components\drivers\pdk_01_10_04_05\packages\ti\csl\example\gpio Regards, Yordan + diff --git a/sample_embedding_folder2/0903341.txt b/sample_embedding_folder2/0903341.txt new file mode 100644 index 0000000000000000000000000000000000000000..fdcd384d2be7e87be08944f7e4ac189cc537c1ec --- /dev/null +++ b/sample_embedding_folder2/0903341.txt @@ -0,0 +1,12 @@ +Ticket Name: Compiler/TDA2HG: TIDL custom layer support on TDA2 + +Query Text: +Part Number: TDA2HG Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler I have a requirement to add a custom layer to TIDL library on TDA2 Is adding custom layer in any version of TIDL library supported on TDA2, If yes can you please specify the version of library from which adding a custom layer is supported? + +Responses: +in TDA2X TIDL custom layer is not supported. You can split the network into multiple small networks to add a custom layer in between sub networks + +Hi, Thanks for the such a quick response. I am already aware that provision for adding a custom layer is already available in the newer releases of TDA4 TIDL lib. Similarly,I would also like to know if there is any plan to add custom layer support capability to the TIDL library on TDA2 in the future release? + +Hi, We don't have any plans to add custom layer support capability to the TIDL library on TDA2. Thanks, Praveen + diff --git a/sample_embedding_folder2/0903526.txt b/sample_embedding_folder2/0903526.txt new file mode 100644 index 0000000000000000000000000000000000000000..d67f1c33013b19c028a7e8cd12d2fc199dd6d2cf --- /dev/null +++ b/sample_embedding_folder2/0903526.txt @@ -0,0 +1,74 @@ +Ticket Name: PROCESSOR-SDK-DRA7X: Linux - How to enable A15 dual core on TDA2 + +Query Text: +Part Number: PROCESSOR-SDK-DRA7X Other Parts Discussed in Thread: TDA2SX Hi, I use "omapconf show opp" to check CPU status, now the SDK only support to enable A15 core-0. How can I enable A15 core-1 in kernel device-tree? br, KS + +Responses: +Hi KS, I think that by default Linux starts both A15 cores in SMP mode (if the particular device have two cores). Can you clarify which device and which SDK ypu use? Regards, Yordan + +Hi, I attach the SOC picture as the following, we use TDA2SX. And SDK version is PROCESSOR_SDK_VISION_03_05_00_00. There is the log msg, 5810.omapconf.txt oToBrite:/mnt/video_storage# omapconf show opp +OMAPCONF (rev v1.73-17-g578778b built Mon Sep 17 14:55:36 IST 2018) + +HW Platform: + Generic DRA74X (Flattened Device Tree) + DRA75X ES2.0 GP Device (STANDARD performance (1.0GHz)) + UNKNOWN POWER IC + +SW Build Details: + Build: +release_details_get(): could not open /etc/issue.net file?! + Version: UNKNOWN + Kernel: + Version: 4.4.84+ + Author: yukichen@dell-r540 + Toolchain: gcc version 5.3.1 20160113 (Linaro GCC 5.3-2016.02) + Type: #1 PREEMPT + Date: Thu Apr 23 11:36:29 CST 2020 + +/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor not found, no CPUFREQ? + +cpu_is_online(1): error opening /sys/devices/system/cpu/cpu1/online file! +omapconf: warning: no matching rate for VDD_GPU OPP.Please check rates against Data Manual recommendations. +|-----------------------------------------------------------------------------------| +| | Temperature | Voltage | Frequency | OPerating Point | +|-----------------------------------------------------------------------------------| +| VDD_CORE / VDD_CORE0 | 59C / 138F | NA | | NOM | +| L3 | | | 266 MHz | | +| DMM | | | 266 MHz | | +| EMIF1 | | | 266 MHz | | +| EMIF2 | | | 266 MHz | | +| LP-DDR2 | | | 532 MHz | | +| L4 | | | 266 MHz | | +| IPU1 | | | (2128 MHz) (1) | | +| Cortex-M4 Cores | | | (1064 MHz) (1) | | +| IPU2 | | | 2128 MHz | | +| Cortex-M4 Cores | | | 1064 MHz | | +| DSS | | | 192 MHz | | +| BB2D | | | (2128 MHz) (1) | | +| | | | | | +| VDD_MPU / VDD_CORE1 | 60C / 140F | NA | | NOM | +| MPU (CPU1 OFF) | | | 1000 MHz | | +| | | | | | +| VDD_GPU / VDD_CORE2 | 59C / 138F | NA | | UNKNOWN | +| GPU | | | 354 MHz | | +| | | | | | +| VDD_DSPEVE / VDD_CORE3 | 58C / 136F | NA | | NOM | +| DSP1 | | | 750 MHz | | +| DSP2 | | | 750 MHz | | +| EVE1 | | | 535 MHz | | +| EVE2 | | | 535 MHz | | +| | | | | | +| VDD_IVA / VDD_CORE4 | 60C / 140F | NA | | HIGH | +| IVA | | | 532 MHz | | +| | | | | | +|-----------------------------------------------------------------------------------| + +Notes: + (1) Module is disabled, rate may not be relevant. + +/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor not found, no CPUFREQ? + +Hi, Could you update any information? There is the dmesg log form kernel. Board_2020-05-15_13-13-49.log + +Hi, I have modified kernel dts and config by myself. the command - "omapconf show opp" shows CPU 1 ON. Br, Ks. + diff --git a/sample_embedding_folder2/0903971.txt b/sample_embedding_folder2/0903971.txt new file mode 100644 index 0000000000000000000000000000000000000000..2c76fc82d6ae612fb3110c37105051af08b458f2 --- /dev/null +++ b/sample_embedding_folder2/0903971.txt @@ -0,0 +1,8 @@ +Ticket Name: PROCESSOR-SDK-DRA7X: TDA2: How to Config GPU IdleMode to Smart-idle mode + +Query Text: +Part Number: PROCESSOR-SDK-DRA7X Hi, Because of reducing GPU power consumption, we would like to know the power consumption in smart-idle Mode, Please provide the method to config GPU idle mode to smart-idle. I use PROCESSOR_SDK_VISION_03_05_00_00. br, KS. + +Responses: +Hi KS, I don' think that there is anything called smart-idle mode for GPU power saving. There is one way to save GPU power is to set its frequency to OPP_NOM, but it is not dynamically supported. Thanks RamPrasad + diff --git a/sample_embedding_folder2/0903978.txt b/sample_embedding_folder2/0903978.txt new file mode 100644 index 0000000000000000000000000000000000000000..d6aed8d67985b8ab66664dfac970cb53921a2e92 --- /dev/null +++ b/sample_embedding_folder2/0903978.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2EVM5777: Caffe Jacinto Input data channel + +Query Text: +Part Number: TDA2EVM5777 Hello, The provided script has no toggle for using signle-channel images (grayscale) as input. What needs to be changed for training a SSD model that take a single channel images as input? Thanks, Wei Chih + +Responses: +Wei Chih, Frankly, I have not trained using gray scale images in Caffe - so i don't know. A workaround is - convert your images into 3 channels and save them - I think you can use Python packages such as opencv or PIL to do that. Best regards, Manu. + diff --git a/sample_embedding_folder2/0904353.txt b/sample_embedding_folder2/0904353.txt new file mode 100644 index 0000000000000000000000000000000000000000..956c92d55a18e1509e8d72d8f0b1b1c503c2d521 --- /dev/null +++ b/sample_embedding_folder2/0904353.txt @@ -0,0 +1,18 @@ +Ticket Name: TIDEP-01017: Radar SDK usecases beamforming issue + +Query Text: +Part Number: TIDEP-01017 Hello, I run the usecases "cascade_radar_beam_form", and the result is mismatched between GUI and real environment. I think the reason is calibration of TX and RX. Can i calibrate the TX and RX just like the usecsaes "cascade_radar_object_detect"? According the source code of the usecases "cascade_radar_beam_form", the parameter can be loaded from the text files. The Radar SDK only provide the MIMO parameter text files. Can TI provide the beamforming parameter text files? Thanks. Morris + +Responses: +Hi Morris, I am moving this to the ADAS processors forum to get you support. Thank you, -Randy + +Hi, I try to calibrate the phase difference between the Rx at the beamforming mode. I put a corner reflector at 0 degree and on the static distance, and I measure the phase difference between each Rx for 10 frames. Then, i found the phase difference of each frame are different. According to my acknowledge, I think the phase difference between each Rx should be static if the corner reflector is on the static position. The result is shown below. Thanks. Morris + +Hi Morris, Phase calibration datasets can be effected by local operating temperature of the devices. Most consistent data will be gathered when the device remains at the same temperature. Can you repeat this experiment, but include the following steps: 1. Allow the system to heat-up to steady state ambient operating temperature with 30 seconds of dummy chirps before taking the actual calibration data? 2. In the calibration dataset frames, discard the beginning of each frame until steady phase is observed Can you graph what phase of the target reflector vs. chirp number looks like for your setup? It may help identify if these instabilities are being caused by temperature. Thank you, -Randy + +Hi Randy, I measure the Rx phase twice following these steps. step 1. I turn on the power of radar, and I let it do 60 seconds of dummy chirps. step 2. I record the data, and I turn off the power of radar. step 3. I go to step 1 after 60 second. Then, i found the phase difference of each frame are different. The result is shown below. Can you provide any advice? Thanks. Morris + +Hi Morris, Can you please show me the phase stability over each chirp. What does that trend look like inside of a given frame? I agree, the assumption is that the phase delta should be pretty stable between frames. Some drift is expected depending on how much the temperature varies over time. Is the ambient temperature being controlled in any way? Is this an indoor or an outdoor measurement? Would it be possible for you to repeat this experiment in mmWave Studio using the TX-BF example project, comparing against the ProcessorsSDK code? Thank you, -Randy + +Hi, Randy I try to measure the RXs phase for 1T16R, and the result is okay (<3 degree)(as shown as figure 1). I think the phase error is caused by TX beamforming in the demo. Can you have any advice? Thanks. Morris figure 1. + diff --git a/sample_embedding_folder2/0904358.txt b/sample_embedding_folder2/0904358.txt new file mode 100644 index 0000000000000000000000000000000000000000..8d01743a258f854fc6022d931ac77cef9fa7e513 --- /dev/null +++ b/sample_embedding_folder2/0904358.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2EVM5777: TDA2 with 12-bits sensor input & TIDL 12-bits input + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hello, I've a question regarding using an image sensors that can output 12 bits image buffer. My questions are: (1.) Is TDA2 capable of reading buffer from a sensor that can outputs single channel 12 bits images? (2.) According to a coworker of mine, in default, TIDL takes unsigned char buffer as input. Can TIDL use other data type such as float? Thanks a lot, Wei Chih + +Responses: +No, TIDL can't use other data type such as float. The input should be 8-bit unsigned or signed data. Thanks, Praveen + +Understood. Can TDA2 read data from a sensor that outputs 12bits single channel image? Thanks, Wei Chih + +Hi Wei, 8 , 16 or 24 bit port available in VIP. so 12bit is not supported. Thanks RamPrasad + +Hi Wei, 12 bit data can be supported with VIP. I got it confirmed from the expert. Thanks RamPrasad + diff --git a/sample_embedding_folder2/0904465.txt b/sample_embedding_folder2/0904465.txt new file mode 100644 index 0000000000000000000000000000000000000000..3851d7e8149a4ad5fc7ab2e0eeab3fa973153830 --- /dev/null +++ b/sample_embedding_folder2/0904465.txt @@ -0,0 +1,32 @@ +Ticket Name: DRA77P: ipu firmware build issue + +Query Text: +Part Number: DRA77P Other Parts Discussed in Thread: SYSBIOS Hi, I am working on vision SDK v3.07, I was adding some sysbios codes from DisplayDss_main.c and have added it to main_common_ipu2.c so that I would able to initialise HDMI display as soon as the firmwares are loaded. I am facing some buid errors as follows, # Compiling tda2px-evm:ipu2:release:vision_sdk: /home/ubantu/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/apps/src/common/app_init/app_init_ipu_primary.c +# Compiling generated MAIN_APP_ipu2_pem4.oem4 +# Linking into /home/ubantu/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/binaries/apps/tda2px_evm_linux_all/vision_sdk/bin/tda2px-evm/vision_sdk_ipu2_release.xem4... +# +"/home/ubantu/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/binaries/apps/tda2px_evm_linux_all/obj/vision_sdk/tda2px-evm/ipu2/release/vision_sdk_configuro/linker_mod.cmd", line 276: error: + program will not fit into available memory. run placement with alignment + fails for section "GROUP_1" size 0xf491bb2 . Available memory ranges: + IPU2_DATA_MEM size: 0x1400000 unused: 0xeb5d01 max hole: 0xeb5cfc +error: errors encountered during linking; + "/home/ubantu/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/binaries/apps/tda2 + px_evm_linux_all/vision_sdk/bin/tda2px-evm/vision_sdk_ipu2_release.xem4" not + built +make[7]: *** [/home/ubantu/PROCESSOR_SDK_VISION_03_07_00_00/vision_sdk/binaries/apps/tda2px_evm_linux_all/vision_sdk/bin/tda2px-evm/vision_sdk_ipu2_release.xem4] Error 1 +make[6]: *** [ipu2] Error 2 +make[5]: *** [apps_ipu2] Error 2 +make[4]: *** [apps] Error 2 +make[3]: *** [apps] Error 2 +make[2]: *** [apps_exe] Error 2 +make[1]: *** [apps] Error 2 +make: *** [vision_sdk] Error 2 + Correct me if I am wrong. Are there any other alternatives ? Regards, Padmesh + +Responses: +Hi Padmesh, This error shows that there is not enough memory left for placement. What code you are trying to add and how big is it? Can you remove unneeded links if you don't need them and try? Thanks RamPrasad + +Hi Ram, This code is an dss example of vps drivers, which i have included in the main_common_ipu2.c. This code is intended to show a logo on the hdmi. Regards, Padmesh + +Hi Padmesh, I checked internally on the compilation failure. This is clearly memory is not available for placement issue. You can adjust the size of IPU section for this. If the code is already available in vps library, you can call that specific function instead of copying the same code in ipu2. Thanks RamPrasad + diff --git a/sample_embedding_folder2/0904545.txt b/sample_embedding_folder2/0904545.txt new file mode 100644 index 0000000000000000000000000000000000000000..98d1808416b41ccbcaf3dbb56186b821e219c4ff --- /dev/null +++ b/sample_embedding_folder2/0904545.txt @@ -0,0 +1,14 @@ +Ticket Name: Compiler/TDA2SX: running usecases on custom board + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler Hello! I have custom board with TDA2 and custom pin configuration. I need to run usecases from radar SDK on this board. Which parameters i need to change before building AppImage for successful running? Thanks, Alex + +Responses: +Hi Alex, can you try to change the pimnux in in ti_components/drivers/pdk_01_10_04_05/packages/ti/drv/vps/src/platforms/src/bsp_platformTda2xx.c according to your board settings and see if it works? Regards, Yordan + +Hi Yordan, I looked through this file, its almost what i need, but i didnt find ethernet pins. Is it in other .c file or i don't need configure ethernet pins? Regards, Alex + +Hi Alex, Sorry for the delayed response. Can you check the patch vision_sdk/docs/Patches/0001-PAD-Mux-changes-to-enable-Dual-MAC.patch and see if it can give you any directions. Regards, Yordan + +Thanks! + diff --git a/sample_embedding_folder2/0906077.txt b/sample_embedding_folder2/0906077.txt new file mode 100644 index 0000000000000000000000000000000000000000..defe076b1dc4e77ea01f84d9bddec4e43d4cf04d --- /dev/null +++ b/sample_embedding_folder2/0906077.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2EVM5777: Caffe jacinto quantization API for model evaluation on computers + +Query Text: +Part Number: TDA2EVM5777 Hello, Since the provided testing python script for caffe jacinto trained SSD models doesn't support quantization. I wonder does TI or anywhere else has the python API to quantize models for accuracy testing? The testing we are doing is not just hit or miss, but evaluating the offsets of accuracy in cm compare to ground truth. Thanks, Wei Chih + +Responses: +Hi Wei Chih, We do not support quantizing the models in Caffe - but you can do that directly in TIDL for TDA2x. But if your purpose is just to get an approximate sense of accuracy, we have it in our scripts. For example, this script: https://git.ti.com/cgit/jacinto-ai-devkit/caffe-jacinto-models/tree/scripts/train_imagenet_classification.sh has a last phase called test_quantize that reports rough accuracy with quantization. An example config file and log is captured here: https://git.ti.com/cgit/jacinto-ai-devkit/caffe-jacinto-models/tree/trained/image_classification/imagenet_jacintonet11v2/test_quantize But this has not been matched properly with what TIDL produces and may not always be correct. Your best bet is to measure the accuracy using TIDL. Best regards, + diff --git a/sample_embedding_folder2/0906189.txt b/sample_embedding_folder2/0906189.txt new file mode 100644 index 0000000000000000000000000000000000000000..3b755bf89fb5cf478cb81206744a2f61aadf5666 --- /dev/null +++ b/sample_embedding_folder2/0906189.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA4VM: GPU and asynchronous VX nodes processing + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 Hi, When I was working with TDA2 SoCs in System Link API there was possibility to process buffers asynchronously. It heled to utilize better GPU without GPU-stalling calls like glFinish(). With old Vision SDK it was supported by default as GBM framework and PVR backend implementation hides from you handling of framebuffers with eglSwapBuffer() and you can just get the current buffer by the call gbm_surface_lock_front_buffer(). This call will give you access to recent ready framebuffer. (could be previous frame if GPU has high workload). In the latest PSDK for TDA4 there is no such functionality and in SRV test sample there is explicit glFinish() which affects PVR GPU performance (tiler and renderer works only sequentially without overlapping in pipeline for two subsequent output framebuffers). Are there any design guides or sample on how to implement similar asynchronous pipeline? + +Responses: +Hello Grigory, We are aware of the limitation and do intend to implement asynchronous processing to better utilize the GPU. As you guessed this will require some changes to the way GPU and OpenVX display nodes work. And this is because the display is being handled by R5F and not by A72. I presume your end goal is to have OpenVX based R5F display node support asynchronous buffer processing so that Tiler and Renderer can run in parallel. Or are you looking for A72 directly interacting with the display using Wayland/GBM. Regards Hemant + +Hi Hemant, Thank you for the reply. Yes, the goal is to utilize TI OVX display node on R5F and have pipeline with parallel Tiler/Renderer parts (without explicit synchronization calls like glFinish()). We have one suggestion that it can be done by using GPU outside of TI VX node. At the level of control application (that maintains VX graph) we can use glFence()/glClientWaitSync() in separate threads and submit rendered output buffer to vxGraph with display node when it is ready. But I was wondering how can we do that by using only TI VX API. When do you think it could be avaialble as a part of PSDK? -- Grigory + +Hello Grigory, Thank you very much for the suggestion. We will certainly look into this and try it out. We are also looking at VX API and how to handle this in the context of the API. Regarding the PSDK, we do not have a date that I can give you yet - but it is being looked into. I will update you as soon as this is integrated. If it is okay with you, can we close this E2E ticket with the action on us to work this out in the SDK context? Regards Hemant + diff --git a/sample_embedding_folder2/0906648.txt b/sample_embedding_folder2/0906648.txt new file mode 100644 index 0000000000000000000000000000000000000000..d2eae864e073ce8d84ecf568bb82f1c4b068d056 --- /dev/null +++ b/sample_embedding_folder2/0906648.txt @@ -0,0 +1,22 @@ +Ticket Name: Compiler/TDA2EVM5777: Put the board in UART boot mode + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler Hi, I want to boot bios from qspi. According to mflash user guide l need to change the SYSBOOT switch on EVM: For TDA2xx-evm, change the switch SW3[0:7], SW4[8:15] to [11001000][100000001] and SW5 to [00010000] But i don't understand which switches i have to change, because in my EVM i have SYSBOOT SW2[0:7] and SW3[8:15], and also USERCONFIG SW5[0:9]. + +Responses: +Hi Dmitry, which user's guide you refer? In section "3.5 Boot Modes" of vision_sdk/docs/VisionSDK_UserGuide_TDA2xx.pdf there is: Also you can check section "29.2.4 Sysboot Configuration" in device's TRM. Regards, Yordan + +In section "3.5 Boot Modes" of vision_sdk/docs/VisionSDK_UserGuide_TDA2xx.pdf nothing about UART boot mode and this reason i don't understand how can i use mflash tool for boot bios. Regards, Dmitry + +Hi Dmitry, sorry for the delay. For UART boot on TDA2, can you try SySBOOT [0:5] = 0b110010 Regards, Yordan + +Hi Yordan: For UART boot(mflash), How to setup sw2,sw3 & sw5. Regards, Jemy + +Hi, The issue is resolved? Thanks Gaviraju + +Hi Gaviraju! Still don't understand how to setup sw2,sw3 & sw5 for TDA2xx-evm. Regards, Dmitry + +Hi, Refer to the below document file: ti_components/drivers/pdk_01_10_04_05/packages/ti/boot/sbl_auto/docs/AppNote_mflash.pdf or file: ti_components\drivers\pdk_01_10_04_05\packages\ti\boot\sbl_auto\tools\mflash\Readme.md There is a small correction in AppNote_mflash.pdf regarding the SYSBOOT switch change For TDA2xx-evm, change the switch SW3[0:7], SW4[8:15] to [11001000][100000001] and SW5 to [00010000] Please ignore the above SYSBOOT switch change & follow the below SYSBOOT switch change For TDA2xx-evm, change the SYSBOOT switches SW2[0:7] and SW3[8:15] to [11001000][100000001] and SW5 to [00010000] Thanks Gaviraju + +Thanks, Gaviraju! + diff --git a/sample_embedding_folder2/0906997.txt b/sample_embedding_folder2/0906997.txt new file mode 100644 index 0000000000000000000000000000000000000000..2570c1b8beba37aa80252413829df2be368ef4ce --- /dev/null +++ b/sample_embedding_folder2/0906997.txt @@ -0,0 +1,37 @@ +Ticket Name: TDA2EVM5777: Custom Camera running on TDA2 board in RTOS + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hi experts: I have a project that using camera module with ISP IC which output format to 720p's YUV422 10-bits. I created an new usecase (Capture -> Alg_custom_frame_copy(DSP1) -> Display(YUV420sp_uv)) for testing this camera. I'd like to do color space transformation on Alg_custom_frame_copy node, so I assigned those following custom settings for this camera after calling ChainsCommon_SingleCam_SetCapturePrms() 1: videoIfWidth -> SYSTEM_VIFW_16BIT 2: pInprms->dataFormat -> SYSTEM_DF_YUV422I_YUYV 3: pOutprms->dataFormat -> SYSTEM_DF_RAW16 and i transform data on Alg_custom_frame_copy by the following code: Int32 row_idx , col_idx ; + UInt8 *src_gray = (UInt8 *)inPtr[0]; + UInt8 *dst_gray = (UInt8 *)outPtr[0]; + UInt16 *row_ptr = 0; + UInt16 tmp; + + for (row_idx = 0 ; row_idx < 720 ; ++row_idx, src_gray += inPitch[0], dst_gray += outPitch[0]) + { + + row_ptr = (UInt16 *)src_gray; + + for(col_idx = 0 ; col_idx < 1280 ; ++col_idx) + { + + tmp = (row_ptr[col_idx] >> 6); + dst_gray[col_idx] = (UInt8 )(tmp & 0xFFU); + } + } memset( outPtr[1], 0x80, 1280 * 720 / 2); // try the gray channel first, so set UV channel to empty and i got those following error on the display(see figure): 1. one-fourth camera's FOV. 2. image noisy. 3. pixel-gap on x-direction of image. so, a few questions below: 1. does my settings/code wrong to transform color space? 2. I try 0 shifting on Alg_custom_frame_copy, I will get dark display. So, I wonder how the bit-ordering of input image. How to get that?(camera's data pin is connected to v1d0~v1d9 by pin-to-pin) 3. Due to there is only one-fourth camera's FOV and pixel-gaping, does VIP module output wrong size of image? 4. Or any good suggestion of my project? Best / Regard Wxchen + +Responses: +dst_gray[col_idx] = (UInt8 )(tmp & 0xFFU); Are you clipping 10-bit data to 8-bits? It seems like you are sacrificing 2 MSBs. This would explain image quality degradation as shown in the snapshot. + +HI: Thanks for your reply. i tried to map 10-bit data to 8-bit( grayValue / 1024.0 * 255.0). It seems that the result was similar to clipping data. here is an testing snapshot. BTW, what cause the wrong FOV and pixel-gapping? wxchen + +I can not figure out the issues when the image has been badly damaged by losing the MSBs. Can you please provide a file dump of an original 10-bit UYVY frame sent by the sensor? + +Hi: Would you please provide the actual parameters of grabbing 10-bit UYVY frame in VIP driver? I can change parameters from ti_components\drivers\pdk_01_10_03_07\packages\ti\drv\vps\examples\vip\captureVip\src\CaptureVip_main.h. I will compile driver example and put it to TDA2 board, then the program will dump frame file to SD-card, and I will send it back to you. Best / Regard wxchen + +Not sure what you mean by "actual parameters of grabbing" I am assuming you have 10-bit UYVY in inPtr. All you need to do is write to a binary file using fwrite or CCS. + +Hi: I'm sorry for your misunderstanding. Because I'm not sure about what the proper parameter is for grabbing YUV422 10-bit image(720p) from camera in the VIP module. Would you please provide proper parameter for my case? I will build application of pdk that can dump that file to you. Thank you. wxchen + +I believe you already have captured from VIP and that's the image you are manipulating. If that's not correct, please ignore my comments. Simply replace the clip to 0xFF by downshift of 2 and you will be able to get a good image. + diff --git a/sample_embedding_folder2/0907319.txt b/sample_embedding_folder2/0907319.txt new file mode 100644 index 0000000000000000000000000000000000000000..a67104492610102a98b67e9e7532007e995465ce --- /dev/null +++ b/sample_embedding_folder2/0907319.txt @@ -0,0 +1,16 @@ +Ticket Name: CCS/TDA2EG-17: TDA2E17:How to implement one pin of GPIO5 interrupt on DSP(running BIOS),and other one pin of GPIO5 interrupt on A15(running Linux) + +Query Text: +Part Number: TDA2EG-17 Other Parts Discussed in Thread: TDA2 Tool/software: Code Composer Studio Now,my board schematic is such that I need to config one pins of GPIO5 IRQ on DSP(running BIOS) , and other pins of GPIO5 from Linux on the A15, is that possible? + +Responses: +Hi, As on TDA2 family there is no dedicated interrupt per pin, only one per module hence such kind of implementation of interrupting 2 cores based on pins from same module of GPIO is not recommended by TI. Regards, Karan + +Hi, Thank you for your reply. According to TRM, each GPIO mudule has two interrupt lines. Is it possible to map one interrupt line to A15 and another interrupt line to DSP + +Hi, Yes, I think I confused the device. So you can actually route the two interrupts to A15 and DSP. Looking at the device tree in linux will help you check which one is already going to A15 running linux then you can register the other interrupt line on DSP. Regards, Karan + +Hi Karan, I tried to do this, but the A15 core printed the error message "unexpected IRQ trap at vector 00" and it didn't seem to enter the interrupt function. I was wondering if anyone succeeded in this method? + +Hi, Can you please share your feedback on the below for correct understanding? Does the system work correctly when you configure only the DSP side interrupt and fire the interrupt? Does the system work correctly when you configure only the Linux side interrupt and fire the interrupt? And you are saying that you face the issue only when both are enabled? And the issue is always on the A15 side and DSP works correctly? Can you please share your Linux side changes to enable the GPIO interrupt? Regards Karthik + diff --git a/sample_embedding_folder2/0908781.txt b/sample_embedding_folder2/0908781.txt new file mode 100644 index 0000000000000000000000000000000000000000..d4ac6678835c40d42498c1f4dfc3710bb72c6535 --- /dev/null +++ b/sample_embedding_folder2/0908781.txt @@ -0,0 +1,18 @@ +Ticket Name: TDA2E: Drivers imigrate + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2 I have a camera AR0143 and I want to send its datas directly to the CPU.The camera's data flow has 12 data bits,one flame_valid bit , one line_valid bit and one sys_check bit.Whether the TDA2xx chip can support this design?And can I find driver models to modify for this design?The follow is hardware design. + +Responses: +Yes, it looks fine. One suggestion, if you use line valid as DE signal, it would be better. Rgds, Brijesh + +The camera'data flow is RAW/Bayer.I find the capture Driver in the SDK dosen't support this kind data flow.Should I add an encode chip or modify the capture driver to convert the data flow? + +Please note that processing Bayer images requires an ISP which is not available in TDA2E SoC. This is why the SDK does not support this format. It is possible to modify the capture driver for 12b RAW format. But how will you consume the raw image sent by AR0143? + +I want to modify the driver to convert RAW to RGB or YUV.if this way wil add CPU much burden?Can you recommend several ISP chips for TDA2xx? I am thinking to choose software encoding or hardware encoding ,do you have saome advice?Thank you! + +Yes, doing it in software would cause very high CPU load. I would recommend TDA2PX. This is a device is TDA2 family with internal ISP. It will allow you to reuse all your existing code from TDA2E. + + + diff --git a/sample_embedding_folder2/0910207.txt b/sample_embedding_folder2/0910207.txt new file mode 100644 index 0000000000000000000000000000000000000000..3ca65056a76b4a4f1691bb837d6b78afa61233cc --- /dev/null +++ b/sample_embedding_folder2/0910207.txt @@ -0,0 +1,12 @@ +Ticket Name: Compiler/TDA2PXEVM: Ethernet RGMII without MDIO --- connected to switch directly + +Query Text: +Part Number: TDA2PXEVM Tool/software: TI C/C++ Compiler Dear all, we got a customer board , it connected RGMII[0] to a switch(SJA1105P) port[5] , I did code modify as follows: 1.add 'pGMACSWConfig->macInitCfg[0].mdioModeFlags = MDIO_MODEFLG_NOPHY;' in file 'ndk_nsp_hooks,c' and set 'pGMACSWConfig->macInitCfg[i].macConnectionType = MAC_CONNECTION_TYPE_RGMII_FORCE_100_FULL;' 2.disable MDIO in file 'network_ctrl_tsk.c' as shown as below " status = Network_waitConnect(&pObj->sockObj, 1000); MDIO_CtronlRegValueTemp = RD_MEM_32(0x48485004); Vps_printf("network_ctrl_tsk.c line 272 MDIO_Control Reg : %X HAHAHAHHAHAH",MDIO_CtronlRegValueTemp);//read MDIO status Vps_printf("network_ctrl_tsk.c line 273 CTRL_CORE_PAD_RGMII0_RXC Reg : %X HAHAHAHHAHAH",RD_MEM_32(0x4A003668));//read CTRL_CORE_PAD_RGMII0_RXC Vps_printf("network_ctrl_tsk.c line 274 CTRL_CORE_PAD_RGMII0_TXC Reg: %X HAHAHAHHAHAH",RD_MEM_32(0x4A003650));//read CTRL_CORE_PAD_RGMII0_TXC Vps_printf("network_ctrl_tsk.c line 274 CONFIG_REG_2 IODelay Reg: %X HAHAHAHHAHAH",RD_MEM_32(0x4844A014));//read IO delay if(MDIO_CtronlRegValueTemp != (UInt32)0x00100000) { WR_MEM_32(0x48485004,0x00100000); } " according to modification as above , I got data as follows: " [HOST ] 2083.594766 s: network_ctrl_tsk.c line 272 MDIO_Control Reg : 1100000 HAHAHAHHAHAH [HOST ] 2083.594766 s: network_ctrl_tsk.c line 273 CTRL_CORE_PAD_RGMII0_RXC Reg : 40100 HAHAHAHHAHAH [HOST ] 2083.594796 s: network_ctrl_tsk.c line 274 CTRL_CORE_PAD_RGMII0_TXC Reg: 100 HAHAHAHHAHAH [HOST ] 2083.594796 s: network_ctrl_tsk.c line 274 CONFIG_REG_2 IODelay Reg: 5DE HAHAHAHHAHAH " After send arp package through CANOE I can't got response from TDA. Is there anybody can help me to confirm those modifications are sufficient for TDA? Thanks a lot. + +Responses: +Hello. To confirm, you are enabling MAC-to-MAC communication, starting with the NSP driver, correct? The MDIO flags and MAC connection type are correct for MAC-to-MAC. It’s not quite clear why only TXC, RXC and just one IOdelay register are printed in the shared code snippet. RGMII iodelay settings have to be done as per the data manual, i.e. for RGMII see section 5.10.6.18.3 of DM. Please do confirm that you are following the procedure outlined. Assuming this is correct, then we will want to check is if packets are being dropped in the GMAC. This can be checked in the GMAC STATS registers, see section 26.11.6.5 in TRM for details. Besure to check the STATS registers both before and after the CANOE test: • RX_CRC_ERRORS must be 0 • RX_DMA_OVERRUNS must be 0 • TX_UNDERRUN must be 0 • GOOD_TX_FRAMES and GOOD_RX_FRAMES counter should have increased after the CANOE test Also, you may want to check if the RGMII internal delay is enabled in bits 25 or 26 of CTRL_CORE_SMA_SW_1 register (0x4A002534). Best regards, Dave + +Hello Dave, Thanks for your reply very much. All of your advices are very useful. 1. I am not sure if it's MAC-to MAC with NSP, could you tell me how to confirm it? 2.I did some test code to read register which I want to watch , as shows as below : " Vps_printf("network_ctrl_tsk.c line 272 MDIO_Control Reg : %X HAHAHAHHAHAH",MDIO_CtronlRegValueTemp);//Lan Vps_printf("network_ctrl_tsk.c line 273 CTRL_CORE_PAD_RGMII0_RXC Reg : %X HAHAHAHHAHAH",RD_MEM_32(0x4A003668));//Lan Vps_printf("network_ctrl_tsk.c line 274 CTRL_CORE_PAD_RGMII0_TXC Reg: %X HAHAHAHHAHAH",RD_MEM_32(0x4A003650));//Lan Vps_printf("network_ctrl_tsk.c line 275 CONFIG_REG_2 IODelay Reg: %X HAHAHAHHAHAH",RD_MEM_32(0x4844A014));//Lan Vps_printf("network_ctrl_tsk.c line 276 RX_CRC_ERRORS Reg: %X HAHAHAHHAHAH",RD_MEM_32(0x48484910)); Vps_printf("network_ctrl_tsk.c line 277 RX_DMA_OVERRUNS Reg: %X HAHAHAHHAHAH",RD_MEM_32(0x4848498C)); Vps_printf("network_ctrl_tsk.c line 278 TX_UNDERRUN Reg: %X HAHAHAHHAHAH",RD_MEM_32(0x4848495C)); Vps_printf("network_ctrl_tsk.c line 279 GOOD_TX_FRAMES Reg: %X HAHAHAHHAHAH",RD_MEM_32(0x48484934)); Vps_printf("network_ctrl_tsk.c line 280 GOOD_RX_FRAMES Reg: %X HAHAHAHHAHAH",RD_MEM_32(0x48484900)); Vps_printf("network_ctrl_tsk.c line 281 CTRL_CORE_SMA_SW_1 Reg: %X HAHAHAHHAHAH",RD_MEM_32(0x4A002534)); " 3.I got those register's data as shown as below: " [HOST ] 200.166290 s: network_ctrl_tsk.c line 272 MDIO_Control Reg : 1100000 HAHAHAHHAHAH [HOST ] 200.166290 s: network_ctrl_tsk.c line 273 CTRL_CORE_PAD_RGMII0_RXC Reg : 40100 HAHAHAHHAHAH [HOST ] 200.166320 s: network_ctrl_tsk.c line 274 CTRL_CORE_PAD_RGMII0_TXC Reg: 100 HAHAHAHHAHAH [HOST ] 200.166320 s: network_ctrl_tsk.c line 275 CONFIG_REG_2 IODelay Reg: 5DE HAHAHAHHAHAH [HOST ] 200.166320 s: network_ctrl_tsk.c line 276 RX_CRC_ERRORS Reg: 0 HAHAHAHHAHAH [HOST ] 200.166320 s: network_ctrl_tsk.c line 277 RX_DMA_OVERRUNS Reg: 0 HAHAHAHHAHAH [HOST ] 200.166320 s: network_ctrl_tsk.c line 278 TX_UNDERRUN Reg: 0 HAHAHAHHAHAH [HOST ] 200.166351 s: network_ctrl_tsk.c line 279 GOOD_TX_FRAMES Reg: 0 HAHAHAHHAHAH [HOST ] 200.166351 s: network_ctrl_tsk.c line 279 GOOD_RX_FRAMES Reg: 28 HAHAHAHHAHAH [HOST ] 200.166351 s: network_ctrl_tsk.c line 279 CTRL_CORE_SMA_SW_1 Reg: 0 HAHAHAHHAHAH " the 'GOOD_RX_FRAMES' increase every time while running CANOE test, Should I think those configuration are OK? I have tried to set CPSW_CONTROL as "FIFO_LOOPBACK" then I can watch echo data in CANOE. is it means driver configuration right? Thanks for your help. Best regards, Lan + +Lan, For #1 I was confirming that your original information looks correct for this configuration, and asking intent. I think this is fine. For #2, I see from CTRL_CORE_SMA_SW_1 == 0 that the internal delay is enabled. Thanks for confirming this. GOOD_RX_FRAMES increasing during test should mean this configuration is good. Once you enable loopback you'll hopefully see the TX as well. Best regards, Dave + diff --git a/sample_embedding_folder2/0910449.txt b/sample_embedding_folder2/0910449.txt new file mode 100644 index 0000000000000000000000000000000000000000..7d95d9410453c79556412fd11a096640c44b3670 --- /dev/null +++ b/sample_embedding_folder2/0910449.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2EG-17: How to modify crystal input source + +Query Text: +Part Number: TDA2EG-17 Other Parts Discussed in Thread: TDA2 Hi At present, the input source of crystal oscillator used in our board is Xi_ Osc0, can the input source of crystal oscillator be changed to Xi_ osc1? I test disconnect Xi_ Osc0 and connect Xi_ Osc1 finds that uboot cannot be started. Do I need to modify anything in uboot? The input source of Xi_osc1 is a 20MHz active crystal oscillator. + +Responses: +I will let SDK experts comment from SW perspective, but just as a side note, you can check the Clock Tree Tool (CTT, free to download here: https://www.ti.com/tool/CLOCKTREETOOL ). You can use the tool to study the device clock/crystal/OSC sources and their associated register configuration. This could also guide you to the answer to your question. thanks, Alex + +Hi, Unfortunately OSC0 is the mandatory oscillator for TDA2. All DPLLs needed to clock the processor(s) are running from OSC0 (SYS_CLK1) Regards, Stan + diff --git a/sample_embedding_folder2/0910650.txt b/sample_embedding_folder2/0910650.txt new file mode 100644 index 0000000000000000000000000000000000000000..85dd1367c76eb080d266cd4b2e93679b63d5ec78 --- /dev/null +++ b/sample_embedding_folder2/0910650.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA4VMXEVM: how to control pin mux. + +Query Text: +Part Number: TDA4VMXEVM Hi,as you konw,TDA2S set pin mux in the uboot. but i dont find in the TDA4 ,can you tell me where is the pin's mux setting. Thank you! + +Responses: +The pin configuration for this wave of devices (TDA4/J7) is done in the device tree files (dts). See section "3. Foundational Components » 3.2. Kernel » 3.2.1. Users Guide" in the processors SDK docs. You can also use the sysconfig tool "https://dev.ti.com/sysconfig/" to generate configuration and paste it over in the dts file and recompile. See section "Docs » 3. Foundational Components » 3.4. Tools » 3.4.2. Pin Mux Tools" in the processors SDK docs. Hope it helps, thanks, Alex + diff --git a/sample_embedding_folder2/0911719.txt b/sample_embedding_folder2/0911719.txt new file mode 100644 index 0000000000000000000000000000000000000000..97ce7d77ed59080586ab0a4d5189f56631afa0a0 --- /dev/null +++ b/sample_embedding_folder2/0911719.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA3XEVM: How to build the TDA3 within VSDK3.7 for this folder: + +Query Text: +Part Number: TDA3XEVM Other Parts Discussed in Thread: TDA2 Hi. I'm learning the TIDL building according this: TIDeepLearningLibrary_UserGuide.pdf however, I'm building this on the ubuntu18.04. --> /opt/PROCESSOR_SDK_VISION_03_07_01_00/ti_components/algorithms/REL.TIDL.01.01.03.00# However, this PDF has no mentioning on the TIDL building. please guide me how to build this TIDL on the ubuntu for TDA3. THanks. BR Rio + +Responses: +Hi, TIDL build on the ubuntu for TDA3 is not supported and hence not documented in the TIDL user guide. Thanks, Praveen + +Hi. So, I can image the TDA2 TIDL is not okay to be built on the ubuntu? Am I right? Only the TDA4 TIDL can be built on the ubunutu? May you summerize those TDA2/3/4 TIDL supported on the ubunutu? Thanks. BR Rio + +Hi Rio, Yes, you are right. TDA2/3 TIDL build is not supported on the Ubuntu but TDA4 TIDL build is supported on the Ubuntu. Thanks, Praveen + diff --git a/sample_embedding_folder2/0911728.txt b/sample_embedding_folder2/0911728.txt new file mode 100644 index 0000000000000000000000000000000000000000..94614f967cdb20256b96ecbb07df6ab4115ab2d8 --- /dev/null +++ b/sample_embedding_folder2/0911728.txt @@ -0,0 +1,14 @@ +Ticket Name: CCS/TDA2EVM5777: I Can't not access a link on TIDeepLearningLibrary_UserGuide.pdf. Can I get a TIDL example project ? + +Query Text: +Part Number: TDA2EVM5777 Tool/software: Code Composer Studio Hello, I trying to use TIDL. so I refer TIDeepLearningLibrary_UserGuide.pdf. But I can't access the link https://cdds.ext.ti.com/ematrix/common/emxNavigator.jsp?objectId=28670.42872.62652.37497 in 3.3.3 DMA utility Library the Error said below I'm just an individual(student). so I don't have team manager, program manager... How can I get CDDS account? or DMA utility Library? and I continued the UserGuide for "Building Sample Test Application" except 3.3.3 so I load "dsp_test_dl_algo.out" file. this is the result but I stopped step 9). there are no files in \test\testvecs\output sub-directory a file in \test\testvecs\referennce type is .bin so I can't check it Can I get a TIDL example project .zip file by email? reference [ˈrefrəns] Eng 1.reference [명사] ~ (to sb/sth) (… 에 대해) 말하기, 언급; 언급 대상, 언급한 것 2.reference book [명사] 참고 도서 3.with reference …을 참고로 하여 4.cross reference [명사] ~ (to sth) 상호 참조 (표시) 5.reference point [명사] (판단·비교용) 기준 6.참고 參考 reference, refer (to), consult 7.참조 參照 reference, consultation, refer (to), consult 8.언급 言及 reference, mention, refer (to), mention, make reference (to), make mention of 9.자료 資料 material(s), data (on); (참고 자료) reference 10.추천서 推薦書 (letter of) reference, (letter of) recommendation {"mean":["reference

[명사]\n\t\t ~ (to sb/sth)\n\t\t \t\t(… 에 대해) 말하기, 언급; 언급 대상, 언급한 것","reference book

[명사]\n\t\t \t\t참고 도서","with reference

…을 참고로 하여","cross reference

[명사]\n\t\t ~ (to sth)\n\t\t \t\t상호 참조 (표시)","reference point

[명사]\n\t\t \t\t(판단·비교용) 기준","참고\n \t\t\t參考

reference, refer (to), consult","참조\n \t\t\t參照

reference, consultation, refer (to), consult","언급\n \t\t\t言及

reference, mention, refer (to), mention, make reference (to), make mention of","자료\n \t\t\t資料

material(s), data (on); (참고 자료) reference","추천서\n \t\t\t推薦書

(letter of) reference, (letter of) recommendation"],"word":"\n\t\t\t\t\t\treference\n \t\t\t\n\t \t\n\t ","soundUrl":" dict-dn.pstatic.net/v + +Responses: +the first image is this and the second + +Hi, DMAUTILS library is already included in VisionSDK and is located in \ti_components\algorithms\REL.DMAUTILS.00.08.00.02. Can you try to point DMAUTILS_PATH variable to this directory and give a try? Regards, Yordan + +I retry step-by-step, and I got a new error in step 4, I got this error, and It said "cannot find the path specified" did I miss something? + +Hi, Did you update the paths correctly in "makerules\config.mk" file? Thanks, Praveen + diff --git a/sample_embedding_folder2/0911836.txt b/sample_embedding_folder2/0911836.txt new file mode 100644 index 0000000000000000000000000000000000000000..6c104b8716a364c2d5b1ad64181653e702e0f15a --- /dev/null +++ b/sample_embedding_folder2/0911836.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2EX17EVM: linux + +Query Text: +Part Number: TDA2EX17EVM I used the linux which Ti VisionSDK document (VisionSDK_Linux_UserGuide.pdf) recommended. Then I got some fail in TC8 test cases (www.opensig.org/.../9_OA_Automotive_Ethernet_ECU_TestSpecification_v1.pdf). I do not understand why there are some strange result on the ethernet test, e.g., not getting TcpFlagAck, connection illegal for this process. Whether the linux network kernel follow RFC793 which is the TC8 requirement? How can I pass these TC8 testcase? It seem to me that the ethernet protocols (e.g. tcp/ip arp icmp udp) are implemented by the linux kernel. Can anyone confirm that this linux support TC8? By the way, I knew there are some network parameter on "/proc/sys/net/ipv4/" and how could I change it ? thanks ref : TC8 test report 20200505_Report_TC8_Test_Configuration.pdf + +Responses: +Hello. From the logs in the test report, you are failing arp and icmp tests, which indicate a setup issue is likely. We don't explicitly test RFC793 compliance in our testing, but we do heavily use tcp/ip/arp/icmp in our system testing. Best regards, Dave + +Dave Bell said: Hello. From the logs in the test report, you are failing arp and icmp tests, which indicate a setup issue is likely. We don't explicitly test RFC793 compliance in our testing, but we do heavily use tcp/ip/arp/icmp in our system testing. Best regards, Dave Hi Dave Thanks for your reply. I don't get it. setup issue? Is it hardware issue or software issue? How should I do on linux now? Should I try to change my ethernet configuration? Do you have any suggest about arp/icmp? and maybe I can try it. B/R JY Chou + +JY, We let this post lock and it was missed. Are you still facing issues with your setup or have you resolved? Best regards, Dave + diff --git a/sample_embedding_folder2/0911962.txt b/sample_embedding_folder2/0911962.txt new file mode 100644 index 0000000000000000000000000000000000000000..6d23b798e54a7f4df28abfe77508294599d303ab --- /dev/null +++ b/sample_embedding_folder2/0911962.txt @@ -0,0 +1,26 @@ +Ticket Name: TDA2EXEVM: HDMI Output on Cascade TDA2 Board + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2 Hi, I have a need to use HDMI local display to show RDM data output of 2D-FFT. I have created a usecase and modified the PkDetect Alg to get a copy of one of the 4 EVEs' 2D-FFT output and create a VideoFrameBuffer to output the RDM data to fftHeatMap for local display. As far as I know the usecase runs without any issue but plugging the HDMI output from the TDA2 cascade board to a monitor showed no HDMI output. It didn't look like there is even sync signal detected by the monitor. Normally when monitor picks up a sync, it has a very gent click to kick the monitor active and show the content. There isn't such a thing on this cascade board. Was the HDMI connector on the board designed to be used with usecase? Thanks, --Khai + +Responses: +Khai, Are you using on-chip HDMI or off-chip HDMI? Rgds, Brijesh + +HI Brijesh, I using the TDA2 Cascade EVM board from TI at the moment. I am not sure what you are referring to. This is not a custom board. Thanks, --Khai + +Hi Khai, We didn't have any customer requirement to support HDMI output on Cascade EVM so it was not tested. I tried once to see if it worked out-of-box with SDK and it didn't. It will require some effort to bring this interface up but we don't have plan to do this. Regards, Stanley + +Hi Stanley, We reply on local HDMI output to realize the working of the processing chain. As you know our processing chain will be nothing like the MIMO or TxBF usecase provided where it interacts with Matlab script to render result on PC. Ours usecase is high performance and realtime. Can this feature be considered and make available as there is an HDMI output connector on the board after all. If not this SDK version, the upcoming SDK version. Thanks, --Khai + +Hi Khai, There is no plan for any more SDK release except for critical bug fixes. Main reason we descoped HDMI output was we don't have GPU support to display matlab like plot to HDMI output. Having the radar object data transferred to PC for rendering is the only option. Regards, Stanley + +Hi Stanley, As of now, the Processor SDK RADAR v03.08 is not compatible with the 2243 Cascade board. If there are no plans for new releases, how is TI planning to address this issue? + +In Addition, there is a GPU HW Block in the TDA2 just like the TDA3. If TDA3 can have local HDMI functionality, TDA2 is even a more powerful chip, it should be able to do the same. It's all about TI commitment to supporting it in SDK. --Khai + +On TDA3, it is just drawing bitmap on DSP or M4. Same function can run on TDA2. However, HDMI functionality is not support on Cascade EVM. + +So you're saying drawing bitmaps cannot be done on the Cascade DSP EVM? + +Bitmap drawing functions can be called on DSP or M4 but we didn't bring up HDMI interface for display. + diff --git a/sample_embedding_folder2/0912084.txt b/sample_embedding_folder2/0912084.txt new file mode 100644 index 0000000000000000000000000000000000000000..d863dd46a6d9c1f05daabb425c9e6e5e862ce364 --- /dev/null +++ b/sample_embedding_folder2/0912084.txt @@ -0,0 +1,10 @@ +Ticket Name: Compiler/TDA2HG: Can TDA2 support TVI-FHD 2 channel input ? + +Query Text: +Part Number: TDA2HG Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler Hi All, Can TDA2x support 2-channel TVI-FHD input? (we are using TP3810 now) or TDA2 can only support TVI-HD input? Thanks. Ranny. + +Responses: +Ranny, TDA2x can support digital parallel input with both embedded sync and discrete sync input interface. If TVI-FHD can output in this format, it can be supported. Rgds, Brijesh + +Hi Brijesh, Ok, thanks your replay. Ranny. + diff --git a/sample_embedding_folder2/0912509.txt b/sample_embedding_folder2/0912509.txt new file mode 100644 index 0000000000000000000000000000000000000000..3a8c04fe3c3a7aaf3454804881b65b6b97890eed --- /dev/null +++ b/sample_embedding_folder2/0912509.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2PXEVM: TDA2x,demo code cascade_radar_object_detect will need much more time than the PDF said 36ms, how can I get this tested rerults? + +Query Text: +Part Number: TDA2PXEVM I don't know why the demo code tda2xx_cascade_bios_radar-cascade_radar_object_detect will need a much more time than the PDF said. example:Would you like help me test it again?,Please tell me why and what I shuld do to reduce the time cost by DSP .(2) what is the optizimation lever in DSP and where I can change it? + +Responses: +How did you get the time it took? Could you share the log? Please make sure it is release build, not debug build. In release build, the optimization level is already set to -O3. + diff --git a/sample_embedding_folder2/0912839.txt b/sample_embedding_folder2/0912839.txt new file mode 100644 index 0000000000000000000000000000000000000000..27aa551e22366253dc19986f87082f2a11599431 --- /dev/null +++ b/sample_embedding_folder2/0912839.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2EXEVM: ROS integration + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: MMWCAS-RF-EVM Hi, I like to integrate MMWCAS-RF-EVM with TDA2EXEVM in a ROS network. Do you have an example for TDA2EXEVM or similar boards? Thank you! + +Responses: +You can download the Radar SDK from the below link. https://www.ti.com/tool/PROCESSOR-SDK-TDAX Please refer to the user guide for more information. We do not have example for ROS integration. However, we do have example in Radar SDK which sends radar object data to PC over ethernet. Once on PC, you can visualize the radar object data with ROS. + diff --git a/sample_embedding_folder2/0913038.txt b/sample_embedding_folder2/0913038.txt new file mode 100644 index 0000000000000000000000000000000000000000..fa805ed1c5ff66bb77622e4d1864bf8688064938 --- /dev/null +++ b/sample_embedding_folder2/0913038.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2E: JTAG IEEE 1149.7 and system trace (STM) + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2 Hi Champs, Could you help us with the system trace capability on the TDA2xp? Main question is, if there is documentation available about this topic that we did not find? + +Responses: +Hello Simon, Most of the usage on TDA2 I have seen has happened in conjunction with the JTAG debuggers. CCS and Lauterbach have provided message extraction and decode from internal onchip memories (TBR/ETB) or offchip (via TPIU). Both tools do have documentation on their interfaces. CCS did for a CTOOLs library which could be found on the web and Lauterbach has example projects in its 'demo' directory. Checkouts using these tools has happened on TDA2. The STM unit is a standard ARM Coresigh block so a lot of information will exist on its user level. To use this outside of a JTAG tools environment a fair amount of effort may be needed as interfacing with the hardware trace network and the protocol decoding back into a useable for is non-trivial. For number of years Linaro has been working to push framework to do this into the Linux kernel. I'm not sure what state it has reached. I have not seen anyone try and link that Linux path up for a TDA2. As I mention its has been incrementally adding features in Linux for years and the last time I checked (sometime ago) it was well behind what existing tools supported. This would be another source. That IP has been used on several TI chips and some of them would added additional documentation based on user requests. Some of the OMAPs have additional information. Regards, Richard W. + +Hi Richard, Simon posted this question because I contacted him about this topic. We are not using Lauterbach products, but Blackhawk BH-USB-560v2 and Spectrum Digital‘s XDS560v2 emulators. While Blackhawk provided us some useful information, Spectrum Digital told us that this information should be provide by TI. In our TDA2XP based board we are not using Linux, but TI-RTOS. As you said, with some (old) information outside in Internet, it would be probably possible to get this working using the JTAG emulators. But the most useful functionality IMHO is to get the traces in field without the need of connecting any JTAG emulator. I could not find too much information about that and it would be good that TI helped with that, since, as I stated above, it could be useful to find issues in field. Thanks, Alexander + +Hello Alexander, For TDA2 I don't believe TI has productized any self-hosted STM utilities. The supported path would be through JTAG tools and those vendors. The base design can support self-hosted usage, but from what I know, developing it from end to end would take a fair amount of time. The scope of that is well beyond an E2E forum post. For some different chips, TI did publish some libraries which could be leveraged: https://processors.wiki.ti.com/index.php/CTools. A Linux level STM driver was socialized at the same time https://processors.wiki.ti.com/index.php/STM_Linux_Device_Driver. A person could leverage that material and what exists in the Linux kernel for Coresight to get something that works for RTOS. I do agree that there are times where having a self-hosted method to select and extract HW trace data might be useful. For STM, on TDA2, I only see JTAG based STM tools available. Self-hosted logging methods in use are mostly to internal memory or out some kind of terminal/network interface. Regards, Richard W. + diff --git a/sample_embedding_folder2/0913271.txt b/sample_embedding_folder2/0913271.txt new file mode 100644 index 0000000000000000000000000000000000000000..cf776a3ec45e80ea7f6d42b42880567890d47350 --- /dev/null +++ b/sample_embedding_folder2/0913271.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA4VM: TDAEVM-Fusion Daughter card connection & Power connection + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 Hello all, We would like to connect Fusion Daughter card with TDA4EVM CPBoard. https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/psdk_rtos_auto/docs/user_guide/evm_setup_j721e.html#j721e-som From the above link connector J25 is used for connection. How about the power cable connection ? It is not clear. Regards, Gokul + +Responses: +Hi Gokul, Attached is a picture of local working TDA4 EVM setup. For a TDA2 EVM setup the cables would be switched. Regards, Kip + +Hello Kip, Images are not able to download. can you please check from your end ? Regards, Gokul + +Hi Gokul, Were you able to get the Fusion board powered up/ Is it okay to close this thread? Thanks, Kip + diff --git a/sample_embedding_folder2/0913424.txt b/sample_embedding_folder2/0913424.txt new file mode 100644 index 0000000000000000000000000000000000000000..171b86431ae1617a554c6b8f49fffb3d41a9ecba --- /dev/null +++ b/sample_embedding_folder2/0913424.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2PXEVM: TDA2PXEVM: HI,I think there is a bug in your code \PROCESSOR_SDK_RADAR_03_07_00_00,PLease check it out,Or help me understrand it + +Query Text: +Part Number: TDA2PXEVM C:\PROCESSOR_SDK_RADAR_03_07_00_00\vision_sdk\links_fw\src\rtos\utils_common\src\utils.c,it will make the cpuMhz always 20Mhz. UInt64 Utils_getCurTimeInUsec(void) { static UInt32 cpuMhz = 500U; /* default */ static Bool isInitialized = (Bool)FALSE; Types_Timestamp64 ts64; UInt64 curTs; if(!isInitialized) { /* do this only once */ Types_FreqHz cpuHz; isInitialized = (Bool)TRUE; Timestamp_getFreq(&cpuHz); cpuMhz = cpuHz.lo / (1000U*1000U); /* convert to Mhz */ Vps_printf(" *** UTILS: CPU MHz = %d Mhz ***\n", cpuMhz); } Timestamp_get64(&ts64); curTs = (UInt64) ts64.hi << (UInt64)16U; curTs = (UInt64) curTs << (UInt64)16U; curTs = (UInt64) curTs | (UInt64)ts64.lo; return (curTs/cpuMhz); } + +Responses: +Hi Dan, I will close this thread as it is the same as this one: Experts are looking at the other thread and will reply there soon. Regards, Yordan + diff --git a/sample_embedding_folder2/0913594.txt b/sample_embedding_folder2/0913594.txt new file mode 100644 index 0000000000000000000000000000000000000000..63697702b777dbb909cfcb27709532d9a2b4af5a --- /dev/null +++ b/sample_embedding_folder2/0913594.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: parallel computing on eve in cascade radar usecase + +Query Text: +Part Number: TDA2SX Hi Experts, I'm trying to understand how the parallel computing on EVE cores was implemented in the cascade radar object detect usecase, but I can not find this place in source code. I'm interesting in how datacube is split between cores before horizontal FFT and vertical FFT. How data is split for peak detection? Did you use buffer's chunks for splitting? Can you tell me where I have to looking for? Maybe some documentation is exist on this? Regards, Igor + +Responses: +Hi Igor, Please refer to Ch 4 "TDA2x EVM + 4 AWR12 Cascade Capture, Object Detect, display" under [Radar SDK install]/vision_sdk/docs/Radar/ProcessorSDKRadar_DataSheet.pdf. Regards, Stanley + diff --git a/sample_embedding_folder2/0913906.txt b/sample_embedding_folder2/0913906.txt new file mode 100644 index 0000000000000000000000000000000000000000..9953f475f56b45c4a1c02680106bee7e4e6869c3 --- /dev/null +++ b/sample_embedding_folder2/0913906.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2EVM5777: How mflash do load sbl image and appimage into qspi ? + +Query Text: +Part Number: TDA2EVM5777 Hello TI expert, reference information: PROCESSOR_SDK_VISION_03_07_00_00 VAYU XC5777X EVM BOARD minicom setting and running results (VA! is present, not AL!): I got load sbl image and app image into QSPI flash with mflash utility ,as below. and put the board in qspi boot mode and restart it to boot the sbl and AppImage from flash. But target board is not work. but sbl is not working. please advising. user@ubuntu:/home/data1/tda2-eye-detection/ti_components/drivers/pdk_01_10_03_07/packages/ti/boot/sbl_auto/tools/mflash$ sudo ./mflash_run_config.sh Usage: mflash -M -P -C [optional: to clean the QSPI Flash]-F -F ... [PC] sbl_mflash sbl_mflash_tda2xx-evm [PC] File 0 AppImage_BE [PC] Offset 0 0x80000 [PC] File 1 sbl [PC] Offset 1 0x00 [PC] com /dev/ttyUSB0 [PC] ##########Starting USB/UART Flasing Utility############## [PC] Put UART Boot Mode, make fresh UART connection & restart [PC] Press Enter when done... [PC] Opening serial port successful. [RBL]4 [RBL]90 [RBL]30 [RBL]40 [RBL]40 [RBL]80 [RBL]80 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]4 [RBL]1 [RBL]5 [RBL]1 [RBL]56 [RBL]41 [RBL]7 [RBL]2 [RBL]13 [RBL]2 [RBL]1 [RBL]0 [RBL]12 [RBL]15 [RBL]1 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [PC] Requesting the ASIC ID [RBL]4 [RBL]1 [RBL]5 [RBL]1 [RBL]56 [RBL]41 [RBL]7 [RBL]2 [RBL]13 [RBL]2 [RBL]1 [RBL]0 [RBL]12 [RBL]15 [RBL]1 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]14 [RBL]21 [RBL]1 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [PC] Requesting PERI_REQ mode [PC] Sending SBL_MFLASH filesize. [PC] Size of sbl_mflash = 49660 [PC] Sending SBL_MFLASH... Please wait [PC] File Size = 49660 [PC] # [PC] Transfer Complete. Time = 5.000 [PC] Opening port for sbl_mflash. [PC] Opening serial port successful. [PC] sbl_mflash switch On Request Sent. [TDAxx] Utility mflash will Execute now. [TDAxx] Setting up QSPI [TDAxx] QSPI Spansion 4 bit Device type [TDAxx] MID - 0x1 [TDAxx] DID - 0x18 [TDAxx] !!______TDAxx flashing utility______!!1 [TDAxx] Erasing entire QSPI Flash..This takes 50-60 seconds. 0x000DAxx] Erase Completed!!!2 [PC] Download started[PC] File Size = 49660 [PC] # [PC] Write File Completed. 0x800002e taken to download file = 1.002 [PC] Download started[PC] File Size = 19931332 [PC] #################### [PC] Write File Completed. [PC] Time taken to download file = 282.003 [TDAxx] Exiting. [PC] ##############!!!!mflash shutting down!!!!############# Matt + +Responses: +Hello TI experts, Could you please advise which next step we need to check? Switching sysboot & SW5 as below after loading image into QSPI flash. Console setting and No working image after loading image into QSPI flash, as below Matt + +Hello TI experts, I have fixed issue to 'No sbl image running'. A new question is to 'How Appimage does build into big endian' ? Please advising reference document to build in Linux platform,thanks Matt + +Hi Matt, Can you please look at the SBL user guide: https://processors.wiki.ti.com/images/b/b7/TDA_SBL_UserGuide.pdf Command is "tiimage.exe 0x40300000 BE SBL.bin SBL.tiimage" Regards, Rishabh + diff --git a/sample_embedding_folder2/0914340.txt b/sample_embedding_folder2/0914340.txt new file mode 100644 index 0000000000000000000000000000000000000000..058a0d9ce60161bd22a0c8fd74e46cc2f7245b9a --- /dev/null +++ b/sample_embedding_folder2/0914340.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2EXEVM: How to set the TIDL config.mk? + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: MATHLIB, TDA2 DSP_TOOLS ?="C:\PROCESSOR_SDK_VISION_03_07_01_00\ti_components\cg_tools\windows\ti-cgt-c6000_8.2.4" ARP32_TOOLS ?="C:\PROCESSOR_SDK_VISION_03_07_01_00\ti_components\cg_tools\windows\arp32_1.0.7" TIARM_TOOLS ?="C:\PROCESSOR_SDK_VISION_03_07_01_00\ti_components\cg_tools\windows\ti-cgt-arm_16.9.2.LTS" XDAIS_PATH ?="C:\PROCESSOR_SDK_VISION_03_07_01_00\ti_components\codecs\xdais_7_24_00_04" UTILS_PATH ?="C:\TI\ccsv5\utils\cygwin" VXLIB_PATH ?="C:\PROCESSOR_SDK_VISION_03_07_01_00\ti_components\algorithms\vxlib_c66x_1_1_3_0" DMAUTILS_PATH ?="C:\PROCESSOR_SDK_VISION_03_07_01_00\ti_components\algorithms\REL.DMAUTILS.00.08.00.02\dmautils" ALGFRAMEWORK_PATH ?="C:\PROCESSOR_SDK_VISION_03_07_01_00\ti_components\algorithms\REL.ALGFRAMEWORK.02.08.00.00\algframework" MATHLIB_INSTALL_DIR ?="C:\PROCESSOR_SDK_VISION_03_07_01_00\ti_components\algorithms\mathlib_c66x_3_1_0_0" SHOW_COMMANDS ?= 0 LINUXENV ?= x86 LINUX_BUILD_TOOLS ?="/home/uid/tools/linaro-2017.11" # Default platform # Supported values: vayu,vme TARGET_SOC ?= vayu # Default CORE is dsp # Supported values: dsp, eve, arm CORE ?= dsp # Default TI_DEVICE # Supported values: PC, TI_DEVICE (SIMULATORS or EMULATOR ) TARGET_PLATFORM ?= TI_DEVICE # Default C66 # Supported C64T, C64P, C64, C66, C674, C67, C67P, m4 TARGET_CPU ?= C66 ifeq ($(CORE),eve) TARGET_CPU:= endif Hi Champs: #1. We now know the TIDL for TDA2/3 only be able built in the Windows environment, as Praveen Said. So, in this path: C:\PROCESSOR_SDK_VISION_03_07_01_00\ti_components\algorithms\REL.TIDL.01.01.03.00\makerules The config.mk needs to be set according the Windows CG tool envs. My questions are how to set those 2 parameters in the below config.mk? if we are now in the windows? --> LINUXENV ?= x86 LINUX_BUILD_TOOLS ?="/home/uid/tools/linaro-2017.11" #2.What's the x86 means? #3. How to set this file for TDA2 and TDA3? According this section, is the Vayu = TDA2 and Vme = TDA3? # Default platform # Supported values: vayu,vme TARGET_SOC ?= vayu #4.is the Core set as DSP and Target CPU = DSP, does this mean the EVE / ARM won't spend the effort for TIDL? #5. How to set the DSP + EVE working concurrently for TDA2? BR Rio + +Responses: +Hi Rio, This config.mk file is used to build standalone TIDL out files for either DSP or EVE cores separately. 1, 2 -> Linux build is not supported, so you can ignore them. 3 -> "TARGET_SOC " can also be ignored for TIDL build because the out files build will be for specific core (DSP or EVE) not for SOC. VSDK builds for specific SOC. 4-> For building for EVE set Target CPU = EVE 5-> This is done through VSDK use cases and layers partition for EVE and DSP cores is done by import tool, please refer to FAQ21 and 22 for more details on this partioiton. Thanks, Praveen + diff --git a/sample_embedding_folder2/0915186.txt b/sample_embedding_folder2/0915186.txt new file mode 100644 index 0000000000000000000000000000000000000000..2d95585406e679573dbe0e78293a8af9e40decef --- /dev/null +++ b/sample_embedding_folder2/0915186.txt @@ -0,0 +1,18 @@ +Ticket Name: TDA2SX: eMMC boot failed as second boot device + +Query Text: +Part Number: TDA2SX Hello Sir/Madam, We got two cases of product failure reports (APA application, TDA2SX as video processor, failed to boot up) from our customers. When finished end of line calibration and write calibration data back to eMMC, and rebooted the system, the system can not boot up. TDA2SX boot mode is configured as bootmode[5:0] : 10 0010, SD card (1st device), eMMC (2nd device, for production), USB (3rd device). Our original purpose is to use eMMC as the only memory for production (SD card not inserted), SD card used in debug, USB is expected to be for upgradation. The system is working ok before calibration, which means eMMC (all code and data in eMMC) boots up correctly as the only boot memory. We did the below checks on the failed boards. 1. Insert SD card as first boot memory without changing boot mode configuration, the board can boot up correctly. When the system boots up using SD card, we copied the contents of eMMC and burn it into a new SD card, and the system boots OK with this new burned SD card. We also checked the CTRL_CORE_BOOTSTRAP register value using the SD card boot, it matches what our hardware sets, 10 0010 . 2. Inserted an SD card with u-boot configured booting Kernel from eMMC, both u-boot and kernel works OK. 3. We changed the boot mode (10 0000) to make eMMC as the first boot device, it can boot up correctly, we did not change the eMMC contents on the failed boards. 4. Inserted an empty SD card and tried to boot the system, failed. 5. We burned one board eMMC, it now can boot up ok. Currently, I have no further idea to continue on this issue. Please feel free to give your suggestion on which points I should check. thanks. Jeffrey Yu + +Responses: +Hi Jeffrey, I'm likely to need additional data to follow up further here - I will summarize shortly on what we need. In the meanwhile, I will take a look at your problem description and come back with some further thoughts. Regards Karthik + +Jeffrey, To make sure I understand your issue: You booted up in eMMC; ran calibration; re-wrote data in eMMC based on calibration results; rebooted the system; and the system could no longer boot. Is this correct? A few questions: What is the end-of-line calibration you are running? Where are you re-writing these data in eMMC, could it have corrupted the filesystem? Did you get stuck in uboot or kernel on the reboot attempt? Do you have SD card inserted in the slot, or are you only expecting to boot from eMMC? What speed mode are you working at? If both MMC1 and MMC2 are used, please provide the speed for both modules. For the failure board checkouts, are you suggesting if you change out the boot-modes after failure occurred to eMMC-only or SD-only (where SD card content was flashed by the eMMC), the failed system then boot up successfully? Please confirm once SD-only boot and eMMC-only boot succeeded, you went back to the failure boot mode (SYSBOOT[5:0] = 10 0010) and confirmed the failure persisted. How many boards have you tested this on, and how many boards showed failure? Best Regards, Shiou Mei + +Hello Shiou, Please see my feedback in bold blue below. To make sure I understand your issue: You booted up in eMMC; ran calibration; re-wrote data in eMMC based on calibration results; rebooted the system; and the system could no longer boot. Is this correct? --- Yes, your understanding is correct. A few questions: What is the end-of-line calibration you are running? -- It's AVM camera pose calibration data. Where are you re-writing these data in eMMC, could it have corrupted the filesystem? -- the data wrote in filesystem, we don't think the filesystem is corrupted since we chanced the boot mode to eMMC as first boot device, uboot, kernel and application are all working OK. Did you get stuck in uboot or kernel on the reboot attempt? -- if boot mode is 10 0010, eMMC as only boot memory, without SD card present, there isn't any message shown on the UART console window. I think uboot is not booted up yet. Do you have SD card inserted in the slot, or are you only expecting to boot from eMMC? -- For production, we only use eMMC as code and data memory. SD card is only for bench debug or sw development purpose. The failed boards does not have any SD cards inserted. What speed mode are you working at? If both MMC1 and MMC2 are used, please provide the speed for both modules. -- I am not sure whether the booting speed mode is decided by the SOC ROM code or not, we can not even see the uboot message, means ROM code does not load the SBL or uboot data correctly. For the failure board checkouts, are you suggesting if you change out the boot-modes after failure occurred to eMMC-only or SD-only (where SD card content was flashed by the eMMC), the failed system then boot up successfully? Please confirm once SD-only boot and eMMC-only boot succeeded, you went back to the failure boot mode (SYSBOOT[5:0] = 10 0010) and confirmed the failure persisted. -- Let me make clear. 1. We have no issue with SD card booting. 2. We tried to change the original boot mode from 10 0010 to 10 0000, to make the eMMC as the first boot device, the system can boot up correctly, also we did not change the content of eMMC on this failure board, but if we changed the boot mode to original 10 0010, eMMC failed to boot up. 3. boot mode 10 0010, We use additional SD card boot up the system, access to the eMMC, copy the eMMC contents and make a new SD card with that contents, and using this new SD card to boot the system, it's working. How many boards have you tested this on, and how many boards showed failure? -- We have two failed boards, till now, we have not found any other boards booting up failure with eMMC as only boot memory and boot mode 10 0010. Jeffrey Yu + +Additional test: boot mode 10 0010, copy the eMMC contents of the failure board to another board eMMC, it can boot up. + +Jeffrey, Chongbo, Thank you for all the test results! Please let me know the following information: 1. Which filesystem are you running? What is the revision? 2. What voltage and temperature do you see failure at? Please provide an approximate value if run at nom Would you be able to run the following experiments? Since u-boot did not even bootup, these data points will be extremely beneficial. 1. Run 20~50 PORz with boot mode 10 0010, are there any successes? 2. Probe the signal pins (CLK, CMD, DAT0) so we can see if MMC boot ran at all 3. Connect a debugger and dump the PC register and Tracing data (0x4037 F040 ~ 0x4037 F060) during failure Best Regards, Shiou Mei + +Jeffrey, Chongbo, It would also be beneficial if you loop in the flash vendor into these debug discussions. In either case, signal trace captures and registers dump would beneficial in isolating what the failures are. Best Regards, Shiou Mei + diff --git a/sample_embedding_folder2/0916753.txt b/sample_embedding_folder2/0916753.txt new file mode 100644 index 0000000000000000000000000000000000000000..56b14136c65bb2cf0097754651538461448499e2 --- /dev/null +++ b/sample_embedding_folder2/0916753.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA3MV: PMHAL_PRCM_CLK_VID_PIX_CLK && dss pixelclocks + +Query Text: +Part Number: TDA3MV Other Parts Discussed in Thread: TDA2 Hi, Our customized tda3mv pcba had a display jitter problem, i already read sprac62 document, and also https://e2e.ti.com/support/processors/f/791/p/818232/3031781?tisearch=e2e-sitesearch&keymatch=vout1_clk%20jitter#3031781 i saw fae said "VIDEO1_DCLK is about 28MHz with signal integrity like #1. The trigger delay shows that this clock has period jitter but that is not unexpected. ". i found three method may could solve display jitter, if clock>70M 1. add clock cleaner 2. use DPLL HDMI to VP1, not DPLL_VIDEO (only for tda2) 3.. set N,M,dive... , the trm show note below NOTE: It is preferred to minimize the value for N parameter (it minimizes lock time and jitter). Then M should be chosen to provide correct frequency (with lowest delta as possible). is method 3 could sovle my problem on tda3x? i read tda3x trm document, see "The VP1_PCLK clock for the VP1 output is provided directly from the DISPC_CLK1 input clock ", and TDA3xx_ClockRate_SetConfig_Generator.xlsm document, see PMHAL_PRCM_CLK_VID_PIX_CLK, Frequency=74000000, PMHAL_PRCM_DPLL_EVE_VID_DSP, M=222, N=4, PMHAL_PRCM_DPLL_POST_DIV_M2, 3, In chains_common.c, How the frequency of display pixelclocks is generated? Is related to PMHAL_PRCM_CLK_VID_PIX_CLK, M, N values ? or any others advices to solve this problem? new edit, this change looks like can let N to be more less, i will try this SJay + +Responses: +Hi SJay, Typically these value are calculated internally by PM driver, I think there is a flag in the API, which calculates M & N values, This flag allows to calculate lower M & N values or higher M & N values.. Can you please try changing this flag? There should API like SetClockRate in display controller link. Please check this api and change the flag. Rgds, Brijesh + +Hi Brijesh , i know you mean, but i had checked the function DisplayCtrlLink_configureVideoPllAndClkSrcForLCD() in my usecase will be called in chains_common setting Rgds, SJay + +ok, can you change code in DisplayCtrlLink_configureVideoPllAndClkSrcForLCD and see if it works? Rgds, Brijesh + +Hi Brijesh, origin max mn m=1188 n=128 m2=5 change min mn m=297 n=8 m2=20 Finally, this change is work. The display out not jitter anymore. SJay + diff --git a/sample_embedding_folder2/0917080.txt b/sample_embedding_folder2/0917080.txt new file mode 100644 index 0000000000000000000000000000000000000000..d2f3b42f1cecb908fc76acd2cd5b9274ff412e9b --- /dev/null +++ b/sample_embedding_folder2/0917080.txt @@ -0,0 +1,16 @@ +Ticket Name: Compiler/TDA2SX: vector include + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler HI dear TIer, I am working on tda2, vision SDK 3.8 and A 15 works on Linux. I use stl vector in my code, but I don't know how to config to pass the compiling: facedetectcnn.h:53:10: fatal error: vector: No such file or directory #include ... Thanks for your help. + +Responses: +Hi Robert, Can you please give some more details on what you are trying to add? I didn't get what is stl vector and where you are trying to include vector.h . Thanks RamPrasad + +hi I use a 3rd-party face detection algorithm in a usecase. NullSrc->A15 ALgorithm->Display in A15 ALgorithm , I do face detection, and it uses vector . Thanks! + +hi Robert, Which vector.h you are trying to include? I found a vector.h in include/configs/frame of the kernel but this file is empty. Thanks RamPrasad + +Hi , Thanks for your reply. What I want to use is the container vector, both the vector and iostream can't be found. #include #include #include using namespace std; + +Hi, Sorry for the late response. You have to include the header file path in a MAKEFILE.MK file. ex: INCLUDE+= -I$(LINUX_TARGETFS)/usr/include -I$(kernel_PATH)/include/generated/uapi $(OSA_INC) -I$(ipc_PATH)/packages -I$(ipc_PATH)/linux/include -I$($(MAKEAPPNAME)_PATH) Do the same changes for the C++ header file to include in a MAKEFILE.MK. Thanks Gaviraju + diff --git a/sample_embedding_folder2/0917543.txt b/sample_embedding_folder2/0917543.txt new file mode 100644 index 0000000000000000000000000000000000000000..81ab6455c3c0d8f9d68d0c839359243c86a80b5d --- /dev/null +++ b/sample_embedding_folder2/0917543.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2PXEVM: code to select QSPI mode in SBL for TDA2Px could be wrong? + +Query Text: +Part Number: TDA2PXEVM Hi, I am not sure if the code below in the SBL is handling incorreclty the TDA2Px SoC. Basically is taking the same path as the TDA2xx which seems to have an issue with rev. 1.0 and then selecting an slower mode. //code in platform_tda2xx.c uint32_t PlatformGetQspiMode(void) { uint32_t mode; #if defined (SOC_TDA2EX) mode = 0U; #else uint32_t siliconRev = PlatformGetSiliconRev(); if (0U == siliconRev) { /* On ES 1.0 TDA2xx silicon only mode 3 works */ mode = 3U; } else { /* On ES 1.1 TDA2xx silicon both mode 0 & 3 work */ /* Reutrning 0 as it can work at higher frequency */ mode = 0U; } #endif return mode; } I am guessing that the code needs the following fix: ... #if defined (SOC_TDA2EX) || defined (SOC_TDA2PX) mode = 0U; #else ... May anybody confirm if I am right about that? Thanks in advance. Regards, Alexander + +Responses: +Hi Alex, it looks like a bug, let me check and get back to you. Regards, Brijesh + +Hi Brijesh any progress on this? BTW, I have a question related to one comment in that function: ... /* Reutrning 0 as it can work at higher frequency */ ... why is telling that mode 0 is faster than mode 0? AFAIK the SPI clock mode does not affect the speed setup...or is this some specific to TDAx? Regards, Alexander + +Hi, well, I found myself the answer to my question concerning the different clock speeds supported, depending of the QSPI clock mode. It is in the datasheet: I did not see that table before and I was even clocking the QSPI to 128 MHz (and it was working). Since it is working @ 128 MHz, I can imaging that with 96Mhz (10.41nS) is going to work too. But I still would like to hear an official statement from TI that the TDA2Px Rev 1.0 may work in QSPI in mode 0 @ 96 Mhz. Thanks. Regards, Alexander + +Hi Alex, Yes, this is confirmed. It is a bug in the driver. TDA2Px does support Mode0 and Mode3 for QSPI. Rgds, Brijesh + +Thanks a lot for the confirmation Brijesh! Regards, alexander + diff --git a/sample_embedding_folder2/0917906.txt b/sample_embedding_folder2/0917906.txt new file mode 100644 index 0000000000000000000000000000000000000000..f7af855bdb87537610f8d04f8bed4d75f5447be0 --- /dev/null +++ b/sample_embedding_folder2/0917906.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2SX: Running python script for additional proccessing + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: AWR1243 Hi, I am running the TDA2SX board with an AWR1243 attached for cascade radar imaging with the processor SDK radar (RTOS). Is it possible to add a python script within the processing pipeline on the board before being sent through the network to my PC? If not, would it be possible/advisable if I switched to vision SDK on linux instead? Thanks, Stefan + +Responses: +Hi Stefan, We don't have support for python script. What are you trying to do with python script? You can run Linux Vision SDK. However, there is radar processing support, only radar ADC data capture. Regards, Stanley + +Hi Stanley, Thank you for your reply! The idea is to utilize as much of the board as we can by adding additional processing code on it. I'm not sure what type of processing my team would like to do, but it would be easier for them to write this code in Python rather than C. Thanks, Stefan + +Our compiler can only support C/C++ code. + diff --git a/sample_embedding_folder2/0918936.txt b/sample_embedding_folder2/0918936.txt new file mode 100644 index 0000000000000000000000000000000000000000..584df20e6831940d4f0866539db482f97eacde68 --- /dev/null +++ b/sample_embedding_folder2/0918936.txt @@ -0,0 +1,10 @@ +Ticket Name: PROCESSOR-SDK-TDAX: Literature on the difference between opp_nom, Opp_high and opp_low when making PROCESSOR_SDK_RADAR for MMWCAS_DSP_EVM + +Query Text: +Part Number: PROCESSOR-SDK-TDAX Hi, Can anyone point me towards the literature documenting the difference between those three folders mentioned in the title? Thank you + +Responses: +Please refer to ch 5.5 for detail. https://www.ti.com/lit/pdf/sprs951 + +Thank you. + diff --git a/sample_embedding_folder2/0919121.txt b/sample_embedding_folder2/0919121.txt new file mode 100644 index 0000000000000000000000000000000000000000..efc6a9c3bf2b49e6f6c858d761595658bf4d3067 --- /dev/null +++ b/sample_embedding_folder2/0919121.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA4VM: How to create a new Node/kernel in openvx framework + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 Hi guys, I'm new to openvx, and I think in TDA2 series, we have the guide to introduce for how to create a new link then combine a new function chain. So in TDA4, do we have any guide to introduce of how to create a new kernel and then package to a new node? Thanks a lot. best regard, Neo + +Responses: +Hello, For OpenVX in TDA4, we recommend using the PyTIOVX tool for developing new kernels. We have an introduction section within our documentation for PyTIOVX below as well as some sample scripts located at tiovx/tools/sample_kernel_wrappers as well as vision_apps/kernels//scripts. While we have a basic documentation guide below, in future releases we will have a video series walking users through basic development using the PyTIOVX tool. In the meantime, please use this forum for any specific questions on how to use this tool. https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/tiovx/docs/user_guide/PYTIOVX.html In future releases, we plan on supporting sample application development using the PyTIOVX tool. However, for now, we recommend creating a new application based on existing applications found in vision_apps/apps. Regards, Lucas + diff --git a/sample_embedding_folder2/0919278.txt b/sample_embedding_folder2/0919278.txt new file mode 100644 index 0000000000000000000000000000000000000000..44a3d6e06103255c866e0756e2643f066952f3ab --- /dev/null +++ b/sample_embedding_folder2/0919278.txt @@ -0,0 +1,138 @@ +Ticket Name: TDA2EVM5777: VISION_SDK TIDL apps Demo error + +Query Text: +Part Number: TDA2EVM5777 Hello, I am running PROCESSOR_SDK_VISION_03_08_00_00 vision SDK linux on the TDA2EVM5777 board. I successfully compiled and created a bootable SD card. When I run the SD card, follow 4.3 of the VisionSDK_Linux_UserGuide.pdf user guide and run the command ./apps.out to run the demo I get errors. I attached a log of the entire process that I took from bootup. The print statements never end so I cancel it and I get errors. I can not figure out why the IPU is not responding to system attachment. My main goal is to run the TIDL demo which I believe running this executable would be the first step. How can I debug from here in order to run the TIDL demo? Thank you, -iFer + +Responses: +Hi, Can you send the log attachment? also share the output of "make -s showconfig" Thanks Gaviraju + +Hello Gaviraju, I just realized I hadn't attached the log in my previous reply. I will attach here. Also, here is the output you requested. Thank you, -iFer5126.Linux Boot Logs.txt 0207.showconfig.txt # +# Build Config is [ tda2xx_evm_linux_all ] +# Build Config file is @ /home/user01/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/configs/tda2xx_evm_linux_all/cfg.mk +# Build Config .h file is @ /home/user01/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/links_fw/include/config/apps/tda2xx_evm_linux_all/system_cfg.h +# Build CPUs is @ ipu1_0 a15_0 dsp1 dsp2 eve1 eve2 eve3 eve4 +# +# CPUs included in application, +# PROC_IPU1_0_INCLUDE=yes +# PROC_IPU1_1_INCLUDE=no +# PROC_IPU2_INCLUDE=no +# PROC_DSP1_INCLUDE=yes +# PROC_DSP2_INCLUDE=yes +# PROC_EVE1_INCLUDE=yes +# PROC_EVE2_INCLUDE=yes +# PROC_EVE3_INCLUDE=yes +# PROC_EVE4_INCLUDE=yes +# PROC_A15_0_INCLUDE=yes +# +# Platform config, +# VSDK_BOARD_TYPE=TDA2XX_EVM [options: TDA2XX_EVM TDA2EX_EVM TDA3XX_EVM TDA3XX_RVP TDA2XX_RVP] +# PLATFORM=tda2xx-evm +# DUAL_A15_SMP_BIOS=no +# IPU1_SMP_BIOS=no +# DDR_MEM=DDR_MEM_1024M [options: DDR_MEM_128M DDR_MEM_512M DDR_MEM_1024M] +# EMIFMODE=SINGLE_EMIF_512MB [options: SINGLE_EMIF_512MB SINGLE_EMIF_1GB ref build_pdk.mk] +# NDK_PROC_TO_USE=none [options: a15_0 ipu1_0 ipu1_1 ipu2 none] +# NSP_TFDTP_INCLUDE=no [options: yes no] +# TDA2EX_ETHSRV_BOARD=no [options: yes no] +# FATFS_PROC_TO_USE=none [options: ipu1_0 none] +# RADAR_BOARD=none [options: TDA3XX_AR12_ALPS TDA3XX_AR12_VIB_DAB_BOOSTER TDA3XX_RADAR_RVP none] +# +# Build config, +# BUILD_OS=Linux [options: Windows_NT Linux] +# BUILD_DEPENDENCY_ALWAYS=no +# BUILD_ALGORITHMS=no +# BUILD_INFOADAS=no +# PROFILE=release [options: debug release] +# KW_BUILD=no +# CPLUSPLUS_BUILD=no +# IPU_PRIMARY_CORE=ipu1_0 [options: ipu1_0 ipu2] +# IPU_SECONDARY_CORE=ipu2 [options: ipu1_0 ipu2] +# A15_TARGET_OS=Linux [options: Bios Linux Qnx] +# BSP_STW_PACKAGE_SELECT=all [options: all vps-iss-dss-only vps-vip-vpe] +# +# Safety Module config, +# RTI_INCLUDE=no +# ECC_FFI_INCLUDE=no +# DCC_ESM_INCLUDE=no +# +# Video Module config, +# IVAHD_INCLUDE=yes +# VPE_INCLUDE=yes +# CAL_INCLUDE=no +# ISS_INCLUDE=no +# ISS_ENABLE_DEBUG_TAPS=no +# WDR_LDC_INCLUDE=no +# DSS_INCLUDE=yes +# +# Open Compute config, +# OPENCL_INCLUDE=no +# TARGET_ROOTDIR=/home/user01/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/../ti_components/os_tools/linux/targetfs +# ENABLE_OPENCV=no +# ENABLE_OPENCV_TESTS=no +# OPENVX_INCLUDE=no +# +# Log config, +# ENABLE_UART_LOG=yes +# ENABLE_NETWORK_LOG=no +# ENABLE_CCS_LOG=no +# CIO_REDIRECT=yes +# +# IPC config, +# WORKQ_INCLUDE=no +# IPC_LIB_INCLUDE=no +# +# AUTOSAR_APP=no +# +# Surround View config, +# SRV_FAST_BOOT_INCLUDE=no +# +# Other Module config, +# AVB_INCLUDE=no +# DCAN_INCLUDE=no +# RADAR_ONLY=no +# RADAR_STUDIO=no +# CPU_IDLE_ENABLED=yes +# FAST_BOOT_INCLUDE=no +# DATA_VIS_INCLUDE=no +# HS_DEVICE=no +# ULTRASONIC_INCLUDE=no +# PGA450= +# PGA460= +# ENABLE_ALL_DEPTH= +# +# Linux config, +# DEFAULT_UBOOT_CONFIG=dra7xx_evm_vision_config +# DEFAULT_KERNEL_CONFIG=ti_sdk_dra7x_release_defconfig +# DEFAULT_DTB=dra7-evm-infoadas.dtb dra7-evm-infoadas-lcd-lg.dtb +# CMEM_INCLUDE=yes +# IPUMM_INCLUDE=no +# IPU1_EVELOADER_INCLUDE=yes +# ROBUST_RVC_INCLUDE=no +# BUILD_ADAM_CAR=no +# +# Alg plugins included in build, +# ALG_autocalibration ALG_dmaSwMs ALG_framecopy ALG_sparseopticalflow ALG_structurefrommotion ALG_surroundview +# +# Use-cases included in build, +# UC_srv_calibration UC_lvds_vip_multi_cam_3d_perception UC_lvds_vip_multi_cam_3d_srv UC_lvds_vip_multi_cam_2mp_3d_srv UC_lvds_vip_multi_cam_3d_adaptive_srv UC_lvds_vip_multi_cam_view_sgx_display UC_lvds_vip_multi_cam_vpe_enc_null UC_null_src_decode_display UC_disp_dist_src_display UC_ov490_vip_multi_cam_3d_srv UC_vip_single_cam_connectorLinksA15_sgx_display UC_vip_single_cam_enc_dec_sgx_display UC_vip_single_cam_framecopy_sgx_display UC_vip_single_cam_framecopyEve_sgx_display UC_vip_single_cam_sgx_display +# +# +# CPUs that are NOT required but included in config [ tda2xx_evm_linux_all ], +# +# +# CPUs that are required but not included in config [ tda2xx_evm_linux_all ], +# +# +# Edit /home/user01/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/apps/configs/tda2xx_evm_linux_all/cfg.mk to include or exclude CPUs in an application +# + +Hi, Do below changes & clean build the code by deleting binary directory. file: vision_sdk/configs/tda2xx_evm_linux_all/cfg.mk # PROC_IPU1_0_INCLUDE=no # PROC_IPU2_INCLUDE=yes # IPU_PRIMARY_CORE=ipu2 [options: ipu1_0 ipu2] # IPU_SECONDARY_CORE=ipu1_0 [options: ipu1_0 ipu2] Thanks Gaviraju + +Hello Gaviraju, I was not able to find the cfg.mk file in vision_sdk/configs/ tda2xx_evm_linux_all because the configs directory under vision_sdk does not exist. I modified the cfg.mk file under PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/apps/configs/tda2xx_evm_linux_all/cfg.mk Attached is the log of the run. I eagerly await for the next steps to take to debug. Thank you, -iFerBootLogOfSoftwareBug.txt + +Hi, Have you done clean build after changing the above config file? Thanks Gaviraju + +Hello Gaviraju, Thank you for your reply. I realized that I didn't delete the binaries folder before recompiling and rerunning. I have fixed this mistake in this new run. This new run has effectively the same bug as before, but I noticed that the SYSTEM attachment print statements are different. I have attached it to this reply. I look forward to the next steps in debugging this issue. Thank you, -iFer BootLogOfSoftwareBug2.txt + +Hi, The below steps I followed & I'm able to run one of the HLOS use-cases. 1) Download the vision SDK http://software-dl.ti.com/processor-sdk-vision/esd/TDAx/vision-sdk/latest/index_FDS.html 2) Do the below changes in the vision_sdk/build/Rules.make MAKECONFIG?=tda2xx_evm_linux_all 3) Follow the instruction provided in the user-guide for GIT configuration set-up (chapter 2.4.1 One time PC set up) 4) cd vision_sdk/build/ 5) Run the below script from the build directory, this will clone kernel, u-boot, etc. ./hlos/scripts/linux/setup_linux.sh 6)Follow the instruction provided in the user-guide for target file system set-up(chapter 2.4.2.1.4 Download and untar file system) 7)Follow the instruction provided in the user-guide for A15 compiler set-up (chapter 2.2.1 A15 Compiler, Linker) 8) make linux 9) make linux_install 10) make -s -j depend 11) make -s -j 12) Copy the target file system & boot image, MLO, etc to the SD card & insert the SD into the target SD card slot. 13) Run the below command in the UART console. cd /opt/vision_sdk/ source ./vision_sdk_load.sh ./apps.out 14) You can choose the use-case you want to run from the menu. I'm recommending to do the above steps & make sure one of the existing use-cases is working then you port TIDL use-case from RTOS to Linux.(For porting use-case no need any changes in the vision_sdk/configs/tda2xx_evm_linux_all/cfg.mk file ) Thanks Gaviraju + diff --git a/sample_embedding_folder2/0919896.txt b/sample_embedding_folder2/0919896.txt new file mode 100644 index 0000000000000000000000000000000000000000..653cc59a05a412858b2fc6904ab30475687c137c --- /dev/null +++ b/sample_embedding_folder2/0919896.txt @@ -0,0 +1,12 @@ +Ticket Name: OpenVX object detection on TDA2XX + +Query Text: +I am trying to make application to recognize traffic signs using OpenVX. Can someone recomend me what functions should I use to recognize object (for example square,triangle, circle) or even help me with some object detection examples so i can modify it? I am using VIsion SDK 03_03_00_00 on TDA2XX chip and I started from your example for Harris corners detection. + +Responses: +Hi, Did you check our TIDL based object detection use cases @ /vision_sdk/apps/src/rtos/usecases/tidl/ in the latest Vision SDK https://www.ti.com/tool/PROCESSOR-SDK-TDAX Thanks, Praveen + +I did, but as I can see in latest Vision SDK is used network (i do not have network access on my TDA2XX) and there are none of OpenVX node functions (for example vxColorConvertNode, vxExtractNode...) I need to make OpenVX program that recognize traffic signs so I would like first to recognize some shapes and than to adapt it to recognize signs. + +There are multiple ways to recognize shapes and there are enough literature available online. Two main approaches are, 1. Computer vision based 2. Deep learning based For either one of them you will have use some of the existing kernels in OpenVx or write your custom kernel. Steps to try are, Narrow down on the approach how you want to recognize a shape? Deep learning approach provides better accuracy these days. Train a network to identify the shapes using TensorFlow/PyTorch/Caffe. Use the TIDL library to import a trained model. Try it standalone on EVM. Then switch to an OpenVx based application which uses TIDL. Regards, Shyam + diff --git a/sample_embedding_folder2/0920099.txt b/sample_embedding_folder2/0920099.txt new file mode 100644 index 0000000000000000000000000000000000000000..c5b35cec270f7782c4f1285ea704a5368e99fae5 --- /dev/null +++ b/sample_embedding_folder2/0920099.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: Max Ethernet bitrate + +Query Text: +Part Number: TDA2SX Hi, I am running the TDA2SX board with an AWR1243 attached for cascade radar imaging with the processor SDK radar (RTOS). I'm looking for the maximum bitrate that the TDA2SX is able to output through an ethernet connection to my PC. Thanks, Stefan + +Responses: +Hi Stefan, Sorry for late reply. The TDA2xx throughput numbers are part of NSP data sheet. You can access data sheet @PROCESSOR_SDK_VISION_xx_xx_xx\ti_components\networking\nsp_gmacsw_4_15_00_00\docs\nsp_vayu_datasheet.pdf Regards, Prasad + diff --git a/sample_embedding_folder2/0920708.txt b/sample_embedding_folder2/0920708.txt new file mode 100644 index 0000000000000000000000000000000000000000..ba98da2d3fddfb60b593256de6cb52d04a5ad8d8 --- /dev/null +++ b/sample_embedding_folder2/0920708.txt @@ -0,0 +1,26 @@ +Ticket Name: Compiler/PROCESSOR-SDK-DRA8X-TDA4X: TDA4X kernel quickly start use init-demo.sh + +Query Text: +Part Number: PROCESSOR-SDK-DRA8X-TDA4X Tool/software: TI C/C++ Compiler Hi all, we use init-demo.sh on tda2x platform, it can start the kernel quickly without some unnecessary services, so we hope to use similar script like init-demo.sh to start the kernel on the tda4x platform.Is it any scripts fix it? Thanks a lot! Regards, Jason + +Responses: +Hi Jason, Yes, you can use the same script or a similar script even on the TDA4 platform. Regards Karthik + +Hi Karthik, Thanks for your reply, but we know the init-demo.sh must work at falcon mode, could the tda4x work at falcon mode? Regards, Jason + +Hi Jason, From a user space script perspective, it shouldn't matter whether it is falcon mode or not as long as the dependencies are met at the time of execution. If you need additional details, please provide further information on your trials with TDA4. Regards Karthik + +Hi Karthik, I use TDA4VM chip. On tda2xx, we just need to config CONFIG_SPL_OS_BOOT=y in the file u-boot/spl/include/autoconf.mk, so the falcon mode could be enable. But I can't found the file in the folder ~/ti-processor-sdk-linux-automotive-j7-evm-07_00_00/board-support/u-boot-2020.01+gitAUTOINC+f9b0d030d3-gf9b0d030d3 ,please tell me how to enable the falcon mode in the TDA4VM. Regards, Jason + +Hi Jason Currently our SDK does not support falcon boot mode on TDA4VM. Hope this answers your question. - Keerthy + +Hi Keerthy, Thanks for you help, would it be supported in the future?For the kernel started so slowly, we need to start it quickly. Regards, Jason + +Hi Keerthy, I tried to set the falcon mode like TDA2, so I added CONFIG_SYS_SPL_ARGS_ADDR=0x82f80000 and CONFIG_SPL_OS_BOOT=y to the j721e_evm_a72_defconfig file, and set the environment variables like this: setenv falcon_image_file Image; setenv falcon_args_file single-stage-boot.dtb; setenv boot_os 1; and I put the single-stage-boot.dtb and Image files in the BOOT partition, but an error is reported when running boot: spl: falcon_args_file not set in environment, falling back to default spl_load_image_fat_os: error reading image args, err--2, and there are falcon_args_file=single-stage-boot.dtb and falcon_image_file=Image in the environment variables, I don’t know why it can’t be found. Anyway, if the falcon mode wouldn't be supported on the TDA4VM in the future, how could we started the kernel as quickly as on the TDA2X? Regards, Jason + +Hi Jason, TDA4 Boot architecture different compared to TDA2: Refer Section: 3.1.1.2.3 Link: http://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components_U-Boot.html#general-information So first we boot with the R5 SPL which in turn get ATF(Arm Trusted Firmware) on A72 followed by OPTEE & only then we get to A72 SPL Followed by A72 u-boot. Enabling falcon mode on TDA4 will not be same as TDA2. Hence i kindly advise you to not try based on TDA2. I will get back on the availability of falcon mode in the future releases. Best Regards, Keerthy + +Hi keerthy, Thanks very much for you help.Our project needs to be applied to falcon mode of the kernel as soon as possible, like using init-demo.sh to start apps.out on TDA2X. We hope to receive further information from you. If there is any information, please tell me through this issue, or send an email to huangjiasheng@yihang.ai to inform me about how to obtain the release package including the availability of falcon mode. Thanks. Best Regards, Jason + +Hi Jason, There is a rtos based bootloader called SBL(Secondary boot loader). There is a way to jump from SBL to Linux which is a sort of falcon mode: One can jump from SBL to kernel Image. The next release PSDKRA 7.1 will have this supported. Hope you can resolve this. - Keerthy + diff --git a/sample_embedding_folder2/0921374.txt b/sample_embedding_folder2/0921374.txt new file mode 100644 index 0000000000000000000000000000000000000000..7ce34dac8c59b9392e2412545fabfd8b474f66a5 --- /dev/null +++ b/sample_embedding_folder2/0921374.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2/TDA3 TIDL: Pooling layer error + +Query Text: +We use TIDL convert caffe models(*.prototxt + *.caffemodel),the tidl_log.txt display the following information: TIDL algInit returned with error -1048! ============================= TIDL ERROR! ============================== Pooling layer error, invalid stride width! My SDK version is PROCESSOR_SDK_VISION_03_08_00_00. I refer to the documentation "TIDeepLearningLibrary_UserGuide.pdf": Spatial Pooling Layer – Average and Max Pooling are supported with stride 1, 2, 4 and kernel sizes of 2x2,3x3,4x4 etc. STOCHASTIC Pooling not supported. My *.prototxt ,the "Pooling" layer, the stride have "stride: 2" and "stride: 4", the kernel_size have "kernel_size: 3" and "kernel_size: 5", all of these accord with TIDL Limitation content "Pooling are supported with stride 1, 2, 4 and kernel sizes of 2x2,3x3,4x4 etc." So ,why appear the above error message? tidl_log_pooling_error.rar + +Responses: +Hi, Max Pooling are supported with stride 1, 2, 4 in Height direction, but Width wise only stride 1, 2 are supported. That is the reason you are getting this error. Sorry for the confusion, this is not clearly mentioned in the user guide. Thanks, Praveen + diff --git a/sample_embedding_folder2/0921588.txt b/sample_embedding_folder2/0921588.txt new file mode 100644 index 0000000000000000000000000000000000000000..6598ab45d6ea981e9866817edfd20262402eb66d --- /dev/null +++ b/sample_embedding_folder2/0921588.txt @@ -0,0 +1,8 @@ +Ticket Name: SAT0089 Muti - deser datasheet + +Query Text: +Other Parts Discussed in Thread: DS90UB914A-Q1, DS90UB913A-Q1 Hello All, Currently, I am working on SAT0089, SAT0088 deser-ser. I am referring below link for schematic and other stuff. I cannot find datasheet here. Can TI provide datasheet for this boards http://support.spectrumdigital.com/boards/sat0088_0089/ + +Responses: +Hello Swati, These boards are designed by Spectrum Digital, not TI so if you want information about the boards you must contact Spectrum Digital. It looks like these boards use these TI parts: DS90UB913A-Q1 and DS90UB914A-Q1 The datasheets for those parts are here: https://www.ti.com/lit/gpn/DS90UB913A-Q1 https://www.ti.com/lit/gpn/DS90UB914A-Q1 + diff --git a/sample_embedding_folder2/0921827.txt b/sample_embedding_folder2/0921827.txt new file mode 100644 index 0000000000000000000000000000000000000000..0a539b707e8da15009b05a2c78ac0dbaa9fb87a1 --- /dev/null +++ b/sample_embedding_folder2/0921827.txt @@ -0,0 +1,20 @@ +Ticket Name: TDA2SG: TDA2 power supply + +Query Text: +Part Number: TDA2SG Other Parts Discussed in Thread: TDA2 Hi, We are not using the USB function of TDA2 What will happen if we turn off this power supply of TDA2 after the SOC completes the power-on sequence? VDDA33V_USB1 & VDDA33V_USB2 + +Responses: +Hello, You should not turn off that power supply. Turning it off can damage the SoC. Regards, Kyle + +Hi,Kyle Another question: The PMIC power to the MPU through SMPS1 and SMPS2. Under normal circumstances, the port SMPS should continue to output 2MHz switching waveform, but sometimes we find that the switching frequency is stagnant, as shown in the figure : We are worried that this method will affect the RE, so I would like to consult which PMIC registers can be improved or optimized? + +Hello, Where are you probing for that waveform ... can you show both SMPS1 and SMPS2 waveforms separately? Thanks, Kyle + +Hi,Kyle The test points and oscilloscope waveform are as follows: Thanks, + +Hello, That's expected operation. Here is a quote from the PMIC Datasheet: In dual-phase configuration the two interleaved synchronous buck regulator phases with built-in current sharing operate in opposite phase. In triple-phase configuration the three interleaved synchronous buck regulator phases with built-in current sharing operate 120° out of phase. For light loads, the converter automatically changes to 1-phase operation. Regards, Kyle + +Hi,Kyle What kind of damage may occur to SOC? Is it possible that the SOC power consumption is abnormal? Which document describes this content? thanks + +Hello, Can you summarize the background for your question? Are you wanting to intentionally turning off that supply and why? Or is it some type of system fault that leads to that supply turning off? Thanks, Kyle + diff --git a/sample_embedding_folder2/0922199.txt b/sample_embedding_folder2/0922199.txt new file mode 100644 index 0000000000000000000000000000000000000000..cf9224b96dfaa2cc9d1d59480231c0d7b65e1eb5 --- /dev/null +++ b/sample_embedding_folder2/0922199.txt @@ -0,0 +1,32 @@ +Ticket Name: Compiler/TDA2EVM5777: The result display delay when run default TIDL module in VSDK3.07 version + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler HI all, Reproduce Step: based on TDA2 EVM, and VSDK3.07 Linux all system, download the TIDL module and prototxt in https://github.com/tidsp/caffe-jacinto-models/tree/caffe-0.16/trained/object_detection/voc0712/JDetNet/ssd768x320_ds_PSP_dsFac_32_hdDS8_0/sparse. import tools tidl_model_import.out.exe provided in VSDK\ti_components\algorithms\REL.TIDL.01.01.03.00\modules\ti_dl\utils\importTool to genrate net.bin and param.bin. copy above file to SD card. Result: At the beginning of the video (about 30s), there is no object detected. But after 30s, the thing goes right Could you pls help to give some advice for this? Thanks a lot. Best regard, Neo + +Responses: +Hi Neo, May be, it is reading frames from the SD card initially and after 30s, all requires frames are available so it becomes faster.. Regards, Brijesh + +Hi Brijesh, Thanks for your reply. I think the NullSRC -> TIDL is read and process the frame one by one, in before 30s, the display is normal and I can see the video, but dont have the object detection function, just like the TIDL node doen't work, but I'm sure the TIDL is running because I add the log in the TIDL and it print normally. by the way, use the same video source, then replace the TIDL module with the default one in the SDK, instead of download from the Web, all the things is normal. Best regard, Neo + +Hi Neo, When you download from model from web then you need to update below parameters in the “deploy.prototxt” before importing the model, keep_top_k: 20 confidence_threshold: 0.15 Refer to below e2e thread for more details: https://e2e.ti.com/support/processors/f/791/t/689617 Thanks, Praveen + +Hi Praveen, I think I have already done this and this step can be work normally in VSDK_bios_only, but it will appear this issue when I use same step in VSDK_Linux_all. best regard, Neo + +Hi, Can you share with me the Generated model files? I will check behavior in the Bios TIDL use-case. Thanks Gaviraju + +Hi Gaviraju, thanks Gaviraju, pls find my binary as attachment, the solution is 768x320. best regard, Neo binary.7z + +Hi, I'm getting an error when I'm using your model file. The error is [IPU1-0] 19.501128 s: Assertion @ Line: 103 in /adasuser/surya/vsdk_3_8_6/vision_sdk/apps/src/rtos/usecases/common/chains_common_tidl.c: readSize == sizeof(sTIDL_Network_t) : failed !!! [IPU1-0] 19.502165 s: Assertion @ Line: 103 in /adasuser/surya/vsdk_3_8_6/vision_sdk/apps/src/rtos/usecases/common/chains_common_tidl.c: readSize == sizeof(sTIDL_Network_t) : failed !!! The reason for this failure is: number of bytes from your "net_jdetNet0.16_sparse_768x320_113Tool_myLayersGroup.bin" file is not matching sizeof(sTIDL_Network_t) The file "net_jdetNet0.16_sparse_768x320_113Tool_myLayersGroup" contains 483,364 bytes data & this should be 484384 bytes of data The file that I'm using contains 484384 bytes of data. Thanks Gaviraju + +Hi Gaviraju, Sorry for the lately reply, onsite deay. So I understand that this caused by the size, right? and this binary is trans by our import tools, is it possible that this is caused by our import tools? Best regard, Neo + +Hi Neo, Please use latest Vision SDK release 3.8 and TIDL release 01.02 to generate the model files and check? Thanks, Praveen + +Hi Praveen, I am working with Neo dealing with this issue, and I tried to use version 01.02 TIDL tool in VSDK 3.8to generate the model files. However, there is an error happend when running the vision sdk app: /opt/vision_sdk/start_vision_app.sh: line 16: 301 Floating point exception vision_sdk_linux_demo.out. When I use version 01.01.13 tool in VSDK 3.7, this error doesn't come up. Could you have any idea about what the error means? ***By the way, there are some additional remarks for the original issue: At the beginning of the video (about 30s), when I print the score of bounding boxes from tidl_dsp, the value seens really *** (.e.g score = 60015513389750170707702636.718750). Actually this value should be less than 1. Also for the size of the bounding box, the size could be 764x316 when my input image is 768x320 within this 30s, which is totally wrong. Could you tell me some possible reasons for this phenomenon? Thank you, Johnny + +Hi Johnny, Before running the generated model files from import tool in the usecase, could you first check import tool output itself is correct or not ? Import tool also outputs the detected objects in "stats_tool_out.bin" file, please refer to below e2e thread on how to read this output file for visualization .. https://e2e.ti.com/support/processors/f/791/p/679186/2502331#2502331 Thanks, Praveen + +Hi Praveen, Thank you for your suggestion. I have referred to the thread and read the output file for visualization. The output is fine which contains 560 values since the value of top_k I choose is 20. Is there any other possible reason? Thanks, Johhny + +Hi Johhny, You mean to say import tool output is fine but the generated model files (param and net bin file) are not working in the usecase ? If so can you share the model files so that Gaviraju can replicate the issue at our end. Thanks, Praveen + diff --git a/sample_embedding_folder2/0922273.txt b/sample_embedding_folder2/0922273.txt new file mode 100644 index 0000000000000000000000000000000000000000..7cb5c0e30420f0c21b47962074c13767ec1d0c36 --- /dev/null +++ b/sample_embedding_folder2/0922273.txt @@ -0,0 +1,8 @@ +Ticket Name: CCS/TDA2SG: [TDA2] Does an usecase contain IVA H.264 Encode & H.264 Decode Link ? + +Query Text: +Part Number: TDA2SG Tool/software: Code Composer Studio Hi, We have an usecase to encode H.264 video output to network & sometimes receive the H.264 video from network to decode it for display. Do we need to consider anything or any limitation ( such as the encode & decode cannot work simultaneously ) No matter RTOS or Dual OS (RTOS + Linux) Thank you !! Regards, Eten + +Responses: +Hi, You can use encode & decode links simultaneously but the limitation is 1) Both links can support 1080P@30FPS for a single channel. 2) Both links can support 7200P@30FPS for a four-channel. You can go through the following use-case for reference.(In this use-case both links are used) "vision_sdk/apps/src/rtos/usecases/vip_single_cam_view_encdec" Thanks Gaviraju Both links can support 1080P@30FPS for a single channel. + diff --git a/sample_embedding_folder2/0922691.txt b/sample_embedding_folder2/0922691.txt new file mode 100644 index 0000000000000000000000000000000000000000..f13958f7d51914f5d6a8767c9306c58a5c5faced --- /dev/null +++ b/sample_embedding_folder2/0922691.txt @@ -0,0 +1,26 @@ +Ticket Name: TDA2EXEVM: Flashing Utility - mflash: flashing the binary images to QSPI Flash memory using the UART interface for the TDA2xx Boards. + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: X5777BX, X5777BXGABC, TDA2 Hi, We are working flash binary image via UART interface on the TDA2X Vision board. The board information as following: Vision SDK Version : [REL_VISION_SDK_03_07_00_00] FVID2 Version : [FVID_02_01_00_01] BSP Version : [PDK_01_10_03_xx] Platform : [EVM] SOC : [TDA2XX] SOC Revision : [ES2.0] Board Detected : [Vision] EEPROM Board Info Header Mismatch!! Base Board Revision : [REV A] Daughter Card Revision: [REV D] As the user guide of Appnote_mflash (pg#2), we configured the SYSBOOT (SW2 &SW3 ) & BOOT_SWITCH (SW5) switch SW2[0:7], SW4[8:15] to [11001000][10000001] and SW5 to [0000100000] At the same time, I setup a serial connection (115200, 8/Even/1 , no flow control) by Tera term on PC side . But I don't receive any "AL!" chars from UART on TDA2XX board even though power reset for several times. Could you help teach me how to solve the issue ? Thanks. ps. I could burn successfully flash image via ccs. BRs, Sam Hsieh + +Responses: +Hi, The mflash user-guide mentioned "With correct settings, it should continuously display AL! on the TeraTerm for TDA3xx. The printed characters may vary for different platforms." For the TDA2xx platform, it can display anything & when you connect the USB cable from the board to PC, it will show multiple COM ports. So try to connect each COM port & make sure the correct port you are going to use for flashing the images. Thanks Gaviraju + +Hi Gaviraju, Thank you for your feedback. I confirmed that the connection of COM port via USB cable to PC is OK. Even though I add a USB hub between PC and TDA2xx board, the result is same FAIL. BRs, Sam Hsieh + +Hi Gaviraju, As for the connection, we connected TDA2x with PC via UART1 interface (J1 connector). Because the message of boot from SD mode could work fine. The COM port configuration of PC side should be OK. regards, Sam Hsieh + +Hi, I followed the steps mentioned in the user-guide & I saw the below character on the UART console. @D(▒ @▒▒ Can I know which application are you using to view the UART console? I mean TeraTerm or MobaxTerm or Minicom or Putty, etc. I used Mobaxterm & I'm getting expected output in the terminal. So please try with different applications. Thanks Gaviraju @D(▒ @▒▒ + +HI Gaviraju: Could you provide the soc number , I was used x5777BX(TDA2xx), But I can not see the messages(AL!AL!AL!.....) from UART. Thanks, Ethan + +XC5777x TDA2xx + +Hi Gaviraju: Our chip is X5777BXGABC. May be the part number. Can not support the function. Could you track the part number ? Thanks, + +Hi Gaviraju, We used Putty and TeraTerm application to verify it, both the same phenomenon (NG). I don't think which it results from the different application. We are worried about the TDA2XX EVM board doesn't support the feature of mflash due to the micro-code of TDA2XX (X5777BXGABC) is out-of-date. or we made a mistake in the configuration of SYSBOOT (SW2 &SW3 ) & BOOT_SWITCH (SW5). Could you help confirm the following questions ? Thanks. Q1. Does it TDA2XX (X5777BXGABC) support the mflash feature? Q2. Is the DIP SW configuration OK? BRs, Sam Hsieh + +Hi Gaviraju, I uesed mflash to burn my code, TDA2 is crash and hold. [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [PC] Requesting the ASIC ID [RBL]4 [RBL]1 [RBL]5 [RBL]1 [RBL]56 [RBL]41 [RBL]7 [RBL]2 [RBL]13 [RBL]2 [RBL]1 [RBL]0 [RBL]12 [RBL]15 [RBL]1 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]14 [RBL]21 [RBL]1 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [RBL]0 [PC] Requesting PERI_REQ mode [PC] Sending SBL_MFLASH filesize. [PC] Size of sbl_mflash = 69477 [PC] Sending SBL_MFLASH... Please wait [PC] File Size = 69477 [PC] ## [PC] Transfer Complete. Time = 1.000 [PC] Opening port for sbl_mflash. Baud = 12000000 Parity = 0 StopBits = 0 ByteSize = 8 [PC] Opening serial port successful. + +Hi, I will check with my teammate's whether "x5777BX" board will support mflash or not & I will update you soon. The previous issue is resolved? I mean printing the character "AL!" continuously. Basically mflash tool used to flash the images to the QSPI memory & this can be done using CCS & JTAG. So why don't you make use of this method? Thanks Gaviraju + diff --git a/sample_embedding_folder2/0922776.txt b/sample_embedding_folder2/0922776.txt new file mode 100644 index 0000000000000000000000000000000000000000..6b081e9174f533d0788269a3fc941b5abbdb290c --- /dev/null +++ b/sample_embedding_folder2/0922776.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2SA: How to save multi-cam videos to files? + +Query Text: +Part Number: TDA2SA Hi, My custom board is tda2xx and use VSDK3.07 running on linux. I want to capture 2 cameras and save the frames to SD card. The similar usecase is : lvds_vip_multi_cam_vpe_enc_null After test this usecase, I always only get one file that have frame in it. The other file is empty. I'm sure the 2nd lvds camera have data in. the multi cam usecase link is: Capture -> VPE -> Encode -> Null (A15) I got the null link in vision_sdk/links_fw/src/hlos/links_a15/null/nullLink_tsk.c if (pObj->createArgs.dumpDataType == NULL_LINK_COPY_TYPE_FILE) { /* File Write enabled for channels only from first inputQ (Q0) */ for (chId=0; chIdinQueInfo[0].numCh; chId++) { Vps_printf(" NULL LINK: Opening file for Dump \n"); pObj->fpDataStream[chId] = fopen((char *)pObj->createArgs.nameDataFile[chId], "wb"); OSA_assert(pObj->fpDataStream[chId] != NULL); Vps_printf(" NULL LINK: Opened file for Dump \n"); } } Does it mean only one camera could save to file? Please help me to store multi camera videos to files. Thanks. + +Responses: +Hi, Have done the proper Null link configuration in the use-case? I'm expecting the below changes in the use-case. Example: pUcObj->NullPrm.dumpDataType = NULL_LINK_COPY_TYPE_BITSTREAM_FILE; strncpy(pUcObj->NullPrm.nameDataFile[0], "/home/stream0.mpeg", 260U); strncpy(pUcObj->NullPrm.nameDataFile[1], "/home/stream1.mpeg", 260U); strncpy(pUcObj->NullPrm.nameDataFile[2], "/home/stream2.mpeg", 260U); strncpy(pUcObj->NullPrm.nameDataFile[3], "/home/stream3.mpeg", 260U); Thanks Gaviraju + +Hi Gaviraju, I have check this usecase on D3 platform and it can store multi videos files. Thanks. Terry + diff --git a/sample_embedding_folder2/0923405.txt b/sample_embedding_folder2/0923405.txt new file mode 100644 index 0000000000000000000000000000000000000000..a1ca9a31434ee0edb8a3b4f0f51a228da52d9911 --- /dev/null +++ b/sample_embedding_folder2/0923405.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2P-ACD: MIPI CSI Internal termination + +Query Text: +Part Number: TDA2P-ACD Hi, We need quick information with respect to TDA2Px, In SoC, there will be single 4-lane MIPI CSI and single 2 lane MIPI. But the internal termination details are not available in documents. Could you please help me for the termination, we need to take care of externally? Warm regards, Alwin Mathew + +Responses: +Hi Alwin, I am checking with our board design team. Looking at our board designs, it would appear termination is not required. The traces CSI-2 differential pairs do require 100ohm differential impedance. The receiver input impedance spec is found in Table 5-9. LVCMOS CSI2 DC Electrical Characteristics of the data sheet. Regards, Mike + +Hi Alwin, The processor already has built-in termination, so all you need to do is implement your layout and PCB stackup to maintain the 100-ohm differential impedance. Regards, Mike + diff --git a/sample_embedding_folder2/0923809.txt b/sample_embedding_folder2/0923809.txt new file mode 100644 index 0000000000000000000000000000000000000000..fcc6795c5c59b9f288fd5a290d531d10c96d6331 --- /dev/null +++ b/sample_embedding_folder2/0923809.txt @@ -0,0 +1,10 @@ +Ticket Name: Compiler/TDA2PXEVM: TDA2PX DCAN configuration + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler Hi TI team, I am trying to send and receive CAN data wit DCAN module but there is some issues I am facing. Vision sdk : PROCESSOR_SDK_VISION_03_07_00_00(BIOS) Hardware : TDA2PX-ACD EVM customer board. I have set 'DCAN_INCLUDE=yes' in file 'PROCESSOR_SDK_VISION_03_07_00_00\vision_sdk\apps\configs\tda2px_evm_bios_all\cfg.mk' and compiled. I also changed the pinmux refer to this link https://e2e.ti.com/support/processors/f/791/t/893425 ,we can find those register value as below information and I tried two cases to confirm DCAN state: 1.#define ENABLE_B2B_DCAN_TEST (1U) in file "PROCESSOR_SDK_VISION_03_07_00_00\vision_sdk\apps\src\rtos\modules\dcan\system_dcan.c" I can not find any CAN data TDA send to bus and we failed to send CAN data to TDA , register value as below: " [HOST ] 71.383639 s: CTRL_CORE_PAD_DCAN1_TX Reg: 60000 [HOST ] 71.383639 s: CTRL_CORE_PAD_DCAN1_RX Reg: 60000 [HOST ] 71.383639 s: CM_WKUPAON_DCAN1_CLKCTRL Reg: 2 [HOST ] 71.383669 s: DCAN_CTL Reg: 21420 [HOST ] 71.383669 s: DCAN_ES Reg: 7 [HOST ] 71.383669 s: DCAN_TEST Reg: 0 [HOST ] 71.383700 s: GPIO1 Reg: 50602001 [HOST ] 71.383700 s: CTRL_CORE_CONTROL_SPARE_RW Reg: 0 " 2.#define ENABLE_B2B_DCAN_TEST (0U) in file "PROCESSOR_SDK_VISION_03_07_00_00\vision_sdk\apps\src\rtos\modules\dcan\system_dcan.c" I can receive CAN message followed TDA configuration but can not send CAN data to TDA. " [HOST ] 11.385408 s: CTRL_CORE_PAD_DCAN1_TX Reg: 60000 [HOST ] 11.385408 s: CTRL_CORE_PAD_DCAN1_RX Reg: 60000 [HOST ] 11.385408 s: CM_WKUPAON_DCAN1_CLKCTRL Reg: 2 [HOST ] 11.385438 s: DCAN_CTL Reg: 214A0 [HOST ] 11.385438 s: DCAN_ES Reg: 8 [HOST ] 11.385438 s: DCAN_TEST Reg: 100 [HOST ] 11.385469 s: GPIO1 Reg: 50602001 [HOST ] 11.385469 s: CTRL_CORE_CONTROL_SPARE_RW Reg: 0 " according above two cases , I think TX pin configuration is done and RX pin looks not good , but I can not find where is the root cause . I am not sure above modification are sufficient. could you please help me to look into this issue and give me a bit of advice ? by the way , I tested those two cased on develop board which from TI and it shown me same issue. Thanks a lot. Best Regards. Lan. + +Responses: +Hi, Can you please set '#define ENABLE_B2B_DCAN_TEST (1U) ' and send a message from TDA? Once the message is sent (successful/unsuccessful), please send me the DCAN register dump. While doing the above, please make sure that solution from 'https://e2e.ti.com/support/processors/f/791/t/893425' is applied. Thanks & Regards, Vivek Dhande. Texas Instruments (India) Pvt Ltd + +Hi Vivek, Thanks for your reply. We updated out soc to TDA4 and stopped developing on TDA2. anyway , thanks for your reply. Best regards. Lan. + diff --git a/sample_embedding_folder2/0923873.txt b/sample_embedding_folder2/0923873.txt new file mode 100644 index 0000000000000000000000000000000000000000..403447dfdf74e812f38f8dc36158ec23acacc394 --- /dev/null +++ b/sample_embedding_folder2/0923873.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2E: How to change display resolution dynamically at run time? + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2 We use TDA2. We want to change display resolution dynamically at run time. How can I do ? + +Responses: +Hi, Do you mean to change DSS output resolution or input resolution? Typically output resolution cannot be changed, you will need to stop display and then only it can be chagned.. Input resolution can be changed, you just need to call driver ioctl SET_DSS_PARAMS to change input resolutions.. Rgds, Brijesh + +Hi Brijesh: We want to change DSS output resolution at run time. My step: 1. DisplayLink_drvStop(pObj); 2. change dssPrms->tarHeight parameter and then call FVID2_control API. FVID2_control( pObj->displayHndl, IOCTL_VPS_DISP_SET_DSS_PARAMS, &pObj->dssPrms, NULL); 3. DisplayLink_drvStart(pObj); And display will not work normally. How can I solve it? Joe + +Hi Joe, This does not change output resolution from DSS, ie LCD output resolution. This just restarts the pipeline, also please note that target resolution is not the output resolution from LCD. it is output resolution of this pipeline on the overlay manager.. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0924718.txt b/sample_embedding_folder2/0924718.txt new file mode 100644 index 0000000000000000000000000000000000000000..69dea9999b48835f035568e6d5c238d0f089156c --- /dev/null +++ b/sample_embedding_folder2/0924718.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2EVM5777: TDA2EVM5777 + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hi Everyone, Could any one please help me in understanding what is the Machine learning framework used by the Linux TIDL image classification demo. + +Responses: +Hi, The image classification models in the demo are trained using Caffe-Jacinto framework and they are available in the below GitHub repository. https://github.com/tidsp/caffe-jacinto-models/tree/caffe-0.16/trained/image_classification/imagenet_jacintonet11v2 Thanks, Praveen + +Hi Praveen, Currently I am using psdk_rtos_auto_j7_06_02_00_21 package, Could you please located the where to refer image classification demo using cafe jacinto and also provide me a documentation link to understand it better if you have some. + +Hi, Do you want demos for TDA2 or TDA4 device because thread subject says TDA2 but you are using J7 (TDA4) package ? Thanks, Praveen + +Hi Praveen, Thanks for the reply. I want a TIDL image classification demo for TDA4 J7, Did you have any demo source and build instructions available with you? Currently I could not able to understand the demo source structure but only be able to run the image classification demo over Linux boot and invoking the demo using a the script. But could not able to understand what is the deep learning framework model used i.e; caffe jacinto or tensor flow, how it is getting imported etc. The main requirement of mine to develop and train a deep learning model using TIDL which senses numbers from 0 to 100. + +Hi, You can refer following documentation : http://downloads.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/psdk_rtos_auto/docs/user_guide/developer_notes_tidl.html?highlight=demo Regards, Anshu + diff --git a/sample_embedding_folder2/0924901.txt b/sample_embedding_folder2/0924901.txt new file mode 100644 index 0000000000000000000000000000000000000000..4d2c92109a7fb1227520e2186bb8b47c6cd48db2 --- /dev/null +++ b/sample_embedding_folder2/0924901.txt @@ -0,0 +1,8 @@ +Ticket Name: CCS/TDA2SX: NDK helloWorld example + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Tool/software: Code Composer Studio Hi, TI experts! I want to run NDK helloWorld example on TDA2 custom board. I found the example on path: PROCESSOR_SDK_RADAR_03_08_00_00\ti_components\networking\nsp_gmacsw_4_16_01_01\packages\ti\ndk\tda3xx\examples_ipu1\helloWorld. I sucessfully builded this example and tried to run it on TDA2 custom board on IPU1_0 core. Example was run but in ccs console i can't found any messages with ip adress, mac or any error. What could be my mistake? How can i change correctly this example for my custom board? + +Responses: +Also I tried another example from: PROCESSOR_SDK_RADAR_03_08_00_00\ti_components\networking\nsp_gmacsw_4_16_01_01\packages\ti\ndk\vayu\examples_ipu1\helloWorld I run it on EVM5777 board and still nothing on the ccs console. + diff --git a/sample_embedding_folder2/0925940.txt b/sample_embedding_folder2/0925940.txt new file mode 100644 index 0000000000000000000000000000000000000000..12346e5ac6daaa78f4b4753cf6ee0a88fc38272d --- /dev/null +++ b/sample_embedding_folder2/0925940.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2SX: Why is the header file name and type of this reference different from that of your demo? + +Query Text: +Part Number: TDA2SX Why is the reference header file name and type different from demo? I used the gentool you provided to generate this file (errors are reported at compile time and can only be compiled after manually changing it to be the same as your file). What is the reason for this? This is your demo. This is automatically generated by gentool. The compiler will report errors. SDK is th V3.06 and path is "vision_sdk\apps\src\hlos\adas\src\usecases\vip_single_cam_opencvcanny_sgx_display". + +Responses: +Hi, I have forwarded your question to respective team and they will reply here. Thanks, Praveen + +Hi, Thanks for the update. The auto-generation tool is not updated & you can update the "link.cpp" then rebuild the code to get an updated auto-generation tool. Thanks Gaviraju + +After I update gentool, the compiled code will prompt you about the use error of OpenCV library. After consulting the forum, it seems that opencv is not supported. If opencv is not supported by sdk v3.06, I will not enable opencv's usecase in the future.Would you like to confirm it with you? + +Yes, openCV & OpenCL is deprecated from vision SDK Thanks Gaviraju + diff --git a/sample_embedding_folder2/0926449.txt b/sample_embedding_folder2/0926449.txt new file mode 100644 index 0000000000000000000000000000000000000000..5124b692527abac0d73f8598014bbfd749255edb --- /dev/null +++ b/sample_embedding_folder2/0926449.txt @@ -0,0 +1,159 @@ +Ticket Name: TDA2PXEVM: Running the script causes increase in tmp directory + +Query Text: +Part Number: TDA2PXEVM Hi Team, I am working on vsionSDK v3.07 and have been running the apps.out from a script, as follows, cd /opt/vision_sdk +./vision_sdk_load.sh > log.txt +./apps.out > log.txt But the above approach caused a lot of distortion in the video we were running the usecase Please Note: Manual running of usecase did'nt cause that distortion But I got it resolved on implementing the script from the link, https://e2e.ti.com/support/processors/f/791/t/718464?Linux-TDA2-How-to-run-demo-program-apps-out-automatically-after-boot-up- as follows, echo "Inside the script" > /tmp/vsdk.log +cd /opt/vision_sdk +./vision_sdk_load.sh >> /tmp/vsdk.log +./apps.out >> /tmp/vsdk.log But the main thing to note is, in the long run of the apps.out, the tmp directory size increases drastically.Shouldnt that be causing a lot of memory taken up by it ?? What can we do about it ? Regards, Padmesh + +Responses: +Hi Padmesh, Is your apps.out continuously printing messages? Typically in vision sdk, messages are printed when you press 'p' on the console. Otherwise there are no prints, once the usecase starts.. Yes, if you are continuously printing messages and saving into a file, it will eventually run out of memory and will exit. Rgds, Brijesh + +Hi Brijesh, Yes the only log that we see when apps.out run is this, done = FALSE; + while (!done) + { + ch = '1'; + ch = Chains_menuRunTime(); + switch (ch) + { + case '0': + done = TRUE; + break; + + case 'p': + case 'P': + ChainsCommon_PrintStatistics(); + CustomAPP_printStatistics(&chainsObj.ucObj); + break; + default: + Vps_printf("\nUnsupported option '%c'. Please try again\n", ch); + break; + } + } + + CustomAPP_StopAndDeleteApp(&chainsObj); That is when the apps.out is run manually, the prompt stops and displays the above print only once, waiting for an input so that it can either stop the chain or print statistics. as below, [HOST] [EVE1 ] 6.426737 s: SYSTEM: Heap = LOCAL_L2 @ 0x40020000, Total size = 22528 B (22 KB), Free size = 22528 B (22 KB) + [HOST] [EVE1 ] 6.427316 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 258632 B (252) + [HOST] [IPU2 ] 6.428109 s: SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1023 + [HOST] [IPU2 ] 6.428231 s: SYSTEM: Heap = LOCAL_DDR @ 0x00000000, Total size = 262144 B (256 KB), Free size = 250496 B (244) + [HOST] [IPU2 ] 6.428384 s: SYSTEM: Heap = SR_OCMC @ 0x00000000, Total size = 0 B (0 KB), Free size = 0 B (0 KB) + [HOST] [IPU2 ] 6.428567 s: SYSTEM: Heap = SR_DDR_CACHED @ 0x84203000, Total size = 264241152 B (252 MB), Free size = 76151808 B) + [HOST] [IPU2 ] 6.428750 s: SYSTEM: Heap = SR_DDR_NON_CACHED @ 0xa0100000, Total size = 1046912 B (0 MB), Free size = 1019264 B (0 M) + [HOST] [IPU2 ] 6.429146 s: DISPLAY: Start in progress !!! + [HOST] [IPU2 ] 6.429207 s: DISPLAY: Start Done !!! + [HOST] [HOST ] 6.436954 s: SGXFRMCPY: Start in progress !!! + [HOST] [HOST ] 6.436954 s: SGXFRMCPY: Start Done !!! + [HOST] [HOST ] 6.438998 s: + [HOST] [HOST ] + [HOST] [HOST ] ==================== + [HOST] [HOST ] Chains Run-time Menu + [HOST] [HOST ] ==================== + [HOST] [HOST ] + [HOST] [HOST ] 0: Stop Chain + [HOST] [HOST ] + [HOST] [HOST ] p: Print Performance Statistics + [HOST] [HOST ] + [HOST] [HOST ] Enter Choice: But when the service is started and prints are pointed to ./apps.out >> /tmp/vsdk.log, shouldnt is necessarily stop at the log but we get it continuously as follows, [HOST] [IPU2 ] 6.428750 s: SYSTEM: Heap = SR_DDR_NON_CACHED @ 0xa0100000, Total size = 1046912 B (0 MB), Free size = 1019264 B (0 M) + [HOST] [IPU2 ] 6.429146 s: DISPLAY: Start in progress !!! + [HOST] [IPU2 ] 6.429207 s: DISPLAY: Start Done !!! + [HOST] [HOST ] 6.436954 s: SGXFRMCPY: Start in progress !!! + [HOST] [HOST ] 6.436954 s: SGXFRMCPY: Start Done !!! + [HOST] [HOST ] 6.438998 s: + [HOST] [HOST ] + [HOST] [HOST ] ==================== + [HOST] [HOST ] Chains Run-time Menu + [HOST] [HOST ] ==================== + [HOST] [HOST ] + [HOST] [HOST ] 0: Stop Chain + [HOST] [HOST ] + [HOST] [HOST ] p: Print Performance Statistics + [HOST] [HOST ] + [HOST] [HOST ] Enter Choice: + [HOST] [HOST ] + [HOST] [HOST ] 6.439028 s: + [HOST] [HOST ] Unsupported option ' + [HOST] [HOST ] '. Please try again + [HOST] [HOST ] 6.439028 s: + [HOST] [HOST ] + [HOST] [HOST ] ==================== + [HOST] [HOST ] Chains Run-time Menu + [HOST] [HOST ] ==================== + [HOST] [HOST ] + [HOST] [HOST ] 0: Stop Chain + [HOST] [HOST ] + [HOST] [HOST ] p: Print Performance Statistics + [HOST] [HOST ] + [HOST] [HOST ] Enter Choice: + [HOST] [HOST ] + [HOST] [HOST ] 6.439028 s: + [HOST] [HOST ] Unsupported option ' + [HOST] [HOST ] '. Please try again + [HOST] [HOST ] 6.439059 s: + [HOST] [HOST ] + [HOST] [HOST ] ==================== + [HOST] [HOST ] Chains Run-time Menu + [HOST] [HOST ] ==================== + [HOST] [HOST ] + [HOST] [HOST ] 0: Stop Chain + [HOST] [HOST ] + [HOST] [HOST ] p: Print Performance Statistics + [HOST] [HOST ] + [HOST] [HOST ] Enter Choice: + [HOST] [HOST ] + [HOST] [HOST ] 6.439059 s: + [HOST] [HOST ] Unsupported option ' + [HOST] [HOST ] '. Please try again + [HOST] [HOST ] 6.439059 s: + [HOST] [HOST ] + [HOST] [HOST ] ==================== + [HOST] [HOST ] Chains Run-time Menu + [HOST] [HOST ] ==================== + [HOST] [HOST ] + [HOST] [HOST ] 0: Stop Chain + [HOST] [HOST ] + [HOST] [HOST ] p: Print Performance Statistics + [HOST] [HOST ] + [HOST] [HOST ] Enter Choice: + [HOST] [HOST ] + [HOST] [HOST ] 6.439059 s: + [HOST] [HOST ] Unsupported option ' + [HOST] [HOST ] '. Please try again + [HOST] [HOST ] 6.439059 s: + [HOST] [HOST ] + [HOST] [HOST ] ==================== + [HOST] [HOST ] Chains Run-time Menu + [HOST] [HOST ] ==================== + [HOST] [HOST ] + [HOST] [HOST ] 0: Stop Chain + [HOST] [HOST ] + [HOST] [HOST ] p: Print Performance Statistics + [HOST] [HOST ] + [HOST] [HOST ] Enter Choice: + [HOST] [HOST ] + [HOST] [HOST ] 6.439059 s: + [HOST] [HOST ] Unsupported option ' + [HOST] [HOST ] '. Please try again + [HOST] [HOST ] 6.439059 s: + [HOST] [HOST ] + [HOST] [HOST ] ==================== + [HOST] [HOST ] Chains Run-time Menu + [HOST] [HOST ] ==================== + [HOST] [HOST ] + [HOST] [HOST ] 0: Stop Chain + [HOST] [HOST ] + [HOST] [HOST ] p: Print Performance Statistics + [HOST] [HOST ] + [HOST] [HOST ] Enter Choice: + [HOST] [HOST ] + [HOST] [HOST ] 6.439089 s: + [HOST] [HOST ] Unsupported option ' + [HOST] [HOST ] '. Please try again + [HOST] [HOST ] 6.439089 s: + [HOST] [HOST ] + [HOST] [HOST ] ==================== + [HOST] [HOST ] Chains Run-time Menu + [HOST] [HOST ] ==================== Regards, Padmesh + +Padmesh, getChar should not be redirected to a file. What is the purpose of saving logs in the file? If you want to save into a file, you could remove getchar.. Rgds, Brijesh + diff --git a/sample_embedding_folder2/0926717.txt b/sample_embedding_folder2/0926717.txt new file mode 100644 index 0000000000000000000000000000000000000000..eff8fbb3a6d3d924cdb7461ec01f976f354a6606 --- /dev/null +++ b/sample_embedding_folder2/0926717.txt @@ -0,0 +1,8 @@ +Ticket Name: CCS/TDA2EVM5777: CCS/TDAEVM577 + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Tool/software: Code Composer Studio Hi export: How to update software via USB. Thanks, + +Responses: +Hi Jemy, Can you please add details on what is the question here? What SW is it that you need to update? Is it flashing/loading SW to the TDA2 EVM? Regards, Karan + diff --git a/sample_embedding_folder2/0927002.txt b/sample_embedding_folder2/0927002.txt new file mode 100644 index 0000000000000000000000000000000000000000..2f24cef310f244b1a07d04c73ceda7942d38bc42 --- /dev/null +++ b/sample_embedding_folder2/0927002.txt @@ -0,0 +1,12 @@ +Ticket Name: Compiler/TDA2SG: TDA4 UBOOT is compatibility the TDA2S UBOOT + +Query Text: +Part Number: TDA2SG Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler Hi, can I use TDA4 UBOOT replace the TDA2S UBOOT + +Responses: +Hi Zhangsc, The UBOOT for TDA2S will not have support for TDA4 SoCs. Regards, Karan + +Hi Zhangsc, TDA2 had just MLO(SPL) & u-boot.img both running on A15. TDA4 has tiboot3.bin which contains R5 SPL followed by tispl.bin which is the A72 SPL and finally u-boot.img which is A72 u-boot. So as Karan responded they are entirely different. Best Regards, Keerthy + +what is the version of the uboot thanks. + diff --git a/sample_embedding_folder2/0927124.txt b/sample_embedding_folder2/0927124.txt new file mode 100644 index 0000000000000000000000000000000000000000..6223fbc6449fa2635ae03ac1d8acdc8e2acb10ee --- /dev/null +++ b/sample_embedding_folder2/0927124.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2E: TDA2x Lane detection algorithm + +Query Text: +Part Number: TDA2E 1.We call the API lane detect to draw the lane.The draw lane seems doesn't coincide with the actual lane but cross. So Is that a question of algorithm itself or icalling parameters? How to fix it? 2.And we found Lane detection algorithe call the api AlgIvision,but we can't see this api's defination. So is there any references about it?Can it be modified? Thanks! + +Responses: +Hi, Can you please add details on which SDK you are using? Regards, Karan + +Hi Our VSDK version is 3.06 and Lane detection version is 00.02.03.00. + +Hi, The algorithm source code is not available in the vision-SDK & we used the library. The line detection demo use-case is already available in the vision SDK, so why don't you make use of it instead of creating your own use-case? use-case path: vision_sdk/apps/src/rtos/usecases/vip_single_cam_lane_detection Thanks Gaviraju + diff --git a/sample_embedding_folder2/0927505.txt b/sample_embedding_folder2/0927505.txt new file mode 100644 index 0000000000000000000000000000000000000000..3d130474fc696283dfea7bec85b86e75d121568d --- /dev/null +++ b/sample_embedding_folder2/0927505.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2EXEVM: How to use ACF+Adaboost related API for inference in TDA2? + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2 Hi, I have referred to "github.com/.../acf-jacinto" and trained a FaceDetection cascade model using Matlab. So next how could I used the generated model to do the reference in TDA2? Is there any usecase (.e.g using this method for object detection) provided by Vision SDK so that I could refer to it? Thank you! + +Responses: +Hi, I will check with TIDL team & get back. Thanks Gaviraju + +Hi Gaviraju, Thank you and look forward to your reply! + +Hi, Please refer to the below demo use-case for reference. vision_sdk\apps\src\rtos\usecases\tidl vision_sdk\apps\src\rtos\usecases\tidl_OD vision_sdk\apps\src\rtos\usecases\semSeg file: vision_sdk/docs/FeatureSpecificUserGuides/VisionSDK_UserGuide_TI_DeepLearning.pdf Thanks Gaviraju + diff --git a/sample_embedding_folder2/0927924.txt b/sample_embedding_folder2/0927924.txt new file mode 100644 index 0000000000000000000000000000000000000000..2eafb863ba96c9cbafdcd69a8800ec7cade67cb8 --- /dev/null +++ b/sample_embedding_folder2/0927924.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2EG-17: TDA2E How to find the UUID of TDA2x + +Query Text: +Part Number: TDA2EG-17 Other Parts Discussed in Thread: TDA2 hi.master Do tda2x and tda4x have UUID? How to find the UUID of TDA2x ?How to get tda4x TDA2x UUID? Is the UUID of each SOC unique? + +Responses: +Hello, Yes, the TDA2x and TDA4x have a unique "DIE ID". This is described in the TRM Table 1-2. DIE_ID. Regards, Kyle + +Hello, How to read tda4x/tda2x TDA2x DIE ID in linux? + +Hi, devmem2 0x4AE0C200 w Should give you the die-id for tda2.in Linux. As suggested by Kyle refer to the section for the physical address and use devmem2 tool in Linux to read physical address. Best Regards, Keerthy + diff --git a/sample_embedding_folder2/0928169.txt b/sample_embedding_folder2/0928169.txt new file mode 100644 index 0000000000000000000000000000000000000000..b0a4bcb6d346862f0bf150b2c3130717b8e31eaa --- /dev/null +++ b/sample_embedding_folder2/0928169.txt @@ -0,0 +1,14 @@ +Ticket Name: TIDEP-01017: An error occurred when the number of sample points was set to 512 [ cascade_radar_beam_form] + +Query Text: +Part Number: TIDEP-01017 In the example of Cascade_radar_beam_form, the following error occurred when modifying the Chirp parameter to set the sample points to 512 [IPU1-0] 14.243518 S: CAPTDRv/SRC/VPSDRV_capturecore.c@line 643: [IPU1-0] 14.243610 s: Core control: Set Max Frame Size failed [IPU1-0] 14.243701 S: Line: 395 in capturelink_drV. C: Status == FVID2_SOK: Failed!! The setting of sample points to 511 can be set successfully, I have read the documentation and forums and mentioned that the maximum number of sample points is 512, and why the example of Cascade_radar_beam_Form sets the sample points to 255 instead of 256, and The example of Cascade_radar_object_detect to 256 However, with the same configuration parameters, I used mmWavestduio to configure successfully and collect ADC data + +Responses: +Hello, As you mentioned the maximum number of sample points is 512, i.e starting from 0 to 511 (Total count = 512). Similar is the case with 256 sample points as well. The parameters start from 0 and hence end at 255 or 511, making the count as 256 or 512 respectively. Let us know if you have more questions. Thanks! Regards, Ishita + +Hi Ishita , First of all, thank you for your answer. But I'm a little confused by your answers and the comments on the code, which are as follows: It is explained in the annotation that the maximum number of sampling points for Chirp is 1024. If the number of sampling points is 1024, the actual configuration should also be 1024. Due to the limitation of FPGA in TDA2-DSP, the maximum width is 512, so the maximum can only be configured with 512. In addition, Bsp_ar12xxGetWidthHeight(UInt32 deviceId, UInt32 *width, UInt32 *height) is calculated with metaDataLen included when calculating the width size. The length of metaDataLen is exactly equal to a sampling point (metaDataLen = 2U * numRxAntenna), the metaData data is CP (Chirp Parameter information), if so, it can be understood that the maximum number of points can only be 511.But using mmWavestudio is configurable to 512 points and frame data may not contain CP data, so where can the example Cascade_radar_beam_form modification be without CP Thanks and Regards + +Please change this code in radar\src\common\chains_common_cascade_ar12xx_config_bf.c file gAr12xx_bf_config_master{ .transferFmtPkt0 = (rlUInt8_t) 6, /* change this to '1' for ADC only instead of CP_ADC_DATA */ Same for slave configuration (gAr12xx_bf_config_slave_DevIdxMap2) Regards, Jitendra + +hi Jitendra, Your answer has solved my problem, Thank you very much. Regards, CSBoy + diff --git a/sample_embedding_folder2/0929050.txt b/sample_embedding_folder2/0929050.txt new file mode 100644 index 0000000000000000000000000000000000000000..a24b42a0c969eb51ee86dc088dad7f86def50a4e --- /dev/null +++ b/sample_embedding_folder2/0929050.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: caffe model compression and quantition + +Query Text: +Part Number: TDA2SX whether the TDA2S importTool can process the NCNN converted caffe model files + +Responses: +Hi, No, it won't support. Please refer to "TI Deep learning Library Datasheet" for supported model types and supported layers. Thanks, Praveen + diff --git a/sample_embedding_folder2/0929363.txt b/sample_embedding_folder2/0929363.txt new file mode 100644 index 0000000000000000000000000000000000000000..17ab9b5334445afe6558107fb78009b406be4604 --- /dev/null +++ b/sample_embedding_folder2/0929363.txt @@ -0,0 +1,12 @@ +Ticket Name: CCS/TDA2EVM5777: CCS/TDAEVM577 suspend/ wakeup + +Query Text: +Part Number: TDA2EVM5777 Tool/software: Code Composer Studio Hi export: My production is base on battery power. I had see the https://e2e.ti.com/support/processors/f/791/t/682517?TDA2-Power-management-LPM-standby-and-wakeup-support-for-TDA2XX docutment, But I am not clear to merge the code into my code. Could you more clear to implement the function. I am use PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk. Thanks, Jemy + +Responses: +Jemy, CPU Idle is enabled by default in Vision SDK. In the idle task, CPU clock will be idled. This is power management provided in Vision SDK. Regards, Stanley + +Stanley: I can not find how to into suspend & wakeup programing point. Could more detail for this. prefer have a same code. Thanks, + +We don't have the support for suspend / wakeup in PM SW in Vision SDK. The lowest power state we support is CPU idle. For CPU idle, you can refer to ~/ti_components/drivers/pdk_xx_xx_xx/packages/ti/drv/pm/examples/cpuidle. Regards, Stanley + diff --git a/sample_embedding_folder2/0929371.txt b/sample_embedding_folder2/0929371.txt new file mode 100644 index 0000000000000000000000000000000000000000..bb46ebb68666f06f93f18793a58b0d3f72b9113f --- /dev/null +++ b/sample_embedding_folder2/0929371.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2HG: How many eves available in TDA2HG? + +Query Text: +Part Number: TDA2HG Hi One question puzzles me that how many eves are available in TDA2hg series? I found 4 eves availabe in TDA2xx and only 2eves availabe in TDA2hg from VisionSDK_data_sheet. However,4 eves defined when creating own usecase.when i check cpu load information,every eve's utilization over 75%. So,whether there is overclocking if there are only 2 eves? + +Responses: +Hi, Only 2 EVE is available in the TDA2HG. Can you share the custom use-case chain? Thanks Gaviraju + +Hi here is the chain: Defination: /* TIDL on EVE1 */ pUcObj->Alg_tidl_Eve1Prm.cacheInvInBuf = 0; pUcObj->Alg_tidl_Eve1Prm.cacheWbOutBuf = 0; pUcObj->Alg_tidl_Eve1Prm.pAlgCreateParams = pObj->pAlgCreateParams; pUcObj->Alg_tidl_Eve1Prm.curCoreId = TIDL_COREID_EVE1; pUcObj->Alg_tidl_Eve1Prm.currLayersGroupId = TIDL_LAYER_GROUPID_EVE1; pUcObj->Alg_tidl_Eve1Prm.ocmcAddr = OCMC_3_BASE_ADDRESS; #endif /* TIDL on EVE2 */ pUcObj->Alg_tidl_Eve2Prm.cacheInvInBuf = 0; pUcObj->Alg_tidl_Eve2Prm.cacheWbOutBuf = 0; pUcObj->Alg_tidl_Eve2Prm.pAlgCreateParams = pObj->pAlgCreateParams; pUcObj->Alg_tidl_Eve2Prm.curCoreId = TIDL_COREID_EVE2; pUcObj->Alg_tidl_Eve2Prm.currLayersGroupId = TIDL_LAYER_GROUPID_EVE2; pUcObj->Alg_tidl_Eve2Prm.ocmcAddr = OCMC_3_BASE_ADDRESS;//OCMC_3_BASE_ADDRESS + (OCMC_3_SIZE/2); pUcObj->Alg_tidl_Eve2Prm.ocmcAddr = OCMC_3_BASE_ADDRESS + (OCMC_3_SIZE/2); /* TIDL on EVE3 */ pUcObj->Alg_tidl_Eve3Prm.cacheInvInBuf = 0; pUcObj->Alg_tidl_Eve3Prm.cacheWbOutBuf = 0; pUcObj->Alg_tidl_Eve3Prm.pAlgCreateParams = pObj->pAlgCreateParams; pUcObj->Alg_tidl_Eve3Prm.curCoreId = TIDL_COREID_EVE3; pUcObj->Alg_tidl_Eve3Prm.currLayersGroupId = TIDL_LAYER_GROUPID_EVE3; pUcObj->Alg_tidl_Eve3Prm.ocmcAddr = OCMC_1_BASE_ADDRESS; /* TIDL on EVE4 */ pUcObj->Alg_tidl_Eve4Prm.cacheInvInBuf = 0; pUcObj->Alg_tidl_Eve4Prm.cacheWbOutBuf = 0; pUcObj->Alg_tidl_Eve4Prm.pAlgCreateParams = pObj->pAlgCreateParams; pUcObj->Alg_tidl_Eve4Prm.curCoreId = TIDL_COREID_EVE4; pUcObj->Alg_tidl_Eve4Prm.currLayersGroupId = TIDL_LAYER_GROUPID_EVE4; pUcObj->Alg_tidl_Eve4Prm.ocmcAddr = OCMC_2_BASE_ADDRESS; + +Hi, This is expected output & when we run default TIDL_OD use-case in TDA2XX platform having 4 EVE core, we can see the 90% of CPU Load with below configuration inputWidth=768 inputHeight=320 inputFile=inData_OD inputHDRFile=inHeader_OD netFileName=tidl_net_jdetNet_ssd.bin paramFileName=tidl_param_jdetNet_ssd.bin fps=30 threshold=0.3 Thanks Gaviraju + +Hi I got it. Thaks a lot . Z.Y Wang + diff --git a/sample_embedding_folder2/0929511.txt b/sample_embedding_folder2/0929511.txt new file mode 100644 index 0000000000000000000000000000000000000000..8d2bdc9a56dff446f300ccacb2bac20bb8177b30 --- /dev/null +++ b/sample_embedding_folder2/0929511.txt @@ -0,0 +1,18 @@ +Ticket Name: TDA2SX: How to config DSS Vout1 output BT656 YUV422 8bit? + +Query Text: +Part Number: TDA2SX Dear TI, On our custom board, we need to output BT656 YUV422 8-bit signal from Vout1 port. And we tried to config the software as attached file. The right signal can't be output via Vout1 port. The pixel clock seems incorrect, and the HDMI monitor no signal display. Could you please help check this issue asap? Thank you very much! Thanks & Best Regards! wxHow to config DSS output BT656 YUV422 8bit.pdf + +Responses: +Hi Wade, I think first you need to check why pixel clock is not correct. are you setting correctly in the application? How much is it different when you measured it? Also for which resolution, are you trying to enable BT656 output? Rgds, Brijesh + +Dear Brijesh, Thanks for you quickly response. More detail info please see the attached file. Current issue is, when we set the pixel clock to 74.25MHz in BT656 mode, the dss driver will throw out error. Thanks wx + +Hi Wade, But which PLL and which LCD output are you using? What error is it returning? Can you share part of code? Rgds, Brijesh + +Hi Brijesh, We had fixed this issue, it is case by two reason. One is the LCD is not support 720p30 signal input. Another is the output timing is not correct. Today, we have another issue, the custom LCD need external sync signal, but now the output of DSS is embed sync signal. How to config the DSS to output YUV422 witch external sync signal? wade + +Hi Brijesh, Can you receive my reply? wade + +Hi Wade, Please refer to the application node: https://www.ti.com/lit/an/sprac16a/sprac16a.pdf. The same mechanism is used to get YUV over separate sync output. You could need to treat input YUV as RGB565 and get the RGB565 output over 8bit interface and that's how you could get BT601 output from TDA device. Regards, Brijesh + diff --git a/sample_embedding_folder2/0929600.txt b/sample_embedding_folder2/0929600.txt new file mode 100644 index 0000000000000000000000000000000000000000..6a2c063c5948283c7aae6ab0ce32cf6e4e798f01 --- /dev/null +++ b/sample_embedding_folder2/0929600.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2EXEVM: Expansion Interface Details + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2 I need to use TDA2 for a custom application utilizing 3-5 mcasp interfaces, I am trying to see if it's possible to use one of the existing EVM and attach my custom design through the existing expansion interfaces but I can't find the details of the interface for TDA2EX-17 or TDA2EX in the user guide, it only mentions it's for specific application?! does this mean it's only usable for TI's expansion boards!? can you provide these document?! + +Responses: +Hi, I will check with an expert, get back asap. + +Hello, You'll need to check the schematics to see what's pinned out on the connectors. Regards, Kyle + diff --git a/sample_embedding_folder2/0931012.txt b/sample_embedding_folder2/0931012.txt new file mode 100644 index 0000000000000000000000000000000000000000..a4a8523793fa327e8108df8b6a3f848a9c391a38 --- /dev/null +++ b/sample_embedding_folder2/0931012.txt @@ -0,0 +1,12 @@ +Ticket Name: Compiler/TDA2SG: TDA2S eth0 link is not work well + +Query Text: +Part Number: TDA2SG Tool/software: TI C/C++ Compiler HI , I use the rgmii1 port connect to BCM89811,and my dts is like this, DTS: &mac { status = "okay"; dual_emac; }; &davinci_mdio { status = "okay"; }; &cpsw_emac0 { phy_id = <&davinci_mdio>, <0>; phy-mode = "rgmii"; dual_emac_res_vlan = <2>; }; &cpsw_emac1 { phy_id = <&davinci_mdio>, <1>; phy-mode = "rgmii"; dual_emac_res_vlan = <1>; }; I set the command "ifconfig eth0 192.168.208.110 up" then look the kernel message: [ 70.109299] net eth0: initializing cpsw version 1.15 (0) [ 70.109315] net eth0: initialized cpsw ale version 1.4 [ 70.109325] net eth0: ALE Table size 1024 [ 70.116837] net eth0: phy found : id is : 0xae025022 [ 70.123702] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready why my eth0 is link is not well wrok? + +Responses: +[ 0.568411] ioctl DBUFIOC_EXPORT_VIRTMEM = -1072899120 [ 0.570203] libphy: Fixed MDIO Bus: probed [ 0.616776] davinci_mdio 48485000.mdio: davinci mdio revision 1.6 [ 0.616787] davinci_mdio 48485000.mdio: detected phy mask fffffffe [ 0.618852] libphy: 48485000.mdio: probed [ 0.618865] davinci_mdio 48485000.mdio: phy[0]: device 48485000.mdio:00, driver unknown [ 0.619440] cpsw 48484000.ethernet: Detected MACID = 38:81:d7:73:ec:6a [ 0.619536] cpsw 48484000.ethernet: cpts: overflow check period 800 [ 0.620208] cpsw 48484000.ethernet: cpsw: Detected MACID = 38:81:d7:73:ec:6b [ 0.621538] i2c /dev entries driver [ 0.626342] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr25 mode [ 0.632771] omap_hsmmc 480b4000.mmc: no pinctrl state for sdr12 mode [ 0.639367] evm_1v8: supplied by smps9 [ 0.677266] omap_hsmmc 4809c000.mmc: Got CD GPIO [ 0.718626] omap-rproc 55020000.ipu: assigned reserved memory node ipu2_cma@99000000 [ 0.718678] remoteproc0: 55020000.ipu is available this is my kernel message about mdio. + +Hi ,now I can link up eth1 ,how can I set the link 100Mbps/Half (now is 10Mbps) my log is : [ 17.875266] net eth1: initializing cpsw version 1.15 (0) [ 17.875299] net eth0: initialized cpsw ale version 1.4 [ 17.875309] net eth0: ALE Table size 1024 [ 17.882989] net eth1: phy found : id is : 0xae025022 [ 17.889122] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready [ 23.879044] cpsw 48484000.ethernet eth1: Link is Up - 10Mbps/Half - flow control off [ 23.879129] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready + +Have you tried ethtool to change the speed/duplexity ? Regards Vineet + diff --git a/sample_embedding_folder2/0931272.txt b/sample_embedding_folder2/0931272.txt new file mode 100644 index 0000000000000000000000000000000000000000..190c7f5a880c833d27fba57689ed154b6f3bb118 --- /dev/null +++ b/sample_embedding_folder2/0931272.txt @@ -0,0 +1,30 @@ +Ticket Name: TDA2HG: [OpenGL RGB ] What's the effect way to exchange the RGB data + +Query Text: +Part Number: TDA2HG Other Parts Discussed in Thread: TDA2 Hi: we're working on visonsdk 3.08 ,recently, we integrate the transparent bottom feature of AVM, that we need to save the parts render texture by FBO. as the FBO is RGB texture, we use the YUV by glEGLImageTargetTexture2DOES and use export DMA to share data between ARM and GPU. per my understanding that RGB FBO and yuv texture can not be rendering together, that we have to change the yuv input from rgb input that all FBO and texture are same format if we change the YUV input from RGB input, then what's the efficent way to exchange the image data between arm and GPU? Thanks + +Responses: +Hello, You can use YUV texture and render to RGB output. Are you facing any problems with rendering to RGB? Regards Hemant + +Hi Hemant: Hemant Hariyani said: You can use YUV texture and render to RGB output yes, it's ok to do that, but later we need to render the YUV and RGB together as the camera input is YUV, that sound impossible. so we expect the convert the camera yuv to rgb by ourself, and then render all textures with RGB. in yuv we can use dmafd to exchange the data between CPU and GPU, and how about the RGB data? + +Hello, Apologies for the late response. If you use YUV texture using TEXTURE_EXTERNAL_OES, the shader will receive RGB. This way, everything can be treated as RGB. Regards Hemant + +Hi Hemant: Thanks! when OpengGL do converting the YUV to RGB, in glbind? or in shader program? + +Hello, The conversion should happen in hardware when texture data is fetched by the shader code. Regards Hemant + +Thread is unlocked now. + +hi Karthik: thanks for unlocking. but i still don't understand how is the fbo usage; how can i create fbo and write NV12 format texture into the fbo? would you reply it? thanks. + +YUV is input only. You can create an RGB fbo and use OpenGL ES to read YUV as an external texture. This will convert YUV to RGB. You will have to create an eglmage with EGL_LINUX_DMA_BUF_EXT and provide dmabuf parameters for NV12 Y/UV planes. Please note that the GPU cannot output YUV. If that is a requirement, you will have to "trick" the GPU and process YUV as two planes - Y plane as a single channel texture and UV plane as a dual channel texture. From GPU and application perspective, this is not YUV any more - you are just dealing with components (e.g R component and RG component). Hope this helps. Regards Hemant + +You can create an RGB fbo and use OpenGL ES to read YUV as an external texture. This will convert YUV to RGB. You will have to create an eglmage with EGL_LINUX_DMA_BUF_EXT and provide dmabuf parameters for NV12 Y/UV planes. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- I have a question about create RGB fbo: create an RGB fbo: I still need to create an eglmage with EGL_LINUX_DMA_BUF_EXT and provide dmabuf parameters for RGB planes, is right? And i do like that. But the eglCreateImageKHR returned EGL_BAD_MATCH when I set EGL_LINUX_DRM_FOURCC_EXT attribute as FOURCC_STR("AR24"); Is the TDA2 don't support "AR24"? or RGB format use other FOURCC_STR? my sdk version is 3.06. if don't support ,do you have any other method? thanks + +Hello, Are you still facing this issue? The suggestion was to create a YUV (NV12) EGLImage. Regards Hemant + +Hello, In addition, Can you please look at the code here for reference? There are some examples on how to use YUV. You can refer to util/display-kmscube.c https://git.ti.com/cgit/glsdk/omapdrmtest/ Regards Hemant + +thanks for replying, i have already resolved it about three or four month ago. + diff --git a/sample_embedding_folder2/0931557.txt b/sample_embedding_folder2/0931557.txt new file mode 100644 index 0000000000000000000000000000000000000000..3c7471ce787fe0c943d2dec84312f249dcba219a --- /dev/null +++ b/sample_embedding_folder2/0931557.txt @@ -0,0 +1,8 @@ +Ticket Name: PROCESSOR-SDK-TDAX: Update on Processor SDK Radar Version for AWR2243 + +Query Text: +Part Number: PROCESSOR-SDK-TDAX Other Parts Discussed in Thread: TIDEP-01012, AWR2243, TDA2 Hi, I have posted about this in the past, but I am wondering when there will be a Processor SDK Radar release that supports AWR2243. I have been trying to work with the newest version of the TIDEP-01012 device w/ AWR2243 sensors for months now and have had to resort to makeshift patches provided on here by TI representatives/other forum members. These patches get the board returning data, but I have no clue just how reliable it is or what functionalities are missing. Last time I asked about a new version, I was told to "stay tuned" or "keep an eye out", but it has been months since then with no support for the 2G radar chips yet. I'm starting to wish you guys had just sent me the older version of the cascaded radar board. Please have someone that is directly working on this release version respond to this post, as last time I had a wide range of conflicting responses. Thanks, Jake + +Responses: +Jake, There is currently no update planned for the Radar SDK package for TDA2 with AWR2243 so we do not have a target date. There is support for the 2G radar devices with mmWave Studio - https://www.ti.com/tool/MMWAVE-STUDIO Best regards, Dave + diff --git a/sample_embedding_folder2/0931969.txt b/sample_embedding_folder2/0931969.txt new file mode 100644 index 0000000000000000000000000000000000000000..7d3cbc2ecbcaa4da0bdc65835740b21a5d6734b6 --- /dev/null +++ b/sample_embedding_folder2/0931969.txt @@ -0,0 +1,12 @@ +Ticket Name: Compiler/TDA4VMXEVM: TIVXDisplayCallBack is not call + +Query Text: +Part Number: TDA4VMXEVM Tool/software: TI C/C++ Compiler Hi, I add log in the "TivxDisplayCallBack " and i run the demo run_app_tidl.sh ok. 1.why the display callback funtion is not run ? In TDA2s the chains & links ,The Display's callback funtion will call . 2.how can I get Capture & display run status.(In tda2s , i can see the callback of capture & display) + +Responses: +Hi Zhangsc, If display is running, display callback always get called. Just like TDA2x, TDA3x, there is a similar feature on TDA4x to enable periodic callback. This feature is by default enabled, so callback will always be called, whenever display is enabled.. Rgds, Brijesh + +my version is 0602 ,but i cannot see rhe add log in.the display callback. can you test it. + +But is your display running fine? Do you see any numbers for the entire graph? Rgds, Brijesh + diff --git a/sample_embedding_folder2/0932257.txt b/sample_embedding_folder2/0932257.txt new file mode 100644 index 0000000000000000000000000000000000000000..3347ace686a8feb0f915443ed1dbfcce7f6ee68f --- /dev/null +++ b/sample_embedding_folder2/0932257.txt @@ -0,0 +1,278 @@ +Ticket Name: TDA2EX17EVM: about reducing power consumption + +Query Text: +Part Number: TDA2EX17EVM Hi, Our PCBAs heating is serious, how can we reduce power consumption of PCBAs? In addition, how to check and modify the frequency of GPU and CPU. thanks + +Responses: +Hello. Please refer to https://www.ti.com/lit/pdf/sprac22 for a description of power management on the TDA2. In-depth detail on the architecture support is in section 3 of the TRM as well. The key to minimizing power is to tune the clocking and power domains on the device for your usage. Best regards, Dave + +Hi, kzy: to check GPU and CPU frequencies, omapconf can be used. This is what I get from TDA2x EVM: root@dra7xx-evm:~# omapconf show opp +OMAPCONF (rev v1.73-17-g578778b built Thu Dec 28 05:15:12 IST 2017) + +HW Platform: + Generic DRA74X (Flattened Device Tree) + DRA75X ES2.0 GP Device (STANDARD performance (1.5GHz)) + TPS659038 ES2.2 + +SW Build Details: + Build: + Version: _____ _____ _ _ + Kernel: + Version: 4.4.84-g742f84423d + Author: tiiappadmin@swubn03 + Toolchain: gcc version 5.3.1 20160113 (Linaro GCC 5.3-2016.02) + Type: #1 SMP PREEMPT + Date: Thu Dec 28 05:05:59 IST 2017 + +|-----------------------------------------------------------------------------------| +| | Temperature | Voltage | Frequency | OPerating Point | +|-----------------------------------------------------------------------------------| +| VDD_CORE / VDD_CORE0 | 38C / 100F | 1.050 V | | NOM | +| L3 | | | 266 MHz | | +| DMM | | | 266 MHz | | +| EMIF1 | | | 266 MHz | | +| EMIF2 | | | 266 MHz | | +| LP-DDR2 | | | 532 MHz | | +| L4 | | | 266 MHz | | +| IPU1 | | | (2128 MHz) (1) | | +| Cortex-M4 Cores | | | (1064 MHz) (1) | | +| IPU2 | | | (2128 MHz) (1) | | +| Cortex-M4 Cores | | | (1064 MHz) (1) | | +| DSS | | | (768 MHz) (1) | | +| BB2D | | | (2128 MHz) (1) | | +| | | | | | +| VDD_MPU / VDD_CORE1 | 38C / 100F | 1.070 V | | NOM | +| MPU (CPU1 ON) | | | 1000 MHz | | +| | | | | | +| VDD_GPU / VDD_CORE2 | 39C / 102F | 1.080 V | | HIGH | +| GPU | | | 532 MHz | | +| | | | | | +| VDD_DSPEVE / VDD_CORE3 | 38C / 100F | 1.080 V | | HIGH | +| DSP1 | | | (750 MHz) (1) | | +| DSP2 | | | (750 MHz) (1) | | +| EVE1 | | | (0 MHz) (1) | | +| EVE2 | | | (0 MHz) (1) | | +| | | | | | +| VDD_IVA / VDD_CORE4 | 40C / 104F | 1.100 V | | HIGH | +| IVA | | | 532 MHz | | +| | | | | | +|-----------------------------------------------------------------------------------| + +Notes: + (1) Module is disabled, rate may not be relevant. + +root@dra7xx-evm:~# + +Hi,peter: This is what I get from TDA2Ex17: root@dra7xx-evm:/opt/vision_sdk# omapconf show opp Warning: chip not recognized, running in safe mode (only platform-generic functions allowed). Function disabled in safe mode, sorry ... root@dra7xx-evm:/opt/vision_sdk# + +Hi, kzy: Here is another way to get SOC clock tree information. Firstly, please download clock tree tool from : https://www.ti.com/tool/CLOCKTREETOOL After installation, you can find GEL files from the Script folder of the clock-tree-tool installation folder. For TDA2E-17, we can use CTT-TDA2Ex_17mm_SR2.1_SR2.0-REG_DUMP.gel. About how to run GEL files from Code-Composer-Studio, please refer to : https://processors.wiki.ti.com/index.php/GEL please be noted: 1. don't run startup script in the target configuration 2. for TDA2E-17 devices, please use GEL script with M4 core After running the GEL script, we will get clock-tree-information from CCS console prints. Then we can copy the prints and save it to an file with .rd1 extension. please remove unneeded characters, make it similar as below: DeviceName DRA71x_SR2.1_SR2.0 +0x4A005560 0x00000002 +0x4AE06118 0x00000001 +0x4A008920 0x00000001 +0x4AE06190 0x00000000 +0x4A0052E4 0x0004FD13 +0x4AE061C8 0x00000000 +0x4AE06174 0x00000000 +0x4A009848 0x00030000 +0x4AE07888 0x00030000 +0x4A005228 0x00000208 +0x4A002360 0x00000000 +0x4A0051EC 0x00800800 +0x4A009770 0x00020001 +0x4A009908 0x00030000 +0x4A005254 0x00000000 +0x4A009858 0x00030000 +0x4A00521C 0x00014D04 +0x4AE061BC 0x00000000 +0x4A009750 0x00020002 +0x4A009780 0x00020001 +0x4A0097A8 0x00020002 +0x4A008778 0x00000001 +0x4A009328 0x01040002 +0x4A005234 0x00000007 +0x4A005244 0x00000201 +0x4A0052B8 0x00000204 +0x4A005130 0x00000002 +0x4A005154 0x00000205 +0x4A0098E8 0x00030000 +0x4A008E40 0x00030000 +0x4A005550 0x00030000 +0x4A0093E8 0x00000001 +0x4AE07830 0x00000002 +0x4A00516C 0x0081F409 +0x4A009620 0x00030000 +0x4AE06134 0x00000000 +0x4A005520 0x01050000 +0x4A005580 0x00030000 +0x4A008210 0x0000040F +0x4A008E28 0x00030000 +0x4AE061A0 0x00000000 +0x4A009738 0x00030000 +0x4A005248 0x00000003 +0x4A009800 0x00030000 +0x4A0052C8 0x0000000A +0x4A0052D8 0x00000007 +0x4A005140 0x0000023E +0x4A0052E8 0x00000203 +0x4A0098A8 0x00030000 +0x4A009798 0x00030000 +0x4A0051E0 0x00000007 +0x4A008C00 0x04030000 +0x4AE06108 0x00000000 +0x4A0051F0 0x00000001 +0x4AE07840 0x01000002 +0x4AE06170 0x00000000 +0x4A0097D8 0x00030000 +0x4A005210 0x00000007 +0x4A0098F0 0x00030000 +0x4AE07838 0x00000001 +0x4A005220 0x00000202 +0x4A009868 0x04030000 +0x4A008158 0x00000003 +0x4A00519C 0x00000000 +0x4A0086A0 0x00000000 +0x4AE06138 0x00000000 +0x4AE061C4 0x00000000 +0x4A0051F4 0x00000002 +0x4AE06114 0x00000000 +0x4A008E50 0x01000001 +0x4A009760 0x00020001 +0x4A009720 0x00070000 +0x4AE061D0 0x00000000 +0x4A009878 0x00030000 +0x4A00814C 0x00006004 +0x4A008200 0x00000007 +0x4A005160 0x00000007 +0x4A0093B0 0x00000702 +0x4A005170 0x00000201 +0x4AE061D8 0x00000000 +0x4A009120 0x00043F02 +0x4A008B30 0x00000001 +0x4A0052C0 0x00000228 +0x4A0051AC 0x00010A04 +0x4AE061A8 0x00000000 +0x4A00815C 0x00000204 +0x4A005568 0x00030000 +0x4A0093D0 0x08000002 +0x4A009820 0x00030000 +0x4A009220 0x0A000002 +0x4A002534 0x00000000 +0x4A009020 0x00000001 +0x4A0098D0 0x00030000 +0x4A0093E0 0x00000001 +0x4A009130 0x00070000 +0x4A009850 0x00030000 +0x4A005158 0x00000204 +0x4A005764 0x00000001 +0x4A009788 0x00030000 +0x4A008160 0x0000000A +0x4AE07878 0x00030000 +0x4A009890 0x00030000 +0x4A009870 0x00030000 +0x4A0097F0 0x00020002 +0x4AE06194 0x00000000 +0x4A009340 0x00000101 +0x4A009028 0x00040001 +0x4A0097C4 0x00030000 +0x4A009810 0x00000001 +0x4A0097B0 0x00030000 +0x4A0051DC 0x00000000 +0x4A008780 0x00000001 +0x4A005144 0x00000005 +0x4A008164 0x00000002 +0x4A008140 0x00000007 +0x4A0097C8 0x00030000 +0x4A008150 0x00000804 +0x4AE0610C 0x00000000 +0x4A0098C8 0x00030000 +0x4AE06130 0x00000000 +0x4AE06198 0x00000000 +0x4AE06168 0x00000000 +0x4AE06184 0x00000000 +0x4AE06148 0x00000000 +0x4A0051A0 0x00000007 +0x4A0051B0 0x00000002 +0x4AE0619C 0x00000000 +0x4A002798 0x00000000 +0x4A009740 0x00010002 +0x4A00821C 0x00000101 +0x4A009808 0x00030000 +0x4A009728 0x00030000 +0x4AE061CC 0x00000000 +0x4A005558 0x00000002 +0x4AE0612C 0x00000000 +0x4AE06178 0x00000000 +0x4A009830 0x00030000 +0x4A00818C 0x0401E009 +0x4A00820C 0x04004B00 +0x4A008F28 0x00020001 +0x4A002544 0xF757FDC0 +0x4A009898 0x00030000 +0x4AE06124 0x00000000 +0x4AE061B0 0x00000000 +0x4A009840 0x00000002 +0x4A009768 0x00020001 +0x4A009904 0x00030000 +0x4A00515C 0x00000006 +0x4AE061B8 0x00000000 +0x4A0052BC 0x0000000A +0x4A0093B8 0x00070000 +0x4AE061B4 0x00000000 +0x4A009778 0x00020001 +0x4A005570 0x00030000 +0x4A0097A0 0x00030000 +0x4AE06110 0x00000002 +0x4A009828 0x00020002 +0x4AE06164 0x00000000 +0x4A008B40 0x00000000 +0x4AE06160 0x00000000 +0x4AE0615C 0x00000000 +0x4AE06158 0x00000000 +0x4A0098E0 0x00030000 +0x4A009330 0x01040002 +0x4A009358 0x00070000 +0x4AE0614C 0x00000000 +0x4A005420 0x00000001 +0x4A0093F0 0x00040101 +0x4A008180 0x00000007 +0x4A0052B4 0x0000FA04 +0x4A008190 0x00000202 +0x4A00512C 0x00010A04 +0x4A005100 0x00000110 +0x4A0097F8 0x00030000 +0x4A008F20 0x00060001 +0x4AE0618C 0x00000000 +0x4A0098A0 0x00030000 +0x4A009348 0x00070000 +0x4A0098C0 0x00000001 +0x4A009790 0x00030000 +0x4A009838 0x05030002 +0x4A0098B8 0x00030000 +0x4A009818 0x00020001 +0x4A0097B8 0x00030000 +0x4A008728 0x00030000 +0x4A0097D0 0x00030000 +0x4A008E20 0x00000001 +0x4A0098F8 0x00030000 +0x4AE07880 0x00030000 +0x4A009860 0x00030000 +0x4AE061AC 0x00000000 +0x4A0098B0 0x00030000 +0x4A0052C4 0x00000208 +0x4A00513C 0x00000204 +0x4AE06120 0x00000000 +0x4A009748 0x00030000 +0x4AE06144 0x00000000 +0x4A005578 0x00000002 +0x4A005240 0x00004B01 +0x4A009718 0x00070000 +0x4A009730 0x00020002 +0x4A0052A8 0x00000007 +0x4A005120 0x00000007 +0x4A0086B0 0x00000000 +0x4AE06188 0x00000000 +0x4AE061A4 0x00000000 +0x4AE06128 0x00000000 + +Hi, kzy: As shown above, after we get the .rd1 file, we can load it into clock tree tool to check the SOC clock information. Please let me know if you have any questions. + diff --git a/sample_embedding_folder2/0932464.txt b/sample_embedding_folder2/0932464.txt new file mode 100644 index 0000000000000000000000000000000000000000..682d093fd5e75f3ea62ac3dd77112356acd60618 --- /dev/null +++ b/sample_embedding_folder2/0932464.txt @@ -0,0 +1,22 @@ +Ticket Name: TDA2SX: How to use VIP BT1120 on TDA2? + +Query Text: +Other Parts Discussed in Thread: TDA2SX art Number: TDA2SX Hi, My requirement is 1920*1080P、30fps、3ch(VIP2 S2 A、VIP3 S1 A、VIP3 S2 A) SDK : PROCESSOR_SDK_VISION_03_05_00_00 usecase : Chains_lvdsVipMultiCam_Display decoder : techpoint TP2824 * 2 Q1: How to set in the orange box in the second picture below For example, if I use 25fps, do I need to modify the fps parameter? Q2: I have seen channel 2(vout 6) but other channels only have black screens First, I modified the PINMUX and Capture parameters as shown below: C:\PROCESSOR_SDK_VISION_03_05_00_00\ti_components\drivers\pdk_01_10_01_06\packages\ti\drv\vps\src\boards\src\bsp_boardTda2xx.c And then i modify the VidSensor_CreateParams below: C:\PROCESSOR_SDK_VISION_03_05_00_00\vision_sdk\apps\src\rtos\video_sensor\src\vid_sensor.c vcaptureSrc = CHAINS_CAPTURE_SRC_OV10635 vChainsCommon_MultiCam_StartCaptureDevice v=> vChainsCommon_SetVidSensorPrms v=> vChainsCommon_SetVidSensorMultiOV10635Prms C:\PROCESSOR_SDK_VISION_03_05_00_00\vision_sdk\apps\src\rtos\usecases\common\chains_common_vision.c 8 bits changed to 16 bits have an impact Result Capture link can capture 30 frame + +Responses: +Hi YiTing, From the capture links stats, three channels are already being captured at 30fps rate. Which means, capture is working fine. You need to check your rest of the data flow and see where other 2 channels are dropped. Regards, Brijesh + +Hi Brijesh, Thanks for your reply. To ensure the chain simple that I only use capture link to display link. I use funtion"chains_lvdsVipMultiCam_Display_SwitchDisplayChannel" to check that the rest of the data flow is all black screens. In multi-channel capture, if I can capture one channel, other channels are also set correctly? I just want to confirm whether bt1120 is set correctly. Regards, YiTing + +Hi YiTing, Atleast from the stats, it looks like all channels are getting captured at 30fps. Can you try saving a frame from each channel and analyze it offline? Also Can you please check VIP size register to see if VIP detects correct size for each channel? Rgds, Brijesh + +Hi Brijesh, I don’t understand what the analysis frame means Do you need me to analyze the pixels in the display link frame? I will check VIP size register within two days Regards, YiTing + +Hi YiTing, I wanted you to save a captured frame and view it offline to see if the captured frame is correct and is not black.. Regards, Brijesh + +Hi Brijesh, How to save frame in the CAPTURELINK, do I need to add Link like null link ? + +Hi YiTing, One way is, you could put break-point on CaptureLink_drvProcessData API and then run the code upto line 758. Once you get pFrame (Fvid2_Frame), you could get the buffer address from pFrame->addr[0][0] and from that address, you could dump the memory from CCS memory window. Rgds, Brijesh + +Hi Brijesh I will tyr the break-point tomorrow. Regards, YiTing + diff --git a/sample_embedding_folder2/0933115.txt b/sample_embedding_folder2/0933115.txt new file mode 100644 index 0000000000000000000000000000000000000000..ced971f6cc61c91ec974b625ea1115ecacfffbf7 --- /dev/null +++ b/sample_embedding_folder2/0933115.txt @@ -0,0 +1,24 @@ +Ticket Name: TDA2SX: emmc firmware burning problem + +Query Text: +Part Number: TDA2SX Hi,I got a tda2sx board and do product development on it. The sdk package version is processor_sdk_vision_03_07_00_00. My firmware has been compiled and passed, and the system can be started via sd. But I don’t know how to burn the firmware to emmc and start from emmc.I didn’t find any documentation about this. Can you tell me how to flash the firmware to emmc? Thank you! + +Responses: +Hi, Run the below script from the target in SD boot mode 7345.mk-eMMC-boot.zip Thanks Gaviraju + +Hi Gaviraju Using this script, I have successfully burned the firmware into emmc and started it, thank you very much. I saw the USB flashing method, in the link you posted above,used usbboot tool. I want to know the implementation mechanism of usbboot tool, can the source code be developed? Thanks! + +HI, No one responded to my question, why? + +Hi, Those steps are not tested in vision SDK Linux, so can I know your requirement? based on the requirement, we can give some suggestions. Thanks Gaviraju + +Hi, I want to modify the source code of usbboot tool to make a win system burning tool. Thanks. + +Thanks Gaviraju + +Thanks Gaviraju! + +Hi, Why can't I access this link? + +Hi Yan, The link got accidentally deleted, please find a snapshot of the link that you are trying to access, we will have it restored shortly. Regards Karthik /cfs-file/__key/communityserver-discussions-components-files/791/Processor-SDK-Linux-Automotive-Software-Developers-Guide.pdf + diff --git a/sample_embedding_folder2/0934114.txt b/sample_embedding_folder2/0934114.txt new file mode 100644 index 0000000000000000000000000000000000000000..b2e2621cf25d993fb916c56a02325126ced72473 --- /dev/null +++ b/sample_embedding_folder2/0934114.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2SA: Why the D2 and D3 of DSS Vout1 can't output signals? + +Query Text: +Part Number: TDA2SA Other Parts Discussed in Thread: TDA2 Dear TI, We made a new TDA2 board, and found the D2 and D3 pin of DSS Vout1 are broken on some board. 1. We measured the impedance of those pins. The impedance value of good one is about 6.7K, the impedance value of bad one is about 2R. 2. We tried to config the D2 and D3 to GPIO, they can't be controlled to switch to high level or low level. 3. The D2 and D3 pins are only connected to DS933 chip. 4. The D4~D9 are good, not be broken. Could you please help to analyze this issue? Why the D2 and D3 are broken, other pins are ok? wade + +Responses: +Wade, Can you summarize how many boards you've tested - how many pass vs fail? Is it always D2 and D3 that fail at the same time? Is the schematic for D2 and D3 the same as the other D4-D9 IOs? How are you testing the PCBs during manufacturing? Do you perform ICT or BSDL style testing? Thanks, Kyle + +Hi Kyle, We made four boards at the first time. Two of them are OK. Two of them are NG. The case of NG boards are same, only D2 and D3 are abnormal. There is no difference of the connection of D2~D9. About the NG board, we remembered it is ok before. But we can't understand why they become abnormal. The connection of D2~D9 as below: TDA2X Dx ----> 22ohm resistor -----> D90UB933 Dx wade + +Hello Wade, Can you elaborate on what is "abnormal" about those IOs? Are they wiggling at all? Can you put those pins (and neighbors) into GPIO mode, and test if you can see them go high and low? If it was working before and is no longer working I would guess that some form of damage has occurred. Is there any cable or outside influence that can be mistreated? Thanks, Kyle + +Hi Kyle, Yes, in GPIO mode, the pin also can't go high and low. We will plan to make more new boards to check. Thanks a lot! wade + diff --git a/sample_embedding_folder2/0934743.txt b/sample_embedding_folder2/0934743.txt new file mode 100644 index 0000000000000000000000000000000000000000..b3de3ad891bd7d750cbc476a9f6d792d1ae580a1 --- /dev/null +++ b/sample_embedding_folder2/0934743.txt @@ -0,0 +1,21 @@ +Ticket Name: Packet loss + +Query Text: +Hello, Here's the description of the issue - Application/Usecase : HDMI display & Video streaming using RTP(real Time Protocol) with single camera at 30fps & Bit Rate: 10Mbps Processor & Framework : TDA2Px - Vision SDK 3.3 with ndk_2_25_01_11 & nsp_gmacsw_4_15_00_00 version Pipeline : Usecase : RTP - UDP - IP - NDK2NSP - GMAC (This is processed A15 core) NDK settings : Modified "NdkConfigGlobal.memRawPageSize = 64*1024;" from in NDK_config.cfg Modified "NDK_DATA_SIZE = 16*MB" from 4KB in file mem_segment_definition_bios.xs Modified "#define MMALLOC_MAXSIZE ((64 * 1024) - 4)" from 3KB in file pbm.c Implementation of RTP was a requirement from our customer. RTP protocol has been implemented and integrated in the VSDK. RTP implementation is simple, for bitrates of 5mbps & 10mbps - 15 packets/slices & 17 packets/slices with a size of ~7K(<8k) are sent sequentially in a burst. Socket options/parametes : AF_INET, SOCK_DGRAM, ipTTL=15, maxBufLen=65500U The video streaming works fine with 5 Mbps(bit rate) at 30fps. But in the case of 10mbps(bit rate) with 30 fps. We have observed last 2 IDR slices are lost on the wireshark i.e. last 2 sequence numbers are missing. After adding a delay of 2 ms just before sending the packets to cpdma driver, observed there are no slices lost on the wireshark but the frame rate drops to 17fps. Also noticed the delta is high and skew is also increased downwards from the wireshark logs. Do let us know if you need more information and any insights will be highly appreciated. Could you help us with network stack benchmarking information for the Tx ? Thanks. + +Responses: +Hi, I will check with an NDK expert then let you know. Thanks Gaviraju + +Hi Gaviraju, Kidnly let us know if you have any updates. Thanks, Pramod + +Hi, You can try to increase number of packets allocated for TX to if that helps. In nsp_xx_xx_xx_xx\packages\ti\nsp\drv\ndk2nsp\ndk2nsp.h, /* + * Packet count of packets given to the hardware. We should use twice this number + * for the number of packets maintained + */ +/*RX packets to be kept 128 to account for DUAL MAC and TFDTP enabled case*/ +#define NDK2NSP_RX_PACKETS (128U) +#define NDK2NSP_TX_PACKETS (64U) + +#define NDK_RX_PACKETS (NDK2NSP_RX_PACKETS * (uint32_t)2U) + You can increase NDK2NSP_TX_PACKETS from 64 to 128. + diff --git a/sample_embedding_folder2/0936578.txt b/sample_embedding_folder2/0936578.txt new file mode 100644 index 0000000000000000000000000000000000000000..9bdacd0a597a9f2f4950de443a244c03d1a54806 --- /dev/null +++ b/sample_embedding_folder2/0936578.txt @@ -0,0 +1,28 @@ +Ticket Name: TDA2EVM5777: how to improve latency on TIDL(SSD) application? + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hi experts: I developed my application by using tidl(SSD) to detect object on image and followed the default TIDL use-case for SSD application on RTOS. After dumping message from TDA2-evm-board, i noticed that the TDA2-evm-board was running on 27-fps but the latency was up to 173ms (average latency time from capture to display link). Full log from TDA2-board is here:latency-log.txt i'm wondering: 1. why does the 27-fps speed have 173 ms latency? why the latency is not 1000/27=37 ms? 2. how to improve latency down to 1000/30=33 ms? Please comment, Thank you. Best / regards wxchen + +Responses: +Hi, .1) why does the 27-fps speed have 173 ms latency? why the latency is not 1000/27=37 ms? In VSDK all links are running parallel & because of this, you are able to achieve 27FPS. suppose if all the links are running sequentially then FPS = 1000/173 FPS = 5 2) how to improve latency down to 1000/30=33 ms? it's not possible because the TIDL link itself taking around 130ms to process Thanks Gaviraju + +Hi, Thanks for your response. I'm curious about the 130ms you mentioned. How does the 130ms come? Is it limit of SSD-model running on TDA2 platform? Thanks Best / regards wxchen + +Hi, The time is taken by the TIDL algorithm is 130ms to process one frame In order to reduce the latency, you should optimize the TIDL algorithm & the source code of these algorithms is not available in the vision SDK(We used library in vision SDK). Please check with the TI sales team to get the source code. Thanks Gaviraju + +Hi, I believe that the TIDL algorithm had been optimized by TI's RnD team. Is there another idea to reduce latency? Thanks, Best / Regards Wxchen + +No other way to reduce the latency. + +Hi, Thanks for your response. In addition, you said "optimize the TIDL algorithm" in your previous post. I'm wondering what should I optimize? In my intuition, I should optimize the tidl on EVE to process convolution-like operations. Is it correct? Or you mean that I should optimize the SSD's network architecture or others? Thanks. Best / Regards Wxchen + +Hi Wxchen, The tidl on EVE is already fully optimized, you can try optimizing your SSD network architecture. Thanks, Praveen + +Hi, Thanks for your response. I'm using jacintoV2 network currently. Do you have any suggestion/experience for optimizing SSD network architecture? Thanks. Best / Regards Wxchen + +Hi Wxchen, You can either reduce the resolution or train your SSD network with less complex backbone networks like mobile net v1 with a depth multiplier 0.25 Currently, we do not have a pre-trained network example for such models in SDK. Regards, Kumar.D + +Hi: Thanks for your response. I will try to decrease SSD network architecture according to your advises. However, I wanna ask for tda2's hardware: 1: Is it possible to boost the clock rate in EVE-core to improve latency? if yes, how to do that? any suggestion for doing that? 2: On the other hand, as far I know, ti's tda4 platform is going to release, 2-1: is that platform capable to reach 1000/30=33ms latency time in jacintoSSD network application? 2.2: is that platform using the same VSDK to tda2's plaform? Thanks, Best / Regards Wxchen + +Hi Wxchen, 1. No, as EVE core already clocked at max capacity so no further increase is possible. 2. Yes, but tda4 comes with new sdk, please read more about tidl in tda4 here https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/tidl_j7_01_02_00_09/ti_dl/docs/user_guide_html/md_tidl_models_info.html Thanks, Praveen + diff --git a/sample_embedding_folder2/0937715.txt b/sample_embedding_folder2/0937715.txt new file mode 100644 index 0000000000000000000000000000000000000000..beddc8503fda1a46f99d9d41248867ec835a2193 --- /dev/null +++ b/sample_embedding_folder2/0937715.txt @@ -0,0 +1,10 @@ +Ticket Name: 编译器/ TDA2SX: I have some questions about yocto compilation + +Query Text: +Part Number: TDA2SX Tool/software: TI C / C ++编译器 Hi,I builded a Yocto file system, compiled with the version of psdkla-V3.4.However, two tasks have been unpacking, and they have not been completed for about 3 days.How should I solve it? log is here.Thanks. # ./build-core-sdk.sh dra7xx-evm [PSDKLA]> [PSDKLA]> Current Directory is /home/xiaomiao.yang/psdkla_03_04_00_03/yocto-layers [PSDKLA]> PATH is /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/snap/bin:/opt/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/bin/ [PSDKLA]> Building on hirain-PowerEdge-R740 running Linux hirain-PowerEdge-R740 4.15.0-29-generic #31-Ubuntu SMP Tue Jul 17 15:39:52 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux [PSDKLA]> Starting Yocto build at Fri Sep 4 09:55:46 CST 2020 [PSDKLA]> [PSDKLA]> cd build [PSDKLA]> . conf/setenv [PSDKLA]> cp conf/local.conf conf/local.conf.pristine [PSDKLA]> MACHINE=dra7xx-evm bitbake -k tisdk-rootfs-image NOTE: Started PRServer with DBfile: /home/xiaomiao.yang/psdkla_03_04_00_03/yocto-layers/build/cache/prserv.sqlite3, IP: 127.0.0.1, PORT: 42837, PID: 28823 Loading cache: 100% |############################################################################################################################| ETA: 00:00:00 Loaded 2849 entries from dependency cache. NOTE: Resolving any missing task queue dependencies Build Configuration: BB_VERSION = "1.30.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "Ubuntu-18.04" TARGET_SYS = "arm-linux-gnueabi" MACHINE = "dra7xx-evm" DISTRO = "arago" DISTRO_VERSION = "2016.12" TUNE_FEATURES = "arm armv7a vfp thumb neon callconvention-hard" TARGET_FPU = "hard" meta-glsdk = "HEAD:66cfd8ef55344508d6e7b306259f34c05b828194" meta-arago-distro meta-arago-extras = "HEAD:4c01410ffde8853224567fb6078d7d9f190b942f" meta-qt5 = "HEAD:f8584d7a7c90afc71484a40279aa3df651d0e04f" meta-networking meta-ruby meta-python meta-oe = "HEAD:55c8a76da5dc099a7bc3838495c672140cedb78e" meta-ti = "HEAD:5f3a1169d307fec41626f850f5c700437dedbe93" meta-linaro-toolchain meta-optee = "HEAD:2f51d38048599d9878f149d6d15539fb97603f8f" meta = "HEAD:bfa04fa71c47e8fe9528208848cfcec2e232777d" NOTE: Preparing RunQueue NOTE: Executing SetScene Tasks NOTE: Executing RunQueue Tasks ERROR: automake-1.15-r0 do_compile: oe_runmake failed ERROR: automake-1.15-r0 do_compile: Function failed: do_compile (log file is located at /home/xiaomiao.yang/psdkla_03_04_00_03/yocto-layers/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-neon-linux-gnueabi/automake/1.15-r0/temp/log.do_compile.28877) ERROR: Logfile of failure stored in: /home/xiaomiao.yang/psdkla_03_04_00_03/yocto-layers/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-neon-linux-gnueabi/automake/1.15-r0/temp/log.do_compile.28877 Log data follows: | DEBUG: SITE files ['endian-little', 'bit-32', 'arm-common', 'arm-32', 'common-linux', 'common-glibc', 'arm-linux', 'arm-linux-gnueabi', 'common'] | DEBUG: Executing shell function do_compile | NOTE: make -j 16 | : && /bin/mkdir -p doc && { PATH='/home/xiaomiao.yang/psdkla_03_04_00_03/yocto-layers/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-neon-linux-gnueabi/automake/1.15-r0/build/t/wrap:'$PATH && export PATH; } && /usr/bin/perl ../automake-1.15/doc/help2man --output=doc/automake-1.15.1 automake-1.15 | help2man: can't get `--help' info from automake-1.15 | Try `--no-discard-stderr' if option outputs to stderr | Makefile:3687: recipe for target 'doc/automake-1.15.1' failed | make: *** [doc/automake-1.15.1] Error 255 | WARNING: /home/xiaomiao.yang/psdkla_03_04_00_03/yocto-layers/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-neon-linux-gnueabi/automake/1.15-r0/temp/run.do_compile.28877:1 exit 1 from 'exit 1' | ERROR: oe_runmake failed | ERROR: Function failed: do_compile (log file is located at /home/xiaomiao.yang/psdkla_03_04_00_03/yocto-layers/build/arago-tmp-external-linaro-toolchain/work/armv7ahf-neon-linux-gnueabi/automake/1.15-r0/temp/log.do_compile.28877) ERROR: Task 6172 (/home/xiaomiao.yang/psdkla_03_04_00_03/yocto-layers/sources/oe-core/meta/recipes-devtools/automake/automake_1.15.bb, do_compile) failed with exit code '1' Currently 2 running tasks (4157 of 7428): 0: ti-cgt-arm-native-16.9.2-r0 do_unpack (pid 28868) 1: ti-cgt-pru-native-2.1.4-r0 do_unpack (pid 28871) + +Responses: +Hi, The details on this post should help you to resolve the problem: https://e2e.ti.com/support/processors/f/791/p/712340/2625408#2625408 Regards Karthik + +Hi Karthik Ramanan Thank you for the reply.Your solution is very effective. + diff --git a/sample_embedding_folder2/0939107.txt b/sample_embedding_folder2/0939107.txt new file mode 100644 index 0000000000000000000000000000000000000000..e7cabe97c0b458050fd4e421321fb3af19f88491 --- /dev/null +++ b/sample_embedding_folder2/0939107.txt @@ -0,0 +1,18 @@ +Ticket Name: BEAGLE-3P-BBONE-AI: BEAGLE-3P-BBONE-AI,Processor Name :AM5729 + +Query Text: +Part Number: BEAGLE-3P-BBONE-AI AM5729 I am working with Beaglebone AI, which has its CLOUD 9 IDE, and the software tool is TIDL with OpenCL and c++ wrappers. My question is - In the neural network models implemented using TIDL, How do measure the host and co-processor runtime/execution time separately? Using what concept? In general OpenCL code like vecadd (vector addition) , I was able to make used profiling events to measure the runtime, but I have no idea how to do the same with imagenet or ssd_multibx codes. Please help... + +Responses: +Hi Kavya, checking inside Linux PSDK filesystem /usr/share/ti/tidl/ I see there are some TImeStamps, and a GetProcessTimeMiliSeconds() functions in utils.cpp. I haven't personally use them, but I see there is a test TIDL example which use ReportTime(). Please take a look as probably you could use them for your purpose. thank you, Paula + +As you can see in the figure, I couldn't find the utils.cpp file in tidl folder. How do I get the Linux PSDK file system, by the way, I am using Windows OS should I shift to LINUX OS? + +Hi Kavya, I gave you the upper level folder, utils.cpp is actually inside tidl_api/src/ thank you, Paula + +Yes i understand, but the src folder under tidl_Api itself doesnt exit.. + +Hi Kavya, I am not familiar with Debian image for BBAI. One option is to get Linux PSDK image/SDK from below link (at least as a reference): http://software-dl.ti.com/processor-sdk-linux/esd/AM57X/latest/index_FDS.html hope this helps, Paula + +Thank You. + diff --git a/sample_embedding_folder2/0939145.txt b/sample_embedding_folder2/0939145.txt new file mode 100644 index 0000000000000000000000000000000000000000..4053c32d5386404d8f67cc054dfdf4edc6f19b24 --- /dev/null +++ b/sample_embedding_folder2/0939145.txt @@ -0,0 +1,107 @@ +Ticket Name: PROCESSOR-SDK-AM57X: AM571x AM570x + +Query Text: +Part Number: PROCESSOR-SDK-AM57X Other Parts Discussed in Thread: AM5718, TPS65916, AM5708, TDA2 Hi, which processor / pmic combinations are currently / will be supported in processor sdk rtos for AM57x devices? Digging through the power management code (pm driver) it seems that for example the TPS65916 / AM5708 / AM5718 combinations are currently not supported, although seen from the hardware side the TPS65916 is required for an AM5708. I'm asking because the TPS65916 allows a higher junction temperature which might be a better pmic for an AM5718 or AM5708. Can you comment on this please? Best regards, Flux. + +Responses: +For PMIC seleciton, please refer to the below appnote. https://www.ti.com/lit/pdf/sprack1 SDK includes the PMIC driver for TPS65917 which has the same register set as TPS65916. It is not being built for AM57xx but you can use it for your project. + +Hello Stanley, does that mean the SDK’s PM driver will directly recognize a TPS65916 as a valid regulator for AM5708 or AM5718 without any code changes to the PM65817-files? I’m asking because of all the OTP registers that might be differently configured like product id registers, etc. Best regards, Flux. + +Unlocking thread + +Hi Flux, Yes you are right. Though the register layouts are the same the regulators that feed the individual voltage domains will be different. If you are using Linux SDK it would mean that you might need to do some device tree changes. If you looks at: arch/arm/boot/dts/am57xx-idk-common.dtsi regulators { + smps12_reg: smps12 { + /* VDD_MPU */ + regulator-name = "smps12"; + regulator-min-microvolt = <850000>; + regulator-max-microvolt = <1250000>; + regulator-always-on; + regulator-boot-on; + }; + smps3_reg: smps3 { + /* VDD_DDR EMIF1 EMIF2 */ + regulator-name = "smps3"; + regulator-min-microvolt = <1350000>; + regulator-max-microvolt = <1350000>; + regulator-always-on; + regulator-boot-on; + }; + + smps45_reg: smps45 { + /* VDD_DSPEVE on AM572 */ + /* VDD_IVA + VDD_DSP on AM571 */ + regulator-name = "smps45"; + regulator-min-microvolt = <850000>; + regulator-max-microvolt = <1250000>; + regulator-always-on; + regulator-boot-on; + }; + + smps6_reg: smps6 { + /* VDD_GPU */ + regulator-name = "smps6"; + regulator-min-microvolt = <850000>; + regulator-max-microvolt = <1250000>; + regulator-always-on; + regulator-boot-on; + }; + + smps7_reg: smps7 { + /* VDD_CORE */ + regulator-name = "smps7"; + regulator-min-microvolt = <850000>; + regulator-max-microvolt = <1150000>; + regulator-always-on; + regulator-boot-on; + }; + The mapping of smps to VDD will change and requires DTS changes. TPS65917/6 will have some layout like this: arch/arm/boot/dts/dra72-evm-tps65917.dtsi tps65917_regulators: regulators { + smps1_reg: smps1 { + /* VDD_MPU */ + regulator-name = "smps1"; + regulator-min-microvolt = <850000>; + regulator-max-microvolt = <1250000>; + regulator-always-on; + regulator-boot-on; + }; + + smps2_reg: smps2 { + /* VDD_CORE */ + regulator-name = "smps2"; + regulator-min-microvolt = <850000>; + regulator-max-microvolt = <1150000>; + regulator-boot-on; + regulator-always-on; + }; + + smps3_reg: smps3 { + /* VDD_GPU IVA DSPEVE */ + regulator-name = "smps3"; + regulator-min-microvolt = <850000>; + regulator-max-microvolt = <1250000>; + regulator-boot-on; + regulator-always-on; + }; + + smps4_reg: smps4 { + /* VDDS1V8 */ + regulator-name = "smps4"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + regulator-boot-on; + }; + + smps5_reg: smps5 { + /* VDD_DDR */ + regulator-name = "smps5"; + Hope this clarifies your question. Best Regards, Keerthy + +Hello Keerthy, thanks for the feedback. But, actually we’re using RTOS. And to be honest, I’m a bit confused by all the different industrial and automotive versions of the PMICs and processors, which under the hood are all almost the same, but differently configured, qualified and labeled. It’s easy to miss a detail here. So, the question is: Is it possible to use an AM5718 and TPS659162 in combination with RTOS? Will that work out of the box using the TPS65917 RTOS driver? Best regards, Flux. + +Hi, Unfortunately, in AM5718 SDK, TPS65917 PMIC driver is not used by default since it is not what is on AM57x EVM. We have not tested RTOS/baremetal TPS65917 PMIC driver in PDK on AM5718 with TPS65916. However, you should be able to reuse most of code if not all. Difference in OTP registers would not impact the driver implementation. Regards, Stanley + +Hi Stanley, thank you. What processor / pmic combinations have been used to test the RTOS-TPS65917 driver ? As a reference that would be helpful to know. Best regards, Flux. + +Hi The PMIC driver is used on TDA2 and DRA7 EVMs. Regards, Stanley + diff --git a/sample_embedding_folder2/0939326.txt b/sample_embedding_folder2/0939326.txt new file mode 100644 index 0000000000000000000000000000000000000000..007142abb368abb89bfb03e06d9aa3dd354b8b87 --- /dev/null +++ b/sample_embedding_folder2/0939326.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA4VM: some question about tda4 + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 Hi: I was using TDA2 platform to develop object detection(ssd-jacinto) application, but by my testing (link), the model latency run on TDA2 platform will be above 130 ms (27-fps) which not satisfied my requirement (less than 1000/30 ms). However, my boss ask me evaluating the TDA4 platform, so a few question below: 1. Did anyone test/verify ssd-jacinto model on TDA4 platform? 2. How about ssd-jacinto model latency time running on TDA4 platform? 3. Is TDA4 platform capable of running ssd-jacinto model above 30-fps? 4. What is SDK supporting the TDA4 platform? Thanks Best / Regards + +Responses: +You can find a lot of TDA4 resources here: https://www.ti.com/product/TDA4VM (Including specifications, application notes and information about software). Specifically, information about SDK is here: https://www.ti.com/tool/PROCESSOR-SDK-DRA8X-TDA4X Information about training Deep Learning Models (including Semantic Segmentation, Object Detection etc) is here: https://github.com/TexasInstruments/jacinto-ai-devkit We provide training examples and scripts for training SSD and RetinaNet object detectors using the repository pytorch-mmdetection. We also have scripts to export the model into a format (.onnx and .prototxt) that TIDL can understand. I hope this information helps you to get started. + diff --git a/sample_embedding_folder2/0939840.txt b/sample_embedding_folder2/0939840.txt new file mode 100644 index 0000000000000000000000000000000000000000..2b9014d75fc9e9adb5b5af63638d87f0644b40a1 --- /dev/null +++ b/sample_embedding_folder2/0939840.txt @@ -0,0 +1,24 @@ +Ticket Name: BEAGLE-3P-BBONE-AI: AM5729 + +Query Text: +Part Number: BEAGLE-3P-BBONE-AI Hi, I am trying to compile and run ssd_multibox with a video clip, but I am faced with this error. Any suggestions?. I have tried installed gnome but nothing seems to work. Unable to init server: Could not connect: Connection refused (Segmentation:1401): Gtk-WARNING **: 02:30:18.466: cannot open display: + +Responses: +Hi Kavya, have you tried to run "/etc/init.d/weston start" before running ./ssd_multibox? If not please try and let me know. thank you, Paula + +Hi, I tried that just now. The weston file is not present in the file. + +Hi Kavya, you might need to get assistance from BBAI/Debian open source community. As probably this is a difference between our Linux PSDK and Debian filesystems.. One suggestion, if you don't mind, would be to create an SD card with our Linux PSDK image and give a try to OBB demos there.. Link to download PSDKL and with links to SD creation steps below: http://software-dl.ti.com/processor-sdk-linux/esd/AM57X/latest/index_FDS.html thank you, Paula + +thank you, this helps. + +Do you use CCS IDE itself or Cloud9, in order to use the PSDK? + +Hi Kavya, neither, we use makefiles and Linux dbg capabilities... thank you, Paula + +Hi Kavya, one more point... I actually also use Eclipse or VS code to debug/develop some applications. The methodology is to build in debug and then import executable. In this way, I can (for some applications) been able to step into the code, see variables, use memory browser, etc. Hope this helps, Paula + +Are there any sources for that? if you did, please share. + +Kavya, There should be plenty of resources - articles/videos etc if you search for debugging with Eclipse and/or VS code. I suggest that you search for it and get familiarized. Regards Karthik + diff --git a/sample_embedding_folder2/0940607.txt b/sample_embedding_folder2/0940607.txt new file mode 100644 index 0000000000000000000000000000000000000000..9afa7eb5c54c1d82e40cacc3944f3ccf44149c4b --- /dev/null +++ b/sample_embedding_folder2/0940607.txt @@ -0,0 +1,34 @@ +Ticket Name: TDA2HG: Upgraded SDK uImage has increased significantly + +Query Text: +Part Number: TDA2HG Other Parts Discussed in Thread: TDA2 Hi We recently updated sdk3.5 to 3.8. After the upgrade, uImage increased from 3.4M to 4.2M, and the kernel decompression and initialization time increased by 1.8s. Can you help me reduce the kernel img size? Thanks a lot. + +Responses: +Hi, I found a problem in the kernel log. VSDK3.5: [08/04 18:08:42.553] [ 1.067194] PCI host bridge /ocp/axi@0/pcie_rc@51000000 ranges: [08/04 18:08:42.563] [ 1.073357] No bus range found for /ocp/axi@0/pcie_rc@51000000, using [bus 00-ff] [08/04 18:08:42.577] [ 1.081361] IO 0x20003000..0x20012fff -> 0x00000000 [08/04 18:08:42.577] [ 1.086755] MEM 0x20013000..0x2fffffff -> 0x20013000 [08/04 18:08:42.609] [ 1.125653] dra7-pcie 51000000.pcie_rc: link is not up [08/04 18:08:42.621] [ 1.131174] dra7-pcie 51000000.pcie_rc: PCI host bridge to bus 0000:00 VSDK3.8: [09/12 17:09:36.947] [ 1.158135] dra7-pcie 51000000.pcie: Linked as a consumer to phy-4a094000.pciephy.1 [09/12 17:09:36.959] [ 1.166231] dra7-pcie 51000000.pcie: WA for Errata i870 not applied [09/12 17:09:36.959] [ 1.172753] dra7-pcie 51000000.pcie: host bridge /ocp/axi@0/pcie@51000000 ranges: [09/12 17:09:36.968] [ 1.180478] dra7-pcie 51000000.pcie: IO 0x20003000..0x20012fff -> 0x00000000 [09/12 17:09:36.984] [ 1.188014] dra7-pcie 51000000.pcie: MEM 0x20013000..0x2fffffff -> 0x20013000 [09/12 17:09:38.009] [ 2.195767] dra7-pcie 51000000.pcie: Phy link never came up [09/12 17:09:38.009] [ 2.201717] dra7-pcie 51000000.pcie: PCI host bridge to bus 0000:00 The dra7-pcie initialized delay for 1 second. Is there any change in pcie for sdk3.8? Or my changes cause an exception? I tried to disable pcie by referring to boot_opt.cfg, but cmemk cannot be loaded: insmod ./bin/cmemk.ko phys_start=0xa9000000 phys_end=0xaaffffff insmod: ERROR: could not insert module ./bin/memcache.ko: Invalid module format Please help me check the pcie configuration, thanks. + +Hi, insmod: ERROR: could not insert module ./bin/memcache.ko: Invalid module format. It is because memcache.ko is not copied to the board after recompilation. I am referencing boot_opt.cfg to reduce the kernel size. + +Hi, These are the two SDK startup logs I saved here. There is an obvious delay in the kernel startup on 3.8: [09/16 17:09:59.946] [ 0.000000] GIC: Using split EOI/Deactivate mode [09/16 17:09:0.552] [ 0.000000] OMAP clockevent source: timer1 at 32786 Hz I did not see this obvious delay on SDK3.5. Can you explain why these two logs have been stuck for so long? Thanks! 3.5boottime.log3.8boottime.log + +Hi, 3.8 SDK i am seeing that modules are not really matching the kernel version hence they are not getting loaded. "[09/16 17:09:3.201] [ 2.642856] pvrsrvkm: disagrees about version of symbol _dev_err" There are multiple such messages like that. Can you please make sure that modules are matching the kernel version. [09/16 17:09:59.946] [ 0.000000] GIC: Using split EOI/Deactivate mode [09/16 17:09:0.552] [ 0.000000] OMAP clockevent source: timer1 at 32786 Hz I am not understanding the time difference here why is it negative? Best Regards, Keerthy + +Hi, Yes, the symbol error is because the kernel config configuration is changed but the ko file is not updated. Sorry, the time is a negative number because the configuration of xshell logging is incorrect, and there is no update in minutes. I have tried repeatedly to start it many times, and it will be stuck here for more than 0.5 seconds, like this: [09/18 14:09:50.630] [ 0.000000] GIC: Using split EOI/Deactivate mode [09/18 14:09:51.237] [ 0.000000] OMAP clockevent source: timer1 at 32786 Hz I'm not sure if the cpu did a lot of things and didn't print or got stuck between these two logs. 0308boot.log Thanks. + +Hi, I will get back to you on this in couple of days. Best Regards, Keerthy + +Hi, Ok thanks. + +Hi, We do not see the behavior on TDA2 on 3.8 vsdk on TI EVM. [2020-09-30 14:07:38.660] [ 0.000000] OMAP clockevent source: timer1 at 32786 Hz [2020-09-30 14:07:38.660] [ 0.000000] arch_timer: cp15 timer(s) running at 6.14MHz (phys). [2020-09-30 14:07:38.665] [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x16af5adb9, max_idle_ns: 440795202250 ns [2020-09-30 14:07:38.673] [ 0.000005] sched_clock: 56 bits at 6MHz, resolution 162ns, wraps every 4398046511023ns Attaching the full log for your reference. Best Regards, Keerthy 3.8-tda2-log.txt + +Hi, Comparing the logs found that the biggest difference is earlyboot. I used the code before optimizing the startup time and found that there is no such delay. noearlyboot_c3_2020-10-06_14_36_58.logearlyboot_c3_2020-10-06_14_49_17.log Can you apply the ti_components/os_tools/linux/kernel/linux-kernel-addon/earlyboot-lateattach-patches patch and try again? Thanks a lot. + +Hi, Before we get down to the differences have you followed the procedure mentioned here: file:///C:/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/docs/Linux/VisionSDK_Linux_UserGuide.pdf ( Chapter 3.4 Build Linux Vision SDK for fast boot (Early boot and late attach of remote cores) Please follow the Linux user guide steps for early boot & let us know if the delta is seen. Best Regards, Keerthy + +Hi, Today I rolled back the code to before earlyboot, there was no delay in the boot process of compiled uboot&kernel. Then refer to VisionSDK_Linux_UserGuide.pdf (Chapter 3.4 Build Linux Vision SDK for fast boot (Early boot and late attach of remote cores)), Apply the earlyboot-lateattach-patches for kernel and u-boot, add the following debug log: omap/init/main.c @@ -375,6 +375,7 @@ u32 rest_init_time; u32 init_call_time; u32 cust_machine_dur; u32 root_wait_time; +u32 timer_init_time; /* * We need to store the untouched command line for future reference. * We also need to store the touched command line since the parameter @@ -672,7 +673,10 @@ asmlinkage __visible void __init start_kernel(void) hrtimers_init(); softirq_init(); timekeeping_init(); + timer_init_time = read_fast_counter(); time_init(); + timer_init_time = read_fast_counter() - timer_init_time; + pr_info("%s timer_init_dur = %d ticks\n", __func__, timer_init_time); Kernel log: [ 0.000302] OMAP clocksource: 32k_counter at 32768 Hz [ 0.000690] start_kernel timer_init_dur = 19133 ticks It can be seen from the patch that read_fast_counter reads the 32K clock, 19133 /32768=0.58s. I didn't change any code except using patch and adding debug log. From the log, the timer initialization time has become longer. Please try the patch to see if it is the same. Is it because the timer initialization was done in uboot before and is now moved to the kernel? Thanks. + +Hi, The early boot late attach design changed from 3.4 to 3.8 VSDK. So yes there will be some differences. We might not be able to optimize this further. Thanks for isolating the function that is taking time. What is the target time that is to achieved? Best Regards, Keerthy + +Hi, Our goal is to display the ring shape normally within 6 seconds of power-on. The real car test requires 9s to produce the picture. Now the desktop test uboot+kernel takes about 2.6s, and rc.pvr+remoteproc+weston takes about 0.4 seconds. I'm trying to reduce the startup time of the kernel, and the app is partially optimized by others. Now I just see this problem, the initial timer delay is 0.6s and I don't know the specific reason. Can you reproduce this phenomenon? Do you have any suggestions for this problem? Thank you so much. + +Hi, time init & device tree parsing are generic Linux functions & they have been introduced as part of the feature redesign for 4.19 kernel. I believe not many optimization is possible without actually changing a lot of things. Best Regards, Keerthy + diff --git a/sample_embedding_folder2/0942555.txt b/sample_embedding_folder2/0942555.txt new file mode 100644 index 0000000000000000000000000000000000000000..2394f2e52132823eb3d8b97365f99565053033a9 --- /dev/null +++ b/sample_embedding_folder2/0942555.txt @@ -0,0 +1,36 @@ +Ticket Name: TDA2EVM5777: kmscube error:display 0 failed to set mode: Permission denied + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 The development board I use is TDA2EVM5777, the HDMI monitor is connected, and the software version is PROCESSOR_SDK_VISION_03_08_00_00_setuplinux. I ran the OpenGL example on this basis, and the result was that the HDMI monitor did not display anything. The debug information is as follows: root@dra7xx-evm:~/test# ./kmscube ### Display [0]: CRTC = 31, Connector = 29, format = 0x34325258 Mode chosen [1920x1080] : Clock => 128480, Vertical refresh => 60, Type => 72 Horizontal => 1920, 1939, 1943, 1952, 0 Vertical => 1080, 1090, 1092, 1097, 0 ### Primary display => ConnectorId = 29, Resolution = 1920x1080 Using display 0x1 with EGL version 1.4 EGL Version "1.4 build 1.17@4948957" EGL Vendor "Imagination Technologies" EGL Extensions "EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_IMG_cl_image EGL_KHR_fence_sync EGL_IMG_context_priority EGL_IMG_hibernate_process EGL_IMG_image_plane_attribs EGL_KHR_surfaceless_context EGL_KHR_wait_sync EGL_KHR_create_context EGL_WL_bind_wayland_display EGL_EXT_image_dma_buf_import" display 0 failed to set mode: Permission denied What is the reason why HDMI cannot be displayed? How can i solve this problem? + +Responses: +Thanks Gaviraju + +I followed the suggestions in the link you gave, and the HDMI monitor did not display anything as before, and the debug information did not change. root@dra7xx-evm:~# /etc/init.d/weston stop Stopping Weston Terminated root@dra7xx-evm:~# root@dra7xx-evm:~# cd test/ root@dra7xx-evm:~/test# ./ kmscube openglunderqml root@dra7xx-evm:~/test# ./kmscube ### Display [0]: CRTC = 31, Connector = 29, format = 0x34325258 Mode chosen [1920x1080] : Clock => 128480, Vertical refresh => 60, Type => 72 Horizontal => 1920, 1939, 1943, 1952, 0 Vertical => 1080, 1090, 1092, 1097, 0 ### Primary display => ConnectorId = 29, Resolution = 1920x1080 Using display 0x1 with EGL version 1.4 EGL Version "1.4 build 1.17@4948957" EGL Vendor "Imagination Technologies" EGL Extensions "EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_IMG_cl_image EGL_KHR_fence_sync EGL_IMG_context_priority EGL_IMG_hibernate_process EGL_IMG_image_plane_attribs EGL_KHR_surfaceless_context EGL_KHR_wait_sync EGL_KHR_create_context EGL_WL_bind_wayland_display EGL_EXT_image_dma_buf_import" display 0 failed to set mode: Permission denied root@dra7xx-evm:~/test# + +Hi, Two questions: Can you please run modetest and share the output? Does the default kmscube work? It will be present in /usr/bin/kmscube Regards Karthik + +1.Can you please run modetest and share the output? root@dra7xx-evm:~# modetest trying to open device 'i915'...failed trying to open device 'amdgpu'...failed trying to open device 'radeon'...failed trying to open device 'nouveau'...failed trying to open device 'vmwgfx'...failed trying to open device 'omapdrm'...done Encoders: id crtc type possible crtcs possible clones Connectors: id encoder status name size (mm) modes encoders CRTCs: id fb pos size Planes: id crtc fb CRTC x,y x,y gamma size possible crtcs Frame buffers: id size pitch root@dra7xx-evm:~# 2.Does the default kmscube work? It will be present in /usr/bin/kmscube root@dra7xx-evm:~# ps |grep kmscube 881 root 2360 S grep kmscub root@dra7xx-evm:~# kmscube -a ### Enabling all displays ### Display [0]: CRTC = 31, Connector = 29, format = 0x34325258 Mode chosen [1920x1080] : Clock => 128480, Vertical refresh => 60, Type => 72 Horizontal => 1920, 1939, 1943, 1952, 0 Vertical => 1080, 1090, 1092, 1097, 0 ### Primary display => ConnectorId = 29, Resolution = 1920x1080 Using display 0x1 with EGL version 1.4 EGL Version "1.4 build 1.17@4948957" EGL Vendor "Imagination Technologies" EGL Extensions "EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_IMG_cl_image EGL_KHR_fence_sync EGL_IMG_context_priority EGL_IMG_hibernate_process EGL_IMG_image_plane_attribs EGL_KHR_surfaceless_context EGL_KHR_wait_sync EGL_KHR_create_context EGL_WL_bind_wayland_display EGL_EXT_image_dma_buf_import" display 0 failed to set mode: Permission denied + +Hi, I have a new problem: the above kmscube error is caused by egl cannot be initialized: root@dra7xx-evm:~# eglinfo PVR:(Error): WSEGL_InitialiseDisplay: Failed to create output [0, ] Unable to initialise egl egl error 'EGL_NOT_INITIALIZED' (0x3001) The reason why egl has this error is still unknown. I am a little doubtful whether the driver version of sgx does not match or is caused by other reasons. Running pvrsrvctl will also report some error messages: root@dra7xx-evm:~# pvrsrvctl --start --no-module [ 2228.453790] PVR_K: UM DDK-(4948957) and KM DDK-(4948957) match. [ OK ] PVR:(Error): SrvInit: PVRSRVInitSrvConnect failed (129) [0, ] pvrsrvctl: SrvInit failed (already initialized?) (err=PVRSRV_ERROR_SRV_CONNECT_FAILED) root@dra7xx-evm:~# cat /proc/pvr/version Version SGX_DDK_Linux_XOrg sgxddk 1.17@4948957 (release) omap_linux System Version String: SGX revision = 116 root@dra7xx-evm:~# uname -a Linux dra7xx-evm 4.19.73 #3 SMP PREEMPT Tue Sep 15 10:54:39 CST 2020 armv7l GNU/Linux root@dra7xx-evm:~# gles1test1 PVR:(Error): WSEGL_InitialiseDisplay: Failed to create output [0, ] 'eglInitialize' returned egl error 'EGL_NOT_INITIALIZED' (0x3001) root@dra7xx-evm:~# Now I don’t know what to do. I’m contacting the TDA2 platform for the first time, and I also hope that God will give some advice. + +Hi, By default, weston application is automatically launched when the power on the board. In order to run the kmscube application, we need to stop the weston application. The step to stop weston application is /etc/init.d/weston stop Unfortunately, the above step is not working in the Vision SDK. So I followed the below steps to stop the weston application. root@dra7xx-evm:~# ps | grep weston + 1125 root 66052 S weston --idle-time=0 + 1132 root 10000 S /usr/libexec/weston-keyboard + 1133 root 17780 S /usr/libexec/weston-desktop-shell + + +root@dra7xx-evm:~# kill 1125 + launch the kmscube application root@dra7xx-evm:~# kmscube & Follow the below steps to view the o/p on the display root@dra7xx-evm:~# cd /opt/vision_sdk/ +root@dra7xx-evm:/opt/vision_sdk# ./vision_sdk_load.sh +root@dra7xx-evm:/opt/vision_sdk# ./apps.out + Choose the option 1 & 8 from the menu, now you can see the o/p on the display Thanks Gaviraju + +Hi, This can indeed make HDMI display the picture output by apps.out, but my ultimate goal is to make HDMI display the OpenGL picture I wrote myself, such as running kmscube -a, there should be gl rendering output, but HDMI does not have any Output. root@dra7xx-evm:~# /etc/init.d/weston stop Stopping Weston Terminated root@dra7xx-evm:~# ps | grep weston 847 root 66056 S weston --idle-time=0 856 root 9984 S /usr/libexec/weston-keyboard 857 root 17768 S /usr/libexec/weston-desktop-shell 872 root 2360 S grep weston root@dra7xx-evm:~# kill 847 root@dra7xx-evm:~# root@dra7xx-evm:~# kmscube -a & [1] 873 root@dra7xx-evm:~# ### Enabling all displays ### Display [0]: CRTC = 31, Connector = 29, format = 0x34325258 Mode chosen [1920x1080] : Clock => 128480, Vertical refresh => 60, Type => 72 Horizontal => 1920, 1939, 1943, 1952, 0 Vertical => 1080, 1090, 1092, 1097, 0 ### Primary display => ConnectorId = 29, Resolution = 1920x1080 Using display 0x1 with EGL version 1.4 EGL Version "1.4 build 1.17@4948957" EGL Vendor "Imagination Technologies" EGL Extensions "EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_IMG_cl_image EGL_KHR_fence_sync EGL_IMG_context_priority EGL_IMG_hibernate_process EGL_IMG_image_plane_attribs EGL_KHR_surfaceless_context EGL_KHR_wait_sync EGL_KHR_create_context EGL_WL_bind_wayland_display EGL_EXT_image_dma_buf_import" root@dra7xx-evm:~# + +Hi, You should run the apps.out in the Vision SDK in order to view the OpenGL o/p on the Display because the Display module is controlled by IPU core & VDRM will pass the rendered o/p buffer from Linux to the Display link running on the IPU. Please follow the steps mentioned in my previous post, you will see the kmscube o/p on the display. or You can go with PSDKLA 6.03 instead of Vision SDK, here all the HW module is controlled by Linux including Display. When you launch the kmscube application in the PSDKLA then you will see the O/P on the display. Thanks Gaviraju + +Thanks for your reply, but I'm still confused. Can PSDKLA 6.03 support my development board? I think the official information supports AM57x. + +Hi, I already tried on the TDA2x EVM & it's working successfully. We need to choose the appropriate DTB file according to our board. I used dra7-evm.dtb for tda2x platform & it's available in the /boot/ directory. Thanks Gaviraju + diff --git a/sample_embedding_folder2/0942573.txt b/sample_embedding_folder2/0942573.txt new file mode 100644 index 0000000000000000000000000000000000000000..415188e69fc13381c3f8e35db2ca62c7c5cef6c5 --- /dev/null +++ b/sample_embedding_folder2/0942573.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2EG-17: TDA2EG-17: Split time for H.264 encode + +Query Text: +Part Number: TDA2EG-17 Other Parts Discussed in Thread: TDA2 Hi, I try to make DVR use case on TDA2 platform. Record capture to h.264 file by Encode link. I using system command to get 1 minute file. System_linkControl(chainsObj.ucObj.NullLinkID, SYSTEM_CMD_STOP, NULL, 0, (Bool)TRUE); System_linkControl(chainsObj.ucObj.EncodeLinkID, SYSTEM_CMD_STOP, NULL, 0, (Bool)TRUE); System_linkControl(chainsObj.ucObj.EncodeLinkID, SYSTEM_CMD_START, NULL, 0, (Bool)TRUE); System_linkControl(chainsObj.ucObj.NullLinkID, SYSTEM_CMD_START, NULL, 0, (Bool)TRUE); But only first file will be normal. Other files can not play on PC (VLC media player) How to split h.264 encode result ? Thanks. + +Responses: +Hi, Please refer to the below thread Thanks Gaviraju + +Hi Gaviraju, It's working. Result codes System_linkControl(chainsObj.ucObj.NullLinkID, SYSTEM_CMD_STOP, NULL, 0, (Bool)TRUE); EncLink_ChannelInfo params; params.chId = 0; System_linkControl(chainsObj.ucObj.EncodeLinkID, ENC_LINK_CMD_SET_CODEC_FORCEI, ¶ms, sizeof(EncLink_ChannelInfo), (Bool)TRUE); System_linkControl(chainsObj.ucObj.NullLinkID, SYSTEM_CMD_START, NULL, 0, (Bool)TRUE); Thanks. Jay + diff --git a/sample_embedding_folder2/0945987.txt b/sample_embedding_folder2/0945987.txt new file mode 100644 index 0000000000000000000000000000000000000000..74d84749bb2c20959bcfa1e23b2d7349d6aaf561 --- /dev/null +++ b/sample_embedding_folder2/0945987.txt @@ -0,0 +1,18 @@ +Ticket Name: TDA4VM: [TDA4] How to disperse (assign) computing power for each core ? + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 Hi, Expert : I'm studying TDA4 code programming for ADAS applications. follow this site, I can know the concept for IPC communication between each core. software-dl.ti.com/.../developer_notes_ipc.html but I still feel confuse this point : "How to disperse (assign) computing power for each core ?" I try to studying vision_app sample code (EX:tidl_object detection), this app use C66_1/C66_2/C7X, how to assign work for each core? software-dl.ti.com/.../group_apps_dl_demos_app_tidl_od.html same problems for main R5f core. any hit? Many Thanks. + +Responses: +Hi Gibbs, Need a clarification to understand your question better - how to disperse(assign) computer power for each core - the question is more about the CPU usage (MHz) rather than the power (Watt)? Is that understanding correct and can you consider expanding your question for better understanding? Regards Karthik + +Hi, Karthik : My question(pint) is simple, and I may find some answers. TI OpenVX have this function : vxSetNodeTarget(n1, VX_TARGET_STRING, TIVX_TARGET_DSP1) n1 is node, 3'st parameter is core id, it includes : #define TIVX_TARGET_DSP1 "DSP-1" #define TIVX_TARGET_DSP2 "DSP-2" #define TIVX_TARGET_EVE1 "EVE-1" #define TIVX_TARGET_EVE2 "EVE-2" #define TIVX_TARGET_EVE3 "EVE-3" #define TIVX_TARGET_EVE4 "EVE-4" #define TIVX_TARGET_A15_0 "A15-0" #define TIVX_TARGET_IPU1_0 "IPU1-0" #define TIVX_TARGET_IPU1_1 "IPU1-1" #define TIVX_TARGET_IPU2 "IPU2" but I do not find define about "Core R5" . (MCU2_0, mcu2_1, mcu3_0, mcu3_1) How to assign job to MCU2_0, mcu2_1, mcu3_0, mcu3_1? Thanks + +Hi Gibbs, It seems like you are looking at the TDA2 source code - can you please send me the references to this OpenVx code that you are looking at? Regards Karthik + +Hi, Karthik : This file locate in psdk : path as below : psdk_rtos_auto_j7_07_00_00_11\tiovx\kernels_j7\include\TI\j7.h Gibbs + +Gibbs, Ok, the previous code snippet was probably a different reference - I understand your question. Let me get back to you on this. Regards Karthik + +Hi Gibbs, The MCU2_0 target is TIVX_TARGET_IPU1_0 and the MCU2_1 target is TIVX_TARGET_IPU1_1. The mcu3_0, mcu3_1 have not been enabled for OpenVX in our demos. We will be sure to have this more clearly documented in the next release. Regards, Lucas + diff --git a/sample_embedding_folder2/0946389.txt b/sample_embedding_folder2/0946389.txt new file mode 100644 index 0000000000000000000000000000000000000000..9bfd3bfbdc993f0456051e3608e9cfb733b1e081 --- /dev/null +++ b/sample_embedding_folder2/0946389.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2HV: ASIL compliance for each TDA2 core + +Query Text: +Part Number: TDA2HV Hello, Can you provide me more information about the ASIL compliance for each core into TDA2HS? Can you provide me the safety manual for TDA2HS? Best regards, + +Responses: +Hi User6448690, Please start by referencing www.ti.com/.../sprui16a.pdf. For ASIL compliancy of the TDA, please see this thread https://e2e.ti.com/support/processors/f/791/t/726849?Functional-Safety-ADAS. Regards, kb + +Regarding ASIL compliancy of the TDA parts, please also be aware that the list of TDA products on ti.com, has a "Features" column which shows the parts ASIL rating. https://www.ti.com/processors/automotive-processors/tdax-adas-socs/products.html. Regards, kb + diff --git a/sample_embedding_folder2/0946737.txt b/sample_embedding_folder2/0946737.txt new file mode 100644 index 0000000000000000000000000000000000000000..f59e8ad1610ad791a069ced5de5ce3a0e4548dad --- /dev/null +++ b/sample_embedding_folder2/0946737.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2HV: ISO21434 Compliance with TDA2 family + +Query Text: +Part Number: TDA2HV Hello, Can you provide information about the SoC capabilities (accelerated hardware for example) for being compliance with ISO 21434? Can you provide information about this cybersecurity manual for SoC (like safety manual for iso26262)? Best regards, Andrés + +Responses: +Hi Andres, TDA2x does have an HS variant with security and crypto features which are covered by the Security(SPRUHS7) and Cryptographic(SPRUHS8) addendums. We will need to work offline with you for access to these documents and further discussion on IOS21434. Regards, kb + diff --git a/sample_embedding_folder2/0947197.txt b/sample_embedding_folder2/0947197.txt new file mode 100644 index 0000000000000000000000000000000000000000..071cb9a000467b5ad2b2061346260ff82d67b7f2 --- /dev/null +++ b/sample_embedding_folder2/0947197.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2SX: VSDK3.07 + +Query Text: +Part Number: Hi,Using mksdboot.h script to make SD card can succeed in ubuntu14, but SD card made in ubuntu18 cannot start kernel. Why? And I use the VSDK3.07. Please refer to the attached log file of unable to start the kernel and the printing process when making SD cards in different ubuntu versions.mksdboot fails the SD card.7z + +Responses: +Jade jiang said: Part Number: TDA2SX Hi, I use mksdboot.h script to make SD card can succeed in ubuntu14, but SD card made in ubuntu18 cannot start kernel. Why? And I use the VSDK3.07. Please refer to the attached log file of unable to start the kernel and the printing process when making SD cards in different ubuntu versions. mksdboot fails the SD card.7z + +Hi, Yes, the mksdboot.sh will not work in the Ubuntu 18.04 version, because the Ubuntu 18.04 is not a stable version & it's having lot of issue. So please don't try from the Ubuntu 18.04 & we tested only in the Ubuntu 14.04. Thanks Gaviraju + +Hi, If sdk3.07 is used all the time, is there any solution? Thanks Jade + +Hi, Moreover, as far as I know, the SDK software of TDA4 is already available in Ubuntu 18. When will tda2 consider updating? Thanks Jade + +Hi, No more development on TDA2 vision SDK & it's in support mode. Thanks Gaviraju + diff --git a/sample_embedding_folder2/0947668.txt b/sample_embedding_folder2/0947668.txt new file mode 100644 index 0000000000000000000000000000000000000000..0d293f99de9b0bbdebee67258de6ada7bc47d849 --- /dev/null +++ b/sample_embedding_folder2/0947668.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA3MV: Detailed model number of DSP (C66x) + +Query Text: +Part Number: TDA3MV Other Parts Discussed in Thread: TDA2 Please tell me the detailed model number of DSP (C66x) of TDA3MV. Does this DSP support LAPACK? Also, do I have to port LACACK myself? + +Responses: +Hi, Please follow the below link. Thanks Gaviraju + +Fast of all, Please tell me the detailed model number of DSP (C66x) of TDA3MV. + +Hi, It is the same as the TDA2 and therefore you should check this post: https://e2e.ti.com/support/processors/f/791/p/947670/3506002#3506002 Regards Karthik + +Hello, TDA3MV DSP information is not provided here. Please tell me the detailed model number of DSP (C66x) of TDA3MV. + diff --git a/sample_embedding_folder2/0947670.txt b/sample_embedding_folder2/0947670.txt new file mode 100644 index 0000000000000000000000000000000000000000..c2ea3bda68104be1edbe03e285b5a50fa1d65b95 --- /dev/null +++ b/sample_embedding_folder2/0947670.txt @@ -0,0 +1,28 @@ +Ticket Name: TDA2SX: Detailed model number of DSP (C66x) + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA3MV Please tell me the detailed model number of DSP (C66x) of TDA2SX. Does this DSP support LAPACK? Also, do I have to port LACACK myself? + +Responses: +Hi, Go through the below link & let me know if you have any questions, I will check with the DSP expert & let you know. Thanks Gaviraju + +This link does not provide a detailed model number for the TDA3MV DSP (C66x). Therefore, I don't know if this DSP supports LAPACK. + +This link does not provide a detailed model number for the TDA2SX DSP (C66x). Therefore, I don't know if this DSP supports LAPACK. + +All TDA2x/TDA3x family of SoCs have TMS320C66x DSPs. You can find more information in the TRM. + +Hello, Does TMS320C66xDSP support LAPACK? Also, do I have to port LACACK myself? + +First of all, what is the detailed model number of the TDA2SX DSP (C66x)? + +Hi, You can get the detailed model number of the DSP by checking the datasheet: https://www.ti.com/lit/ds/symlink/tda2sx.pdf?ts=1602829994367&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FTDA2SX And there is a Linear Algebra package that is supported for this DSP https://www.ti.com/processors/digital-signal-processors/libraries/linear-algebra.html#:~:text=The%20LAPACK%20library%20built%20using,optimized%20BLAS%20library%20for%20acceleration. Please refer to this information for details. Regards Karthik + +Hello, I checked the datasheet, but I couldn't find the model number of the TDA2SX DSP(C66x). I want to know the "x" part of C66x. Please tell me the detailed model number of the TDA2SX DSP(C66x). + +Hello, I checked the datasheet, but I couldn't find the model number of the TDA2SXI checked the datasheet, but I couldn't find the model number of the TDA2SX DSP(C66x). I want to know the "x" part of C66x. Please tell me the detailed model number of the TDA2SX DSP(C66x). + +Hello, I couldn't find the model number of the TDA2SX DSP(C66x) & TDA3MV DSP(C66x). I want to know the "x" part of C66x. Please tell me the detailed model number of the TDA2SX DSP(C66x) & TDA3MV DSP(C66x). + +Dear user, The x in TMS320C66x does not have any number. Its just meant to represent C66 DSP core pack which is present in different SoC's To the differences in C66 DSP between TDA2SX and TDA3MV please refer to its respective device specifications. They might very in the clock (MHz) or in L2 SRAM size. But will mostly be identical. Is there anything you are looking for other than just the value for x? Because the x really has no value. Regards, Shyam + diff --git a/sample_embedding_folder2/0948823.txt b/sample_embedding_folder2/0948823.txt new file mode 100644 index 0000000000000000000000000000000000000000..bb1782e50c0f5dd6d5240881dc40d21c40425bb9 --- /dev/null +++ b/sample_embedding_folder2/0948823.txt @@ -0,0 +1,8 @@ +Ticket Name: Compiler/TDA2EVM5777: GPU demo code + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler How to get GPU demo code ? It can run on Tda2x . How to get GPU development reference manual or get API about it? + +Responses: +Hi Henry, There are several examples for GPU that can be run on the TDA2, please refer to this documentation: https://processors.wiki.ti.com/index.php/DRA7xx_GLSDK_Software_Developers_Guide#Graphics_Demos_from_Command_Line to get started. The GPU development reference manual - the Software Developers Guide linked above is a good starting point to get started. You should also refer to the build instructions and look into the various code/examples to assist with development. Also, refer https://processors.wiki.ti.com/index.php/DRA7xx_GLSDK_Software_Developers_Guide#Using_the_PowerVR_Tools for additional tools to optimize/understand the performance of your application. Regards Karthik + diff --git a/sample_embedding_folder2/0949613.txt b/sample_embedding_folder2/0949613.txt new file mode 100644 index 0000000000000000000000000000000000000000..10ef1ba493e74f0c387d1764bf38e6e470634879 --- /dev/null +++ b/sample_embedding_folder2/0949613.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2EVM5777: I want to use Qt on TDA2EVM5777, what should I do? + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hi, I want to use Qt on TDA2EVM5777 because of project needs, what should I do? I have read other posts and said that it is possible to use ti-processor-sdk-linux-am57xx-evm, how do I deploy it on my board? Thank you. + +Responses: +Leon, The full fledged filesystem supports Qt on the TDA2. Have you read through the User Guide to understand how to generate the full filesystem? Could you please give me more details on the difficulty and also let us know which release you are using? Regards Karthik + +Karthik, The development environment I use is ti-processor-sdk-linux-am57xx-evm-06.02.00.81. But I did not find a user guide on how to generate a complete file system for TDA2. Can you provide links to related materials? Thank you + +Hi Leon, Ok, are you using a TI EVM or your own custom board? If its TI EVM which EVM are you using? If you are using the TI EVM then there are different starting points depending on the board you have - can you please answer the above question so that I can guide you further. Regards Karthik + +Hi Karthik, The hardware I use is TI evm, not customized, specifically TDA2x Vision EVM Kit.(www.ti.com/.../TDA2EVM5777) I think I found the information I needed on the TI website: Processor SDK Linux Automotive Software Developers Guide. I want to confirm that these two are compatible? Thank you + +Leon, Thanks for confirming and I think from your description it seems like you have found the right material. Try it out and let us know if you have further questions. Regards Karthik + diff --git a/sample_embedding_folder2/0949954.txt b/sample_embedding_folder2/0949954.txt new file mode 100644 index 0000000000000000000000000000000000000000..30f5f407739acfef77224cd0d345890aa80dfa3b --- /dev/null +++ b/sample_embedding_folder2/0949954.txt @@ -0,0 +1,31 @@ +Ticket Name: TDA4VM: Where to apply PinMux settings + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 Hi, I have a question regarding the PinMux settings on TDA4. Following scenario: I run a linux and load and start firmware for the other DSPs/R5-Cores via remoteproc from linux. Where do I need to apply the PinMux settings? 1. SPL for R5? 2. SPL for A72? 3. U-Boot for A72? 4. Linux-Kernel ? 5. PDK for the DSPs/R5 firmware? Is there any way in Linux to verfiy, that my PinMux configuration was applied? Best regards, Thomas + +Responses: +Hi Thomas, The pinmux is applied in SPL for R5. We have a very good guide to help you understand this: e2e.ti.com/.../927526 I hope you have taken a look at this guide on how to use pinmux tool and verify that too. Regards Karthik + +Hi Karthik, thank you for the link, I am aware of this post. I know how to configure and generate the PinMux related files. But I'm not 100% sure, in which situations I need to apply these to SPL/U-Boot/Kernel/PDK. This is what I assume. It would be great if you could confirm or decline my assumptions: 1. I need to apply at least the PinMux-Config for the SPL R5, to be able to access the data storage for loading SYSFW, A72 ATF/OPTEE and depending hardware. (For example OSPI/UFS) 2. I need to apply at least the PinMux-Config for the U-Boot, to be able to access the kernel, dtb and rootfs. For example ethernet for booting over ethernet. 3. In the case that the firmware for MAIN_R5_0_0 requires SPI Port, the required PinMux configuration should be applied by linux kernel, and should not changed by firmware itself via boardCfg = (BOARD_INIT_PINMUX_CONFIG) boardReturn = Board_init(boardCfg); because changing PinMux configuration after linux booted is not supported. Q1: Based on these assumptions, could I just apply the whole PinMux configuration on SPL R5, SPL A72 and U-Boot and Linux? Just for simplification of the build process. Q2: Is it wrong or could it lead to problems, if I apply the whole PinMux configuration on Linux, and also configure within my firmware the identical PinMux configuration after firmware start? Q3: Do I even need to apply the PinMux Configuration to the PSDK and rebuild the PDK for my firmware, when the whole PinMux configuration is done by Linux? Best regards, Thomas + +Thomas, Thomas Dorsch said: 1. I need to apply at least the PinMux-Config for the SPL R5, to be able to access the data storage for loading SYSFW, A72 ATF/OPTEE and depending hardware. (For example OSPI/UFS) 2. I need to apply at least the PinMux-Config for the U-Boot, to be able to access the kernel, dtb and rootfs. For example ethernet for booting over ethernet. 3. In the case that the firmware for MAIN_R5_0_0 requires SPI Port, the required PinMux configuration should be applied by linux kernel, and should not changed by firmware itself via boardCfg = (BOARD_INIT_PINMUX_CONFIG) boardReturn = Board_init(boardCfg); because changing PinMux configuration after linux booted is not supported. That is right. We configure the pins of the modules that are exercised/used by the R5 SPL, A72 SPL, A72 u-boot, Linux kernel in the corresponding places. That said doing all the pinmux in the Linux side will have some challenges: 1) The firmwares for R5f get loaded at R5 SPL stage really early. That means you need to be aware of which stage your firmware is loaded so that correspondingly the SPL or u-boot or Linux have to configure pinmux upfront for you. This is still doable but the bigger problem is as below. 2) The SPL/u-boot configures pinmuxes as and when needed. For example: We need to change the voltage of a PMIC that is connected to i2c0. Only when the pmic driver is probed the corresponding i2c pinmux is configured. Ex; wkup_i2c0_pins_default in "arch/arm/dts/k3-j721e-r5-common-proc-board.dts". Is setup when the tps659413 is probed: &wkup_i2c0 { + u-boot,dm-spl; + tps659413a: tps659413a@48 { + reg = <0x48>; + compatible = "ti,tps659413"; + u-boot,dm-spl; + pinctrl-names = "default"; + pinctrl-0 = <&wkup_i2c0_pins_default>; + clock-frequency = <400000>; + The pinmux are configured only when you have their phandles are populated in the nodes that use them. Like pinctrl-0 = <&wkup_i2c0_pins_default>; is used by tps659413a. So when you cannot initialize some pinmux for modules that are not probed by SPL/U-boot you better use the firmware to set your pinmux. My suggestion is to configure pinmux where the modules are needed. Otherwise it will be a hack & you will end up debugging u-boot/SPL/Linux when firmware are not functional. Hope you got my perspective. Best Regards, Keerthy + +Thank you very much Keerthy, I think its almost clear to me now. One last question: "My suggestion is to configure pinmux where the modules are needed". I understand this, but does this conflict with my third assumption? Lets examine your example with changing the voltage of a PMIC via i2c0. This is done via firmware of MAIN_R5_0_0. Firmware of MAIN_R5_0_0 is loaded and startet by Linux/remoteproc. So first of all the R5 SPL, A72 SPL, A72 u-boot and Linux kernel will change the default PinMux configuration of the SoC. After linux has boot and MAIN_R5_0-0 firmware has been loaded and started, the PinMux configuration is changed again for usage of i2c0. Isn't this, technically spoken, a change of PinMux configuration after linux has booted? I've read somehwere in e2e forum, that this is offical not supported. Best regards, Thomas + +Thomas Dorsch said: So first of all the R5 SPL, A72 SPL, A72 u-boot and Linux kernel will change the default PinMux configuration of the SoC. After linux has boot and MAIN_R5_0-0 firmware has been loaded and started, the PinMux configuration is changed again for usage of i2c0. This is not right. R5 SPL loads MAIN_R5_0-0 firmware & firmware does pinmux settings needed for the functionality it intends to do. You should make sure that the same pin configuration is not overwritten by other entities. Thomas Dorsch said: Isn't this, technically spoken, a change of PinMux configuration after linux has booted? I've read somehwere in e2e forum, that this is offical not supported. This is true for TDA2. The pinmux configuration is all done one time at u-boot due to IODelay. For the TDA4 that can be done in any place SPL/U-boot/Kernel or even firmware. Hope this answers all your questions." Please resolve if i have answered all your questions. Best Regards, Keerthy + +Hi Keerthy, "This is not right. R5 SPL loads MAIN_R5_0-0 firmware & firmware does pinmux settings needed for the functionality it intends to do. You should make sure that the same pin configuration is not overwritten by other entities." Sorry, I think we have a misunderstanding here: In my hypothetical scenario, linux would load and start a custom firmware on MAIN_R5_0_0 via remoteproc. (Pretty late, after linux has booted) This custom firmware needs to access i2c0. Where should I put the PinMux configuration for i2c0 for that case? This was the post which made me thinking not changing PinMux configuration after linux has boot: "1) No runtime changing of pinmux." Sorry for asking all these questions. Very best regards, Thomas + +Hi Thomas, Thomas Dorsch said: Sorry, I think we have a misunderstanding here: In my hypothetical scenario, linux would load and start a custom firmware on MAIN_R5_0_0 via remoteproc. (Pretty late, after linux has booted) This custom firmware needs to access i2c0. Where should I put the PinMux configuration for i2c0 for that case? Since the firmware is the one that uses the i2c it should be part of that. Like you mentioned via boardCfg = (BOARD_INIT_PINMUX_CONFIG) boardReturn = Board_init(boardCfg); Linux does not plan to use I2C as per your hypothetical scenario so we should not configure from Linux. Thomas Dorsch said: "1) No runtime changing of pinmux." That means only to say that device tree at boot time will configure the pinmux neded for Linux & does not happen runtime. That does not mean other entities like firmware cannot. So your firmware that runs on a remotecore can configure I2c pinmux when it runs after Linux boots up. FYI: Most firmware today are loaded by either SPL or u-boot. Linux only attaches to the already running remotecore. Early boot by SPL/U-boot and Latea attach by Linux. Best Regards, Keerthy + +Thank you very much Keerthy, that answers all my questions. Best Regards, Thomas + diff --git a/sample_embedding_folder2/0950270.txt b/sample_embedding_folder2/0950270.txt new file mode 100644 index 0000000000000000000000000000000000000000..2d7a639a837396d4b4244165505f56f79f1f9c40 --- /dev/null +++ b/sample_embedding_folder2/0950270.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA3MV: DSP model number for LAPACK + +Query Text: +Part Number: TDA3MV Hello, Please tell me the model number of DSP that LAPACK can use. + +Responses: +Hi, I believe that this is getting discussed in a thread already: https://e2e.ti.com/support/processors/f/791/t/947670 I request you to post on the same thread and ping for further questions on the same topic. Closing this thread now. Regards Karthik + diff --git a/sample_embedding_folder2/0950324.txt b/sample_embedding_folder2/0950324.txt new file mode 100644 index 0000000000000000000000000000000000000000..1ac02c7a52c44d8133f1c530cd4737d50568cc2b --- /dev/null +++ b/sample_embedding_folder2/0950324.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2HV: Operative System Resources + +Query Text: +Part Number: TDA2HV Other Parts Discussed in Thread: TDA2, Hello, Can you provide more information about the Operative System Resource Requirements (CPU, RAM, FLASH) for TDA2? TDA2HV: VSDK RTOS: VSDK Linux: QNX: Autosar: Best regards, + +Responses: +Hi, The question is not clear - are you looking for host operating system resource requirements to develop with TDA2? Please expand your question so that the team can provide an accurate response. Regards Karthik + +Hello Karthik, Yes, we are looking for the minimun requirements for TDA2 for memory for each operative system. Best regards, + +Hi, It is very difficult to answer the question. Can you please expand your question to include more details about your usecase? It would help by starting to experiment with the EVM with the SDK's provided by TI. And then you can estimate based on the application that you are trying to run on the TDA2. Do you have the list of application(s) that you plan to run and they will be realized in the heterogeneous core? We have realized systems with very low requirements of RAM, FLASH for very targetted usecases and we also have systems that had larger requirements. Perhaps, you can also look at the data sheet for numbers on the DRA7 (which is similar to TDA2) - processors.wiki.ti.com/.../Processor_SDK_Linux_Automotive_Data_Sheet Regards Karthik + diff --git a/sample_embedding_folder2/0950717.txt b/sample_embedding_folder2/0950717.txt new file mode 100644 index 0000000000000000000000000000000000000000..fdeec8d5e9360925cc19a06cd9289932b548e9af --- /dev/null +++ b/sample_embedding_folder2/0950717.txt @@ -0,0 +1,8 @@ +Ticket Name: CCS: The CortexA project of TDA2 established by CCS9.30 failed to link + +Query Text: +Tool/software: Code Composer Studio Hi Team, The customer is experiencing below issue and needs your help. **** Build of configuration Debug for project A15_Null_demo **** "D:\\ti\\ccs930\\ccs\\utils\\bin\\gmake" -k -j 8 all -O Building file: "../startup_ARMCA15.S" Invoking: GNU Compiler "D:/ti/PROCESSOR_SDK_RADAR_03_08_00_00/ti_components/cg_tools/windows/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc-4.9.3.exe" -c -mcpu=cortex-a15 -march=armv7-a -mtune=cortex-a15 -marm -mfloat-abi=hard -mfpu=neon -DTDA2xx -I"D:/ti_work2020/workspace_v9.30/A15_Null_demo" -I"D:/ti/PROCESSOR_SDK_RADAR_03_08_00_00/ti_components/cg_tools/windows/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include" -Og -g -gdwarf-3 -gstrict-dwarf -Wall -specs="nosys.specs" -MMD -MP -MF"startup_ARMCA15.d" -MT"startup_ARMCA15.o" -x assembler-with-cpp -o"startup_ARMCA15.o" "../startup_ARMCA15.S" ../startup_ARMCA15.S:1:0: warning: switch -mcpu=cortex-a15 conflicts with -march=armv7-a switch @****************************************************************************** ^ Finished building: "../startup_ARMCA15.S" Building target: "A15_Null_demo.out" Invoking: GNU Linker "D:/ti/PROCESSOR_SDK_RADAR_03_08_00_00/ti_components/cg_tools/windows/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc-4.9.3.exe" -mtune=cortex-a15 -marm -DTDA2xx -Og -g -gdwarf-3 -gstrict-dwarf -Wall -specs="nosys.specs" -mfloat-abi=hard -Wl,-Map,"A15_Null_demo.map" --entry Entry -nostartfiles -nostdlib -static -Wl,--gc-sections -L"D:/ti/PROCESSOR_SDK_RADAR_03_08_00_00/ti_components/cg_tools/windows/gcc-arm-none-eabi-4_9-2015q3/lib/gcc/arm-none-eabi/4.9.3/fpu" -L"D:/ti/PROCESSOR_SDK_RADAR_03_08_00_00/ti_components/cg_tools/windows/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/lib/fpu" -Wl,--defsym,STACKSIZE=0x10000 -Wl,--defsym,HEAPSIZE=0x400 -o"A15_Null_demo.out" "./main.o" "./startup_ARMCA15.o" -Wl,--start-group "D:/ti/PROCESSOR_SDK_RADAR_03_08_00_00/ti_components/cg_tools/windows/gcc-arm-none-eabi-4_9-2015q3/lib/gcc/arm-none-eabi/4.9.3/fpu/libgcc.a" "D:/ti/PROCESSOR_SDK_RADAR_03_08_00_00/ti_components/cg_tools/windows/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/lib/fpu/libm.a" "D:/ti/PROCESSOR_SDK_RADAR_03_08_00_00/ti_components/cg_tools/windows/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/lib/fpu/libc.a" "D:/ti/PROCESSOR_SDK_RADAR_03_08_00_00/ti_components/cg_tools/windows/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/lib/fpu/librdimon.a" "D:/ti/PROCESSOR_SDK_RADAR_03_08_00_00/ti_components/cg_tools/windows/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/lib/fpu/libg.a" -Wl,--end-group makefile:147: recipe for target 'A15_Null_demo.out' failed ./startup_ARMCA15.o: In function `Enter_BootLoader': D:\ti_work2020\workspace_v9.30\A15_Null_demo\Debug/../startup_ARMCA15.S:122: undefined reference to `_start' collect2.exe: error: ld returned 1 exit status gmake[1]: *** [A15_Null_demo.out] Error 1 gmake: *** [all] Error 2 makefile:143: recipe for target 'all' failed **** Build Finished **** Thanks, AnnieA15_Null_demo.rar + +Responses: +Could you check what causes the following error? ./startup_ARMCA15.o: In function `Enter_BootLoader': D:\ti_work2020\workspace_v9.30\A15_Null_demo\Debug/../startup_ARMCA15.S:122: undefined reference to `_start' + diff --git a/sample_embedding_folder2/0950725.txt b/sample_embedding_folder2/0950725.txt new file mode 100644 index 0000000000000000000000000000000000000000..22b0c24bc68cef00764bc6480558b5d341d6059d --- /dev/null +++ b/sample_embedding_folder2/0950725.txt @@ -0,0 +1,12 @@ +Ticket Name: PROCESSOR-SDK-DRA8X-TDA4X: Compile OpenCV with OpenVX + +Query Text: +Part Number: PROCESSOR-SDK-DRA8X-TDA4X Hello, We are working in TDA4 SOC. Is it possible to build opencv with Openvx ? https://www.ti.com/lit/wp/spry260/spry260.pdf?ts=1603377013741&ref_url=https%253A%252F%252Fwww.google.com%252F page 11 Regards, Gokul + +Responses: +Hi Gokul, We encourage the use of optimized OpenVx solution as the default in the TDA4 offerings. Regards Karthik + +Hi Karthik, My question is what does the pdfs says https://www.ti.com/lit/wp/spry260/spry260.pdf?ts=1603377013741&ref_url=https%253A%252F%252Fwww.google.com%252F page 11 Is it possible to build opencv with openvx ? Regards, Gokul + +Hi Gokul, That document is for TDA2, the path forward on the TDA4 is using OpenVx. Regards Karthik + diff --git a/sample_embedding_folder2/0951859.txt b/sample_embedding_folder2/0951859.txt new file mode 100644 index 0000000000000000000000000000000000000000..116cbc6c95d889082424c526bdfdf556c5764583 --- /dev/null +++ b/sample_embedding_folder2/0951859.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA4: Floating point exception (core dumped) when running tidl_demos + +Query Text: +Other Parts Discussed in Thread: TDA2 I trained a caffemodel by caffejacinto and imported it by tidl importer successfully. But I runned the tidl demo in TDA4 RASDK vision apps called apps_tidl_od using my caffemodel, there is an error The logs is shown below. 0.0s: VX_ZONE_INIT:Enabled 0.28s: VX_ZONE_ERROR:Enabled 0.31s: VX_ZONE_WARNING:Enabled Computing checksum at 0x00007FAA51E91F50, size = 252384 Floating point exception (core dumped) What's the reason about the error and how should I do to avoid it? By the way, the caffemodel works well on TDA2. + +Responses: +Can you please tell the exact PSDKRA version you are trying? + +psdk_rtos_auto_j7_07_00_00_11 Actually, this problem has been solved by updating the image preprocess kernel code. I think it can be closed. thank you! + diff --git a/sample_embedding_folder2/0952935.txt b/sample_embedding_folder2/0952935.txt new file mode 100644 index 0000000000000000000000000000000000000000..0d965f313d258945aa3b74d49272896f3dabbade --- /dev/null +++ b/sample_embedding_folder2/0952935.txt @@ -0,0 +1,20 @@ +Ticket Name: TDA2E: Questions: about mipicsi and edma + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2, hi ti support The processor we use is TDA2 ECO 23*23. There are 4 cameras in our system. The interface connected to the deserializer (DS90UB960) is the mipicsi interface. We put this part of the software in the ipu, and now our data stream is ipu (mipicsi->edma->4 pictures)->a15, is this possible? If not, how can we save resources most? thanks! + +Responses: +Hi, team: Add more background information: four 1280(width)*1280(height)@30fps YUV422 output camera sensors these sensors are connected to UB960 via SerDes UB960 CSI0 output to TDA2Ex SOC, UB960 CSI1 output to XXX SOC Due to XXX SOC limitation, virtual channel cannot be used For TDA2Ex: the 1280*1280 input camera inputs need to be resized to 1280*720 for Surround View applications. + +Hi, team: According to the above information, please help to advise the best solution for this requirement: UB960 configuration Basic Synchronized CSI-2 Forwarding? Line-Interleaved CSI-2 Forwarding ? Line-Concatenated CSI-2 Forwarding ? which is our best choice? In TDA2Ex, we need to design the camera data capture with EDMA. The input will be a huge buffer which contains/mixes four camera sensor inputs, and we need to retrieve each of the four independent camera sensor inputs, and get separate data buffer for each camera sensor. Please kindly guide us. + +We have confirmed with our partners that we use Line-Interleaved CSI-2. + +Hi, expert: The UB960 output is as below: So, I think the TDA2E CSI will capture the frame and store it to DDR memory as one big camera input: 1280 width, 1280*4 height (at 30fps). We need to configure EDMA (probably 4 channels) to separate this big buffer into 4 sensor data buffers. Please help us: whether the above understanding is correct? how to configure EDMA for this purpose? Many thanks. + +Hi Peter, Do you mean UB960 merges 4 sensors data into a single frame? Typically UB960 does not merge sensors data, instead it sends them over separate virtual channels. And since they are in separate virtual channels, they will be stored in separate buffers by CAL. Rgds, Brijesh + +Hi, Brijesh Jadav: Due to other SOC's limitation in the system, the virtual channel cannot be used. So, UB960 "Line-Interleaved CSI-2" mode will be used in the project. Please refer to "7.4.25.4 Line-Interleaved CSI-2 Forwarding" in UB960 datasheet. + +Hello Peter, It really depends on what you want to do with YUV data once it is stored in memory. For e.g. if you intend to process the images on GPU, then GPU can be configured to read an image with start_offset and line_stride. By doing this you will not need to split the superframe into 4 frames. Regards, Mayank + diff --git a/sample_embedding_folder2/0954887.txt b/sample_embedding_folder2/0954887.txt new file mode 100644 index 0000000000000000000000000000000000000000..7a773d5d7a4034268c109d92b14f8895d7bd9cae --- /dev/null +++ b/sample_embedding_folder2/0954887.txt @@ -0,0 +1,12 @@ +Ticket Name: Jacinto dra756apabcq1 uboot cannot be started. + +Query Text: +Other Parts Discussed in Thread: DRA756, TDA2SX HI. SDK: PROCESSOR_SDK_VISION_03_05_00_00 Our original main chip is TDA TDA2sxbtqabcq1, and uboot can start normally, Now Jacinto dra756apabcq1 of pin to pin cannot be started. What needs to be modified + +Responses: +Hi gj y, Can you share the u-boot logs on your board? I want to know where exactly is the u-boot failing. Best Regards, Keerthy + +If the SOC is tda2s, it will boot normally. If it is dra756, there is no log output。 Is there a difference between the configuration of dra756 and tda2sx bootmode? tda2sx bootmod config: + +There should be no difference of boot setting between the two devices. + diff --git a/sample_embedding_folder2/0955350.txt b/sample_embedding_folder2/0955350.txt new file mode 100644 index 0000000000000000000000000000000000000000..4ac8f46e75261d3de25d9cabb0b3686375ef5ccd --- /dev/null +++ b/sample_embedding_folder2/0955350.txt @@ -0,0 +1,22 @@ +Ticket Name: TDA2xx_EVM_BIOS : Error in importing tensorflow pretrained model + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi I have installed PROCESSOR_SDK_VISION_03_07_00_00 which i have configured for tda2xx_evm_bios_all. I have copied the REL.TIDL.01.01.03.00 folder to my windows pc and using the tidl import tool tidl_model_import.out.exe. when i give the pretrained tensorflow model frozen_graph file x.pb to import tool tidl_model_import.out.exe the command executed is tidl_model_import.out.exe ..\..\test\testvecs\config\import\tidl_import_x.txt then it gives me this message " TF Model File : ..\..\test\testvecs\config\tensorflow_models\x\x.pb Op Type Cast is Not suported will be By passed Op Type Shape is Not suported will be By passed Could not find the requested input Data : mul !! " I was referring the text file in the path ..\..\test\testvecs\config\import\*.txt file There are paramters mentioned as quantizationStyle quantRoundAdd numParamBits preProcType conv2dKernelType I referred the documentation TIDeepLearningLibrary_UserGuide.pdf where the explanation of each parameters is given but how can we determine that for my particular model which paramters need to set and to what value. Request you for your inputs. Regards Pratik + +Responses: +Hello , Any update on this ?? Regards Pratik Brid + +Hi Pratik, Sorry for the delay. The error is because of your models has unsupported layers, please refer to "TIDeepLearningLibrary_DataSheet.pdf" for supported layers. Refer to section "3.6.2 Importing the Model and Parameters" for the explanation about the parameters in the import.txt file. Thanks, Praveen + +Hi Praveen, For the above two errors on the unsupported layers, Op Type Cast is Not suported will be By passed Op Type Shape is Not suported will be By passed is there any alternative available which can be used in model re-training so that the layers would be supported with respect to TIDL? I am trying to import face-detection which was trained in tensorflow + +Hi Sudhanshu, One way to use only those layers which are supported in TIDL in your network, please refer to TIDL datasheet for supported layers. Other way would be split network up to TIDL supported layers and run that using TIDL and run remaining network outside the TIDL. Thanks, Praveen + +Hi Praveen, Thank you for the reply I had referred to TIDL datasheet and understood about the unsupported layers. I am a beginner in DL, so can you suggest how am I supposed to split my layers/networks in model file(x.pb). The model I am using is pre-trained model on Face-detection(Facebox). Also, with respect to running supported layers on TIDL and remaining outside the TIDL, by outside do you mean importing the layers on EVE cores or is it something else? Regards Sudhanshu + +Hi Sudhanshu, You need to freeze and optimize the graph with all the layers from input to the last supported layer and run this on EVE core and remaining on the DSP core, please refer tp FAQ 24 in the TIDL user guide for more details. Thanks, Praveen + +Hi Praveen, Sorry the late reply and thanks for your above response. I am using PROCESSOR_SDK_VISION_03_07_00_00 which had TIDL version 01.01.03.00... So, in the UserGuide, there is no FAQ 24(Kindly mention what version u are referring to, so that latest TIDL import tool can be referred) However, in the above mentioned TIDL user-guide's FAQ 22, it mentions about how to run the splitted networks on EVE and DSP respectively.. I saw that DSP take input of bin files.. I am still not able to understand how are we going to create binaries for the unsupported layers? SInce TIDL's import tool will create bin file only for the supported layers. Thanks + +Hi I am referring to latest release of PROCESSOR_SDK_VISION_03_08_00_00 which had TIDL version 01.02.00.00... which had this FAQ24.Please refer to that. If you have unsupported layers in the middle of the network then that model can't be run on TDA2 (you may have to re-train your model with supported layers), but if you have unsupported layers at the end then those can be offloaded to DSP. Thanks, Praveen + diff --git a/sample_embedding_folder2/0956728.txt b/sample_embedding_folder2/0956728.txt new file mode 100644 index 0000000000000000000000000000000000000000..2eee2ae5a2a449d2fd5392e4a63751790c3443b0 --- /dev/null +++ b/sample_embedding_folder2/0956728.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2HV: Linux and RTOS requirements and limitations + +Query Text: +Part Number: TDA2HV Other Parts Discussed in Thread: TDA2 Hello, We are analysing the Linux and RTOS operative system. What minimun memory (Flash, RAM) requirements we have for each Operative System? What is the minimun time for starting up for each operative system (fast boot for RTOS is 500ms, right? Is fast boot available for Linux)? Can you rate the required work for porting the project? (TDA2px)RTOS -> (TDA2px)Linux (TDA2px)Linux-> (TDA2px)RTOS (TDA2px)RTOS -> (TDA4)OpenVX (TDA2px)Linux-> (TDA4)OpenVX. Best regards, Andrés + +Responses: +Hi, Generally, we have 2GB RAM for all TDA2xx device family soc & 1GB is enough to boot both Linux & RTOS OS, Please refer to the TRM to know the flash memory. RTOS Fast boot is available only for the TDA3xx platform & Linux Fast boot is supported only in TDA2xx platform. Refer to the below wiki page to know about the fast boot in Linux. Refer to the TDA3xx user-guide to run the fast boot use-case on RTOS file:///C:/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/docs/UserGuides/VisionSDK_UserGuide_TDA3xx.pdf Run the fast boot use-case according to user-guide instructions to know the time taken by the RTOS for fast boot For porting (TDA2px)RTOS -> (TDA2px)Linux (TDA2px)Linux-> (TDA2px)RTOS Can you add more details on what you are trying to port from RTOS to Linux & Linux to RTOS? Are you trying to port the vision SDK use-case from RTOS to Linux & vice versa? For porting (TDA2px)RTOS -> (TDA4)OpenVX (TDA2px)Linux-> (TDA4)OpenVX. Can you add more details? what you are trying port from TDA2px RTOS to TDA4 & TDA2px Linux to TDA4? Thanks Gaviraju + +Hello Gaviraju, So, the minimun RAM memory needed would be 1GB for both cases, and the Operative System Selection does not affect the RAM size selection, right? Would be possible a smaller RAM than 1GB for some cases? We would like to fit the RAM memory size for reducing the BOM cost for our project, Can you support in that way? Only for confirm, the fast boot is only available from Linux for TDA2HV and TDA2px, right? Regarding to porting, we would like to know the possibilities for porting some AlgorithmLink_Plugins we have and the few Usecases from RTOS -> Linux and from Linux -> RTOS. For the future task, we are managing the possibility of migrate to TDA4x with OpenVX operative system and we would like to know what is the easier way from TDA2xx RTOS or TDA2xx Linux. Best regards, Andrés + +Hi, Please ask the question related to RAM, Flash, any resource in this thread : The Linux fast boot is supported in all TDA2xx families of SOC but we tested only in TDA2Ex, TDA2Px, TDA2xx platforms. If you are familiar with the vision SDK framework then it's a 2 weeks effort to port the algorithm plugin from RTOS to Linux & vice versa. I'm not familiar with the OpenVX framework, so no idea about porting from TDA2px to TDA4. I will check with the team & let you know. Thanks Gaviraju + +Hi, Please go through the below thread to know about the transition from tda2 - tda4 https://e2e.ti.com/support/processors/f/791/t/895725 Thanks Gaviraju + diff --git a/sample_embedding_folder2/0956938.txt b/sample_embedding_folder2/0956938.txt new file mode 100644 index 0000000000000000000000000000000000000000..e27d8326eae6372bdf9c79d79f0f4a95cba72745 --- /dev/null +++ b/sample_embedding_folder2/0956938.txt @@ -0,0 +1,20 @@ +Ticket Name: CCS/TDA2EG-17: Is it possible to run Different Network on Different core (TDA Platform)? + +Query Text: +Part Number: TDA2EG-17 Other Parts Discussed in Thread: TDA2 Tool/software: Code Composer Studio Hi . We have a customer made their PCB within TDA2. Some questions: A. Is it able to run the different Deep Learning Network on different core at the same time on TDA2 Platform? B. If yes, please provide the related document. If no, which TDA platform can allow them to do this? Please comment ,thanks. BR Rio + +Responses: +Hi Rio, A. Yes B. We have maximum 4 EVEs, each of them can run separate nets, please refer to TIDL use cases in vision SDK Thanks, Praveen + +Hi Parveen: Which Section of TIDL document to address different Network model for doing the Deep Learning? I only can find we can set 4 EVE running at the same time, but no clear instruction to address different model running on different EVE. please comment, thanks. BR Rio + +Hi Rio, We don't have any document or instruction to address different model running on different EVE (because we had not tried this at our end), but it is possible to do this. Thanks, Praveen + +Hi Praveen: Do you have any clear instruction or some hints for us to achieve this? Any help to let us try? BR Rio + +Hi Rio, I don't know how to achieve this, may be someone from VSDK team can help. Kindly contact them offline. Thanks, Praveen + +Hi Praveen: I don't know who is the right person of the VSDK team. May you send me their email to my email? Thanks. BR Rio + +Hi Rio, You can contact Gaviraju for VSDK questions and he will direct to someone if required. Thanks, Praveen + diff --git a/sample_embedding_folder2/0957059.txt b/sample_embedding_folder2/0957059.txt new file mode 100644 index 0000000000000000000000000000000000000000..7650fc12a6be7cef748a4ecc4305e2ffa3cdbdcf --- /dev/null +++ b/sample_embedding_folder2/0957059.txt @@ -0,0 +1,25 @@ +Ticket Name: TDA2EXEVM: TIDL import Warning: TIDL_ConvolutionLayer, paramater combination has gone with limited validation + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2 Hi, I have the following warning when converting a customized onnx model to TIDL format. WARNING: [TIDL_ConvolutionLayer] Conv_11 Layer paramater combination has gone with limited validation and may have some issues. Following are the parameters Kernel 5x5 Stride 1x1 dilation 1x1 Pad 0x0 Bias 1 According to the documentation of TIDL (Jacinto 7 Version: 01.02.00), the Kernel Size passes the validation: TIDL_ConvolutionLayer: + +Regular & depth-wise conv will be imported as conv. +For TF and tflite DepthwiseConv2dNative, depth_multiplier shall be 1 in Number of input channels > 1. +ReLU & BN & Pooling will be merged into conv to get better performance. 1x1 conv will be converted to innerproduct. +Validated kernel size: 1x1, 3x3, 5x5, 7x7,1x3,3x1,1x5,5x1,1x7,7x1. +If stride == 4, only supported kernel == 11x11. +if stride == 2, kernel should be less than 7. Even dimensions of kernel like 2x2, 4x4, 6x6 are not supported. +Depthwise Separable Convolution only supports 3x3,5x5,7x7 with stride 1 and 3x3 with stride 2. +Its recommended to have kernelH*kernelW*input channel/groupNum+enableBias % 64 == 0 whereever possible as it results into better utilization of hardware. I have tried to change dilation, padding, stride and Bias and the Warning remains. Only reducing the Kernel to 3x3 solves the Warning. Shouldn't a 5x5 Kernel be valid? What is wrong with my parameter combination? Best Regards Gildardo + +Responses: +Hi Gildardo, Are you using TDA2 EVM or TDA4 EVM ? kindly clarify because they use different code bases. Thanks, Praveen + +Hi Praveen, I am using TDA4, it was linked to TD2 because I created the issue from "Ask a related question" Sorry for the confusion Best Gildardo + +Hi Gildardo, The warning is mainly coming because this particular combination of parameters is not tested as part of our testing. But most likely it should work. Are you seeing any specific issue with this particular layer? Regards, Anshu + +Hi Anshu, Thank you for your answer. I don't have a particular problem with the model . I have tested with the bare-metal application but I have not validated the correctness of the output yet. Could it be possible to enumerate the validated parameter combinations for kernel 7x7 so that I can get rid of the warning? Best Regards Gildardo + +Hi Gildardo, Following is the terminology used here : Ni = number of input channels No = number of output channels G = number of groups NiPerG = number of input channels per group' NoPerG = number of output channels per group Fr = Kernel dimension in row ( 7 in this case) Fr = Kernel dimension in col ( 7 in this case) ) Currently following are the restriction of 7x7 kernels : 7x7 stride 1x1 : Supported 7x7 Stride 2x2 : Dilation 1x1 K = 1: currently natural C ( i.e. Not Optimized) K = 2: currently natural C ( i.e. Not Optimized) K = 3: optimized 8 bit tested, 16 bit K > 3: optimized Here K is NiPerG * Fr * Fc + bias ( if enabled) 7x7 Stride 2x2 : Dilation nxn ( n > 1 ) : Not supported. 3x3 5x5 7x7 with stride 1x1 and NiPerG = NoPerG = 1, You can also refer the following document to see the supported convolutions : Regards, Anshu + diff --git a/sample_embedding_folder2/0957872.txt b/sample_embedding_folder2/0957872.txt new file mode 100644 index 0000000000000000000000000000000000000000..e0d7e9933defbcf34b38c3216ce1b8b6ad0cf09f --- /dev/null +++ b/sample_embedding_folder2/0957872.txt @@ -0,0 +1,12 @@ +Ticket Name: PROCESSOR-SDK-TDAX: Capture raw radar data by RVP-TDA3X + +Query Text: +Part Number: PROCESSOR-SDK-TDAX Other Parts Discussed in Thread: TDA2 Hi supports, We are working on development of radar system by RVP-TDA3X. And I want to capture raw data via ethernet. Firstly, I generated new usecase as below config. IssCapture -> Select -> NetworkTx (IPU1_1) And, I tried to capture by your sample code for TDA2 cascade radar. (save 'dataArray' on line 882) as blow. ...\PROCESSOR_SDK_RADAR_03_08_00_00\vision_sdk\apps\src\rtos\radar\src\usecases\cascade_radar_object_detect\radar_cascade_demo.m I used default radar parameter (width:128,height:128,15fps) for raw dara capturing. But packet loss seems to occur. So, I decreased data size (width:32,height:32,1fps) and captured again. It seems that there is no packet loss but data size is very large(more than 700KByte). I understand the data size of radar cube would be 49152Byte (2byte×2(IQ)×3(Tx)×4(Rx)×32(width)×32(height)). Therefore 'dataArray' in your sample code should be 49152Byte. Is my understanding correct? If correct, let me know why are data size so big? Regards, Kazuki + +Responses: +Sorry, I attached image again, + +Can anyone give me a comment? Regards, Kazuki + +Hi, Cascade Radar script is for Cascade Radar EVM to capture object data. You can use ~\vision_sdk\apps\tools\network_tools\bin\network_rx.exe for capturing raw data from RVP. Refer to the user guide under ~\vision_sdk\apps\tools\network_tools\docs for how to use the tool. + diff --git a/sample_embedding_folder2/0960432.txt b/sample_embedding_folder2/0960432.txt new file mode 100644 index 0000000000000000000000000000000000000000..0e7392928250d36632df66dc3d44d8c06464df4e --- /dev/null +++ b/sample_embedding_folder2/0960432.txt @@ -0,0 +1,34 @@ +Ticket Name: TDA2EXEVM: what is the limit on the number of groups in convolution + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2 Hi,Because I use group convolution and the fps is very low, what is the limit on the number of groups in convolution? + +Responses: +Hi, The max number of supported groups in convolution are 1024. Thanks, Praveen + +Hi, Thank you for your reply. The number of group I used in each convolution is less than 1024, but my fps is still very low. I think it is the problem of tidl importTool. How to set the conv2dKernelType of tidl_import_JDetNet.txt? Only if the size of conv is less than 32*32 is set to 1. Or are there other conditions? Thanks + +Hi, Sorry for the late reply. Please set conv2dKernelType to 1 if the size of conv is upto 64*64 and try if it can improve the fps. Thanks. Praveen + +Hi, Thank you for your reply. I have already tried to set conv2dKernelType to 1 if the size of conv is upto 64*64, but the fps still very low. Are there any other restrictions? Thanks. + +Hi, If you are running SSD model, you may need to modify below as shown to overcome low fps, keep_top_k: 20 confidence_threshold: 0.15 More details are in the below thread. https://e2e.ti.com/support/processors/f/791/t/689617 Thanks, Praveen + +Hi, Thank you for your reply. Yes, I was running SSD model. I have already tried to set keep_top_k to 20 and confidence_threshold to 0.15, but the fps still very low. Are there any other restrictions or import tool have some problems? Thanks. + +Hi, >> Are there any other restrictions or import tool have some problems? No, there are no other problems in the import tool. This low fps is because of grouped convolutions will take more time for processing in TIDL, so this could be a reason for low performance. Kindly try with small grouped convolutions. Thanks, Praveen + +Hi, Thank you for your reply. Normally, the use of group convolution can increase the execution speed of the model, but why does the use of group convolution in tidl make the fps drop? By the way, The total parameter amount of the ssdJacintoNetV2 I trained is 3.25693e+06, and Total Giga Macs is 3.6114. After the import tool, the executed fps is 20, but why the total parameter amount of the ssd model I additionally designed is less (253024),Total Giga Macs is 1.4182, and after the import tool, the executed fps is 15 (drop)? The settings have been set according to the user guide. Are there any additional restrictions on tidl and import tool? Thanks. + +Hi, Kindly share the import config file for checking ? Thanks, Praveen + +Hi, I have shared my import config file. Please test for the import tool and fps. Thanks.import_config_file.7z + +Hi, Import config file looks fine, the conv2dKernelType was set correctly. The fps reduction is mainly because of uneven and small tensor sizes. The kernels are be better optimized for tensor sizes multiple of 8. I think fps you got is the final number for your model. You can try one last thing setting "nms_threshold: 0.4" in the deploy.prototxt. Thanks, Praveen + +Hi, Thank you for your reply. The situation you mentioned in my model is starts from the pool3 layer, but this design is the same as ssdJacintoNet, So why my fps is lower than ssdJacintoNet? What is the principle of nms_threshold: 0.4? I have tried setting nms_threshold to 0.4, but the fps has not changed. Thanks. + +Hi, >> The situation you mentioned in my model is starts from the pool3 layer, but this design is the same as ssdJacintoNet, So why my fps is lower than ssdJacintoNet? Even though this situation started from pool3 layer, but in the earlier layers there are grouped conv layers which are not well optimized in the TDA2 (as we do SIMD across numchannels), so there is performance degradation in your model. Thanks, Praveen + +Hi, Thank you for your reply. >>In the earlier layers there are grouped conv layers which are not well optimized in the TDA2 But the maximum grouped conv of each layer is only 4, which is the same as the maximum grouped conv value of the ssdJacintoNet. Or is there a limit to the number of grouped conv? If so, how much is it? Thanks. + diff --git a/sample_embedding_folder2/0960445.txt b/sample_embedding_folder2/0960445.txt new file mode 100644 index 0000000000000000000000000000000000000000..752700b2d94abce521558fc259c92c2ea4568320 --- /dev/null +++ b/sample_embedding_folder2/0960445.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2SX: L3 Custom Error + +Query Text: +Part Number: TDA2SX Hi, EVM board:VAYU EVM XC5777X CPU BOARD SDK3.07 Customer uses configuration tda2xx_evm_linux_all, and he doesn't modify the sdk. The following error may appear when the device starts loading multi-core, the probability is about 10% [ 10.551985] ------------[ cut here ]------------ [ 10.551993] WARNING: CPU: 0 PID: 101 at drivers/bus/omap_l3_noc.c:147 l3_interrupt_handler+0x25c/0x368() [ 10.551997] 44000000.ocp:L3 Custom Error: MASTER DSP1_MDMA TARGET L4_PER3_P3 (Read): Data Access in User mode during Functional access [ 10.552053] Modules linked in: dwc3(+) udc_core virtio_rpmsg_bus(+) bc_example(O) extcon_usb_gpio ahci_platform libahci_platform libahci libata scsi_mod omap_sham pvrsrvkm(O) omap_des omap_aes_driver c_can_platform c_can can_dev omap_rng dwc3_omap rng_core extcon rtc_omap omap_remoteproc remoteproc virtio virtio_ring sch_fq_codel [ 10.552057] CPU: 0 PID: 101 Comm: kworker/0:2 Tainted: G W O 4.4.84-00038-g0af2ab5 #1 [ 10.552059] Hardware name: Generic DRA74X (Flattened Device Tree) [ 10.552066] Workqueue: events_freezable thermal_zone_device_check He used the SDK3.08 version before and found the same problem (the probability is much higher than SDK3.07) www.ti.com.cn/.../PROCESSOR-SDK-TDAX + +Responses: +Hi, Is the behavior also seen on the TDA2-EVM or a custom board? Can you please confirm that so that I can check this further on my side. Regards Karthik + +Hi, He test on the VAYU EVM XC5777X CPU BOARD. + +Hi, Any update? + +Hi Nancy, On the older J6 releases, some firmwares were making an access to a region that it was prohibited to do so, this happened only during the boot up. This is a warning to indicate that this happened. There is no impact due to this, please treat this as a warning from the SDK binary. Regards Karthik + diff --git a/sample_embedding_folder2/0960714.txt b/sample_embedding_folder2/0960714.txt new file mode 100644 index 0000000000000000000000000000000000000000..9ddcdfe3209f5248db91f049bebf806c0f3e3ec1 --- /dev/null +++ b/sample_embedding_folder2/0960714.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: TDA2 SX customer wants to know how to run-time low down the CPU speed. + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi Champs: Customer made their own TDA2 SX PCB. please see this PDF page 43. https://www.ti.com.cn/cn/lit/an/sprac22/sprac22.pdf?_ticdt=MTYwNjE5Mzc0M3wwMTc1ZjJkZGQyMzYwMGEwMTkzMTI0OTUwOWYwMDMwNzMwMDEzMDZiMDA5Nzh8R0ExLjIuNDU5MTY4NDIwLjE2MDYwOTc0MjZ8MA This customer wants to low down the CPU speed when CPU is running. They know how to low down the CPU speed while in SPL stage. However, if the CPU is over-heat during run-time, how to low down the CPU speed while in system running stage not the Booting stage? please provide the solution in detail. THanks. BR Rio + +Responses: +Hi Rio, Do they have CPUREQ/CPU DVFS enabled? Best Regards, Keerthy + diff --git a/sample_embedding_folder2/0962457.txt b/sample_embedding_folder2/0962457.txt new file mode 100644 index 0000000000000000000000000000000000000000..3f692965e1f9ed72ca639a9aee9248366e85f0ce --- /dev/null +++ b/sample_embedding_folder2/0962457.txt @@ -0,0 +1,26 @@ +Ticket Name: Compiler/TDA2EG-17: TDA2Ex-17 qspi flash + +Query Text: +Part Number: TDA2EG-17 Other Parts Discussed in Thread: TDA2 Tool/software: TI C/C++ Compiler Hi,ti expert I am using vision 03.08 to develop on the user board.When I was debugging the qspi flash, I wrote a flash format image file from the linux system to the flash, and then restarted the system, but there was no output from the serial port.The boot sequence of my hardware is sd--->qspi. Why does writing data to qspi flash affect the normal startup of the system? + +Responses: +Hi, Could you please make sure that your SD boot is primary and QSPI is secondary? Also ensure that the images in the SD card are release images that are known to work. QSPI formatting should not impact SD boot. Best Regards, Keerthy + +Hi, Yes, I have confirmed, I modified the startup sequence to the following mode: The system can be started normally. The following new problems have occurred: 1、I execute the following command in linux system $ dd if=/dev/urandom of=test.bin bs=64 count=1024 $ dd if=/dev/mtd0 of=12.bin bs=64 count=1024 $ diff test.bin 12.bin The data of the two times is the same, indicating that the data has been successfully written to the spi flash 2、I restart the system, enter the uboot command line, and execute the following command: => fatload mmc 0 0x82000000 MLO 185461 bytes read in 10 ms (17.7 MiB/s) => md 0x82000000 0x10 82000000: 00000040 0000000c 00000000 00000000 @............... 82000010: 00000000 45534843 4e495454 00005347 ....CHSETTINGS.. 82000020: ffffffff ffffffff ffffffff ffffffff ................ 82000030: ffffffff ffffffff ffffffff ffffffff ................ => sf probe 0 SF: Detected gd25s513mdy2g with page size 256 Bytes, erase size 64 KiB, total 64 MiB => sf erase 0 0x30000 SF: 196608 bytes @ 0x0 Erased: OK => sf write 0x82000000 0x0 0x30000 device 0 offset 0x0, size 0x30000 SF: 196608 bytes @ 0x0 Written: OK => sf read 0x82000000 0x0 0x30000 device 0 offset 0x0, size 0x30000 SF: 196608 bytes @ 0x0 Read: OK => md 0x82000000 0x10 82000000: 00000000 00000000 00000000 00000000 ................ 82000010: 00000000 00000000 00000000 00000000 ................ 82000020: 00000000 00000000 00000000 00000000 ................ 82000030: 00000000 00000000 00000000 00000000 ................ From the last command, we can know that what is read out is empty.Did not write successfully, but the process of writing shows success How can I find the cause? Thanks! + +Hi, The QSPI boot is not supported in vision SDK 3.08 & only SD boot is supported. This is clearly mentioned in the vision SDK Linux user-guide. Thanks Gaviraju + +Hi, I now change to the v03.07 sdk package and use qspi4 as the boot device to burn images of MLO, kernel dtb, kernel and other cores. What are the special requirements for the files? What is the location of the image in qspi? How to set the uboot startup command? Thanks! + +Hi, Follow the below threads to flash the boot images to QSPI memory. Thanks Gaviraju + +Hi, Thanks for your reply.How to set the bootargs parameters of uboot from qspi flash? + +Hi, I will check with the U-boot expert & let you know. Thanks Gaviraju + +Hi, Please refer the below link: Thanks Gaviraju + +Hi, Thanks. But this is not a big reference for me. My board only has qspi flash, so I need to set bootargs, and I need to set which kernel and dtb mirrors are read from. The root file system I use is in ubifs format, so I need to set boot parameters. So can you tell me the startup parameter configuration for booting from qspi flash? + +Hi, I could not find references for TDA2. There is one for AM654x: https://elixir.bootlin.com/u-boot/latest/source/include/configs/am65x_evm.h#L120 Similar thing needs to be tried for TDA2. You will have to experiment a bit. There is some older link: https://processors.wiki.ti.com/index.php/UBIFS_Support That gives an over all idea but might not be relevant now. Best Regards, Keerthy + diff --git a/sample_embedding_folder2/0962509.txt b/sample_embedding_folder2/0962509.txt new file mode 100644 index 0000000000000000000000000000000000000000..21f443e717a1352f986e74834c1173e0c4eb09ba --- /dev/null +++ b/sample_embedding_folder2/0962509.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: GPIO Pull-Up Resistance Value + +Query Text: +Part Number: TDA2SX Dear Support member The GPIO8 _1Pin can be set to Pull - up/Down. What is the resistance value when Pull-Up is performed? Best Regards, + +Responses: +The internal pull-up can vary based on process and temperature. Nominal is about 50K-ohms, but can vary from 10K-ohms to over 100K-ohms. + diff --git a/sample_embedding_folder2/0963284.txt b/sample_embedding_folder2/0963284.txt new file mode 100644 index 0000000000000000000000000000000000000000..91d52b32603766e48069d09f5ea408a7048b5530 --- /dev/null +++ b/sample_embedding_folder2/0963284.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2SX: generation temperature of the device from the total power + +Query Text: +Part Number: TDA2SX Dear Support member The customer is considering a system using TDA2Sx. Using the Power_consumption sheet provided by TI, we calculated a total power as 7718 mW. Is it possible to calculate the generation temperature of the device from this total power? Best Regards, + +Responses: +Dear Support member Could you reply for this question? Best Regards, + +Hello, It is not possible to accurately predict the temperature. We do provide a thermal model that can be used along with a model of the customers system to estimate the power based on the use case and thermal characteristics of the SoC and heat sink etc. TDA2x Thermal Model Regards, Kyle + diff --git a/sample_embedding_folder2/0963372.txt b/sample_embedding_folder2/0963372.txt new file mode 100644 index 0000000000000000000000000000000000000000..259dbf796940d5724a9f512a4ce0376c6f0564fd --- /dev/null +++ b/sample_embedding_folder2/0963372.txt @@ -0,0 +1,16 @@ +Ticket Name: Compiler/PROCESSOR-SDK-DRA8X-TDA4X: TDA4- Deep Learning question: Can we run the different network model (DeepLearning) on Different Core concurrently? + +Query Text: +Part Number: PROCESSOR-SDK-DRA8X-TDA4X Tool/software: TI C/C++ Compiler Hi . Customer is using TDA2 as their current products now. We get a question: #1. Does TDA2 EX17 can run the different network model on different core concurrently? for ex: Arm to run TensorFlow SSDV1. EVE to run TensorFlow SpineNet? #2. Following #1, if TDA2 cannot do that, does TDA4 be able to do this? If yes, is there any document to address this? Thanks. BR Rio + +Responses: +SDK version ? Regards Vineet + +Hi Vineet: Customer is always using / evaluating the newest SDK for TDA2/TDA4. Thanks. BR Rio + +Hi Rio, Isn't this thread related to the following thread : https://e2e.ti.com/support/processors/f/791/t/956938 Regards, Anshu + +Hi Anshu: Yes, those 2 E2E are the same, so, where is the solid answer for those 2 E2E? please specify. Thanks. BR Rio + +Hi Rio, As I understand that Praveen is already looking into the other thread and I will ping him once again. Can we close this thread and get the reply in the other thread itself? Regards, Anshu + diff --git a/sample_embedding_folder2/0965951.txt b/sample_embedding_folder2/0965951.txt new file mode 100644 index 0000000000000000000000000000000000000000..2bee8ae2f92fb7cdbb9869324c09439122826d02 --- /dev/null +++ b/sample_embedding_folder2/0965951.txt @@ -0,0 +1,12 @@ +Ticket Name: Compiler/PROCESSOR-SDK-DRA8X-TDA4X: TDA4 u-boot.img + +Query Text: +Part Number: PROCESSOR-SDK-DRA8X-TDA4X Tool/software: TI C/C++ Compiler Hi . #1. When I try to build the u-boot for TDA4, there is a directory output: --> /opt/ti-processor-sdk-linux-j7-evm-07_01_00_10/board-support/u-boot_build# ls a72 r5 And there are 2 u-boot.img in the A72 and R5 folder. this is the A72 : 1035136 Dec 21 17:22 u-boot.img , And in this folder of the pre-build, there are 2 u-boot.img. -rw-r--r-- 1 root root 1035160 Nov 20 04:57 u-boot.img -rw-r--r-- 1 root root 1035160 Nov 20 04:57 u-boot-j7-evm.img Can anyone explain which is the u-boot.img I need to flash into SD card? Why those files are having different size? #2. Besides, there is no any document to explain how to R5/A72 u-boot.img difference and how to use it. #3. I'm facing this issue: libfdt fdt_check_header(): FDT_ERR_BADMAGIC No FDT memory address configured. Please configure the FDT address via "fdt addr
" command. Aborting! Bad Linux ARM64 Image magic! So, I want to compile the u-boot.spl , which output of the SPL file can have this FDT imported? Do not tell me to do this: env default -f -a , since this solution never work on the newest SDK !! BR Rio + +Responses: +Hi Rio, TDA4 is pretty different when compared to TDA2. The RoM Code expects tiboot3.bin as the first image. Here are few details about the images that you need to compile and copy to SD card: https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-jacinto7/latest/exports/docs/linux/Foundational_Components_U-Boot.html#u-boot-user-s-guide Look at the image formats section: tiboot3.bin contains the R5 SPL & corresponding DTB.. tispl.bin contains the A72 SPL, corresponding DTB & ATF/OPTEE u-boot.img the A72 u-boot.img. sysfw.itb that is dmsc/m3 binary. The above 4 binaries are must and should for you to boot. So to answer your questions: 1. under r5 please copy the tiboot3.bin & under A72 please copy tispl.bin & u-boot.img to SD card boot partition. (sysfw.itb can be copied from pre-built binaries) 2. https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-jacinto7/latest/exports/docs/linux/Foundational_Components_U-Boot.html#u-boot-user-s-guide Check the Image formats section. you will understand the difference very well. 3. First make use of $SDK_PATH/bin/mksdboot.sh script: https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-jacinto7/latest/exports/docs/linux/Overview/Processor_SDK_Linux_Formatting_SD_Card.html?highlight=mksdboot#partitioning-sd-card This will create a working card & then on top of that if you make custom changes you can copy the Image & k3-j721e-common-proc-board.dtb to the boot folder of your rootfs partition. Best Regards, Keerthy + +Hi Keerthy: #1. I have found this Jira, and after checking the patch, the patch is already inside the newest SDK. https://jira.itg.ti.com/browse/LCPD-19753 I have rebuilt my uboot A72/R5. and copied them into the SD card. However, this issue remains. #2. My SD card containing is as the below. root@ubuntu-vm:/opt/ti-processor-sdk-linux-j7-evm-07_01_00_10/board-support/prebuilt-images# ls /media/root/BOOT/ bl31.bin k3-j721e-common-proc-board.dtb k3-j721e-vision-apps.dtbo u-boot.img uenv.txt.jailhouse bl32.bin k3-j721e-common-proc-board-infotainment.dtbo sysfw.itb uEnv.txt uenv.txt.psdkra Image k3-j721e-common-proc-board-jailhouse.dtbo tiboot3.bin uenv.txt.base version Image-j7-evm.bin k3-j721e-pcie-backplane.dtbo ti-fs-firmware-j721e-gp.bin uenv.txt.disp_sharing ipc_echo_testb_mcu1_0_release_strip.xer5f k3-j721e-proc-board-tps65917.dtb tispl.bin uenv.txt.dra821a #3. To make it quick, may you share me your SD card contain files onto the TI drive? Thanks. BR Rio + +Rio, All i am using is the SDK prebuilt binaries: https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-jacinto7/latest/exports/tisdk-default-image-j7-evm.tar.xz Best Regards, Keerthy + diff --git a/sample_embedding_folder2/0966444.txt b/sample_embedding_folder2/0966444.txt new file mode 100644 index 0000000000000000000000000000000000000000..4a3a878e9c2036fe338dccbc8c1d8568c2a0cbdb --- /dev/null +++ b/sample_embedding_folder2/0966444.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2X-How to boot from SSD (Solid State Drive) after TDA2 is successfully compiled to generate Linux system + +Query Text: +Other Parts Discussed in Thread: TDA2 Hi Team, The customer successfully compiled the linux system according to PROCESSOR_SDK_VISION_03_08_00_00_setuplinux.bin. Successfully boot from SD card. The mmwcas_dsp_evm development board comes with a 512GB SSD. He wants to start the linux system from the SSD, is there any relevant guidance document for operation? Best Regards, Annie Liu + +Responses: +Hi Annie, We do not have support for booting linux from SSD on TDA2. That is not supported on our SDK. Best Regards, Keerthy + +Hi Keerthy, Customer has follow-up questions that need your help. Except booting from the SD card, is it able to boot from the SPI FLASH? If it supports SPI FLASH startup, how should it operate? Best regards, Annie + +Hi Annie, https://e2e.ti.com/support/processors/f/791/p/962457/3558003#3558003 As per the above thread only SD boot is supported on 3.8 VSDK. Best Regards, Keerthy + diff --git a/sample_embedding_folder2/0966767.txt b/sample_embedding_folder2/0966767.txt new file mode 100644 index 0000000000000000000000000000000000000000..3e3a5631dc53dff754e8242c303389bcfb8d2420 --- /dev/null +++ b/sample_embedding_folder2/0966767.txt @@ -0,0 +1,8 @@ +Ticket Name: Compiler/PROCESSOR-SDK-DRA8X-TDA4X: TIDL Multi_Cam Demo steps? + +Query Text: +Part Number: PROCESSOR-SDK-DRA8X-TDA4X Tool/software: TI C/C++ Compiler Hi Champs: #1. I'm using the SDK7.0.1 to demo with 4 Camera with TIDL. #2. I have read these documents: https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/vision_apps/docs/user_guide/group_apps_dl_demos_app_tidl_cam.html #3. However, the document is not matching the SDK7 TIDL contains. My camera seems show nothing on the screen. (I have connected 4 Sony IMX390 with FDPLink cables, those cables are the same with the TDA2 used). #4. Please see my log below and guide us how to output the camera demo for this TDA4 EVM + SDK7.0.1. THanks. BR Rio Multi_4_Cam_AI_Demo_Log.txt + +Responses: +Rio, You seem to have run many applications? Which application are you seeing an issue? These are are the available examples, app_tidl - file based object classification demo app_tidl_cam - camera based object classification demo (tested with single !MX390 camera) app_tidl_od - file based object detection demo app_tidl_seg - file based semantic segmentation demo app_tidl_avp/avp2/avp3 - file based multi-instance, multi-view demos and so on... + diff --git a/sample_embedding_folder2/0970164.txt b/sample_embedding_folder2/0970164.txt new file mode 100644 index 0000000000000000000000000000000000000000..d72b4245d6e21783407c37c0982f5a7a8607b97d --- /dev/null +++ b/sample_embedding_folder2/0970164.txt @@ -0,0 +1,42 @@ +Ticket Name: TDA2E: Change Input Format + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2 Hi, I have some questions I want to ask, I want to change the input format of TDA2. Where do I need to change it? For example, I want to change YUV422SP to RGB888 + +Responses: +Hi, what do you mean by input format? Do you mean input input to VIP? Yes, VIP supports RGB24 as input format, provided pins are available. Rgds, Brijesh + +Hi, Yes, it is the VIP input. At present, the default input I know is YUV422, but I want to change this default value. In addition, the Sensor I use is to output grayscale data(only Y value), but I found format on TDA2 There will be shift phenomenon. + +Hi, How can I make TDA2 receive Raw data? + +Hi, Yes, you could receive raw data via VIP, but no hw module to process them. What is the size of the raw data? If it is less than 16bits, you could just treat them as YUV422 over 16bit interface and store it as YUV422 data. Regards, Brijesh + +Hi, The sensor I used is AR0144, the size is 1280*720, 8-bits output, and the buffer sorting is 55 00 5A 00 55 00 5A 00.....(only 55 & 5A are useful) Which input format can I make TDA2 use to receive these data? Regards, Michael + +Hi Michael, What is input interface on which sensor AR0144 is connected to VIP? is it over 8bit interface or 16bit interface? In both the cases, input format is YUV422 and so is output format. In 16bit input interface, we can 55 5A 55 5A data in memory, but in 8bit interface, data save in memory will also be 55 00 5a 00 55 and so on. Regards, Brijesh + +Hi Brijesh, Can I change the VIP input format from YUV422 to Raw data format and change VIP output format? Our sensor should be input to VIP through 16bit interface. Regards, Michael + +Hi Michael, VIP does not have RAW data format support. It cannot convert RAW format into YUV or viewable format. It can just capture this data into memory by treating it as YUV422. How do you want to store it in memory? Regards, Brijesh + +HI Brijesh, So you mean that VIP input in TDA2 only supports YUV422 format? Because I found that after the sensor is processed by TDA2 VIP, the data will be shifted by 2 bits to the right. In this code pInprms->dataFormat = SYSTEM_DF_YUV422P Can i change to SYSTEM_DF_RGB24_888? Does this code set the input format of the VIP? If yes, which code is the output format set? And output format can change RGB24_888 not YUV420? Regards, Michael + +Hi Michael, No, VIP supports both YUV422 and RGB888 input format. You could capture YUV422 over 8bit and 16bit interface, whereas RGB888 can be captured over 24bit interface. VIP cannot shift the data, it has no way to shift data by 2 bits. Yes, this will change input format to RGB888. There should be outPrms where we can set the output format. Regards, Brijesh + +Hi Brijesh, It is currently confirmed that the sensor is input to VIP through the 8Bit interface. Can I still use the RGB888 format as the input format? Are the input and output format settings set in the captrueLink.h file? Regards, Michael + +Hi Michael, Yes, but why do you want to use RGB24 as input format? i did not get the idea. Yes, input and output format settings are in captureLink.h header file. Regards, Brijesh + +Hi Brijesh Because the data of AR0144 is RAW data, but after input to VIP, RAW data will be allocated but the allocation is wrong (input format is YUV422, output format is YUV420). My idea is that I use RGB to assign this Y value, and fill in the same value for R channel, G channel and B channel, so that it should be the grayscale image I want. The sorted Data is output through RGB, but I don’t know if my approach is correct? Regards, Michael + +Hi Michael, But how will you fill data in other two channels? Is this going to be done by SW or sensor AR0144? Even if you treat input data as YUV422 over 16bit and just capture Y component, it would be grey scale image only. Regards, Brijesh + +Hi Brijesh, As for the UV channel, it uses the difference compensation method for data filling It may be an error in the sorting of the data, so I never came up with the idea of the previous answer. for(i = 0; i < Maxrow; i++) { for(j = 0; j < Maxcol; j++) { pFrame1[1280*(2*i)+ 2*j] = pFrame2[1280*(2*i)+ 640+j]; pFrame1[1280*(2*i)+ 2*j+1] = pFrame2[1280*i + j]; // pixel U pFrame1[1280*(2*i+1)+ 2*j] = pFrame2[1280*(2*i+1)+ 640+j]; pFrame1[1280*(2*i+1)+ 2*j+1] = pFrame2[1280*i + j]; // pixel V } } This is the current method of filling data Regards, Michael + +Hi Michael, Sorry, I did not get the issue. Do you mean to fill up the UV data in the code, after frame is captured in the memory? If we know the input sequence and output data format, we can definitely get the exact position of the Y and UV components. Regards, Brijesh + +Hi Brijesh, What I mean is that the output data of AR0144 is RAW8 data, and the receiving format of TDA2 is YUV422, and the output format is YUV420, and my idea is that I change the input format and output format of TDA2 to RGB888 format, and I manually sort the data, assign a data to the three channels of R, G, and B respectively, so that I should get the result I want? (Grayscale image) In addition, I want to ask what is the subframe in the capture link? Regards, Michael + +Michael, VIP cannot convert it into grey scale image, so i am not sure how by changing just the data format to RGB, you would get the grey scale image from RAW8 input. My idea is to treat the data as YUV422 over 16biit interface, then luma is expected to come over 8bit and chroma is expected to come over other 8bit inputs. You could just connect your 8bit RAW8 input to where luma is expected to come. Then store the output as YUV420, in YUV420 format, luma and chroma plane are stored in the separate plane, so you could get your RAW8 data on the luma plane.. Regards, Brijesh + diff --git a/sample_embedding_folder2/0970479.txt b/sample_embedding_folder2/0970479.txt new file mode 100644 index 0000000000000000000000000000000000000000..aec48e161fb91f4ebc369b9eabc703814d36c462 --- /dev/null +++ b/sample_embedding_folder2/0970479.txt @@ -0,0 +1,22 @@ +Ticket Name: TDA2E:TDA2eco mipicsi can't read data from ds90ub960, the ds90ub960 mode is Line-Interleaved CSI-2 Forwarding. + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2, Hi, The processor we use is TDA2 ECO 23*23. There are 4 cameras in our system. The interface connected to the deserializer (DS90UB960) is the mipicsi interface. When I use the Basic Synchronized Format of ds90ub960, I can get images. When I use the Line-Interleaved CSI-2 Forwarding of ds90ub960,I can't get images,and I check the status of ds90ub960 is normal,I dumped the registers of ds90ub960 and tda2 CAL_CSI2_COMPLEXIO_CFG_l as follows: Question: When 960 works in Line-Interleaved CSI-2 Forwarding , how should I set isscaputer? + +Responses: +Register dump data TDA2 CAL_CSI2_COMPLEXIO_CFG_l : Read at address 0x4845B304 (0xb6f0f304): 0x6A09ABDC 960 Register: read port0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: 60 00 1e 40 d0 01 00 fe 1c 10 7a 7a 0f b9 77 ff `.?@??.???zz??w. 10: 00 91 00 00 00 00 00 00 31 15 b3 c3 50 00 04 02 .?......1???P.?? 20: 00 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .(.............. 30: 00 00 01 01 00 01 00 00 00 00 00 00 00 00 00 00 ..??.?.......... 40: 00 a9 71 01 00 00 20 00 00 00 00 12 01 03 04 64 .?q?.. ....????d 50: 00 00 00 04 00 00 00 00 5e 00 00 30 b0 00 00 00 ...?....^..0?... 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 7c a0 88 .............|?? 70: 1e 2c e4 05 00 0a 00 c5 00 01 00 00 c1 00 00 00 ?,??.?.?.?..?... 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 90: 00 04 00 03 19 34 00 01 00 00 00 00 00 00 00 00 .?.??4.?........ a0: 00 00 00 00 00 1c 00 00 00 00 00 00 00 00 00 00 .....?.......... b0: 1c 3a 14 08 25 00 18 00 88 33 83 74 80 00 00 00 ?:??%.?.?3?t?... c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ d0: 00 43 94 03 60 f2 00 02 00 00 00 00 00 00 00 00 .C??`?.?........ e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ f0: 5f 55 42 39 36 30 00 00 00 00 00 00 00 00 00 00 _UB960.......... read port1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: 60 00 1e 40 d0 01 00 fe 1c 10 7a 7a 0f b9 75 ff `.?@??.???zz??u. 10: 00 91 00 00 00 00 00 00 31 15 b3 c3 50 00 04 02 .?......1???P.?? 20: 00 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .(.............. 30: 00 00 01 01 00 01 00 00 00 00 00 00 00 00 00 00 ..??.?.......... 40: 00 a9 71 01 00 00 20 00 00 00 00 12 12 43 04 64 .?q?.. ....??C?d 50: 00 00 00 04 00 00 00 00 5e 00 00 30 b2 00 00 00 ...?....^..0?... 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 7c a0 88 .............|?? 70: 1e 6c e4 05 00 0a 00 c5 00 01 00 00 c1 00 00 00 ?l??.?.?.?..?... 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 90: 00 04 00 03 19 00 00 01 00 00 00 00 00 00 00 00 .?.??..?........ a0: 00 00 00 00 00 1c 00 00 00 00 00 00 00 00 00 00 .....?.......... b0: 1c 3a 14 08 25 00 18 00 88 33 83 74 80 00 00 00 ?:??%.?.?3?t?... c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ d0: 00 43 94 03 60 f2 00 02 00 00 00 00 00 00 00 00 .C??`?.?........ e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ f0: 5f 55 42 39 36 30 00 00 00 00 00 00 00 00 00 00 _UB960.......... read port2 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: 60 00 1e 40 d0 01 00 fe 1c 10 7a 7a 0f b9 75 ff `.?@??.???zz??u. 10: 00 91 00 00 00 00 00 00 31 15 b3 c3 50 00 04 02 .?......1???P.?? 20: 00 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .(.............. 30: 00 00 01 01 00 01 00 00 00 00 00 00 00 00 00 00 ..??.?.......... 40: 00 a9 71 01 00 00 20 00 00 00 00 12 24 83 04 64 .?q?.. ....?$??d 50: 00 00 00 04 00 00 00 00 5e 00 00 30 b4 00 00 00 ...?....^..0?... 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 7c a0 88 .............|?? 70: 1e ac e4 05 00 0a 00 c5 00 01 00 00 c1 00 00 00 ????.?.?.?..?... 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 90: 00 08 00 06 21 c8 00 02 00 00 00 00 00 00 00 00 .?.?!?.?........ a0: 00 00 00 00 00 1c 00 00 00 00 00 00 00 00 00 00 .....?.......... b0: 1c 3a 14 08 25 00 18 00 88 33 83 74 80 00 00 00 ?:??%.?.?3?t?... c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ d0: 00 43 94 04 60 f2 00 02 00 00 00 00 00 00 00 00 .C??`?.?........ e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ f0: 5f 55 42 39 36 30 00 00 00 00 00 00 00 00 00 00 _UB960.......... read port3 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: 60 00 1e 40 d0 01 00 fe 1c 10 7a 7a 0f b9 75 ff `.?@??.???zz??u. 10: 00 91 00 00 00 00 00 00 31 15 b3 c3 50 00 04 02 .?......1???P.?? 20: 00 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .(.............. 30: 00 00 01 01 00 01 00 00 00 00 00 00 00 00 00 00 ..??.?.......... 40: 00 a9 71 01 00 00 20 00 00 00 00 12 38 c3 14 64 .?q?.. ....?8??d 50: 00 00 00 04 00 00 00 00 5e 00 00 30 b6 00 00 00 ...?....^..0?... 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 7c a0 88 .............|?? 70: 1e ec e4 05 00 0a 00 c5 00 01 00 00 c1 00 00 00 ????.?.?.?..?... 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 90: 00 08 00 06 23 d4 00 01 00 00 00 00 00 00 00 00 .?.?#?.?........ a0: 00 00 00 00 00 1c 00 00 00 00 00 00 00 00 00 00 .....?.......... b0: 1c 3a 14 08 25 00 18 00 88 33 83 74 80 00 00 00 ?:??%.?.?3?t?... c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ d0: 00 43 94 03 60 f2 00 02 00 00 00 10 00 00 00 00 .C??`?.?...?.... e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ f0: 5f 55 42 39 36 30 00 00 00 00 00 00 00 00 00 00 _UB960.......... /dev/mem opened. Memory mapped at address 0xb6f5b000. Read at address 0x4845B304 (0xb6f5b304): 0x6A09ABDC + +Hi, Mayank Mangla: We did some debug on this issue. The SDK is vision SDK 3.06. We find that TDA2E can get the first frame (we set breakpoint at the vcoreCaptDmaStartCb function in PDK, but the ISSCapture Link doesn't get data, we are still looking into it), and we read CAL_CSI2_STATUS0_l(0x4845 b350) several times, the register value is 1, and it will not increase. we checked the CSI signals, it seems the camera data keep coming, but the CAL_CSI2_STATUS0_l won't increase, and we cannot get more vcoreCaptDmaStartCb. The CSI signal capture (data keeps coming in): For now, we don't know which direction we can continue debug. Please kindly share some guidance. Any questions or comments are welcome! Appreciate! + +Can you please check the value in following registers 1. CSI2 PHY Reg 0 2. CSI2 PHY Reg 1 3. CSI2 PHY Reg 2 4. CAL_HL_IRQSTATUS_RAW 5. CAL_HL_IRQSTATUS 6. CAL_CSI2_COMPLEXIO_CFG 7. CAL_CSI2_COMPLEXIO_IRQSTATUS + +csi reg0 /dev/mem opened. Memory mapped at address 0xb6f7d000. Read at address 0x4845B800 (0xb6f7d800): 0x00001058 csi reg1 /dev/mem opened. Memory mapped at address 0xb6f9f000. Read at address 0x4845B804 (0xb6f9f804): 0xE002E116 csi reg2 /dev/mem opened. Memory mapped at address 0xb6f4a000. Read at address 0x4845B808 (0xb6f4a808): 0x000000FF CAL_HL_IRQSTATUS_RAW 0 /dev/mem opened. Memory mapped at address 0xb6f26000. Read at address 0x4845B020 (0xb6f26020): 0x00000000 CAL_HL_IRQSTATUS 0 /dev/mem opened. Memory mapped at address 0xb6f54000. Read at address 0x4845B024 (0xb6f54024): 0x00000000 CAL_CSI2_COMPLEXIO_CFG 0 /dev/mem opened. Memory mapped at address 0xb6fd4000. Read at address 0x4845B304 (0xb6fd4304): 0x6A09ABDC CAL_CSI2_COMPLEXIO_IRQSTATUS 0 /dev/mem opened. Memory mapped at address 0xb6fc5000. Read at address 0x4845B308 (0xb6fc5308): 0x00000000 + +Thanks. I couldn't find anything wrong with the register settings. I would suggest checking a few things: 1. Please double-check that UB960 Tx and CSI2 Rx are using same number of lanes. I believe you are configuring TDA2Eco for 4-lane mode. Please make sure UB960 is also configured in the same mode. 2. Please ensure that UB960 starts streaming only after TDA2Eco CSI2 is out of reset. This can be done by probing RESET_DONE bit of CSI2 Phy register. 3. It might help to dump the registers for working case and compare with non working case. Please see if you can share that information with us. Regards, Mayank + +hi Mayank Correction information: The UB960 that can capture the picture is working in Best-Effort Round Robin CSI-2 Forwarding, not Synchronized CSI-2 Forwarding,I have tried Basic Synchronized and it doesn't work. + +Hello Yongzheng, Are the 4 sensors going to each hub synchronized? The sensors need to all have the exact same video parameters and be synchronized to within ~1 video line period for synchronized forwarding to work. You can verify the synchronization by mapping the line valid and frame valid signals from each incoming video port out to GPIO on the 960 (see the datasheet for details), that way you can check the synchronization if you are unsure Best Regards, Casey + +add comments from Jiashow for debug check ------------------------------------------------------------------------------------------------ I have some questions I’d like clarifications on: - Is RR working for you even though you’re seeing buffer error? - What’s the CSI input rate to each camera? A couple comments from your initialization code for the interleaving case: - For 953 serializers, the VC-ID is set in reg 0x72, not reg 0x70. Make sure to set all VC-IDs to 0 for all RX ports. Reg 0x70 is used for DVP mode, remove it from the code since it’s not applicable - Reg 0x7C[7:6] shouldn’t be used - Framesync signal looks correct. Do you only want to generate a single framesync pulse? Usually the framesync signal is set continuously (reg 0x18 = 0x01 instead of reg 0x18 = 0x31) - Check if the cameras are actually synchronized. If the CSI output is synchronized, it should indicate on reg 0x35. --------------------------------------------------------------------------------------------------------------- + diff --git a/sample_embedding_folder2/0972967.txt b/sample_embedding_folder2/0972967.txt new file mode 100644 index 0000000000000000000000000000000000000000..06c59a0fc65fd517441a9a3983df56aeb13f76c5 --- /dev/null +++ b/sample_embedding_folder2/0972967.txt @@ -0,0 +1,46 @@ +Ticket Name: TDA2SG: TDA2 BOOT settings cause startup problems + +Query Text: +Part Number: TDA2SG Other Parts Discussed in Thread: TDA2, Hello expert We heard that if the hardware is set with two BOOT modes (SD card and QSPI FLASH), if the SD card of TDA2 is not disabled, there is a small probability that TDA2 will fail to start. I want to confirm whether there are other customers reporting this problem ? Is it necessary to change our current hardware BOOT configuration? (PS: The TDA2SG hardware BOOT of our current platform is set to sysboot[5:0]=000111, which can be booted from SD card and QSPI FLASH. We hope to achieve the following functions: After mass production, SOC can be booted from QSPI FLASH, and Upgrade the program in QSPI FLASH via SD card) + +Responses: +Hi, Which SDK version is being planned to be used in production? Best Regards, Keerthy + +Hi,Keerthy We use version 3.07 + +Hi, The supported boot modes in tda2xx is: Which boot mode are you using? Refer the below thread if you want to flash the images to the QSPI memory. Thanks Gaviraju + +Hi,Gaviraju We heard that there is a small chance that TDA2 cannot be booted from QSPI FLASH, when the hardware does not disable the SD card of TDA2, and the hardware has been set to two boot modes (SD card and QSPI FLASH). I want to confirm if there are other customers reporting this issue? Do we need to change our current hardware BOOT configuration? Our BOOT mode is shown in the screenshot, The TDA2x TRM version is Silicon Revision 2.0, 1.1 SDK version 3.07 + +Hi, On your board when you do not have the SD card with the above dip switch settings are you seeing that you see u-boot coming up from QSPI? Best Regards, Keerthy + +yes, when I do not have the SD card with the above dip switch settings , u-boot coming up from QSPI is OK . + +Hi, So the question is mainly with the consistency of the QSPI boot as back up boot mode when SD is primary correct? - Keerthy + +YES , How can I solve this problem without changing the hardware BOOTMODE setting? + +HI, user3378603 said: We heard that there is a small chance that TDA2 cannot be booted from QSPI FLASH, when the hardware does not disable the SD card of TDA2, and the hardware has been set to two boot modes (SD card and QSPI FLASH). Any document or e2e thread that is describing that? That would help me to check internally. Best Regards, Keerthy + +It seems that he has not solved this problem + +Thanks. I will check on this internally & get back by next week. Best Regards, Keerthy + +Hi, I am yet to receive a response from our experts. I will revert back as soon as i hear from them. Best Regards, Keerthy + +Hi, Our RoM code expert recommended NOT to use the settings(sysboot[5:0]=000111, which can be booted from SD card and QSPI FLASH) for production devices as SD boot mode has significant boot time impact before it switches to backup mode. Best Regards, Keerthy + +Hi,Keerthy The hardware we designed requires a QSPI FLASH boot mode, so which boot modes TI recommends us to upgrade the code of QSPI FLASH without such problems? Best Regards + +Hi, Could you please describe a bit more? I did not follow. QSPI as primary boot or secondary? - Keerthy + +HI,Keerthy Our products are mainly started by QSPI_4 boot. According to the requirements of Table 29-9. Booting Devices Order in the TRM manual. When QSPI is used as primary, is it necessary to use "Automotive Production Booting" in automotive product applications? Is there anything wrong with using "Memory Preferred Booting" (0b10 0b0111) for automotive products? When QSPI is used as secondary, is there anything wrong with using "Peripheral Preferred Booting" (0b00 0b0111) in automotive products? Best Regards + +Hi, I am yet to get a response from our RoM expert. I will keep you posted. Best Regards, Keerthy + +Hi, For peripheral boot with SD followed by QSPI _4 production boot mode there is an errate which can prevent device the device booting from QSPI_4. So we definitely don’t recommend this setting and suggest to use memory boot for production. Best Regards, Keerthy + +Thank you Keerthy , According to our current boot configuration(sysboot[5:0]=000111), it seems that as long as the SD card is not inserted, there is no QSPI boot failure problem. By the way, is this problem in this Errata document? It seems that I did not find the relevant one! https://www.ti.com.cn/cn/lit/er/sprz397j/sprz397j.pdf?ts=1614580814431&ref_url=https%253A%252F%252Fwww.ti.com.cn%252Fproduct%252Fcn%252FTDA2SG%253FkeyMatch%253DTDA2%2526tisearch%253DSearch-CN-everything%2526usecase%253DGPN + +Hi, You are right no public documentation. I will get back if i find one but for the thread can we resolve this or you still blocked? - Keerthy + diff --git a/sample_embedding_folder2/0973141.txt b/sample_embedding_folder2/0973141.txt new file mode 100644 index 0000000000000000000000000000000000000000..326fc2eae7c5a28352916596dc005e044d4f986d --- /dev/null +++ b/sample_embedding_folder2/0973141.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: Codec is master, mcasp is slave, I2S record + +Query Text: +Part Number: TDA2SX Hi . TDA2S,sdk:PROCESSOR_SDK_VISION_03_05_00_00 linux 4.4.48 Codec is master, mcasp is slave, I2S record |------McaSP2_ACLKR ----->-| master codec |------MCASP2_FSR--------->-| tda2sx |------MCASP2_AXR0------>- | McaSP2_ Aclkr input 3.072Mhz MCASP2_FSR input 47Khz root@dra7xx-evm:~# arecord -r 48 > path_to_example_audio.wav Recording WAVE 'stdin' : Unsigned 8 bit, Rate 48000 Hz, Mono SND_SOC_DAIFMT_AC97 codec is clock and frame master path_ to_ example_ audio.wav There is only one header, 44byte, No recorded data I want to know how to check the problem, please give me some advice. thank you + +Responses: +Hello, sorry for the delayed response. were you able to make any progress during this time? typically we start by checking the most likely: 1. the clock master from the codec is live 2. check McASP registers to ensure it is configuration with right mode... please update the thread if the debug is ongoing. Jian + diff --git a/sample_embedding_folder2/0974216.txt b/sample_embedding_folder2/0974216.txt new file mode 100644 index 0000000000000000000000000000000000000000..f276c0d9dff26de1e3cc848e361c2f4cc616057e --- /dev/null +++ b/sample_embedding_folder2/0974216.txt @@ -0,0 +1,26 @@ +Ticket Name: TDA4VM: ERROR: 'dot' tool not found. Make sure 'graphviz' is installed and 'dot' command is added to system PATH !!! + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 i get this error when i run the sample code in tiovx. I have installed graphiz. ERROR: 'dot' tool not found. Make sure 'graphviz' is installed and 'dot' command is added to system PATH !!! ERROR: Cannot generate .jpg file !!! + +Responses: +Hello, Could you please provide the following details? 1. Which SDK version are you using? 2. Which sample code are you running? 3. Are you running on the EVM or PC emulation mode? 4. Have you run the script "./psdk_rtos/scripts/setup_psdk_rtos.sh"? Regards, Lucas + +1. the SDK version i was using is this :-https://git.ti.com/cgit/processor-sdk/tiovx/tree?h=master 2. same code given in this path:- /tiovx/tools/sample_use_cases. I followed this link:- http://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/tiovx/docs/user_guide/PYTIOVX.html 3. PC emulation mode currently. 4. no. where can i find the script?? + + + +Hello, The TIOVX version you linked to is an older version of TIOVX intended for support on TDA2/TDA3 SoC's. If you are intending to run TIOVX on TDA4, I would recommend downloading TIOVX as a part of the below SDK, as it includes the dependencies as well as scripts to download external tools needed to run the SDK. Additionally, the PyTIOVX tool is only supported for kernel generation. The use case development feature is experimental and is thus unsupported in our SDK. For developing applications using OpenVX, we recommend referencing the vision_apps project included within the SDK linked to above. Regards, Lucas + +Does this require ubuntu18.04?? Will it wok on Ubuntu 16.04?? + +Hello, It is untested on Ubuntu 16.04, so it is recommended to upgrade to Ubuntu 18.04. Regards, Lucas + +Okay Let me try. + +is this windows installer??can it be used in linux?? + +Hello, Yes, all components are supported in Linux. Regards, Lucas + +Okay , thank you resolved the issue. + diff --git a/sample_embedding_folder2/0974361.txt b/sample_embedding_folder2/0974361.txt new file mode 100644 index 0000000000000000000000000000000000000000..340ace5eaa1a47044f266c038ca15e503f9651cb --- /dev/null +++ b/sample_embedding_folder2/0974361.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA4VM: TIOVX samples + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: SYSBIOS, TDA2 Hi Team, Good day. Our customer has clone this repo www.google.com/url for building TIOVX and getting the following error. Building vx_framework.lib as static library [TIARM] Compiling C tivx_event.c "/home/devuser/Github_codes/tiovx/tiovx/source/platform/vision_sdk/bios/tivx_event.c", line 13: fatal error #1965: cannot open source file "xdc/std.h" 1 catastrophic error detected in the compilation of "/home/devuser/Github_codes/tiovx/tiovx/source/platform/vision_sdk/bios/tivx_event.c". Compilation terminated. >> Compilation failure concerto/finale.mak:287: recipe for target '/home/devuser/Github_codes/tiovx/tiovx/out/TDAX/M4/SYSBIOS/debug/module/source.platform.vision_sdk.bios/tivx_event.obj' failed make: *** [/home/devuser/Github_codes/tiovx/tiovx/out/TDAX/M4/SYSBIOS/debug/module/source.platform.vision_sdk.bios/tivx_event.obj] Error 1 The customer was trying to implement TIOVX samples on their linux system and in future they will trying to implement it in a TDA4X EVM development board. Do we have information regarding building TIOVX and sample implementation of Openvx? Regards, Carlo + +Responses: +Hello Carlo, We would recommend downloading the PSDK RTOS which includes the TIOVX project as well as all dependencies for building. The provided link is the TIOVX version intended to support TDA2/TDA3 devices, and therefore requires additional TDA2/TDA3 dependencies to build. The PSDK RTOS can be downloaded at the below link. Information in the below links is provided to show how to build the entire SDK as well as details on how to build TIOVX. Please let me know if you have further questions. Regards, Lucas + diff --git a/sample_embedding_folder2/0974751.txt b/sample_embedding_folder2/0974751.txt new file mode 100644 index 0000000000000000000000000000000000000000..c96b74b7438e7359de4636efeb4d820335946740 --- /dev/null +++ b/sample_embedding_folder2/0974751.txt @@ -0,0 +1,12 @@ +Ticket Name: TIDEP-01017: MLO file selection + +Query Text: +Part Number: TIDEP-01017 Other Parts Discussed in Thread: TDA2 Hi Team, My customer just developing their own software using PROCESSOR_SDK_RADER for TIDEP-01017 When they run "gmake -s sbl" in PROCESSOR_SDK_RADER_03_08_00_00 environment, they get MLO files in 4 folders: opp_high, opp_low, opp_nom, opp_od under "vision_sdk\binaries\apps\tda2xx_cascade_bios_radar\sbl\sd" folder. which MLO file should they select for TDA2 mounted on TIDEP-01017? They think they need to select an MLO file according to OPP (Operating Performance Points). Regadrs, Takashi Onawa + +Responses: +Hi Team, Can I have any comments on this? Regards, Takashi Onawa + +Hi Team, Can I have any comments on this? Regards, Takashi Onawa + +Hi Takashi, You can use any of the MLOs in the folder. I suggest that you start with OPP_NOM. Regards Karthik + diff --git a/sample_embedding_folder2/0979569.txt b/sample_embedding_folder2/0979569.txt new file mode 100644 index 0000000000000000000000000000000000000000..5a69eaa7cc8bfb72d28ef15488f55f5b4a3cb477 --- /dev/null +++ b/sample_embedding_folder2/0979569.txt @@ -0,0 +1,16 @@ +Ticket Name: [FAQ] TDA4VM: Linux DTS DTB FAQs + +Query Text: +Part Number: TDA4VM I have the following questions: How to know which driver is probed with a particular Device tree node? How to know which CONFIG to be enabled to probe a particular Device tree node? How to get the DTS(device tree source) of a particular DTB(device tree binary)? + +Responses: +Answers to questions in the order: How to know which driver is probed with a particular Device tree node? They key lies in the compatible string. For example ospi0 node: ospi0: spi@47040000 { + compatible = "ti,j721e-ospi", "ti,am654-ospi"; + reg = <0x0 0x47040000 0x0 0x100>, + <0x5 0x00000000 0x1 0x0000000>; + interrupts = ; + cdns,fifo-depth = <256>; + Search for compatible strings under drivers folder of Linux repository starting from first to last in order. Continuing with our ospi0 example: git grep ti,j721e-ospi drivers/ + No matches found so search for the next compatible. git grep ti,am654-ospi drivers/ drivers/mtd/spi-nor/cadence-quadspi.c: .compatible = "ti,am654-ospi", Ospi0 probes the drivers/mtd/spi-nor/cadence-quadspi.c driver. How to know which CONFIG to be enabled to probe a particular Device tree node? Follow the steps for Q1 and once you know the driver name. Continuing with our ospi0 example. Couple of more steps to get to the CONFIG option: Driver: drivers/mtd/spi-nor/cadence-quadspi.c driver. Open the Makefile in the folder that has the driver. vi drivers/mtd/spi-nor/Makefile + Search for cadence-quadspi.o (Driver name with object extension) obj-$(CONFIG_SPI_CADENCE_QUADSPI) += cadence-quadspi.o CONFIG_SPI_CADENCE_QUADSPI option corresponds to ospi0 node. How to get the DTS(device tree source) of a particular DTB(device tree binary)? cd to the Linux repo. Example: Source for k3-am654-r5-base-board.dtb. scripts/dtc/dtc -I dtb -O dts -o devicetree.dts arch/arm/dts/k3-am654-r5-base-board.dtb The source will be saved as devicetree.dts Regards, Keerthy + diff --git a/sample_embedding_folder2/0980202.txt b/sample_embedding_folder2/0980202.txt new file mode 100644 index 0000000000000000000000000000000000000000..dda99bf12c43759e2d7587d8dcbad2874bc8b901 --- /dev/null +++ b/sample_embedding_folder2/0980202.txt @@ -0,0 +1,9 @@ +Ticket Name: TDA4VM: How to modify TDA4VM's csi clock in SDK07_02_00_06 ? + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 Hi, I have a deserializer MAX9286, it works well when four cameras opened. But when just two or one camera opened, then TDA4VM cannot receive csi signal. This situation occured in TDA2 also. And it can through modify csi clock to fix. In TDA4VM I try to modify uint32_t csi_ddr_clock to lower value, but it not works. So How to modify TDA4VM's csi clock in SDK07_02_00_06 ? Regards + +Responses: +Hi, CSI clock in TDA4VM is controlled through lane speed parameter. This parameter can be configured through 'laneBandSpeed' parameter available in Capture Node interface 'kernels_j7/include/TI/j7_capture.h'. Please refer 'j7_capture.h' for more details. Here is an example to change lane speed/CSI clock: Consider single cam app, if you want to change lane speed to 800 Mbps in this app, then just add following line before creating capture node (done @ line no. 523): local_capture_config.instCfg[CAPT_INST_ID].laneBandSpeed = TIVX_CAPTURE_LANE_BAND_SPEED_720_TO_800_MBPS; + Thanks & Regards, Vivek Dhande. Texas Instruments (India) Pvt Ltd + diff --git a/sample_embedding_folder2/0980634.txt b/sample_embedding_folder2/0980634.txt new file mode 100644 index 0000000000000000000000000000000000000000..54d0a228ecb1bc606c7a41b79043c6e5d0100d9f --- /dev/null +++ b/sample_embedding_folder2/0980634.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2E: Questions: About yuv422 display + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2 Hi, Support The processor we use is TDA2 ECO 23*23. My video output resolution is 1780*720, When I RGB output video, everything is normal. When I yuv output, a part of the picture is green in external display.I used dss to convert rgb to yuv, it was normal before conversion, and part of it was green after conversion.I use jtag dump dss link image,i use 7yuv to view the image. When the resolution is 1780*720, the image is distorted and some parts are green. When the resolution is 1784*720, the image is not distorted, but there are green parts. + +Responses: +Hi yongzheng lv, The first issue is due to pitch/line offset, it must be 16byte aligned. 1780x2 is not 16byte aligned. but 1784x2 is 16byte aligned. I think Green bar is due to input image. Are you sure sensor is outputting frame of size 720 lines? Rgds, Brijesh + diff --git a/sample_embedding_folder2/0982164.txt b/sample_embedding_folder2/0982164.txt new file mode 100644 index 0000000000000000000000000000000000000000..e16a8aa6882cdd591417c77418ddf8eeb2302f68 --- /dev/null +++ b/sample_embedding_folder2/0982164.txt @@ -0,0 +1,18 @@ +Ticket Name: TDA2E: Multiple VLANs use the same IP address,how to configure? + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2 There is such a problem in the customer's project requirements. Multiple VLANs need to be configured on TDA2EX SOC , but they all use the same IP address. What kind of configuration do you have here. If I configure the IP address directly, there will be conflicts and ARP will not work. + +Responses: +Hi, Which SDK are you using ? CPSW does support VLAN Can you provide more details about your setup ? Regards Vineet + +I'm using vsdk version 3.6. Well, I mean: I use the vconfig command to configure VLAN, and the results are as follows: eth0.2 and eth0.4 sub nodes. Then I configure this node to the same IP address 172.16.2.92, so that the network function is not working. I try to Ping other 192.16.2.xxx networks. If I want several VLAN nodes to set the same IP address and the network can be connected, how can I modify it? root@dra7xx-evm:~# ifconfig eth0 Link encap:Ethernet HWaddr F8:36:9B:C2:12:64 inet addr:172.16.2.92 Bcast:172.16.255.255 Mask:255.255.0.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:97 eth0.2 Link encap:Ethernet HWaddr 02:47:57:4D:00:92 inet addr:172.16.2.92 Bcast:172.16.2.255 Mask:255.255.255.0 inet6 addr: fe80::47:57ff:fe4d:92%131824/64 Scope:Link UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) eth0.4 Link encap:Ethernet HWaddr 02:47:57:4D:00:92 inet addr:172.16.2.92 Bcast:172.16.255.255 Mask:255.255.0.0 inet6 addr: fe80::47:57ff:fe4d:92%131824/64 Scope:Link UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1%131824/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) root@dra7xx-evm:~# ping 172.16.2.XXX + +Hi, I tried to add VLAN to CPSW interface eth1 on AM57 (same CPSW) using the commands 1. vconfig add eth1 5 (adding VLAN 5 to eth1 interface) 2. ip addr add 192.168.0.3/24 dev eth1.5 3. ip link set eth1.5 up With this I was able to configure VLAN ID of 5 for the virtual interface eth1.5 When I ping from eth1.5 using "ping -I eth1.5" I can see that outgoing ARP has VLAN ID=5. I think this confirms that VLAN interface is working. Regarding the ping issue, I think this is a generic network configuration issue on Linux and nothing to do with CPSW driver. You can take a look at these threads Regards Vineet + +Yes, this should be a Linux system problem, We just want to ask you, if you modify the configuration of Linux system according to the requirements of customers, can you achieve such functional requirements? Or is this kind of customer demand theoretically unreasonable? + +OK, we know that VLAN function on tda2 is good. We just want to know how to realize the function of external network communication of multiple VLANs + +Hi, The network configuration will depend on the actual system that customer is using. I haven't done it myself but I am guessing that it would require setting up IP routing, enabling VLAN, trunking multiple virtual interfaces. I am sorry, but I cannot help you further with this as it does not relate to the HW or TI software. Regards Vineet + diff --git a/sample_embedding_folder2/0985463.txt b/sample_embedding_folder2/0985463.txt new file mode 100644 index 0000000000000000000000000000000000000000..a40450f26a00cc21f09303697424cf066a0d87df --- /dev/null +++ b/sample_embedding_folder2/0985463.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2EG-17: TDA2 EVE performance vs DDR + +Query Text: +Part Number: TDA2EG-17 Hi Champs: Customer places the DDR as 1 channel, type, (not interleaving type. Here is their finding as the below ------------------ we found that DL accelerators on TDA2xx platform(EVEs) are running in parallel which processing independent frame on each core. It brings about system will increase frame rate by adding more EVE cores, but the system will get the similar latency by such upgrade. So, there are some problem related to achieve latency sensitive(<33ms, 30 fps) application on TDA2xx platform to our project. ------------------ Do we have the solution / comment to help them improves the Latency? BR Rio + +Responses: +Hi Rio, Apologies for delay in repose. Can you share the Standalone DL performance when you have only one EVE running and when you have all the EVE cores running the same DL in paralle. + diff --git a/sample_embedding_folder2/0986098.txt b/sample_embedding_folder2/0986098.txt new file mode 100644 index 0000000000000000000000000000000000000000..3a5eacfaeb4ee258f684c916d6e76ebf811536ed --- /dev/null +++ b/sample_embedding_folder2/0986098.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2SX: How to create Mcasp I2S driver on RTOS? + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi, I follow TDA2 TRM Figure 24-126. McASP DIT- /TDM- Transmission Polling Method. And try to implement in CSL drv_stw_lld_mcasp_sinetone_app. My program stops at this stage after the second loop. + +Responses: +Can anyone explain the operation flow of the blocks on the flowchart? + + + +Are there TI Audio experts who can answer? + +Hi Jian: May you help to reply this E2E, it pended for > 2 weeks. BR Rio + +any update? + diff --git a/sample_embedding_folder2/0986576.txt b/sample_embedding_folder2/0986576.txt new file mode 100644 index 0000000000000000000000000000000000000000..9bd9c093491dccc189132f6408a302ea14e0ab51 --- /dev/null +++ b/sample_embedding_folder2/0986576.txt @@ -0,0 +1,8 @@ +Ticket Name: TIDL trace fixed point converted to floating point + +Query Text: +Dear TIDL expert In order to check TIDL SSD model convert result, I try to convert fixed point into floating point, as following, I try to convert it based on CVPR workshop paper from Ti company I found I get no reasonale result, it's large floating point number and no normal. When I check TIDeepLearningLibrary_UserGuide.pdf, I find some useful information as following, And I also see log from model convert tools as following, Can I provide me with specific implementation plan to convert from fixed point to floating point? Thank you very much ! + +Responses: +Hi, You no need to convert fixed point to floating point as we dump final output in the float mode for SSD, so you will get directly final float output in "stats_tool_out.bin" file. You just need to open and read the detection's from this file. You can refer to "markbox.c" file in the below thread to know how to read the detection's from this "stats_tool_out.bin" file. https://e2e.ti.com/support/processors/f/processors-forum/679186/tda2-tidl-1-1-ssd-model-test-application-output/2502331#2502331 Thanks, Praveen + diff --git a/sample_embedding_folder2/0986893.txt b/sample_embedding_folder2/0986893.txt new file mode 100644 index 0000000000000000000000000000000000000000..546604f28dc5e27ab0f834cc7fa9e9b9bc851a01 --- /dev/null +++ b/sample_embedding_folder2/0986893.txt @@ -0,0 +1,26 @@ +Ticket Name: DRA72XEVM: PROCESSOR_SDK_VISION_03_08_00_00: SD booting failure + +Query Text: +Part Number: DRA72XEVM Hi, I'm trying to boot up DRA72XEVM with SD boot mode. I followed all the steps in VisionSDK Linux user guide but it failed to get kernel image. Could you let me know what could be wrong here? Booting log attached: U-Boot SPL 2019.01-00014-gf454ae0ae9 (Mar 18 2021 - 11:36:13 +0900) DRA722-GP ES1.0 Trying to boot from MMC1 no pinctrl state for default mode no pinctrl state for default mode Loading Environment from MMC... OK U-Boot 2019.01-00014-gf454ae0ae9 (Mar 18 2021 - 11:36:13 +0900) CPU : DRA722-GP ES1.0 Model: TI DRA722 Board: DRA72x EVM REV DRAM: 1 GiB NAND: 0 MiB MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1 Loading Environment from MMC... OK Warning: fastboot.board_rev: unknown board revision Net: Warning: ethernet@48484000 using MAC address from ROM eth0: ethernet@48484000 Hit any key to stop autoboot: 0 Trying to boot Linux from eMMC ... switch to partitions #0, OK mmc1(part 0) is current device SD/MMC found on device 1 ** No partition table - mmc 1 ** ** No partition table - mmc 1 ** Trying to boot Android from eMMC ... switch to partitions #0, OK mmc1(part 0) is current device mmc - MMC sub system Usage: mmc info - display info of the current MMC device mmc read addr blk# cnt mmc write addr blk# cnt mmc erase blk# cnt mmc rescan mmc part - lists available partition on current mmc device mmc dev [dev] [part] - show or set current mmc device [partition] mmc list - lists available devices mmc hwpartition [args...] - does hardware partitioning arguments (sizes in 512-byte blocks): [user [enh start cnt] [wrrel {on|off}]] - sets user data area attributes [gp1|gp2|gp3|gp4 cnt [enh] [wrrel {on|off}]] - general purpose partition [check|set|complete] - mode, complete set partitioning completed WARNING: Partitioning is a write-once setting once it is set to complete. Power cycling is required to initialize partitions after set to complete. mmc bootbus dev boot_bus_width reset_boot_bus_width boot_mode - Set the BOOT_BUS_WIDTH field of the specified device mmc bootpart-resize - Change sizes of boot and RPMB partitions of specified device mmc partconf dev [boot_ack boot_partition partition_access] - Show or change the bits of the PARTITION_CONFIG field of the specified device mmc rst-function dev value - Change the RST_n_FUNCTION field of the specified device WARNING: This is a write-once field and 0 / 1 / 2 are the only valid values. mmc setdsr - set DSR register value Wrong Image Format for bootm command ERROR: can't get kernel image! => Regards, James + +Responses: +Hi, Any feedback? It seems SD partition is not recognized properly in uboot - 'mmc part' doesn't give anything for dev 0. => mmc list OMAP SD/MMC: 0 OMAP SD/MMC: 1 (eMMC) => mmc dev 0 => mmc part ## Unknown partition table type 0 => mmc dev 1 switch to partitions #0, OK mmc1(part 0) is current device => mmc part ## Unknown partition table type 0 => I prepared a SD with the script (./hlos/scripts/linux/mksdboot.sh) provided from SDK 3.08 on Ubuntu 14.04 machine but I don't know why the SD partition is not recognized by uboot. Regards, James + +Hi James, Could you please follow: $(INSTALL_DIR)/vision_sdk/docs/UserGuides/VisionSDK_UserGuide_TDA2xx.pdf for building and running. Best Regards, Keerthy + +Hi Keerthy, I followed all the steps in /vision_sdk/docs/Linux/VisionSDK_Linux_UserGuide.pdf to setup build environment and: 1) make linux 2) make linux_install 3) make s -j depend 4) make -s -j and tar the Linux file system and copied it to $INSTALL_DIR/vision_sdk/binaries/$(MAKEAPPNAME)//hlos/linux/boot. After that I format a SD card using the script mksdboot.sh and could see all the file systems are in rootfs(ext4) partitions. But the problem is that uboot cannot recognize partition table as you can see in my previous post. I think it's something related to SD card formatting but I don't know why since I used the mksdboot.sh in VSDK3.08 on Ubuntu 14.04 machine as described in the user guide. Regards, James + +Hi James, Can you halt at u-boot prompt & give the following commands below: env default -a saveenv Best Regards, Keerthy + +Hi Keerthy, Yes, I also tried that already but no difference. Regards, James + +Hi James, Are you able to see the EXT4 partition? What are the contents in boot partition? - Keerthy + +Hi Keerthy, In boot partition of the SD card I have MLO, uboot, and uenv. And in rootfs partition (EXT4) it has Linux file system. Problem is that uboot comes normally but it cannot access the partitions when booting from DRA72 EVM. As you can see in my previous post no partition table information can be seen from uboot. => mmc list OMAP SD/MMC: 0 OMAP SD/MMC: 1 (eMMC) => mmc dev 0 => mmc part ## Unknown partition table type 0 => mmc dev 1 switch to partitions #0, OK mmc1(part 0) is current device => mmc part ## Unknown partition table type 0 => Regards, James + +Hi James, I believe you are trying to boot to Linux using SD card? Can you try with a different SD card? uEnv.txt should be correctly pointing to the right bootargs. Can you try with a different SD card just to be doubly sure if that is not a card specific issue? - Keerthy + +Hi Keerthy, Yes, I'm trying to boot to Linux using SD card. And it's my uEnv.txt: fdtfile=dra72-evm-infoadas.dtb args_mmc=part uuid mmc 0:2 uuid; setenv bootargs "console=ttyO0,115200n8 vram=16M root=PARTUUID=${uuid} rw rootwait ip=none mem=1024M cma=64M" I tried several SD cards but not no differences. I tried with Sandisk 4/8/32/64GB which I'm using on TDA4 EVM without problems. Regards, James + +Hi James, Do you have a different TDA2x EVM to try? I don't see any problem with TDA2 or TDA2P EVM but I don't have TDA2Ex. In addition, could you also try the pre-built binary? Regards, Stanley + diff --git a/sample_embedding_folder2/0988606.txt b/sample_embedding_folder2/0988606.txt new file mode 100644 index 0000000000000000000000000000000000000000..271624dbf897ac6e789dc821075b3d3a17ad1f6e --- /dev/null +++ b/sample_embedding_folder2/0988606.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2PXEVM: Failed to connect display in libilmCommon + +Query Text: +Part Number: TDA2PXEVM Hi I am trying to run Qt application on Jacinto6 plus board but it is failing with the following error. Please suggest how to solve it. Failed to connect display in libilmCommon Interpreter error: failed Failed to connect display in libilmCommon Interpreter error: failed Failed to connect display in libilmCommon Interpreter error: failed Thank you, Deepthi + +Responses: +Hi Deepthi, Can you please provide some more details on the issue. What SDK is being used, what is working so far?. At what point is the error seen, and what application is under test? Please be aware of the below related threads: TDA2EVM5777: I want to use Qt on TDA2EVM5777, what should I do? - Processors forum - Processors - TI E2E support forums (+) Qt App Development For Processor SDK Linux Automotive - Processors forum - Processors - TI E2E support forums (+) Linux/TDA2: build the PSDK by yocto, error:unknown type name 'ucs4_t' - Processors forum - Processors - TI E2E support forums Regards, kb + diff --git a/sample_embedding_folder2/0988936.txt b/sample_embedding_folder2/0988936.txt new file mode 100644 index 0000000000000000000000000000000000000000..f620b4fe3c3a94450c5b293c623df064fdb0a9b8 --- /dev/null +++ b/sample_embedding_folder2/0988936.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2E: about mipi csi data type issues + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2 hi, ti support The processor we use is TDA2 ECO 23*23. There are 4 cameras in our system. The interface connected to the deserializer (DS90UB960) is the mipicsi interface. The resolution of our camera is 1280*1280, and the format is yuv422 uyvy, On tda2, we use datatype 0x1e( pOutPrm->inCsi2DataFormat = SYSTEM_CSI2_YUV422_8B) to receive .but now we have a new requirement. We have added a line (1281*1280), this line is embed line, datatype It is 0x12. How should we configure it to receive data of two datatypes in tda2? The picture shows the value of the ub960 register: + +Responses: +Hi yongzheng, You would just require to add DMA channel to capturing blanking data, as show below. Please note this is capture link parameters. for(ch = 0;ch < 2;ch++) { pOutPrm = &pCapturePrm->outParams[ch]; pOutPrm->dataFormat = pOutPrm0->dataFormat; pOutPrm->width = pOutPrm0->width; pOutPrm->height = pOutPrm0->height; pOutPrm->maxWidth = pOutPrm0->maxWidth; pOutPrm->maxHeight = pOutPrm0->maxHeight; pOutPrm->numOutBuf = pOutPrm0->numOutBuf; if (0 == i) pOutPrm->inCsi2DataFormat = 0x1B; // for YUV422 8bit data else pOutPrm->inCsi2DataFormat = 0x12; // for embedded data. pOutPrm->inCsi2VirtualChanNum = ch; } Regards, Brijesh + diff --git a/sample_embedding_folder2/0989706.txt b/sample_embedding_folder2/0989706.txt new file mode 100644 index 0000000000000000000000000000000000000000..fcaacf1d8301f89f78ddd0f1c41d060fe6995dd9 --- /dev/null +++ b/sample_embedding_folder2/0989706.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2HF: Power consumption for different Ti SoC + +Query Text: +Part Number: TDA2HF Other Parts Discussed in Thread: TDA2SX, Hi, We made TDA2Sx custom board and we ported all our use cases into TDA2Sx custom board and it consumed more power. We want to check with other Ti SoC's, So we want to know the power consumption of different Ti SoC's. please share the comparison of power consumption between below SOC in terms of percentage as compared to TDA2sx TDA2Px TDA2HF TDA3x Please share this comparison irrespective of use cases, just power on and boot with all cores in that SOC enabled. Thanks & Regards, Sankar. + +Responses: +Sankar, In very rough numbers ... TDA2Px is 20 to 50% higher power than TDA2x, and TDA3x is ~30 to 50% of TDA2x. TDA2HF is the same device as TDA2S with a different mix of cores enabled and different frequencies supported. Regards, Kyle + +Hi Kyle, Thanks for your valuable information. Thanks & Regards, Sankar + diff --git a/sample_embedding_folder2/0992588.txt b/sample_embedding_folder2/0992588.txt new file mode 100644 index 0000000000000000000000000000000000000000..ae1d8d50469fc96c52a55aa68a32145a1d03128a --- /dev/null +++ b/sample_embedding_folder2/0992588.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2P-ACD: TI PinMux Tool doesn't generate devicetree.txt + +Query Text: +Part Number: TDA2P-ACD Other Parts Discussed in Thread: TDA2 Hello, I am trying to use TI PinMux Tool to generate devicetree.txt then I can integrate these nodes inside my board dts. The issue is that what ever change I make in the pins configuration, there is no change reflected in devicetree.txt file, however I can see changes in other files (e.g. boardPadDelayInit.c and genericFileFormatPadConf.txt) How can I make the configurations reflect in devicetree.txt ? Thanks, Abdalla + +Responses: +Hi, A detailed application note of how to configure pinmux for TDA2 is here: https://www.ti.com/lit/an/sprac44a/sprac44a.pdf?ts=1618200162219 Please go through that. Best Regards, Keerthy + +Hi Keerthy, Thank you for your reply, however I can't find anything in the document about devicetree.txt generation by TI PinMux tool. My question is: why doesn't the the PinMux tool generate devicetree.txt for my target as shown in the screenshots I attached ? I am wondering if you can generate devicetree.txt on your end for the same device target ? Best Regards, Abdalla + +Hi Keerthy, According to the comment in devicetree.txt (Only MMC modes are exported here. All other pad configuration must be done by u-boot.) What is the effect if I only configure the RGMII pins in kernel dts without configuring them in uboot ? Does this affect the functionality of the mac port on SoC after kernel boot ? Thanks, Abdalla + +Hi, Can you not do that in "board/ti/dra7xx/mux_data.h" under u-boot? - Keerthy + diff --git a/sample_embedding_folder2/0993975.txt b/sample_embedding_folder2/0993975.txt new file mode 100644 index 0000000000000000000000000000000000000000..4e581de08901fcc1ee78a7b37d4c247e1717a0ba --- /dev/null +++ b/sample_embedding_folder2/0993975.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: HOW TO USE THE SM OF TDA2 + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi NOW i use TDA2X do ADAS product and its related safety feature.i got the safety manual from TI,but the safety manual is unclear to describe related safety mechanisms and how to use the related SM;it needs lot of time to study the technical reference manual of TDA2 and it is very diffcult for us. so could you share some experience to config TDA2 SM or do you know TI could provide the safety related software LIB? Thanks a lot! + +Responses: +Hi Xingchao, Please see the Safety Folder on CDDS for TDA2x. There you will find a folder (Getting started...…) with additional videos that can be reviewed. Safety: US - https://cdds.ext.ti.com/ematrix/common/emxNavigator.jsp?objectId=28670.42872.4722.40558 If you do not have access to this link, please work with you local TI contact to get access. Regards, kb + diff --git a/sample_embedding_folder2/0994997.txt b/sample_embedding_folder2/0994997.txt new file mode 100644 index 0000000000000000000000000000000000000000..1f01f96c2a67e6211c3f4be82ce9feb0d31842a6 --- /dev/null +++ b/sample_embedding_folder2/0994997.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: How to improve the size of GPU video memory + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 We use QT in our project and find that the GPU is short of video memory. I see that the memory of PVR is about 160MB. How can I improve the memory of PVR? I tried to change the size of CMA, but it didn't work. root@dra7xx-evm:/proc/pvr# cat mem_areas Number of Linux Memory Areas: 897 At the current water mark these areas correspond to 164007936 bytes (excluding SUB areas) At the highest water mark these areas corresponded to 164007936 bytes (excluding SUB areas) root@dra7xx-evm:/proc/pvr# cat /proc/meminfo MemTotal: 599572 kB MemFree: 222012 kB MemAvailable: 267416 kB Buffers: 212 kB Cached: 94036 kB SwapCached: 0 kB Active: 95780 kB Inactive: 75624 kB Active(anon): 77160 kB Inactive(anon): 45268 kB Active(file): 18620 kB Inactive(file): 30356 kB Unevictable: 0 kB Mlocked: 0 kB HighTotal: 259072 kB HighFree: 143032 kB LowTotal: 340500 kB LowFree: 78980 kB SwapTotal: 0 kB SwapFree: 0 kB Dirty: 0 kB Writeback: 0 kB AnonPages: 77148 kB Mapped: 167872 kB Shmem: 45280 kB Slab: 15884 kB SReclaimable: 4472 kB SUnreclaim: 11412 kB KernelStack: 1424 kB PageTables: 2336 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 299784 kB Committed_AS: 896872 kB VmallocTotal: 245760 kB VmallocUsed: 0 kB VmallocChunk: 0 kB CmaTotal: 212992 kB CmaFree: 48636 kB + +Responses: +Hello, TDA2 is a shared memory architecture and there is no dedicated video memory for the GPU. GPU cannot however access highmem so the amount of internal memory available to the GPU is limited by lowmem. In addition to internal memory, GPU also needs display bound buffers that are either CMA or DRM managed. But since, increasing CMA does not help in your case, you are likely running out of overall memory available in low memory regions. Regards Hemant + diff --git a/sample_embedding_folder2/0995934.txt b/sample_embedding_folder2/0995934.txt new file mode 100644 index 0000000000000000000000000000000000000000..3cd5327685c7410a8e60c22b106509daabfdda7f --- /dev/null +++ b/sample_embedding_folder2/0995934.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2SX: Does TDA2 support pSLC for NAND? + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi Expert Does TDA2 support pSLC for NAND? Thanks Daniel + +Responses: +Daniel, Which interface? We do support pSLC NAND for MMC modules. Best Regards, Shiou Mei + +Hi Shiou Mei Could I use this? Automotive PN:FEMDMW008G-88A37 -40°C to +85°C (pSLC) Thanks Daniel + +Daniel, I have received confirmation we do not support ROM code boot from pSLC NAND flash memories. Best Regards, Shiou Mei + diff --git a/sample_embedding_folder2/0997331.txt b/sample_embedding_folder2/0997331.txt new file mode 100644 index 0000000000000000000000000000000000000000..f4f0f3597c07bbf501063109d19c3a13c0f795a8 --- /dev/null +++ b/sample_embedding_folder2/0997331.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2SX: TDA2SXBTQABCRQ1 + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2, 1. TRM里关于DEVICE 的watchdog与DATASHEET里不一致,如下两张图红色部分 2. TDA2中watchdog一共有几个?具体是监控哪些功能模块?我司这边针对TDA2的功能模块划分参考TDA2 safety manual Chapter 3.8的下一级章节; 麻烦给个清单说明位于哪里的watchdog监控了哪些功能模块。 + +Responses: +Hi, Could you please post the question in English? Regards Karthik + +1. The state of TDA2SX in the TRM and datasheet is different. The device includes one watchdog timer in the TRM, while includes two watchdog timer in the datasheet. Why? Can you explain? + +2. How many watchdogs in TDA2SX? And which module are monitored by the watchdog? The module in TDA2SX can refer to the next level of safety manual chapter 3.8, for example, MPU subsystem, DSP subsystem, NOC L3 interconnect subsystem and OCMC subsystem etc. It would be better if you give a list of watchdog classification, and its corresponding monitoring module. Thank you! + +Hi, I noticed that you already asked this question on a different thread: https://e2e.ti.com/support/processors/f/processors-forum/997911/tda2sx-tda2sxbtqabcrq1 I'm closing this duplicate post. Regards Karthik + diff --git a/sample_embedding_folder2/0997532.txt b/sample_embedding_folder2/0997532.txt new file mode 100644 index 0000000000000000000000000000000000000000..aefe051de8cdaf061bcf7b6d03410fd4bba39181 --- /dev/null +++ b/sample_embedding_folder2/0997532.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2SX: system DMA and EDMA + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi Waht's different between System DMA and EDMA of TDA2 Thanks a lot! + +Responses: +Hi, Please refer to Ch 16 DMA Controllers in TDA2x Technical Reference Manual. We recommend to use EDMA. Regards, Stanley + +if you don't know how to answer this question, don't answer , if let me to look for TRM, it is nomeaning. + +This information is already documented very clearly in TRM. Is there anything not clear in TRM? Or, do you have some specific about your use case where you have to evaluate which DMA engine to use? + diff --git a/sample_embedding_folder2/0997911.txt b/sample_embedding_folder2/0997911.txt new file mode 100644 index 0000000000000000000000000000000000000000..54306341f5c0c0656d36faea73f4a671303f4fca --- /dev/null +++ b/sample_embedding_folder2/0997911.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2SX: TDA2SXBTQABCRQ1 + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 1. The state of TDA2Sx watchdog in the TRM is, the device includes one watchdog timer. While in the datasheet of TDA2Sx, the state is that the device has two watchdog timers. Why? 2. How many watchdogs in TDA2Sx? And which modules does these watchdog monitoring? Our company used the TDA2 module classification in the safety manual Chapter 3.8. Maybe you can give a list of watchdog in TDA2SX and their corresponding monitoring module (modules refer to safety manual Chapter 3.8). thank you! + +Responses: +Section 4.3.6 from the TRM clarifies this: "The MPU watchdog timer (MPU_WD_TIMER) implements two channels, one per MPU core (MPU_WD_TIMER_C0 and MPU_WD_TIMER_C1, respectively" So there is "one" watchdog timer with 2 independent channels. Each one has an independent period with its own interrupts, so effectively it is like having two timers. I'm not sure what you mean by corresponding monitoring module. Could you specify what safety manual you are referring to? Regards, Zack + +The safety manual is TDA2_TDA2P_DRA7_safety_manual_spruii9 Thank you! + +The watchdog timers in TDA2 do not correspond to any monitoring module, so I'm not sure what your question is. As the safety manual says in section 3.8.3.2: "The watchdog is a traditional single-threshold watchdog. The user programs a reload value to the watchdog, and must provide a predetermined “pet” response to the watchdog before the timeout counter overflows. Overflow of the timeout counter triggers an error response. The watchdog can issue either an internal (warm) system reset or a CPU interrupt upon detection of a failure." So it's unrelated to the other modules in section 3.8. Let me know if you have any other questions. + +the first question : how many watch dog timer and its location is at which module for TDA2SX? + +There are actually 2 watchdog timers. The one I reference above is in the MCU domain, and is described in section 4.3.6 of the device TRM. The other is the system watchdog timer, and is in the PD_WKUPAON power domain. + diff --git a/sample_embedding_folder2/0999837.txt b/sample_embedding_folder2/0999837.txt new file mode 100644 index 0000000000000000000000000000000000000000..dd1c65a76f1def48a325d8765db75015210716d3 --- /dev/null +++ b/sample_embedding_folder2/0999837.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2SG: Tidl in vsdk3.7 , how many network can I run in the tda2s. + +Query Text: +Part Number: TDA2SG Hi, All experts: I want to run more than one networks in the tda2s,I can run ok like the demo run, but it only can run one network, how can I run more network and different networks in the tidl? Thanks! + +Responses: +Hi, We have maximum 4 EVEs, each of them can run separate/different networks, please refer to TIDL use cases in vision SDK. Thanks, Praveen + +if I want to 1 eve can process 15-20 frames ,how can I do? Now I find it only can do 4-5 frames + +Hi, You may have to update the below parameters in the "deploy.prototxt" file and re-import the model and check. keep_top_k: 20 confidence_threshold: 0.15 For more details pls refer to below e2e thread. https://e2e.ti.com/support/processors-group/processors/f/processors-forum/689617/tda2-how-to-run-ssd-based-tidl-od-use-case-in-vision-sdk-with-pre-trained-model Thanks, Praveen + +Hi,this setting can do 20 frames when usecase use 4eves,but I want only 1eve to process 15-20frams, Has 1 eve can satisfy? + +No, one eve can't satisfy. Thanks, Praveen + diff --git a/sample_embedding_folder2/0999935.txt b/sample_embedding_folder2/0999935.txt new file mode 100644 index 0000000000000000000000000000000000000000..0370df7938bd9d90e454984f4d1f4b2f113bd07f --- /dev/null +++ b/sample_embedding_folder2/0999935.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2PXEVM: please share EVE Programmer's Guide doc to us + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 HI my friends, recently, we are developing on TDA2 , and we need to study EVE, but we don't have EVE's programmer guide, we need it. please share it to us. Thanks a lot. Best Regards, Charles.Shu + +Responses: +Hi Charles, it requires NDA, so you may need to contact your local TI's representative and we can enable via TI CDDS delivery mechanism for you Regards, Pramod + diff --git a/sample_embedding_folder2/1000341.txt b/sample_embedding_folder2/1000341.txt new file mode 100644 index 0000000000000000000000000000000000000000..aeb0b271e2ea0d01666e358bd28d7be2f850b537 --- /dev/null +++ b/sample_embedding_folder2/1000341.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: TDA2SXBTQABCRQ1 + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 1. How many watchdog timers in TDA2SXBTQABCRQ1 and where? 2. The MPU has its own watchdog timer that is different from watchdog timer in the PRCM? 3.IPU and DSP use the watchdog in the PRCM? If so, how to distinguish the error output by watchdog? 4. The following picture is from TDA2 technical reference manual chapter 18.4.6. When T is not within threshold low to threshold high, the output alert maybe do not be asserted to 1, like the blue arrow in the picture. Why? thank you! + +Responses: +1. 2 watchdog timers. 1x system watchdog and 1x MPU watchdog timer. 2. yes. 3. One watchdog timer can only be used by either IPU or DSP. You can also use GP Timer as watchdog timer. 4. Alert (Temp too high) is generated first when the temp goes above the high threshold and the next alert (Temp is safe) is generated only when the temp goes below the low threshold. In between this two events is where you have to do thermal management to lower the temp to avoid thermal shutdown. + diff --git a/sample_embedding_folder2/1000532.txt b/sample_embedding_folder2/1000532.txt new file mode 100644 index 0000000000000000000000000000000000000000..ff8cd5abe30248ae0b1e04924a1555347c0e6c1b --- /dev/null +++ b/sample_embedding_folder2/1000532.txt @@ -0,0 +1,26 @@ +Ticket Name: TDA2EXEVM: Communication with another SPI slave + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2 Hi, Can you please give some directions on how to share the TDA2 SPI Master (there are 4 SPI Modules that can be Master where each module has support for 4 Slaves (4 CS))? There is an API in Utils_mcspi.c that I am looking at as a reference. Upon boots, the Radar SDK initializes 4 SPI instances using channel 0 (CS0) to set up SPI communications with the 4 attached AWRs. My questions are as follows: 1. Why is it not necessary to call Utils_mcspiOpen() during AWR Init? 2. Why static Utils_mcspiDeviceCommObj gUtils_mcspiDeviceCommObj[UTILS_MCSPI_NUM_DEVICES]; where UTILS_MCSPI_NUM_DEVICES = 8? I thought there are 4 SPI modules only. 3. In my application where I share SPI Module0 using CS1 to communicate with my slave device, I called the Utils_mcspiOpen() specifying the deviceId = 0, mcSpiDevInstNum = 0, mcSpiChannelNum = 1. This resulted in a crash during boot. Debugged into it said the FIFO has already been in use. 4. The thought in calling Utils_mcspiOpen() was because the SPI 4 instances have already been initialized during AWRs setup. I assume I need to call Open() before calling Utils_mcspiRead()/Write(). Thank you in advance, + +Responses: +Hi, Each McSPI can support up to 4 Master but only 1 Slave. 1. SPI is needed for configuration so as long as it is called before radar configuration step, it is fine. 2. UTILS_MCSPI_NUM_DEVICES is just a number to limit the total number of external devices which can be connected to SPIx, not number of SPI modules. It is just a number we picked. Each McSPI as master can connect up to 4 devices. 3. deviceId is the index of the radar devices, not mcspi instance id. If you already have one radar with CS0 on McSPI1 (mcspi instance 0), this would be deviceId =1. 4. _Init() then _open() to get handle. After that, use the handle to call read/write. Regards, Stanley + +Hi Stanley, Thanks for the clarifications. Got a bit further. We need a bit more clarity to get this working. 1. is mcSpiChannelNum in Utils_mcspiOpen() the same as ChipSelect? If not, don't I need to specify the CS# on the mcSpi module? 2. I now called Utils_mcspiInit(1) and then called Utils_mcspiOpen(1, 0, 1, edmaHandle) to get a valid SPI handle. This resulted in a UTILS_MCSPI: McSPI GIO Create Failed!! on the console. After it crashed. 3. So looks like we still don't completely understand the API usage. Thanks, + +Any Suggestions? + +Hi Asher, I am not sure I follow what you are trying to implement here. Are you using radar driver in SDK? If yes, radar SPI driver is implemented in ~/pdk_xx_xx_xx_xx/packages/ti/drv/vps/src/devices/radar_ar12xx/src/bspdrv_ar12xxMcspiCfgPriv.c. Only Utils_mcspiInit() is called from use case to add the McSPI instace to GIO device and configure crossbar for interrupt. The instance will be opened later by radar SPI driver in PDK. To configure radar, we use radar APIs from rl_sensor.c in ~/mmwave_dfp/ti/control/mmwavelink/src/rl_sensor.c, which has the callback hooked to radar SPI driver. We don't directly call McSPI APIs from use case since SPI protocol is implemented by radar link layer. Regards, Stanley + +In addition, please note that Utils_mcspiInit(UInt32 mcSpiInstNum) where mcSpiInstNum = 0 (McSPI1), 1 (McSPI2), 2... + +Hi Stanley, Sorry for the confusion. Let me start this over again. We would like to use (configure) one of the 4 mcSPI modules on the TDA2 to communicate with a SPI slave device. Please provide steps on how that can be done. We went thru the utils_mcspi.c in radar SDK thinking that that's the API we should be using as awr12xx configuration is using that utils API to configure AWR. We read the TDA2 datasheet and it indicated that each MCSPI module can support 4 slave. Is this not the case? I think you briefly stated that "Each McSPI can support up to 4 Master but only 1 Slave". Does that mean we cannot use SPI to talk to our external device over SPI? If this is true, then case close. SPI is not the solution. If mcSPI module can be used, then please provide instructions on how to add a SPI slave to an mcSPI module using chip select knowing that each mcSPI module is a Master to each slave AWR. Thanks, --Khai + +Khai Trinh said: We read the TDA2 datasheet and it indicated that each MCSPI module can support 4 slave. Is this not the case? What I meant was when McSPI is the master, it can support up to 4 slave devices with 4 CSn. So, yes, each McSPI module as master can connect to 4 slaves. Which external SPI slave device are you connecting to? Radar or something else? If it is radar, why don't you use our radar SPI driver? Regards, Stanley + +Another SPI slave device. Please provide step-by-step instructions on how to configure it. i have tried Uitls_mcSPI.c API. If you go back to my questions below: Thanks for the clarifications. Got a bit further. We need a bit more clarity to get this working. 1. is mcSpiChannelNum in Utils_mcspiOpen() the same as ChipSelect? If not, don't I need to specify the CS# on the mcSpi module? 2. I now called Utils_mcspiInit(1) and then called Utils_mcspiOpen(1, 0, 1, edmaHandle) to get a valid SPI handle. This resulted in a UTILS_MCSPI: McSPI GIO Create Failed!! on the console. After it crashed. 3. So looks like we still don't completely understand the API usage. Thanks, --Khai You gave some hint on i + +Hi Stanley, Just want to follow on this topic. Can you please advice... The current setup in the SDK is each mcSPI module is a Master on processor side with an AWR as a slave. So 4 mcSPI modules pairing with 4 AWR slaves. That part I don't have to do anything. It's all working as is. Now I need to add another SPI slave device to 1 of the 4 Master. So we need to configure a ChipSelect on the Master side. How that can be done thru the Utils_mcSPI.c API is really my question. I have tried a few things I described above without any luck. If you have an answer, please describe it here so I can try it out. For something like this, a conf call can be much more productive. Thanks, + +Hi, Ok. It makes more sense now. 1. You don't have to call Utils_mcspiInit(instId) again because each instance only needs to be initialized once. Since you are using one of the instances which is used by radar, it is already called in ChainsCommon_ar12xxInit(). Make sure you open SPI channel only after ChainsCommon_ar12xxInit(). 2. FIFO mode can be enabled on only one channel per McSPI instance. Utils_mcspiOpen() keeps track of it in its scope. However, Radar driver enables FIFO mode in its own open call outside of Utils_mscpiOpen(). For your use case to work, you have to disable FIFO mode in Utils_mcspiOpen(). You can change the below line in Utils_mcspiOpen() to 1 to disable FIFO mode. static UInt32 fifoEnabled[UTILS_MCSPI_NUM_MCSPI_INST] = {1U, 1U, 1U, 1U}; Please give this a try and see if it works. Regards, Stanley + diff --git a/sample_embedding_folder2/1000797.txt b/sample_embedding_folder2/1000797.txt new file mode 100644 index 0000000000000000000000000000000000000000..0984da8e7b30800a8057f1eb23682d85e6358de3 --- /dev/null +++ b/sample_embedding_folder2/1000797.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2HV: TI support of QEMU for TDA2 APP + +Query Text: +Part Number: TDA2HV Other Parts Discussed in Thread: TDA2 Hi there, 1. Does QEMU support TDA2 APP? I have been searching for some time but in QEMU says that if the TDA2 machine is not listed than is very unlikely to be supported. 2. Is there any emulator support to test app without a board? I need it for testing. The board can be damaged by a quick test. 3. Can I convert my Application Image back to ELF? In my opinion, it is converted to ELF -> Application Image(RPRC) using the following command. ``` out2rprc.exe ``` Please let me know if it supported. Any guidance would be appreciated. Regards, + +Responses: +Hi, 1. No. We don't have QEMU support on TDA2. 2. No. We don't have emulator for TDA2. 3. No. We don't have utility to covert AppImage back to multiple Elf files. Regards, Stanley + diff --git a/sample_embedding_folder2/1001310.txt b/sample_embedding_folder2/1001310.txt new file mode 100644 index 0000000000000000000000000000000000000000..2df5fbbd6d87a9ed999c4e5ae1ee5622a9fd4c94 --- /dev/null +++ b/sample_embedding_folder2/1001310.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2EVM5777: How to use I2C high speed mode? + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hi expert, We have a requirement to use I2C5 to communicate between TDA2 SOC and MCU. I checked the Source code and found the I2C API path. Would this API support high speed mode and is easy to apply on the vision sdk? If it is not applicable, is there any other sample code? C:\PROCESSOR_SDK_VISION_03_05_00_00\ti_components\drivers\pdk_01_10_01_06\packages\ti\drv\stw_lld\i2clld\src\lld_hsi2c.c + +Responses: +Hi, The supported i2c bus speed is 100Khz and 400Khz for this I2C driver. It doesn't support HS mode. We don't have example i2c driver for HS mode. However, the I2C hardware on TDA2 is capable of running HS mode. Regards, Stanley + diff --git a/sample_embedding_folder2/1001510.txt b/sample_embedding_folder2/1001510.txt new file mode 100644 index 0000000000000000000000000000000000000000..ef1da5c6f1eadd2fc8a4cd30e4945129d197d57d --- /dev/null +++ b/sample_embedding_folder2/1001510.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2HV: CLANG and LLVM build support + +Query Text: +Part Number: TDA2HV Other Parts Discussed in Thread: TDA2 Hello Does the tda processor support "clang" builds? If applying, where should I edit it? + +Responses: +Hi, Not supported and no plans to add it for TDA2. Note : There is a plan to add support for TDA4 devices in next release Regards Vineet + diff --git a/sample_embedding_folder2/1001590.txt b/sample_embedding_folder2/1001590.txt new file mode 100644 index 0000000000000000000000000000000000000000..c4f2d330e1d157d1da663453b0c435c945901842 --- /dev/null +++ b/sample_embedding_folder2/1001590.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2PXEVM: Problems with the TIDL library import tool + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Hello, I am trying to use TIDL library on TDA2PX EVM to run DNNs on EVE and DSP cores. I am using TensorFlow as a framework. I am following the user guide with the title " TI Deep learning Library on TDAx " - November 2019. The user guide states that " TIDL supports slim based tensorflow models ". Does TIDL library supports only slim based TensorFlow models ? Does it mean that I can not import models trained in TensorFlow, not TensorFlow slim? I have tried to import MobileNet V2 from TensorFlow Keras applications using the TIDL library, but I get error mesages saying that "Pad Layer is not supported by TIDL and cannot be merged into any TIDL layer". Moreover, I need to know where I can find the file "optimize_for_inference.py". Thanks, Ahmed Anwar + +Responses: +Hi Ahmed, >> Does it mean that I can not import models trained in TensorFlow, not TensorFlow slim? Yes, TIDL on TDA2 can import only TensorFlow slim models. On TDA4 we support TensorFlow models also. >> but I get error mesages saying that "Pad Layer is not supported by TIDL and cannot be merged into any TIDL layer" This is because of Pad layer is not supported, refer to datasheet for all the supported layers >> I need to know where I can find the file "optimize_for_inference.py" This is available in "tensorflow/python/tools" folder Thanks, Praveen + +Hello Praveen, Thank you for your reply. I have a question regarding the TensorFlow slim models. In the user guide, there is an example of a Keras/TensorFlow model which can be found here. This example uses Keras from TensorFlow, not TensorFlow slim, to build a simple CNN, which can be used as an input to the TIDL import tool. Does this mean that I can use Keras from TensorFlow, not TensorFlow slim, to build a CNN and use it as an input to the TIDL import tool ? I just need to understand this point better, as most of my development is already in Keras/TensorFlow, and the example that I mentioned also uses Keras/TensorFlow. However, based on your reply, "TIDL on TDA2 can import only TensorFlow slim models". Would you please illustrate how this example uses Keras/TensorFlow if only TensorFlow slim models are supported on TDA2 ? Thanks, Ahmed Anwar + +Yes, We have limited layers support for Tesnsoflow in TDA2, where as most of the layers are supported with Caffe/Tensorflow slim models. Please refer to below comment in the user guide section 3.6.5. " We have developed/defined TIDL library layers based on the layer types Caffe framework. Most of our test cases (Layer level and network level) and demos are based caffe framework. With respect to Tensorflow, we have validated two pre-trained models from tensorflow github (Slim based Mobilenet V1 and Googlenet/inceptionetV1), this covers most of the CNN layers (Convolution, Max Pooling , Average pooling, Batch norm, Fully connected layer, softmax, Relu, Relu6, concate etc). " Thanks, Praveen + diff --git a/sample_embedding_folder2/1002851.txt b/sample_embedding_folder2/1002851.txt new file mode 100644 index 0000000000000000000000000000000000000000..e63498c9f9b9f4a830fa600a294fb5dd1d402dd9 --- /dev/null +++ b/sample_embedding_folder2/1002851.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2E: Counting an external signal edge + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: MMWCAS-DSP-EVM Hello. I need to count the rise or falling edges of an external clock signal which frequency is up to 300 kHz using the TDA2xx on the MMWCAS-DSP-EVM board (I just use the Ethernet peripheral so I can unmount lot of components if necessary). As you can imagine using an interrupt approach is not reliable at such high frequency, so, I intend to use a counter module that directly writes into a register the number of time the specific edge arrives. I took a look into "Timers" chapter inside TRM document (SPRUI29G) but it seams there is no way to increment the counter register using an external source. Could somebody provide me some guide? Which other module can I use to reach my goal? Thanks in advice, Pablo. + +Responses: +Hi, You can refer to TRM Ch 28 PWM which has eCAP to capture input signal. However, you have to check if EVM has exposed any pin which is routed to eCAP. https://software-dl.ti.com/processor-sdk-linux/esd/docs/06_03_00_106/linux/Foundational_Components/Kernel/Kernel_Drivers/Display/PWM.html Regards, Stanley + diff --git a/sample_embedding_folder2/1004827.txt b/sample_embedding_folder2/1004827.txt new file mode 100644 index 0000000000000000000000000000000000000000..b22f4d44df04828d2f8872eb0ad3fadc82319f47 --- /dev/null +++ b/sample_embedding_folder2/1004827.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA4VM: Linux OS memory size + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 Hello Jacinto team, My customer is considering TDA4 for its Automotive Vision application, and they are asking me about the size that Linux OS takes on theTDA4 SoC: from previous experience with TDA2, they know Linux took ~1Gb of Flash memory. Do you know what is the memory requirement for Linux OS on TDA4 ? Best regards, Antoine + +Responses: +Hi Antoine, This is the output of free command on our latest 7.3 Linux SDK. So ~1 GB with Linux. ~3GB is free out of total 4GB DDR on board. If no other questions please click verify answer. Best Regards, Keerthy + diff --git a/sample_embedding_folder2/1005296.txt b/sample_embedding_folder2/1005296.txt new file mode 100644 index 0000000000000000000000000000000000000000..b3f8be8db9bcf39a3317a5ed98e558f0644651e3 --- /dev/null +++ b/sample_embedding_folder2/1005296.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: how to use Image pyramid algorithm link in vision sdk for tda2 + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 I want to use Image pyramid algorithm link in vision sdk for tda2, this algorithm link is supported on M4, but the comment for this algorithm link in algorithmLink.h says: "Image pyramid algorithm link. Only valid for TDA3x" typedef enum { ALGORITHM_LINK_IPU_ALG_DMA_SWMS = 0, /**< Alg to DMA based SW Mosaic */ ALGORITHM_LINK_IPU_ALG_OBJECT_DRAW = 1, /**< Alg to draw rectangles on the image (Needed by PD) */ ALGORITHM_LINK_IPU_ALG_ISS_AEWB = 2, /**< AEWB for ISS running on IPU1-0. Only valid for TDA3x */ ALGORITHM_LINK_IPU_ALG_ISS_AEWB1 = 3, /**< AEWB for ISS running on IPU1-0. Only valid for TDA3x */ ALGORITHM_LINK_IPU_ALG_HW_CRC = 4, /**< CRC for checking Frame Freeze Detect on IPU1-0. Only valid for TDA3x */ ALGORITHM_LINK_IPU_ALG_IMG_PYRAMID = 5, /**< Image pyramid algorithm link. Only valid for TDA3x */ ALGORITHM_LINK_IPU_ALG_SCENE_OBSTRUCTION_DETECT = 6, /** < Alg to perform SCENE obstruction detection */ ALGORITHM_LINK_IPU_ALG_DEWARP = 7, /**< Plugin to that supports DeWarpping of images, depends on SIMCOP/TDA3x*/ ALGORITHM_LINK_IPU_ALG_RADAR_PROCESS = 8, /**< Alg to perform radar processing */ ALGORITHM_LINK_IPU_ALG_RVC_DIAGNOSTIC = 9, /**< Plugin to support Robust RVC diagnostics register only for TDA2xx */ ALGORITHM_LINK_IPU_ALG_OPENVX = 10, /**< Pluging to support OpenVX */ ALGORITHM_LINK_IPU_ALG_TIDLPREPROC = 11, /**< Alg to do TIDL Pre Process */ ALGORITHM_LINK_IPU_ALG_VPE_SWMS = 12, /**< Alg to VPE based SW Mosaic */ ALGORITHM_LINK_IPU_ALG_ISS_AEWB2 = 13, /**< AEWB for ISS running on IPU1-0 in SRV demo. Only valid for TDA3x */ ALGORITHM_LINK_IPU_ALG_OPENVX_TIDL = 14, /**< Pluging to support OpenVX TIDL */ ALGORITHM_LINK_IPU_ALG_MAXNUM = 15, /**< Should be the last value of this enumeration. * Will be used by Link/driver for validating the input parameters. */ ALGORITHM_LINK_IPU_ALG_FORCE32BITS = 0x7FFFFFFF /**< This should be the last value after the max enumeration value. * This is to make sure enum size defaults to 32 bits always regardless * of compiler. */ } AlgorithmLink_IpuAlgorithmId; I don't know why this link is not valid for tda2x. If I want to use this LINK for tda2x , how to do ? thanks + +Responses: +This is duplicate of below thread, so closing this thread. https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1005297/tda2sx-how-to-use-image-pyramid-algorithm-link-in-vision-sdk-for-tda2 Regards, Brijesh + diff --git a/sample_embedding_folder2/1005297.txt b/sample_embedding_folder2/1005297.txt new file mode 100644 index 0000000000000000000000000000000000000000..9806a87783864b9e5ba235d9dc1c38371c402168 --- /dev/null +++ b/sample_embedding_folder2/1005297.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: how to use Image pyramid algorithm link in vision sdk for tda2 + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 I want to use Image pyramid algorithm link in vision sdk for tda2, this algorithm link is supported on M4, but the comment for this algorithm link in algorithmLink.h says: "Image pyramid algorithm link. Only valid for TDA3x" typedef enum { ALGORITHM_LINK_IPU_ALG_DMA_SWMS = 0, /**< Alg to DMA based SW Mosaic */ ALGORITHM_LINK_IPU_ALG_OBJECT_DRAW = 1, /**< Alg to draw rectangles on the image (Needed by PD) */ ALGORITHM_LINK_IPU_ALG_ISS_AEWB = 2, /**< AEWB for ISS running on IPU1-0. Only valid for TDA3x */ ALGORITHM_LINK_IPU_ALG_ISS_AEWB1 = 3, /**< AEWB for ISS running on IPU1-0. Only valid for TDA3x */ ALGORITHM_LINK_IPU_ALG_HW_CRC = 4, /**< CRC for checking Frame Freeze Detect on IPU1-0. Only valid for TDA3x */ ALGORITHM_LINK_IPU_ALG_IMG_PYRAMID = 5, /**< Image pyramid algorithm link. Only valid for TDA3x */ ALGORITHM_LINK_IPU_ALG_SCENE_OBSTRUCTION_DETECT = 6, /** < Alg to perform SCENE obstruction detection */ ALGORITHM_LINK_IPU_ALG_DEWARP = 7, /**< Plugin to that supports DeWarpping of images, depends on SIMCOP/TDA3x*/ ALGORITHM_LINK_IPU_ALG_RADAR_PROCESS = 8, /**< Alg to perform radar processing */ ALGORITHM_LINK_IPU_ALG_RVC_DIAGNOSTIC = 9, /**< Plugin to support Robust RVC diagnostics register only for TDA2xx */ ALGORITHM_LINK_IPU_ALG_OPENVX = 10, /**< Pluging to support OpenVX */ ALGORITHM_LINK_IPU_ALG_TIDLPREPROC = 11, /**< Alg to do TIDL Pre Process */ ALGORITHM_LINK_IPU_ALG_VPE_SWMS = 12, /**< Alg to VPE based SW Mosaic */ ALGORITHM_LINK_IPU_ALG_ISS_AEWB2 = 13, /**< AEWB for ISS running on IPU1-0 in SRV demo. Only valid for TDA3x */ ALGORITHM_LINK_IPU_ALG_OPENVX_TIDL = 14, /**< Pluging to support OpenVX TIDL */ ALGORITHM_LINK_IPU_ALG_MAXNUM = 15, /**< Should be the last value of this enumeration. * Will be used by Link/driver for validating the input parameters. */ ALGORITHM_LINK_IPU_ALG_FORCE32BITS = 0x7FFFFFFF /**< This should be the last value after the max enumeration value. * This is to make sure enum size defaults to 32 bits always regardless * of compiler. */ } AlgorithmLink_IpuAlgorithmId; I don't know why this link is not valid for tda2x. If I want to use this LINK for tda2x , how to do ? thanks + +Responses: +Hi, It was initially implemented using resizer, which is available on TDA3x. But could you please if it internally uses VPE driver? Then it can even be enabled on TDA2x. Regards, Brijesh + diff --git a/sample_embedding_folder2/1005841.txt b/sample_embedding_folder2/1005841.txt new file mode 100644 index 0000000000000000000000000000000000000000..c24a6b0e0f0756576feab36c80d94eca78060afb --- /dev/null +++ b/sample_embedding_folder2/1005841.txt @@ -0,0 +1,18 @@ +Ticket Name: TDA2PXEVM: TIDL Import Tool and Inference on the TDA2Px EVM + +Query Text: +Part Number: TDA2PXEVM Hello, I am trying to run custom deep learning models on the TDA2Px EVM. As I understand, in order to run Deep Learning models on the board, TIDL library is used. The TIDL import tool generates binary files that represent the network and parameters of the model. What I also understand from this step is that the tool translates the input model from a framework like TensoFlow to a format that can be executed on DSP and EVE cores. When I tried to understand how to use the generated files for inference on the board, I found section 3.3.4 (Building the Test Application Executable through GMAKE) in the TIDL library which discusses how to load the .out files of the sample test application on the DSP and EVE cores using Code Compuser Studio (CCS). I want to understand these points: - What is the link between the TIDL import tool output binary files and building the .out files (dsp_test_dl_algo.out and dsp_test_dl_algo.out) for inference on the board ? The user guide states that for building the sample test application project I should execute the command (gmake CORE=dsp all) for DSP and (gmake CORE=eve all) for EVE. What about a different custom model ? What changes should I make and how to link the translated model by the TIDL import tool in order to build the (dsp_test_dl_algo.out and eve_test_dl_algo.out) files for my custom model? - Is there a way to run the .out files on the board without using CCS ? I want to run the models on the board using only a terminal, is it possible ? - Is there a specific OS that should be installed on an SD card for booting the board to run TIDL applications ? - I am facing some issues for setting a stable workflow for model deployment on TDA2PX EVM. I usually have custom trained deep learning models in TensorFlow and I am trying to deploy those models on the TDA2Px EVM. If there are any documentations or tutorials in addition to the provided user guides, please let me know. Thanks, Ahmed Anwar + +Responses: +Hi Ahmed Anwar, 1. There is no dependency on "TIDL import tool output binary files" for building the .out files, these bin files are input which you need to specify in the infer config file. 2. Yes, you can run TIDL on the board without CCS, for that refer to TIDL OD usecase in the Vision SDK. 3. No, just follow the steps in Vision SDK user guide. 4. Refer to TIDL usecases section in the Vision SDK user guide. Overall, you can run TIDL on the board without CCS by using TIDL usecases, I would recommend to run the existing usecase as is first and once it is working then replace the "params" and "net" binary files in the SD card with your bin files and run. You can also refer to below e2e thread to import and run our pre-trained SSD model in the TIDL OD usecase. https://e2e.ti.com/support/processors-group/processors/f/processors-forum/689617/tda2-how-to-run-ssd-based-tidl-od-use-case-in-vision-sdk-with-pre-trained-model Thanks, Praveen + +Hi Praveen, Thank you for your reply. I would like to understand these points: - What is the usage of the .out files (dsp_test_dl_algo.out and dsp_test_dl_algo.out) ? As I understand, I need only the network and parameters .bin files for running a model on the board using TIDL usecases.Would you please let me know what the usage of the .out files is ? Do I need them or just I need the .bin files ? - In the Vision SDK TIDL User Guide, in section 5 "Build and Run TIDL Object detect use case", these statements are present: "The TIDL Object detect use case is enabled and runs on TDA2XX SoC only." "Build the Vision SDK for TDA2XX BIOS configuration choosing the ‘MAKECONFIG?=tda2xx_evm_bios_all’ in the Rules.make." "Please refer to the ‘VisionSDK_UserGuide_TDA2xx.pdf’ for steps on building and running the Vision SDK." I am using TDA2PX, not TDA2XX. Does this mean that I can not run TIDL models and usecases on TDA2PX ? If TDA2PX supports TIDL usecases, should I follow "VisionSDK_UserGuide_TDA2xx.pdf" as stated or "VisionSDK_UserGuide_TDA2px.pdf’" ? Thanks, Ahmed Anwar + +Hi, >> What is the usage of the .out files (dsp_test_dl_algo.out and dsp_test_dl_algo.out) ? These .out files are required to when you connect the board to CCS and run TIDL on CCS based setup, but if you want to run TIDL without CCS then these .out files are not required. >> I am using TDA2PX, not TDA2XX. Does this mean that I can not run TIDL models and usecases on TDA2PX ? No, you can run TIDL models and usecases on TDA2PX, please refer to "VisionSDK_UserGuide_TDA2px.pdf" file. FYI, many customers were successfully able to run TIDL usecases on TDA2PX, you can search in the e2e for those threads as reference. I have shared few threads https://e2e.ti.com/support/processors-group/processors/f/processors-forum/867915/tidl_od-usecase-on-tda2px?tisearch=e2e-sitesearch&keymatch=TDA2PX# https://e2e.ti.com/support/processors-group/processors/f/processors-forum/714606/linux-tda2pxevm-issue-in-running-vision-sdk-demo-application-on-tda2px?tisearch=e2e-sitesearch&keymatch=TDA2PX# Thanks, Praveen + +Does That mean I Can't Run TIDL use cases on Vision SDK Linux or in other words I must use the "MAKECONFIG?=tda2Px_evm_bios_all" configration but I can't use the "MAKECONFIG?=tda2xx_evm_linux_all" configuration? Thanks, Kirollos Henry + +You can but you have to set OPENVX_INCLUDE=y in ~/vision_sdk/apps/configs/tda2px_evm_linux_all/cfg.mk. + +Thank you so much I was able to Solve that issue Best Regards, Kirollos Henry + diff --git a/sample_embedding_folder2/1006960.txt b/sample_embedding_folder2/1006960.txt new file mode 100644 index 0000000000000000000000000000000000000000..b4b5822fd9a89c639e666a2065c8dab66d208d2d --- /dev/null +++ b/sample_embedding_folder2/1006960.txt @@ -0,0 +1,28 @@ +Ticket Name: TDA2SG: TDA2 LCD2 BT656 signal + +Query Text: +Part Number: TDA2SG Other Parts Discussed in Thread: TDA2 Hi Sir : TDA2 output BT.656 signal, when converted to BT.601 signal. Hsync will output all the time. If Vsync is low and Hsync is low, how do I set it? + +Responses: +Hi, Do you mean, you dont want hsync to be toggling when vsync is low? If this is the case, you could treat DE signal as inverted hsync. DE will toggle only during active video portion. Regards, Brijesh + +Hi Brijesh : The hardware only has Hsync and Vsync and PCLK and ATA [7:0] pins, no DE output. The image had the output I wanted. + +Hi Pierre Hsieh, hsync will toggle during vsync, this cannot be changed. In this case, you need to use DE line. Regards, Brijesh + +Hi Brijesh : I cannot modify the BT656 configuration of TDA2 to output the desired signal? + +Hi Pierre Hsieh, Hsync is supposed to toggle even during vsync inactive period.. This behavior cannot be changed. Regards, Brijesh + +Hi Brijesh : BT.656 does not have a DE Line specification. How can I convert to BT.601 with DE Line? + +Hi Pierre Hsieh, BT656 does not even output hsync and vsync, so we cannot use hsync/vsync signals for BT656. We have to use discrete sync output mode in order to get sync signals. and when we enable discrete sync signals, we will also get DE signal. Regards, Brijesh + +Hi Brijesh : This TDA2 hardware configuration, Display Subsystem DPI2 output BT.656, only output Data and PCLK signal lines. Analyze Bt.656, there will still be H Active in V Blanking. TDA2 can output on BT.656, the V Blanking signal is only H Blanking? + +Hi Pierre Hsieh, When you say BT656, it is embedded sync output format, and in this format, DSS does not output sync signals, so there will not be any hsync or vsync signals in bt656 output. So can you check if you are configuring DSS for discrete sync output? Regards, Brijesh + +Hi Brijesh : BT.605 does not have Hsync and Vsync, so I converted it to BT601 using FPGA. I used FPGA to convert TDA2 output BT.656 signal into BT.601 signal. I found that VBlanking has a HActive signal for BT.601 signal. + +Hi Pierre Hsieh, ok, in this case, you need to change FPGA. FPGA should out hsync correctly. This is not DSS question. Regards, Brijesh + diff --git a/sample_embedding_folder2/1008079.txt b/sample_embedding_folder2/1008079.txt new file mode 100644 index 0000000000000000000000000000000000000000..8a1c1524054271f5bf047c5c49f840e43d201f71 --- /dev/null +++ b/sample_embedding_folder2/1008079.txt @@ -0,0 +1,20 @@ +Ticket Name: TDA2SG: How can output yuv422 format in the display + +Query Text: +Part Number: TDA2SG Hi ,expert: My system has three overlay in the display,like this : 1,VID1: BGRA32_8888 2.VID2: YUV420SP 3.GFX: BGRA32_8888 general, TDA2s use the rgb888 output to display, and my system is work ok,Now I want to use the yuv422( YUYV) to the display, I see the "dssm2mwb" link ,I found this link may need "sync" link and then use buftype of "SYSTEM_BUFFER_TYPE_VIDEO_FRAME_CONTAINER". I have the question as follow: 1,sync need 3 overlay framerate is same,but my system is not satisfy and overlay has different display framesrate, so i think this solution may not very well . 2,Is There other solution to yuv422 display output thanks! + +Responses: +Hi, do you mean yuv422 over embedded sync output interface? Rgds, Brijesh + +no, I mean if i use sync link ,if one of queue has no video ,sync will no send cmd to process ,so I think this solution is not suit. Now I want to checkout the problem: 1,VID1: BGRA32_8888 ->YUYV 2.VID2: YUV420SP 3.GFX: BGRA32_8888 ->YUYV overlay like this,the display can work? 2) Is there some usecase of yuv422 output I can refer + +hi, #1, in this case, you would require to change sync link to support this feature. Currently it is not supported. sync link does not output if one of the input is not available. #2, do you mean to use 3 video pipelines, each with different data type? yes, display will work with this combination #3, where yuv422 do you require? Is it at the output of capture link or input to the display link? Regards, Brijesh + +output in the dispaly link , if i dont want to use "sync",I will do as follow: change RGBA328888 to YUYV format and it will make 3 video pipeline dataformat to 1,VID1: YUYV 2.VID2: YUV420SP 3.GFX: YUYV is the display link support "YUYV" and "YUV420sp" format output. + +Yes, display link supports both of these formats. Rgds, Brijesh + +I use capture_dsswb link ,and set vout format BT656 and DISPC_VP1_CONTROL.TDMENABLE = 0x1: TDM enabled DISPC_VP1_CONTROL. TDMPARALLELMODE = 0x0: 8-bit parallel output interface selected DISPC_VP1_CONTROL. TDMCYCLEFORMAT = 0x2: 2 cycles for 1 pixel DISPC_DATA1_CYCLE1 = 0x8 DISPC_DATA1_CYCLE2 = 0x8 DISPC_DATA1_CYCLE3 = 0x0 but my capture_dsswb has no video data,so I think writeback pipeline do not well work. how can I use writeback? + +Hi, these two things are different and independent. could you help me with what exactly you are trying to enable? - are the three input video pipelines enabled? - why are you enabling TDM for BT656 output? - why are you enabling dss wb path? Regards, Brijesh + diff --git a/sample_embedding_folder2/1011115.txt b/sample_embedding_folder2/1011115.txt new file mode 100644 index 0000000000000000000000000000000000000000..789a29de36bc6b37fa857bcf3adcdedddcc87052 --- /dev/null +++ b/sample_embedding_folder2/1011115.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA4VM: TDA4 RTOS SDK network utilities + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 Hi, In TDA4 RTOS SDK, do we have something similar as the TDA2.TDA3's network_rx, network_tx tools ? I saw that we have some ETHFW demo involving Plex media server but I just need a simple client/server example app that is able to save a file on PC over ethernet. regards, Victor + +Responses: +Hi Victor, No simple utility on RTOS of the kind you are looking for. Can you spell out your requirement : Do you want to stream a file from your EVM to your PC ? or do you want to use the CPSW 9G as a switch and connect multiple devices over it ? Regards Vineet + +Hi Vineet, I actually implemented the tool since it didn't exist on TDA4. The ticket can be closed. Thanks. regards, Victor + diff --git a/sample_embedding_folder2/1012640.txt b/sample_embedding_folder2/1012640.txt new file mode 100644 index 0000000000000000000000000000000000000000..9ca24ce6946f6cc9bb1dbbbb047cb90c4ee367f4 --- /dev/null +++ b/sample_embedding_folder2/1012640.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2SX: TDA2SXBU PMIC Selection + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi Expert, Could TDA2SXBU PMIC Select TPS659039-O9039A387? If TDA2SXBU PMIC could not select TPS659039-O9039A387,do you have any suggestions? Thanks Daniel + +Responses: +Hi Daniel, Sorry for the delay. Is this issue still open ? Regards Vineet + +Hi Vineet Issue is still open. Could you help me? Thanks Daniel + +Hi Daniel, Will take a look at this internally and get back. Regards Vineet + +Vineet, We recommend the PMIC that is implemented on the TDA2 EVM. Regards, Kyle + diff --git a/sample_embedding_folder2/1013160.txt b/sample_embedding_folder2/1013160.txt new file mode 100644 index 0000000000000000000000000000000000000000..8c1912ae96ccac932212da354ef0290d1aad4b5b --- /dev/null +++ b/sample_embedding_folder2/1013160.txt @@ -0,0 +1,43 @@ +Ticket Name: TDA2SX: Tda2s SPI slave mode reception problem + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hello, expert Tda2s is SPI slave mode. If the master sends a 1MHz clock and sends 140 bytes every 20ms, it will get stuck after receiving several times. If it sends 32 bytes every time, it will not get stuck. If it sends 32 bytes every 10ms, it will still receive several times of data and it will get stuck. dmesg1.txt 146 root 0:00 [kworker/0:1H] + 148 root 0:00 cat /proc/kmsg + 149 root 0:00 ps +root@dra7xx-evm:/app# +root@dra7xx-evm:/app# +root@dra7xx-evm:/app# +root@dra7xx-evm:/app# +root@dra7xx-evm:/app# ./spi_rev_tool_32 -D /dev/spidev1.0 -s 1000000 -b 8 +[ 36.808325] spidev spi1.0: setup mode 0, 8 bits/w, 48000000 Hz max --> 0 +[ 36.809212] spidev spi1.0: setup mode 0, 8 bits/w, 48000000 Hz max --> 0 +[ 36.810092] spidev spi1.0: setup mode 0, 8 bits/w, 1000000 Hz max --> 0 +<7>[ 36.808304] spidev spi1.0: setup: speed 48000000, sample leading edge, clk normal +<4>[ 36.808325] spidev spi1.0: setup mode 0, 8 bits/w, 48000000 Hz max --> 0 +<7>[ 36.809182] spidev spi1.0: spi mode 0 +<7>[ 36.809198] spidev spi1.0: setup: speed 48000000, sample leading edge, clk normal +<4>[ 36.809212] spidev spi1.0: setup mode 0, 8 bits/w, 48000000 Hz max --> 0 +<7>[ 36.810065] spidev spi1.0: 8 bits per word +<7>[ 36.810079] spidev spi1.0: setup: speed 1000000, sample leading edge, clk normal +<4>[ 36.810092] spidev spi1.0: setup mode 0, 8 bits/w, 1000000 Hz max --> 0 +<7>[ 36.810946] spidev spi1.0: xfer len 32 rx tx 8bits 0 usec 1000000Hz +<7>[ 36.810973] spidev spi1.0: setup: speed 1000000, sample leading edge, clk normal +RX | 4D 56 00 00 10 9A 00 00 | MV...?. +RX | 01 01 00 00 00 00 00 00 | ........ +RX | 00 00 00 00 00 00 00 00 | ........ +RX | 00 00 00 00 00 00 00 00 | ........ +RX | 00 00 00 00 00 00 00 00 | ........ +RX | 00 00 00 00 00 00 00 00 | ........ +RX | 00 00 00 00 00 00 00 00 | ........ +RX | 00 00 00 00 00 00 00 00 | ........ +<7>[ 36.826262] spidev spi1.0: setup: speed 48000000, sample leading edge, clk normal +<7>[ 36.826462] spidev spi1.0: xfer len 32 rx tx 8bits 0 usec 1000000Hz +<7>[ 36.826487] spidev spi1.0: setup: speed 1000000, sample leading edge, clk normal +<7>[ 36.827021] spidev spi1.0: setup: speed 48000000, sample leading edge, clk normal +<7>[ 36.827126] spidev spi1.0: xfer len 32 rx tx 8bits 0 usec 1000000Hz +<7>[ 36.827149] spidev spi1.0: setup: speed 1000000, sample leading edge, clk normal + I add printing when I can't receive hand data, it's stuck in SPI_ transfer_ one_ message()---->master-transfer_ one(). How to find the problem? The problem of the master side has been ruled out, and the measurement SPI CLK CS is normal. + +Responses: +Hi, Our Linux SDK doesn't support SPI slave mode. It has not been validated on TDA2 EVM. Regards, Stanley + diff --git a/sample_embedding_folder2/1013431.txt b/sample_embedding_folder2/1013431.txt new file mode 100644 index 0000000000000000000000000000000000000000..09ee13fc40ed520b39e6530623dfe1754c9ca427 --- /dev/null +++ b/sample_embedding_folder2/1013431.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2PXEVM: roscore run error on my TDA2Px-EVM due to python version + +Query Text: +Part Number: TDA2PXEVM Hi all, I am trying to run ROS on my TDA2Px-EVM so, I have done this clone: git clone git://arago-project.org/git/projects/oe-layersetup.git tisdk Then this configuration and build: ./oe-layertool-setup.sh -f configs/processor-sdk/processor-sdk-06.03.00.106-config.txt cd build . conf/setenv export TOOLCHAIN_PATH_ARMV7=$HOME/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf export TOOLCHAIN_PATH_ARMV8=$HOME/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu MACHINE=dra7xx-evm bitbake arago-base-tisdk-image This Arago project was running just fine. Then I went to the meta-ros layer and created that file in recipes-core/images: require recipes-core/images/arago-base-tisdk-image.bb export IMAGE_BASENAME = "ros-base-image" DESCRIPTION = "An image with packagegroup-ros-world installed" IMAGE_INSTALL = "packagegroup-core-boot ${CORE_IMAGE_EXTRA_INSTALL}" IMAGE_LINGUAS = " " LICENSE = "MIT" inherit core-image IMAGE_ROOTFS_SIZE = "8192" IMAGE_INSTALL += "packagegroup-ros-world" And named that file ros-base-image.bb Then I ran that build command: MACHINE=dra7xx-evm bitbake ros-base-image This build finished with no errors And I also was able to boot the board with no issues When the board Started I exported these variables: export ROS_ROOT=/opt/ros export ROS_DISTRO=indigo export ROS_PACKAGE_PATH=/opt/ros/indigo/share export PATH=$PATH:/opt/ros/indigo/bin export LD_LIBRARY_PATH=/opt/ros/indigo/lib export PYTHONPATH=/opt/ros/indigo/lib/python3.5/site-packages export ROS_MASTER_URI=http://localhost:11311 export CMAKE_PREFIX_PATH=/opt/ros/indigo touch /opt/ros/indigo/.catkin When I try to run roscore I got an error no module named xmlrpc as if it is trying to run for python2 and not python3 although the one installed is python3 I spent a couple of days trying to solve this but I am always having same error. And also I was not able to follow that guide: https://software-dl.ti.com/infotainment/esd/jacinto6/processor-sdk-linux-automotive/6_00_00_03/exports/wiki/Processor%20SDK%20Linux%20Automotive%20Software%20Developers%20Guide%20-%20Texas%20Instruments%20Wiki.pdf Because my machine is running on ubuntu 18 and this guide required ubuntu 14 host machine Thank you so much. Best regards, Kirollos Henry I have done this clone: git clone git://arago-project.org/git/projects/oe-layersetup.git tisdk Then this configuration and build: ./oe-layertool-setup.sh -f configs/processor-sdk/processor-sdk-06.03.00.106-config.txt cd build . conf/setenv export TOOLCHAIN_PATH_ARMV7=$HOME/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf export TOOLCHAIN_PATH_ARMV8=$HOME/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu MACHINE=dra7xx-evm bitbake arago-base-tisdk-image This Arago project was running just fine. Then I went to the meta-ros layer and created that file in recipes-core/images: require recipes-core/images/arago-base-tisdk-image.bb export IMAGE_BASENAME = "ros-base-image" DESCRIPTION = "An image with packagegroup-ros-world installed" IMAGE_INSTALL = "packagegroup-core-boot ${CORE_IMAGE_EXTRA_INSTALL}" IMAGE_LINGUAS = " " LICENSE = "MIT" inherit core-image IMAGE_ROOTFS_SIZE = "8192" IMAGE_INSTALL += "packagegroup-ros-world" And named that file ros-base-image.bb Then I ran that build command: MACHINE=dra7xx-evm bitbake ros-base-image This build finished with no errors And I also was able to boot the board with no issues When the board Started I exported these variables: export ROS_ROOT=/opt/ros export ROS_DISTRO=indigo export ROS_PACKAGE_PATH=/opt/ros/indigo/share export PATH=$PATH:/opt/ros/indigo/bin export LD_LIBRARY_PATH=/opt/ros/indigo/lib export PYTHONPATH=/opt/ros/indigo/lib/python3.5/site-packages export ROS_MASTER_URI=http://localhost:11311 export CMAKE_PREFIX_PATH=/opt/ros/indigo touch /opt/ros/indigo/.catkin When I try to run roscore I got an error no module named xmlrpc as if it is trying to run for python2 and not python3 although the one installed is python3 I spent a couple of days trying to solve this but I am always having same error. And also I was not able to follow that guide: https://software-dl.ti.com/infotainment/esd/jacinto6/processor-sdk-linux-automotive/6_00_00_03/exports/wiki/Processor%20SDK%20Linux%20Automotive%20Software%20Developers%20Guide%20-%20Texas%20Instruments%20Wiki.pdf Because my machine is running on ubuntu 18 and this guide required ubuntu 14 host machine Thank you so much. Best regards, Kirollos Henry I have done this clone: git clone git://arago-project.org/git/projects/oe-layersetup.git tisdk Then this configuration and build: ./oe-layertool-setup.sh -f configs/processor-sdk/processor-sdk-06.03.00.106-config.txt cd build . conf/setenv export TOOLCHAIN_PATH_ARMV7=$HOME/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf export TOOLCHAIN_PATH_ARMV8=$HOME/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu MACHINE=dra7xx-evm bitbake arago-base-tisdk-image This Arago project was running just fine. Then I went to the meta-ros layer and created that file in recipes-core/images: require recipes-core/images/arago-base-tisdk-image.bb export IMAGE_BASENAME = "ros-base-image" DESCRIPTION = "An image with packagegroup-ros-world installed" IMAGE_INSTALL = "packagegroup-core-boot ${CORE_IMAGE_EXTRA_INSTALL}" IMAGE_LINGUAS = " " LICENSE = "MIT" inherit core-image IMAGE_ROOTFS_SIZE = "8192" IMAGE_INSTALL += "packagegroup-ros-world" And named that file ros-base-image.bb Then I ran that build command: MACHINE=dra7xx-evm bitbake ros-base-image This build finished with no errors And I also was able to boot the board with no issues When the board Started I exported these variables: export ROS_ROOT=/opt/ros export ROS_DISTRO=indigo export ROS_PACKAGE_PATH=/opt/ros/indigo/share export PATH=$PATH:/opt/ros/indigo/bin export LD_LIBRARY_PATH=/opt/ros/indigo/lib export PYTHONPATH=/opt/ros/indigo/lib/python3.5/site-packages export ROS_MASTER_URI=http://localhost:11311 export CMAKE_PREFIX_PATH=/opt/ros/indigo touch /opt/ros/indigo/.catkin When I try to run roscore I got an error no module named xmlrpc as if it is trying to run for python2 and not python3 although the one installed is python3 I spent a couple of days trying to solve this but I am always having same error. And also I was not able to follow that guide: https://software-dl.ti.com/infotainment/esd/jacinto6/processor-sdk-linux-automotive/6_00_00_03/exports/wiki/Processor%20SDK%20Linux%20Automotive%20Software%20Developers%20Guide%20-%20Texas%20Instruments%20Wiki.pdf Because my machine is running on ubuntu 18 and this guide required ubuntu 14 host machine Thank you so much. Best regards, Kirollos Henry + +Responses: +Hi Kirollos, We will get back to you in couple of days. Thanks for your patience. Best Regards, Keerthy + +Kirollos, There are two main questions in your post. -1- Issue with running roscore with an updated image "ros-base-image" that you have created - the issue with xmlrpc. Unfortunately, this issue is very custom to your changes and you will have to debug this issue by yourself. Note that ROS integration is not a default on the SDK and we are quite unfamiliar with this error and will need more debug on the specific changes that you have done at your end. -2- And also I was not able to follow that guide: Sorry, what are you not able to follow in this guide? Yes, the SDK is dependent on Ubuntu 14.04 and it is recommended that you use the mentioned version to recreate the SDK successfully. Regards Karthik + +Hello Karthik, I want to know how much disk space is required to build yocto file system using this guide as I started building it by commenting the host check part in the script but I reached only 20% and took about 100GB of my disk space. I want to know how much disk space I have to free for this. Best regards, Kirollos Henry + +Hi Kirollos, 20% competion and 100GB of disk space doesn't sound quite right. But usually a single build needs about 150GB-200GB of disk space for the full build. Regards Karthik + +Hi Karthik, Thank you so much I was able to run roscore after some changes on the board using the steps I have previously done + diff --git a/sample_embedding_folder2/1013586.txt b/sample_embedding_folder2/1013586.txt new file mode 100644 index 0000000000000000000000000000000000000000..dac74681342e9be2f60945cdca24618dc0ff4bd6 --- /dev/null +++ b/sample_embedding_folder2/1013586.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2PXEVM: Installing ROS on TDA2PXEVM after building Yocto filesystem + +Query Text: +Part Number: TDA2PXEVM Hello all, I have built Yocto filesystem on my TDA2Px using this guide: https://software-dl.ti.com/infotainment/esd/jacinto6/processor-sdk-linux-automotive/6_00_00_03/exports/wiki/Processor%20SDK%20Linux%20Automotive%20Software%20Developers%20Guide%20-%20Texas%20Instruments%20Wiki.pdf I want to know how can I add ROS layer and build Yocto again with ROS installed and have ROS running on my TDA2Px-EVM. Or in other word how can I customize a ROS layer or is there any guide for that? Thank you, Best Regards, Kirollos Henry + +Responses: +Kirollos, It seems like you have made progress on the ROS image already: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1013431/tda2pxevm-roscore-run-error-on-my-tda2px-evm-due-to-python-version. There is no guide for integrating ROS with TDA2Px - most of our experiments with ROS were experimental and since both TI SDK and ROS were moving quite a bit we didn't snapshot a stable version and document the same. Lets continue discussion on the newer thread. Closing this one for now. Regards Karthik + diff --git a/sample_embedding_folder2/1014661.txt b/sample_embedding_folder2/1014661.txt new file mode 100644 index 0000000000000000000000000000000000000000..8b47ed3c4dbdfa18457ac15602ced271935cdcb2 --- /dev/null +++ b/sample_embedding_folder2/1014661.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2SA: Is there a Code Composer Studio(CCS) project existing to build the "VISION SDK/project" on OS (Linux/or windows) Platform ? + +Query Text: +Part Number: TDA2SA Other Parts Discussed in Thread: TDA2 Hi Expert, My platform is TDA2 I want to confirm again. Is there a Code Composer Studio(CCS) project existing to build the "VISION SDK/project" on OS (Linux/or windows) Platform ? Thanks Daniel + +Responses: +Hi Expert Is there any update? Thanks Daniel + +Hi, No, we use commend line and makefile to build Vision SDK. CCS build takes longer time than command-line build/makefile build. Regards, Stanley + diff --git a/sample_embedding_folder2/1015551.txt b/sample_embedding_folder2/1015551.txt new file mode 100644 index 0000000000000000000000000000000000000000..6f0e23c8f5ba1b5398c90233dff7989161e89f85 --- /dev/null +++ b/sample_embedding_folder2/1015551.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: pressure test script / software + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi At present, we are preparing to do tda2sx ddr3l pressure test,Do you have tda2 ddr3l pressure test script / software? If there is no script, what should I do for stress testing?If we want to develop stress testing software, how to raise the corresponding software requirements? Please help me give some advice. Thank you! + +Responses: +Hi, There is nothing provided outside of what may exist in the SDKs. What operating system does your application use? Thanks, Kevin + diff --git a/sample_embedding_folder2/1015553.txt b/sample_embedding_folder2/1015553.txt new file mode 100644 index 0000000000000000000000000000000000000000..b9b3fbd9af4098b110d45ffb60c8d5a8c9efea00 --- /dev/null +++ b/sample_embedding_folder2/1015553.txt @@ -0,0 +1,28 @@ +Ticket Name: TDA2P-ACD: Custom calibration tool for 2D SRV + +Query Text: +Part Number: TDA2P-ACD Other Parts Discussed in Thread: TDA2 Hi all, I am trying to make a custom calibration tool for 2D surround view in Python with OpenCV that would match the existing one developed in Matlab. So far, I managed to implement the same workflow and to obtain the parameters of initial perspective metrices for 4 cameras with stitched bird view as shown in the image below. As can be seen, the bird view image is decent. However, when I provide the obtained perspective matrices (scaled to match Q11.20 format that I believe is used in GeometricAlignment and Sythesis algorithms), I get the result which is not even comparable to the one shown above, i.e., everything is distorted. This indicates that matrix parameters are wrong or incorrectly interpreted. To confirm that the perspective matrix coefficients are correct I used the same values in another framework (Octave) and I get nice bird view for each camera (I provide a view for front camera below). The question is what I am doing wrong and why I do not get (at least to some extent) correct bird view on the target? Best regards, Mladen + +Responses: +Just an additional note. I also tried to use perspective matrix generated by the tool for provided sample images in both Python and Octave. All I got is also distorted indicating that the TI tool does not provide the matrix coefficients expected by OpenCV warpPerspective() and Octave imperspectivewarp(). + +Did you compare bin files from your python with the bin files from TI tool? + +Hi Do-Kyoung Kwon, I am not sure what bin files are you referring to. Currently, I am trying to get initial perspective matrices that would be comparable with the one obtained from TI tool. So far I found out that OpenCV and Octave functions returns forward mapped homographies, however, the SV algorithm is based on back-mapping. Therefore, I tried to use inverse matrices, but it seems that it does not work either. Now I suspect it has something with translating the image center to 0 instead of (width/2, height/2). + +Oh.. I now realized that you are working on SRV on TDA2. I thought you are working on SRV on TDA4. + +Right. It is 2D surround view running on C66. + +I think image center could be a reason. There might be no issue with perspective matrices give that you got the right reconstruction for the upper part of SRV. But it seems hard to say without debugging. + +Actually, I got the right reconstruction on all 4 views as you can see in the first image (this is an output from Python tool). The issue arises when I provide the obtained matrices to the usecase (GeometricAlignment link) or to the Surroundview.exe tool for further perspective matrices tuning. It seems that those initial matrices are not in the form expected by the current implementation. I will also check for the image centers, but anyway, thank you for your time. + +Great to hear that you resolve the issue. + +No, the issue is still unresolved. I am chasing the way to adjust the perspective matrices to match the required format. + +I figured this out. Image centers are just one side of the coin. Input images relative to output view orientation should be considered as well. Obviously, a rule for feature points (corners selected in reference image and input images) correspondence I used in my custom tool is different from the one in the TI tool, so I had to add some rotations to the input images (and output results) to match them. It is very specific to my case, but it would be informative if you could share somewhere in the documentation how the corners selected in the tool on reference image corresponds to the corners selected on the input images for each camera view. + +Great! Thanks for the suggestion, too! + diff --git a/sample_embedding_folder2/1015697.txt b/sample_embedding_folder2/1015697.txt new file mode 100644 index 0000000000000000000000000000000000000000..55b30e6350b9bb2c23cd145e7f2181487adb02fe --- /dev/null +++ b/sample_embedding_folder2/1015697.txt @@ -0,0 +1,38 @@ +Ticket Name: How to burn the sd card file to emmc Tda2ex-17 (SDK V03.08) + +Query Text: +Other Parts Discussed in Thread: TDA2, SYSBIOS Dear all, I'm just a beginner As shown in the title! Currently only use sd card to boot I’m not sure about the creation process and other settings like uenv-emmc.txt May I ask which document is talking about how to burn the emmc part? I don’t know the first thing to know and what to do at the beginning Although there are many related issues But is there a detailed document for reference? The part about burning into emmc! Can anyone give me some suggestions on the above issues ===================================================================== And how to enter terminal like => root@dra7xx-evm:~# Beacuse I put sd card into board and starting My log starts directly here ------------------------------------------------ TDA2Ex SBL Boot DPLL Configuration Completed Clock Domain Configuration Completed Module Enable Configuration Completed TI EVM PAD Config Completed DDR Config Completed App Image Download Begins SD Boot - file open completed successfully MPU CPU0 Image Load Completed IPU1 CPU0 Image Load Completed IPU1 CPU1 Image Load Completed IPU2 CPU0 and CPU1 Image Load Completed .....................etc -------------------------------------------------------------- I’m not sure how to get in root@dra7xx-evm:~# Which paragraph may I have missed The above are some of my questions. Please help me . VERY THANKS!! + +Responses: +Dear all, Please tell me if there is something unclear Thanks! + +Dear all, By the way , when I was in Bulid The different settings are MAKECONFIG=tda2xx_evm_linux_all => MAKECONFIG=tda2ex_evm_bios_all + +Dear all, Is it because we are a custom board? Because some related settings are not done and directly with your EV setting to run, so there is no way to run to => root@dra7xx-evm:~# Is it? What can I do about those related settings? Are there other documents or suggestions? + +Dear all, 【Supplement】 And my VisionSDK_Linux_UserGuide.pdf did 4 .3 steps But the log does not show anything Next However I did VisionSDK_UserGuide_TDA2Ex.pdf +Some later steps gmake -s sbl and gmake -s appimage +Generate MLO and appimage to overwrite the original MLO (without apimage) Have Log ------------------------------------------------ TDA2Ex SBL Boot DPLL Configuration Completed Clock Domain Configuration Completed Module Enable Configuration Completed etc.... --------------------------------------------- But VisionSDK_Linux_UserGuide.pdf did 4 .3 steps Why is there no system log?? Is there a problem? Because we are a custom board, what should I pay attention to and set?   + +If you set MAKECONFIG=tda2ex_evm_bios_all and build "gmake -s sbl", the MLO is for the baremetal bootloader for TI-RTOS (SYSBIOS). For Linux, you should set MAKECONFIG=tda2xx_evm_linux_all. However, sbl build is only for RTOS, not Linux. To build the bootloader (spl/u-boot) for Linux, you have to build from linux u-boot on Ubuntu PC. VisionSDK_Linux_UserGuide.pdf has all the steps documented. You have to follow the steps from the beginning to set up Linux build environment. Regards, Stanley + +Dear Stanley, Step1 !!! I did the steps above in the document (VisionSDK_Linux_UserGuide.pdf) And my MAKECONFIG is tda2ex_evm_linux_all I have done step 4.2,Then burn it into the SD card When I put it in our coustom board, """ there is no log """ =================================================================== Step2 !!! Then I did another thing I will overwrite the MLO and put in appimage built by the window => tda2ex_evm_bios_all (These two files are completed under the window ) But there is a log out Like this ------------------------------------------------ TDA2Ex SBL Boot DPLL Configuration Completed Clock Domain Configuration Completed Module Enable Configuration Completed etc.... --------------------------------------------- ============================================================================== The key problem is!! when I was in step 1!!! Why did I complete 4.2 and put the sd card into our costom board and there is no log display???? Why did I do the second experiment but it works like this(Step2 !!!) ? Is there something wrong?? I have followed VisionSDK_Linux_UserGuide.pdf, but the 4.3 step is still unsuccessful Thanks!!!!! + +One possibility is that Linux u-boot SPL (MLO) got stuck since you were booting the MLO for EVM on the custom board. Do you have JTAG to connect the device and check what is going on with debugger? You can use Lauterbach JTAG with Trace32 or XDS560v2 JTAG with CCS to debug. Regards, Stanley + +Dear, Q1. So it may be the relationship of the custom board? Because it doesn’t match with MLO?? =============================================================== Q2.in addition ,If Q1 is right I want to ask, is it because some need to be set according to our board? Is there any direction to tell me what needs to be modified? ============================================================= I will learn about the debug method and try it out Please tell me these two answers Thanks!! + +Q1: Yes Q2: You have to identify what is different between your board and EVM. For example, if DDR is different, you have to update EMIF configuration or the access to DDR may not work. There are other things like Pin mux, PMIC, and etic. Regards, Stanley + +Thank you!! + +Dear Stanley, I want to check some places Please help me with these problems ================================================================ Q1 : Would like to ask how to determine if MLO has been executed? Q2: Where is the TDA uart port set? I also suspect that the port may be wrong, so I want to check Q3: Where is the MLO log printed? And where is the MLO source code ?? And where it started to run?? Q4: Where is the ROM code??, I want to know how the process of booting to MLO to display log is Q5: Is there any clear information about the boot process (part of the program)? ================================================================= If there is something wrong with the question I asked, please let me know Thank you ! + +Dear Stanley, But the DDR of my RTOS is the same as LINUX DDR RTOS can see log but LINUX does not Just changed MLO, any other suggestions? Thanks! + +Dear Stanley, Can you help me this issue? Thanks! + +Dear Stanley, But the DDR of my RTOS is the same as LINUX DDR RTOS can see log but LINUX does not Just changed MLO, have any other suggestions? and I I opened another thread e2e.ti.com/.../3799935 Thanks! + +Could you download the pre-built binaries from the below link? http://software-dl.ti.com/infotainment/esd/jacinto6/processor-sdk-linux-automotive/latest/index_FDS.html boot-dra7xx-evm.tar.gz will include the MLO and u-boot. Can you try this on your board first? + diff --git a/sample_embedding_folder2/1015916.txt b/sample_embedding_folder2/1015916.txt new file mode 100644 index 0000000000000000000000000000000000000000..10d9838123c14ad9a79e08e050d014dd75b53428 --- /dev/null +++ b/sample_embedding_folder2/1015916.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA4 capture output YUV420 format + +Query Text: +Other Parts Discussed in Thread: TDA2 We use TDA4 and connect YUV422 camera. TDA2 can set capture input format YUV422 and capture output format YUV420. Can TDA4 set capture input format YUV422 and capture output format YUV420 ? + +Responses: +Hi, No, VIP module in TDA2x can convert YUV422 to YUV420, but CSIRX cannot convert YUV422 to YUV420. You will require to use some other module like LDC or DSS for this conversion. Regards, Brijesh + diff --git a/sample_embedding_folder2/1016368.txt b/sample_embedding_folder2/1016368.txt new file mode 100644 index 0000000000000000000000000000000000000000..a5c7cc9a86371baa804eb626e2a6dcb59e63f356 --- /dev/null +++ b/sample_embedding_folder2/1016368.txt @@ -0,0 +1,20 @@ +Ticket Name: TDA2HF: About import tool sampleInData + +Query Text: +Part Number: TDA2HF Hello, I have two questions about import configuration parameters: (1).does sampleInData support video input or multiple images ? (2).if sampleInData support,how to set and how to prepare the video and images? and other question about caffe-jacinto quantize test: I test the imagenet_jacintonet11v2_iter_160000.caffemodel and set quantize: true in deploy.prototxt, save the output of pool5, and then remove quantize: true only,save the output of pool5 again, the results are same."quantize: true" doesn't seem to work.So if quantize: true does work,What happens to the output? Thanks, chen poca + +Responses: +Hi Chen poca, 1. You can set "numSampleInData" variable in the import config file and set "numFrames" variable in the infer config file for running multiple images. 2. You can concatenate multiple images to prepare the multiple image input The test results with and without quantize are available here in "caffe_jacinto_models\trained\image_classification\imagenet_jacintonet11v2" folder in the github (https://github.com/tidsp/caffe-jacinto-models), please refer to "run.log" in "test_quantize" and "test" folders. Thanks, Praveen + +hello, thank you for your replying. my reason to setting numSampleInData variable >1 is for import process not for inference.if numSampleInData>1,can I set sampleInData to multiple images? + +Yes + +so how to set multiple image to the sample InData ?using the txt file to list image path?or concatenate multiple images to one .y file? + +Concatenate multiple images to one .y file + +Sorry for the late reply and thank you for your answer.I have another question,if using multiple images to the sampleInData,would this improve the effect and generalization ability of the quantization? + +No + diff --git a/sample_embedding_folder2/1016451.txt b/sample_embedding_folder2/1016451.txt new file mode 100644 index 0000000000000000000000000000000000000000..847175e8d371cc16d32180b498be2ba5371354ed --- /dev/null +++ b/sample_embedding_folder2/1016451.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2PXEVM: Connect TDAPx-EVM to the internet + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Hello all, I have TDAPx-EVM board and I was able to build Yocto file system and boot the board using the built yocto file system. I want to connect it to the internet, after connecting it to an Ethernet cable there is still no internet connection, so I want to know is anything I have to configure or what should I do to have and internet connection on my TDAPx-EVM Thank You, Best regards, Kirollos Henry + +Responses: +Hi, Could you share the log from boot to linux kernel and the log from "ifconfig"? Did you change Linux kernel default config used by TDA2 SDK? Ethernet should be enabled already from the default config. Regards, Stanley + diff --git a/sample_embedding_folder2/1024368.txt b/sample_embedding_folder2/1024368.txt new file mode 100644 index 0000000000000000000000000000000000000000..67d925b99ec1bbffc68a75bb3a64a299cd1091ab --- /dev/null +++ b/sample_embedding_folder2/1024368.txt @@ -0,0 +1,36 @@ +Ticket Name: TDA2SX: How to use VIP to receive 576I image? + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TVP5158, TVP5154, TDA2 Hi expert, Our company uses a custom board with SDK0305. The requirement is to receive 720*576I 4CH standard images. Q1:How can I make VIP capture receive 25 frame? If possible, Please provide suggestions for modification. Q2:I saw the 1CH TVP5158 driver in the SDK, Can I use TVP5158 driver to receive TVP5154? If possible, can I change it to 4CH? Q3:I am curious about the 25fps or 50field that Capture will receive? + +Responses: +Hi, Wu YiTing said: Q1:How can I make VIP capture receive 25 frame? If possible, Please provide suggestions for modification. fps is controlled by your pixel clock, so as long as pixel clock is correct, VIP would be able to capture 25fps. Wu YiTing said: Q2:I saw the 1CH TVP5158 driver in the SDK, Can I use TVP5158 driver to receive TVP5154? If possible, can I change it to 4CH? Yes, you can, but you would require to bring it up. Wu YiTing said: Q3:I am curious about the 25fps or 50field that Capture will receive? Capture will receive individual fields and so it will also store field and give callbacks on fields capture. Application would have to merge them and create frames out of them. Regards, Brijesh + +fps is controlled by your pixel clock, so as long as pixel clock is correct, VIP would be able to capture 25fps. -> I measured the TVP5154 to be 27MHZ. Is this standard? In fact, we have TP2824 decoder pixcel clock output is 37.125MHZ, can VIP receive it correctly? Yes, you can, but you would require to bring it up. -> I have tried to use TVP5158 driver to receive TVP5154 images but it fails. Can you guide me to achieve it? Capture will receive individual fields and so it will also store field and give callbacks on fields capture. Application would have to merge them and create frames out of them. -> So the Capture driver will merge the fields into Frames, and then send the New data to the Capture link, right? Then I print the Capture link information and see that it should be 25fps, right? + +Wu YiTing said: -> I measured the TVP5154 to be 27MHZ. Is this standard? In fact, we have TP2824 decoder pixcel clock output is 37.125MHZ, can VIP receive it correctly? Yes, it should be fine, as long as HS and VS are correct. Wu YiTing said: -> So the Capture driver will merge the fields into Frames, and then send the New data to the Capture link, right? No, driver or link will not merge the fields. It has to be done in the application. Regards, Brijesh + +No, driver or link will not merge the fields. It has to be done in the application. -> Does TI provide an application for merging? + +I have tried to use TVP5158 driver to receive TVP5154 images but it fails. Do I need to modify some VIP settings in these files? I use PROCESSOR_SDK_VISION_03_05_00_00 The following are my setup steps Step1: Select usecase C:\PROCESSOR_SDK_VISION_03_05_00_00\vision_sdk\apps\src\rtos\usecases\vip_single_cam_view Step2: Make sure that Pinmux is configured correctly Step3: Select CHAINS_CAPTURE_SRC_VIDDEC_TVP5158 Step4: captureOutWidth 720, captureOutHeight 576 Step5: Chain_Create Step6: Chain_Start Step7: Initialize TVP5154 7-1// Write to all decoders 0XFE, 0X0F 7-2// write 0x00 to register 0x7F ==> initialize 5154 0X7F, 0X00 vip_single_cam_view.rar + +This is the result of Capture link to Display link and then through HDMI 720P. Camera -> TVP5154 -> TDA2 -> HDMI pixcel clock 27MHZ Display link only received 1fps Camera -> TP2824 -> TDA2 -> HDMI pixcel clock 74.25MHZ Display link received 50fps and image is cropped Camera to monitor The yellow sticker indicates that the image is cropped after passing through TDA2 + +By the way TP2824 hardware: Output BT656. embedded 720*576I + +Hi Brijesh Could you help to update? Thanks for your kindly help Daniel + +Wu YiTing said: -> Does TI provide an application for merging? No, It has to be done in the application. Wu YiTing said: Do I need to modify some VIP settings in these files? No this should work fine. Just make sure to configure VIP in single channel mode, since this use case might be configuring it in multi-channel mode. Wu YiTing said: Camera -> TVP5154 -> TDA2 -> HDMI pixcel clock 27MHZ Display link only received 1fps Are you configuring VIP in embedded sync format or discrete sync? can you first check if VIP is configured correctly by looking into register? Then check if VIP is detecting size correctly. Then check for fps. fps might be low because your link might.be returning frames in time. Regards, Brijesh + +No, It has to be done in the application. -> I found the use case vip_single_rvc_cam_view_crcvpe VPE seems to be able to field merge this can be achieved? Are you configuring VIP in embedded sync format or discrete sync? can you first check if VIP is configured correctly by looking into register? Then check if VIP is detecting size correctly. Then check for fps. fps might be low because your link might.be returning frames in time. -> I use the default setting of TVP5158, which I think is embedded sync format, i will check the VIP size. + +Wu YiTing said: -> I found the use case vip_single_rvc_cam_view_crcvpe VPE seems to be able to field merge this can be achieved? Yes, VPE can be used to convert field to frames, but please note it will make 60field -> 60frames. There is a DeInterlacer module in VPE, which can convert field to frames. Now if you want just 30frames/sec, then you could drop/ignore alternate frames at the output of VPE. Regards, Brijesh + +How can I check if the Filed image is cropped? I think the size of the 576i field should be 720*288. There will be 50 fields per second. Can I check from the image? + +Yes, VPE can be used to convert field to frames, but please note it will make 60field -> 60frames. There is a DeInterlacer module in VPE, which can convert field to frames. Now if you want just 30frames/sec, then you could drop/ignore alternate frames at the output of VPE. -> Have you implemented field merge with VPE? + +Hi Brijesh, Please help me understand pInprms->dataFormat, pOutprms->dataFormat, my VIP input format is YUV422I, but why I have to set the following to see the correct color picture "indata formate = SYSTEM_DF_YUV422P outdata formate = SYSTEM_DF_YUV422I_YUYV" + +Hi Wu YiTing, Wu YiTing said: There will be 50 fields per second. Can I check from the image? You could save image and check it out. I dont see any other way. But before that, can you please check if captured image size reported by VIP is correct? Wu YiTing said: -> Have you implemented field merge with VPE? No, please refer to existing usease Wu YiTing said: Please help me understand pInprms->dataFormat, pOutprms->dataFormat, my VIP input format is YUV422I, but why I have to set the following to see the correct color picture "indata formate = SYSTEM_DF_YUV422P outdata formate = SYSTEM_DF_YUV422I_YUYV" Input data format here means the format that VIP is receiving data. Here, YUV422P means, it is receiving YUV422 data. Output data format is storage format, so data is stored as YUV422 in UYVY format. Regards, Brijesh + diff --git a/sample_embedding_folder2/1024518.txt b/sample_embedding_folder2/1024518.txt new file mode 100644 index 0000000000000000000000000000000000000000..2b06e6f7e97463ffe2c7dcb9af89d0fa0194c58e --- /dev/null +++ b/sample_embedding_folder2/1024518.txt @@ -0,0 +1,31 @@ +Ticket Name: TDA2PXEVM: Mismatch between TIDL host emulation tool and target board TDA2Px EVM File I/O use case + +Query Text: +Part Number: TDA2PXEVM Hi, I used TIDL import tool to convert a TensorFlow model, then I used the host emulation tool to check the output of the model after conversion. I found that the output is acceptable after quantization. Then, I used TIDL file I/O use case to check the output on the board and compare it to the output of the host emulation tool. However, I find a great mismatch between the two outputs. The output from the target is mostly zeros, which is completely different from the host emulation tool output. I searched on the forum, but did not find a systematic way to debug the cause of this difference. I specify the following parameters in the TIDLCFG.TXT file: inputWidth=128 +inputHeight=32 +inputFile=IN.bin +outputFile=OUT.bin +netFileName=NET.bin +paramFileName=PRM.bin Would you please let me know what is the cause of this issue, or how to appropriately debug it ? Thanks, Ahmed Anwar + +Responses: +Hi Ahmed Anwar, In the TIDL file I/O use case, which core did you select to run TIDL? Kindly check with both the cores and isolate if this issue is specific to any core (EVE/DSP) ? Thanks, Praveen + +Hi Praveen, I checked both cores. The problem is the same whether I choose EVE or DSP. The output is completely different from the host emulation tool output, with the majority of zero values. Thanks, Ahmed Anwar + +Hi Praveen, I noticed that the output file size from the File I/O use case on TDA2PX EVM is not equal to the output file size from the host emulation tool. The output file size from the host emulation tool = 96 bytes. This size is correct and was expected, as I have 96 values in the output of my model, and if each value is represented by 1 byte, so the output file size should be 96 bytes. When I read this 96 byte file as int8, the output is reasonable, and I was expecting to find the same output with the same size on target. However, the output file size from the File I/O use case = 4.1 KB, which is not equal to the 96 byte file I get from the host emulation tool. Would you please explain how I get different file sizes from the host emulation tool and File I/O use case, given that I use the same model and input files? And if you have any idea about this mismatch problem in general, please let me know. Thanks, Ahmed Anwar + +Hi Ahmed Anwar, You are getting output file size of 4.1KB (which is 128x32) because FILE I/O usecase dumps output considering it as segmentation application, so it writes output data considering input dimension. If your application is not segmentation, then you may need to provide the output dimension to the usecase and dump the actual output of 96 bytes, for this you need to modify the dump code in the usecase and for this modified code please refer to last post in the below thread. https://e2e.ti.com/support/processors-group/processors/f/processors-forum/874558/tda2-ti-vision-sdk---tidl---verifying-that-inceptionv1-works-with-tidl/3240125#3240125 Thanks, Praveen + +Hi Praveen, Thank you for your reply. I will try to edit the dumping code in the use case based on the post you provided. Until I modify the code, I have this question, by which I try to figure out if the correct 96 bytes are present within the 4096 bytes or not: Does the 4096 byte output (32 * 128) have the actual 96 output ? When the use case dumps 4096 values, does it dump my actual 96 values (Which are the output of the model) and dumps also other values to complete the 4096 bytes ? If this is the case, I need to understand these points: How can I get the actual 96 byte output of the 4096 bytes ? Is there an offset to start extracting the actual output from ? Are the wrongly dumped bytes (other than the correct 96 bytes) all zeros ? If not, how there values are determined, if the actual model has only 96 bytes output ? Would you please answer my question till I modify the code and test the use case after modification ? Thanks, Ahmed Anwar + +Hi Praveen, I changed the use case code based on the post you provided, and rebuilt the SDK. The output file size is now correct. However, the output is not correct and does not match the host emulation tool output. Most of the values are zeros, which is completely different from the host emulation tool output. Would you please help me in identifying the cause of this mismatch ? Thanks, Ahmed Anwar + +Hi Praveen, I also have a question regarding that the File I/O use case is used for segmentation. My application is not segmentation, does this make an issue ? I added the output height and width to the use case code as you said, but the output is not correct. Is it ok to use the File I/O use case with a model which is not used for segmentation ? Thanks, Ahmed Anwar + +Hi Ahemd Anwar, Could you please provide some details about your application. Also, kindly confirm that you had updated "dmaPrm.srcPitch[0]" and "dmaPrm.destPitch[0]" with outWidth as these can effect the offset in output buffer. Thanks, Praveen + +Hi Praveen, My application is classification. I confirm that I updated "dmaPrm.srcPitch[0]" and "dmaPrm.destPitch[0]" with outWidth. Thanks, Ahmed Anwar + +Hi Praveen, Is there a difference between the way of execution of the host emulation tool and the File I/O use case on target ? I need to understand this, as it is supposed to be the same, and it is supposed to get on target the same output that I get using the host emulation tool. I think that getting good results using the host emulation tool means that the conversion and quantization are done in a good way, and that I can go on with deploying the model to the board. I need to understand if there is differences between the source code that runs the host emulation tool and the File I/O use case, as they produce different results. Thanks, Ahmed Anwar + diff --git a/sample_embedding_folder2/1027878.txt b/sample_embedding_folder2/1027878.txt new file mode 100644 index 0000000000000000000000000000000000000000..2198c516f486163c9393bbdb7b7159a959fb446a --- /dev/null +++ b/sample_embedding_folder2/1027878.txt @@ -0,0 +1,73 @@ +Ticket Name: TDA2HG: [Opengl] -- the cube usage in fbo + +Query Text: +Part Number: TDA2HG Other Parts Discussed in Thread: TDA2 hi: I have a question about the usage of cubemap in fbo; the simple code as bellow: { glGenFramebuffers(1, &fboID); glBindFramebuffer(GL_FRAMEBUFFER,fboID); glGenTextures(1, &cubemapID); glBindTexture(GL_TEXTURE_CUBE_MAP, cubemapID); for (unsigned int i = 0; i < 6; ++i) { glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, 0, GL_RGB, 256, 256, 0, GL_RGB, GL_UNSIGNED_BYTE, nullptr); } glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glUniform.. //update the uniform variable glViewport(0, 0, 256, 256); for (unsigned int i = 0; i < 6; ++i) { glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, cubemapID, 0); if (glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) { printf("glCheckFramebufferStatus error!\n"); } glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); renderCube(); } } when i test the code, it works well on windows, but when i move it to the tda2 platform, the question is comming, sometimes the effiect is black , or is white, or white and black , or other colors, it's change every time. how is this? and how to resolved it? thanks + +Responses: +Hello, Can you try and see if this works: // Setup texture for cubemap + glGenTextures(1, &textureCubeMap); + char buffer0[CUBEMAP_TEX_LEN * CUBEMAP_TEX_LEN * 6]; + + glBindTexture(GL_TEXTURE_CUBE_MAP, textureCubeMap); + memset((void *)buffer0, 0x50, CUBEMAP_TEX_LEN*CUBEMAP_TEX_LEN*6); + for(GLuint i = 0; i < 6; i++) + { + glTexImage2D( + GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, + 0, GL_RGBA8, CUBEMAP_TEX_LEN, CUBEMAP_TEX_LEN, + 0, GL_RGBA, GL_UNSIGNED_BYTE, (char *)buffer0 + ); + } + + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE); + + // Setup Framebuffer for cubemap + glGenFramebuffers(1, &fbCubeMap); + + + // Rendering part + GLint current_fbo; + glGetIntegerv(GL_FRAMEBUFFER_BINDING, ¤t_fbo); + glBindFramebuffer(GL_FRAMEBUFFER, fbCubeMap); + + // Render to cubemap + for (int i = 0; i < 6; i++) + { + glFramebufferTexture2D(GL_FRAMEBUFFER, + GL_COLOR_ATTACHMENT0, + GL_TEXTURE_CUBE_MAP_POSITIVE_X + i, + textureCubeMap, + 0); + glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); + //.... draw/render to cube map surface + } + + // Bind the original frame buffer + glBindFramebuffer(GL_FRAMEBUFFER, current_fbo); + + // Use cubemap texture + glBindTexture(GL_TEXTURE_CUBE_MAP, textureCubeMap); + + //... draw to the final framebuffer using cubemap + // In the shader code, use samplerCube to sample texture + // e.g: + // uniform samplerCube skybox; + // ... + // vec4 colorval = texture(skybox, direction); + + + + + + + + + + + + If it still doesn't work, can you try and use glGetError to check for any errors? Regards Hemant + diff --git a/sample_embedding_folder2/1028256.txt b/sample_embedding_folder2/1028256.txt new file mode 100644 index 0000000000000000000000000000000000000000..6562b1898b7e19a6961fa8fe39fda9e83ece2d75 --- /dev/null +++ b/sample_embedding_folder2/1028256.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2PXEVM: Is Reshape/Permute layer supported on TDA2X with CaffeImportTool? + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Hi ! When convert shufflenetv2 caffemodel to tidl bin/param using REL.TIDL.01.01.03.00, it failed. EEROR LOG: TIDL returned with error code : -1100, refer to interface header file for error code details Error at line: 1578 : in file .\.\src\tidl_tb.c, of function : test_ti_dl_ivison End of config list found ! But I check that reshape layer and permute layer work well in SSD model. So how can I make separate reshape layer and permute layer work ? + +Responses: +Hi, Reshape, Permute layers are supported only in the context of SSD network. They are not supported as standalone layers. Thanks, Praveen + +Hi Praveen Thanks for you replay. So currently, channel shuffle can not work on TIDL(both tda2 / 4). These requirements will be supported in the futures? + +Hi, It can work on TDA4 TIDL but not in TDA2 TIDL, please note that both are different code bases and TDA4 can support much more netwroks and frame works compare to TIDL on TDA2 , please try with TIDL on TDA4 (https://www.ti.com/tool/download/PROCESSOR-SDK-RTOS-J721E/08.00.00.12). Thanks, Praveen + diff --git a/sample_embedding_folder2/1028549.txt b/sample_embedding_folder2/1028549.txt new file mode 100644 index 0000000000000000000000000000000000000000..13c0d05ce69e97efc2bf3b3d006deb9e29ae1bb5 --- /dev/null +++ b/sample_embedding_folder2/1028549.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2PXEVM: Is there a way to build yocto but not thud on TDA2Px-EVM to build python3 Tensorflow-lite + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Hello all, I Have TDA2Px-EVM board and I was able to build yocto file system on using this guide: http://software-dl.ti.com/processor-sdk-linux/esd/docs/06_00_00_07/linux/Overview_Building_the_SDK.html I was also able to customize the image as i have added some layers like meta-ros, meta-scipy and I was also able to create custom layer to install and build some libraries, packages and package groups. I was installing some python packages and the changes I made to the image allowed me to install most of the needed python3 packages using pip3. I am currently facing a problem in installing tensorflow or tensorflow-lite when I added meta-tensorflow-lite layer https://github.com/NobuoTsukamoto/meta-tensorflow-lite/ and appended to my image recipe IMAGE_INSTALL += " python3-tensorflow-lite " I have got "ERROR: Layer meta-tensorflow-lite is not compatible with the core layer which only supports these series: thud" So I am currently facing a problem as processor sdk 6.x are all based on thud and this distro is not supported in the tensorflow-lite meta layer and When I tried to build a different version of processor SDK there was a toolchain error "ERROR: Failed to parse external Linaro toolchain version from: gcc version 8.3.0 " as probably the other versions of processor SDK doesn't support "dra7xx-evm". My problem shortly is there any way to build yocto file system on TDA2Px-EVM based on another yocto distro rather than thud or is there a way to build and install python3 tensorflow or tensorflow-lite on TDA2Px-EVM using the built and working yocto with this version of processor SDK. Thanks in Advance. Best regards, Kirollos Henry + +Responses: +Hi Kirollos, Apologies for the delay in the response to this. Kirollos Henry said: is there any way to build yocto file system on TDA2Px-EVM based on another yocto distro rather than thud The short answer is no, thud is the last release with a completely validated offering with DRA7/TDA2. You will have to take care of the migration at your end. Kirollos Henry said: is there a way to build and install python3 tensorflow or tensorflow-lite on TDA2Px-EVM using the built and working yocto with this version of processor SDK. I dont think anyone in TI has spent time on this problem, therefore we are unable to provide you with any further instructions. Regards Karthik + diff --git a/sample_embedding_folder2/1030453.txt b/sample_embedding_folder2/1030453.txt new file mode 100644 index 0000000000000000000000000000000000000000..6daf20ad747cae270d25179e1b0467f0bbf3e700 --- /dev/null +++ b/sample_embedding_folder2/1030453.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2EG-17: Can a thread share works to dual core? + +Query Text: +Part Number: TDA2EG-17 Hello this article: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/692229/linux-tda2-hao-can-i-use-2-a15 said that "You can think as a single A15 core with CPU clock/frequency doubled" for dual core. But this article: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/862271/tda2hg-why-the-a15-usage-just-50-can-not-up-to-90 said one thread can only run in one core. So it means multi-threads will be separated to dual core automatically, but one thread can't. Is it? Thanks. BR, Jeff + +Responses: +Jeff, One thread can be scheduled only on one CPU. - Keerthy + diff --git a/sample_embedding_folder2/1030791.txt b/sample_embedding_folder2/1030791.txt new file mode 100644 index 0000000000000000000000000000000000000000..f789f20c43bea18cb1c866984b5825b2eb4673ac --- /dev/null +++ b/sample_embedding_folder2/1030791.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2SX: PROCESSOR_SDK_VISION_03_05 tidl_OD usecase layer limitations ? + +Query Text: +Part Number: TDA2SX Hi I tried to use tidl_model_import.out to get bin file. I used stats_tool_out.bin and trace_dump_0_512x512.y file to check test image detection result. Test image showed model can detect object. test image detection result: But I ran on tdasx, it cannot detect any object. I suspect tdasx cannot run too many layers model. The number of layersGroupId are 157 and number of parameters are 3.5M. Do tdasx have any limitations about layers or parameters count? thanks yumei + +Responses: +Hi Yumei, Below are the SSD limitations listed in the TIDL datasheet : – Only Caffe-Jacinto based SSD network is validated. – Reshape, Permute layers are supported only in the context of SSD network. – “share_location” has to be true – Tested with 4 and 5 heads. – SaveOutputParameter is ignored in TIDL inference. – code_type is only tested with CENTER_SIZE. Please try the suggestions mentioned in the below thread in OD use case to get the detections in the output : https://e2e.ti.com/support/processors-group/processors/f/processors-forum/689617/tda2-how-to-run-ssd-based-tidl-od-use-case-in-vision-sdk-with-pre-trained-model Thanks, Praveen + +Hi Praveen I confused about Tested with 4 and 5 heads. Did it mean about 4 and 5 anchor box result? Thanks, yumei + +Yes + diff --git a/sample_embedding_folder2/1032151.txt b/sample_embedding_folder2/1032151.txt new file mode 100644 index 0000000000000000000000000000000000000000..b873cffe6b8a583d0acf7916e05823a0030ddd1f --- /dev/null +++ b/sample_embedding_folder2/1032151.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2PXEVM: How can I extract two CNN output tensors on TIDL (TDA2) + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Hi sir! My network have two (maybe more) output layers (CxHxW) : Cx56x56 & Cx28x28. How can I get two outputs from TDIL? + +Responses: +Hi IIuo, Sorry for the delay. This is not supported in TIDL on TDA2. Thanks, Praveen + +Hi Praveen I proposed a method to solve this problem : using Transpose Conv and Concat. Step 1. I add a Transposed Conv layer with 4x4 kernel, stride 2 to the small size layer (for upsampling : Cx28x28 -> Cx56x56) Step 2. I fill filter manually to make Transposed Conv layer working as insert 0 between original output elements [e11 e12 -> [ e11 0 e12 0 e21 e22] 0 0 0 0 e21 0 e22 0 0 0 0 0 ] Step 3. I use Concat layer to get my output tensor : 2Cx56x56 So I can simply add stride =1 / 2 to decode different output tensor. Those works have been tested on Caffe. Hope that can help others. + +Thanks for sharing. + diff --git a/sample_embedding_folder2/1033681.txt b/sample_embedding_folder2/1033681.txt new file mode 100644 index 0000000000000000000000000000000000000000..737b8940e4abcd5ab4c069fc6a36a61ec43086ec --- /dev/null +++ b/sample_embedding_folder2/1033681.txt @@ -0,0 +1,8 @@ +Ticket Name: CCSTUDIO: Using CCS scripting with Lauterbach debugger. + +Query Text: +Part Number: CCSTUDIO Other Parts Discussed in Thread: TDA2 Hi, I have a TDA2XX-EVM on which i'm loading and running few binaries of different cores. Here i'm using Spectrum Digital XDS560V2 STM USB Emulator. Also i'm using scripts to launch ccxml, load and run binaries. But i need to use Lauterbach debugger instead of this spectrum digital debugger. But i could'nt find any example scripts with respect to Lauterbach debugger. Can anyone please tell me or send me a reference links that specifies the use of Lauterbach debugger for my TDA2XX regards, Likhith + +Responses: +-0- Which TDA2 chip are you using? Does it have a single A15 or a dual-A15? I do have TRACE32 CMMs which are converted versions of GELs which I use. Typically these are shared via TI-CDDS. If you have access I could upload there. If you tell exactly which CPU you have I can see about uploading a subset here. -1- Lauterbach on their website (and in their release images) has simplified scripts which allow running code on TDA2 systems. It might be one of these is sufficient for whatever you are trying to run. https://www.lauterbach.com/scripts/hardware/arm~tda2x~vayu_evm/hardware-arm-tda2x-vayu_evm_20200205093516_all_files.zip https://www.lauterbach.com/scripts/hardware/arm~dra72x~j6_eco_evm/hardware-arm-dra72x-j6_eco_evm_20200205093452_all_files.zip https://www.lauterbach.com/scripts/hardware/arm~dra7xx/hardware-arm-dra7xx_20200205093452_all_files.zip Regards, Richard W. + diff --git a/sample_embedding_folder2/1035356.txt b/sample_embedding_folder2/1035356.txt new file mode 100644 index 0000000000000000000000000000000000000000..da2e4dc610795ae06b4543fcb62c3e0844f9599f --- /dev/null +++ b/sample_embedding_folder2/1035356.txt @@ -0,0 +1,38 @@ +Ticket Name: TDA2EXEVM: TDA2 DSP2 XDC ASSERT + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: SYSBIOS We run our algorithm on DSP2. Sometimes DSP2 will have XDC Assert message and then DSP2 will crash. How can we solve it? Log: [DSP2 ] 11173.232111 s: ### XDC ASSERT - ERROR CALLBACK START ### [DSP2 ] 11173.232141 s: [DSP2 ] 11173.232202 s: assertion failure: A_badContext: bad calling context. See GateMutex API doc for details. [DSP2 ] 11173.232233 s: [DSP2 ] 11173.232233 s: ### XDC ASSERT - ERROR CALLBACK END ### + +Responses: +Have any update? + +Hi, Please refer to BIOS API doc for GateMutex. Or, you can find the source under ~/bios_6_46_06_00/packages/ti/sysbios/gates/GateMutex.c. You are hitting the below error where GateMutex_enter() is called in HWI or SWI context. /* + * ======== GateMutex_enter ======== + * Returns FIRST_ENTER when it gets the gate, returns NESTED_ENTER + * on nested calls. + * + * During startup, Task_self returns NULL. So all calls to the + * GateMutex_enter look like it is a nested call, so nothing done. + * Then the leave's will do nothing either. + */ +IArg GateMutex_enter(GateMutex_Object *obj) +{ + Semaphore_Handle sem; + + /* make sure we're not calling from Hwi or Swi context */ + Assert_isTrue(((BIOS_getThreadType() == BIOS_ThreadType_Task) || + (BIOS_getThreadType() == BIOS_ThreadType_Main)), + GateMutex_A_badContext); + + if (obj->owner != Task_self()) { + sem = GateMutex_Instance_State_sem(obj); + Semaphore_pend(sem, BIOS_WAIT_FOREVER); + + obj->owner = Task_self(); + + return (FIRST_ENTER); + } + + return (NESTED_ENTER); +} Regards, Stanley + diff --git a/sample_embedding_folder2/1037669.txt b/sample_embedding_folder2/1037669.txt new file mode 100644 index 0000000000000000000000000000000000000000..371b13cded189c3eef9d7340584deb0371321e1c --- /dev/null +++ b/sample_embedding_folder2/1037669.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2HG: tda2 anti-aliasing + +Query Text: +Part Number: TDA2HG hello: usecase: render a model, but the alias is obvious, so i need to use the anti-aliasing. when the egl chooseconfig, i add the EGL_SAMPLE_BUFFERS, 1 and EGL_SAMPLES,4 to the attribs, it works better, but not enough, so i change the EGL_SAMPLES, 8, the result is eglCreateContex failed! it seems doesn't support. do you have other methods? thanks ~ + +Responses: +Hello, That is correct. 8 is not supported. 4 is the max value for EGL_SAMPLES. Regards Hemant + +how about TDA4, the max value? + +Hello, TDA4VMid also supports upto 4 - but of course, you will need to keep overall performance in mind. Regards Hemant + +got it, thank you~ + diff --git a/sample_embedding_folder2/1038392.txt b/sample_embedding_folder2/1038392.txt new file mode 100644 index 0000000000000000000000000000000000000000..f11b614f45a7c58f5c6c9d2037b75112541fe75e --- /dev/null +++ b/sample_embedding_folder2/1038392.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: Memory access error when EVE read address more than 512MB DDR + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi expert, Customer used 512MB on TDA2 before while they increased DDR3 to 1GB recently. After modified EMIF and DMM configuration in gel file, we could access 0xB5000000 on DSP and ARM in CCS memory watch page. But on EVE, it reported error as below. Could you please suggest what we need to do to make EVE access correct? Thank you. + +Responses: +Hi, You have to update the EVE MMU mapping in GEL file. The max page size per entry in EVE MMU is only 16MB. Regards, Stanley + diff --git a/sample_embedding_folder2/1038421.txt b/sample_embedding_folder2/1038421.txt new file mode 100644 index 0000000000000000000000000000000000000000..89afd7e59f994f36460526f0e283c8e710da1a43 --- /dev/null +++ b/sample_embedding_folder2/1038421.txt @@ -0,0 +1,28 @@ +Ticket Name: TDA2EVM5777: How to correctly connect SOC and EMMC when resetting TPS659039 + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2E, TDA2 Hello, Question 1: We measured that the SOC PORZ port was continuously pulled down, and the system was not powered on normally. We need TI experts to help analyze the cause of the failure? Figure 2 is a schematic diagram of the hardware schematic design. The RTC_PORZ, RTC_ISO, PORZ of the PMIC and the external reset IC are connected together; the PORZ reset of the PMIC passes through the A device and the RSTOUTn of the PMIC passes through the B device, combined into an AND gate circuit, and the gate output Connect the reset port of EMMC. Question 2: When the connection between PMIC PORZ and A device is disconnected, the system is powered on normally. Figure 1. The yellow line is the waveform we measured at the PORZ reset port of the PMIC, and the pink line is the waveform measured at the reset port of the EMMC. As shown by the pink line, there is a 5ms pull-up level before EMMC reset. We are worried that it will affect the startup of EMMC. Is it necessary to eliminate it through the AND gate? Model of PMIC: TPS659039 SOC model: TDA2E + +Responses: +Is the block diagram trying to show customer hardware implementation or TI EVM implementation? The diagram is not correct, as the PMIC does not have PORz, RTC_PORz, RTC_ISO signals. These are signals on the processor, which is NOT identified in the diagram. Also the processor does not have reset out signal, that is on the PMIC. Certainly you can't have a reset output from the processor feeding back into the reset input of the PMIC, as that could create a loop where stuck in reset. TI's EVM correctly implements this reset structure. The PMIC reset output feeds the reset inputs of the processor. The processor's reset output (nRSTOUT) is sourced into the PMICs nWARMRESET input. + +Hi Robert, Robert Eschler said: Is the block diagram trying to show customer hardware implementation or TI EVM implementation? The block diagram is updated as follows,Can you confirm if there is any problem with the design? Robert Eschler said: Certainly you can't have a reset output from the processor feeding back into the reset input of the PMIC, According to the TPS659039 specification, the NRESWARM port of TPS659039 is connected to the RETOUTn of SOC,RETOUTn is the Warm reset output of SOC + +The block diagram still cannot be correct, as SoC does not support a reset out. Should this be from PMIC? If you compare with TI EVM, the RESET OUT of PMIC is AND-gate with reset supervisor. Why not replicate the EVM logic, as it is tested/validated? Also - BufferA does not serve any purpose, as any time SoC is reset, nRSTOUT is asserted. Only BufferB is required to reset eMMC device. + +Robert Eschler said: BufferA does not serve any purpose According to the TDA2 specification, Buffer A is needed. In our block diagram, buffer A and buffer B form an AND gate Robert Eschler said: The block diagram still cannot be correct, as SoC does not support a reset out. Should this be from PMIC? YES,Update as shown below + +Can you please clarify in the TDA2 specification where it states buffer A + buffer B (AND-gate) is required for eMMC Reset? PMIC RESET_OUT should connect directly to SoC's reset input(s). It can be AND-gate with supervisor output, but does not need to be routed through supervisor. + +Robert Eschler said: Can you please clarify in the TDA2 specification where it states buffer A + buffer B (AND-gate) is required for eMMC Reset? Sorry,I don’t understand what you mean. I want to eliminate the waveform measured by the RSTN reset pin of EMMC when it is powered on, as shown in the red box in the figure below: Initially ,we wanted to achieve the reset architecture as shown in the figure below and the red box truth table results, but the current reset architecture design seems to be problematic, the PORZ pin of the SOC has been pulled low, so I want to confirm whether our reset architecture design correct? + +Have you tried a configuration like modified image below? I don't think the issue is with the AND-gate on nRSTOUT. Also - from the waveform, it looks like the logic levels are very low and are just now turning on (with power supplies). Once the power levels and input thresholds are met, the logic starts working as expected. Maybe try an pull-down resistor (or similar) to eliminate the early pulse. + +If the reset pin of EMMC remains in this state after power-on, will there be any hidden dangers? + +The eMMC is getting a valid reset pulse (low then high), and it appears the final high is full scale (1.8V). I don't see any issue with the final reset. I'm still not clear on the smaller pulse, but again - could be from power just reaching valid logic levels. + +I checked the relevant design in the DEMO board, the version is: 516582H_VAYU_EVM_13NOV2015_H As shown in the figure, the DEMO board does not use the AND gate mentioned in the manual, but only uses a buffer. I want to confirm whether the design can also meet the requirements of TDA2? + +The AND-gate you are referring only affects the eMMC (or other peripherals), and does not affect the TDA2. The PORz circuit for the TDA2 should not include RSTOUTn, as it is reset output of TDA2. + diff --git a/sample_embedding_folder2/1038804.txt b/sample_embedding_folder2/1038804.txt new file mode 100644 index 0000000000000000000000000000000000000000..a3603992d309dc687d03499a8b32d4d715ea65be --- /dev/null +++ b/sample_embedding_folder2/1038804.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2EXEVM: How to use remote service on TDA2 + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2 The customer would like to get serializer and deserializer‘s register information in usecase code, but that information is on another core, so he intends to use remote service to get the information which is on another core. The customer would like to know how to use remote service function on TDA2, and could you you please offer an example? Thanks. Best Regards, Cherry Zhou + +Responses: +Hi, The latest update as follows: The customer also would like to have an example about how to use remote service function based on TDA2 SDK. Thanks again! Best Regards, Cherry Zhou + +Hi, May I know is there any update? Thanks! Best Regards, Cherry Zhou + +Hi Cherry, Could you give some details about the customer system? What OS is used on A15? Which core will have the SerDes driver? Which core does need to get the register info via remote calls? Regards, Stanley + diff --git a/sample_embedding_folder2/1039081.txt b/sample_embedding_folder2/1039081.txt new file mode 100644 index 0000000000000000000000000000000000000000..3696eff0b767eea4717d15d14d5c7095909d0ec3 --- /dev/null +++ b/sample_embedding_folder2/1039081.txt @@ -0,0 +1,26 @@ +Ticket Name: TDA4VM: Create 2 framebuffers, But introduced a new problem: splash screen, the screen keeps flickering + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 background: Based on TDA4, SDK7.03, QNX system, to achieve off-screen rendering problem: what I want to do is this: Create 2 framebuffers, let’s call them fb1 and fb2. Render the scene to fb2 normally. Render fb2 to fb1 with one post-processing effect. Render fb1 to the default framebuffer (we’ll call it fb0) with another post-processing effect. This method really works. But introduced a new problem: splash screen, the screen keeps flickering. After verification: changing glFinish to glReadPixels, the flickering phenomenon still exists. But the image saved by glReadPixels is normal. The specific implementation is as follows: + +Responses: +Hello, Thank you for creating a new thread. I will close the other one and let us use this one. For reference: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1033627/tda4vm-off-screen-rendering-problem-0x506-gl_invalid_framebuffer_operation The fact that glReadPixels on the offscreen buffer returns normal expected image, we need to think if the display node is somehow showing the wrong buffer. Do we know if there is a timing involved? Some suggestions and questions: 1. Have you tried glReadPixels on the final FB? Does this look okay? 2. Instead of any post processing, can we do a simple glClear (of different colors) to fb0, fb1 and fb2 And can we switch colors for each to see what is ending up on the display. 3. As a separate experiment, continue with normal rendering processing but do a glClear of alternating colors on fb0 Regards Hemant + +OK, I will start experimenting now, and I will tell you immediately if there is a conclusion, it is expected in three hours. But this is done to verify: the two Buffers are constantly switching or? + +In order to better verify, compare and analyze the result data, FB1 was rendered red by me; FB2 was rendered blue by me; FB0 was finally rendered (including the content on FB1 and FB2 and other textures such as the car model drawn normally) After verification, the image results saved by FB0, FB1, and FB2 are all completely OK. [AVM] FB0 Width=1920, Height=720, Format=0x80e1 (GL_BGRA=0x80e1, GL_BGR=0x80e0), Type=0x1401... [AVM] FB1 Width=560, Height=720, Format=0x80e1 (GL_BGRA=0x80e1, GL_BGR=0x80e0), Type=0x1401... [AVM] FB2 Width=1280, Height=960, Format=0x80e1 (GL_BGRA=0x80e1, GL_BGR=0x80e0), Type=0x1401... FB0 is the default FB of external TDA4: 1920*720 format GL_BGRA (GL_BGRA_EXT), save the image OK FB1 is an FB created internally by myself: 560*720 format GL_BGRA (GL_BGRA_EXT), save the image OK FB2 is another FB created internally by myself: 1280*960 format GL_BGRA (GL_BGRA_EXT), save the image OK The specific video and the results, I will let Fredy forward it to you,Here is just a screenshot + +Let me add the setting parameters of Display Node. Is there a problem with these parameter settings, especially the two parameters opMode and pipeId (Can you explain what is the meaning of setting different values for these two parameters? I will also do verification at the same time, See the impact of these different values): display_params.opMode = TIVX_KERNEL_DISPLAY_ZERO_BUFFER_COPY_MODE; display_params.pipeId = 2; display_params.outWidth = SV_DISPLAY_WIDTH; display_params.outHeight = SV_DISPLAY_HEIGHT; display_params.posX = 0; display_params.posY = 0; obj->disp_config = vxCreateUserDataObject(obj->context, "tivx_display_params_t", sizeof(tivx_display_params_t), &display_params); status = vxGetStatus((vx_reference)obj->disp_config); obj->displayObj.disp_node = tivxDisplayNode(obj->graph, obj->disp_config, obj->out_img); vxSetNodeTarget(obj->displayObj.disp_node, VX_TARGET_STRING, TIVX_TARGET_DISPLAY1); vxSetReferenceName((vx_reference)obj->displayObj.disp_node, "Display_node"); + +Share the latest research information: it has a certain relationship with the screen parameter settings. Change the opMode parameter of the display node from TIVX_KERNEL_DISPLAY_ZERO_BUFFER_COPY_MODE to TIVX_KERNEL_DISPLAY_BUFFER_COPY_MODE, the splash screen problem is solved, but the rendering slows down. In other words: using TIVX_KERNEL_DISPLAY_ZERO_BUFFER_COPY_MODE will render faster, but the screen will flick; using TIVX_KERNEL_DISPLAY_BUFFER_COPY_MODE will not flicker, but the rendering will be slower. But this is not enough, rendering is too slow. TDA2 also uses the TIVX_KERNEL_DISPLAY_ZERO_BUFFER_COPY_MODE parameter, which renders quickly without flickering. I still feel that there is a problem, you can continue to research in this direction, and I will continue to research at the same time. + +Hello, Thank you for confirming that and sorry for not getting back sooner. We of course need the zero copy mode. Because the copy mode is working fine, I tend to agree that it could be the display side of things that could be out of sync. I will check this internally and get back. In the meanwhile, if there are any updates, please let us know. Regards Hemant + +Thanks for the reply. But how to solve this problem? Need help urgently~ Please~ Another more urgent problem is encountered: After AVM is started (GPU rendering), it may cause communication blocking between its own process and the processes of other modules. This is a newly discovered problem. + +Just to rule something out - can you confirm that you have a glFinish at "each" stage of the offscreen and on screen rendering. With three frame buffers, this would mean three glFinish (at least for verifying - ideally, glFinish at the very end should be fine). I am trying to replicate this behavior here on Linux and also discussing with display experts. Regards Hemant + +I confirm that there is glFinish in "every" phase. This problem of off-screen rendering causing splash screen is one of the problems; Another newly discovered problem is that after AVM rendering, it will affect the IPC process communication. This is also explained in another e2e post of mine. Please help and solve it. Thank you, and look forward to your prompt reply. + +Hello, is there any progress now? It's anxious, please. Thanks~ + diff --git a/sample_embedding_folder2/1040319.txt b/sample_embedding_folder2/1040319.txt new file mode 100644 index 0000000000000000000000000000000000000000..4c6be44ae5c0cf4af17516b382f3b7bc978c7a45 --- /dev/null +++ b/sample_embedding_folder2/1040319.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA4VM: Does TDA4 ISP support RGB-IR sensor ? + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 The TDA2/TDA3 vision SDK 3.8 has the demosaicing function implemented on c66x . Was wondering if the TDA4 ISP is flexible enough to avoid using the DSP for such pixel intensive task. regards, Victor + +Responses: +Hi Victor, There are 2 kinds of RGB-Ir sensors 1. 2x2 CFA : This type is natively supported by TDA4 ISP. Any 2x2 CFA is supported. 2. 4x4 CFA : This requires a pre-processing step similar to what was done on TDA2P and TDA3. Regards, Mayank + +Thanks ! + diff --git a/sample_embedding_folder2/1041010.txt b/sample_embedding_folder2/1041010.txt new file mode 100644 index 0000000000000000000000000000000000000000..ec6d2c76f540f8146d069b54e8d31c72af6dc420 --- /dev/null +++ b/sample_embedding_folder2/1041010.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2P-ABZ: Does this board support Deep learning accelaration (TIDL)? + +Query Text: +Part Number: TDA2P-ABZ Other Parts Discussed in Thread: TDA2 I'm trying to figure out if our boards will get any speedup from going through the TIDL conversion, on one hand https://training.ti.com/overview-ti-deep-learning-tda2-and-tda3-adas-platforms this link this claim accleration, on the other hand in the TIDL userguide , https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/07_00_00_11/exports/docs/tidl_j7_01_02_00_09/ti_dl/docs/user_guide_html/md_tidl_overview.html, it lists only TD4 as deep learning accelerated. Can anyone shed some info? + +Responses: +Hi Joseph, TDA2 and TDA3 are old generation boards which can do TIDL conversion, but on these boards there is no active TIDL development and limited support. TDA4 is our new generation more capable device with active TIDL development and also supports huge variety of DL networks with different frameworks. We would suggest to evaluate TDA4 for DL acceleration. Thanks, Praveen + diff --git a/sample_embedding_folder2/1042093.txt b/sample_embedding_folder2/1042093.txt new file mode 100644 index 0000000000000000000000000000000000000000..d9f24beebfc87e5b013c82f6dc2b634162e2ebd2 --- /dev/null +++ b/sample_embedding_folder2/1042093.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2SX: NDK Change static IP configuration + +Query Text: +Part Number: TDA2SX Hi, TI Experts! We use TDA2X custom board with PROCESSOR_SDK_RADAR_03_07_00_00 and set up IP configuration in PROCESSOR_SDK_RADAR_03_07_00_00\vision_sdk\links_fw\src\rtos\bios_app_common\tda2xx\cfg\NDK_config.cfg Can we change static IP configuration in our application at runtime? Can you advice any examples? Best Regards, Dmitry + +Responses: +Hi, Please refer to the below thread. https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/681655/ccs-msp432e401y-how-does-the-udpecho-sample-code-configure-static-ip Regards, Stanley + +Thanks a lot! + diff --git a/sample_embedding_folder2/1045963.txt b/sample_embedding_folder2/1045963.txt new file mode 100644 index 0000000000000000000000000000000000000000..b43255440c9e38b45c2914aa9fee2836ffc455fe --- /dev/null +++ b/sample_embedding_folder2/1045963.txt @@ -0,0 +1,20 @@ +Ticket Name: TDA4VM: porting hardware surround view interface to app_srv_camera demo display unexpect + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 porting hardware surround view interface to app_srv_camera demo display unexpect Dear expert, I porting my surround view interface into app_srv_camera demo, add my init interface to tivxGlSrvCreate, which need 3 paramters (display, surface, context), replace render_renderFrame with my UpdataApp interface for doing surround view function, in my interface, there are create serval framebuffers use glGenFramebuffer, and when the app run, call glBindFramebuffer bind texture to each framebuffer, then glBindFramebuffer (GL_FRAMEBUFFER, 0) render all the contents to the window provided framebuffer, now on tda4vm linux sdk, because the surface is null, I don't know where the display content store and how to get it when do glBindFramebuffer (GL_FRAMEBUFFER, 0) . In tivxGlSrvProcess, I found appEglBindFramebuffer call glBindFramebuffer bind the display buffer , so I modify my UpdataApp interface , delete all glBindFramebuffer code line, after do that I can see one part of my materials dispaly on screen . my question: 1) if tda4vm can create surface for render, how to do it, I try to call eglCreatePbufferSurface to create it , but it failed 2) if can't create surface, how to modify my interface for dispaly all the materials or how to get the content buffer after render finish. sdk vision: 07_03_00_07 OS: Linux Thanks! + +Responses: +Hello, In case of TI's TDA4 surround view implementation, the display is controlled using R5 and the OpenVX display node abstracts this out. Look at vision_apps/utils/opengl/src/a72/app_gl_egl_utils_linux.c. There is a function to create render surface/texture from a pre-allocated dmabuf - appEglWindowCreateIMG. This function basically takes a dmabuf fd and creates an EGL Image that can be rendered to. This is used as a frame buffer in appEglBindFrameBuffer (in the same file). You can follow the same procedure. What are you trying to do in your use case? Do you need to send your GPU rendered buffer to R5 display? You can also look at a simpler example - vision_apps/apps/basic_demos/app_linux_arm_opengl_mosaic Regards Hemant + +Thanks! Yes, I need to send my GPU rendered buffer to R5 dispaly, but I don't know how to do it, I try to use glReadPixel read my gpu output to output_target_ptr, but it failed and return 0x506 error report. As you discribe I follow app_gl_egl_utils_linux.c , use the same procedure, in my own case which run on tda2 before, which need input 4 camera capture frames and load some other materials, then do surround view function and display the output render buffer. + +hi, expert As my described, my function interface have many materials and textures need scale/render to one surface, It's hard for me modify the process flow, so I want to create a surface with pbuffer which can pass to function interface or use a opengl interface like glReadPixel copy the output buffer to display buffer. This problem bothered me for a long time, I need you help. Thanks! + +Hello, glReadPixels should work - not sure why you are seeing that error. Can you please review all the arguments and make sure they are okay? But please know that glReadPixels may have a performance hit - but should certainly get you the required data. As I mentioned in my previous post, app_linux_arm_opengl_mosaic shows how to handle GPU to display. Regards Hemant + +Thanks for your reply! I am already reference the app_linux_arm_opengl_mosaic demo, I modified my program, replace the function code call glBindFramebuffer (GL_FRAMEBUFFER, 0) to glBindFramebuffer (GL_FRAMEBUFFER, disp_fb), then call glFramebufferTexture2D bind the texture need render to current framebuffer, but there are some errors arised, This is the log ### glCheckFramebufferStatus not completed! status 36054 GL: after eglSwapBuffers() glError (0x506) If I deleted glFramebufferTexture2D , no error log print out, but there is also no display. If I keep call glBindFramebuffer (GL_FRAMEBUFFER, 0) in my app, the glCheckFramebufferStatus also report error, is't means there is no default framebuffer ? + +hello: I did some test of that , when glBindFramebuffer(GL_FRAMEBUFFER, 0) glCheckFramebufferStatus return 0x8219 which GL_FRAMEBUFFER_UNDEFINED, so EGL_NO_SURFACE which means no default framebuffer, so I call glBindFramebuffer (GL_FRAMEBUFFER, fboid) and glFramebufferTexture2D , fixed some bugs of my app, glCheckFramebufferStatus return ok, and I can see some color output to my screen(but not correct), I think this is because my default render flow not suitable the new draw flow。 I know on tda4vm QNX can create a surface with buffer, which can pass to my app, so there is't need modify the render flow. so my question is can I create a surface with a buffer on linux? + +resolved! please close it! + diff --git a/sample_embedding_folder2/1046205.txt b/sample_embedding_folder2/1046205.txt new file mode 100644 index 0000000000000000000000000000000000000000..7f45dc3b8a09bd1bf8e10392602719d6d0d629d4 --- /dev/null +++ b/sample_embedding_folder2/1046205.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: How to change the DDR memory size on the tda2? + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2, Two DDRs are used in our own tda2 board, each of which is 2GB, with a total of 4GB. It is found that the default memory node in DTS is 1GB. After changing it to 4GB, it is found that the kernel cannot be started. How can I use all 4GB of memory? + +Responses: +Hi, Can you please let me know on how you confirmed on the total of 4GB? Do you have a custom board or you are using standard TI TDA2SX EVM? The max that can be supported can be upto 4GB but I believe on the TI Board it is 2GB DDR. Can you share the links on 4GB DDR? Best Regards, Keerthy + diff --git a/sample_embedding_folder2/1046305.txt b/sample_embedding_folder2/1046305.txt new file mode 100644 index 0000000000000000000000000000000000000000..99aaa9d80bd29d890814a1422c9496cbac7ca67c --- /dev/null +++ b/sample_embedding_folder2/1046305.txt @@ -0,0 +1,61 @@ +Ticket Name: TDA2HF: Set DSS parameter failed when Display_Link was creating + +Query Text: +Part Number: TDA2HF In PROCESSOR_SDK_VISION_03_08_00_00,i builded a chain: capture->vpe->display vpe params was set as below: +static Void chains_vipSingleCam_Enc_Dec_SgxDisplay_SetVPEPrms( +VpeLink_CreateParams *pPrm, +UInt32 numLvdsCh, +UInt32 displayWidth, +UInt32 displayHeight, +UInt32 inputWidth, +UInt32 inputHeight +) +{ +UInt16 chId; + +pPrm->enableOut[0] = TRUE; + +for(chId = 0; chId < numLvdsCh; chId++) +{ +pPrm->chParams[chId].outParams[0].numBufsPerCh = +VPE_LINK_NUM_BUFS_PER_CH_DEFAULT; + +pPrm->chParams[chId].outParams[0].width = displayWidth; +pPrm->chParams[chId].outParams[0].height = displayHeight; +pPrm->chParams[chId].outParams[0].dataFormat =SYSTEM_DF_RGB24_888 ; + +pPrm->chParams[chId].scCfg.bypass = FALSE; +pPrm->chParams[chId].scCfg.nonLinear = FALSE; +pPrm->chParams[chId].scCfg.stripSize = 0; + +pPrm->chParams[chId].scCropCfg.cropStartX = 32; +pPrm->chParams[chId].scCropCfg.cropStartY = 24; +pPrm->chParams[chId].scCropCfg.cropWidth = inputWidth-32; +pPrm->chParams[chId].scCropCfg.cropHeight = inputHeight-24; +} +} + then i got assert as below: [HOST] [IPU1-0] 57.923595 s: CaptureLink_drvAllocAndQueueFrames:1553:FVID2_queue: captureVipHandle=0x9f11b880, frameList.numFrames=6, streamId=0 + [HOST] [IPU1-0] 57.923961 s: CAPTURE: Create Done !!! + [HOST] [IPU1-0] 57.924388 s: VPE: Create in progress !!! + [HOST] [IPU1-0] 57.925242 s: wwlog:vpe set flag=82176,format=20 + [HOST] [IPU1-0] 58.164765 s: VPE: Loading Down-scaling Co-effs + [HOST] [IPU1-0] 58.164978 s: VPE: Co-effs Loading ... DONE !!! + [HOST] [IPU1-0] 58.165222 s: VPE: Create Done !!! + [HOST] [IPU1-0] 58.165649 s: DISPLAY: Create in progress !!! + [HOST] [IPU1-0] 58.165954 s: wwlog: repliEnalbe is false before set!!!!! + [HOST] [IPU1-0] 58.166046 s: wwlog: repliEnalbe set true + [HOST] [IPU1-0] 58.166107 s: wwlog: display get flag= 82176,format=20 + [HOST] [IPU1-0] 58.166168 s: wwlog: display will create in SYSTEM_DF_RGB24_888!!!!! + [HOST] [IPU1-0] 58.166320 s: hal/src/vpshal_dssDispcVid.c @ Line 1023: + [HOST] [IPU1-0] 58.166412 s: Invalid Data format + [HOST] [IPU1-0] 58.166595 s: dispdrv/src/vpsdrv_displayCore.c @ Line 304: + [HOST] [IPU1-0] 58.166687 s: Set DSS parameter failed + [HOST] [IPU1-0] 58.166748 s: Assertion @ Line: 474 in displayLink_drv.c: status==SYSTEM_LINK_STATUS_SOK : failed !!! But when i use capture->vpe->sgxFmcpy(A15)->display,display_link can run normal in SYSTEM_DF_BGRA16_4444 . I want to know why dispaly_link cant be creanted in SYSTEM_DF_RGB24_888,or how to make display_link run in SYSTEM_DF_RGB24_888 . + +Responses: +Hi, I think DSS does not support RGB24_888 format, ie R in lower byte, followed by G, followed by B. DSS supports BGR24_888 format, So can you try changing it to system_df_BGR24_888 format? Regards, Brijesh + +Thanks for your reply. Dont know why ,but display does run normal with BGR24_888, + +Because it is only supported in the DSS. The other RGB packed format is not supported. + diff --git a/sample_embedding_folder2/1046872.txt b/sample_embedding_folder2/1046872.txt new file mode 100644 index 0000000000000000000000000000000000000000..8227b80810b3376a6a26a3a953f19452baf64bc4 --- /dev/null +++ b/sample_embedding_folder2/1046872.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2SX: TDA2XSBTQABCRQ1 Display output YUV422 hardware schematic review + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Dear experts, Our customer want to output YUV422 but not sure whether this connection correct according to TDA2 TRM. Can you help review this? + +Responses: +Hi Dong, It really depends on the output interface that they are going to use. If output interface is going to be BT656, then you could use 10bit output lines, ie D0 to D9 or 8bit output data lines D9 to D2. If output interface is going to be discrete sync (BT601, yuv22 discrete sync), then 8bit data would be on D7-D0 data lines.. Regards, Brijesh + +Hi Brijesh, Thanks for your reply. It's very helpful to me. They have another question is how to configure BT656 or BT601 output in the SDK code. + +Hi Dong, Unfortunately, EVM does not support BT656 or BT601 output interface, so SDK does not support or have any usease to demonstrate it. Regards, Brijesh + diff --git a/sample_embedding_folder2/1048217.txt b/sample_embedding_folder2/1048217.txt new file mode 100644 index 0000000000000000000000000000000000000000..c1e485b947c2de15c4f99b7b88aa707e4e06ddca --- /dev/null +++ b/sample_embedding_folder2/1048217.txt @@ -0,0 +1,24 @@ +Ticket Name: PROCESSOR-SDK-TDAX: "AR12XX: FAULT: BSS CPU fault!!" seen frequently, forcing user to reboot radar + +Query Text: +Part Number: PROCESSOR-SDK-TDAX Other Parts Discussed in Thread: MMWCAS-DSP-EVM, MMWCAS-RF-EVM, AWR2243, AWR1243, TDA2 Hello, I have an MMWCAS-RF-EVM mounted on MMWCAS-DSP-EVM. I'm using PROCESSOR_SDK_RADAR_ 3.08 and often times I'm seeing this error on my terminal window. [IPU1-0] 1300.877569 s: radar_ar12xx/src/bspdrv_ar12xxPriv.c @ Line 541: [IPU1-0] 1300.877691 s: AR12XX: FAULT: BSS CPU fault!! [IPU1-0] 1300.877783 s: radar_ar12xx/src/bspdrv_ar12xxPriv.c @ Line 545: [IPU1-0] 1300.877844 s: AR12XX: FAULT: ESM fault!! [IPU1-0] 1301.117214 s: SyncLink: dropping frame due to time delta(-2084364888ms) too large [IPU1-0] 1301.117336 s: SyncLink: dropping frame due to time delta(-2084364888ms) too large [IPU1-0] 1301.117458 s: SyncLink: dropping frame due to time delta(-2084364888ms) too large [IPU1-0] 1301.150216 s: SyncLink: dropping frame due to time delta(-2084364888ms) too large [IPU1-0] 1301.150369 s: SyncLink: dropping frame due to time delta(-2084364888ms) too large [IPU1-0] 1301.150460 s: SyncLink: dropping frame due to time delta(-2084364888ms) too large I am forced to reboot the radar if I want to continue working with it. The hardware version reported by the serial terminal is ES3.0. I don't seem to have this problem happen this frequently in the ES1.0 hardware that I have. Please tell me how to isolate and fix this problem? Is there a firmware update I'm missing? Thanks Asher + +Responses: +Hi, ES1.0 and ES2.0 have different version of radar firmware. During radar init, it should try to check the revision of radar and download the corresponding firmware. You can check the log to see if the ES version of radar was detected correctly. Regards, Stanley + +Hi Stanley, We have 2 Cascade RF boards where both boards have AWR2243 transceivers. However one board has hwMajor of 1 and the other has hwMajor 3. We believe these numbers represent ES1.0 and ES3.0. Since we have 2 AWR FW binary files for AWR1243 and AWR2243, Both cascade boards are downloaded with 2243 FW disregards whether one is an ES1.0 and the other is an ES3.0. That's how we modified the TDA2 bootup code to detect and behave. Please tell us if that assumption is correct. Now back to the BSS and ESM Faults above, we've seen this error showed up very often on the ES3.0 HW version vs the ES1.0 HW version even though both are running with same 2243 FW. So we are wondering if ES3.0 HW version has an updated FW for it to be used that fixes above errors seen? Thank you, --Khai + +Hi Khai, I have forwarded this question to our Radar team to comment. In Radar SDK, only AWR1243 ES1.0 and 2.0 firmware have been tested. Regards, Stanley + +Hi, Unfortunately, as mentioned by Stanley the Radar Processor SDK demo is not validated with AWR2243. There are some patches available in this forum provided by some forum members but they are not validated by TI We would have to open this question to the forum community for further support thank you Cesar + +Hi Khai, If you refer mmWave DFP 2.2.3.1 example, where same code works for both AWR2243 ES1.0 and ES1.1 based on HW version. You need to implement similar logic in your application C:\ti\mmwave_dfp_02_02_03_01\ti\example\mmWaveLink_SingleChip_Example\mmw_example.c retVal = rlDeviceGetMssVersion(deviceMap, &mssFwVer); /* For AWR2243 ES1.0 MSS ROM FW version '2.2.0.3' and ES1.1: '2.2.1.7' */ if ((mssFwVer.fwBuild == 1) && (mssFwVer.fwDebug == 7)) { gMmwaveSensorEs1_1 = AWR2243_ES1_1; } else { gMmwaveSensorEs1_1 = AWR2243_ES1_0; } Similar way you can check first the AWR1243 MSS ROM version which will have some definite value for ES1.0/2.0/3.0 Silicon samples and based on that select the matching FW version to download. Regards, Jitendra + +Hi Jiten, So is there a ES3.0 AWR2243 FW you can send us? In the HW detection, what parameters constitute to AWR2243 ES3.0 device? Thanks, --Khai + +There is no AWR2243ES 3.0, only ES 1.0 and ES 1.1 There was an AWR1243 ES3.0 Thank you Cesar + +Hi Jiten, Thanks for the clarification. So we have 2 FWs built into the AppImage in TDA2. One for 1243 and one for 2243 since we have both Cascade RF board in 1243 and 2243. My questions are: 1. What is the logic to detect AWR models (1243 or 2243)? 2. If it's 1243, would the same 1243 FW be compatible with all ESx version? 3. If it's 2243, would the same 2243 FW be compatible with all ES1.0 or 1.1 version? Thanks, --Khai + +The FW release are usually not compatible. The DFP release notes mention the ES supported. Thank you Cesar + diff --git a/sample_embedding_folder2/1049699.txt b/sample_embedding_folder2/1049699.txt new file mode 100644 index 0000000000000000000000000000000000000000..a93204ff3968613e81467e52711e52fd34951bd9 --- /dev/null +++ b/sample_embedding_folder2/1049699.txt @@ -0,0 +1,8 @@ +Ticket Name: DRA756: EMMC linux driver issue + +Query Text: +Part Number: DRA756 Hi. sdk: PROCESSOR_SDK_VISION_03_05_00_00 For the same software, only the SOC of the two boards is different. One uses tda2s and the other uses dra756. Tda2s can use EMMC ddr50 mode.while dra756 cannot use ddr50 mode,Dra756 can use EMMC HS mode dts: &mmc2 { status = "okay"; vmmc-supply = <&evm_3v3_sw>; bus-width = <8>; max-frequency = <192000000>; pinctrl-names = "default", "hs", "ddr_1_8v-rev11", "ddr_1_8v","ddr50"; pinctrl-0 = <&mmc2_pins_default>; pinctrl-1 = <&mmc2_pins_hs>; pinctrl-2 = <&mmc2_pins_ddr_1_8v &mmc2_iodelay_ddr_1_8v_rev11_conf>; pinctrl-3 = <&mmc2_pins_ddr_1_8v &mmc2_iodelay_ddr_1_8v_rev20_conf>; pinctrl-4 = <&mmc2_pins_hs200_1_8v &mmc2_iodelay_hs200_1_8v_rev11_conf>; pinctrl-5 = <&mmc2_pins_hs200_1_8v &mmc2_iodelay_hs200_1_8v_rev20_conf>; }; dr756 emmc ddr50 mode log: [ 1.072168] ldousb: disabling [ 1.073427] omap8250 4806a000.serial: failed to request DMA [ 1.074258] Waiting for root device PARTUUID=dda7f685-03... [ 1.163294] mmc0: host does not support reading read-only switch, assuming write-enable [ 1.168022] mmc0: new ultra high speed DDR50 SDHC card at address aaaa [ 1.169218] mmcblk0: mmc0:aaaa SS08G 7.40 GiB [ 1.174636] mmcblk0: p1 p2 p3 p4 < p5 p6 p7 p8 p9 > [ 1.220299] mmc1: MAN_BKOPS_EN bit is not set [ 1.223227] mmc1: new DDR MMC card at address 0001 [ 1.224159] mmcblk1: mmc1:0001 8GUF4R 7.28 GiB [ 1.224893] mmcblk1boot0: mmc1:0001 8GUF4R partition 1 31.9 MiB [ 1.225796] mmcblk1boot1: mmc1:0001 8GUF4R partition 2 31.9 MiB [ 1.226886] omap_hsmmc 480b4000.mmc: ADMA err: ST_TFR, desc at 0xfe441008 follows the erroneous one [ 1.228069] mmcblk1: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0xb00 [ 1.229261] mmcblk1: retrying using single block read [ 1.229960] mmcblk1: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0x0 [ 1.231130] blk_update_request: I/O error, dev mmcblk1, sector 0 [ 1.231951] mmcblk1: error -84 transferring data, sector 1, nr 7, cmd response 0x900, card status 0x0 [ 1.233120] blk_update_request: I/O error, dev mmcblk1, sector 1 [ 1.233945] mmcblk1: error -84 transferring data, sector 2, nr 6, cmd response 0x900, card status 0x0 [ 1.235114] blk_update_request: I/O error, dev mmcblk1, sector 2 [ 1.235931] mmcblk1: error -84 transferring data, sector 3, nr 5, cmd response 0x900, card status 0x0 [ 1.237100] blk_update_request: I/O error, dev mmcblk1, sector 3 [ 1.237917] mmcblk1: error -84 transferring data, sector 4, nr 4, cmd response 0x900, card status 0x0 [ 1.239084] blk_update_request: I/O error, dev mmcblk1, sector 4 [ 1.239903] mmcblk1: error -84 transferring data, sector 5, nr 3, cmd response 0x900, card status 0x0 [ 1.241072] blk_update_request: I/O error, dev mmcblk1, sector 5 [ 1.241890] mmcblk1: error -84 transferring data, sector 6, nr 2, cmd response 0x900, card status 0x0 [ 1.243057] blk_update_request: I/O error, dev mmcblk1, sector 6 [ 1.243873] mmcblk1: error -84 transferring data, sector 7, nr 1, cmd response 0x900, card status 0x0 [ 1.245057] blk_update_request: I/O error, dev mmcblk1, sector 7 [ 1.245822] Buffer I/O error on dev mmcblk1, logical block 0, async page read [ 1.246800] omap_hsmmc 480b4000.mmc: ADMA err: ST_TFR, desc at 0xfe441008 follows the erroneous one [ 1.247980] mmcblk1: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0xb00 [ 1.249170] mmcblk1: retrying using single block read [ 1.249869] mmcblk1: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0x0 [ 1.251036] blk_update_request: I/O error, dev mmcblk1, sector 0 [ 1.251859] mmcblk1: error -84 transferring data, sector 1, nr 7, cmd response 0x900, card status 0x0 [ 1.253027] blk_update_request: I/O error, dev mmcblk1, sector 1 [ 1.253845] mmcblk1: error -84 transferring data, sector 2, nr 6, cmd response 0x900, card status 0x0 [ 1.255082] mmcblk1: error -84 transferring data, sector 3, nr 5, cmd response 0x900, card status 0x0 [ 1.256310] mmcblk1: error -84 transferring data, sector 4, nr 4, cmd response 0x900, card status 0x0 [ 1.257532] mmcblk1: error -84 transferring data, sector 5, nr 3, cmd response 0x900, card status 0x0 [ 1.258760] mmcblk1: error -84 transferring data, sector 6, nr 2, cmd response 0x900, card status 0x0 [ 1.259982] mmcblk1: error -84 transferring data, sector 7, nr 1, cmd response 0x900, card status 0x0 [ 1.261153] Buffer I/O error on dev mmcblk1, logical block 0, async page read [ 1.262070] mmcblk1: unable to read partition table [ 1.532364] EXT4-fs (mmcblk0p3): recovery complete + +Responses: +Hi GJ, Is this still an open issue for you or were you able to resolve the issue yourself? regards Suman + diff --git a/sample_embedding_folder2/1049857.txt b/sample_embedding_folder2/1049857.txt new file mode 100644 index 0000000000000000000000000000000000000000..6962d0581d24101402beb7fcdd620f4f45c660a4 --- /dev/null +++ b/sample_embedding_folder2/1049857.txt @@ -0,0 +1,10 @@ +Ticket Name: PROCESSOR-SDK-TDAX: Is there a way to program the user Programmable LEDs in TIDEP-01017? + +Query Text: +Part Number: PROCESSOR-SDK-TDAX Hi, I'm using MMWCAS_DSP_EVM with Processor SDK Radar 3.08 and according to the User guide of the board, these LEDs(in Table) are user-programmable. I was wondering if I can get guidance on how to program these LEDs from the Radar SDK. I would greatly appreciate it. + +Responses: +Hi, These LEDs are connected to GPIO expander output. The same GPIO expander is also configured in Bsp_boardTda2xxCascadeEnableSdAndEth() under ~\ti_components\drivers\pdk\packages\ti\drv\vps\src\boards\src\bsp_boardTda2xx.c. You can refer to that function to see how to configure the specific output of the GPIO Expander via I2C command. Regards, Stanley + +Hi Stanley, Thank you for the response. We were able to run this example located in ~\ti_components\drivers\pdk_01_10_04_05\packages\ti\csl\example\i2c\i2c_led_blink\main.c After modifying the slave address for the correct Port Expander (0x76 instead of 0x20), and were able to blink all those LEDs. Although we had to modify the sample code based on the datasheet(configuring the ports to become output before switching them ON/OFF). + diff --git a/sample_embedding_folder2/1050651.txt b/sample_embedding_folder2/1050651.txt new file mode 100644 index 0000000000000000000000000000000000000000..a89832756be5cefc5c428218e94423f72757157d --- /dev/null +++ b/sample_embedding_folder2/1050651.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: Video data conversion + +Query Text: +Part Number: TDA2SX Hi TI Expert, 1.HDMI interface: We known HDMI output display video stream in YUV422/YUV420/RGB565/RGB666/RGB888 format from TDA2x datasheet. we do not see HDMI transfer raw data stream, please confirm whether HDMI can not transfer raw data ? or TDA2S video processing engine can not make raw data packets in raw data 8bit/12bit format ? 2.MIPI DSI/MIPI CSI: we want MIPI DSI as video source simulator, what is the difference between MIPI DSI and MIPI CSI ? Are these difference physical layer, data packet protocol, or others? please confirm whether MIPI CSI can receive video source from MIPI DSI ? Thanks + +Responses: +Hi Wang, Please find answers to your questions. Jiacai Wang said: we do not see HDMI transfer raw data stream, please confirm whether HDMI can not transfer raw data ? or TDA2S video processing engine can not make raw data packets in raw data 8bit/12bit format ? No, typically, raw data is not transmitter over HDMI. In fact, DSS, from where HDMI gets its input, does not support raw data.. Jiacai Wang said: 2.MIPI DSI/MIPI CSI: we want MIPI DSI as video source simulator, what is the difference between MIPI DSI and MIPI CSI ? Are these difference physical layer, data packet protocol, or others? please confirm whether MIPI CSI can receive video source from MIPI DSI ? No, Please refer to DSI and CSI specs for more details. Regards, Brijesh + diff --git a/sample_embedding_folder2/1051700.txt b/sample_embedding_folder2/1051700.txt new file mode 100644 index 0000000000000000000000000000000000000000..3c2a902bd10b616ca76dcbd3014017e9bdddf985 --- /dev/null +++ b/sample_embedding_folder2/1051700.txt @@ -0,0 +1,8 @@ +Ticket Name: PROCESSOR-SDK-J721E: Migrating sensor support from J6 to J7 SDK + +Query Text: +Part Number: PROCESSOR-SDK-J721E Other Parts Discussed in Thread: TDA2 Hello, My customer would like to use the OV2311 sensor along with TDA4 as he was formerly using it with TDA2 processors. Do we have any plan to support OV2311 or OV2312 in a J7 SDK? If not, what would it take for one to migrate the driver from the J6 SDK to the J7 SDK? Thank you. Best regards, François. + +Responses: +OV231x is not planned in J7 SDK. To add new sensor, please follow the steps at http://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/psdk_rtos/docs/user_guide/developer_notes_image_sensor.html + diff --git a/sample_embedding_folder2/1052029.txt b/sample_embedding_folder2/1052029.txt new file mode 100644 index 0000000000000000000000000000000000000000..c5476340768119ad2c6407a3544a002da9b03bc1 --- /dev/null +++ b/sample_embedding_folder2/1052029.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2HF: Program on M4 auto start when i load program by CCS + +Query Text: +Part Number: TDA2HF Processor :TDA2X SDK: VISION_SDK_3.8 According to the <> ,i load the progarm : On ARP32_EVE_4, load the binary, “vision_sdk_arp32_4_release.xearp32F”. On ARP32_EVE_3, load the binary, “vision_sdk_arp32_3_release.xearp32F”. On ARP32_EVE_2, load the binary, “vision_sdk_arp32_2_release.xearp32F”. On ARP32_EVE_1, load the binary, “vision_sdk_arp32_1_release.xearp32F”. On C66xx_DSP2, load the binary, “vision_sdk_c66xdsp_2_release.xe66”. On C66xx_DSP1, load the binary, “vision_sdk_c66xdsp_1_release.xe66”. On Cortex_M4_IPU1_C0, load the binary, “vision_sdk_ipu1_0_release.xem4”. On Cortex_M4_IPU1_C1, load the binary, “vision_sdk_ipu1_1_release.xem4”. On CortexA15_0, load the binary, "vision_sdk_a15_0_debug.xa15fg”. But there is something worng. I can see main() on DSP,and do start or set break point.CCS‘s screenshot was shown below: I cant start or set break point on M4,the porgram start automaticly., there is console message: Cortex_M4_IPU1_C0: Can't Run Target CPU: (Error -1268 @ 0x1090001) Device is locked up in Hard Fault or in NMI. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 8.4.0.00006) I want to set break point on M4 ,and start it from main(),what should i do? + +Responses: +Hi, It appears that IPU1_0 M4 has crashed. If you loaded the binaries from your build, there might be something wrong with them. Maybe build configurations were not set correctly. I suggest you to try again with pre-built binary first and see if it works correctly. You can download the binary from SDK download page. Regards, Stanley + diff --git a/sample_embedding_folder2/1054887.txt b/sample_embedding_folder2/1054887.txt new file mode 100644 index 0000000000000000000000000000000000000000..95694b139f754c03a881c61025a820612b5863f8 --- /dev/null +++ b/sample_embedding_folder2/1054887.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA4VM-Q1: bootmode for auto select primary boot device + +Query Text: +Part Number: TDA4VM-Q1 Other Parts Discussed in Thread: TDA2 Hi : The TDA2 have the BOOTMODE。for example ,The first device is SD ,the second is EMMC ,it is convenient to use . however .The tda4 , I need to change bootmode every time for different primary boot device .(SD /EMMC ) So does the tda4 have the same bootmode function as the tda2.? and how to set the bootmode + +Responses: +Hi, On TDA4 as well there is a way to select secondary and primary boot mode with a single set of dip switches. So if ROM code is not able to find a valid bootloader from Primary boot media, it will attempt to boot from secondary boot mode. Now that being said, the options for primary boot mode are limited and Section 4.3.2.2 Backup Boot Mode Selection When MCU Only = 0 of the TRM lists them. From the table above, eMMC as backup boot mode is not supported however MMC/SD is. Regards Karan + +thanks for your reply. so i understand i can not use a bootmode to achive my idea "the primary boot mode is MMC/SD, the second boot mode is EMMC " it must use a dip switches to change different bootmode . Regards kong + +Hi Kong, xiangxu kong said: so i understand i can not use a bootmode to achive my idea "the primary boot mode is MMC/SD, the second boot mode is EMMC " That is correct. The SoC doesn't support booting from a backup boot media of eMMC boot partition. Regards Karan + diff --git a/sample_embedding_folder2/1056057.txt b/sample_embedding_folder2/1056057.txt new file mode 100644 index 0000000000000000000000000000000000000000..1dcec3c999cec8dec929385584f338ce952c86b0 --- /dev/null +++ b/sample_embedding_folder2/1056057.txt @@ -0,0 +1,8 @@ +Ticket Name: PROCESSOR-SDK-TDAX: when I debuged the app_tidl(vision_apps/apps/dl_demos/app_tidl), I have some questions + +Query Text: +Part Number: PROCESSOR-SDK-TDAX Other Parts Discussed in Thread: TDA2 question1: In the file of vision_apps/utils/ipc/src/app_ipc_linux_rpmsg_char.c, I found that obj->ipc_notify_handler was a function pointer to the type of app_ipc_notify_handler_f.But,I don't know it pointer to which function when call obj->ipc_notify_handler(app_cpu_id, payload),the function show as below. typedef struct { app_ipc_init_prm_t prm; void *hw_spin_lock_addr; app_ipc_notify_handler_f ipc_notify_handler; int tx_fds[APP_IPC_CPU_MAX]; uint32_t local_endpt[APP_IPC_CPU_MAX]; rpmsg_char_dev_t *rcdev[APP_IPC_CPU_MAX]; pthread_t task; int unblockfd; } app_ipc_obj_t; static void appIpcRpmsgRxHandler(uint32_t app_cpu_id, uint32_t payload) { app_ipc_obj_t *obj = &g_app_ipc_obj; if(app_cpu_id %s (port %d) msg = 0x%08x\n", appIpcGetCpuName(app_cpu_id), appIpcGetCpuName(appIpcGetSelfCpuId()), (uint32_t)obj->local_endpt[app_cpu_id], payload); #endif if((payload & 0xFFFF0000) == 0xDEAD0000) { /* echo message dont send to handler */ printf("IPC: RX: %s -> %s (port %d) msg = 0x%08x\n", appIpcGetCpuName(app_cpu_id), appIpcGetCpuName(appIpcGetSelfCpuId()), (uint32_t)obj->prm.tiovx_rpmsg_port_id, payload); } else { if(obj->ipc_notify_handler) { obj->ipc_notify_handler(app_cpu_id, payload); } } } } then I found a suspectable call in the function (void tivxObjDescInit(void)),detail definition showed as below , I can't confirm that,because I added some printf information("======") ,but it didn't show in the terminal. void tivxObjDescInit(void)(tiovx/source/framework/vx_obj_desc.c) { printf("=====================================\n"); tivxPlatformGetObjDescTableInfo(&g_obj_desc_table); tivxIpcRegisterHandler(tivxObjDescIpcHandler); printf("=====================================\n"); } question2: I found that there are four definitions about the function tivxInit(void), in order to determine which tivxInit() function to be called , so I added some printf information(printf("from file : %s ; from function: %s\n", __FILE__, __FUNCTION__);) in every tivxInit() function, before called the tivxInit(void) ,I added printf("++++++++++++++++++++++++++\n"); But there are nothing about from file : %s ; from function: %s\n", __FILE__, __FUNCTION__ ,Only show the "+++++++++++++++++++++++++++" in the terminal. So don't kown why? + +Responses: +Hi, Although there are 4 tivxInit, they are used for different purpose/platform. The one defined in vision_sdk/linux (biod)/tivx_init.c was used on TDA2/3x devices, so you could ignore them. The one defined in pc/common/tivx_init.c is used in PC emulation mode. The one defined in psdk_j7/common/tivx_init.c is actually used on TDA4x.. For the first question, yes, this is where IPC handler is registers. The call flow is tivxIpcHandler -> g_ipc_handler. Regards, Brijesh + diff --git a/sample_embedding_folder2/1056834.txt b/sample_embedding_folder2/1056834.txt new file mode 100644 index 0000000000000000000000000000000000000000..5e5eec0d3b5c2d08e3d4cea7444359e7a08c5b8c --- /dev/null +++ b/sample_embedding_folder2/1056834.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2SX: automatically inserts VLAN tags when sending Ethernet packets + +Query Text: +Part Number: TDA2SX Hi TI experts, we use custom board with TDA2x and sending multicast packets, but we can't recieve it. After capturing packets through wireshark we discovered VLAN tags in packets header. We didn't enable VLAN Tagging at code or any configuration file. What's way to disable VLAN tags from Ethernet packets? Some additional information: 1) Device: TDA2x custom board 2) Operation system: TI RTOS 3) SDK version: PROCESSOR_SDK_RADAR_03_07_00_00 4) Ethernet interface: Configured at Eth0 + +Responses: +I just add a some new information. When we change destination IP from 239.168.1.50 to 192.168.1.100 VLAN Tagging is gone. I can't understand why is multicast IP add VLAN tag? + +Dmitry, there are similar report about the issue. we are investigating the driver. sorry for the extended delays. jian + +Jian, Thanks a lot! I will wait for feedback. + +Dmitry, I am putting a TI internal link here for internal reference. sorry you will not be able to see the ticket. I will close the ticket for now. If the issue is blocking your project, please reopen. Otherwise it will stay closed till the JIRA is resolved, then an update will be posted here. https://jira.itg.ti.com/browse/LCPD-28065 Jian + diff --git a/sample_embedding_folder2/1060928.txt b/sample_embedding_folder2/1060928.txt new file mode 100644 index 0000000000000000000000000000000000000000..a87f7c124343d7f94b8b5a6e00f2ebbc1444e5ec --- /dev/null +++ b/sample_embedding_folder2/1060928.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2EVM5777: Binaries directory for running TIDL demo semantic segmentation + +Query Text: +Part Number: TDA2EVM5777 Hi Team, Good day! I am posting this in behalf of the customer. Could you please help. As described in the following video for TDA2x-EVM training.ti.com/tda2-evm-series-part-3-0 For illustration of TIDL demo using semantic segmentation, I am unable to find the binaries directory that contains DLNet.bin,DLPRM.bin, Indata, and In header files defined in it. Please share the link for the same, on an urgent basis. Thank you for your support. Best regards, Jonathan + +Responses: +Hi, Myself Nikunj. I only posted this query. Request the team to share the zip folder for all the files required to run TIDL demo as illustrated in TDA2x-EVM tutorial,using Semantic Segmentation on TDA2x-EVM board. + diff --git a/sample_embedding_folder2/1061203.txt b/sample_embedding_folder2/1061203.txt new file mode 100644 index 0000000000000000000000000000000000000000..89c5f989b6e8dc13289f0d97d72d83faf7f1b224 --- /dev/null +++ b/sample_embedding_folder2/1061203.txt @@ -0,0 +1,10 @@ +Ticket Name: DRA726: 360 degree surround view support + +Query Text: +Part Number: DRA726 Other Parts Discussed in Thread: TDA2E, , TDA2, TDA4VM Hello all, I'm working on an automotive DRA726 based design and I have asked about the possibility of implementing 360º surround view in this processor. I know this is more related with TDA2e than with DRA726 as it is an ADAS function, but I would like to know if there is any HW or SW limitation that makes impossible/hard to implement this function in a DRA726. (IE: no SW native support, HW limitation...) Thank you very much for your time. + +Responses: +Hello, DRA72x has the same GPU as TDA2 and you should be able to support 3D Surround View. You can also consider newer TDA4VM with newer graphics engine. Regards Hemant + +Hello Hemant, I have discussed with the customer. Their application is a DRA72x infotainment one built onto the DRA7x Linux SDK 6.0.0.3. They want to add onto it a surround view application from our TDAx Vision SDK 3.8.0.0. Do you expect any compatibility issue there? These 2 SDKs have been released in December 2019 and seem to include the same versions of the software components, but maybe one needs more than just matching versions to use a Vision SDK example in the DRA7x SDK environment. Thank you. Best regards, François. + diff --git a/sample_embedding_folder2/1063353.txt b/sample_embedding_folder2/1063353.txt new file mode 100644 index 0000000000000000000000000000000000000000..bbdec73bbbef757e9440a4ce2b1519013cad8aab --- /dev/null +++ b/sample_embedding_folder2/1063353.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA4VM: How to modify Encode to support 2560x1920 resolution video coding? + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 Hi TI, Is there any way to configure Encode to support the encoding of 2560x1920 resolution video? (We've implemented it on TDA2) According to the user guaid of Encode, the upper limit of the resolution supported by Encode is 2048x2048. Could you please give me some advice on how to expand this restriction? Thanks & Regards Damon + +Responses: +Hi Damon, which sdk release are you using? As far as i remember, the max resolution tested is 1080p (1920x1080).. Beyond this resolution, it is not validated.. Regards, Brijesh + +Hi Brijesh, My sdk is 07_03. I'm sorry I was wrong about the max resolution stated in user guaid。 It is indeed 1920x1080 However, according to the log error message and the settings in the code, it seems that the max resolution is 2048x2048(this may be the case of low frame rate?) But what I am most concerned about is whether we can make Encode support 2560x1920 through some special modification? Although it may be necessary to sacrifice a little frame rate. Regards, Damon + +Hi Damon, As i said, we have not really tested more than 1920 frame width. This may also changes in the OpenVX/Vision_apps to provide memory, in addition to encoder support.. Regards, Brijesh + +Hi, On latest SDK 07_ 03_ 00_ 07, it is tested for resolutions upto 1920x1080. There is an example standalone test-application inside SDK (ti-processor-sdk-rtos-j721e-evm-07_03_00_07/video_codec/examples/apps/encoder/app_encoder_test.c) You can refer to code with macro "TWO_SLICE_ENCODING". That might help you try encoder higher resolutions with multi slice enabled. You can try adapting those changes in your use case. Again, only the multi slice functionality was validated here and not the higher resolutions beyond 1920x1080. + +Hi, Can we close this if the answer has resolved the query? + diff --git a/sample_embedding_folder2/1063809.txt b/sample_embedding_folder2/1063809.txt new file mode 100644 index 0000000000000000000000000000000000000000..12ebb0f893e6ff72d1ec509c6d23293ee66fabad --- /dev/null +++ b/sample_embedding_folder2/1063809.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: Http server out of memory error + +Query Text: +Part Number: TDA2SX Hi TI experts, we use custom board with TDA2x and run http server. Errors occur when opening the web interface: [IPU1-0] 23.601994 s: ### XDC ASSERT - ERROR CALLBACK START ### [IPU1-0] 23.602055 s: [IPU1-0] 23.602238 s: out of memory: handle=0x86c72264, size=65544 [IPU1-0] 23.602330 s: [IPU1-0] 23.602360 s: ### XDC ASSERT - ERROR CALLBACK END ### + +Responses: +Problem was solved by increasing heapMemParams.size in Ipu1_0.cfg. + diff --git a/sample_embedding_folder2/1064702.txt b/sample_embedding_folder2/1064702.txt new file mode 100644 index 0000000000000000000000000000000000000000..593f919f4b22193183709a8921fcee06dc3587ec --- /dev/null +++ b/sample_embedding_folder2/1064702.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2SX: TDA2 for MDIO "Clause 45" PHY support + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi there We are working on the TDA2 platform and we want to use 10000BASET1 automotive ethernet. Currently the phy chip we are working with is Marvell 88Q2112 but it only supports configurations through the Clause 45 register set. We are trying to implement the Clause 22 Access to Clause 45 Registers indirect access read/write on top of your MDIO_USERACCESS0 register but unable to make it work. The data we read back with correct phy addr and correct sequences always with 0xffff. We are wondering if anyone make a MDIO Clause 45 PHY work on TDA2? Thanks, Li + +Responses: +Hi, MDIO Clause 45 is NOT supported on TDA2. Please refer to the TRM as shown below for the support MDIO frame format. Regards, Stanley + +Thanks..... but my colleagues made it work 2 months ago.... + diff --git a/sample_embedding_folder2/1066818.txt b/sample_embedding_folder2/1066818.txt new file mode 100644 index 0000000000000000000000000000000000000000..a724f1a50046da6fd0eb9650303b63b3f76ab2bf --- /dev/null +++ b/sample_embedding_folder2/1066818.txt @@ -0,0 +1,10 @@ +Ticket Name: TMDSEVM572X: floating output after importing model + +Query Text: +Part Number: TMDSEVM572X Other Parts Discussed in Thread: AM5728, TDA2 SDK: 06_03_00_106 Hello, TI! I read Victor Cheng's answer in this thread https://e2e.ti.com/support/processors-group/processors/f/processors-forum/892591/tda4vm-tidl-how-can-i-get-out-q-values-scale-factors-of-layers-after-model-import/3300978?tisearch=e2e-sitesearch&keymatch=dataq#3300978. The answer said the floating output is (integer output) / (dataQ factor) / (2^quantized bit, like Q8 format, 256). Just want to make sure if this formula is also applicable to the TIDL library in the processor sdk for AM5728? Thanks! + +Responses: +Hi, yes, AM57x is a similar device as TDA2. So you can use Victor's answer for TDA2 Thank you, Paula + +Thank you very much Paula. + diff --git a/sample_embedding_folder2/1072738.txt b/sample_embedding_folder2/1072738.txt new file mode 100644 index 0000000000000000000000000000000000000000..18454a745dccb66933386ce79adbc4bee8e23128 --- /dev/null +++ b/sample_embedding_folder2/1072738.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2EXEVM: Processors forum + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2 This is actually a follow up question for E2E ticket - https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1000532/tda2exevm-communication-with-another-spi-slave/3736466 The above ticket was asked 7 months ago. We are now in integration and begin activating the SPI instance 0 to communicate with our slave device. We are hoping to have a small consultation time instead of asking questions thru E2E to minimize on the back and forth before a point is getting across. A half an hour call would do us a great deal and get us over the hurdle since our integration schedule is tight. Please respond to this ticket and let us know if our requested is granted. Thank you and looking forward to hearing from you. + +Responses: +Stanley Wrote in above e2e link in quote below: " If yes, radar SPI driver is implemented in ~/pdk_xx_xx_xx_xx/packages/ti/drv/vps/src/devices/radar_ar12xx/src/bspdrv_ar12xxMcspiCfgPriv.c. Only Utils_mcspiInit() is called from use case to add the McSPI instace to GIO device and configure crossbar for interrupt. The instance will be opened later by radar SPI driver in PDK. To configure radar, we use radar APIs from rl_sensor.c in ~/mmwave_dfp/ti/control/mmwavelink/src/rl_sensor.c, which has the callback hooked to radar SPI driver. " From what you said in quote above, the usecase application does not interact with the SPI driver directly (ie: it doesn't gain access to the commHdl of the SPI channel instance). Is there a way to gain access to the commHdl of a SPI instance so we can close its commHdl to free up channel resource for another SPI slave using the same SPI instance? Thank you. + +Hi, I am looping in TDA2 experts to answer the above query. Khai Trinh said: We are now in integration and begin activating the SPI instance 0 to communicate with our slave device. Meanwhile, can you please share the details on what issues are you facing? Regards, Parth + diff --git a/sample_embedding_folder2/1077619.txt b/sample_embedding_folder2/1077619.txt new file mode 100644 index 0000000000000000000000000000000000000000..990ca4762936c44a477982513c05d24ef47c8bb8 --- /dev/null +++ b/sample_embedding_folder2/1077619.txt @@ -0,0 +1,24 @@ +Ticket Name: TDA4VM: Mcspi4 is slave in A72 Linux Unable to send and receive data + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 HI. sdk:ti-processor-sdk-linux-j7-evm-07_03_00_05 mcu_ Mcspi2 (Master) and mcspi4 (main domain mcu2-0) can send and receive. If mcspi4 does a slave on A72, it cannot be sent or received. e2e.ti.com/.../tda4vm-slave-mode-tda4vm-mcspi devicetree: main_spi4 { pinctrl-names = "default"; compatible = "ti,am654-mcspi","ti,omap4-mcspi"; reg = <0x0 0x2140000 0x0 0x400>; interrupts = ; clocks = <&k3_clks 270 1>; power-domains = <&k3_pds 270 TI_SCI_PD_EXCLUSIVE>; #address-cells = <1>; #size-cells = <0>; status="okay"; dmas = <&main_udmap 0xc624>, <&main_udmap 0x4624>; dma-names = "tx0", "rx0"; spi-slave; slave@0 { spi-max-frequency = <24000000>; reg = <0>; compatible = "linux,spidev"; }; Device node generated. root@j7-evm:/# ls /dev/spidev4.0 -l crw------- 1 root root 153, 0 Aug 20 13:44 /dev/spidev4.0 A72 Linux reads some register values of mcspi4: Read at address 0x02140000 : 0x40301A0B Read at address 0x02140004 : 0x00000009 Read at address 0x02140010 : 0x00000008 Read at address 0x02140110 : 0x00000015 Read at address 0x02140114 : 0x00000001 Read at address 0x02140118 : 0x00010001 Read at address 0x0214011C : 0x00020000 Read at address 0x02140120 : 0x00000001 Read at address 0x02140124 : 0x00000000 Read at address 0x02140128 : 0x00000004 Read at address 0x0214012C : 0x3811C3BC Read at address 0x02140130 : 0x0000002A Read at address 0x02140134 : 0x00000501 Read at address 0x02140138 : 0x00000000 Read at address 0x0214013C : 0x00000000 Can mcspi4 send and receive data by interrupt as a slave? + +Responses: +Hi gj y, I really doubt the Linux supports McSPI in slave mode. So not a limitation from McSPI module, but i think driver is not supported on Linux. Can you check it on RTOS? RTOS driver supports McSPI in slave mode. Regards, Brijesh + +Hi Brijesh Mcspi slave mode polling is supported in RTOS, and the interrupt mode cannot be sent or received. About driver is not supported on Linux, The mcspi slave of tda2 is supported on Linux. + +Hi gj y, Even McSPI slave mode in interrupt mode can be supported in RTOS. Do you see any issue in enabling it? Regards, Brijesh + +Hi.Brijesh static void SPI_InitConfig(uint32_t instance, uint32_t chn) { SPI_HWAttrs spi_cfg; /* Get the default SPI init configurations */ SPI_socGetInitCfg(instance, &spi_cfg); /* Set the default SPI init configurations */ SPI_InitConfigDefault(&spi_cfg, chn); /* interrupt enabled */ spi_cfg.enableIntr = true; spi_cfg.edmaHandle = NULL; spi_cfg.dmaMode = FALSE; /* Transmit/Receive mode */ spi_cfg.chnCfg[chn].trMode = MCSPI_TX_RX_MODE; /* Set Pin direction */ spi_cfg.chnCfg[chn].dataLineCommMode = MCSPI_DATA_LINE_COMM_MODE_1; /* Set the SPI init configurations */ SPI_socSetInitCfg(instance, &spi_cfg); } /* interrupt enabled */ spi_cfg.enableIntr = true; if interrupt enabled spi_cfg.enableIntr = true; Can not send or receive . If spi_cfg.enableIntr =FALSE; Data can be received and sent. + +Hi gj y, I think for the interrupt mode to work for McSPI4 on main domain R5F, we would need to configure R5F Interrupt router. In TRM, i see that McSPI4 interrupt is connected to Interrupt 196 of the interrupt router input. Can you select one irq number for R5F, configure it in the output irq in interrupt router and use it in the driver? Regards, Brijesh + +HI. Brijesh The interrupt configuration is as follows: #define CSLR_MCU_R5FSS0_CORE1_INTR_MAIN2MCU_LVL_INTRTR0_OUTL_36 (196U) Mcspi 4 can't send and receive data. Read McSPI4 reg: Read at address 0x02140000 value: 0x40301A0B Read at address 0x02140004 value: 0x00000009 Read at address 0x02140010 value: 0x00000004 Read at address 0x02140110 value: 0x00000308 Read at address 0x02140114 value: 0x00000001 Read at address 0x02140118 value: 0x0001000E Read at address 0x0214011C value: 0x00000000 Read at address 0x02140120 value: 0x00000001 Read at address 0x02140124 value: 0x00000000 Read at address 0x02140128 value: 0x00000004 Read at address 0x0214012C value: 0x380103C0 Read at address 0x02140130 value: 0x0000004F Read at address 0x02140134 value: 0x00000001 Read at address 0x02140138 value: 0x00000000 Read at address 0x0214013C value: 0x00000013 Read at address 0x0214017C value: 0x00141313 Read at address 0x02140180 value: 0x00000000 Read at address 0x021401A0 value: 0x00000000 MCSPI_IRQSTATUS Register(0x02140118) value 0x0001000E. + +Hi gj y, On which R5F core are you trying to enable interrupt for McSPI4 instance? This macro is for main2mcu domain interrupt router.. Regards, Brijesh + +Hi.Brijesh main domain mcu2-1 core to enable interrupt for McSPI4 #define CSLR_R5FSS1_INTROUTER0_IN_MCSPI4_INTR_SPI_0 (197U) Mcspi 4 can't send and receive data. + +Hi gj y, I am bit confused here. Are you trying to access mcspi4 from Linux (A72) or RTOS(R5F)? I think Linux does not support mcspi in slave mode, so suggestion was to use R5F ie PDK based RTOS driver for mcspi4. Regards, Brijesh + diff --git a/sample_embedding_folder2/1078099.txt b/sample_embedding_folder2/1078099.txt new file mode 100644 index 0000000000000000000000000000000000000000..27794e40204f34917f2cb5921bef837d50c8aa7a --- /dev/null +++ b/sample_embedding_folder2/1078099.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2P-ABZ: How to run neural networks on this board + +Query Text: +Part Number: TDA2P-ABZ Other Parts Discussed in Thread: TDA2 Hi, I developed a couple of neural network and I would like to run them on this board. At first I would like to run an example model with and without EVE support. I have downloaded and installed the SDK from here: https://software-dl.ti.com/processor-sdk-vision/esd/TDAx/vision-sdk/latest/index_FDS.html But I cant any real guide on how to move forward. I understand I have to use TIDL (which to my understanding is deprecated now so maybe edge Ai?). Is there a step by guide to running models on the this platform? Thanks. + +Responses: +Hi, You can refer to user guide mentioned in the Docs folder for the build and run steps. Also, refer to these VSDK training videos to get more details on the sdk, I would recommend to go over these videos first to get overall idea before start building the SDK, https://training.ti.com/introduction-processor-sdk-vision Thanks, Praveen + +Can you please refer me to a guide to how I can convert my own models so that I will be able to run them on the TDA2 EVE? + +Hi Arik, Please refer to section "3.6 Running a Model trained by user" in the TIDL user guide (TIDeepLearningLibrary_UserGuide.pdf located in ti_dl\docs folder) for more details. Thanks, Praveen + diff --git a/sample_embedding_folder2/1078426.txt b/sample_embedding_folder2/1078426.txt new file mode 100644 index 0000000000000000000000000000000000000000..ec20dc89fead45965da64ba2c93a950d6ae0830b --- /dev/null +++ b/sample_embedding_folder2/1078426.txt @@ -0,0 +1,10 @@ +Ticket Name: CCSTUDIO: How to have the dip switch sys-boot configured for debug mode for TDA2? + +Query Text: +Part Number: CCSTUDIO Hi Expert, https://e2e.ti.com/support/processors-group/processors/f/processors-forum/701991/ccs-tda2-ccs-7-4-tda2x-evm-jtag-connection-issue Alex say: In addition to the above suggestion, make sure you have the dip switch sys-boot configured for debug mode. See e2e.ti.com/.../2557345 but the Page Not Found. Could you help me to make sure I have the dip switch sys-boot configured for debug mode? Thanks Daniel + +Responses: +Hi Expert, Could you help me to set the dip switch sys-boot configured for debug mod? Thanks Daniel + +It is documented in Vision SDK User guide. You can download Vision SDK package https://www.ti.com/tool/PROCESSOR-SDK-TDAX. Or, you can just download the document from the above link. + diff --git a/sample_embedding_folder2/1078762.txt b/sample_embedding_folder2/1078762.txt new file mode 100644 index 0000000000000000000000000000000000000000..79d4bd9e40eb81e9c8da8e039795b066ff960618 --- /dev/null +++ b/sample_embedding_folder2/1078762.txt @@ -0,0 +1,10 @@ +Ticket Name: DRA76P: can ti RTOS support cache flush for a certain address for tda2/dra76x + +Query Text: +Part Number: DRA76P Other Parts Discussed in Thread: TDA2 customer have video processing issues on DRA762/TDA2, when use VPE to process video data, vide data in buffer will be cached, after using hardware accelerate feature,parts of data in the cache is not flushed to data buffer, question: 1. is there any API in PDK to flush data cache by manual, when there has new data update in cache, flush it to data buffer by manual 2. if vide data in data buffer is cached, VPE enable HW acceleration function, is it possible that data update in CACHE not flush to DDR? if yes, is there any method to avoid Thanks + +Responses: +this is customer issue, please help check it and give solution, thanks + +Hi Semon, VPE doesn’t have cache. Data is moved to DDR via VPDMA. TI-RTOS provide APIs for cache operations on M4 or C66x DSP. Regards, Stanley + diff --git a/sample_embedding_folder2/1078894.txt b/sample_embedding_folder2/1078894.txt new file mode 100644 index 0000000000000000000000000000000000000000..44c14774f7e9a581568df1e71f09a4bad7e955e9 --- /dev/null +++ b/sample_embedding_folder2/1078894.txt @@ -0,0 +1,6 @@ +Ticket Name: TDA2SX: automatically inserts VLAN tags when sending Ethernet packets + +Query Text: +Part Number: TDA2SX Hi TI experts, I still have a problem with VLAN tags from related question. Have you any ideas? Best Regards, Dmitry + +Responses: diff --git a/sample_embedding_folder2/1079861.txt b/sample_embedding_folder2/1079861.txt new file mode 100644 index 0000000000000000000000000000000000000000..18f4132ca4ca18c8b4f443bca9c642f34f6687c8 --- /dev/null +++ b/sample_embedding_folder2/1079861.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2PXEVM: TDA2PXEVM: TIDL Host hmulation build + +Query Text: +Part Number: TDA2PXEVM Other Parts Discussed in Thread: TDA2 Hello According to the TIDL guide $ make CORE=eve TARGET_PLAT FORM=PC TARGET_BUILD=release was conducted on the $TIDL_INSTALL_PATH/ti_dl during work, but the following error phrase was found. g++: error: ../../ti_dl/lib/PC/eve/release/tidl_algo.lib: No such file or directory /home/slgpu2/Mywork/TI/tda2/ti_components/algorithms/REL.TIDL.01.02.00.00/makerules/rules.mk:599: recipe for target 'outfile' failed When I looked up the official answer related to this in the TI support forums, there were the following answers. Source release of TIDL is available as standalone release via CDDS. Please work with your local TI representative to get access to the same. "First you need to sign NDA document with your TI representative and then he will create the CDDS account." How can I get a PC-related tidl_algo.lib? + +Responses: +Hi, TIDL host emulation build libraries are not available publicly, so you need have a NDA with TI to get access to them, so please check with local TI FAE for more details. Thanks, Praveen + diff --git a/sample_embedding_folder2/1080139.txt b/sample_embedding_folder2/1080139.txt new file mode 100644 index 0000000000000000000000000000000000000000..81eca0a3c77fea9f8b8067d9cd39008c7e1f0087 --- /dev/null +++ b/sample_embedding_folder2/1080139.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2E: TDA2 modify memory map + +Query Text: +Part Number: TDA2E Dear experts, As they DSP&EVE core not used, so our customer want modify TDA2E memory map to increase A15 DDR space, but it failed. could you please help solve this problem? they have proposed a ticket on E2E show as blew:TDA2E: 【TDA2XX】Remove DSP and EVE to increase A15 Linux memory space - Processors forum - Processors - TI E2E support forums + +Responses: +Please refer to below application note for memory map customization. ~/vision_sdk/docs/FeatureSpecificUserGuides/VisionSDK_UserGuide_MemoryMap.pdf + diff --git a/sample_embedding_folder2/1080720.txt b/sample_embedding_folder2/1080720.txt new file mode 100644 index 0000000000000000000000000000000000000000..d2bfca8e9457eeb318a26a99a1bfaf6b6be70732 --- /dev/null +++ b/sample_embedding_folder2/1080720.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2SX: eMMC replacement + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi Team, In customer SOP project uses TDA2SXBTQABCRQ1 Due to the current shortage of eMMC, customer would like to replace the eMMC model to: Samsung KLMBG4GEUF-B04Q Need to confirm with you, does TDA2 support this series of eMMC models? Is there a driver or something that needs to be matched? Is there a list of eMMCs supported by TDA2 that can be provided to customer? + +Responses: +Hi Ti Team, could you please help confirm the question? thanks. + +Hi, Any emmc part compliant with JEDEC 4.5 spec should work without any change. Regards, Vishal + diff --git a/sample_embedding_folder2/1081052.txt b/sample_embedding_folder2/1081052.txt new file mode 100644 index 0000000000000000000000000000000000000000..f46a0b357ce9149c0ff2dbcb6a0b59d3daa2d81a --- /dev/null +++ b/sample_embedding_folder2/1081052.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2SX: Does the configuration of DDR in the MLO file prevent entry to BOOT? + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi team, Here's an issue from the customer may need your help: Log info of the TDA2S DEMO board: DRAM: 4 GiB. And the self-made reference board is only 2GB. The customer suspect this will cause the system to enter a dead loop after BOOT is up, and DDR on the DEMO board to EMIF1 also does not work. Is this possible? Modify the configuration of DDR in the TDA2 MLO file to be configured as one EMIF interface. How to modify the MLO? Source code: PROCESSOR-SDK-VISION_03.07.01.00 | TI.com Could you help check this case? Thanks. Best Regards, Cherry + +Responses: +Hi, May I know is there any update? Thanks, Cherry + +Hi Cherry, Is your customer booting Linux or RTOS on A15? If Linux, they have to modify SPL/u-boot to update the DDR config. If RTOS, they have to update DDR config in SBL. Please refer to EMIF config tool. https://www.ti.com/lit/pdf/sprac36 Regards, Stanley + diff --git a/sample_embedding_folder2/1084107.txt b/sample_embedding_folder2/1084107.txt new file mode 100644 index 0000000000000000000000000000000000000000..f16477c0490aae2dc56c685a7341335a4f65cd08 --- /dev/null +++ b/sample_embedding_folder2/1084107.txt @@ -0,0 +1,25 @@ +Ticket Name: TDA2EXEVM: Enable Only 2AWRs on Cascade Board + +Query Text: +Part Number: TDA2EXEVM Other Parts Discussed in Thread: TDA2 Hi E2e Support Team, We would like to use the TDA2 Cascade Board with 3.08 Radar SDK and enable only 2AWR to chirp and collect data in return. We understand this is more tricky to do than it looks. In an effort to try to understand a bit further how the SDK supports in Cascade board, I have the following questions: 1. If we only desire to enable 2AWRs out of 4 (ie: Master and Slave2), what needs to be done in AWR config Bsp_Ar12xxConfigObj? 2. Will there be changes required in configuring the 4 onboard FPGA (ie: in ChainsCommon_fpgaPowerUp() and ChainsCommon_fpgaStart())? 3. Currently when all 4AWRs are enable each with 4RX channels, there is a total of 16RX channel data feeding the 4EVEs for Range and Doppler FFT processing. If only 2 AWRs are enabled, there will essentially be only 8 RX channels going into the 4EVEs, how are the 8 channels divided amongst the 4EVEs? My guess is that only EVE1 and EVE2 will be actively processing the ADC data while EVE3 and EVE4 will be idled. 4. If only 2AWRs are enabled, will the links in a processing chain be required to be changed? Would it be smart enough to pick that up and automatically scale based on the number of available RX channels? Thank You, + +Responses: +We have provision to allow use case to define how many radars are used. /** + * \brief Structure which holds the AR12xx configuration parameters. + */ +typedef struct { + + UInt32 numRadars; + /**< Number of Radars being connected */ + ChainsCommon_RadarParams radarParams[CHAINS_MAX_NUM_RADARS]; + /**< Parameters per Radar */ + UInt32 frameType; + /**< 0 - Normal Frame, 1 - Advanced Frame */ + UInt32 fusionEnabled; + /**< Flag to show if Fusion is enabled or not */ + UInt32 enableTestSource; + /**< Flag to enable synthetic input from Radar */ +} ChainsCommon_Ar12xxConfigOut; However, we have only validated the full cascade radar processing chain with 4 radars configuration. + +Hi Stanley, I know there is such a data structure to tell the AWR how many Radars we would like to use. Would you please spend a few minutes understanding the 4 questions I outlined above and give some feedback to each. Thanks, --Khai + diff --git a/sample_embedding_folder2/1085371.txt b/sample_embedding_folder2/1085371.txt new file mode 100644 index 0000000000000000000000000000000000000000..a6ebf3cf63f869d88f9d55a51c7d2be9c7603fa7 --- /dev/null +++ b/sample_embedding_folder2/1085371.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2E: What is maximum Image sensor resolution and frame rate + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2 Hi Sir, What is the maximum image sensor resolution and frame rate that TDA2E can receive, This project may use MIPI 2-lane or DVP interface, image data format is RAW data, Sensor frame rate is 30fps. Is TDA2X able to receive RAW data of image resolution 8M or higher? Thanks. Ranny. + +Responses: +Hi Ranny, TDA2 plus may support up to 1.5Gbps per lane, but ISP can only support image width up to 2816 pixels. Please refer to TDA2 TRM for more details. + +Hi Gang Hua, I got, thanks. Ranny. + diff --git a/sample_embedding_folder2/1088946.txt b/sample_embedding_folder2/1088946.txt new file mode 100644 index 0000000000000000000000000000000000000000..c8c437df87a402d09c375550cfee6715b7500e90 --- /dev/null +++ b/sample_embedding_folder2/1088946.txt @@ -0,0 +1,6 @@ +Ticket Name: TDA2SA: ISO21434 Compliance with TDA2 family + +Query Text: +Part Number: TDA2SA Hi, could you share me the TDA2x documents about Security(SPRUHS7) and Cryptographic(SPRUHS8) addendums? we need to modify design to compliance with ISO21434, Thanks + +Responses: diff --git a/sample_embedding_folder2/1089342.txt b/sample_embedding_folder2/1089342.txt new file mode 100644 index 0000000000000000000000000000000000000000..f36d2eb5a5efe851564f279dd4cc975ef84b797f --- /dev/null +++ b/sample_embedding_folder2/1089342.txt @@ -0,0 +1,6 @@ +Ticket Name: TDA2EG-17: VSDK V03.08 has year 2038 issue for HLOS + +Query Text: +Part Number: TDA2EG-17 Other Parts Discussed in Thread: TDA2 This thread is related follow thread (https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1071329/am3356-year-2038-problem-for-processor-linux-sdk-v7-03?tisearch=e2e-sitesearch&keymatch=rtc%202038#) Hello, We're using VSDK (v03.07/03.08) for TDA2/TDA2EG17, but the Linux kernel seems to have the same year's issue with the AM35xx SDK, Our product is a mirror with DVR feature, but the Linux date system only seems to support the past 2038 years date. Is there any patch from TI to fix this issue? Will the same problem happen with the next-gen SDK(TDA4)? + +Responses: diff --git a/sample_embedding_folder2/1092379.txt b/sample_embedding_folder2/1092379.txt new file mode 100644 index 0000000000000000000000000000000000000000..e6d3a5a74ad47d409df498963ebad8be8c724842 --- /dev/null +++ b/sample_embedding_folder2/1092379.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA4VM-Q1: TIDL/Host Emulation performance is poor, how to improve? + +Query Text: +Part Number: TDA4VM-Q1 Other Parts Discussed in Thread: TDA2, TDA4VM Hi, We have similar issue with https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1092091/tda4vm-psdk-rtos-j721e-tidl-inference-host-emulation-execution-time We're using SDK 7.3 but I think it's a common issue no matter which SDK is using now. Now we're running multiple images at the same time on top of multi-core CPU to accelerate but it consumes a lot of computing resources. Please help to clarify whether there are other ways to speed up host emulation. Previously in TDA2, tidl provided a special nature C operation model. This mode provides better host emulation. Customer can also get the same results as on the board. Any similar approach on TDA4VM? Thank you. + +Responses: +Hi, James Austrial said: We have similar issue with https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1092091/tda4vm-psdk-rtos-j721e-tidl-inference-host-emulation-execution-time The solution is same as what is mentioned in the above thread. Regards, Anshu + diff --git a/sample_embedding_folder2/1093599.txt b/sample_embedding_folder2/1093599.txt new file mode 100644 index 0000000000000000000000000000000000000000..0d2dc2d23b478addd9e42487e123f8de9940a033 --- /dev/null +++ b/sample_embedding_folder2/1093599.txt @@ -0,0 +1,6 @@ +Ticket Name: TDA2XX : radar usecase.sample width=512,doppler point =512,2tx enable + +Query Text: +Other Parts Discussed in Thread: TDA2 (1)Hi expert: vision SDK 3.8,four awr1243 + TDA2 CHAINS_CASCADE_BF_RADAR_PROFILE1_RADAR_WIDTH ( 511U ) :.sample width CHAINS_CASCADE_BF_RADAR_RADAR_HEIGHT (512 U ) doppler point =512 2tx enable: TDM-MIMO EVE can work,but DSP core can't get linkipc data. could you help me with my problem? + +Responses: diff --git a/sample_embedding_folder2/1095689.txt b/sample_embedding_folder2/1095689.txt new file mode 100644 index 0000000000000000000000000000000000000000..47a52a95f9e67adede645117f6f3708d9c79cfef --- /dev/null +++ b/sample_embedding_folder2/1095689.txt @@ -0,0 +1,18 @@ +Ticket Name: TDA4VM: Is there a kernel that can mix two images? + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 Hi TI, I want to draw an icon on an image. I use DrawIcon link to achieve this on tda2 platform. So Is there an kernel like DrawIcon on tda4? Regards, Damon. + +Responses: +Additionnal: I mean using CPU to do pixel-blending not GPU + +Hi Damon, Do you mean to blend two images? I think there is no existing kernel, but you could use DSS, two input pipelines and overlay manager could be used to overlay/blend two images and send it out to the display. Regards, Brijesh + +Hi Brijesh, Thank you and yes, I want to blend two images.If so, I will try to add an userkernel to do this job.Using DSS may not be the right choice as it will take up two channels and can't send the output image to other node. Regards, Damon + +Thanks Damon, closing this ticket. + +Could you please take a look at my other question? https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1096110/tda4vm-how-can-i-add-a-new-kernel-running-on-r5f + +Sure, lets continue our discussion on the other ticket. + diff --git a/sample_embedding_folder2/1096683.txt b/sample_embedding_folder2/1096683.txt new file mode 100644 index 0000000000000000000000000000000000000000..c4f2b53e0722c9882f496e25f88ab245ab42b65a --- /dev/null +++ b/sample_embedding_folder2/1096683.txt @@ -0,0 +1,53 @@ +Ticket Name: TDA2SA: HDMI output to 1280x320 resolution LCD panel + +Query Text: +Part Number: TDA2SA Other Parts Discussed in Thread: TDA2, TFP410, TFP401 Hi, I use my tda2xx custom board running vsdk3.07. Refer to the thread https://e2e.ti.com/support/processors-group/processors/f/processors-forum/726664/rtos-dra71-how-to-config-the-hdmi-resolution-1920-720 I have tested my HDMI output to 1920x720 panel, it display well. Now, I get a 1280x320 hdmi panel and want to use on my tda2 board. The panel module component is TFP401AP+LVDS83B+LCD, so i use hdmi cable connect it. After set the related clock,hsync,vsync, the panel display nothing but flickering. I afraid the parameters is wrong, I also validate the panel on the D3 tda3 rvp platform. On tda3 hdmi output, it can display. I know tda2 use the inside HDMI module and tda3 rvp use TFP410 output. Could you help me where might be wrong on tda2 board ? Thanks. Terry + +Responses: +Hi Terry, Can you please make sure that timing parameter, sync polarity and pixel clock are matching as per the LCD's requirement? Yes, TDA2x has internal HDMI and since this is custom resolution, there isn't much change required.. If you don't start VENC, do you see anything on the LCD? Regards, Brijesh + +Hi Brijesh, The settings are follow the LCD doc, I will check the signal later. Can you figure out where I can disable VENC if I use rtos or linux ? Terry + +Hi Terry, VENC will be enabled on calling DISPLAYCTRL_LINK_CMD_SET_CONFIG control command in vision_sdk/apps/src/rtos/usecases/common/chains_common.c file. Regards, Brijesh + +Hi Brijesh, 1. When I check the timing on TFP401, there is no hsync output, but pixel clock and vsync have. here is my setting in rtos: else if(displayType == CHAINS_DISPLAY_TYPE_HDMI_1280x320) + { + pPrm->deviceId = DISPLAYCTRL_LINK_USE_HDMI; + pVInfo->vencId = SYSTEM_DCTRL_DSS_VENC_HDMI; + pVInfo->outputPort = SYSTEM_DCTRL_DSS_HDMI_OUTPUT; + pVInfo->vencOutputInfo.vsPolarity = SYSTEM_DCTRL_POLARITY_ACT_HIGH; + pVInfo->vencOutputInfo.hsPolarity = SYSTEM_DCTRL_POLARITY_ACT_HIGH; + + /* Below are of dont care for EVM LCD */ + pVInfo->vencOutputInfo.fidPolarity = SYSTEM_DCTRL_POLARITY_ACT_LOW; + pVInfo->vencOutputInfo.actVidPolarity = SYSTEM_DCTRL_POLARITY_ACT_HIGH; + + pVInfo->vencOutputInfo.dataFormat = SYSTEM_DF_RGB24_888; + pVInfo->vencOutputInfo.dvoFormat = + SYSTEM_DCTRL_DVOFMT_GENERIC_DISCSYNC; + pVInfo->vencOutputInfo.videoIfWidth = SYSTEM_VIFW_24BIT; + + pVInfo->vencOutputInfo.pixelClkPolarity = SYSTEM_DCTRL_POLARITY_ACT_HIGH; + pVInfo->vencOutputInfo.aFmt = SYSTEM_DCTRL_A_OUTPUT_MAX; + + /* Configure overlay params */ + ovlyPrms->vencId = SYSTEM_DCTRL_DSS_VENC_HDMI; + + pVInfo->mInfo.standard = SYSTEM_STD_CUSTOM; + pVInfo->mInfo.width = 1280; + pVInfo->mInfo.height = 320; + pVInfo->mInfo.scanFormat = SYSTEM_SF_PROGRESSIVE; + pVInfo->mInfo.fps = 60U; + pVInfo->mInfo.pixelClock = 31000U; + pVInfo->mInfo.hFrontPorch = 72U; + pVInfo->mInfo.hBackPorch = 87U; + pVInfo->mInfo.hSyncLen = 1U; + pVInfo->mInfo.vBackPorch = 22U; + pVInfo->mInfo.vFrontPorch = 15U; + pVInfo->mInfo.vSyncLen = 1U; + pVInfo->vencDivisorInfo.divisorLCD = 1; + pVInfo->vencDivisorInfo.divisorPCD = 1; + } 2. if I disable DISPLAYCTRL_LINK_CMD_SET_CONFIG in chains_common.c like this, // status = System_linkControl(gChains_commonObj.displayCtrlLinkId, // DISPLAYCTRL_LINK_CMD_SET_CONFIG, // &gChains_commonObj.dctrlCfgPrms, // sizeof(DisplayCtrlLink_ConfigParams), // TRUE); // UTILS_assert(status == SYSTEM_LINK_STATUS_SOK); program will stop. [IPU1-0] 82.322454 s: dispcore/src/vpscore_dss.c @ Line 476: [IPU1-0] 82.322576 s: Display Controller registration failed for dss core instance 0 [IPU1-0] 82.322729 s: dispdrv/src/vpsdrv_displayCore.c @ Line 411: [IPU1-0] 82.322820 s: Dss core open failed!! [IPU1-0] 82.322881 s: dispdrv/src/vpsdrv_displayApi.c @ Line 348: [IPU1-0] 82.322973 s: Core open failed!! [IPU1-0] 82.323034 s: Assertion @ Line: 386 in displayLink_drv.c: pObj->displayHndl != NULL : failed !!! [IPU1-0] 82.323491 s: Assertion @ Line: 386 in displayLink_drv.c: pObj->displayHndl != NULL : failed !!! Regards, Terry + +Hi Terry, Can you please update latest status on this thread? Please note HSync and VSync will only be enabled if VENC is running, ie calling DISPLAYCTRL_LINK_CMD_SET_CONFIG ioctl.. If we dont call this ioctl, we will not see HSync and Vsync toggling. Also we should not run the usecase in this case, because if VENC is not running, we cannot start the video pipeline.. Regards, Brijesh + diff --git a/sample_embedding_folder2/1096998.txt b/sample_embedding_folder2/1096998.txt new file mode 100644 index 0000000000000000000000000000000000000000..75cfe9bc19fcae62815842bfe2743e8b0e3718ce --- /dev/null +++ b/sample_embedding_folder2/1096998.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA4VM: Is there any solution for early boot? + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 Is there any solution for early boot? I'm checking up TDA4VM PSDKRA and PSDKLA. I want the same as early boot solution in VISION SDK of TDA2. The below functions are that I applied in TDA2. 1. Receive video from camera. 2. Make and display surround view. 3. Start H.264 encoding and store the encoded data in DRAM during booting. 4. Run QT after booting linux and display QT gui using DispDistSrc link. The functions 1, 2 and 3 are executed in 4 or 5 seconds. Of course, these are executed in IPU before booting linux. If there are solution, patch, or guide for above functions, let me know that. Best Regards, Yousik Kim. + +Responses: +Hi Yousik Kim, 1 and 2 should be possible in less than 4 to 5 seconds. Let me check and get back to you on this. Regards, Brijesh + +Hi Yousik Kim, 3 and 4 seems to be tough to achieve, since these features require Linux to be up.. Regards, Brijesh + +Hi Brijesh, Thank you for your reply. I understood about 3 and 4. I want to apply even 1 and 2. But currently in SDK, it is possible after booting linux. I think below contents are needed. 1. mcu2_0 must be OpenVX host and has to manage shared memory before booting linux. 2. OpenVX host must be changed from mcu2_0 to mpu and mpu has to manage shared memory after booting linux. Could you provide the guide to apply that? + +Hi, I think you dont really require to move OpenVX Host to R5F. If you use 1, SBL to boot Linux 2, use OSPI boot mode 3, use eMMC for filesystem storage. 4, Remove/disable unnecessary modules 5, Limit logging in Linux You should be able to achieve first frame to display in 4 seconds. I will let my colleague Keerthy J to provide more information on this. Regards, Brijesh + diff --git a/sample_embedding_folder2/1097491.txt b/sample_embedding_folder2/1097491.txt new file mode 100644 index 0000000000000000000000000000000000000000..d8fbf4a19cf92a31016809272fde9cff4a6d3a6d --- /dev/null +++ b/sample_embedding_folder2/1097491.txt @@ -0,0 +1,22 @@ +Ticket Name: TDA3MD: TIDL import tool failed + +Query Text: +Part Number: TDA3MD Other Parts Discussed in Thread: TDA2 VSDK version: 3.8 TIDL version: 01.02 Hello! I'm trying to import a simple ONNX model and I'm running into the following problem: =============================== TIDL import - parsing =============================== ONNX Model (Proto) File: test_import/conv1_3chanel_pth.onnx TIDL Network File : test_import/conv1_model.bin TIDL Params File : test_import/tidl_io_conv1_model_.bin Num of Layer Detected : 2 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Num|TIDL Layer Name |Out Data Name |Group |#Ins |#Outs |Inbuf Ids |Outbuf Id |In NCHW |Out NCHW |MACS | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 0|TIDL_DataLayer |input.1 | 0| -1| 1| x x x x x x x x | 0 | 0 0 0 0 | 1 3 128 64 | 0 | 1|TIDL_ConvolutionLayer |4 | 1| 1| 1| 0 x x x x x x x | 1 | 1 3 128 64 | 1 32 126 62 | 6999552 | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total Giga Macs : 0.0070 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- =============================== TIDL import - calibration =============================== Processing config file .\tempDir\qunat_stats_config.txt ! Running TIDL simulation for calibration. Could Not Open Files .\tempDir\temp_net.bin Processing Frame Number : 0 Max values is -128 at index 0, width = 0, height = 0 Could Not Open Files .\tempDir\temp_net.bin End of config list found ! The temp_net.bin file is simply missing and it is not clear how to get it. My import cfg.txt: modelType = 2 numParamBits = 12 quantizationStyle = 0 inputNetFile = "test_import/conv1_3chanel_pth.onnx" outputNetFile = "test_import/conv1_model.bin" outputParamsFile = "test_import/tidl_io_conv1_model_.bin" inDataNorm = 1 inMean = 128 inScale = 0.0078125 inWidth = 64 inHeight = 128 inNumChannels = 3 sampleInData = "test_import/test_img.jpg" tidlStatsTool = "C:/PROCESSOR_SDK_VISION_03_08_00_00/ti_components/algorithms/REL.TIDL.01.02.00.00/modules/ti_dl/utils/quantStatsTool/eve_test_dl_algo.out.exe" postProcType = 0 + +Responses: +Hi, Could you please let me know how you are importing the model ? I mean steps/commands used for importing ? Thanks, Praveen + +Hi, I run on command line: tidl_model_import.out.exe cfg.txt it says so in your UserGuide. Also i tried to Build TIDL reference executable using the command: make TARGET_PLATFORM=PC TARGET_BUILD=release CORE=eve RUN_REF_FOR_STATS=1 all and this is what i get: C:\PROCESSOR_SDK_VISION_03_08_00_00\ti_components\algorithms\REL.TIDL.01.02.00.00\modules\ti_dl>make TARGET_PLATFORM=PC TARGET_BUILD=release CORE=eve RUN_REF_FOR_STATS=1 all . ======== tidl ALGO ================= gmake -C ./algo -f makefile process_begin: CreateProcess(NULL, gmake -C ./algo -f makefile, ...) failed. make (e=2): The specified file cannot be found. + +Hi, It looks like "tempDir" is created while importing, could you please use "importTestCases.bat" to for importing and check if it works. Regarding building TIDL reference executable, you no need to build it and you can use the executable from the release, and also you will not able to build as the TIDL source code build is not available publicly. Thanks, Praveen + +"importTestCases.bat" creates directories including "tempDir". But "tempDir" is empty, and the rest is a text file, where the following is written Couldn't open inputNetFile file: ..\..\test\testvecs\config\caffe_models\dense_examples\ti_dl_dense_1x1.prototxt + +Would it be possible for you to share details on your Project and requirements? Wanted to make sure, your target application can be supported on TDA3x or will it be better to try TDA4x devices If it helps, can you consider trying your model with our TDA4x based tools available here https://github.com/TexasInstruments/edgeai-tidl-tools + +Hi Kymar! We were inspired by the «TDA3x SoC processor delivers cost effective ADAS solutions» and decided to create an ADAS system based on TDA3. The neural network component is supposed to be used for a small part of the image. In terms of technical characteristics, TDA3 completely satisfies us and we wouldn’t want to use TDA4, which has larger sizes and power consumption. However, the TDA4 impressed us with its performance. Is it worth waiting for a smaller version of TDA4 in the near future, like TDA3 became a smaller version of TDA2 before that? + +We do have parts from TI sitara processor family AM62 with Analytics capability ( recently launched) and we do have road-map to provide parts with higher analytics capability available this year with dedicated accelerators for ML and request to get in touch with Field for more details www.ti.com/.../SK-AM62 + +Thanks for the info, we'll look into this later. But at the moment we would like to embed a neural network on TDA3, it is ideal for our task. Based on the material "Deep Learning Inference For Embedded Applications Reference Design" one DSP and one EVE suits us completely. However, when trying to embed a neural network, we ran into a problem. To check the conversion of the ONNX model to the TIDL format, a simple model was created with one convolutional layer and a non-linear ReLU activation function. After running the conversion script, we got an error about missing files: Processing config file .\tempDir\qunat_stats_config.txt ! Running TIDL simulation for calibration. Could Not Open Files .\tempDir\temp_net.bin Processing Frame Number : 0 Max values is -128 at index 0, width = 0, height = 0 Could Not Open Files .\tempDir\temp_net.bin End of config list found ! The temp_net.bin file is simply missing and it is not clear how to get it. Our actions are described in more detail in previous messages. On your advice, we used "importTestCases.bat" to check the creation of the TempDir directory, in which the files necessary for the conversion should be generated. However, after running "importTestCases.bat", an empty TempDir directory is created. Can you please tell me how to solve the problem with converting the model for TIDL? + diff --git a/sample_embedding_folder2/1097878.txt b/sample_embedding_folder2/1097878.txt new file mode 100644 index 0000000000000000000000000000000000000000..2a29346e2fe15345db3ef3eb6fedff17d2b1d8be --- /dev/null +++ b/sample_embedding_folder2/1097878.txt @@ -0,0 +1,6 @@ +Ticket Name: TDA2SX: is it suitable to port/migrate the application to TDA4VM? + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2, TDA4VM, SK-TDA4VM Hi, we are working with cascade imagine radar apps and use cases in the MMWCAS-DSP (TDA2) + MMWCAS-RF and I would like to know how difficult could be the migration from my solution to a TDA4VM (SK-TDA4VM), does exist any critical risk, compatibility or requirement (hardware, software, architecture, etc) that I should take into account? Thanks + +Responses: diff --git a/sample_embedding_folder2/1100801.txt b/sample_embedding_folder2/1100801.txt new file mode 100644 index 0000000000000000000000000000000000000000..d0d75809d4375f150fdb5e9cf2a3815d7a14ab79 --- /dev/null +++ b/sample_embedding_folder2/1100801.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2SX: L3 RAM issue + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi team, "Up to 2.5MB of on-chip L3 RAM" via TDA2 Datasheet", the customer would like to know where can they configure or check the "L3 RAM" part? Could you help check this case? Thanks. Best Regards, Cherry + +Responses: +Cherry, The TDA2 data manual Device Comparison table shows that all of the standard variants of TDA2 include 2.5 MB: The TRM Memory Map shows where those RAMs are located: Regards, Kyle + +Hi Kyle, Thanks for your help. Is there any specific example or a modified case for reference? Thanks and regards, Cherry + +The SDK will use this memory. Or, you can use CCS to view this memory directly. Regards, Kyle + diff --git a/sample_embedding_folder2/1100976.txt b/sample_embedding_folder2/1100976.txt new file mode 100644 index 0000000000000000000000000000000000000000..5c9efd47c6b538e556ab8776c5879183b6e780eb --- /dev/null +++ b/sample_embedding_folder2/1100976.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA4VM: Is there response time data for TDA4? + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2, Hi Expert, My customer concern the delay time very much, especially they experience long delay time of TDA2. Any delay time performance of TDA4 and AM62A that can show to my customer ? Thanks Daniel + +Responses: +Hello Daniel, Can you explain which delay time performance you are referencing? Is there a particular module such as memory (e.g. DDR) or perhaps CPU performance numbers? So we can find the right person to reply. Regards, Erick + +Hello Erick, i'm the customer Daniel mentioned, we used 2 camera to detect object, such as car, person, bike, our usecase was changed from tidl_od, each ssd model(0.64GMACS) run on 2 EVEs, we used tda2sxbu with plus mode, ddr was configured as DDR3-1066 ,2 EMIF(256M+256M+256M+256M) , the fps of alg_tidl_dsp link was 24~25 the system average delay time we calculated was about 0.15s so when bike speed up to 10km/hr, the detection results rectangle will be behind the bike, now we want to know if we porting the whole usecase to tda4VM or AM62A, Will it still be the same situation? It means that the application of AI model detection, how much the basic delay time? BR, Jay + +TDA 2x supported less than 0.25 TOPS only, The TDA4VM supports 8 TOPS, so the latency would be much better in these devices compared to TDA2x + diff --git a/sample_embedding_folder2/1101231.txt b/sample_embedding_folder2/1101231.txt new file mode 100644 index 0000000000000000000000000000000000000000..64b645a771abfb956869697ae548e8d3ca7bd99c --- /dev/null +++ b/sample_embedding_folder2/1101231.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2E: Searching TI solution + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2, TVP5147 Hi Team There is good new that we could DIN our device! RD need CVBS Decoder for TDA2! Is there NTSC(VGA) Video Signal [CVBS+, CVBS-] to BT656(8Bits) [D0~D7, PCLK, Hsync, Vsync], and adopt the Video conversion IC that I2C issues the control command? (The input of TDA2 is the requirement of CVBS Decoder, the mode of CVBS to BT656 (8Bits).) + +Responses: +Hi, Yes, you could check TVP5147 device. It supports CVBS input for NTSC/PAL signals and can convert into 8bit BT656 signal, which can be received by TDA2x. Regards, Brijesh + diff --git a/sample_embedding_folder2/1101928.txt b/sample_embedding_folder2/1101928.txt new file mode 100644 index 0000000000000000000000000000000000000000..e3b4f7d959b6abd62bc7a830eb90cef7d62ee394 --- /dev/null +++ b/sample_embedding_folder2/1101928.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2HG: tda2 rtos i2c enable issue + +Query Text: +Part Number: TDA2HG Other Parts Discussed in Thread: TDA2 Hi team, Here's an issue from the customer may need your help: Regarding TDA2 M4 I2C, bsp_device.c / bsp_deviceI2c.c / bsp_boardTda2xx.c has been modified. The interrupt is in the system_bsp_init.c file according to the chip manual. The customer tries to enable 12C2 on rtos, and the problem is as follows: [HOST] [IPU1-0] 4.918440 s: [HOST] [IPU1-0] 4.918471 s: ### XDC ASSERT - ERROR CALLBACK START ### [HOST] [IPU1-0] 4.918562 s: [HOST] [IPU1-0] 4.918684 s: E_notFound: i2c2 name not found [HOST] [IPU1-0] 4.918745 s: [HOST] [IPU1-0] 4.918776 s: ### XDC ASSERT - ERROR CALLBACK END ### SDK: 03.08.00. PDK: pdk_01_10_04_05. Under the bsp_boardTda2xx.c file, modify as follows: static Bsp_BoardI2cData gBoardTda2xxI2cData = { /* numI2c */ (sizeof (gBoardTda2xxI2cInstData) / sizeof (Bsp_BoardI2cInstData)), /* i2cData */ gBoardTda2xxI2cInstData, /* probeInstId */ #if defined (SOC_TDA2PX) BSP_DEVICE_I2C_INST_ID_4, #else BSP_DEVICE_I2C_INST_ID_2, #endif }; Changing BSP_DEVICE_I2C_INST_ID_1 into BSP_DEVICE_I2C_INST_ID_2 Interrupt configuration: system_bsp_init.c is modified as follows: * XBAR I2C5_IRQ to IPU1_42 - I2C5_IRQ (55 or 0x37) */ BspOsal_irqXbarConnect(XBAR_INST_IPU1_IRQ_41, 51); BspOsal_irqXbarConnect(XBAR_INST_IPU1_IRQ_42, 52); BspOsal_irqXbarConnect(XBAR_INST_IPU1_IRQ_42, 55); #endif /* XBAR I2C4_IRQ (57) to IPU1_48 */ Added BspOsal_irqXbarConnect(XBAR_INST_IPU1_IRQ_42, 52); Could you help check this case? Thanks. Best Regards, Cherry + +Responses: +Hi, May I know is there any update? Thanks and regards, Cherry + diff --git a/sample_embedding_folder2/1102674.txt b/sample_embedding_folder2/1102674.txt new file mode 100644 index 0000000000000000000000000000000000000000..e47525ba7fbda8401b134f9d79bc3c8411fa26eb --- /dev/null +++ b/sample_embedding_folder2/1102674.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA4VM: Vision apps license terms + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 Dear TI user, I have some questions about the license terms of TI License: https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/08_02_00_05/exports/docs/psdk_rtos/PROCESSOR_SDK_RTOS_J721E_manifest.html * any redistribution and use of the source code, including any resulting derivative works, are licensed by TI for use only with TI Devices. * any redistribution and use of any object code compiled from the source code and any resulting derivative works, are licensed by TI for use only with TI Devices. What is a TI Device mean ? For my case, my customer want to design theirs hardware by their own, if only using TDA4VM Jacinto Processors and DS90UB960, DS90UB953 from TI. Their designed hardware, is it TI device ? If so , they want to modify and commercial distributors the TI's Vision Applications and TI's Imaging projects (the projects at the link below) , is that permitted ? If that is permitted, so they just need to keep the existing copyright notices, is it correct ? Thanks. https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/vision_apps/docs/user_guide/index.html https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/latest/exports/docs/imaging/docs/user_guide/index.html + +Responses: +Phan Chinh said: What is a TI Device mean ? TI Device is any SoC/device that is made by Texas Instruments such as TDA2/3/4 and its variants. Phan Chinh said: TDA4VM Jacinto Processors and DS90UB960, DS90UB953 from TI. Their designed hardware, is it TI device ? Yes, these are TI devices. Phan Chinh said: If so , they want to modify and commercial distributors the TI's Vision Applications and TI's Imaging projects (the projects at the link below) , is that permitted ? If that is permitted, so they just need to keep the existing copyright notices, is it correct ? Yes, it is permitted and you retain existing notices as applicable. Regards Karthik + diff --git a/sample_embedding_folder2/1104638.txt b/sample_embedding_folder2/1104638.txt new file mode 100644 index 0000000000000000000000000000000000000000..027113075330c39a195c344e23b1a89a215b572e --- /dev/null +++ b/sample_embedding_folder2/1104638.txt @@ -0,0 +1,66 @@ +Ticket Name: TDA2SX: nptrs = backtrace(buffer, BT_BUF_SIZE); returned nptrs is 0; + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 HI. backtrace returns 0, which is the same source code. I work in tda4 Linux x86 linux. Can return stack calls. tda2 Linux backtrace returns 0 tad2x linux : compile: gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc -rdynamic call_stack.c -o progtda2 run: ./ progtda2 3 backtrace() returned 0 addresses tad4x: gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-gcc -rdynamic call_stack.c -o prog run: root@j7-evm:~# ./prog 3 backtrace() returned 8 addresses ./prog(myfunc3+0x18) [0x400c04] ./prog() [0x400ca8] ./prog(myfunc+0x2c) [0x400ce0] ./prog(myfunc+0x24) [0x400cd8] ./prog(myfunc+0x24) [0x400cd8] ./prog(main+0x60) [0x400d4c] /lib/libc.so.6(__libc_start_main+0xe4) [0xffff9b890fac] ./prog() [0x400b2c] root@j7-evm:~# ./prog 3 backtrace() returned 8 addresses ./prog(myfunc3+0x18) [0x400c04] ./prog() [0x400ca8] ./prog(myfunc+0x2c) [0x400ce0] ./prog(myfunc+0x24) [0x400cd8] ./prog(myfunc+0x24) [0x400cd8] ./prog(main+0x60) [0x400d4c] /lib/libc.so.6(__libc_start_main+0xe4) [0xffffb6510fac] ./prog() [0x400b2c] Why does tda2 Linux run without stack call information? call_stack.c #include +#include +#include +#include + +#define BT_BUF_SIZE 100 + +void +myfunc3(void) +{ + int j, nptrs; + void *buffer[BT_BUF_SIZE]; + char **strings; + + nptrs = backtrace(buffer, BT_BUF_SIZE); + printf("backtrace() returned %d addresses\n", nptrs); + + /* The call backtrace_symbols_fd(buffer, nptrs, STDOUT_FILENO) + would produce similar output to the following: */ + + strings = backtrace_symbols(buffer, nptrs); + if (strings == NULL) { + perror("backtrace_symbols"); + exit(EXIT_FAILURE); + } + + for (j = 0; j < nptrs; j++) + printf("%s\n", strings[j]); + free(strings); +} + +static void /* "static" means don't export the symbol... */ +myfunc2(void) +{ + myfunc3(); +} + +void +myfunc(int ncalls) +{ + if (ncalls > 1) + myfunc(ncalls - 1); + else + myfunc2(); +} + +int +main(int argc, char *argv[]) +{ + if (argc != 2) { + fprintf(stderr, "%s num-calls\n", argv[0]); + exit(EXIT_FAILURE); + } + + myfunc(atoi(argv[1])); + exit(EXIT_SUCCESS); +} + +Responses: +Hello, This is probably generic for arm32 and not specific to TDA2. Can you check if this works: gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ -g -rdynamic -funwind-tables -g call_stack.c -o prog Regards Hemant + +Hello Hemant Thank you for your reply. The problem has been solved. Regards gj + diff --git a/sample_embedding_folder2/1106138.txt b/sample_embedding_folder2/1106138.txt new file mode 100644 index 0000000000000000000000000000000000000000..a6166f87ed88d9b15504e30c308b93f251a278bf --- /dev/null +++ b/sample_embedding_folder2/1106138.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2HF: tda2 Resetn and PORz + +Query Text: +Part Number: TDA2HF Other Parts Discussed in Thread: TDA2 Hello team, Acoording to the TDA2 Data manual,RESETn and PORz should be deasserted simultaneously during power-up. If no, what will be affected.The system will run unstable or not. I have a case,RESETn and PORz released not simultaneously.Will this be a problem. + +Responses: +Hello, It should not be a problem. Regards, Kyle + diff --git a/sample_embedding_folder2/1107013.txt b/sample_embedding_folder2/1107013.txt new file mode 100644 index 0000000000000000000000000000000000000000..58b6418b0ab9eb214bcb1a9795ae21daa1e25228 --- /dev/null +++ b/sample_embedding_folder2/1107013.txt @@ -0,0 +1,22 @@ +Ticket Name: TDA4VM: Is there any node in TIOVX execute the function as Null link in TDA2 VSDK? + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 Hi team, Is there any node in TIOVX execute the function as Null link in TDA2 VSDK? which could be used do something in A72? In TDA2 VSDK, there is Null link which could do some process at A15 core and by callback function when receiving the images from other link while there isn't any node could do the similar thing on TIOVX, so it's difficult to process the image from camera in A72. The customer would like to know how to create new node to process image such as Null link in VSDK? Or is there any other nodes in TIOVX could do the similar thing on TIOVX? Best Regards, Cherry + +Responses: +Hi, May I know is there any update? Thanks and regards, Cherry + +Hi Cherry, Cherry Zhou said: Is there any node in TIOVX execute the function as Null link in TDA2 VSDK? which could be used do something in A72? No there is no null node in TIOVX. Cherry Zhou said: In TDA2 VSDK, there is Null link which could do some process at A15 core and by callback function when receiving the images from other link while there isn't any node could do the similar thing on TIOVX, so it's difficult to process the image from camera in A72. Do you mean null-sink link? i dont recollect if null-sink was doing any processing.. It can just receive input some other link and return the input as it is back.. There is not any node like this in TIOVX, but you could have output of node unconnected or can declare it as graph parameter and can get this output in the application. The above graph could be realized by opening capture node two times, one for 4 channels and second for 1 channel. 4-channels can be for encode and mosaic and fifth channel for the dms path. Regards, Brijesh + +Hello Brijesh Nice to communicate with you. I'm the one post the question. and now this issue is fixed and closed by using a select node which created by PyTIOVX tools. But I'm not sure this is the best solution for this certain question. on the other side, it seems interesting to solve this question by opening capture node twice. could you kindly give the example code ? I wanna know how to implement this. Thanks and best rgds! have a good weekend. + +Hi henry o, There is only one example in sdk, where multiple instance of the capture node are created. You could find this example in the file ti-processor-sdk-rtos-j721e-evm-08_02_00_05\tiovx\kernels_j7\hwa\test\test_csitx_csirx.c. This essentially is CSITX -> CSIRX example, where separate node instance is created for each input channel.. henry o said: I'm the one post the question. and now this issue is fixed and closed by using a select node which created by PyTIOVX tools. But I'm not sure this is the best solution for this certain question. That's interesting. Could you please help me understand what this select node is? If possible, can you share this node, so that it would be helpful? Regards, Brijesh + +Hello Brijesh, Thanks for your kindly help and response. For select node, the input is object array contrains image frames which comes from capture node or something else, the output the another object array consists of images. e.g. there are 5 camera, channel [0,1,2,3,4], every one produce image frames at certain rate. and the first four should send their output into encode node and the fifth one should send to process the image. then we could create two select node, both of them take the 5 cameras' output as input, and the first select node choose the first four channel frames and copy the frame to output object array. the second select node choose the fifth channel frame and copy it to output object array. this select node works as the select link in vision sdk (or processor sdk in tda2x). wish it's helpful. best rgds. + +Hello henry o, Thanks for the explanation. Just one more question, how do you copy images from input to output object arrays? Are just copying buffer pointer or images using DMA? Regards, Brijesh + +Hello Brijesh, since it's a little difficult to use DMA copying the image buffer data, the memcpy is used here to copy the image. furthermore, I take account of copying buffer pointer, but it seems that it will bring the coupling issue, e.g. the pipeline could be blocked or slow down when some node processes the buffer pointer slower than expected. so, at last, the memcpy is chosen. Regards, Henry + +ok understood, thanks. Please close this ticket if your question is answered. Regards, Brijesh + diff --git a/sample_embedding_folder2/1108985.txt b/sample_embedding_folder2/1108985.txt new file mode 100644 index 0000000000000000000000000000000000000000..2081a8ef6d87a4a5ce89cc744ad8280d072c5a5f --- /dev/null +++ b/sample_embedding_folder2/1108985.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2EXEVM: the detection result of PC and tda2 is different + +Query Text: +Part Number: TDA2EXEVM Hi, Team. I trained a SSD Caffemodel to detect the targets on the road. The test results on the PC are basically normal, as shown in Figure 1. However, when the model is converted with TDA2XX and then tested, the results are abnormal, as shown in Figure 2. In Figure 2, the red box is the ground truth, and the green box is the detection result. The result box of the class obstacle at the top right is very wide. Could you please help me with this problem? Thanks. + +Responses: +Did you trine the model using, Caffe-jacinto? If not please train the model using the caffe-jacinto quantization aware training to get better accuracy on target. Would it be possible for you to share details on your Project and requirements? Wanted to make sure, your target application can be supported on TDA2x/3x, or will it be better to try TDA4x devices If it helps, can you consider trying your model with our TDA4x/AM2x-based tools available here https://github.com/TexasInstruments/edgeai-tidl-tools https://www.ti.com/tool/SK-TDA4VM https://www.ti.com/tool/SK-AM62 + diff --git a/sample_embedding_folder2/1109883.txt b/sample_embedding_folder2/1109883.txt new file mode 100644 index 0000000000000000000000000000000000000000..5cb47d651d81493053ed3ee220b4eba9a76a8d3d --- /dev/null +++ b/sample_embedding_folder2/1109883.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA4VM: How to display chinese charactors on the screen with the Draw2D String function. + +Query Text: +Part Number: TDA4VM HI ti: We are working on the TDA4 EVM. Now we need to display chinese charactors on our screen. I found that , there are several ASCII charactors fonts. Is there any tools to generate the *_font.c file ? Please help us. Tks a lot ! + +Responses: +Hi Wang, There is not any utility to convert font. Font files just contains RGB565 value of the font.. You could search on below link to understand how to convert them. https://e2e.ti.com/support/processors-group/processors/f/processors-forum/811499/rtos-tda2-string-font-setting https://e2e.ti.com/support/processors-group/processors/f/processors-forum/770547/tda3xevm-font-property Regards, Brijesh + +Hi Brijesh, I have realized this function. Steps as below: 1、Use spacial tool to generate the chinese font 2、Compare the string to the font 3、Follow the font instructionst to draw the pixel. And if anyone want to get the c source file .Please click here. https://gitee.com/tda4/ti-tda4/tree/feature/ Also the chinese blog link is as below: blog.csdn.net/.../125503932 Good luck and best wishes ! + +In the upper left corner. 雨 means : rain 雾 means : fog + diff --git a/sample_embedding_folder2/1111594.txt b/sample_embedding_folder2/1111594.txt new file mode 100644 index 0000000000000000000000000000000000000000..3aa355aef3b109a0c91b6bc20403dae25319aa4f --- /dev/null +++ b/sample_embedding_folder2/1111594.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2SX: How to implement gateway configuration support + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi team, Here's an issue from the customer may need your help: GateWay IP configuration in TDA2x is required to implemented and the customer has tried the the following modifications: /* * Add the default gateway. Since it is the default, the * destination address and mask are both zero (we go ahead * and show the assignment for clarity). */ bzero(&RT, sizeof(RT)); RT.IPDestAddr = 0; RT.IPDestMask = 0; RT.IPGateAddr = inet_addr(GatewayIP); CfgAddEntry(hCfg, CFGTAG_ROUTE, 0, 0, sizeof(CI_ROUTE), (UINT8 *)&RT, 0) Does modifying the GateWayIP values above correctly modify the GateWay IP? Thanks and regards, Cherry + +Responses: +Cherry, Unfortunately this post does not have any information of the SDK being used or the component that is being modfied. We cannot answer this question until more information is provided. Regards Karthik + +Hi Karthik, Thanks for your support. NDK version in NetWorking:ndk_2_24_02_31 NSP version: nsp_gmacsw_4_16_01_01 The GateWay IP is modified in the stackInitHookDynEth1() function in NDK_nsp_hook.C. And the issue is how is the GateWay IP configured in TDA2? Please let me know if you need any further information. Thanks and regards, Cherry + +Hi, May I know is there any update? Thanks and regards, Cherry + diff --git a/sample_embedding_folder2/1111603.txt b/sample_embedding_folder2/1111603.txt new file mode 100644 index 0000000000000000000000000000000000000000..8d0dfb6e7b7a156096d563272b01ae37fad690ce --- /dev/null +++ b/sample_embedding_folder2/1111603.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: How to implement IPv6 functionality in TDA2 before sending message data over UDP? + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi team, Here's an issue from the customer may need your help: The IPv6 address protocol is used in TDA2 to send UDP message data. By creating a SOCKet, but failed, the code is as follows: static char src[] = "fd11::100"; static char dst[] = "fd11::200"; void main_Tx() { int udp6_socket, ret, ttl, on, addr_len; struct sockaddr_in6 saddr; struct sockaddr_in6 daddr; char buffer[] = "Hello World6"; Vps_printf(" DanS-----Network: start IPv6 interface main\n"); if ((inet_pton(AF_INET6, (char *)&src[0], &saddr.sin6_addr)) != 1) { Vps_printf("invalid ipv6 addr \r\n"); return ; } if ((inet_pton(AF_INET6, (char *)&dst[0], &daddr.sin6_addr)) != 1) { Vps_printf("invalid ipv6 addr \r\n"); return ; } addr_len = sizeof(struct sockaddr_in6); saddr.sin6_family = AF_INET6; saddr.sin6_port = htons(30000); daddr.sin6_family = AF_INET6; daddr.sin6_port = htons(40000); udp6_socket = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP); if (udp6_socket == -1) { Vps_printf("create udp6_socket fail\r\n");//the codes are run and printed here Vps_printf("failed socket create (%d)\n",fdError()); return; } if (bind(udp6_socket, (struct sockaddr *)&saddr, addr_len)) { Vps_printf("udp6 bind addr fail, err : %d\r\n", 0); if( udp6_socket != (-1) ) fdClose( udp6_socket ); Vps_printf("\n== End Timeout Test ==\n\n"); //close(udp6_socket); return; } /* transmit */ ret = sendto(udp6_socket, &buffer[0], sizeof(buffer), 0, (struct sockaddr *)&daddr, addr_len); if (ret > 0) { Vps_printf("udp6 send %d bytes success \r\n", ret); } fdClose( udp6_socket ); //close(udp6_socket); return; } The error is reported in yellow section. a. The NDK_enable_IPv6 switch for the corresponding usecase has been turned on in TDA2. b. What else needs to be modified for IPv6 to function properly? Could you help give an example? Could you help check this case? Thanks. Best Regards, Cherry + +Responses: +Hi, Quick update: NDK version in NetWorking: ndk_2_24_02_31/NSP version: nsp_gmacsw_4_16_01_01. And may I know is there any update? Thanks and regards, Cherry + diff --git a/sample_embedding_folder2/1112267.txt b/sample_embedding_folder2/1112267.txt new file mode 100644 index 0000000000000000000000000000000000000000..e0a492e4b48528f89c91d00ffbb67fd75a928966 --- /dev/null +++ b/sample_embedding_folder2/1112267.txt @@ -0,0 +1,6 @@ +Ticket Name: TDA2SX: Running image radar on TDA2, what's the best performance we can get? + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi experts, This seems to be an obvious question that should have been frequently asked.... but I couldn't find any concrete answer in the forum. Does TI or anybody know what's the best radar-performance we can get out of TDA2sx running 4-chip cascade radar? TI has the great image radar reference design with 4-AWR2243s and TDA2sx, the reference code is good enough to get us started but left a lot to be desired. We are now able to run relatively smooth 10fps point-cloud MIMO with 256-range-bins, 64-velocity bins and 256 azimuth bins on TDA2sx, and we are trying to stretch the performance. Even though TI has a spreadsheet (ProcessorSDKRadar_SystemPlanner) that helps calculate the TDA2 resources based on radar parameters, we found it somewhat over-simplifying the calculation? We just wonder if anyone knows first hand what the TDA2 is capable of as the image radar center processor, or what's the most performance, in terms of radar specs, that the TDA2 could achieve. Thanks! Li + +Responses: diff --git a/sample_embedding_folder2/1112849.txt b/sample_embedding_folder2/1112849.txt new file mode 100644 index 0000000000000000000000000000000000000000..43fe0045ff1892b85f8caac405841ae91a3db08f --- /dev/null +++ b/sample_embedding_folder2/1112849.txt @@ -0,0 +1,36 @@ +Ticket Name: TDA3MV: BT.656 output on LCD1 display + +Query Text: +Part Number: TDA3MV Other Parts Discussed in Thread: TDA2, TDA2SG Dear Champs, My customer tried to output BT.656 on LCD1 display but failed to implement BT.656. They set dss format as below, in \PROCESSOR_SDK_VISION_03_08_00_00\vision_sdk\apps\src\rtos\usecases\common\chains_common.c pVInfo->vencOutputInfo.dataFormat = SYSTEM_DF_YUV422I_YUYV; pVInfo->vencOutputInfo.dvoFormat = SYSTEM_DCTRL_DVOFMT_BT656_EMBSYNC; pVInfo->vencOutputInfo.videoIfWidth = SYSTEM_VIFW_8BIT; They faced below error with 'SYSTEM_VIFW_8BIT'. When they changed 'SYSTEM_VIFW_12BIT', this error was resolved, but there was no display in customer's BT656 monitor connected to LCD of TDA3. When customer checked 'DISPC_VP1_CONFIG' register, they find BT656enable field is set to '1'. Could you please let me know your guide how they can check it further if BT656 signal was output in LCD of TDA3? Thanks and Best Regards, SI. + +Responses: +Hi SI, Once we say BT656, videoIfWidth is not really used. But since there is a check inside the driver, which allows only valid videoIfWidth, it fails. Please use 12bit as videoIfWidth, it should be fine. Regarding BT656 output, please note that DSS outputs 10bit data on D0-D9 data lines for BT656 output format. So if you receiver is using 8bit data, please make sure to use upper 8bit data lines. Also please note that there is a hsync size limitation. I think DSS can support only update 256 clock cycle for the hsync. Please see if these conditions are taken care. Regards, Brijesh + +Hi Brijesh, Except Hsync limitation, we have checked all these with customers already. Do you have any idea how customer can check if their BT656 signal output in DSS is correct? Thanks and Best Regards, SI. + +Hi SI, Bit difficult, since embedded syncs. Can we atleast probe the data lines and see if they are toggling? Also please check if pinmux for the data lines are setup.. Regards, Brijesh + +Hi Brijesh, Brijesh Jadav said: I think DSS can support only update 256 clock cycle for the hsync. Please see if these conditions Could you please explain this with more details? Their resolution is 640x480. Do you mean only 256, 512, 768 pixels can be supported for horizontal? Brijesh Jadav said: Can we atleast probe the data lines and see if they are toggling? Also please check if pinmux for the data lines are setup.. Thanks for the response. I'll check it with customers and let me update soon. Thanks and Best Regards, SI. + +Hi SI, The size of the field in the register, where we specify hsync length in clock cycles, is just 8bits, so we can have only 256 clock cycles of hsync. This is not sufficient for the 480i, 576i resolution over 8bit interface.. Regards, Brijesh + +Brijesh, Thanks for the confirm. Yes. it should be an issue. Could you please provide more details on this? where can I check it in TDA3 TRM? I checked 9.2.4.13.4. DISPC VP1 BT.656 and BT.1120 Modes and 9.2.4.13.7 DISPC VP1 Timing Generator and Panel Settings, but could not find any limitation for hsync length. I found only 'DISPC_VP1_SIZE_SCREEN[27:16] LPP bit field' which has range from 1 to 4096. It would be helpful to make customer understand if there is any description for this limitation in the TRM. And, what is the PCLK of BT656 output in TDA3 LCD1? BT656 standard present 480i, 576i with 27Mhz PCLK as you know, but I'm curious if PCLK is still 27Mhz. Thanks and Best Regards, SI. + +Hi SI, Please check HSW field in the DISPC_VP1_TIMING_H register. This field is just 8bits. I think this limitation is also mentioned in the errata document. Yes, pixel clock for 480i and 576i is 27MHz. Regards, Brijesh + +Brijesh, I could not find this limitation in the errata, and I found below CAUTION in the TDA2 TRM. Is there any way to output BT656 640x480 resolution with embedded sync in LCD1? I found there is someone implement BT656 1920x720 in TDA2SG in below e2e. Can you guess how they can implement it? https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1038316/tda2sg-bt656-output-resolution/3841312?tisearch=e2e-sitesearch&keymatch=bt656%2525252520AND%2525252520dss#3841312 Thanks and Best Regards, SI. + +Hi SI, Sung-IL said: I could not find this limitation in the errata, and I found below CAUTION in the TDA2 TRM. Yes, this is the one i was talking about. Sung-IL said: Is there any way to output BT656 640x480 resolution with embedded sync in LCD1? Well, as long as HS width is less 256 clock cycle, it is possible to output this resolution. Regards, Brijesh + +Brijesh, 256 clock cycle means 256 pixels, right? Thanks and Best Regards, SI. + +Hi SI, No, this field is in terms of clock cycles, so if we are using BT656, it would be 2 clock cycles per pixel, so 256 pixels would require 512 clock cycles, which is not possible. Regards, Brijesh + +Brijesh, I'm still confused on this. I found below picture in the TDA3/TDA2 TRM and it seems PPL is a pixel number per each line. As PPL support 12bits(11:0), the maximum pixels per line should be 2048. I think the limitation of HSW is only applied to BLANKING period. Could you please double check this again? As you mentioned, if the horizontal pixel size is limited to 256 clocks(128pixels), even QVGA(320x240) can not be displayed in this case. Thanks and Best Regards, SI. + +Hi SI, Yes, HSW is horizontal sync width, which is part of the horizontal blanking period. Regards, Brijesh + +Hi Brijesh, Can you check below register values for BT656 output(640x480) and let me know your opinion on this? Thanks and Best Regards, SI. + +Hi SI, Configuration seems to be correct, - BT656 output is enabled - Color Space conversion is enabled - HSW set to 0xFF - Vertical blanking is set to 0 - VP enabled - VPPROGLINENUMBERMODULO is set, as not required - Go bit is set Although, line interrupt is set, i dont see anything in the Line status register. Are you getting anything in the output? Also is the pixel clock running fine for this VP? Do you see Vsync interrupt? Regards, Brijesh + diff --git a/sample_embedding_folder2/1113655.txt b/sample_embedding_folder2/1113655.txt new file mode 100644 index 0000000000000000000000000000000000000000..4e6ad7619e449aa772c96092fb338412020e8918 --- /dev/null +++ b/sample_embedding_folder2/1113655.txt @@ -0,0 +1,8 @@ +Ticket Name: AM625: Comparison of gpu performance between AM625 and tda2 + +Query Text: +Part Number: AM625 Other Parts Discussed in Thread: TDA2, Hi Expert, Is there a gpu performance comparison between AM625 and tda2? Thanks Daniel + +Responses: +Hi Daniel, Here are the GPU specs of AM625: https://dev.ti.com/tirex/explore/node?node=AElcVr5KOuYgL.MzoxnzDw__XaWts8R__LATEST. I believe tda2 has SGX544 and it has more GFLOPS/Pixel fillrate compared to AM625 but it cannot support OpenGLES3.1 and Vulkan. Regards, Krunal + diff --git a/sample_embedding_folder2/1114742.txt b/sample_embedding_folder2/1114742.txt new file mode 100644 index 0000000000000000000000000000000000000000..99b09b509ff354a9dde1dcc0530e4b5ccd677b70 --- /dev/null +++ b/sample_embedding_folder2/1114742.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: Spec for TDA2 gpu? + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi Expert, Is there spec for TDA2 GPU? How many GFLOPS? Thanks Daniel + +Responses: +Hi Daniel, The GPU used in TDA2 is a dual core SGX544 GPU, and at 532 MHz, it performs at 34 GFLOPS. Regards, Takuma + diff --git a/sample_embedding_folder2/1114899.txt b/sample_embedding_folder2/1114899.txt new file mode 100644 index 0000000000000000000000000000000000000000..3ef1e028080064746f82c8c696e4aba2263bc927 --- /dev/null +++ b/sample_embedding_folder2/1114899.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: TDA2 TIDL Quantization + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi, Expert, For TDA2 TIDL, Can you pls help to share the quantization ? do we support both of per layer or per channel ? How to change that ? Thanks Regards, Fredy Zhang + +Responses: +in TDA we support only Per Layer quantization. We do not support per-channel quantization. Only 8-bits are supported for features, 8 -12 bits are supported for weight/Parameter quantizations. Users can set the same in import config files + diff --git a/sample_embedding_folder2/1119944.txt b/sample_embedding_folder2/1119944.txt new file mode 100644 index 0000000000000000000000000000000000000000..4b1db08d31bf56ecee1f4dabb9adacdffaeb4fc7 --- /dev/null +++ b/sample_embedding_folder2/1119944.txt @@ -0,0 +1,6 @@ +Ticket Name: TDA2EVM5777: No rule to make target + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Hi Team, A customer is building the vision SDK for the TDA2 EVM but is having errors below: D:\PROCESSOR_SDK_VISION_03_08_00_00\vision_sdk\build>gmake -s -j gmake[5]: *** No rule to make target `;'. Stop. gmake[4]: *** [links_common_avb_rx] Error 2 gmake[4]: *** Waiting for unfinished jobs.... gmake[5]: *** No rule to make target `;'. Stop. gmake[5]: *** No rule to make target `;'. Stop. gmake[4]: *** [links_common_avb_tx] Error 2 gmake[4]: *** [links_common_algorithm] Error 2 gmake[5]: *** No rule to make target `;'. Stop. gmake[4]: *** [links_common_dup] Error 2 gmake[5]: *** No rule to make target `;'. Stop. gmake[5]: *** No rule to make target `;'. Stop. gmake[4]: *** [links_common_gate] Error 2 gmake[4]: *** [links_common_ipcIn] Error 2 gmake[5]: *** No rule to make target `;'. Stop. gmake[4]: *** [links_common_ipcOut] Error 2 gmake[5]: *** No rule to make target `;'. Stop. gmake[4]: *** [links_common_merge] Error 2 gmake[5]: *** No rule to make target `;'. Stop. gmake[5]: *** No rule to make target `;'. Stop. gmake[4]: *** [links_common_network_rx] Error 2 gmake[4]: *** [links_common_nullSrc] Error 2 gmake[5]: *** No rule to make target `;'. Stop. gmake[4]: *** [links_common_null] Error 2 gmake[5]: *** No rule to make target `;'. Stop. gmake[5]: *** No rule to make target `;'. Stop. gmake[4]: *** [links_common_tfdtp_rx] Error 2 gmake[4]: *** [links_common_network_tx] Error 2 gmake[5]: *** No rule to make target `;'. Stop. gmake[4]: *** [links_common_sync] Error 2 gmake[5]: *** No rule to make target `;'. Stop. gmake[4]: *** [links_ipu_display] Error 2 gmake[5]: *** No rule to make target `;'. Stop. gmake[4]: *** [links_common_select] Error 2 gmake[5]: *** No rule to make target `;'. Stop. gmake[4]: *** [links_ipu_vip_capture] Error 2 gmake[5]: *** No rule to make target `;'. Stop. gmake[4]: *** [links_ipu_vpe] Error 2 gmake[5]: *** No rule to make target `;'. Stop. gmake[5]: *** No rule to make target `;'. Stop. gmake[4]: *** [links_ipu_dssM2mWb] Error 2 gmake[4]: *** [links_ipu_display_ctrl] Error 2 gmake[5]: *** No rule to make target `;'. Stop. gmake[4]: *** [links_ipu_system] Error 2 gmake[5]: *** No rule to make target `;'. Stop. gmake[5]: *** No rule to make target `;'. Stop. gmake[4]: *** [links_a15_system] Error 2 gmake[4]: *** [links_dsp_system] Error 2 gmake[5]: *** No rule to make target `;'. Stop. gmake[5]: *** No rule to make target `;'. Stop. gmake[4]: *** [links_eve_system] Error 2 gmake[4]: *** [links_common_system] Error 2 gmake[5]: *** No rule to make target `;'. Stop. gmake[4]: *** [links_ipu_iva] Error 2 gmake[5]: *** No rule to make target `;'. Stop. gmake[4]: *** [utils_common] Error 2 gmake[3]: *** [libs] Error 2 gmake[2]: *** [links_fw_libs] Error 2 gmake[1]: *** [apps] Error 2 gmake: *** [vision_sdk] Error 2 I am hoping you can help. Regards, Marvin + +Responses: diff --git a/sample_embedding_folder2/1121423.txt b/sample_embedding_folder2/1121423.txt new file mode 100644 index 0000000000000000000000000000000000000000..b1c33c80a185022f05fc336162037496f2d0dd29 --- /dev/null +++ b/sample_embedding_folder2/1121423.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA4VM: Is there any way to control the switch of a stream in the graph? + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA2 Hi TI: I integrated multiple streams in one graph: PSD/OD/SRV/DVR..Now I want to control the on/off state of one of the streams, just like the Gate link in J6(TDA2) platform. Is there a kernel like Gate link in the J7 platform? Or is there any way to achieve this? Regards, Damon + +Responses: +Hi TI: Supplementary Instructions: I want to dynamically control the switch of a certain stream during the running process of the app. For example: After app started: at time_1, I want run 'SemSeg' stream only; Time_2,,I want run 'PSD' stream only; Time_2,,I want run 'PSD' and 'VD' stream; + +Hi Damon, No, unfortunately, there is no gate link like feature available in the OpenVX framework. You would have to add it in the framework or at the node level.. Like add a control command in the node, when you want to stop processing and then in process function, just skip processing. Again resume it again on second control command.. Regards, Brijesh + +Hi Brijesh, Yep.I tried this and found that: if I just send stop cmd to pre_proc node, it dis stop. But it's downstream nodes will still execute processing instead of blocking. Form this it seems that I need to add and send stop cmd to every node in this stream(pre-proc/tidl/post-proc), right? Regards, Damon + +Hi Damon, Yes, require to add this command to all downstream modules, and whenever you want to change processing, you probably need to start from the last node in that path.. Regards, Brijesh + +Hi Brijesh, Thank you! And I wander will TI consider providing a convenient solution for this requirement in subsequent releases? Regards, Damon + diff --git a/sample_embedding_folder2/1163144.txt b/sample_embedding_folder2/1163144.txt new file mode 100644 index 0000000000000000000000000000000000000000..2a46da17c7d8df20d83bdf3f7e26d59fd47e1ebe --- /dev/null +++ b/sample_embedding_folder2/1163144.txt @@ -0,0 +1,6 @@ +Ticket Name: TDA2E: Error: Module ti.sysbios.knl.Task does not exist in the application's configuration - ROV + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2 Hi, I am trying to debug an application in our custom board wich uses a TDA2, I use CCS only for debug, my source code is build using our tools, these are the steps I perform: debugger = Blackhawk XDS560 v2 System Trace 1.- I create a new target configuration choosing the debugger and platform, then launch that configuration 2.-I load the symbols (vision_sdk_ipu1_0_release.xem4) only for 1 core, IPU 1_0 in this case, then I connect the target the target is running 3.- then I open ROV but I get this error how could I solve this?, thanks + +Responses: diff --git a/sample_embedding_folder2/1167794.txt b/sample_embedding_folder2/1167794.txt new file mode 100644 index 0000000000000000000000000000000000000000..20f3613961e7d8e4a1aefdfb9265445e1376682f --- /dev/null +++ b/sample_embedding_folder2/1167794.txt @@ -0,0 +1,16 @@ +Ticket Name: TI-RTOS-PROC: Event module - what does "Only a single Task can pend on an Event object at a time." means? + +Query Text: +Part Number: TI-RTOS-PROC Other Parts Discussed in Thread: TDA2, SYSBIOS Hi, does this means that two tasks can´t wait for the same event? Thanks + +Responses: +Hi Jairo, Can you please share more details like which device and which SDK you are using? Regards, Parth + +Hi, a TDA2 and Processor SDK-Vision + +It is design by contract. Please refer to SYSBIOS API reference guide available under docs/ folder in SYSBIOS. + +"Unlike semaphores, Only a single Task can pend on an Event object", could you explain this please? + +The API is designed that way. If that doesn't fit your need, please use some other method. In our experience, Semaphore should serve most of the use cases and is more widely used. + diff --git a/sample_embedding_folder2/1167811.txt b/sample_embedding_folder2/1167811.txt new file mode 100644 index 0000000000000000000000000000000000000000..7cf77de19cb27e5be4c3a23a0e3a07c8e83f4aff --- /dev/null +++ b/sample_embedding_folder2/1167811.txt @@ -0,0 +1,12 @@ +Ticket Name: TI-RTOS-PROC: Can I use the synchronization modules from the differents cores of a SMP application? + +Query Text: +Part Number: TI-RTOS-PROC Other Parts Discussed in Thread: SYSBIOS, TDA2 Hi, lets suppose we have TI RTOS running an A53 with 4 cores, the synchronization modules you provide have effect over all the cores, for example, a mutex used in the task 1 running in the core 1 could block the task 2 running in the core 2? the doubt is because of this: "Mailboxes can be used to pass buffers from one task to another on the same processor." only in the mailboxes you said this, the other modules does not mention this, and I don´t know what do you understand for processor, for example, in a cluster of an A53 of 4 cores someone could say that we have 4 processors A53_0, A53_1, etc, do you call processor to the cluster of cores or to each core? + +Responses: +Hi Jairo, What SDK are you using and what SoC are you talking about? The references you used are from SYS/BIOS or TI-RTOS. The ti.sysbios.knl.Mailbox primarily provides a queueing functionality of messages with capabilities to wake-up another thread. The context obviously is all within the same RTOS. So, if you are running different TI RTOS instances on each of the above 4 cores, then this really can't be used. If you are running a single SMP-version of the RTOS, you can use the above. In anycase, we no longer support the TI-RTOS or any other RTOS on A72 cores in the SDKs (8.x for sure, 7.3 SDK may have limited support). regards Suman + +Hi, a TDA2 and Processor SDK-Vision + +Please refer to below link regarding SMP support in TI-RTOS. https://e2e.ti.com/support/processors-group/processors/f/processors-forum/946557/faq-where-can-i-find-details-on-smp-with-sys-bios + diff --git a/sample_embedding_folder2/1168150.txt b/sample_embedding_folder2/1168150.txt new file mode 100644 index 0000000000000000000000000000000000000000..89d5ddc4da03fc769516c230a50bde67ee6c32cd --- /dev/null +++ b/sample_embedding_folder2/1168150.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2P-ACD: [valeo BYD project] camera image is not properly received + +Query Text: +Part Number: TDA2P-ACD Other Parts Discussed in Thread: TDA2 hi, TI experts: I use TDA2PX soc, the video pipeline is camera->933->962->soc. we have two kind of camera, both have ISP in image sensor and the output format is YUYV(8bit), the difference is one resoluton is 1280*960, and another is 1100*880. when we use 1280*960 camera, we can get proper image, and our config is below: PCapIssCalcfg->inFmt[StreamId].width = VIDEO_IP_RAW_CAPTURE_WIDTH*2; PCapIssCalcfg->inFmt[StreamId].height = AR_CAMERA_ACTIVE_VIDEO_IP_RAW_CAPTURE_HEIGHT; PCapIssCalcfg->inFmt[StreamId].pitch[0] = VIDEO_IP_RAW_CAPTURE_WIDTH*2; PCapIssCalcfg->inFmt[StreamId].dataFormat = 0x0U; PCapIssCalcfg->csi2DataFormat[StreamId] = VPS_ISS_CAL_CSI2_YUV422_8B; PCapIssCalcfg->inFmt[StreamId].bpp = FVID2_BPP_BITS16; /* Input stream from which camera channel */ PCapIssCalcfg->csi2VirtualChanNo[StreamId] = StreamId; PCapIssCalcfg->streamType[StreamId] = VPS_ISS_CAL_TAG_PIX_DATA; PCapIssCalcfg->isBysOutCfgValid[StreamId] = FALSE; PCapIssCalcfg->bysInEnable[StreamId] = FALSE; /* CSI2 and other */ PCapIssCalcfg->isVportCfgValid[StreamId] = FALSE; PCapIssCalcfg->writeToMem[StreamId] = TRUE; PCapIssCalcfg->pixProcCfg[StreamId].extract = VPS_ISS_CAL_PIX_EXRCT_B16_LE;/*VPS_ISS_CAL_PIX_EXRCT_B16_LE*/ PCapIssCalcfg->isPixProcCfgValid[StreamId] = TRUE ;/*TRUE*/ PCapIssCalcfg->pixProcCfg[StreamId].decCodec = VPS_ISS_CAL_DPCM_DEC_BYPASS; PCapIssCalcfg->pixProcCfg[StreamId].enableDpcmInitContext = FALSE; PCapIssCalcfg->pixProcCfg[StreamId].encCodec = VPS_ISS_CAL_DPCM_ENC_BYPASS; PCapIssCalcfg->pixProcCfg[StreamId].pack = VPS_ISS_CAL_PIX_PACK_B16;/*VPS_ISS_CAL_PIX_PACK_B16*/ PCapIssCalcfg->pixProcCfg[StreamId].addr = 0X0u; PCapIssCalcfg->pixProcCfg[StreamId].offSet = 0X0u; PCapIssCalcfg->pixProcCfg[StreamId].contextToBeUsed = FALSE ; retVal = Fvid2_control(pCamObj->pInstObj->drvHandle, IOCTL_VPS_CAPT_SET_ISS_PARAMS, PCapIssCalcfg , NULL); when use 1100*880 camera, we only change the MACRO VIDEO_IP_RAW_CAPTURE_WIDTH, AR_CAMERA_ACTIVE_VIDEO_IP_RAW_CAPTURE_HEIGHT from 1280,960 to 1100,880 but the image is not ok, you can see it, so what's the issue? SX + +Responses: + + +Xu, I assume that you are using TDA2 LInks and chains framework. So the camera input is a link. Can you share your modification? Additionally, Can you pls help to capture the camera data from camera link and share the image ? Thanks. Regards, Fredy Zhang + +Xu, I checked your input Data. The width is 1088. So suggest that you can set the width to 1088. Thanks. Regards, Fredy Zhang + diff --git a/sample_embedding_folder2/1171228.txt b/sample_embedding_folder2/1171228.txt new file mode 100644 index 0000000000000000000000000000000000000000..8d9ce3abd72b718a1ebd5dc872e254ce4c070cd5 --- /dev/null +++ b/sample_embedding_folder2/1171228.txt @@ -0,0 +1,16 @@ +Ticket Name: phy network card not work in tda2(dra7-evm.dts) platform + +Query Text: +Hi, My sdk version is "Version 03.06.00", I want to use phy that type is 88q1011 of mavell, then I add some device tree config in arch/arm/boot/dts/dra7-evm.dts like this: &mac { status = "okay"; dual_emac; }; &davinci_mdio { phy3: ethernet-phy@3 { reg = <3>; }; }; &cpsw_emac0 { phy_id = <&davinci_mdio>, <2>; phy-mode = "rgmii"; dual_emac_res_vlan = <1>; fixed-link { speed = <1000>; full-duplex; }; }; &cpsw_emac1 { phy_handle = <&phy3>; phy_id = <&davinci_mdio>, <3>; phy-mode = "rgmii"; dual_emac_res_vlan = <2>; /*fixed-link { speed = <100>; full-duplex; };*/ }; But it does not work,if I use fixed-link attribute,then can use this phy. But I don't want to use fixed-link ,So what should I config something else. + +Responses: +Hi, nie mingwang said: But it does not work,if I use fixed-link attribute,then can use this phy. Can you elaborate what you by does not work? Is the link not up or link is up but you are unable to ping? Can you confirm what is the rx and tx delay set-up in the phy? Depending on this you might have to change the phy-mode used. Regards, Tanmay + +Hi, the link is not up, it can not get the phyid by mdio interface in davinci_mdio.c file. And how do I can confirm rx and tx delay set-up? + +"phy_handle = <&phy3>;" actual is "phy-handle = <&phy3>;", I copy this error + +But link is still not up + +Hi, Sorry for the Delay. nie mingwang said: And how do I can confirm rx and tx delay set-up? This will be bootstrapped in the hardware design. Ideally the Schematic should have this detail. There should also be some phy register with this detail. You will have to check it in its datasheet. Can you please share the linux kernel log. Regards, Tanmay + diff --git a/sample_embedding_folder2/1173377.txt b/sample_embedding_folder2/1173377.txt new file mode 100644 index 0000000000000000000000000000000000000000..4aed7df1b0fc3a6426422f4368d2bc135e6b9659 --- /dev/null +++ b/sample_embedding_folder2/1173377.txt @@ -0,0 +1,18 @@ +Ticket Name: TDA4VM: [tda4vl] facing IPC init issues while integrating vision app TIDL code to custom frame work + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: TDA4VL, TDA2, SYSBIOS part number :J721S2_SW Reference: vision_app EVM _ TDA4VL A72 os -- Linux C7x -- FreeRtos I am trying to integrate the TIDL code to our frame work , just to ensure all libs related to TIDL are working fine with our basic frame work, but while running the code I am getting an error like below after the rpmsg_char_init(NULL) call. _rpmsg_char_find_ctrldev: could not find the matching rpmsg_ctrl device for virtio0.rpmsg_chrdev.-1.13 _rpmsg_char_find_ctrldev: could not find the matching rpmsg_ctrl device for virtio1.rpmsg_chrdev.-1.13 then TX channels for CPU creation for c7x_1 and c7x_2 are failing. I would like to know what is this error happening while calling rpmsg_char_init() and why its happening. Regards, Remesh + +Responses: +Hi any update on this ? Regards, Remesh + +Hi Remesh, It appears that your firmwares are not running properly. Please check the output of the following command on the target, and ensure that the rpmsg_chrdev device with the appropriate end-point is published to the Linux-side from your firmware. Each of the published rpmsg_chrdev device will have probed the rpmsg_char driver and should have created a rpmsg_ctrl device. $ ls -l /sys/bus/rpmsg/devices $ ls -l /sys/class/rpmsg regards Suman + +Hi Suman, please find the output of those commands oot@j721s2-evm:/# ls -l /sys/bus/rpmsg/devices total 0 lrwxrwxrwx 1 root root 0 Aug 30 12:50 virtio0.rpmsg_chrdev.-1.10 -> ../../../devices/platform/bus@100000/64800000.dsp/remoteproc/remoteproc0/remoteproc0#vdev0buffer/virtio0/virtio0.rpmsg_chrdev.-1.10 lrwxrwxrwx 1 root root 0 Aug 30 12:50 virtio0.rpmsg_chrdev.-1.20 -> ../../../devices/platform/bus@100000/64800000.dsp/remoteproc/remoteproc0/remoteproc0#vdev0buffer/virtio0/virtio0.rpmsg_chrdev.-1.20 lrwxrwxrwx 1 root root 0 Aug 30 12:50 virtio1.rpmsg_chrdev.-1.10 -> ../../../devices/platform/bus@100000/65800000.dsp/remoteproc/remoteproc2/remoteproc2#vdev0buffer/virtio1/virtio1.rpmsg_chrdev.-1.10 lrwxrwxrwx 1 root root 0 Aug 30 12:50 virtio1.rpmsg_chrdev.-1.20 -> ../../../devices/platform/bus@100000/65800000.dsp/remoteproc/remoteproc2/remoteproc2#vdev0buffer/virtio1/virtio1.rpmsg_chrdev.-1.20 lrwxrwxrwx 1 root root 0 Aug 30 12:50 virtio2.rpmsg_chrdev.-1.14 -> ../../../devices/platform/bus@100000/bus@100000:bus@28380000/bus@100000:bus@28380000:r5fss@41000000/41000000.r5f/remoteproc/remoteproc1/remoteproc1#vdev0buffer/virtio2/virtio2.rpmsg_chrdev.-1.14 lrwxrwxrwx 1 root root 0 Aug 30 12:50 virtio2.ti.ipc4.ping-pong.-1.13 -> ../../../devices/platform/bus@100000/bus@100000:bus@28380000/bus@100000:bus@28380000:r5fss@41000000/41000000.r5f/remoteproc/remoteproc1/remoteproc1#vdev0buffer/virtio2/virtio2.ti.ipc4.ping-pong.-1.13 lrwxrwxrwx 1 root root 0 Aug 30 12:50 virtio3.rpmsg_chrdev.-1.10 -> ../../../devices/platform/bus@100000/bus@100000:r5fss@5c00000/5c00000.r5f/remoteproc/remoteproc3/remoteproc3#vdev0buffer/virtio3/virtio3.rpmsg_chrdev.-1.10 lrwxrwxrwx 1 root root 0 Aug 30 12:50 virtio3.rpmsg_chrdev.-1.20 -> ../../../devices/platform/bus@100000/bus@100000:r5fss@5c00000/5c00000.r5f/remoteproc/remoteproc3/remoteproc3#vdev0buffer/virtio3/virtio3.rpmsg_chrdev.-1.20 lrwxrwxrwx 1 root root 0 Aug 30 12:50 virtio4.rpmsg_chrdev.-1.10 -> ../../../devices/platform/bus@100000/bus@100000:r5fss@5c00000/5d00000.r5f/remoteproc/remoteproc4/remoteproc4#vdev0buffer/virtio4/virtio4.rpmsg_chrdev.-1.10 lrwxrwxrwx 1 root root 0 Aug 30 12:50 virtio4.rpmsg_chrdev.-1.20 -> ../../../devices/platform/bus@100000/bus@100000:r5fss@5c00000/5d00000.r5f/remoteproc/remoteproc4/remoteproc4#vdev0buffer/virtio4/virtio4.rpmsg_chrdev.-1.20 root@j721s2-evm:/# root@j721s2-evm:/# ls -l /sys/class/rpmsg total 0 lrwxrwxrwx 1 root root 0 Aug 30 12:54 rpmsg_ctrl0 -> ../../devices/platform/bus@100000/64800000.dsp/remoteproc/remoteproc0/remoteproc0#vdev0buffer/virtio0/virtio0.rpmsg_chrdev.-1.20/rpmsg/rpmsg_ctrl0 lrwxrwxrwx 1 root root 0 Aug 30 12:54 rpmsg_ctrl1 -> ../../devices/platform/bus@100000/64800000.dsp/remoteproc/remoteproc0/remoteproc0#vdev0buffer/virtio0/virtio0.rpmsg_chrdev.-1.10/rpmsg/rpmsg_ctrl1 lrwxrwxrwx 1 root root 0 Aug 30 12:54 rpmsg_ctrl2 -> ../../devices/platform/bus@100000/65800000.dsp/remoteproc/remoteproc2/remoteproc2#vdev0buffer/virtio1/virtio1.rpmsg_chrdev.-1.20/rpmsg/rpmsg_ctrl2 lrwxrwxrwx 1 root root 0 Aug 30 12:54 rpmsg_ctrl3 -> ../../devices/platform/bus@100000/65800000.dsp/remoteproc/remoteproc2/remoteproc2#vdev0buffer/virtio1/virtio1.rpmsg_chrdev.-1.10/rpmsg/rpmsg_ctrl3 lrwxrwxrwx 1 root root 0 Aug 30 12:54 rpmsg_ctrl4 -> ../../devices/platform/bus@100000/bus@100000:bus@28380000/bus@100000:bus@28380000:r5fss@41000000/41000000.r5f/remoteproc/remoteproc1/remoteproc1#vdev0buffer/virtio2/virtio2.rpmsg_chrdev.-1.14/rpmsg/rpmsg_ctrl4 lrwxrwxrwx 1 root root 0 Aug 30 12:54 rpmsg_ctrl5 -> ../../devices/platform/bus@100000/bus@100000:r5fss@5c00000/5c00000.r5f/remoteproc/remoteproc3/remoteproc3#vdev0buffer/virtio3/virtio3.rpmsg_chrdev.-1.20/rpmsg/rpmsg_ctrl5 lrwxrwxrwx 1 root root 0 Aug 30 12:54 rpmsg_ctrl6 -> ../../devices/platform/bus@100000/bus@100000:r5fss@5c00000/5c00000.r5f/remoteproc/remoteproc3/remoteproc3#vdev0buffer/virtio3/virtio3.rpmsg_chrdev.-1.10/rpmsg/rpmsg_ctrl6 lrwxrwxrwx 1 root root 0 Aug 30 12:54 rpmsg_ctrl7 -> ../../devices/platform/bus@100000/bus@100000:r5fss@5c00000/5d00000.r5f/remoteproc/remoteproc4/remoteproc4#vdev0buffer/virtio4/virtio4.rpmsg_chrdev.-1.20/rpmsg/rpmsg_ctrl7 lrwxrwxrwx 1 root root 0 Aug 30 12:54 rpmsg_ctrl8 -> ../../devices/platform/bus@100000/bus@100000:r5fss@5c00000/5d00000.r5f/remoteproc/remoteproc4/remoteproc4#vdev0buffer/virtio4/virtio4.rpmsg_chrdev.-1.10/rpmsg/rpmsg_ctrl8 root@j721s2-evm:/# I am using rpmsg_char_init(NULL); from the application (like in the example), but how it will get the soc name/ family name while executing this api ? Regards, Remesh + +Hi Suman, could you please guide me to resolve this issue, I am blocked now. Regards, Remesh + +Hi Remesh, Remesh Neelamana said: _rpmsg_char_find_ctrldev: could not find the matching rpmsg_ctrl device for virtio0.rpmsg_chrdev.-1.13 _rpmsg_char_find_ctrldev: could not find the matching rpmsg_ctrl device for virtio1.rpmsg_chrdev.-1.13 These traces are not from the rpmsg_char_init() call, but they are from the rpmsg_char_open() call instead. You are trying to open the rpmsg_chrdev at endpoint #13 for each of the C7x cores. I do not see the rpmsg devices published at endpoint 13 from your C7x firmwares. I see 2 devices at endpoints 10 and 20. Either you are missing publishing a device at end-point 13, or you are trying to open the wrong device/not passing in the correct arguments to rpmsg_char_open(). Please see git.ti.com/gitweb Remesh Neelamana said: I am using rpmsg_char_init( NULL); from the application (like in the example), but how it will get the soc name/ family name while executing this api ? The API relies on kernel sysfs to look-up the SoC and configure itself. Please look through the source code of the ti-rpmsg-char library for details. https://git.ti.com/gitweb?p=rpmsg/ti-rpmsg-char.git;a=blob;f=src/soc.c;h=b9bb70be44592781f0d9a42feaea0000177323c9;hb=refs/heads/master#l162 regards Suman + +Hi Suman, Thanks for the detailed reply , up to now I worked with TDA2 series and sysbios , so some of the terms I am not getting properly . Like "rpmsg devices published at endpoint 13 from your C7x firmwares. I see 2 devices at endpoints 10 and 20. Either you are missing publishing a device at end-point 13" --> hope this "C7x firmwares" is the application in C7x and how to check / where to check in code are we publishing the device at respective end points , could you please show me the line in the sample code ? My code is similar to the example "ti-processor-sdk-rtos-j721s2-evm-08_04_00_06\vision_apps\apps\dl_demos\app_tidl" here and there few changes are there. when I compiled and loaded this example its working , but when I copied most the thing from this example and made my own project its not working . I am not able to understand what exactly I missed. regards, Remesh + diff --git a/sample_embedding_folder2/1173538.txt b/sample_embedding_folder2/1173538.txt new file mode 100644 index 0000000000000000000000000000000000000000..47855904339936fed2dadb20a3560774fa380e71 --- /dev/null +++ b/sample_embedding_folder2/1173538.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2SX: TDA2x: VISION SDK OPENVX Support + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi, Expert, I want to confirm if VISION SDK support OPENVX or not ? Do we have any guide for reference.? Thanks. Regards, Fredy Zhang + +Responses: +Hi Fredy, Yes, but it was just support for OpenVX framework and some OpenVX standard kernels running on C66x. Most of the other modules were supported only in vision sdk. So i really doubt framework along would be useful. Regards, Brijesh + +Brijesh, Thanks. Do we support OpenCV on TDA2? any guide ?Thanks. Regards, Fredy Zhang + +Hi Fredy, Please check vision sdk release notes/user guide. As far as i recollect, we did not support OpenCV on TDA2. Regards, Brijesh + +Brijesh, I check the release notes : 1. VISION SDK support OPENCV : https://software-dl.ti.com/processor-sdk-vision/esd/TDAx/vision-sdk/03_07_00_00/exports/VisionSDK_ReleaseNotes.pdf 2. OpenCV support on kernel 4.4. and didn't support on 4.19. https://processors.wiki.ti.com/index.php/Processor_SDK_Linux_Automotive_Release_Notes Regards, Fredy Zhang + diff --git a/sample_embedding_folder2/1173617.txt b/sample_embedding_folder2/1173617.txt new file mode 100644 index 0000000000000000000000000000000000000000..7bf23844fbfa24785f194ba18ea645310613c71a --- /dev/null +++ b/sample_embedding_folder2/1173617.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA4VM-Q1: TDA4VM : Display YUV422 BT601 Support + +Query Text: +Part Number: TDA4VM-Q1 Other Parts Discussed in Thread: TDA2, TDA4VM Hi, Expert, As our TDA2 VOUT interface can support BT601. Can you pls let me know if we can use the same way on TDA4VM to support BT601 ? Thanks. TDA2 Guide is here: https://www.ti.com/lit/an/spracg3/spracg3.pdf Regards, Fredy Zhang + +Responses: +Hi Fredy, Yes, we can use same mechanism, but there is another better way, using two video ports outputs, we can get BT601 output and this does not even require usage of DSS M2M. Regards, Brijesh + +Brijesh, Thanks, That's great . Do have have reference for two video port to support BT601 ? Thanks. Regards, Fredy Zhang + +Fredy, Although driver supports this interface, there is not reference example in SDK. Customers have brought up BT601 on their platform using this method. Regards, Brijesh + diff --git a/sample_embedding_folder2/1174647.txt b/sample_embedding_folder2/1174647.txt new file mode 100644 index 0000000000000000000000000000000000000000..508c5be48e14f8d87611be754ac51ec2f020a5f8 --- /dev/null +++ b/sample_embedding_folder2/1174647.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: TDA2 Quantization Mobilenetv2 Models + +Query Text: +Part Number: TDA2SX I use ptyorch to train the UNet model. The backbone network is mobilenetv2. The pytorch model was transferred to the onnx model, and the onnx model was transferred to the caffe model and quantified. However,the quantification failed. What is the reason?modles.zip + +Responses: +TDA2x devices support only a limited set of models fo development. Please refer to the user guide for supported/Validated models. Could you please share more details about your project and application requirements to suggest one of our latest devices? BTW, Please refer below for more details the TDA4x and AM62 github.com/.../edgeai-tidl-tools + diff --git a/sample_embedding_folder2/1175677.txt b/sample_embedding_folder2/1175677.txt new file mode 100644 index 0000000000000000000000000000000000000000..82392be40591afcdb314394c1cb4b5fe452ca8d8 --- /dev/null +++ b/sample_embedding_folder2/1175677.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2SX: Is it OK to mix VIN(VIP) pin groups? + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Due to routing constraint, we cannot have a group of consecutive pins (for example VOUT1_D0 to VOUT1_D7) on the TDA2 to be assigned to the same VIN(VIP) group input. Is it OK to break the group? For example, as the picture below indicated, we have some of them assigned to VIN3 and some of them assigned to VIN4. Based on the TDA2 datasheet, all these pins can be mux-ed to either to VIN3 or VIN4. we couldn't find any document confirm or disconfirm if the pin groups can be mixed and matched. We have our product on the line waiting for this... we'd really appreciate you guys input! Li + +Responses: +Hi LI, Well, this depends really on your input data format. If your input data format is YUV422, which requires just D0 to D15 datalines, it should be ok. But if your input data format on VIN3A is RGB888, then it is not possible to mix the data lines as shown above. Also please check pinmux and see if above VIN4A datalines also support missing VIN3A datalines, there is a possibility to mix them. Regards, Brijesh + +Hi Brijesh, Thanks for your reply. We are using this in image radar application where all 24 bit data lines are being used. (which is similar to your RGB888 example. We did checked the TDA2's pinmux and they support the above-mentioned pin functions. Could you please elaborate why in RGB888 case we cannot mix data lines? THanks Li + +Hi LI, Li Niu said: Could you please elaborate why in RGB888 case we cannot mix data lines? Because then we need to use two VIN ports to capture data and then need to manually merge the captured data.. I would not recommend doing this. Instead, if single VIN port can be used for capturing RGB888 format, by changing pinmux, it would be easier. Regards, Brijesh + diff --git a/sample_embedding_folder2/1176676.txt b/sample_embedding_folder2/1176676.txt new file mode 100644 index 0000000000000000000000000000000000000000..9a1bc5b160a5f127b7d0bd9e36071a61378375e1 --- /dev/null +++ b/sample_embedding_folder2/1176676.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA3XEVM: I configured 1243 through TDA3x. The parameters are workable, but an error was reported. With the same parameters, everything was normal on DCA1000 + +Query Text: +Part Number: TDA3XEVM Other Parts Discussed in Thread: TDA2, AWR1243 Hi Team, With the same parameter configuration, TDA3x reported an error (radar-framecopy instance was used). Parameter configuration comparison: mmwavestudio: The “chains_common_sample_ar12xx_config.c” part of the TDA3x routine: Best regards, Katherine + +Responses: +Hi Katherine, We won't be able to support Radar with TDA2 or TDA3. Please consider moving the other radar devices based on the below link. https://www.ti.com/sensors/mmwave-radar/overview.html Regards, Stanley + +Hello Stanley, How were parameters such as Idle Time of AWR1243 calculated based on the sampling rate and slope? Is there any requirement for minimum precision? Because I found that the parameters I set randomly could easily lead to false targets. Regards, Katherine + +Hi Stanley, Could you please follow up on my issue? Regards, Katherine + +Hi Katherine, As indicated by Stanley, we will not be able to support the Radar SDK with TDA2/TDA3. These SDK's are fairly old and there are newer/better options that exist. Kindly consider moving to the newer offerings from TI. Regards Karthik + diff --git a/sample_embedding_folder2/1177638.txt b/sample_embedding_folder2/1177638.txt new file mode 100644 index 0000000000000000000000000000000000000000..25d17685662cbd93246ca3b31377da667e35e0d0 --- /dev/null +++ b/sample_embedding_folder2/1177638.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2SX: When I run the our app, this interrupt occurs in the IPC initialization phase( ASSERT (system_ipc.c|System_ipcInit|119)), and this print tells us:SYSTEM: IPC: [IPU1-0] socket bind failed (Invalid argument, 22) !!! + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Problem description: In the TDA2 application initialization phase, when IPU1 or IPU2 (currently only catching the problem of these two processors) fails to start, the following error printing occurs during the initialization of IPC Error Print 1: The error log is printed as follows: the left side is the failure log: Interrupt here, point to the IPC initialization void (status = System_ipcNotifyInit();) under the hlos, and return an error value to cause the interrupt The corresponding codes are as follows: Int32 System_ipcInit(void) { Int32 status; Vps_printf(" SYSTEM: IPC: Init in progress !!!\n"); gSystem_ipcSharedMemObj = (System_IpcSharedMemObj*) OSA_memPhys2Virt( SYSTEM_IPC_SHM_MEM_ADDR, OSA_MEM_REGION_TYPE_SYSTEM_IPC ); OSA_assert(gSystem_ipcSharedMemObj!=NULL); status = System_ipcNotifyInit(); OSA_assertSuccess(status); status = System_ipcMsgQInit(); OSA_assertSuccess(status); Vps_printf(" SYSTEM: IPC: Init DONE !!!\n"); return SYSTEM_LINK_STATUS_SOK; } System_ ipcNotifyInit(); The function code is as follows: At the same time, we found the corresponding failed print in the error print, as follows: Error Print 2: as follows Found here 1. No Connection established with HLOS, calling rpmsgInit 2. No DMM_ PEG_ Setting and printing of PRIO 3. The socket connection with IPU2 is incorrect, and the help is not in the error log There is no Connection established with HLOS, calling rpmsgInit printing, and the corresponding code is as follows: Void System_ipcConnectToHLOSThread(void) { UInt32 retryCnt=0; UInt32 retval; Vps_printf("RpmsgInit in progress...\n"); while(1) { retval = Resource_getVdevStatus(RPMSG_LATE_ATTACH_A15_VDEV_ID); if(retval != RPMSG_LATE_ATTACH_A15_VDEV_ID) { BspOsal_sleep(10); retryCnt++; if(retryCnt%10==0) { Vps_printf("System_ipcConnectToHLOSThread",retryCnt) } } else { Vps_printf("Connection established with HLOS, calling rpmsgInit\n"); break; } } When we find a problem, Resource_ GetVdevStatus failed to return the correct value, resulting in failure to break. After adding the log, the code is found in the System_ The while (1) loop in the ipcConnectToHLOSThread function may end with a Resource_ The getVdevStatus is blocked, causing this exception. The log is as follows: [HOST] [IPU1-0] 1.440309 s: CHAINS: Application Started!!! [HOST] [IPU1-0] 1.453547 s: BOARD: Board Init in progress !!! [HOST] [IPU1-0] 1.454004 s: BOARD: Board Init Done !!! [HOST] [IPU1-0] 1.462026 s: [HOST] [IPU1-0] 1.493320 s: System_ipcConnectToHLOSThread---50 [HOST] [IPU1-0] 1.593332 s: System_ipcConnectToHLOSThread---60 [HOST] [IPU1-0] 1.693314 s: System_ipcConnectToHLOSThread---70 [HOST] [IPU1-0] 1.793326 s: System_ipcConnectToHLOSThread---80 [HOST] [IPU1-0] 1.893338 s: System_ipcConnectToHLOSThread---90 [HOST] [IPU1-0] 1.993350 s: System_ipcConnectToHLOSThread---100 [HOST] [IPU1-0] 2.093332 s: System_ipcConnectToHLOSThread---110 [HOST] [IPU1-0] 2.193344 s: System_ipcConnectToHLOSThread---120 [HOST] [IPU1-0] 2.293356 s: System_ipcConnectToHLOSThread---130 [HOST] [IPU1-0] 2.393338 s: System_ipcConnectToHLOSThread---140 [HOST] [IPU1-0] 2.493350 s: System_ipcConnectToHLOSThread---150 [HOST] [IPU1-0] 2.593363 s: System_ipcConnectToHLOSThread---160 [HOST] [IPU1-0] 2.693344 s: System_ipcConnectToHLOSThread---170 [HOST] [HOST ] 3.267217 s: SYSTEM: IPC: Init in progress !!! [HOST] [HOST ] 3.267278 s: SYSTEM: IPC: Notify init in progress !!! [HOST] [HOST ] 3.267370 s: SYSTEM: IPC: [IPU1-0] socket bind failed (Invalidargument, 22) !!! [HOST] [HOST ] 3.267370 s: SYSTEM: IPC: [IPU1-0] Notify RX channel create failed (endpoint = 81) !!! [HOST] [DSP1 ] 0.724547 s: ***** DSP1 Firmware build time 20:28:30 Dec 5 2022 [HOST] [DSP1 ] 0.724638 s: *** SYSTEM: CPU Frequency , [HOST] [DSP1 ] 0.725096 s: UTILS: CIO: Init Done !!! [HOST] [DSP1 ] 0.725126 s: SYSTEM: IPC init in progress !!! [HOST] [DSP1 ] 0.725157 s: SYSTEM: Attaching to [IPU1-0] ... [HOST] [DSP1 ] 0.899865 s: SYSTEM: Attaching to [IPU1-0] ... SUCCESS !!! [HOST] [DSP1 ] 0.901787 s: SYSTEM: Attaching to [IPU2] ... SUCCESS !!! [HOST] [DSP1 ] 0.906789 s: SYSTEM: Attaching to [DSP2] ... SUCCESS !!! Suspicions: 1. Caused by memory conflict Map data of IPU: resource_ Address and L2 of table_ ROM coincidence. Suspected abnormal The normal address of IPU2 or DSP1/DSP2: resource_ Table address and IPU2_ CODE_ MEM address is consistent 2. Loading file caused an exception It is found that the *. rsc file is deleted and the same error is reported in the log. Open the *. rsc file and find the resource_ The table is inside. It is suspected that the initialization problem is caused by the abnormal loading of the rsc file. + +Responses: +Hi Kong, Sorry for the delay, but is this issue still open for you? regards Suman + +Yes。 It has always existed and has not been resolved。 + diff --git a/sample_embedding_folder2/1178546.txt b/sample_embedding_folder2/1178546.txt new file mode 100644 index 0000000000000000000000000000000000000000..bc865094f460755df855ee73d2c90d31e3353539 --- /dev/null +++ b/sample_embedding_folder2/1178546.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: I2C bitbanging + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Dear Supporter, Due to short of I2C ports, we try to take I2C bitbanging solution. Is there any example of software demonstrated ways to implement such feature on TDA2? Thank you very much. Best Regards, Wilson Hung + +Responses: +Hi Wilson, We do NOT have any reference implementation on this. - Keerthy + diff --git a/sample_embedding_folder2/1186187.txt b/sample_embedding_folder2/1186187.txt new file mode 100644 index 0000000000000000000000000000000000000000..b29e3dd4c4310e1f51b974e367f9d09420d1ef29 --- /dev/null +++ b/sample_embedding_folder2/1186187.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA4VM-Q1: does RTOS Processor SDK for Radar support TDA4? + +Query Text: +Part Number: TDA4VM-Q1 Other Parts Discussed in Thread: TDA2 TI PROCESSOR-SDK-RADAR supports TDA2x & TDA3x does it support TDA4x? do you have plan to support TDA4X? we plan to design 4D imaging radar using cascaded mmWave sensor. what kind of processor is the best choice? TDA2, TDA3, or TDA4? what is the life cycle of TDA2 and TDA3? Thanks + +Responses: +Hi, There is no plan to create Radar SDK for TDA4. You can connect Radar to TDA4 to get object data with UART/SPI, but not raw data via CSI2. We don't have device driver support for Radar on TDA4. For TDA2 and TDA3, we are no longer making any more SDK release. However, our Radar BU is actively supporting cascade radar solution. I would recommend you to reach out to our Radar team for device selection. Regards, Stanley + diff --git a/sample_embedding_folder2/1191584.txt b/sample_embedding_folder2/1191584.txt new file mode 100644 index 0000000000000000000000000000000000000000..44b8cfdc6a56090e15d307df48c854b467837bb0 --- /dev/null +++ b/sample_embedding_folder2/1191584.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2P-ABZ: ISP difference to TDA3 + +Query Text: +Part Number: TDA2P-ABZ Other Parts Discussed in Thread: TDA2 Hi Experts, can you confirm if the TDA2 plus and the TDA3 have the same ISP? Or are there changes necessary if you want to reuse the software? BR Simon + +Responses: +Hi Simon, From the ISP design perspective, there is no difference between TDA2p and TDA3. + diff --git a/sample_embedding_folder2/1213467.txt b/sample_embedding_folder2/1213467.txt new file mode 100644 index 0000000000000000000000000000000000000000..90b049aa8b490db6f203a0ea6dbbe3e3b83b8fda --- /dev/null +++ b/sample_embedding_folder2/1213467.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2SX: How to initialize McSPI in the IPU1_1 core + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hello, engineer (Based on the(PROCESSOR_SDK_RADAR_03_08_00_00)framework) I initialized McSPI in the IPU1_0 kernel, I use the API in the file utils_mcspi.c, and it worked properly.When I calling the same code on IPU1_1, code compilation passed normally, but there was an exception during startup, The code startup phase stops after the log “Putting MPU in Retention...” 。 I tried the following modifications (1)add utils_mcspi.c \ into SRCS_ipu1_1 in file vision_sdk\links_fw\src\rtos\utils_common\src\SRC_FILES.MK (2)add ipu1_1 into bsp_mcspi_default_SOCLIST in file ti_components\drivers\pdk_01_10_04_05\packages\ti\drv\bsp_lld\mcspi\bsp_mcspi_component.mk But neither operation works. So how can I use McSPI in the IPU1_1 kernel? Could you please give me some guidance and suggestions. Thank you. + +Responses: +TDA2 is new to me. Could you please provide some debugging suggestions,thank you. + +now,the code can startup from sd card, when McSPI used in the IPU1_1 core, but when call "Bsp_boardSelectDevice(BSP_DRV_ID_MCSPI, BSP_DEVICE_MCSPI_INST_ID_1)" , the IPU1_1 core crash. the log as follow: + diff --git a/sample_embedding_folder2/1220181.txt b/sample_embedding_folder2/1220181.txt new file mode 100644 index 0000000000000000000000000000000000000000..4f1432a4f2b60d0b272c8b92ecef829ec516c164 --- /dev/null +++ b/sample_embedding_folder2/1220181.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2SX: related issue + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 HI this customer is very important for us, could help on this question? (Based on the(PROCESSOR_SDK_RADAR_03_08_00_00)framework) I initialized McSPI in the IPU1_0 kernel, I use the API in the file utils_mcspi.c, and it worked properly.When I calling the same code on IPU1_1, code compilation passed normally, but there was an exception during startup, The code startup phase stops after the log “Putting MPU in Retention...” 。 I tried the following modifications (1)add utils_mcspi.c \ into SRCS_ipu1_1 in file vision_sdk\links_fw\src\rtos\utils_common\src\SRC_FILES.MK (2)add ipu1_1 into bsp_mcspi_default_SOCLIST in file ti_components\drivers\pdk_01_10_04_05\packages\ti\drv\bsp_lld\mcspi\bsp_mcspi_component.mk But neither operation works. So how can I use McSPI in the IPU1_1 kernel? Could you please give me some guidance and suggestions. Thank you. + +Responses: +The driver has only been tested on IPU1_0. We don't support the driver to run on IPU1_1. + +Hi team, The customer is using TDA2's Ethernet feature, originally PROCESS_radar_SDK default NDK is running on IPU1_1 and now needs to use TCP to transfer large data to PC, so customer defines NDK to run in core of A15_0. Network 1000 Mbps rate negotiation is normal, TCP connection is normal, but the throughput rate is too slow, and it is discovered after the packet is captured with wireShake. When 4MB of data is sent, successive frames are lost between 90kB and 100kB of data, resulting in continuous retransmission of these frames. Except for the loss of these frames, the rest of the data is transmitted normally. They mainly made the following changes: 1. In the cfg.mk file in the tda2xx_cascade_BIOS_radar directory, set NDK_PROC_to_use=A15_0 2. Regenerate the associated privi.c and priv.h files in usecases, mainly modifying NetworkTx (IPU1_1) to NetworkTx (A15) 3. Adjust NDK_data_size and A15_0_data_size as appropriate in the file mem_segment_definition_BIOS.xs as follows: /* * ======== mem_segment_definition.xs ======== * ======== Single file for the memory map configuration of all cores ========= */ function getMemSegmentDefinition_external(core) { KB=1024; MB=KB*KB; DDR3_ADDR = 0x80000000; DDR3_SIZE = 512*MB; /* * In case of ECC_FFI_INCLUDE, DDR3_BASE_ADDR_1 and DDR3_BASE_SIZE_1 * are hard-coded in as values of gIpcNonCachedDataAddr and * gIpcNonCachedDataSize in Ipu1_0.cfg * If this DDR3_BASE_SIZE_0 is changed, update Ipu1_0.cfg */ DDR3_BASE_ADDR_0 = DDR3_ADDR; DDR3_BASE_SIZE_0 = 507*MB; /* The start address of the second mem section should be 16MB aligned. * This alignment is a must as a single 16MB mapping is used for EVE * to map SR0, REMOTE_LOG_MEM sections. * tlb_config_eveX.c need to be modified otherwise */ DDR3_BASE_ADDR_1 = DDR3_BASE_ADDR_0 + DDR3_BASE_SIZE_0; DDR3_BASE_SIZE_1 = DDR3_SIZE - DDR3_BASE_SIZE_0; //if(core=="ipu1_1" || core=="ipu1_0" || core=="ipu2" || core=="a15_0") //{ /* for ipu1_0, ipu1_1, ipu2 DDR3_BASE_ADDR_1 should be * in non-cached virtual address of * DDR3_BASE_ADDR_1 + 512*MB */ DDR3_BASE_ADDR_1 = DDR3_BASE_ADDR_1+512*MB; //} DSP1_L2_SRAM_ADDR = 0x40800000; DSP1_L2_SRAM_SIZE = 288*KB; DSP2_L2_SRAM_ADDR = 0x41000000; DSP2_L2_SRAM_SIZE = 288*KB; EVE1_SRAM_ADDR = 0x42000000; EVE1_SRAM_SIZE = 1*MB; EVE2_SRAM_ADDR = 0x42100000; EVE2_SRAM_SIZE = 1*MB; EVE3_SRAM_ADDR = 0x42200000; EVE3_SRAM_SIZE = 1*MB; EVE4_SRAM_ADDR = 0x42300000; EVE4_SRAM_SIZE = 1*MB; TOTAL_MEM_SIZE = (DDR3_SIZE); /* First 512 MB - cached */ /* EVE vecs space should be align with 16MB boundary, and if possible try to fit * the entire vecs+code+data in 16MB section. In this case a single TLB map would * be enough to map vecs+code+data of an EVE. * tlb_config_eveX.c need to be modified if any of these EVE memory sections or * SR1_FRAME_BUFFER_MEM section is modified. */ /* EVE self-branch instruction block - EVE1_VECS * In SBL, EVE self-branch instruction is inserted @ 0x80000000 if no AppImage for EVE. * This could overwrites the code/data loaded at 0x80000000. * So Reserving a small memory block in the beginning of the DDR @0x8000 0000 for * EVE self-branch instruction if no AppImage for EVE. * If EVE enabled, then the EVE VECS/DATA/CODE is placed @0x8000 0000, * and hence we did not observe any issue. * If EVE is disabled, then also DO NOT remove this EVE1_VECS section @0x80000000, * if no AppImage for EVE. This could overwrites the code/data loaded at 0x80000000 */ EVE1_VECS_SIZE = 0.5*MB; EVE1_CODE_SIZE = 2*MB; EVE1_DATA_SIZE =13.5*MB; EVE2_VECS_SIZE = 0.5*MB; EVE2_CODE_SIZE = 2*MB; EVE2_DATA_SIZE =13.5*MB; EVE3_VECS_SIZE = 0.5*MB; EVE3_CODE_SIZE = 2*MB; EVE3_DATA_SIZE =13.5*MB; EVE4_VECS_SIZE = 0.5*MB; EVE4_CODE_SIZE = 2*MB; EVE4_DATA_SIZE =13.5*MB; NDK_DATA_SIZE = 8*MB; if(java.lang.System.getenv("ECC_FFI_INCLUDE")=="yes") { IPU1_1_CODE_SIZE = 2.5*MB; IPU1_1_DATA_SIZE = 12.5*MB; IPU1_0_CODE_SIZE = 6*MB; IPU1_0_DATA_SIZE = 12*MB; } else { IPU1_1_CODE_SIZE = 2.5*MB; IPU1_1_DATA_SIZE = 12.5*MB; IPU1_0_CODE_SIZE = 6*MB; IPU1_0_DATA_SIZE = 16*MB; } IPU2_CODE_SIZE = 2*MB; IPU2_DATA_SIZE = 7*MB; DSP1_CODE_SIZE = 6*MB; DSP1_DATA_SIZE = 14*MB; DSP1_DATA_SIZE_2 = 1*MB; DSP2_CODE_SIZE = 4*MB; DSP2_DATA_SIZE = 14*MB; DSP2_DATA_SIZE_2 = 1*MB; /* A15_0_CODE_SIZE reduced since it is not used in .bld file. * Check .bld for details. Originally 2 + 14 MB. */ A15_0_DATA_SIZE = 43.5*MB; if(java.lang.System.getenv("OPENCL_INCLUDE") == "yes") { A15_0_DATA_SIZE_INC = 101*MB /* in MB */ A15_0_DATA_SIZE = (A15_0_DATA_SIZE + A15_0_DATA_SIZE_INC); } if(java.lang.System.getenv("ECC_FFI_INCLUDE")=="yes") { /* Ensure ECC regions are 64kB aligned */ SR1_FRAME_BUFFER_SIZE = 297.5*MB; SR1_BUFF_ECC_ASIL_SIZE = 1*MB; SR1_BUFF_ECC_QM_SIZE = 40*MB; SR1_BUFF_NON_ECC_ASIL_SIZE = 1*MB; } else { SR1_BUFF_ECC_ASIL_SIZE = 4*KB; SR1_BUFF_ECC_QM_SIZE = 4*KB; SR1_BUFF_NON_ECC_ASIL_SIZE = 4*KB; SR1_FRAME_BUFFER_SIZE = 305.5*MB - (SR1_BUFF_ECC_ASIL_SIZE + SR1_BUFF_ECC_QM_SIZE + SR1_BUFF_NON_ECC_ASIL_SIZE); if(java.lang.System.getenv("OPENCL_INCLUDE") == "yes") { SR1_FRAME_BUFFER_SIZE = SR1_FRAME_BUFFER_SIZE - A15_0_DATA_SIZE_INC; } } /* Second 512 MB - non-cached */ /* The start address of the second mem section should be 16MB aligned. * This alignment is a must as a single 16MB mapping is used for EVE * to map SR0, REMOTE_LOG_MEM sections. * tlb_config_eveX.c need to be modified otherwise */ REMOTE_LOG_SIZE = 160*KB; SYSTEM_IPC_SHM_SIZE = 480*KB; SYSTEM_AUTOSAR_IPC_SHM_SIZE = 512*KB; LINK_STATS_SIZE = 256*KB; HDVPSS_DESC_SIZE = 1024*KB; SR0_SIZE = 128*KB; OPENVX_SHM_SIZE = 1984*KB; EEPROM_PARAM_SIZE = 64*KB; if((java.lang.System.getenv("OPENCL_INCLUDE") == "yes")) { /* when OpenCL is enabled we need more SR0 space */ SR0_SIZE = 2*MB; } 4. MAC0 is used and static IP is set. Issue: if the NDK is configured to run in IPU1_1, Gigabit network communication is normal, 1MB of data per frame, and consecutive transmission does not result in missing frames. However, if the NDK is configured to run in the A15 kernel with the above configuration, the Gigabit network will be able to connect properly. However, if 4 frames are transmitted consecutively, 1 MB per frame, each time a frame is lost between 90 KB and 100 KB at 1 MB of the first frame is transmitted, the frames lost are eventually retransmitted through the TCP underlying retransmission mechanism. But this results in a throughput rate drop. The wireshake packet information is as follows: 192.168.31.100 is the PC. So the customer would like to know what should be aware of when configuring NDK to A15_0? Or is there anything wrong in the above configuration? Thanks. + +Customer can refer to below document to debug the issue. ~[SDK]/ti_components/networking/nsp_gmacsw_4_16_01_01/docs/NSP_GMACSW_Design.pdf ~[SDK]/ti_components/networking/nsp_gmacsw_4_16_01_01/docs/gmacsw/html/index.html Regards, Stanley + diff --git a/sample_embedding_folder2/1228994.txt b/sample_embedding_folder2/1228994.txt new file mode 100644 index 0000000000000000000000000000000000000000..30218ad2717f9807d0862be5f136fb1c94630c28 --- /dev/null +++ b/sample_embedding_folder2/1228994.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA4VH-Q1: Performance gain when using C7x instead of C66x DSP for non-TI-optimized code + +Query Text: +Part Number: TDA4VH-Q1 Other Parts Discussed in Thread: TDA2, Dear TI experts, we are currently using TDA2 (C66x DSP @ 1Ghz) to run C code that is not optimized w.r.t. TI intrinsics etc.The code has complex data structures and performs many operations in nested loops. We basically fully rely on the compiler optimizations (O3 level) to make best out of the DSP's capacity. We are now considering to switch to TDA4VH-Q1 (C7x DSP @ 1 GHz). In that context I have the following questions: 1) I know that C7x has a wider SIMD data path compared to C6x (512 bit vs 64 bit). Much much would we benefit from that given the same i.e. non-TI-optimized code? Meaning, will the compiler generally be able to make use of that in our case? 2) How could we take more advantage from the C7x (compared to C66x)? Would introducing the TI intrinsics etc. improve the performance a lot? What else would be helpful here? + +Responses: +Hi, 1) it becomes difficult to do parallelization when SIMD width is higher, so in the case of c7x. Non optimized code may not show any improvement on c7x. It may degrade as well in some cases 2) First thing for DSP optimization is that, most of the compute should happen in loops which can be software pipelined. Then on top of that using intrisics helps in optimizing it further. Hence having loops is first and foremost requirement for DSP optimization. in case of nested loops, only inner most loop will be software pipelined. There are plenty of documents available online for C66x software pipelining, and most of the concept/requirements of optimization of C66x applies to c7x. Regards Deepak Poddar + diff --git a/sample_embedding_folder2/1240612.txt b/sample_embedding_folder2/1240612.txt new file mode 100644 index 0000000000000000000000000000000000000000..042507d0df362ddc1183973e3f80a12cfc2d89e6 --- /dev/null +++ b/sample_embedding_folder2/1240612.txt @@ -0,0 +1,12 @@ +Ticket Name: SK-TDA4VM: TIDLRT multiple outputs + +Query Text: +Part Number: SK-TDA4VM Other Parts Discussed in Thread: TDA2 Hi, I'm trying to deploy a model with multiple output tensors, I noticed this similar thread, my questions are: 1. I'm not confident about how to access multiple output tensors, based on this thread, the key is changing of "j" right? 2. I remember a long time ago, when deploying models, I need to deal with the paddings (both inputs and outputs) but I didn't find anything in this tidlrt code. 3. I also remember I need to deal with de-quantization scalar, how to get this number for each output tensor? My model is in caffe format and I had a hard time converting it to onnx, so have to stick with tidlrt. I guess a standard 3 output tensor OD example would cover all these questions, can someone help? Thanks, Neal + +Responses: +Hi Neal, 1. You will need to allocate an output tensor and then assign a pointer that TIDL-RT can use for copying memory out from the accelerator. 2. For paddings, could you give an example to clarify? The input tensor shape needs to match the model - this can be accomplished several ways, including padding, resizing/interpolation. For the outputs, do you mean paddings from the end of one output tensor to the next one if everything is in the same area of contiguous memory? If you're assigning output memory locations like above, then padding shouldn't be an issue 3. I don't believe you need to apply a de-quantization function on the output; that should already be handled on the output of TIDL. The outputs are most likely in fp32 Link to TIDL-RT documentation (this is sometimes difficult to find or search shows old versions): software-dl.ti.com/.../index.html Best -Reese + +Thank you for the detailed information, I guess point 2 and 3 are tda2 era deployment routine. I don't have questions for now, I will try to follow your instructions first. + +Sure Neal. Closing this thread. Regards, Pratik + diff --git a/sample_embedding_folder2/1244744.txt b/sample_embedding_folder2/1244744.txt new file mode 100644 index 0000000000000000000000000000000000000000..15cf3c875bb8110b58289f1839c55edcfd539f6f --- /dev/null +++ b/sample_embedding_folder2/1244744.txt @@ -0,0 +1,22 @@ +Ticket Name: TDA2EVM5777: Error on eglInitialize + +Query Text: +Part Number: TDA2EVM5777 Other Parts Discussed in Thread: TDA2 Dear Experts, I am using version 03.08 Vision SDK in TDA2EVM5777 and only change the MAKECONFIG to tda2xx_evm_linux_all to enable the platform to Linux in Rules.make. I want to use GLES in this environment, but I got some error messages in below program: int main(int argc, char *argv[]) +{ + EGLDisplay display = eglGetDisplay(EGL_DEFAULT_DISPLAY); + + if (display == EGL_NO_DISPLAY) + { + fprintf(stdout, "eglGetDiaply ERR\n"); + } + + EGLint majorVer, minorVer; + + eglInitialize(display, &majorVer, &minorVer); //error happened and return EGL_NOT_INITIALIZED + + return 0; +} Error messages: PVR:(Error): WSEGL_InitialiseDisplay: Failed to create output [0, ] The same problem is also happened on the built-in commands "eglinfo", "gles1test1", and "gles2test1". Is there any prerequisite setting for the above commands and GLES lib in the platform? Best Regards, David + +Responses: +Hello David, Yes, there is a distinction here between the GPU drivers. By default, we provide the Windowing System GPU drivers (WS) and by default this will usually run weston/wayland. I'm not familiar with the TDA2 Vision SDK, but I would assume that by default when you boot up the board you see weston come up on the display? Or perhaps do you see anything on the display? The program that you are trying to run would not be using the windowing system's display, but rather a native EGL display, which is not the default driver we provide. Can you please confirm what comes up on your display when you boot up the board? And the boot logs as well? Thanks, Erick + diff --git a/sample_embedding_folder2/1251668.txt b/sample_embedding_folder2/1251668.txt new file mode 100644 index 0000000000000000000000000000000000000000..45cce45c1d38801e3ef9b02709bc854a14d38efe --- /dev/null +++ b/sample_embedding_folder2/1251668.txt @@ -0,0 +1,22 @@ +Ticket Name: PROCESSOR-SDK-AM62A: How to create a graphic layer for display ? + +Query Text: +Part Number: PROCESSOR-SDK-AM62A Other Parts Discussed in Thread: TDA2 Hello !! We want to create a graphic layer, like OSD, to overlay the display, video layer, with transparency attribute. It looks like the Display_GrpxLink on the TDA2 platform. https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-edgeai/AM62AX/latest/exports/docs/common/configuration_file.html Based on the above URL, I only found the display sink(kmssink) node. Do you know how to create the gst node or to construct the overlay graphic layer ? Thank you very much ! Regards, Eten + +Responses: +Hello Eten, Could you please share the example that was used on the TDA2 platform? On AM62A, we do not have a graphics layer as an input to the DSS. We have two input pipelines and DSS has the following properties that it can support with two pipelines: https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/09_00_00_03/exports/docs/linux/Foundational_Components/Kernel/Kernel_Drivers/Display/DSS7.html#tidss-properties Regards, Krunal + +Hi Krunal, In TDA4 SDK, the graphic initialization source code is in located in "vision_apps/utils/grpx/src/app_grpx.c". How can I perform the same function in AM62A by gstreamer? Regards, Eten + +Hi Eten, I am not sure I understand the request. There is no graphics core on AM62A so the above feature would not port. Regards, Krunal + +Hi Krunal, Based on your mentioned URL, https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/09_00_00_03/exports/docs/linux/Foundational_Components/Kernel/Kernel_Drivers/Display/DSS7.html#tidss-properties I guess that the graphic layer should be the "plane" object (connector ID 31 & 40). The following image is the HDMI output screen after executing"modetest -M tidss -P 40@37:1920x1080 -w 40:zpos:1 -w 40:alpha:32768". When using plane#31, the color will be filled on screen without alpha blending. We want to draw something on the plane#40 by ARGB888 and let it display asynchronously to overlap the screen (CRTCs). So how to set the system and to construct the corresponding gstream pipeline string. Regards, Eten + +Hi Eten, You can do something like this: gst-launch-1.0 videotestsrc ! video/x-raw,width=1920,height=1080 ! kmssink driver-name=tidss plane-properties="prop,zpos=1" Regards, Krunal + +Hi Krunal, Do I need to assign plane number ? How to set the global alpha blending value? Thank you !! Regards, Eten + +Hi Eten, You need to do gst-inspect-1.0 kmssink or waylandsink to see if those properties are exposed. Regards, Krunal + +Hi Krunal, Thanks for your support !! Regards, Eten + diff --git a/sample_embedding_folder2/1264951.txt b/sample_embedding_folder2/1264951.txt new file mode 100644 index 0000000000000000000000000000000000000000..0e5492a64e520b4436d21445dea0a6ecb67c3947 --- /dev/null +++ b/sample_embedding_folder2/1264951.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2EVM5777: I am getting I2C error please do help i am stuck here for more than a month + +Query Text: +Part Number: TDA2EVM5777 [HOST] [IPU2 ] 72.047215 s: CHAINS: Sensor create in progress [HOST] [IPU2 ] 72.050173 s: VIDEO_SENSOR: INST0 : I2C1 : I2C Addr = 0x30 [HOST] [IPU2 ] 72.051698 s: src/bsp_deviceI2c.c @ Line 789: [HOST] [IPU2 ] 72.051820 s: I2C1: DEV 0x30: RD 0x300a ... ERROR Here is our error!!! [HOST] [IPU2 ] 72.052125 s: src/bsp_deviceI2c.c @ Line 862: [HOST] [IPU2 ] 72.052217 s: I2C1: Error timeout 1 ms!!! [HOST] [IPU2 ] 72.053528 s: Assertion @ Line: 512 in /home/ee212844/Desktop/PROCESSOR_SDK_VISION_03_08_00_00/vision_sdk/apps/src/rtos/video_sensor/src/vid_sensor.c: status == SYSTEM_LINK_STATUS_SOK : failed !!! + +Responses: +This is failing in trying to configure one video sensor, can you check which video sensor you are using and if it is properly mounted? Please refer to vision sdk user guide for more details. Regards, Brijesh + +Hi Brijesh, Thank you for responding. We have checked the video sensor it is working fine but don't know how to configure I2C, as there are many dts files and its confusing. If you have any idea please do help. we are following the vision sdk user guide only. For you reference we are getting this error mentioned in the below link https://e2e.ti.com/support/processors-group/processors/f/processors-forum/770984/rtos-tda2-i2c-error-using-sat0089-daughter-board-after-connecting-ov10635-camera-module Looking forward for your reply. + +Hi Sankalp, Not exactly sure where the issue is. Are you able to talk with deserializer over i2c? If you probe i2c lines, do you see deserializer probed correctly? Lets first check if deserializer and then if serializer is working fine. Regards, Brijesh + diff --git a/sample_embedding_folder2/1272443.txt b/sample_embedding_folder2/1272443.txt new file mode 100644 index 0000000000000000000000000000000000000000..8b1df4881e638680060681c26c2b0fa586a538cb --- /dev/null +++ b/sample_embedding_folder2/1272443.txt @@ -0,0 +1,20 @@ +Ticket Name: TDA4VM: Debug A72-Linux on TDA4 using OS awareness in T32 + +Query Text: +Part Number: TDA4VM Other Parts Discussed in Thread: DRA829, , TDA2 Hello, Till now I was debugging some applications in Linux using GDB. But now I would like debug kernel and modules in our development, that runs on J721E EVM (in A72 core). I already now that as a must we should use vmlinux file to load all related symbols, but, I have tried to create proper cmm to run but I did not have clear results. In t32 intallation I don't see any related with TDA4 architecture: Do you have any cmm script to do so? BR + +Responses: +Hello Pablo, In scripts I've shared before you can find TRACE32 stop mode debug examples at ./cmm-tda4_dra829/mpu-a72/onchip_trace/processor_trace/, ex: dra829-evm-linux.cmm. These work well for kernel drivers and modules. You will need to make sure your vmlinux is compiled with flags CONFIG_PID_IN_CONTEXTIDR=y and CONFIG_DEBUG_INFO=y. You should be able to get these by changing a config fragments in the build area. The resulting vmlinux will go from ~20MB to 100MB+. The end image code does not change but a lot of code and struct information is included in the object file which the debugger needs. If you want to do run mode debugging (using TRACE32's GUI to talk to gdbserver) you can do that also. Using kernel assisted debug is more natural for some things compared to stop mode debugging. It is possible to use both stop and run mode together. The PDF set tells how to do this. For run mode debugging you give an IP address and port to connect to. The LB distro does come with a working gdbserver binary you can use on the target. I've found for some distros and versions of GDB it could be hard to find a working build, in those cases the LB binary worked where other paths failed. If you want to use offchip trace with the Linux kernel on the TDA4VM EVM, you also will need to ensure the signals are routed through the FET mux to the MIPI-60. Linux by default sets the signal routing to a daughter card. A DT update will allow it to route properly. a/k3-j721e-common-proc-board.dts b/k3-j721e-common-proc-board.dts --- a/k3-j721e-common-proc-board.dts 2021-01-28 14:54:52.415495991 -0800 +++ b/k3-j721e-common-proc-board.dts 2021-01-28 14:53:39.463212359 -0800 @@ -611,7 +611,7 @@ /* P12 - MCASP/TRACE_MUX_S1 */ gpio-hog; gpios = <10 GPIO_ACTIVE_HIGH>; - output-low; + output-high; line-name = "MCASP/TRACE_MUX_S1"; }; }; It can be useful to set up to stop just at the kernel entry to setup driver breakpoints. I'd suggest using the dra829-evm-linux-early-breakpoint-insertion.cmm example for that. It works well with SD card booting. If you are debugging modules, then using the awareness pull down at insmod time should work well enough. Some useful links might be: https://www2.lauterbach.com/pdf/rtos_linux_stop.pdf https://www2.lauterbach.com/pdf/rtos_linux_run.pdf https://www2.lauterbach.com/pdf/hypervisor_user.pdf https://repo.lauterbach.com/publications/integrated_run_and_stop_mode_debugging_for_embedded_linux.pdf https://repo.lauterbach.com/linux_flyer_web.pdf https://www2.lauterbach.com/pdf/training_rtos_linux.pdf https://repo.lauterbach.com/video/tut-e_linux-debug_slides.pdf Regards, Richard W. + +Richard Woodruff said: In scripts I've shared before you can find TRACE32 stop mode debug examples at ./cmm-tda4_dra829/mpu-a72/onchip_trace/processor_trace/, ex: dra829-evm-linux.cmm. These work well for kernel drivers and modules. You will need to make sure your vmlinux is compiled with flags CONFIG_PID_IN_CONTEXTIDR=y and CONFIG_DEBUG_INFO=y. You should be able to get these by changing a config fragments in the build area. The resulting vmlinux will go from ~20MB to 100MB+. The end image code does not change but a lot of code and struct information is included in the object file which the debugger needs. Hello Richard. I have compiled with those flags activated. Then I will check, but size is much more big that you said... Thanks a lot for trace problem, this was in past already considered in: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1192456/j721excpxevm-trace-lines-multuiplexed-with-deserializer-in-jacinto7-j721e-dra829-tda4vm-evaluation-module.f Thanks a lot for list of documentation. I have asked to spanish Lauterbach provider if license is needed to have run&stop mode. I will inform as soon as I have results. Many thanks + +Hello Pablo, Yes, your vmlinux was much bigger than I was guessing. In my local usages it normally goes from like 20MB to ~120MB. I suppose it depends on what all is in the build. Probably your custom system is packed with devices. Or maybe you are doing something like using LLVM and I'm only used GCC. You should not need any different licenses to use HLOS debug features. The typical needed are arch + trace + multi-core. If your cable has a couple core types you will not need multi-core as its inferred. Your LB provider will know the details for sure, I'm just commenting on my understanding. Regards, Richard W. + +I am in conversations with LB provider to prepare fully run&stop mode. Thanks for your support + +Hello Pablo, That will enable a lot of debug possibilities. Different usage scenarios will have different effort levels. Kernel driver debugging in a single address space is straight forward, working with kernel modules is a bit more work. There is sometimes a desire to get good user space timing information and effort will scale. The debugger handles the tricky part with multiple address spaces and associations, but it can be a bit of work to get all the debug friendly objects for all processes/threads and their dynamic/shared libraries. In a really big system focus is required as it all can't be gotten, so you need to use different native tools to locate hot spots, then zoom in and focus using the debugger. On TDA4 recently I've done more low level then Linux level so I checked what our current devs are doing. They were recommending a few more options past what is in the Lauterbach pdf files (normal debug_info and nokaslr) our team was saying CONFIG_CORESIGHT=n and ARM_CORESIGT_PMU_ARCH_SYSTEM_PMU=n also helps in current kernel. Regards, Richard W. + +Hello, Richard. As per our LB provider explanation, it is needed aditional license for Run mode with no limitation, for what we need is running T32 with "PBI=GDB". This is useless at all, as we can use GDB from other IDEs for free. For Stop mode (that would allow debugging Kernel and drivers), it is not needed aditional. I asked for RUN&STOP that would not need aditional license, and It could be very useful for debug processes User Space with kernel running and for drivers debugging in same instance. LB is describing this "dual" mode in its documentation (https://repo.lauterbach.com/publications/integrated_run_and_stop_mode_debugging_for_embedded_linux.pdf, https://www2.lauterbach.com/pdf/rtos_linux_run.pdf), but as I found many problems to run it, after asking them, they (provider) confirmed this mode is not available. Did you experiment with it?. Or do you open different instances for GDB and STOP mode? Many thanks + +Hello Pablo, I noticed a reply was missed to your last question. Seems it came in when I was OOO. I had used GDB+Stop last while working a complex issue on TDA2 (armv7). I've not had the need to do the same on TDA4 (armv8) for the issues I looked into. For some complex issues which are important to solve, I do find exporting a system to LB is a way to work through any tool side issues. Regards, Richard W. + diff --git a/sample_embedding_folder2/1276190.txt b/sample_embedding_folder2/1276190.txt new file mode 100644 index 0000000000000000000000000000000000000000..ba6ed96505bef09ffc469f72e786c539c4d5265a --- /dev/null +++ b/sample_embedding_folder2/1276190.txt @@ -0,0 +1,12 @@ +Ticket Name: AM5728: DSP transfer bandwidth and latencies across L3 to on-chip SRAM and DDR + +Query Text: +Part Number: AM5728 Other Parts Discussed in Thread: TDA2 We are experiencing excessive interrupt latency on the DSP which is running a TI-RTOS application. Please help us with answers to the following questions, assuming the initiator of the transfer is one of the C66x cores: What is the maximum data transfer bandwidth and expected latency across the L3 Interconnect fabric itself (assuming L3 fabric is configured for max clock which I think is 256 MHz)? What is the maximum data transfer bandwidth and expected latency across the L3 interconnect-to-OCMC_RAM (i.e. the on-chip Level 3 memory)? What is the maximum data transfer bandwidth and expected latency across the L3 interconnect-to-DMM (Dynamic Memory Manager)-to-EMIF interface-to-external DDR3-1066 SDRAM? Thanks + +Responses: +Hi Rperezti, Due to a holiday in India, half of our team is currently out of office. Please expect a 1~2 day delay in responses. Apologies for the delay, and thank you for you patience. Regards, Takuma + +Hello Rperezti, Please see the detailed performance document for the TDA2 which will be very similar performance for AM5728x: https://www.ti.com/lit/an/sprac21a/sprac21a.pdf Please let us know if you have any additional questions. -Josue + +Thank you Josue. This document is helpful. We may need additional help to debug the interrupt latency problem in the system but we will open a separate thread for further questions. + diff --git a/sample_embedding_folder2/1294536.txt b/sample_embedding_folder2/1294536.txt new file mode 100644 index 0000000000000000000000000000000000000000..e3941517951dd84a0bcea5992672bd2fecfc9a43 --- /dev/null +++ b/sample_embedding_folder2/1294536.txt @@ -0,0 +1,10 @@ +Ticket Name: TDA2SX: AM5729 (similar to the TDA2) + +Query Text: +Part Number: TDA2SX Hi Stanley, I'm trying to solve the same issue, I need to disable the EVEs in the bootloader. I reviewed the provided VisionSDK documents but I cannot find a section that addresses this topic. Thank you Casey + +Responses: +Is there a way to disable the EVEs without turning off the VDD_DSP power rail to the EVE, IVU, and GPU? + +As long as there is no EVE image in your multi-core AppImage, SBL (bootloader) will not load any code or boot EVE. + diff --git a/sample_embedding_folder2/1296624.txt b/sample_embedding_folder2/1296624.txt new file mode 100644 index 0000000000000000000000000000000000000000..692d26015ca6f74a6cb8133107f464411f6940e2 --- /dev/null +++ b/sample_embedding_folder2/1296624.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2SX: The TDA2SX processor on MMWCAS-DSP-EVM does not enable the USB3.0 port + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: MMWCAS-DSP-EVM, , TDA2, MMWCAS-RF-EVM, AM68, AM69 Hi, I am using the PROCESSOR-SDK-VISION Version: 03.08.00.00 to build a custom firmware for the MMWCAS-DSP-EVM. The goal is to use the USB3.0 available on the MMWCAS-DSP-EVM as shown in the figure below. The issue is the USB3.0 port seems not working. I compiled the PROCESSOR-SDK-RADAR, then the PROCESSOR-SDK-VISION, yet the USB3.0 is not enabled on both SDKs. Going more in details, I understand that the USB3.0 port can operate as OTG. I tried in both "gadget" and "host" mode, yet the port seems not functioning. Going through the design files, the port is powered from the TDA2SX processor as shown in the three below figures. The USB1_DRVBUS (AB10) pin on the TDA2 processor should be high to enable the TPS chip and power up the USB stick (gadget) on the USB3.0 port. Yet, when I probed the TDA_USB1_DRVBUS wire using a multi-meter on the board, the signal is low. I followed this thread which succeeded in connecting an external Hard drive to the TDA2x Demo board. Even after modifying the linux kernel using kernel_menuconfig to load USB related drivers on boot, it still does not work. I am wondering if the pin is faulty or disabled by design? If it is disabled, can you provide a way to modify the firmware to enable it. Thank you, + +Responses: +Hi, USB was not validated on this EVM and there is no plan to support it in SDK. Regards, Stanley + +Hi, There is no plan to support USB on this EVM. Regards, Ajay + +Hi, I understand it is not supported. Can you point out which is the closest evaluation board and SDK compatible with the MMWCAS-RF-EVM and has USB3.0 support? Based on this reply (Link) seems that all TDA2x boards have USB3.0 support enabled by default on the SDK. Does that mean that USB3.0 can be enabled from the SDK? Thank you, + +Hi, USB support is available on DRA7x/TDA2x EVM. However, DRA7x/TDA2x device family is our previous generation device. Have you evaluated our current generation AM68/AM69 device family? I highly recommend you to consider the new device which has more active development/support. https://www.ti.com/product/AM68 Regards, Stanley + diff --git a/sample_embedding_folder2/1298769.txt b/sample_embedding_folder2/1298769.txt new file mode 100644 index 0000000000000000000000000000000000000000..da2e272aeafdb4ddce09794e2aa85c9a82878641 --- /dev/null +++ b/sample_embedding_folder2/1298769.txt @@ -0,0 +1,26 @@ +Ticket Name: TDA2E: MMWCAS-DSP-EVM + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2, MMWCAS-DSP-EVM I am using MMWCAS-DSP-EVM and want to program the DSP inside TDA2. I can connect the A15 with no problem but not the DSPs.How to connect DSP using JTAG/? + +Responses: +Hello, I am directing your inquiry to the domain engineer best able to support you. Best, Kelvin + +Hi Kelvin Thanks! BR Jack + +Hi Kelivin For how long I can get the result? Thanks! BR Jack + +Hi Chung, Can you confirm if you have followed all the steps from section 3.9 of the following document? PROCESSOR_SDK_RADAR_03_08_00_00/vision_sdk/docs/UserGuides/VisionSDK_UserGuide_TDA2xx.pdf Regards, Kaushik + +Hi Sir It is not working for me. Please advice what I can do for next step. Sorry, I do need help on this. BR Jack + +Hi Sir I also gotthis. BR Jack + +I did not find the zip field in my folder. BR Jack + +Hi Chung, Please find the link below: https://software-dl.ti.com/sdo/sdo_apps_public_sw/CCSv9/auto_rvp_rsp_device_support_1.1.8.zip You should get the required GEL files from this package. Alternatively, you can add this product (TDA2) on the latest version of CCS installation as well. Regards, Kaushik + +Hi Kaushik It is stil not working for me. I got the message for connection test through CCS12. [Start: Spectrum Digital XDSPRO USB Emulator] Execute the command: %ccs_base%/common/uscif/dbgjtag -f %boarddatafile% -rv -o -F inform,logfile=yes -S pathlength -S integrity [Result] -----[Print the board config pathname(s)]------------------------------------ C:\Users\jackho\AppData\Local\TEXASI~1\CCS\ ccs1250\0\0\BrdDat\testBoard.dat -----[Print the reset-command software log-file]----------------------------- This utility has selected a 560/2xx-class product. This utility will load the program 'sd560v2u.out'. The library build date was 'Sep 6 2023'. The library build time was '14:41:42'. The library package version is '9.13.0.00201'. The library component version is '35.35.0.0'. The controller does not use a programmable FPGA. The controller has a version number of '6' (0x00000006). The controller has an insertion length of '0' (0x00000000). The cable+pod has a version number of '8' (0x00000008). The cable+pod has a capability number of '7423' (0x00001cff). This utility will attempt to reset the controller. A error occurred while attempting to reset the controller. -----[An error has occurred and this utility has aborted]-------------------- This error is generated by TI's USCIF driver or utilities. The value is '-128' (0xffffff80). The title is 'SC_ERR_CMD_INVALID_MULT'. The explanation is: Unified-SCIF is operating in multiple client mode. The operation being attempted is invalid in this mode. It is likely a problem with `SC_CMD' in SMG_call(). [End: Spectrum Digital XDSPRO USB Emulator] + +hI Kaushik I got them all connected. thanks! + diff --git a/sample_embedding_folder2/1306816.txt b/sample_embedding_folder2/1306816.txt new file mode 100644 index 0000000000000000000000000000000000000000..9a1f737d5050ffc385002a00bdb49a9cad93bf36 --- /dev/null +++ b/sample_embedding_folder2/1306816.txt @@ -0,0 +1,14 @@ +Ticket Name: TDA2E: How I can access CDDS for necessary doc to learn how to program TDA2 ? + +Query Text: +Part Number: TDA2E Other Parts Discussed in Thread: TDA2 Hi Sir Is any one can provide us a way to access CDDS for nessary docs? BR Jack + +Responses: +Hi Jack, Which document are you looking for? Most of TDA2 documents are on ti.com under the product folder. Regards, Stanley + +Hi Stanley I need many docs from CDDS. But, I need these docs for now. Thanks BR Jack + +Hi Jack, I will close this ticket and follow up with you offline. Regards, Stanley + +ok, thx + diff --git a/sample_embedding_folder2/1307341.txt b/sample_embedding_folder2/1307341.txt new file mode 100644 index 0000000000000000000000000000000000000000..67968db3838a88aa33b2008702480cf06635cb7c --- /dev/null +++ b/sample_embedding_folder2/1307341.txt @@ -0,0 +1,12 @@ +Ticket Name: CCSTUDIO: How to compile a imported makefile project for EVE in CCS12? + +Query Text: +Part Number: CCSTUDIO Hi Sir I imported a makefile project from EVE startware example, eve_bfswtch_arp32_error_intr. 1.I can compile it use CCS termimal with make command. 2. I got errors with the same makefile using CCS build in compile. - I do not know what it is and how to change the compiler. I attached the screen shot to show the makefile, the imported project, termimal compiled result and the compile error shows in console window. Thanks BR Jack + +Responses: +Hello Chung, Thank you for reaching out to Texas Instruments E2E support forum. I have taken your inputs and working on it. Please allow some time to revert back. Best Regards, Tushar + +Hello Chung, Apologies for the delayed response. Can you please specify which device are you using? Regards, Tushar + +Hi Looks like you are discussing this with the right product group on the following E2E https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1307552/ccstudio-compile-eve-starterware-fail-can-not-find-rts6740-lib/4969901#4969901 So will mark this one closed. + diff --git a/sample_embedding_folder2/1307552.txt b/sample_embedding_folder2/1307552.txt new file mode 100644 index 0000000000000000000000000000000000000000..fab9ba02eb4b16c333bf95c1ac377dfb0b4b4894 --- /dev/null +++ b/sample_embedding_folder2/1307552.txt @@ -0,0 +1,24 @@ +Ticket Name: CCSTUDIO: Compile EVE starterware fail. Can not find RTS6740.lib + +Query Text: +Part Number: CCSTUDIO Other Parts Discussed in Thread: TDA2 Hi Sir I compiled the EVE starterware example project "mailbox_eve1_to_dsp1" But, it failed and show it short of rts6740.lib. Thanks BR Jack Ho + +Responses: +Hello, What TI processor are you writing code for? Regards, Nick + +Hi Nick It is TDA2X Jack + +Hello Jack, Got it. Sending your thread other to the TDA2 team. Please note that responses may be delayed due to the holidays. Regards, Nick + +If you are building SDK example from CCS project, it is not supported. You need to use makefile system with commend-line build from commend prompt. Please refer to the PDK user guide in SDK for details. + +Hi Stanley Thanks, I got it work on CCS. But, I need more doc to get more inside of EVE. Please help me withe access of CDDS. Thanks BR Jack Ho + + + +CDDS access requires signed NDA with TI. Please contact our local Sale office to assist with that. + +Hi Stanley Could you provide me the contact info? BR Jack + +Will share the contact offline. + diff --git a/sample_embedding_folder2/1308087.txt b/sample_embedding_folder2/1308087.txt new file mode 100644 index 0000000000000000000000000000000000000000..d1b70e6e66606625f5980d0ae13e2ef6971ad7f5 --- /dev/null +++ b/sample_embedding_folder2/1308087.txt @@ -0,0 +1,12 @@ +Ticket Name: PROCESSOR-SDK-TDAX: Where I can find "algorithms\src\isp\src\isp_graph.c"? + +Query Text: +Part Number: PROCESSOR-SDK-TDAX Hi Sir, Is any one can point me where to find "algorithms\src\isp\src\isp_graph.c" ? This is from "BA M Algorithm Framework User’s Guide". Thanks BR Jack + +Responses: +Hi, This is not released in the source form. Please contact your local TI support team for this. Regards, Brijesh + +Hi Brijesh Thanks, I guess I found it in SDK. BR Jack Ho + +Thanks, then closing this ticket. + diff --git a/sample_embedding_folder2/1323866.txt b/sample_embedding_folder2/1323866.txt new file mode 100644 index 0000000000000000000000000000000000000000..39ad55bc07594e7e6dc2e83518c171b9f9a622f5 --- /dev/null +++ b/sample_embedding_folder2/1323866.txt @@ -0,0 +1,62 @@ +Ticket Name: SK-AM62A-LP: Watch OSPI NAND flash content in CCS + +Query Text: +Part Number: SK-AM62A-LP Other Parts Discussed in Thread: TDA2E, TDA2 Hello. In order to check content on OSPI NAND I would like to have proper configuration to see it in Memory Watcher in Code Composer. In other TI microcontrollers (such us TDA3 and TDA2A) wich we used in past, we had that choice. Just configuring to memory map, minor register changes where needed Could you provide configuratio, if possible, to have same for AM62A? Thanks + +Responses: +Hello, May I ask what OS are you using- MCU+/RTOS or Linux? Additionally, what SDK version and Code Composer Studio version are you using? This way I can best refer you to the right expert for your inquiry. -Daolin + +Hello, Currently I am using MCU but next steps will be also with Linux. The SDK is _09_01_00_39 and CCS 12.06 BR + +Hello, Ok, I have assigned you to our MCU+ expert on OSPI. Once they help you on the MCU+ side, if you still need help on the Linux side, feel free to submit another E2E inquiry. -Daolin + +Hello Pablo, I am assuming by memory watcher you are referring to memory browser. Can you explain more about what do you mean by watch OSPI nand flash content ? You can also point me to a thread where you got a chance to work on this as I saw you were talking about other TI Microcontrollers. Looking forward to your response. Regards, Vaibhav + +Hello, Vaibhav Kumar said: I am assuming by memory watcher you are referring to memory browser. Yes, sorry Vaibhav Kumar said: Can you explain more about what do you mean by watch OSPI nand flash content ? Set memory browser to address memory layout of OSPI nand flash and see its content. TDA3 or TDA2E, configuring QSPI peripheral, system performed read operations automatically and I was able to see flash content I have searched for a while about any communication that I could have had with TI about that in TDA2E/TDA3, but I did not find. Let me share configurations needed in TDA2E/TDA3 to achive that (in this case is preparing in Lauterbach with commands). QSPI_SPI_SETUP0_REG = 0012376C (PER.Set.simple D:0x4B300054 %Long 0x0012376C) QSPI_SPI_SWITCH_REG = 00000001 (PER.Set.simple D:0x4B300064 %Long 1) CTRL_CORE_CONTROL_IO_2 = 00000101 --> (PER.Set.simple D:0x4A002558 %Long 0x101) I think is related with access in memory map and/OR SFI: (from datasheet, chapter 24.5.4.1) I don't know if something similar could be used in AM62A. BR + +Hello Pablo, So lets consider a flow as follows. Lets suppose we have some content ready to be flashed to the OSPI NAND flash part. Now from your explanation above, I think you are asking how one can see the contents once its flashed to the part ? So basically wanting to see from OSPI flash part itself. Please correct my understanding if I am incorrect. Looking forward to your response. Regards, Vaibhav + +Correct, your understanding is correct Vaibhav Kumar said: So basically wanting to see from OSPI flash part itself. I want to see flash memory in CCS memory browser. BR + +Hi Pablo, I think this use case is covered. Let me check this in context of the ospi_flash_io SDK example. Here we are performing flash write and read operation to a certain flash offset. Please allow me sometime to comment on this. Regards, Vaibhav + +Thanks.let me know as soon as you receive info. + +Hi Pablo, Yes I will put out a response here once I have it working. Regards, Vaibhav + +Hello. I am a little bit confused.... You said Vaibhav Kumar said: I think this use case is covered. Let me check this in context of the ospi_flash_io SDK example. Here we are performing flash write and read operation to a certain flash offset. Please allow me sometime to comment on this. With this comment I understood you were looking for information Vaibhav Kumar said: Yes I will put out a response here once I have it working. With this comment, I understand that this feature is not available and it will.... Please, I would appreciate you clarify better. Thanks + +Hi Pablo, So we have a sample SDK example called ospi_flash_io, where we flash write some data to 0x200000 flash offset, and then read it back from the same offset that is 0x200000. After this we compare the data and check if written == read data So I meant to say that I am going to leverage this example and see if I can find a way to see flash contents from CCS memory browser. I hope this clarifies. Regards, Vaibhav + +Vaibhav Kumar said: So we have a sample SDK example called ospi_flash_io, where we flash write some data to 0x200000 flash offset, and then read it back from the same offset that is 0x200000. Yes. I have worked with it. It is working. The required feature does not depends on which applicaition is running. If SOC is booting from flash, we could see with this feature WHOLE content on flash using CCS. Please point to the feature that I am asking. BR + +Hello Pablo, Please expect responses by next week. Best Regards, Vaibhav + +Hello Pablo, If DAC mode is used, and lets say you are flashing to a certain offset in the flash. From CCS memory browser you should be able to see the flash contents from 0x60000000 onwards. I have been able to do this successfully. Please find the attached screenshot of when the write to flash is performed. Note: 0x60000000 is not the address of the TX Buffer. Looking forward to your response. Regards, Vaibhav + +Thanks. Yes I have confirmed that with that example, the address shows the content of OSPI AFTER execution. When you say: Vaibhav Kumar said: Note: 0x60000000 is not the address of the TX Buffer. I understand that is a remapping and is not an effective flash . It is needed to perform a SW read to see the content in FSS In TDA2/TDA3 that I worked before, in QSPI with SFI translator, QSPI commands are done properly to fill Memory browser in CCS with Flash effective content. There is no need to run Flash read from SW running in core. Imagine that I want to reset the core, set a BP iin main and before making any erase/write operation I like to see the content. What could I do that? With your solution I see 0's because (I guess) is RAM initialized/BSS what I am seeing in 0x60000000. Is there any mechanism to see the content of flash in that way? + +Hello Pablo, I understand your use case of being able to see flash contents from CCS memory browser, BEFORE writing to the flash. So, it translates to seeing the initial value in the flash. I am working on this. You can expect updates by today. Regards, Vaibhav + +Hello. I have never said that the use case is to see flash content AFTER or BEFORE writing to the flash Pablo Varela said: Set memory browser to address memory layout of OSPI nand flash and see its content. TDA3 or TDA2E, configuring QSPI peripheral, system performed read operations automatically and I was able to see flash content Pablo Varela said: I want to see flash memory in CCS memory browser. Pablo Varela said: In order to check content on OSPI NAND I would like to have proper configuration to see it in Memory Watcher in Code Composer. In my last comment, I showed you one use case that is not covered by your suggestion. Pablo Varela said: Imagine that I want to reset the core, set a BP iin main and before making any erase/write operation I like to see the content. What could I do that? With your solution I see 0's because (I guess) is RAM initialized/BSS what I am seeing in 0x60000000. Sorry if I was not clear. We want to see Flash content with no specific firmware running in any core. Just running proper GEL/cmm file would be enough. Is this possible with OSPI_NAND-FSS-AM62A? + +Pablo Varela said: We want to see Flash content with no specific firmware running in any core. Just running proper GEL/cmm file would be enough. Or maybe any CCS Script? + +Hi Pablo, Pablo Varela said: We want to see Flash content with no specific firmware running in any core. I understand this. Please allow me sometime to check the possibility of this. Regards, Vaibhav + +ok, thanks + +Hello Pablo, Please expect responses by today. Regards, Vaibhav + +Good to know. Thanks + +Hi Pablo, Can you tell me about the exact flash part. I am assuming you are using W35N01JW. Please correct my assumption. Regards, Vaibhav + +Please, Vaibhav, look at the title of this long chain of ping-pong. I was asking for one OPSI mounted in one Starter Kit provided by Texas Instruments. Are you going to provide a solution just for one specific device???I guess, the solution should be general for FSS and OSPI. Anyway, yes this is the device that is mounted in SK and what I am working on. + +Hello Pablo, I have checked this internally. Pablo Varela said: We want to see Flash content with no specific firmware running in any core. This is not possible as direct memory mapping is missing. Alternatively, page by page read operation can be possible, but that too by connecting onto the R cores. We would need to write an application in this scenario. As far as Lauterbach is concerned we do not support it. Regards, Vaibhav + +Thanks + +Hi Pablo, Vaibhav Kumar said: Alternatively, page by page read operation can be possible, but that too by connecting onto the R cores. We would need to write an application in this scenario. Please let us know if you need this, so that we can start working on it. But it comes at the cost of loading firmware to the R cores. Regards, Vaibhav + diff --git a/sample_embedding_folder2/1327309.txt b/sample_embedding_folder2/1327309.txt new file mode 100644 index 0000000000000000000000000000000000000000..5f8511d3ea966846d53be1cdec77e41fc1254ddd --- /dev/null +++ b/sample_embedding_folder2/1327309.txt @@ -0,0 +1,8 @@ +Ticket Name: TDA2SX: TDA2SX + +Query Text: +Part Number: TDA2SX Incidental TDA2s chips in my project cannot be successfully after performing a warm reset operation, such as using the devmem2 0x4ae07D00 w 1 and reboot - f instructions. The specific manifestation is that the system current does not increase again after decreasing, while other chips can succeed. May I ask what the reason is? + +Responses: +Hello, Please provide full details of your project including what TI EVM you are using and the TI SDK being used here. If it is a custom platform, we suggest you contact your hardware team to ensure they have followed the proper guidelines of TDA2s SOC on the platform. Thanks. + diff --git a/sample_embedding_folder2/1330240.txt b/sample_embedding_folder2/1330240.txt new file mode 100644 index 0000000000000000000000000000000000000000..40cb903c955b7ec8235d93862b6f12a471030139 --- /dev/null +++ b/sample_embedding_folder2/1330240.txt @@ -0,0 +1,84 @@ +Ticket Name: TDA2SX: Interfacing ADV7393 with TDA2x DSS + +Query Text: +Part Number: TDA2SX Other Parts Discussed in Thread: TDA2 Hi, I want to use ADV7393 to get PAL output at my video output port from TDA2x DSS. I have made the schematics. I just want to get a review of this schematic. I have connected D0 to D15 to P0 to P15 of the encoder. The reset I am using is generated by a programmable delay IC. HS is directly from VOUT1 to HS of ADV. As far as VS is concerned, I have added the D-FLIP FLOPs (to delay FLD) as suggested by appnote and connected the output to VS of ADV. Kindly review my schematics (I have attached) and suggest any change (if any) so that I could finalize my design. + +Responses: +Could you clarify which application note you are referring (for delayed FLD)? + +DSS BT656 Workaround for TDA2x https://www.ti.com/lit/pdf/sprac23 + +Are you using RGB565? Need to verify the data bits assignments are aligned. For the processor I believe organization is: For transceiver: + +Ad App note suggests, use RGB565 with R on 0 to 4, G on 5 to 10 and B on 11:15 on Adv7393 side. On Tda2x DSS side, I will send BGR16_565. The format will be interlaced. + +On the ADV device R is 0 to 4, on the TI side R is 11 to 15. So D0 will not connect to D0. Does your schematic account for this? + +As you see app note says connect lower 16 lines for RGB565. Now as far as DSS is concerned, I'll send BGR565. BGR565 means R is on 0 to 4. + +This is the table I'm referring to in the TDA2 TRM: + +That's exactly I'm saying that's for RGB, for BGR it would be reverse. When you send BGR it should be R on 0 to 4, G on 5 to 10, and B on 11 to 15. I'm intending to send BGR16_565 from DSS inside my chains_common.c + +Hi Assad, I think since the bit size is same, it does not matter as long as RGB data lines are correctly connected to the expected data lines of ADV, isn't it? Regards, Brijesh + +I'm confused on some points. Let's dicsuss one by one: 1. DSS workaround for tda2x says that send RGB565 over the DSS. Now RGB565 configuration is B[0:4], G[5:10], R[11:15]. On Adv7393 side, it says send R on 0 to 4, G on 5 to 10 and B on 11 to 15. Now what should I do, should I connect it like this? DSS - > Adv7393 D0:4 -> P11:15 D5:10 -> P5:10 D11:15 - > P0:4 Or should I connect D0:15 to P0:15 one to one and send BGR16_565 from DSS. Can I do that from DSS Point of view? Pls answer regarding both situations? I'm finalizing after your input. + +Hi, You should do connection based on the correct component ordering, which i think is #1 above. DSS - > Adv7393 D0:4 -> P11:15 D5:10 -> P5:10 D11:15 - > P0:4 Regards, Brijesh + +Thanks, I will modify it. 2. The delay circuit which I have used to delay FLD signals. Is this routed correctly. As app note says the delay cct is for adv7343 but we're using adv7393. So it will work in the same scheme as adv7343 right? + +Assad Sultan said: 2. The delay circuit which I have used to delay FLD signals. Is this routed correctly. As app note says the delay cct is for adv7343 but we're using adv7393. So it will work in the same scheme as adv7343 right? I think so. If i remember, we checked it sometimes back and even ADV7343 requires slight delay. Regards, Brijesh + +Thanks. I'm left with configuration in vision sdk. I am trying to test pipeline on EVM just to see if there's no error thrown (I'll bypass the i2c part) when I run the application ( I know there will be no output as EVM doesn't have this IC). I'll report back here tomorrow. 3) I'll use the following setting: (chains_common.c) Data format: RGb16_565 IF width: 16 bit Interlaced and standard PAL Sync: Discrete Sync (Is there any additional setting required?) 4) But I have a confusion. Where can I set tftdatalines (in register programming - appnote) inside vision sdk. I can't find the relevant section of code. Can you tell me where I need to modify the disp control register and which setting exactly to cater TFtDatalines and colorenvenable? + +Assad Sultan said: Sync: Discrete Sync (Is there any additional setting required?) Yes, because output interface is discrete sync interface with RGB565, isn't it? Assad Sultan said: 4) But I have a confusion. Where can I set tftdatalines (in register programming - appnote) inside vision sdk. I can't find the relevant section of code. Can you tell me where I need to modify the disp control register and which setting exactly to cater TFtDatalines and colorenvenable? I think this is somewhere in the chains_common.c file, where display controller is configured. There should be an ioctl for overlay manager to allow configuring tdm mode. Regards, Brijesh + +As far as TDM configuration is concerned it's inside displayCtrlLink_drv.c file where it can be set. But I'm confused about tftdatalines. I can't find any trace to set it. Do I have to set it manually to 0x1 (As app note says it). Or is it somewhere set on a higher level and catered by driver itself? See attachment: + +You can directly write to register or use driver ioctl interface to write in this file. Regards, Brijesh + +How can I directly write? WHERE is that source file located? I tried, I couldn't find. + +I think the application note also provides the driver example setting. Plese use this in chains_main.c or displayctrl_link.c file to enable TDM mode. Regards, Brijesh + +Hi Brijesh? As I said that I know the place where I could enable Tdm mode. But in section 2.1.3.1 Register Programming, it's asking for tftdatalines to set 0x1. But displayCtrlLink_drv.c doesn't have such thing as said in appnote. + +Hi, The API DisplayCtrlLink_drvSetConfig in the displayCtrl_drv.c file can be used for this purpose. This API calls both the ioctls, IOCTL_VPS_DCTRL_SET_VENC_OUTPUT, where we can set the output information and IOCTL_VPS_DCTRL_DSS_SET_ADV_VENC_TDM_PARAMS, where we can enable TDM. Regards, Brijesh + +Sorry if I'm not conveying what I want to say. I know where I can enable Tdm. There's another thing which is TFtdatalines which is to be set to 0x1. It's not in driver file. I'm asking about that. As you can see the register programing section below. I am asking about the first two lines. Where I can set them? DISP_CONFIG1.TFTDATALINES = 0x1; DISP_CONFIG1.COLORENVENABLWE=0x0; These two. + +Hi, Tftdatalines is set to 1 when VideoIfWidth is set to 16bit in the output information structure. Regards, Brijesh + +Okay. This section of register programming isn't applicable. I just have to change driver related setting related to IFwidth and tdm setting. Right? + +Hi, Yep that's correct. Please use driver interface, then you dont need to write directly to register(s). Regards, Brijesh + +I'll test the application flow on Evm and report back. + +Sure thanks, i will move this ticket to waiting state. To reopen, simply reply on the ticket. + +Hi Brijesh! My next question is: Inside chains_common.c where we set the parameters. Now my data scan format is set to interlaced and I'm using custom standard. clock is 27 mhz and width height is 720x576. Mode is RGB16_565. But I'm confused regrading these parameters that how can I set these values? fps = 30U; hFrontPorch = 40u; hBackPorch = 40u; hSyncLen = 48u; vFrontPorch = 13u; vBackPorch = 29u; vSyncLen = 3u; Note : These values are just take from LCD7 inch setting. + +Hi, Please refer to blanking timing in LCD specs and set the same in these fields. Regards, Brijesh + +Which LCD? Sorry I didn't understand. Do you mean copy the values from lcd7 inch code? + +Assad Sultan said: Note : These values are just take from LCD7 inch setting. Please refer to the specs of this LCD. it should have timing in it and that you need to use configure here. Regards, Brijesh + +But I'm not using that lcd, I'm configuring it for adv7393. Will it work? + +Well these are configurable parameters and please check with your receiver device, what's its requirement. I can't tell what needs to be configured, so can't help you further in this case. Regards, Brijesh + +I always study the background and then ask here. As there are some confusion points I wanted to clear. I'll set these parameters by hit and trial as adv7393 datasheet doesn't have any information regarding those. There's one more thing I need your input. As the app note says use timing mode 1 and delay Fid signal. I studied this thing and consulted with the vendor for register setting of adv7393. I have attched the table of setting for SD input mode with RGb16 input. It says Set timing mode to 2 where HSync and Vsync are used but app note says otherwise (using delayed fid and timing mode 1). So is thing tested with rgb input and timing mode 1? pls guide. + +I would suggest to go by what ADV says. Regards, Brijesh + +Hi Brijesh! Thanks for getting back. If I use mode 2, there's the confusion. Mode 2 uses HSync and Vsync while mode 1 uses hsync and fid. So in mode 2 case, delay of fid and then using it on vsync would not work. In that case, I need to delay Vsync signal coming from DSS. What do you say? + +Hi, But HS and VS output is not compatible with the requirement. DSS cannot generate the VS as required for the interlaced output. So please use mode-1 only, where ADV uses HS and FID input signal. Regards, Brijesh + +I'll take a note of it. I'll use HS from DSS directly and fid delayed to vs. And try to set the register to mode 1. I'll see if I get the output. Pls confirm that Hs will be tied directly to Hs right? that's all for now. When I get my HW ready, I'll open a thread then. Thanks + +Yep, HS should be directly connected. Regards, Brijesh + diff --git a/sample_embedding_folder2/1332484.txt b/sample_embedding_folder2/1332484.txt new file mode 100644 index 0000000000000000000000000000000000000000..7963dcd0bcaaead7bd919c3a8e3e6e50fa24bdf3 --- /dev/null +++ b/sample_embedding_folder2/1332484.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2SX: TDA2S USB related issues + +Query Text: +Part Number: TDA2SX Hi,Ti We want to transplant ADB function in TDA2S. Does TDA2S support OTG? If supported, how do we need to modify the driver? Regards Kong + +Responses: +Hello Kong, What is the TI SDK being used for the TDA2S project you are using for the above query? Thanks. + +Hi Praveen, The version we are using is V3.6. Thanks + +Hello Kong, Thanks for the version, but was checking the SDK being used. Is it PROCESSOR-SDK-RADAR or PROCESSOR-SDK-VISION - We are assuming you are using PROCESSOR-SDK-VISION. Note that TDA2S does "not" support OTG, but it does support "dual-role" mode. Please note that "OTG" is an often misused term. By "OTG", if you meant the OTG protocols, such as HNP or SRP, those are not supported. But if you meant the "dual-role" mode, in which the USB port can work in either device mode or host mode based on the USB cable connection, this is supported. For more details, refer to chapter 23.6 in the TRM https://www.ti.com/lit/pdf/sprui29 Regarding ADB support, this is not supported in the PROCESSOR-SDK-VISION. Thanks. + +Hello Praveen, We are using PROCESS SDK VISION.How should we set up the USB OTG interface and gadget driver in the kernel, in addition to setting dr_mode on the device tree. Thanks. + +Hello Kong. Support of the USB "dual-role" is already enabled in the Linux kernel that is provided with PROCESS SDK VISION. The device tree's dr_mode = "otg" is sufficient for this. Thanks. + diff --git a/sample_embedding_folder2/1337906.txt b/sample_embedding_folder2/1337906.txt new file mode 100644 index 0000000000000000000000000000000000000000..799da177a26c2e98222ed408684d50c91f227232 --- /dev/null +++ b/sample_embedding_folder2/1337906.txt @@ -0,0 +1,16 @@ +Ticket Name: TDA2EG-17: Does SOC support qspi interface that can output and input in both falling and rising edge? + +Query Text: +Part Number: TDA2EG-17 Other Parts Discussed in Thread: TDA2 Hi, Customer they met one urgent issue, they choose a GD flash that only support the mode, from which that input data is latched on the rising edge of SCLK and data shifts out on the falling edge of SCLK. I searched the TRM but there are only 4 modes QSPI supported(mode 1 and mode2 is not supported), all of them only support input and output either on falling edge or rising edge. Is there any methods that can enable our SOC to support output and input on different edge? This issue is urgent, please help to debug. Thanks Regards Zekun + +Responses: +Hi Zekun, We will have to check with the HW team, i will start email on this and will keep you posted. Regards, Brijesh + +Zekun, It appears that Mode 0 matches what you're looking for? Thanks, Kyle + +Zekun, Please ignore my last reply. I see you're asking about TDA2 (not J7). Regards, Kyle + +Zekun, Can you share the datasheet of the selected QSPI device? Thanks, Kyle + +Hi, Kyle I think we don't support the feature I asked. But now customer's issue has been closed. So close the ticket. Regards Zekun + diff --git a/sample_embedding_folder2/1358731.txt b/sample_embedding_folder2/1358731.txt new file mode 100644 index 0000000000000000000000000000000000000000..d59c9daf7e0cf419f67e75ebaa6fc7cd046841f6 --- /dev/null +++ b/sample_embedding_folder2/1358731.txt @@ -0,0 +1,12 @@ +Ticket Name: TDA2P-ACD: Resolution and frame rate auto-switching issue + +Query Text: +Part Number: TDA2P-ACD Other Parts Discussed in Thread: TDA2 Dear TI Colleagues I have a question about the Display Subsystem (DSS) module. I would like to ask if the parallel video outputs can switch from 1280*720@30fps to 1980*1080@15fps multiple times to each other when the device is powered on? This kind of output switching needs to re-initialize the system? Regarding the configuration of the TI chip which initializations need to be redone and what needs to be turned off before doing so? + +Responses: +hi, Well, if you can stop the display, reconfigure for the new resolution and restart, it's possible. No need to restart the entire SoC. Regards, Brijesh + +hi,Brijesh Jadav I have several questions. 1. How to stop/config/start DSS, which API? and how to restart the OpenVX graph? 2. Is there a successful case to refer to in tda2, is there a demo to refer to? Look forward to your reply. + +Well, you could stop the vision sdk chain, reconfigure the DSS and then restart the chain. That's one way. What do you mean by OpenVX graph? TDA2Px uses vision sdk link-chain framework, so there is no OpenVX graph. Regarding TDA2x demo, yes, you can go to settings->display settings and change the display resolution and then re-run the vision sdk usecase. Regards, Brijesh +