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.

Ti 6727 data transfer from external memory to internal memory

Other Parts Discussed in Thread: SPRC203, SPRC223

I am using a Ti 6727 processor at 300Mhz.And trying to copy dat a from external memory(asynchronous async memory for Cyclone/USB access ,,EMIF_A1CR       = 0x04422082u//  50ns reads) to internal memory .Data tranfer for 40 values is taking more than 7us, which shoulb actually around 2us if transfer at rate of 50ns.

why is it like that?where could be the problem?

Is there is any other way for faster transfer?

How to configure DMAX for DMAtransfer?

Where can i find an example code for DMAX transfer?

My code is

void frestore(void) {

  register int i;

   register float *rrocoef = (float *)(&RadDP.rrocoef[0]);

     for ( i=0; i<ncoeff2p; i++) {

        scoeffcopy[i] = rrocoef[i];                    

     ccoeffcopy[i] = rrocoef[ncoeff2p+i];           

    }

}

typedef struct structRadialProcessorDualPort {   

 float rrocoef[128];

//Length Start   End  RadialAddr SSWAddress                                   

//    512: 11776  12287   0x90002E00    0x90003E00 

} typeRadialProcessorDualPort;

 

 variables definition

ncoeff2p=20

float scoeffcopy[MAXCOEF];

float ccoeffcopy[MAXCOEF];

 

Thanks

Josna

  • There could be some latencies between CPU single word read accesses.  Can you scope the EMIFA signals to see if there are any gaps between the read datas?

    You can find example code for DMAX transfer here: http://focus.ti.com/lit/ug/spru795d/spru795d.pdf

     

     

  • I am using same code with c6701 operating at 100MhZ,it is taking 4us where as 6727 operating at 300 MHz is taking 7us.

    Why is it so?

    Is there is any other way of faster data transfer?

    If so please provide me with code

     

    Thanks

     

  • Hi,

    I am facing problem with writing DMAX code.

    Can you provide me with the code for this particular transfer ?

     

    Thank you for the help

  • Please see the thread titled C6727B dMAX example code. It was just now pulled from an archive and placed on the E2E forum. There is a link to the C672x CSL, which includes some example files. There is also a posting with attached dMAX example code.

    If this meets your needs, please click Verify Answer for this posting to mark this thread as being answered.

  • Hi Randy,

    Thanks for the reply 

    But i could not able to open the dmax.zip file.

    I have downloaded the DMAX example from CSL ,but could not understand.

    I have tried running  the example code and also tried to implement reloading the next set of DMA transfer.

    If you have any idea of initiating second set of DMAX transfer by reloading  after the first transfer finishes, please provide me the details.

    I have reloaded but the second transfer is not taking place.

     Thanks

    Josna

  • Hi,

    I could able able to open the file.

    But soem files are missing.

    so couldn't run  the project.

     

    Thanks

    josna

    1. Were you able to download the dMAX.zip file from the other thread I referenced (3 replies above)?
    2. Have you downloaded and installed C672x CSL from the link in the thread I reference (3 replies above)?
    3. Are you using the ROM patch files for the C6727 that TI supplies?

    Some files that are needed are supplied by TI as described above.

    Please answer all three questions, especially the first one, so we can address and correct problems.

  • Hi,

    I have downloaded everything.

    But the code is giving errors.

    _initPdsp                        C:\\Documents and Settings\\jband7101032\\Desktop\\dmax\\dMAX\\applypatch.obj
    >>   error: symbol referencing errors - './Debug/dMAX.out' not built

    >> Compilation failure

    I don't know where the problem is?

    I could n't run the code.

     

    Thanks

    josna

  • I have no idea what you have downloaded, but "applypatch.obj" is not the right file. You should have downloaded sprc203 and sprc223.

    Which version of CCS and which version of Code Generation build tools are you using?

  • Thanks for sending the project.

    I could able to run but it is not working for my application.

    If you have used this for DMA transfer  how to enable the event.

    Does the DEPR is always need to be triggered from 1 to 0 to start the transfer?

     

     

    Thanks

    josna

  • josna b said:
    I could able to run ...

    Does this mean that you can successfully run the dMAX example project with transfers occurring and interrupts occurring?

    josna b said:
    ... but it is not working for my application.

    Does this mean that when you copied portions to you application it did not do transfers and interrupts? Or does this mean that the transfers are working the same as the example but that is not what you need?

    josna b said:
    If you have used this for DMA transfer  how to enable the event.

    The example code is commented very well to explain almost every line. It does enable the dMAX event and it does execute interrupts. So please refer to the lines of code to see how to do this, and to the dMAX User's Guide.

    josna b said:
    Does the DEPR is always need to be triggered from 1 to 0 to start the transfer?

    No. This is never done in the code. What brings this question to your attention?