【发布时间】:2012-10-29 07:43:06
【问题描述】:
我目前正在使用 IAR Embedded Workbench 为 NXP LPC2378 micro 进行开发。我想我遇到了我的 IRQ 和 CSTACK 需要更大的问题,因为 CPU 不断崩溃,我注意到这些区域会“溢出”到周围的内存区域。我想我真的不明白这些和其他内存区域的用途是什么?我使用为 ISR 保留 RAM 的 RTOS (CMX),但这似乎是为了不同的东西。
当我使用 RTOS 时,IRQ_STACK、CSTACK、SVC_STACK、FIQ_STACK、UND_STACK 和 ABT_STACK 是什么,或者它们是完全独立的?
【问题讨论】:
-
在我的脑海中,IRQ、SVC、FIQ、UND 寄存器取决于当前的 ARM 模式。确保这些寄存器在您当前的模式下可用,以免区域溢出。
-
匿名,它们是可用的,但它们有什么用途(一般意义上)?
-
用户:大多数任务运行的非特权模式 FIQ:在引发高优先级(快速)中断时进入 IRQ:在引发低优先级(正常)中断时进入主管:在复位时进入,当执行软件中断指令 Abort :用于处理内存访问违规 Undef :用于处理未定义的指令 System :使用与用户模式相同的寄存器的特权模式
标签: c arm microcontroller microprocessors iar