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.

C6713B - Can't access EMIF

Other Parts Discussed in Thread: TMS320C6713B

Hi,


I'm working with a TMS320C6713B and I need to write data to the IOSel base, addresses 0x90300000 to 0x9031FFFF. Even after initializing the PLL and EMIF registers, I can't access this memory section

Here's my code
 

    #define IOSEL_BASE 0x90300000

    unsigned int U32_addressBusData = 0x0;
    unsigned int* U32_outaddress = 0x0;
    *U32_outaddress=0x1;

    for(U32_addressBusData =0; U32_addressBusData <65535; U32_addressBusData++)
    {
        U32_outaddress = (unsigned int*)(U32_addressBusData*4+IOSEL_BASE); //pointer address
        *U32_outaddress = U32_addressBusData;                                                            //write value to address
        if(U32_addressBusData>65500)
        {U32_addressBusData=0;}
    }

When loading my code on the debugger, I can see on the locals that my pointer updates the value but when checking the pin volt levels, nothing happens...

Any help would be appreciated.

Thank you in advance

Thibault


  • When loading my code on the debugger, I can see on the locals that my pointer updates the value but when checking the pin volt levels, nothing happens...

    Which EMIF line you have probed ?

    Use the address space (CE1) 0x9000 0000 and probe the line again.
  • Hi, I did set some probe points at my start address (0x90300000) that should have halted the process when I write at this address, but nothing happens. The code keeps running. So somehow, even though my pointer writes something at this address when I look at the local variable, in reality it doesn't.
    Is there something I'm missing? Is this external memory protected in write mode? I don't know.

    Thanks for the help
  • Thibault,

    If you have solved this problem, please let us know what the solution was.

    If you have not, we are sorry for the long delay.

    Some of the terms you are using are not familiar. By 'probe points' do you mean CCS breakpoints in your code? If you set a breakpoint in the middle of your for-loop, for example on the EMIF write instruction, and if the program does not halt there, then you have a different problem with your program that is not directly related to the EMIF.

    Are you using a TI EVM board or a board of your own design?

    Which version of CCS are you using?

    Are you running the test program from internal RAM or from external Flash memory?

    Regards,
    RandyP