|
|
|
|||||
|
|
作者 Ray RTEMS版权所有,转载请注明来源www.rtems.net,作者Ray 10.4: 中断管理提供的系统调用INTERRUPT_CATCH- 建立 ISR INTERRUPT_DISABLE- 屏蔽中断 INTERRUPT_ENABLE- 中断使能 INTERRUPT_FLASH- 暂时对中断等级进行设置 INTERRUPT_IS_IN_PROGRESS- 是否正在进行 ISR 下面将介绍这些指令 10.4.1: INTERRUPT_CATCH- 建立 ISR函数原型 : rtems_status_code rtems_interrupt_catch(
返回值代表的状态: RTEMS_SUCCESSFUL-ISR 成功建立 ISR RTEMS_INVALID_NUMBER- 非法的中断向量 RTEMS_INVALID_ADDRESS- 非法的 ISR 入口地址或者是非法的 old_isr_handler 描述: 该函数为指定的中断向量建立中断服务例程 (ISR) 。 new_isr_handler参数叙述ISR的入口点。该中断向量以前的ISR在old_isr_handler中返回。 为了释放一个中断向量,需要的ISR旧地址old_isr_handler。 注意: 该函数不会导致抢占。 10.4.2: INTERRUPT_DISABLE- 屏蔽中断函数原型 : void rtems_interrupt_disable( /* 该函数通过宏实现 */ 描述 : 该函数屏蔽所有可屏蔽的中断。与该函数对应的是rtems_interrupt_enable函数。 注意: 该函数不会引起抢占调度 该函数通过汇编修改中断等级,可能会引起副作用 10.4.3: INTERRUPT_ENABLE- 允许中断函数原型: void rtems_interrupt_enable( 描述: 该函数恢复被rtems_interrupt_disable屏蔽的中断。该函数必须和rtems_interrupt_disable配对使用。 注意: 该函数不会引起抢占式调度。 10.4.4: INTERRUPT_FLASH- 中断刷新函数原型: void rtems_interrupt_flash( 描述: 该函数先开放rtems_interrupt_disable屏蔽的中断。函数结束的时候又返回以前屏蔽的状态。 注意: 该函数 不会引起抢占调度。 10.4.5: INTERRUPT_IS_IN_PROGRESS-是否正在执行ISR函数原型: rtems_boolean rtems_interrupt_is_in_progress(void ); 描述: 如果处理器正在处理ISR,那么该函数返回TRUE,否则返回FALSE。如果处理器正在处理ISR,那么能够进行的系统调用就非常有限。 注意: 该函数不会引起抢占式调度。
|
|||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
嵌入式软硬件设计咨询 8位
16位 32位 64位 RISC DSP |
||||||||||||||||
| 2004 RTEMS.NET 版权所有 |
||||||||||||||||