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.

TMS570LS3137: NOR flash S29GL256S (32MB), only 16 MB visible

Part Number: TMS570LS3137

Hi all,

I am trying to use an S29GL256S flash on the EMIF interface of the TMS570, but i can access only half of the flash (16MB). Start address of flash is 0x60000000, and can access untill address 0x61000000.

I am attaching some screenshots and the emif.c, I hope that is enough for you guys to help me out. If not, I could provide more info.

Thank you.

   1803.emif.c

  • Hello,

    TMS570LS3137 is able to access up to 16MB per chip select for the asynchronous external memory interface, as specified in the datasheet.

    The limitation comes from the number of address lines available. You can choose to "create" a higher-order address line by using an I/O pin. That makes the application software tricky as this bit has to be manipulated depending on the address being accessed.

  • so in order to jump to the next bank do i need to select EMIF Chip Select 3?

    our hw schematic does not use CS3. is there a way to select the second 16MB? could you please be more specific? what do you mean by "create" a higher order address line by using an I/O pin and how to integrate this into the c application?

  • Hi Sunil,

    Thanks for your answer. This could bring me closer to the solution, but it is not clear to me what do you mean, by 

    "create" a higher-order address line by using an I/O pin. 

    Are you saying that with my hardware that is already given I cannot access al the 32 MB? If it is possible could you please mention which line should I manipulate to access the higher addresses?

    Thank you.

  • Hi Zoltan,

    Your hardware setup is correct. Please check if the MPU is setup to allow you to access the full memory range.

    Regards, Sunil