
在参考手册FLASH 模块中,ART加速器中有这么一句话,凭借ART加速可以使CPU运行168MHZ时的性能相当于零等待。
![]() 然后我用KEIL软件连上板子与示波器根据手册中给出的设置,我们电压时3.3V,配置时钟频率为168,所以选择5个等待周期,开启预取和缓存。 ![]() 目的:为了验证开启加速功能时,在168MHZ能否达到零等待。 方法:运行52800条单周期,顺序指令。用的是“MOV R0 #0” "MOV R0 #1",给R0寄存器赋值,从0到20,复制了60次,为了减少指令书写,采用BL跳转自身40次。一共是52800条,跳转40次,跳转可忽略,相当于全部顺序执行。MOV在M4中是32位指令。 在第一条指令前拉高管脚,最后一条指令后拉低管脚,开启预取和缓存,设置5个等待周期。然后在示波器中截取管脚拉高的时间,计算出实际值。 计算出理论零等待时间:应该是52800/168=314微秒。 但是得到的实际值是570微秒。远远达不到零等待时间,这是为什么,哪里出了问题。请大神赐教。非常感谢! |
在CUBEMX生成的STM32F407VET6的I2S主机接收模式与I2S主机发送模式能正常运行,如何进行动态调整或者如何实现主机全双工?
STM32F407 多机RS485串口通讯+地址位唤醒+DMA空闲线接收,无法进入中断服务程序。
设置RDP等级为2的同时,有什么办法可以确保后续还能够烧录程序
STM32F407VET6 I2S 采用DMA传输问题
有STM32F4倒车雷达响应例程吗?
STM32F429I倒车雷达响应
STM32多通道FFT运算异常
在其他电脑上编译成功没有错误并且能够烧录,换了电脑之后编译出现一堆错误,并且不能烧录程序
SD卡初始化第一次初始化后再次初始化时会失败。
串口重定向接收不同
评分
查看全部评分
非常感谢,这个问题我已经解决了,可以看下面回复。
结论:ST的加速效果在一些特点明显的程序中(针对预取的顺序程序,针对cache的循环程序)加速效果显著能达到零等待性能。但是在大量跳转的程序中虽然达不到零等待,但是加速效果依然显著。
对于之前测量中存在的问题,应该是因为在频率过高时,指令数太少,受限于器材的限制,在示波器上显示不出明显效果,。当我把指令数加到10W条或者频率降低后,问题被解决。