Question
[bug] problem in HAL_SRAM_Write_16b
cubeMX : 5.6.1
cubeIDE : 1.3.1
Code Lib Version : STM32Cube_FW_F1_V1.8.0
I implemented ili9341 lcd as fsmc and found the following problem.
the problem is that when calling HAL_SRAM_Write_16b, it writes data once more.
I attach the measured fsmc waveform.

I can fix HAL_SRAM_Write_16b as follows:
HAL_StatusTypeDef HAL_SRAM_Write_16b(SRAM_HandleTypeDef * hsram, uint32_t * pAddress, uint16_t * pSrcBuffer, uint32_t BufferSize)
{
uint32_t size;
__IO uint32_t *psramaddress = pAddress; //this is bug fix: uint32_t -> uint16_t
uint16_t *psrcbuff = pSrcBuffer;
uint8_t limit;
/* Write last 16-bits if size is not 32-bits multiple */
if (limit != 0U)
{
*psramaddress = ((uint32_t)(*psrcbuff) & 0x0000FFFFU) | ((*psramaddress) & 0xFFFF0000U);
/*Here, since the data size is 32bit. but fsmc bus is 16bit. So we have to fix it here
fix code: *psramaddress = *psrcbuff;
*/
}After fixing as above, LCD Works.

I hope it this will help.
