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.

RM57L843: mis-connect the address pins of EMIF to async. mem. without BA1

Part Number: RM57L843


Dear Champs,

My customer connected the address lines of A0~12 of EMIF to a0~a12 of asynchronous 16bit memory without ba1 connection by mistake, and they are looking for the workaround to use it before new board will be coming up.

They can access this memory now and successfully have done reading/writing, but they are worrying what is the issue in this case.

As 'A0' of EMIF represent the LSB of 32bit address, I think they can access whole memory region but the should write '0', '4', '8', '12'th address of CPU instead of '0', '2', '4', '6' th address, and it will be writen into '0', '2', '4', '6' th address of 16bit async memory.

e.g. they can use 32bit 'int' variable instead of 16bit 'short' variable to store/load 16bit data.

Is this right? is there any limitation or issue in this case?

Their memory is 70V25L25PFGI(16bit asynchronous memory), and they mis-connected address pin without BA[1] as below.

Thanks and Best Regards,

SI.

  • Hi SI,

    We are looking into this and will get back to you shortly. Please note that because of the holidays it may take as long as Jan 5th to get a definitive response. 

    Best Regards,

    Andrei

  • Hello SI,

    Only lower 16-bit data or upper 16-bit data is stored in the memory at work-aligned address (0x00, 0x04, 0x08, 0x0C). 

    If you write 32-bit  data (0x12345678) to address 0x60000000 attached to RM57 EMIF, 0x5678 will be programmed to 0x60000000 first, then 0x1234 is written to 0x60000000 again, and 0x5678 is written. You can re-org the data to solve the issue:

    data=0x12345678 --> data[0] = 0x56785678 and data[1] = 0x12341234  --> 0x5678 will be written to 0x60000000 and 0x1234 is written to 0x60000004 

      

  • Dear. QJ Wang

    I am SI's customer ( Inseok ). I would like to ask you directly through this case.

    1) Would you please recommend which way is more efficient and correct? (1) re-org data method or (2) reference interface using BA[1] pin?

    2) Would you please explain more detail how the data and address works and transfer when we connect BA[1] to Memory A[0]? and do we also need any source code modification?

    We are redesigning the interface following RM57L843 technical manual like below

     EMIF_BA[1] --> Memory ADDR [0]

     EMIF_ADDR[11:0] --> Memory ADDR[12:1]

    Thanks alot

    Inseok.

  • Hi Inseok,

    For your new design, please follow the suggestions in TRM:

    1.  EMIF_BA[1] --> Memory ADDR [0]
    2.  EMIF_ADDR[11:0] --> Memory ADDR[12:1]

    The data re-org mentioned in my previous post is just a temporary workaround for your special case.