Using External Memory Bus

We're trying to use the external memory bus to access a mapped peripheral's memory space.  Right now we are simply configuring the bus using the configuration (enable External Memory Interface), and then writing/reading from a fixed location (0x80000000).  This is using a S7G2 development board.  This should toggle CS0 (P6_10).  We've verified we are on the right pin (checked P6_10 configured in GPIO mode), but no matter what we do, the CS does not toggle.  The corresponding address bits do though. Can you assist?  Is there something we have to enable?

Thanks,

Rich

  • Figure 15.34 in the S7G2 HW manual:- when using SDRAM and CS Area simultaneously, -EBCLK cannot be used, -CS0 to CS3 cannot be used.

    If you are using the S7-DK board, this has SDRAM enabled by default. Can you try using one of CS4,5,6,7, and the corresponding address?

  • In reply to Jeremy:

    Thanks. I tried CS4 on the S7-DK board and am able to see it working on the logic analyzer. Also, I tried commenting out the call to bsp_sdram_init() function in hopes of not initializing the SDRAM (and thus being able to use CS0), but CS0 still does not toggle in this case. I am able to work around my issue by using CS4 for now, but could you please clarify what needs to be done in the S7-DK board code to be able to use CS0? We are using the S7-DK bsp as a starting point for our own custom BSP

  • In reply to Ashwin:

    If you set the SDCLKout to off (it is on by default) in the Clock configuration, along with removing the bsp_sdram_init() call, then you should be able to use CS0.

  • In reply to Jeremy:

    Thanks. Setting SDCLKout to off fixed the issue. I'm now able to to use CS0

  • In reply to Ashwin:

    Thanks a lot! Same issue. It also worked for me.