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.

C6455 EMIFA question

Hello,

I execute  the  example  in the CSL_default_package  of   EMIFA.when I  execute  it  in  the  simulator  ,it  can be  successful.but  I execute  it  in  the  C6455  DSK  ,it  can't  be successful.

I DON'T  know  why.

Can  you  tell me why  or  give me a  example  that can  be  successful  in  the C6455  DSK  ?

thank  you!

  • Hu Shushu,

    My apologies. I do not know what is the CSL_default_package of EMIFA.

    The simulator may not understand any interface to your device that is on the EMIFA interface.

    From your observation and debug of the operation on the C6455 DSK, what appears to happen incorrectly or different from what you expected?

    Regards,
    RandyP

  • Hello,

      I  use  the csl_c6455\example\emifa.

      FROM my observation,I found  that  as   I  use  the  CE2  which  address  space  is  0xA0000000  to  0xAFFFFFFF. i  set  up the  EMIFA  CE2,write   0xffffffff

    to  address  0xA0008000,then  all  of the memory  in  the  CE2( 0xA0000000  to  0xAFFFFFFF) is  changed   and  every  4 memory goes  the same.And  only  a few  

    bits in  the  memory is  controled  by  what  you  write .

                                                                      .

    I  DON'T know  why  and  in  the  simulator  it  works well.

    THANK  YOU! 

  • Hu Shushu,

    The simulator can pretend that there is memory anywhere that it is configured to pretend that. The board only has memory where it physically exists. So it makes sense that the simulator and the board could behave differently.

    There is an old thread TMS320C6455 EVM Daughter card (EMIF A) control that has some discussion about this same example program. The example as installed uses CE3 for both the async and sync EMIFA accesses. This is not practical, but it does provide an example that can be followed when you create a board of your own or when you add some external memory devices using the Memory Expansion connector.

    Without making any modifications to the DSK or adding external memory on the Memory Expansion connector, you have only the components that are on the DSK board. The TechRef document that ships with the DSK can also be downloaded from the Spectrum Digital website. In the TechRef document, you will find descriptions of what components are included on the board, including a memory map that shows which addressable components are on which EMIF bus and on which CEn space.

    There are no read/write memory devices on the EMIFA bus.

    Regards,
    RandyP

     

    If you need more help, please reply back. If this answers the question, please click  Verify Answer  , below.

  • Hello,

    thank  you   RandyP

    I have  read  the old thread  you have  recomended  to  me.I still  don't  know  why.

    I  found  that  the  CE2  EMIFA is  connected  to  CPLD,and  the  CPLD has  severial  registers,and  the  registers  have  severial  bits  that  can't  be  write ,and  it is

    just  what  I  observed  of  the memory  that  I  can  only  control  some  bits .

         BUT  I  don't  know  why  I  write   a  32bits  data  in   0xA0008000,the  whole   memory   of   CPLD  is  changed. IS   that  i  should   configure   some  registers   of   the 

    CPLD  or  whether  the  6455DSK  board  of  mine  has  something  wrong? I  think  it's  none  of  busness  of   the   EMIFA  configuration as  I can  write  to  the  CPLD  SPACE.

         THANK   YOU.

  • Hu Shushu,

    According to the TechRef for the DSK6455, what are the addresses at which registers are implemented in the CPLD?

    If you use EMIFA to access these registers at their specified addresses, do you get the expected behavior?

    What do you expect to see when you access other addresses in this memory range of CE2 outside those specified as implemented in the CPLD?

    Regards,
    RandyP

  • Hello,  RandyP

    Sorry  for  that  I don't know  how  to   quote   your  questions  in  this  Description.I  use  my  owe  way .

                         They  are  8 8bits  registers of offsets from   0xA0000000 .

                      I  have  got  the   expected  behavior.I  can  write   the   bits  that  can  be  writen.

    I  want  to  write  the  other  addresses  in  the  memory  range of  CE2  outside  those   specified.  But  no  matter  what  address  I  write  

    In  the  memory  of  CE2,it goes  the  same     and  all  of  the  memory  has  changed  as  I  have   described  before.

            I  DON'T  know  why.

    THANK  you!

  • Hu Shushu,

    You are very inventive to do the quotations this way. When writing a reply, if you use the cursor to highlight the text in the post that you want to quote, then you can click the red quote link and the text will be copied into your new post.

    What device has memory components in the CE2 memory range beyond those 7 8-bit registers defined for the CPLD? What is the comparison between the values you read at the higher addresses like 0xA0008000, and the defined offsets at 0xA0000000?

    Regards,
    RandyP