Nor Flash Forum Discussions
text.format{('custom.tabs.no.results')}
I am using flash memory part S25FL064L in my design.
I wanted to know the "Write cycle time" to Write 1 Byte data into this memory.
In the datasheet, they have mentioned Typical 220mSec "Nonvolatile Register Write Time" (tw)
But, I want to Write 14000 Bytes of data after power fail (as a retentive data)
So, how should I estimate "Write cycle" time in this case ?
Regards,
Prasad Show Less
Stm32h743 is connected via FMC s29gl064s,and cubeide configed. As shown below:
RCC configured as below:
Read flash ID:
sts = HAL_NOR_Read_ID(&hnor1, &id);
printf("sts1 = %d\n", sts);
printf("nor_id = %04x %04x %04x %04x\n",
id.Manufacturer_Code,
id.Device_Code1,
id.Device_Code2,
id.Device_Code3);
HAL_Delay(1);
Return:nor_id = 0001 227e 2213 2201
Then ReturnToReadMode:
sts = HAL_NOR_ReturnToReadMode(&hnor1);
printf("stsreadmode2 = %d\n", sts);
HAL_Delay(1);
EraseChip:
sts = HAL_NOR_Erase_Block(&hnor1, 0, 0x60000000);
printf("sts_erase_block = %d\n", sts);
do {
sts = HAL_NOR_GetStatus(&hnor1, 0x60000000, 500);
printf("HAL_NOR_GetStatus1 = %d\n", sts);
} while(sts);
Return status look like correct.
Write operation:
uint16_t txbuf[1024] = {0}, rxbuf[1024] = {0};
#if 1
for (i = 0; i < 1024; i++) {
txbuf[i] = 0x5a;
}
#endif
sts = HAL_NOR_ProgramBuffer(&hnor1, 0, txbuf, 256);
printf("sts_write_buf = %d\n", sts);
do {
sts = HAL_NOR_GetStatus(&hnor1, 0x60000000, 500);
printf("HAL_NOR_GetStatus1 = %d\n", sts);
} while(sts);
Return status look like correct.
Read operation:
sts = HAL_NOR_ReadBuffer(&hnor1, 0, rxbuf, 256);
printf("sts_read_buf = %d\n", sts);
#if 1
do {
sts = HAL_NOR_GetStatus(&hnor1, 0x60000000, 500);
printf("HAL_NOR_GetStatus1 = %d\n", sts);
} while(sts);
#endif
for (i = 0; i < 256; i++) {
if (!(i % 8)) {
printf("\n");
}
printf("%04X ", rxbuf[i]);
}
printf("\n");
Return resaults as below:
According to your tips, I added the HAL_NOR_ReturnToReadMode function.
But the result is still incorrect! Please help me look again. What's the problem。
Thanks.
Show Less
Hello, good morning.
I got some doubts regarding the S70FL01GSAGMFI010 flash memory
As it works with SPI, I would like to know if it is possible to use the same protocol usually used with SD cards (SPI+FAT file system).
Thanks in advance, Luis Felipe.
We bought the part S25FL512SAGMFIR10, the date code is 19+ , but the marking is different from what data sheet said.
Is there anyone who can help to answer? Thank you!
Show LessHi Bushra
I registered for the Semper Access Program (AP) on January 11, but still do not have full access to the datasheets for S25HL512TDPNHI010.
In the instructions to "Join the Semper™ Access Program for full access to SEMPER NOR Flash design files" in step 3 it is mentioned that "within 24-48 hours, you will receive an invitation message in your Cypress community messages inbox"
The "48 hours" have passed, but I did not receive an invitation in my "Cypress community messages inbox".
I tried the link you provided this morning "https://community.infineon.com/t5/Semper-Flash-Access-Program/Datasheet-Semper-Flash-with-Quad-SPI/ta-p/260789" but I still do not have access.
Can you please help?
Many thanks
Dani
Show Less
Hi,
Can you provide IBIS model for S29GL256P90TFIR20?
Regards,
Nagata
Hello,
I have replaced my Winbond flash w25q256jv with S25FL256SAGNFI010. What are the major electrical points I have to take care of while designing the schematic? is there any particular thing I have to consider while making a design or while writing up the code?
In the initial stage, both the flash seems perfect while compared with each other as far as functional working is a concern.
would like to have your say on this at the earliest as we are in the final stage of our product.
Can you please share with us the sample code for this flash having serial spi flash configuration, erase, read and write operation?
Any help will be grateful. Thanks in advance.
Regards,
Shivam Shah
Show LessThe FLASH detailed model is S29GL064S70TFI070.
Is the flash ID correct???
Read flash ID:
sts = HAL_NOR_Read_ID(&hnor1, &id);
printf("sts1 = %d\n", sts);
printf("nor_id = %04x %04x %04x %04x\n",
id.Manufacturer_Code,
id.Device_Code1,
id.Device_Code2,
id.Device_Code3);
HAL_Delay(1);
Return:nor_id = 0001 227e 2213 2201
Thank you very much.
Show Less