cortex-m4 中断响应12个周期怎么转换成时间
作者&投稿:罗背 (若有异议请与网页底部的电邮联系)
Cortex M系列采用三级流水线设计,指令在第一个周期指令1取指,第二个周期指令1译码(指令2取指),第三个周期指令1执行(指令2译码),第四周期指令1执行完毕(指令二执行),递推下去。这种三级流水线方式应该算是指令周期是4还是1.就是这个意思。
当 cortex(包括 m4)响应了某中断后,在中断服务例程返回之前,该中断再次发生,那么 cortex 将不会再响应该中断(中断服务例程不会嵌套),但该中断的标志会被置1,当该中断服务例程返回后,该标志会使 cortex 再次响应该中断。当然,如果在中断服务例程中“清除”了被置位的中断标志,那么例程返回后将不会再次响应该中断了。
cortex 的中断例程设计,不建议欺骗 NVIC 认为中断已结束,那样可能导致 NVIC 逻辑混乱,你可以采用查询 Systick 的方法,或者在 Systick 中断服务例程中设置一个数据,而让主程序来查询该数据,或者引入 RTOS。总之,方法很多。
例如:CPU 主频是 100MHz,就是 100,000,000 Hz
12 / 100000000 * 1000000 = 0.12 微秒
0.12 微秒 * 1000 = 120 纳秒
-----------------------
如果不清楚请追问,如果满意请采纳,谢谢。
12 除以 CPU 的主频(单位 Hz,一般是由 PLL 给出),再乘以 1000000,得到微秒数,还可以再乘以 1000 得到纳秒数。
例如:CPU 主频是 100MHz,就是 100,000,000 Hz
12 / 100000000 * 1000000 = 0.12 微秒
0.12 微秒 * 1000 = 120 纳秒
向飘氯化: 12 除以 CPU 的主频(单位 Hz,一般是由 PLL 给出),再乘以 1000000,得到微秒数,还可以再乘以 1000 得到纳秒数.例如:CPU 主频是 100MHz,就是 100,000,000 Hz12 / 100000000 * 1000000 = 0.12 微秒0.12 微秒 * 1000 = 120 纳秒
宜川县17824852142: cortexm3m4区别比较 ?
向飘氯化: m3和m4内核区别Cortex-M3是一个32位的核,在传统的单片机领域中,有一些不同于通用32位CPU应用的要求.谭军举例说,在工控领域,用户要求具有更快的中断速度,Cortex-M3采用了Tail-Chaining中断技术,完全基于硬件进行中断处理,最多可减少12个时钟周期数,在实际应用中可减少70%中断.
宜川县17824852142: arm - cortex - m4响应systick中断后,假设中断函数并未退出,是否还会响应中断函数? - ?
向飘氯化: 当 cortex(包括 m4)响应了某中断后,在中断服务例程返回之前,该中断再次发生,那么 cortex 将不会再响应该中断(中断服务例程不会嵌套),但该中断的标志会被置1,当该中断服务例程返回后,该标志会使 cortex 再次响应该中断.当然,如果在中断服务例程中“清除”了被置位的中断标志,那么例程返回后将不会再次响应该中断了.cortex 的中断例程设计,不建议欺骗 NVIC 认为中断已结束,那样可能导致 NVIC 逻辑混乱,你可以采用查询 Systick 的方法,或者在 Systick 中断服务例程中设置一个数据,而让主程序来查询该数据,或者引入 RTOS.总之,方法很多.
宜川县17824852142: 紧急求助一个问题,STM32读取IO状态的速度问题. - ?
向飘氯化: 这肯定是不行的. 因为中断的响应时间就要 12个周期以上.根本就来不及响应 7MHz 方波.不过借用外设的功能, 我想还是能够实现的. 比如通过定时器外部输入触发 DMA 的办法. 查看更多答案>>
宜川县17824852142: ARM Cortex M4处理器有哪两种工作模式,为什么? - ?
向飘氯化: m4有以下2种操作模式2113: - 处理模式:执5261行中断服务程序4102(ISR)等异常处理.在处理模式下处理器总是具有1653特权访问等级.- 线程模式:执行普通的应用程序代码时,处理器可处于特权访问等级,也可以处于非特权访问等级.
宜川县17824852142: 苹果笔记本开机3声嘟,嘟,嘟,电脑无反应 - ?
向飘氯化: 1声短鸣:内存刷新失败.2声短鸣:内存ECC校验错误. 3声短鸣:系统基本内存(第1个64KB容量)自检失败. 请根据具体原因进行处理. 开机后按“F8”(不同机型可能按键会不同),然后选择“最近一次正确配置”. 是哪款机器,...
宜川县17824852142: error flash download failed Cortex - M4怎么回事啊 - ?
向飘氯化: 我用J-Link的时候,需要在RESET选择Normal才能正确下载程序,ST-Link不知道这样行不行,你试一下.
宜川县17824852142: 关于尾链(Tail - Chaining)的说法,正确的是? - 上学吧找答案?
向飘氯化: 由板级决定的这句有点问题,寄存器值和板子没有直接对应关系.由链接文件决定的差不多,链接后会把这个值写在中断向量表的前4个字节,启动时硬件加载到MSP寄存器中.之后就看运行了,调用个函数、来个中断什么的就跟着变就是了~
宜川县17824852142: 什么是外部中断 dsp - ?
向飘氯化: 拿TMS320F281x来说,DSP的外部中断应该就是外设中断,支持多种外设中断.外设中断扩展模块最多支持96个独立的中断,并将这些中断分成8组,每一组有12个中断源,根据中断向量表来确定产生的中断类型.CPU将自动获取中断向量,在响应中断时CPU需要9个系统时钟完成中断向量的获取和重要CPU寄存器的保护(中断响应延时为9个系统时钟).因为,CPU能够相当快的响应外设产生的中断.