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.

Delfino 28335 problems

Hello All

I am using Delfino 28335 but facing following problems...

1. I have interfaced RAM at zone 6 and zone 7 but couldnot write proper data on it... i am using the following command

*(zone7_data) = 0xFFFF

*(zone7_data+1) = 0xFFFF

*(zone7_data+2) = 0xFFFF

where as zone7_data = 0x0020000...

The error is that at these locations data is written AS like FFFE or FF00... And it keeps on changing at every iteration... and it is also disturbing other locations aswell...

  • Salman Khalid said:

    Hello All

    I am using Delfino 28335 but facing following problems...

    1. I have interfaced RAM at zone 6 and zone 7 but couldnot write proper data on it... i am using the following command

    *(zone7_data) = 0xFFFF

    *(zone7_data+1) = 0xFFFF

    *(zone7_data+2) = 0xFFFF

    where as zone7_data = 0x0020000...

    The error is that at these locations data is written AS like FFFE or FF00... And it keeps on changing at every iteration... and it is also disturbing other locations aswell...

    Salman,

    This is likely faulty connections to the memory device or an incorrect configuration of the XINTF. 

    Please see:

    http://processors.wiki.ti.com/index.php/External_Interface_XINTF_Type_1_FAQ_for_C2000#Q:_I_did_a_memory_fill_of_a_value.2C_but_the_value_read_back_is_not_correct.

    Regards

    Lori

  • The connections are 100% ok.. and i am configuring the xintf ok aswell...

    But problem is that the write function is not properly working...

    It toggles 1 / 2 bit in every iteration and also write corroupt data on other memory locations aswell...

     

    Please help...

  • Salman Khalid said:

    The connections are 100% ok.. and i am configuring the xintf ok aswell...

    But problem is that the write function is not properly working...

    It toggles 1 / 2 bit in every iteration and also write corroupt data on other memory locations aswell...

     

    Please help...

    Salman,

    Is this a board you purchased from TI or Spectrum Digital or is it a custom board?

    Something is not correct with the connections to the RAM.  I'm fairly sure of it.  Are the write srtobe(s) connected correctly for the data bus width being used?

    -Lori

  • it is a custom board... i have connected chip select of zone 7 to chip select of rams... and external read and external write lines to read and write lines of ram... data ia 16 bit and adress is 16 bit also....

    now when i try to write at one memory location it corrupt the data at other memory locations also... and it changes the data after every iteration like first it will write 0xFFFFat one location and in second iteration it change to 0x FF00....

    however it reads the data correctly ie it read whatever written on data lications...

    I have confirmed all hardware connections...

  • Salman Khalid said:
    now when i try to write at one memory location it corrupt the data at other memory locations also

    This points to address lines being shorted together.   Can you put a scope on them to check the behavior?

  • The adress lines are ok... They are not shorted... I think i am not able to explain the problem correctly...

    Please see the following code...

    # define Ram_start (*volatile Uint16) 0x200000

    void main (void)

    {

    all the important functions including xintf, pievectctrl, etc are properly called

    while(1)

    {

    (*Ram_start) = 0x0000;

    DELAY_US(10);

    (*Ram_start+1) = 0x1111;

    DELAY_US(10);

    (*Ram_start+2) = 0xAAAA;

    DELAY_US(10);

    (*Ram_start+3) = 0xFFFF;

    DELAY_US(10);

    }

    }

    now i put break points at each delay and press F5 to run the program and get halt at breakpoints and look view the memory for the contents...

    My problem is

    1. At first breakpoint the value written at adress 0x200000 is 0020;

    2. At second breakpoint the value written at adress 0x200001 is 1311

    3.  At third breakpoint the value written at adress 0x200002 is AACC. And now it corrupts all adress locations and previous locations also change values. Now the value at 0x200000 is 02C5 and at adress 0x200001 is 2222. similarly all adress locations are changed...(this is strange as i m only accessing one location)

    4. At fourth breakpoint the value written at adress 0x200003 is FFFE. And all other locations change valus...

    Now i again repeat the procedure by pressing F5 and stop at breakpoints; but never the correct data is written and also it disturbs other adress locations also...

  • Please find the following code. The purpose is that i want to write some data on RAm interfaced at zone 7.

    #include "DSP28x_Project.h"

    # define ram (volatile Uint16*)0x0020FC00

    void main()

    {

    zone7_init();

    while(1)

    *(ram) = 0x5555;

    *(ram+1) = 0xAAAA;

    }

    }

    but this code is not correctly writing values at these locations...

    Should i change linker file??

    What thing i am doing wrong in this code?

    Hardware is custom made and all data / adress lines are ok.

     

    Regards