2015-09-23 26 views
0

我是ARM处理器的新手。 Atmel ATSAMD20e实现基于ARMv6架构的ARM cortex M0 +处理器。它最多允许32个外部中断,中断信号连接到嵌套向量中断表(NVIC)。是否有可能使用NVIC并发中断?如果是这样,我们如何确定可以同时运行的最大中断数量?有人可以指出任何解释处理并发中断的文档。谢谢并发中断在ARM

回答

0

可以“同时”运行的最大中断受限于堆栈空间,优先级数量以及系统中的中断源数量。你说你有32个中断,M0 +有192个级别,我不知道你愿意牺牲多少堆来获得这种行为。 (而“并发”实际上是一种误导,他们抢占对方,不是同时运行)

但是,实际上,如果支持多个优先级别,它确实不会购买太多优先级别。如果您的中断要求比最长的中断运行时间要短,您只需要这个。

请参阅此处(http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0337e/Cihcbadd.html)以了解堆栈上发生的情况,因为中断被其他中断抢占。

+0

非常感谢您的确切答案和澄清。 – user3279395