主题 : 关于S5PV210的异常向量表问题,求赐教 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 101345
精华: 0
发帖: 6
金钱: 30 两
威望: 6 点
贡献值: 0 点
综合积分: 12 分
注册时间: 2014-03-07
最后登录: 2014-10-03
楼主  发表于: 2014-08-19 15:30

 关于S5PV210的异常向量表问题,求赐教

1.ARM的异常向量表地址不是一般都是在0x00000000或者0xffff0000吗?为何S5PV210的异常向量表地址在0xd0037400?
2.一般异常向量表不是一条跳转指令吗?为何S5PV210的存储的直接是异常处理函数的地址?
求大家赐教,小弟感激不尽
代码:
#define     _Exception_Vector     0xD0037400
#define      pExceptionRESET     ( *((volatile unsigned long *)(_Exception_Vector + 0x0)) )
#define      pExceptionUNDEF     ( *((volatile unsigned long *)(_Exception_Vector + 0x4)) )
#define      pExceptionSWI     ( *((volatile unsigned long *)(_Exception_Vector + 0x8)) )
#define      pExceptionPABORT     ( *((volatile unsigned long *)(_Exception_Vector + 0xc)) )
#define      pExceptionDABORT     ( *((volatile unsigned long *)(_Exception_Vector + 0x10)) )
#define      pExceptionRESERVED     ( *((volatile unsigned long *)(_Exception_Vector + 0x14)) )
#define      pExceptionIRQ     ( *((volatile unsigned long *)(_Exception_Vector + 0x18)) )
#define      pExceptionFIQ     ( *((volatile unsigned long *)(_Exception_Vector + 0x1c)) )

void system_initexception(void)
{
//设置中断向量表
pExceptionUNDEF = (unsigned long)exceptionundef;
pExceptionDABORT = (unsigned long)exceptiondabort;
pExceptionPABORT = (unsigned long)exceptionpabort;
pExceptionSWI = (unsigned long)exceptionswi;
pExceptionFIQ = (unsigned long)IRQ_handle;
pExceptionIRQ = (unsigned long)IRQ_handle;
}
级别: 新手上路
UID: 116030
精华: 0
发帖: 47
金钱: 240 两
威望: 48 点
贡献值: 0 点
综合积分: 94 分
注册时间: 2015-06-04
最后登录: 2020-05-08
1楼  发表于: 2015-09-25 15:44
去麦子学院里面找嵌入式驱动视频 里面有个  麦子学院\Android 底层驱动\04 16     看懂 uboot 的神秘面容
级别: 新手上路
UID: 116030
精华: 0
发帖: 47
金钱: 240 两
威望: 48 点
贡献值: 0 点
综合积分: 94 分
注册时间: 2015-06-04
最后登录: 2020-05-08
2楼  发表于: 2015-09-25 15:44
第05章 CP15协处理器基础,VBAR异常向量表基址映射