中断程序的问题

2019-03-26 16:48发布

请教各位下面这段程序在向量表的初始化和赋值中有什么作用呢?当中断发生时,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; 
   
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
fyboy
2019-03-27 01:11

这个理解起来应该没有什么问题吧。。。

PieVectTableInit是已经初始化了的向量表,只是用结构体封装了起来。。

PieVectTable被#pragma DATA_SEG定位到了RAM中的PIE中断向量表。。。

下面的复制操作就是将向量表写入RAM中的PIE vector了。。。

不知道我讲的请不清楚。。呵呵

一周热门 更多>