|
我使用STM32H750 QSPI W25Q64 作为外部FLASH,使用非映射方式读写FLASH 正常,映射后,读0X90000000地址的数据也正常,但是读0X90010000 地址的数据读到的是0XFF,但是 用W25Qx_QSPI_FastRead 读 0X10000确是正常的,请问哪位大侠知道是怎么回事情 if(W25Qx_QSPI_Init()!=QSPI_OK) { while(1); } // W25Qx_QSPI_Read(ucD,0x0,8); W25Qx_QSPI_FastRead(&ucD[20],0x0000,8); W25Qx_QSPI_FastRead(&ucD[30],0x10000,8); // W25Qx_QSPI_Erase_Block(0); // W25Qx_QSPI_Write(ucDat,0x0,8); // W25Qx_QSPI_Read(ucD,0x0,8); W25Qx_QSPI_FastRead(&ucD[38],0x10008,8); if(QSPI_EnableMemoryMappedMode(&hqspi)!= QSPI_OK) { while(1); }
ucD[11] = (unsigned char)(0x90000000UL); ucD[12] = (unsigned char)(0x90000001UL); ucD[13] = (unsigned char)(0x90000002UL); ucD[14] = (unsigned char)(0x90000003UL); ucD[1] = (unsigned char)(0x90010000UL); ucD[2] = (unsigned char)(0x90010001UL); ucD[3] = (unsigned char)(0x90010002UL); ucD[4] = (unsigned char)(0x90010003UL); |
你直接读的时候没有取地址
已经搞定了,是QSPI 配置的地方写的不太对
你直接读的时候没有取地址
STM32H7固件库里有基于STM32H750开发板的QSPI例程。建议你将你的配置跟ST官方的例程比较,看看哪些有不一致的地方,包括GPIO的配置都一一比较下。另外,你还可以将速率降低后进行测试。