【问题标题】:Software interrupts on AVRAVR 上的软件中断
【发布时间】:2015-04-07 22:03:58
【问题描述】:

我了解 x86 机器代码可以使用软件中断 (by entering a 32-bit value corresponding to a kernel function into the EAX register of the processor and then executing INT 0x80) 进行 POSIX 系统调用。

我正在考虑为 AVR 架构设计一个类似 Unix 的小型操作系统,以供娱乐和学习。像 x86 的 INT 这样的软件中断如何在 AVR 上工作?

【问题讨论】:

    标签: posix interrupt avr system-calls


    【解决方案1】:

    他们没有。 AVR 没有软件中断的规定。如果您需要从软件生成中断,那么您需要说服某些硬件来生成它。否则就照常使用 JSR。

    【讨论】:

    • 跳转到 SubRoutine,一个不同的操作码(虽然 AVR 使用 CALL 等)。
    • 如果 JSR 的行为类似于软件中断,为什么软件中断在支持它的架构上是首选方法?是因为处理器在执行 ISR 时处理其他传入中断的方式吗?另外,您可以使用 JSR 在 x86 上进行 POSIX 系统调用吗?
    • INT 将更多寄存器压入堆栈。
    猜你喜欢
    • 1970-01-01
    • 2021-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 2021-06-29
    • 2021-12-15
    相关资源
    最近更新 更多