2021-07-19 11:43 PM
Hi I was using 1Gb Flash erlier, now due to flash unavailability. I had to choose different QSPI flash MT25QL128A. But unfortunately there is no flash algorithm .flm file for this flash for STM32H745 device for keil
Can anybody help me with Flash algorithm source or .flm file for below PIN configuration ?
IO0 -- PD11
IO1 -- PF9
IO2 -- PF7
IO3 -- PF6
CLK -- PF10
NCS -- PG6
If possible, kindly compile for MT25QL128/256/512 as well.. so that for any future requirements it will be easy to migrate.
Solved! Go to Solution.
2021-08-11 06:51 AM
Check MPU configuration
AN4861 pg 88, needs strict ordering
AN4860
2021-07-20 05:48 AM
I accept PayPal
https://github.com/cturvey/stm32extldr/tree/main/h7_mt25q128
https://github.com/cturvey/stm32extldr/tree/main/h7_mt25q256
2021-07-31 04:01 AM
I have tried h7_mt25q128, on my custom board with part number MT25QL128ABB8E. But it is failing to verify constantly.
Erase and Write are happening, verify always fails ?
Any advice?
2021-07-31 06:34 AM
I'll have to spend some more time evaluating. Your BSP works?
I have MICRON RW207 parts
https://www.micron.com/products/nor-flash/serial-nor-flash/part-catalog/mt25ql128aba8esf-0sit
RW311 ?? You have these parts in a SOIC16/SOP16 300-mil package?
https://www.micron.com/products/nor-flash/serial-nor-flash/part-catalog/mt25ql128abb8esf-0aut
2021-07-31 06:41 AM
My Part Number is : MT25QL128ABA8ESF-0AAT TR.
It is RW199.
https://www.micron.com/products/nor-flash/serial-nor-flash/part-catalog/mt25ql128aba8esf-0aat
Is it not compatible with .FLM ?
2021-08-01 06:25 AM
Just needed to work out several quirks, also Keil has issues with long names, so needed to change the strategy there.
The RAM for the algorithms needs to accommodate the size of the loaders
https://github.com/cturvey/stm32extldr/blob/main/h7_mt25q128/README.md
https://github.com/cturvey/stm32extldr/blob/main/h7_mt25q128/MT25Q128_STM32H7XX-CUSTOM9.FLM
I tested with CUSTOM4 which is the pin mapping I have on the NUCLEO-H743ZI
2021-08-02 10:51 PM
@Community member Thanks a lot for your efforts in clearing the issue. I am now able to successfully flash thorough your CUSTOM9 FLM in my STM32H745 board. But some how still the code is not able to run from external flash. I have verified all the linker settings and my peripheral configuration is as below
static void MX_QUADSPI_Init(void)
{
BSP_QSPI_Init_t qspi_initParams ;
/* USER CODE BEGIN QUADSPI_Init 0 */
/* USER CODE END QUADSPI_Init 0 */
/* USER CODE BEGIN QUADSPI_Init 1 */
/* USER CODE END QUADSPI_Init 1 */
/* QUADSPI parameter configuration*/
hqspi.Instance = QUADSPI;
hqspi.Init.ClockPrescaler = 3;
hqspi.Init.FifoThreshold = 1;
hqspi.Init.SampleShifting = QSPI_SAMPLE_SHIFTING_NONE;
hqspi.Init.FlashSize = 23;
hqspi.Init.ChipSelectHighTime = QSPI_CS_HIGH_TIME_3_CYCLE;
hqspi.Init.ClockMode = QSPI_CLOCK_MODE_0;
hqspi.Init.DualFlash = QSPI_DUALFLASH_DISABLE;
hqspi.Init.FlashID = QSPI_FLASH_ID_1;
if (HAL_QSPI_Init(&hqspi) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN QUADSPI_Init 2 */
/* USER CODE BEGIN QUADSPI_Init 2 */
qspi_initParams.InterfaceMode = MT25TL01G_QPI_MODE;
qspi_initParams.TransferRate = MT25TL01G_DTR_TRANSFER ;
qspi_initParams.DualFlashMode = MT25TL01G_DUALFLASH_DISABLE;
BSP_QSPI_DeInit(0);
if (BSP_QSPI_Init(0, &qspi_initParams) != BSP_ERROR_NONE)
{
Error_Handler( );
}
if(BSP_QSPI_EnableMemoryMappedMode(0) != BSP_ERROR_NONE)
{
Error_Handler( );
}
HAL_NVIC_DisableIRQ(QUADSPI_IRQn);
/* USER CODE END QUADSPI_Init 2 */
/* USER CODE END QUADSPI_Init 2 */
}
Any more details are missing or any other suggestions ?
2021-08-03 06:53 AM
MT25TL01G commands/modes aren't likely to work here.
If you plan on using multiple potential QSPI NOR Flash devices you're likely going to want to use the READ ID command to identify them, and adapt the read code/configuration accordingly.
2021-08-04 12:24 AM
Ohh,
I wanted to integrate MT25QL128A in place of MT25TL01G with STM32H745 for touchgfx integration. But there is a BSP Frame work associated with MT25TL01G driver like enableMemoryMapped IO etc.
Is there any driver with for MT25QL128A which is already integrated with touchgfx ?
2021-08-11 12:22 AM
@Community member I have modified all the configuration as required by MT25QL128 by removing 4-byte address modes from MT25TL01G driver. But still getting flickering images and unable to figure out what is wrong.. Do you have any suggestions / main differences between MT25QL128 and MT25QL512 other than 4-byte addressing modes. Like Dummy Cycle config ? I have used 8 cycles as it is mentioned in the data sheet. 24 Bit instead of 32-bit. Size is adjusted to 24..
But still missing something?