微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM CORTEX-M3 内核架构理解归纳

ARM CORTEX-M3 内核架构理解归纳

时间:11-21 来源:互联网 点击:

,程序十有八九就跑飞了,是很危险的,所以在应用中,要尽量减小中断的嵌套深度。

之前的中断响应机制发生在高级中断打断低优先级中断完成响应之后,译者将其名曰:咬尾中断;下面的中断则发生在高优先级中断打断低优先级中断准备响应之时,当高优先级中断还没来的时候,低优先级中断已经把前期准备工作给做完了,这时候高优先级中断来了,那么此时高优先级中断会直接利用低优先级中断的前期工作成果,直接开始响应,进入服务中断服务程序,而之前的低级中断则被迫挂起,为别人做嫁衣了,没办法,内核就是这样规定的,译者将其译为“晚到(的高优先级)异常”我将其名为“后来居上”中断。

中断延迟时间:从检测到中断,到执行中断服务程序的第一条指令,其间所流逝的时间。

书中云:如果存储系统足够快,入栈与取指令可以分别进行,且中断可以即刻得到响应不被抢占,那么所耗费的时间就是固定的12个周期(满足硬实时要求的确定性)。如果多级嵌套中断响应,算上咬尾中断省去的出入栈时间,每个中断可减少至6个周期。

最后再说说异常即fault,内核活动层面的东西,这个本应是需要大书特书的东西,尤其是在调试程序的时候找bug上,是体现一个人技能水平的很重要的方面,但是限于时间与研究深度,暂时不深究了,

就一句话吧:运行时出现的系统错误有时候不是编程上的语法错误,如果不了解内核架构和一些使用准则,是很难发现bug在哪里,这就需要追溯到底是程序运行到哪里出了问题,导致内核运行出现了错误,得益于CM3完备的调试架构,很多fault的产生都会被监测到,并记录在对应的寄存器中,按图索骥就知道问题出在哪里,是哪条指令导致的,借此针对性的自查、分析、修改。

下面将结合上面的内核架构以及内核运行机制,针对具体的基于cortex—M4内核(M4比M3内核多了DSP与FPU)的STM32F407芯片,进行硬件资源的对比。

上一篇:ARM 伪指令讲解
下一篇:ARM问答

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top