1.STM32L476使用的是GPIO模拟的SPI,自然速度要慢。STM32F746使用硬件QSPI,会快很多。
2.但也不能简单从你测的这个时间上得出M7性能比M4强的结论(当然M7确实比M4强)。
3.这里速度慢我个人认为主要是SPI FLASH擦除速度太慢。以W25Q256为例,Sector(4KB)擦除时间在45-400mS。
4.如果按362KB计算,FLASH擦除时间最少是(362KB/4KB)*0.045S = 4.07S 最大(362KB/4KB)*0.4S = 36.2S。
5.再加上FLASH写时间,一个PAGE(256Byte)大概在0.7-3mS。(362KB/256B)*0.003=4.344S。
6.再加上一些其它时间开销,55s感觉是差不多的。
7.但QSPI读取FLASH是非常快的,把.py文件保存到板时慢。MCU读取执行非常快,甚至比存在SD卡上读取还要快。
8.我自己做了块Micropython板,STM32F767VI,写了QSPI驱动加到Micropython中,2xFLASH,QSPI采用2xBank x 4Line模式,302KB的文件写入也需要22S之多。
|