关于SysCtlDelay

2019-03-24 13:07发布

我用的是LM4F230,Stellaris WARE 9453
使用ROM_SysCtlDelay循环是3个周期
使用SysCtlDelay循环是6个周期
不知道为什么会这样?求解

__asm void
SysCtlDelay(unsigned long ulCount)
{
    subs    r0, #1;
    bne     SysCtlDelay;
    bx      lr;
}
循环到底是几个周期呢 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
zhugean
1楼-- · 2019-03-24 16:32
自己顶
zhugean
2楼-- · 2019-03-24 20:10
< :TI_MSP430_内容页_SA7 --> ARM Cortex-M3内核的预取部件具有分支预测功能,可以预取分支目标地址的指令,使分支延迟减少到一个时钟周期。
循环是两条指令,再加一个分支预测的开销,所以循环是3个周期。
但是为什么实际仿真出来是6个呢?!!

一周热门 更多>

相关问题

    相关文章