- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Solved! Go to Solution.
- Labels:
-
Memory Nor Flash
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
We are still awaiting for your waveform screen captures as previously requested. What is the full Ordering Part Number (OPN) of the S29GL064S (which model is being used)? Is the BYTE# pin being used (x8 or x16 mode)? Is the WP# pulled logic high?
The "Connecting FLASH to System Address Bus" application is attached for your review and reference.
Best regards,
Albert
Cypress Semiconductor Corp.
An Infineon Technologies Company
An Infineon Technologies Company
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
Please provide waveform captures during erase and write operations. Please include all input control signals (CE#, WE#, OE#, WP#, BYTE#, VI/O, RESET#) and label them clearly for analysis.
Thank you in advance...
Best regards,
Albert
Cypress Semiconductor Corp.
An Infineon Technologies Company
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
We are still awaiting for your waveform screen captures as previously requested. What is the full Ordering Part Number (OPN) of the S29GL064S (which model is being used)? Is the BYTE# pin being used (x8 or x16 mode)? Is the WP# pulled logic high?
The "Connecting FLASH to System Address Bus" application is attached for your review and reference.
Best regards,
Albert
Cypress Semiconductor Corp.
An Infineon Technologies Company
An Infineon Technologies Company
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
We are still awaiting for your waveform screen captures as previously requested. What is the full Ordering Part Number (OPN) of the S29GL064S (which model is being used)? Is the BYTE# pin being used (x8 or x16 mode)? Is the WP# pulled logic high?
The "Connecting FLASH to System Address Bus" application is attached for your review and reference.
Best regards,
Albert
Cypress Semiconductor Corp.
An Infineon Technologies Company