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.

Can't find source file for BCP project

Dear all,

We are working on BCP example project(TI6614 DSP). Currently BCP is used in polling mode. After sending packets to BCP, receive queue is polled for the output packet using 'Bcp_rxGetNumOutputEntries (hRx)' API. 

I am getting an error saying

"Can't find a source file at /home/gtbldadm/pdk_build_6614_1_02_01_03/gtcsl_platform/Appleton/ti/drv/bcp/src/bcp.c"
Locate the file or edit the source lookup path to include its location.

Thanks,

Aswathy

  • Hi Aswathy,

    Please ensure that the SDK installed properly on the host machine. I hope you have installed SC-MCSDK on linux. Please confirm.

    Thank you.

  • Thanks.
    We are working on Windows platform. SC-MCSDK is installed properly for windows. Whether we we have to install packages for linux??

    Regards,
    Aswathy

  • "Can't find a source file at /home/gtbldadm/pdk_build_6614_1_02_01_03/gtcsl_platform/Appleton/ti/drv/bcp/src/bcp.c"
    Locate the file or edit the source lookup path to include its location.

    You woud get this error when you debug your code. And its looking for library.
    Generally we would see this errors when we debug the library file, so we have to provide the library location to locate it and continue to debug.

    I hope you won't get this error when you do free run in CCS (not stopping the execution or pause)
  • Do you find bcp.c file on your installation or not?

    I have PDK installed for C6670. Here is my /cfs-file/__key/communityserver-discussions-components-files/791/3683.bcp.c file

  • Added the bcp.c file. But BCP is not giving any results. No result packets are reaching the RX queue.

    Thanks,

    Aswathy

  • Aswathy,

    Are you running a PDK example or is this your own code? The best way to debug this is to monitor the various queue descriptor counts (TX FDQ, TXQ, RX FDQ, and RXQ). Based on the descriptor counts, you should be able to narrow down the problem to TX or RX side. You can check the descriptor counts on any queue in CCS memory window using the QMSS peek region access registers as given below:

    CSL_QMSS_CFG_QM_1_QUEUE_PEEK_REGS + (16 x QueueNo.)

    For example, on the K2L (6630K2L or 66AK2L) device, the peek region base address is 0x02A40000, so for queue number 704, you can look at the descriptor count at 0x02A40000 + (16 x 704) i.e.  0x02A42C00.

    Also, given that you're polling the RX queue, please ensure that you don't have the accumulator configured at the same time as accumulator would consume the RX descriptors and software would not see anything on the RX queue.

    -Nitin 

    Can\'t find source file for BCP project

  • Thanks Nitin,

    We are using our code base. We are trying to run the code in CORE1. On Core 0 the code is working fine. Descriptor counts used on different queues are given below (after initialization).
    TX FDQ - 2
    TXQ - 0
    RX FDQ - 16
    RXQ - 0
    After sending a packet using Bcp_send() the descriptor counts are checked again.
    TX FDQ - 1
    TXQ - 1
    RX FDQ - 16
    RXQ - 0

    Seems the packets are transferred to BCP, but no descriptors are arriving at the receive queue. We didn't configure accumulator. What all modifications to be done if the code is running on core 1? (we modified the RX_QNUM )

    Regards,
    Aswathy
  • Aswathy,

    Without looking into your configuration code, it is hard to say what could be going wrong but a few things to note here:

    Your TXQ count is 1 after pushing the descriptor. This indicates that the problem is at the TX side since BCP didn't consume the TX descriptor itself. The BCP should have immediately processed the input descriptor and recycled it back onto the TX FDQ. You should check the TX descriptor and the BCP Header etc. Make sure that all buffer addresses (header, payload) are converted to their global equivalents.

    Regards

    -Nitin

  • Thanks Nithin.

    Single buffer is used for payload and header . Buffer address is global. The sequence we followed is given below.

    1) Turned on the power domains of BCP.

    2) A memory region is created, QMSS,CPPI initialization is done.

    3) Popped descriptor from TXFDQ and filled the corresponding buffer with header and payload.

    4) Packet is sent to BCP.

    Our code base is attached.

    Regards,

    AswathyBCP_.zip

  • Nithin,

    We are working with  sc_mcsdk_bios_2_02_01_03 and 6614 EVM. Any modifications has to be done to the code such that it works in all cores? (Currently the code works only in core0)

    Thanks,

    Aswathy

  • Nitin,

    The same code is running fine on EVM. Initially it was in simulator mode. Is there any difference in multicore navigator configuration for simulator and EVM?

    Thanks,
    Aswathy
  • Hi Aswathy,

    Thanks for the information. CCS simulators are no longer supported for these devices so please use the EVM for development.

    Regards

    -Nitin

    Can't find source file for BCP project