Mar*_*ark 2 embedded microcontroller
考虑我们正在为裸机MCU编写固件,即没有操作系统.我被告知不可能(非法?)将参数传递给中断处理程序函数?
我不能准确理解为什么会这样?这有什么问题?
PS.是否可以在某些RTOS-es,嵌入式Linux等中进行,或者它从根本上是错误的?
没有参数可以显式传递给中断处理程序,因为它被设计为由硬件调用。每个架构在调用时都会施加一个特定的堆栈帧,通常包括 CPU 的保存状态。
如果您还打算从代码中的其他位置调用中断处理程序,则可能存在设计缺陷,或者存在一些可以分解为在中断处理程序和算法代码之间共享的通用代码。
中断.做那......中断 想象一下你家里的门铃,无论白天或晚上任何特定的随机时间打扰你.您是否可以随时掌握所有可能发生的特定中断的正确项目.您必须能够做饭,洗澡,折叠洗衣房,但就在门铃响起之前,您必须准备好双手正确的物品,这取决于铃声响起的人,而不知道他们在那里或是即将来临或即将响铃.不太可能.同样的处理,中断在任何特定时间到来,对于当前正在执行的指令之后的大多数处理器,调用中断处理程序,
现在可能的是操作系统,或rtos或称之为你想要的,一些层.要让真正的中断处理程序知道什么都不知道并且必须弄明白,一旦它弄清楚中断是什么来收集信息然后调用传递参数的高级中断处理程序.当然可能和大多数/许多操作系统都是这样做的.
归档时间: |
|
查看次数: |
9832 次 |
最近记录: |