|
这篇文章将来测评HC32F448的硬件QSPI驱动板载的SPI Flash W25Q64。同时利用定时器来测量其读写时间用来对比不同读写模式下的速度。
这里需要用到的资源包括定时器和QSPI。
首先,在Hardware文件夹中新建Timer0.c、qspi_flash.c等C文件及其对应的h头文件。这里使用的是基础定时器Timer0,参考的例程为HC32F448_DDL_Rev1.0.0\HC32F448_DDL_Rev1.0.0\projects\ev_hc32f448_lqfp80\examples\timer0\timer0_basetimer。同时小华半导体提供的SDK包括W25Q64的驱动例程,这点很赞。
同时还要添加hc32_ll_qspi.c和hc32_ll_tmr0.c的库函数。还要记得使能hc32f4xx_conf.h的对应组件。
Timer0选择PCLK1时钟,不分频,A通道,开启中断,设置的中断时间为10us,通过在中断里面翻转PA2验证了中断时间。
对W25Q64的驱动和QSPI基本参考SDK,这里不再赘述。
HC32F448的QSPI有多种读取模式,分别对应程序中的这六种。
然后通过定时器Timer0对W25Q64写入数据和读取数据进行计数,乘上每一次计数所对应的时间间隔,即可计算出用时。
通过打印出来的时间来对比不同读取模式下的速度。
最后的结果如下,可以看到写入数据比读取数据慢很多,其中四线式输入输出快速读取最快,可以看到QSPI读写速度还是非常快的。
至此,QSPI 定时器和W25Q64就测评好啦