📄 trap.c
字号:
/*
* File : trap.c
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2006, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://openlab.rt-thread.com/license/LICENSE.
*
* Change Logs:
* Date Author Notes
* 2006-10-24 Bernard first version
*/
#include <rtthread.h>
#include <rthw.h>
#include "pxa270.h"
/**
* @addtogroup PXA270
*/
/*@{*/
/**
* When ARM7TDMI comes across an instruction which it cannot handle,
* it takes the undefined instruction trap.
*
* @note never invoke this function in application
*/
void rt_hw_trap_udef()
{
rt_kprintf("undefined instruction\n");
rt_hw_cpu_shutdown();
}
/**
* The software interrupt instruction (SWI) is used for entering
* Supervisor mode, usually to request a particular supervisor
* function.
*
* @note never invoke this function in application
*/
void rt_hw_trap_swi()
{
rt_kprintf("software interrupt\n");
rt_hw_cpu_shutdown();
}
/**
* An abort indicates that the current memory access cannot be completed,
* which occurs during an instruction prefetch.
*
* @note never invoke this function in application
*/
void rt_hw_trap_pabt()
{
rt_kprintf("prefetch abort\n");
rt_hw_cpu_shutdown();
}
/**
* An abort indicates that the current memory access cannot be completed,
* which occurs during a data access.
*
* @note never invoke this function in application
*/
void rt_hw_trap_dabt()
{
rt_kprintf("Data Abort ");
rt_hw_cpu_shutdown();
}
/**
* normally, never reach here
*
* @note never invoke this function in application
*/
void rt_hw_trap_resv()
{
rt_kprintf("not used\n");
rt_hw_cpu_shutdown();
}
#define MAX_HANDLERS 32
extern rt_isr_handler_t isr_table[];
void rt_hw_trap_irq()
{
unsigned int i, status;
rt_isr_handler_t isr_func;
status = PXA2X0_INTCTL_ICIP;
for (i = 7; i < MAX_HANDLERS; i ++) /* 0..6 are reserved */
{
if (status & (1 << i))
{
isr_func = isr_table[i];
isr_func(i);
}
}
}
void rt_hw_trap_fiq()
{
rt_kprintf("fast interrupt request\n");
}
/*@}*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -