求助啊!!!!!!STM32的IO速度与指令执行速度的问题??

2019-03-23 19:47发布

72Mhz的STM32 ,PLCK2=72Mhz
用逻辑分析仪测试,得到的速度为0.24us/指令,理论上应该是0.14us/指令(模拟器验证)
请问这个速度为什么会这么慢72Mhz的STM32F103实际只有40Mhz左右

测试代码

          ldr r3, =GPIOG_BSRR
          mov r1, #0x00100000 //PG4 上升
          str r1, [r3]
          ALIGN   
         
          mov r1, #0x00000010         
          mov r1, #0x00000010
          mov r1, #0x00000010         
          mov r1, #0x00000010
          mov r1, #0x00000010         
                                             
          mov r1, #0x00000010         
          mov r1, #0x00000010
          mov r1, #0x00000010         
          mov r1, #0x00000010
          mov r1, #0x00000010

          mov r1, #0x00000010         
          mov r1, #0x00000010
          mov r1, #0x00000010         
          mov r1, #0x00000010
          mov r1, #0x00000010

          mov r1, #0x00000010         
          mov r1, #0x00000010
          mov r1, #0x00000010         
          mov r1, #0x00000010
          mov r1, #0x00000010

          mov r1, #0x00000010         
          mov r1, #0x00000010
          mov r1, #0x00000010         
          mov r1, #0x00000010
          mov r1, #0x00000010

          mov r1, #0x00000010 //PG4 下降
          str r1, [r3]

新建 Windows位图图像.JPG

IRQ/Debug 通道捕捉PG4

用分析仪测得PG4升降周期为0.8750us,分析仪带宽为24Mhz,有误差存在,但并不影响测速
(0.8750 - 0.25)/25 = 0.025us, 0.25为IO翻转耗时,8Mhz的翻转速度
代码是在flash中跑的,平均 0.025us/指令,大约40Mhz的频率

还有就是翻转速度为什么这么慢,不管我怎么设置都只有8Mhz的速度,理论上可以实现18Mhz

以上请教高手指点迷津!!

[ 本帖最后由 zxdplay 于 2012-7-8 17:16 编辑 ] 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。