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.

PROCESSOR-SDK-J784S4: J784S4 EVM bring-up questions about peripheral usage, memory and boot

Part Number: PROCESSOR-SDK-J784S4
Other Parts Discussed in Thread: TDA4VH-Q1, UNIFLASH

Tool/software:

Hello,

I had previously created a thread where we wanted to use the TDA4VH-Q1 processor in our project and asked about a request regarding the boot time.

e2e.ti.com/.../5698689

We obtained the J784S4 EVM and started working. At first, since FreeRTOS operating system is supportted, we aimed to bring up the DSP and R5F processors on the EVM.

To summarize our work briefly.

  • First, we loaded simple "Hello World" applications to the c7x and R5 processors in the MAIN domain via JTAG. Here, we activated the UART_stdio API and reached the UARTs on the EVM. (Except UART3)
  • Since we will be taking measurements via OSPI boot, we compiled the sbl_boot_test application provided with the SDK by adding a few UART_printf operations to the mcu1_0 processor and created a multicore image and ran our applications. Here we used the standard SBL included in the SDK. (sbl_ospi and sbl_xip)
  • We performed inter-core communication operations by adding the IPC module.
  • Then we tried to look at some memory reaching performances by taking some small measurements.
  • We will continue our work by getting the Ethernet up and running. Also, we will try to do SBL customizations in order to have faster boot times.

Here, we have a few questions during these studies.

  • We could not reach the UART3 coming out of the J49 connector on the J784S4EVM. Is there a setting that needs to be made for this?
  • While examining the TRM, we saw that the processor has a boot mode called Fast xSPI, when we set the Boot Switches on the EVM to Fast xSPI, the boot process did not start. Does the EVM support this boot mode?
  • We saw that the Ethernet sample applications were generally on the first R5F processor (mcu2_0) in the MAIN domain. Is there such a requirement for Ethernet use?
  • It seems that MMA only supports 8/16/32-bit integers. What are the fastest cores and methods to perform matrix multiplication for doubles, and do you have any benchmarks and test codes?
  • Do you have benchmarks for reading and writing (1-100MB) to RAM? When we tried to perform memcpy (DDR to DDR) in C7x DSPs (FreeRTOS, J784S4 EVM), 1MB took 2ms, which seems very slow. Maybe we did something wrong; do you have any datasheets or codes to compare?
  • It seems that the A72 does not have FreeRTOS support, but if we want to perform some algorithms on A72 cores, what is the suggested way to transfer data and communicate between bare-metal A72 and FreeRTOS C7x?

Thanks,

Buğra

  • Hi,

    As the questions are cross domain, I will answer some of the questions and pass the thread to other module owners.

    While examining the TRM, we saw that the processor has a boot mode called Fast xSPI, when we set the Boot Switches on the EVM to Fast xSPI, the boot process did not start. Does the EVM support this boot mode?

    For fast xSPI, you need to flash a tuning parameters to the last sector of the flash. Can you confirm that you have done this?

    We saw that the Ethernet sample applications were generally on the first R5F processor (mcu2_0) in the MAIN domain. Is there such a requirement for Ethernet use?

    There is no hard requirements for this. It is just a default setting. You will need to take care of the resource partitions if you want to port the applications on other cores. If you are using ethfw, that is more strongly linked to mcu2_0 core and is a bit difficult to move.

    Do you have benchmarks for reading and writing (1-100MB) to RAM? When we tried to perform memcpy (DDR to DDR) in C7x DSPs (FreeRTOS, J784S4 EVM), 1MB took 2ms, which seems very slow. Maybe we did something wrong; do you have any datasheets or codes to compare?

    You can take a look at the datasheet here : https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-j784s4/11_00_00_06/exports/docs/pdk_j784s4_11_00_00_21/docs/datasheet/j784s4/datasheet_j784s4.html#memory-configuration-benchmarking

    This is from R5 cores though.

    Regards,
    Tanmay

  • Hello Tanmay, 

    Thank you for the replies.

    For the Fast xSPI, we write the "<pdk_path>\packages\ti\board\src\flash\nor\ospi\nor_spi_patterns.bin" file to the address 3FC0000 as it is described in the PDK documentation Section 6.2.5 with UNIFLASH tool.

    Is it correct way to activate Fast xSPI boot?  How can we test whether Fast xSPI boot is activated? We set the boot switches as follows:

    • SW2[1-8]   = 0xxx xxxx
    • SW11[1-8] = 0000 1010
    • SW7[1-8]   = 0110 0000

    Can you describe steps?

    Thanks,

    Bugra

  • Hi Bugra,

    Tanmay will help address the questions you have asked.

    First, we loaded simple "Hello World" applications to the c7x and R5 processors in the MAIN domain via JTAG. Here, we activated the UART_stdio API and reached the UARTs on the EVM. (Except UART3)
    We could not reach the UART3 coming out of the J49 connector on the J784S4EVM. Is there a setting that needs to be made for this?

    To confirm, you are able to use and see logs from all the other UART instances except UART3?

    Thanks,

    Neehar

  • Hi,

    For the Fast xSPI, we write the "<pdk_path>\packages\ti\board\src\flash\nor\ospi\nor_spi_patterns.bin" file to the address 3FC0000 as it is described in the PDK documentation Section 6.2.5 with UNIFLASH tool.

    Is it correct way to activate Fast xSPI boot?  How can we test whether Fast xSPI boot is activated? We set the boot switches as follows:

    • SW2[1-8]   = 0xxx xxxx
    • SW11[1-8] = 0000 1010
    • SW7[1-8]   = 0110 0000

    These boot switch settings are for xSPI boot mode. For Fast-xSPI, you need the following bootmode pin settings

    • SW2[1-8]   = 0xxx xxxx
    • SW11[1-8] = 1000 1010
    • SW7[1-8]   = 0110 0000
    How can we test whether Fast xSPI boot is activated?

    So the boot mode is only applicable to RoM code. The tuning parameters are used by default in further bootloader. This means that you would only see improvement in speed over bootRoM section as compared to normal OSPI. To verify this, you would need to get the bootRoM dump by connecting SoC to CCS.

    Regards,
    Tanmay

  • Yes, I mean for the J784S4EVM UART8, UART5, UART2 and UART3 can be reached with J49 connector. We are able to see logs from UART8, UART5 and UART2 but not from UART3

  • Hi,

    Can you please confirm UART3 is not used in your application? Including by other cores or by Linux.

    Additionally, can you confirm you have set up the pinmux for UART3 as well?

    Thanks,

    Neehar