请教各位下面这段程序在向量表的初始化和赋值中有什么作用呢?当中断发生时,CPU是怎么判段是哪中断,如何自动进入中断程序的呢?希望高人指教,谢谢
void InitPieVectTable(void)
{
int16 i;
Uint32 *Source = (void *) &PieVectTableInit;
Uint32 *Dest = (void *) &PieVectTable;
EALLOW;
for(i=0; i < 128; i++)
*Dest++ = *Source++;
EDIS;
// Enable the PIE Vector Table
PieCtrlRegs.PIECRTL.bit.ENPIE = 1;
}
此帖出自
小平头技术问答
这个理解起来应该没有什么问题吧。。。
PieVectTableInit是已经初始化了的向量表,只是用结构体封装了起来。。
PieVectTable被#pragma DATA_SEG定位到了RAM中的PIE中断向量表。。。
下面的复制操作就是将向量表写入RAM中的PIE vector了。。。
不知道我讲的请不清楚。。呵呵
一周热门 更多>