将示波器连接到 GPIO 输出引脚时、我可以测量它所花费的时间
以重复循环。 环路只需切换 GPIO 引脚。 时钟速率
Tiva C 系列 Launchpad 记录为80MHz (周期为12.5ns)。
从 ROM 运行代码时、我测量到脉宽为100ns (8
周期)。 而是从 RAM 获得125ns (10个周期)。
在这种情况下、为什么从 RAM 运行更慢? 我实际上期望的是
相反、RAM 执行速度更快。
谢谢、
罗德里戈
从 ROM 执行中删除
00000000000002b0 0000001c :
2b0: LDR R3,[PC,#20] ;(2c8. )
2B2: LDR R2、[R3、#4]
2B4: ldrb R1、[R3、#21]
2B6: MOV R3、#0
2B8: str.w R3、[R2、R1、LSL #2]
2bc: LDR.w R3、[R2、R1、LSL #2]
2c0: mvns R3、R3
2C2: str.w R3、[R2、R1、LSL #2]
2c6: b.n 2bc.
2c8: .word 0x2000026c
RAM 执行
200002b0: LDR R3,[PC,#20] ;(200002c8. )
200002b2: LDR R2、[R3、#4]
200002b4: ldrb R1、[R3、#21]
200002b6: MOV R3、#0
200002b8: str.w R3、[R2、R1、LSL #2]
200002bc: LDR.w R3、[R2、R1、LSL #2]
200002c0: mvns R3、R3
200002c2: str.w R3、[R2、R1、LSL #2]
200002c6: b.n 200002bc.
200002c8: .word 0x20000a6c