This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi @Support,
I'm new to the SK-TDA4VM Board, and I have a few questions about both the SDK Linux and RTOS.
I came across below 'Overview' on this website: PROCESSOR-SDK-J721E
After looking at this information, I have some questions, as listed below:
1. Do I need to install both the RTOS and Linux SDK together when working on SK-TDA4VM, or can I use them independently?
2. Could you offer advice on how to merge the RTOS into the Linux SDK for the SK-TDA4VM?
3. Are there particular situations where it's a good idea to use both the RTOS and Linux SDK on the SK-TDA4VM?
4. Can you recommend any examples or materials to begin with RTOS development on SK-TDA4VM using the Linux SDK?
I would appreciate it if you could help clarify these four inquiries I have regarding SK-TDA4VM development.
--
Thanks & Regards,
Naani Ch
Hi
1. Do I need to install both the RTOS and Linux SDK together when working on SK-TDA4VM, or can I use them independently?
On the TDA4VM, this a a dual core Arm Cortex A72 core which runs Linux - for this you need the Linux SDK. The other cores like C6x, C7x DSPs, Arm Cortex R5F run RTOS - for these cores there are pre-built firmwares which are packaged in the Linux SDK itself. Only if you need to modify these, then you need the RTOS SDK. RTOS SDK has the source code for the RTOS firmwares and drivers.
2. Could you offer advice on how to merge the RTOS into the Linux SDK for the SK-TDA4VM?
You can start by using the pre-built firmwares with Linux SDK.
3. Are there particular situations where it's a good idea to use both the RTOS and Linux SDK on the SK-TDA4VM?
If you need to modify the RTOS firmwares to tailor your need. Linux and RTOS run together in the system, Linux on A72 and RTOS on the other cores.
4. Can you recommend any examples or materials to begin with RTOS development on SK-TDA4VM using the Linux SDK?
Can you please share your high level objective here? What kind of application you are trying to develop and what core would that run on. Are there any requirements of AutoSAR / MCAL?
Regards
Karan
Hello Karan Saxena,
Sure, after getting clarity from your previous response, may I also seek answers and clarifications to the following questions?
Here are the two packages:
(a) Source Package: ti-processor-sdk-rtos-j721e-evm-08_06_00_12.tar.gz — 1945183 K
(b) Pre-built Package: ti-processor-sdk-rtos-j721e-evm-08_06_00_12-prebuilt.tar.gz — 1381976 K
Suppose I intend to make additions or modifications related to the RTOS. In that case, option (a) is the suitable choice. However, before proceeding, I have some questions regarding the Pre-built Package (b), and I've included some system screenshots to help clarify these questions.
Based on the provided screenshot above, can you determine the purpose or importance of 'boot-j7-evm.tar.gz' and 'tisdk-edgeai-image-j7-evm.tar.xz' in RTOS SDK? and are these tar files intended for use on a Linux system?
Based on the provided screenshot above, I would like to inquire about the contents of the files in both 'rootfs/lib/firmware/' and 'rootfs/lib/firmware/vision_apps_*.' Could you clarify if these files are intended for use with DSP and R5F Cores?
As the SK-TDA4VM is a multicore board, my intention is to execute applications on both DSP and MCU Island, in addition to the A72 cores.
Our current focus is on utilizing pretrained CNN models, but we've encountered performance challenges when running Python's deep learning modules. We've also identified that, for specific functionalities, the A72 cores are being heavily utilized, exceeding 95 percent. This has become a significant concern for maintaining system stability.
Due to these factors, we are planning to leverage both DSP and R5F (both Main and MCU) Cores. However, as I'm relatively new to this target board, I have limited experience. I'd like to know if it's possible to run some introductory Python or C applications on the DSP or R5F subsystems.
--
Thanks & Regards,
Naani Ch
Hi
Here are the two packages:
(a) Source Package: ti-processor-sdk-rtos-j721e-evm-08_06_00_12.tar.gz — 1945183 K
(b) Pre-built Package: ti-processor-sdk-rtos-j721e-evm-08_06_00_12-prebuilt.tar.gz — 1381976 KSuppose I intend to make additions or modifications related to the RTOS. In that case, option (a) is the suitable choice.
This is correct.
Based on the provided screenshot above, can you determine the purpose or importance of 'boot-j7-evm.tar.gz' and 'tisdk-edgeai-image-j7-evm.tar.xz' in RTOS SDK? and are these tar files intended for use on a Linux system?
The boot-j7-evm.tar.gz is the compressed prebuilt bootable FAT32 partition which contains the bootloader (R5 SPL, A72 SPL, u-boot, ATF, OPTEE and TI foundational security firmware). The tisdk-edgeai-image-j7-evm.tar.xz is the ext4 Linux Yocto file system. This filesystem also has the remote core (cores other than A72) firmwares which are under /lib/firmware.
If you look at the u-boot environment, "rproc_fw_binaries" you'd see:
j7-main-r5f0_0-fw: boots on Main domain's R5F cluster core 0 (MCU2_0)
j7-main-r5f0_0-fw: boots on Main domain's R5F cluster core 1 (MCU2_1)
j7-main-c66_0-fw: boots on C6x DSP's core 0
j7-main-c66_1-fw: boots on C6x DSP's core 1
j7-main-c71_0-fw: boots on C7x DSP's
These are softlinks to actual symbol stripped ELF images which are the /lib/firmware/vision-apps/*. These will enable OpenVX kernel / Gstreamer nodes running on the DSPs and R5Fs to be called from an application running on A72 and offload compute.
I also want to make sure that you are running on the SK-TDA4VM (low cost Starter Kit) or J721EXSOMXEVM + J721EXCPXEVM (EVM or Evaluation Module). Reason for asking this is that the Starter Kit runs the EdgeAI SDK whereas the EVM runs the Processor SDK Linux + RTOS, the difference between the two is in one you use OpenVX to offload and the other you abstract the OpenVX implementation underneath using Gstreamer.
Regards
Karan
Thanks for your details, Karan Saxena
So, if I understand correctly, when I execute 'gst-launch' tasks related to Gstreamer, the system will automatically delegate and run them on the DSP or R5F cores?
One thing that's unclear is whether the MCU Island on the SK-TDA4VM board is always active and running.
Additionally, when it comes to the executables within the vision-apps that enable OpenVX kernels or Gstreamer nodes on the DSP and R5F cores, are there specific applications available to confirm their operation? Currently, we rely on the 'run_app_load_test.sh' scripts, which have shown activity on various cores, but it would be helpful if there were dedicated applications for this verification.
--
Regards,
Naani Ch
Hi Naani Ch
So, if I understand correctly, when I execute 'gst-launch' tasks related to Gstreamer, the system will automatically delegate and run them on the DSP or R5F cores?
That is correct, if there are gstreamer nodes which need to run on DSP or the R5Fs then these will be offloaded. You can review the data flows at the below link, you can see all the nodes running on the "Remote cores". The gstreamer nodes are abstracting the internal OpenVX nodes.
I'd like to additionally clarify that EdgeAI SDK (here) runs on the TDA4VM Starter Kit and uses Gstreamer abstraction for OpenVX and the Processor SDK (Linux + RTOS) runs on the TDA4VM EVM and doesn't use Gstreamer abstraction but directly uses OpenVX.
One thing that's unclear is whether the MCU Island on the SK-TDA4VM board is always active and running.
The architecture of TDA4VM is such that the MCU Island (MCU1_0 specifically) has to be powered on as it runs the DM (Device Manager).
Review below links for details on this.
Additionally, when it comes to the executables within the vision-apps that enable OpenVX kernels or Gstreamer nodes on the DSP and R5F cores, are there specific applications available to confirm their operation? Currently, we rely on the 'run_app_load_test.sh' scripts, which have shown activity on various cores, but it would be helpful if there were dedicated applications for this verification.
Are you looking for some kind of visualization here?
Regards
Karan