Nor Flash Forum Discussions
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 Lesshello,
I want to replace my Winbond flash w25q256jv with S25FL256SAGNFI010.which changes I have to do to configure flash or else in the program and in the memory sector.
Regards,
Shivam Shah
Show Less【use】
STM32H723S25FL256LAGMFI003
document
Number: 002-00124 Revised Edition * H
I am currently writing a write / read check program using S25FL256LAGMFI003.
Writing / reading from 0x00000000 to 0x01FFFFFE seems to be successful.
, Clear / write seems to fail only at 0x01FFFFFF.
We considered the possibility of write protection.
So I checked the values in the status register and the settings register, but the initial values were read.
STATUS1 = 0x00
Statsu2 = 0x00
CONFIG1 = 0x00
CONFIG2 = 0x00
CONFIG3 = 0x78
Next, we considered the possibility of being protected by the pointer area protection register.
However, the register read command (0x65) must read the pointer area protection register successfully.
I stumbled further here. The address read command is only partially successful.
First, I read status register 1 using any register read command and it succeeded.
Then I read configuration register 1, but couldn't read the value.
1. Isn't the final address (0x01FFFFFF) writable for protection? Or is it an area that cannot be written in the first place?
2. Do you know why the register read command (0x65) fails?