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.

RTOS/TDA2PXEVM: Problem loading code via CCS

Part Number: TDA2PXEVM

Tool/software: TI-RTOS

I am now able to build the sbl target and boot from the SD card. In that case, I see the use-case menu on the UART as expected, and Ethernet network traffic works using network_tools\bin\network_rx.exe and network_tx.exe following ProcessorSDKRadar_UserGuide.pdf for the null/Radar FFT/null use-case.

When I attempt to load code from the same build via CCS 8 following the directions in VisionSDK_UserGuide_TDA2px.pdf, I do not receive any UART output. I see some text on the CCS Console relating to shared memory and IP configuration, but not the use-case menu. Can you please provide a more detailed description of how the code should be loaded?

Here is what I do now to load code via CCS - please identify any potential issues:

  1. Build the project
    1. Adjust project configuration settings as needed. Remote logging is now set for UART only (ENABLE_UART_LOG=yes, ENABLE_NETWORK_LOG=no, ENABLE_CCS_LOG=no)
    2. gmake -s -j depend
    3. gmake -s -j
    4. Optionally do SBL build steps too:
      1. gmake -s sbl
      2. gmake -s appimage
  2. Launch Tera Term and open a terminal on COM5 with settings 115200/8b data/no parity/1 stop/no flow control.
  3. Make sure SD card is not bootable (move or delete files, or remove SD card)
  4. From CCS 8.0.0.00016, I enter the Debug perspective, and launch my target configuration.
    1. IPU_1_C0/C1, DSP_1, CortexA15_0, and EVE_1 are active (along with related items such as ICECrusher and PTM). All other items are Bypassed.
  5. Connect the A15 core
  6. Run Scripts:TDA2Px MULTICORE Initialization:TDA2Px_MULTICORE_EnableAllCores
  7. Select all other active cores and Connect.
  8. Select all cores, Reset
  9. Load code sequentially: IPU_1_C0, IPU_1_C1, DSP_1, and EVE_1
  10. Run code sequentially: IPU_1_C0, IPU_1_C1, DSP_1, and EVE_1. I have also tried running DSP_1, EVE_1 before the IPUs. The user guide talks about the loading order, but doesn't say if it matter what order they are run, and as far as I know I can only start 1 core at a time.
  11. Check for UART traffic. When loading code from CCS as above, there is output from the bootloader, but none from the app.

I can attach the CCS debugger to code that has already loaded via the SB/SD card, but it would be really useful to load from CCS - especially to debug early code.

Thanks!

  • Hi,

    Can you set the SYSBOOT to debug mode as documented in SBL user guide and try to run using CCS.

    Regards,
    Rishabh
  • Hi Rishabh,

    The TDA SBL UserGuide section 5 has a table for TDA2Px Debug boot mode that refers to SYSBOOT switch settings for SW2 and SW5 as 00000000 10000001 (SW5 is don't care). However, the SYSBOOT settings for the TDA2Px EVM board are actually controlled by SW3 and SW4 according to the EVM User Guide. Also, the TDA2Px Reference Guide (SPRUIF0A) Booting Devices Order Table 31-9 lists that switch setting as Peripheral Preferred Booting, 1st=USB, 2nd=eMMC. I tried setting SW3 & SW5 to these values anyhow, but there was no improvement.

    For now, I am using Automotive Recovery/Upgrade or Development Booting: sysboot[5:4]= 0b01, sysboot[3:0]=0b0100. 1st=SD, 2nd=USB. UART and TCP/IP work fine when I load from the SD card, but neither works when I load from CCS. The use-case I am using doesn't use the A15 core, if that is relevant.

    Can you clarify or make further suggestions?

    Thanks.

  • Hi,

    In the sequence mentioned in the question step 3 says remove SD card/delete SD card contents. But step 11 says that you see boot loader messages. Hence I have suggested you to have debug mode setting.
    When you are running from the SD card boot loader does SoC initialization. In order to run from CCS SoC should have a clean state.

    Can you check if VISION_SDK_CONFIG is set to 1 in C:\ti\ccsv7\ccs_base\emulation\gel\TDA2Px\TDA2Px_multicore_reset.gel.
    If not can you please set it and try.

    Regards,
    Rishabh
  • Hi Rishabh,

    The VISION_SDK_CONFIG setting was indeed the problem with the UART and network output! This is documented in the 2xx user guide but not the 2Px user guide. I didn't see this suggestion until today due to a quirk between the iPhone Mail app and TI's site that causes the Mail app not to display the latest message in email updates from TI's site.

    Thanks for your help!
  • Hi,

    Glad to know that the issue is resolved. Kindly mark the reply that answers your query as "This resolved my Issue".

    Regards,
    Rishabh