This idea was born accidentally. I connected memory to stm32f446 by QSPI, it did not work correctly. As I found out on the board, it was incorrect to mark two pins. I did not have any other stm32 with QSPI hardware, I had to write a software one. Measuring the read speed is not difficult. The material you suggested I read, it can turn out something useful.
P.s.
Look at the datasheet for this memory and you will understand what to implement on the proposed algorithm QSPI will be almost impossible.
Software QSPI for stm32f103
Re: Software QSPI for stm32f103
Last edited by diger67 on Wed May 03, 2017 12:19 pm, edited 1 time in total.
Re: Software QSPI for stm32f103
I checked the dump reading time to 256 bytes. When initializing SysTick in 1 μs, the read time for the program QSPI is 1 ms.
Code: Select all
uint8_t idData[3];
uint8_t dataBuff[0x100];
static __IO uint32_t sysTickCounter;
__IO uint32_t uwTick = 0;
float timeend;
uint32_t time;
uint32_t GetSysTick(void)
{
return uwTick;
}
void SysTick_Handler(void)
{
uwTick++;
}
int main(void)
{
SysTick_Config(SystemCoreClock/1000000); //1uS
Gpio_Init();
QSPIInit();
QSPI_Read_ID(READ_ID_CHIP, idData, 3);
time = GetSysTick();
QSPI_data_read(0, 0x00, 6, dataBuff);
timeend = (GetSysTick() - time)/1000 ;
while(1)
{
}
}