cancel
Showing results for 
Search instead for 
Did you mean: 

where the signals for FSMC are being defined (NOE, NL, NWE, etc )in STM32cubeF2?

Pranay Dhuri
Associate II
Posted on April 20, 2017 at 15:55

Hi,

Currently I am trying to implement muxed NOR FSMC on STM32F207ZG nucleo board,

so as it is muxed data and address lines are common, I found some APIs in hal_driver( HAL_NOR_ProgramBuffer(), HAL_NOR_ReadBuffer()). these two functions are common for Muxed and demuxed configuration??

while using these APIs how controller will come to know whether it is address or data,where the control signals are being modified?

3 REPLIES 3
Alex R
Senior
Posted on April 20, 2017 at 18:17

Hi,

The FSMC will take care of the multiplexing between address/data.

Regards,

Alex

Posted on April 26, 2017 at 15:15

Thanks Alex,

I would like to know how it is taking care of multiplexing between address/data? how it is managing to do so?

I have searched in library files but failed to find out.

This is what i found in   HAL_NOR_ReadBuffer()  function-

  /* Send read data command */

NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_FIRST), NOR_CMD_DATA_FIRST);

NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_SECOND), NOR_CMD_DATA_SECOND);

NOR_WRITE(NOR_ADDR_SHIFT(deviceaddress, uwNORMemoryDataWidth, NOR_CMD_ADDRESS_THIRD), NOR_CMD_DATA_READ_RESET);

/* Read buffer */

while( uwBufferSize > 0U)

{

*pData++ = *(__IO uint16_t *)uwAddress;

uwAddress += 2U;

uwBufferSize--;

}  
Posted on April 26, 2017 at 22:45

Hi,

The hardware module (FSMC) takes care of the multiplexing. The software or libraries do not have to multiplex. The software simply has to issue the memory access (either read or write).

Alex R.