I’m trying to create library for stm32 and w25q01jvzeim flash. First of all i’m trying to read JEDEC ID without success.
My function:
CMD_DUMMY = 0x00
CMD_JEDEC_ID = 0x9F
static void W25Qxxx_Read_JEDEC_ID(void)
{
uint32_t JEDEC_ID = 0, Temp0 = 0, Temp1 = 0, Temp2 = 0;
W25Qxxx_Enable();
W25Qxxx_SPI(CMD_JEDEC_ID);
Temp0 = W25Qxxx_SPI(CMD_DUMMY);
Temp1 = W25Qxxx_SPI(CMD_DUMMY);
Temp2 = W25Qxxx_SPI(CMD_DUMMY);
W25Qxxx_Disable();
JEDEC_ID = (Temp0 << 16) | (Temp1 << 8) | Temp2;
printf("0x%08lX n", JEDEC_ID);
W25Qxxx_JEDEC_ID = JEDEC_ID;
}
I got strange result 0x0000EFAA
my SPI line works well as I detect the manufacter 0xEF
is windbond. But I can’t get capacity,memory type, in the datasheet the JEDED ID for my flash is 0x7021h