?? lowlevelinit.c
字號:
//*------------------------------------------------------------------------------------------------
//* 文件名 : LowLevelInit.c
//* 功能描述 : 底層硬件初始化程序
//* 作者 : 焦海波
//* 版本 : 0.1
//* 建立日期、時間 : 2007/02/24 09:55
//* 最近修改日期、時間 :
//* 修改原因 :
//*------------------------------------------------------------------------------------------------
//*------------------------------------------ 頭文件 -----------------------------------------------
#include "/at91sam7x256/include/AT91SAM7X256.h"
#include "/at91sam7x256/include/lib_AT91SAM7X256.h"
//*================================================================================================
//* 函 數(shù) 區(qū)
//*================================================================================================
//*------------------------------------------------------------------------------------------------
//* 函數(shù)名稱 : irqvDefault_FIQ_handler
//* 功能描述 : 默認(rèn)的FIQ中斷處理函數(shù)
//* 入口參數(shù) : 無
//* 出口參數(shù) : 無
//*------------------------------------------------------------------------------------------------
__irq void irqvDefault_FIQ_handler(void)
{
while(1);
}
//*------------------------------------------------------------------------------------------------
//* 函數(shù)名稱 : irqvDefault_FIQ_handler
//* 功能描述 : 默認(rèn)的IRQ中斷處理函數(shù)
//* 入口參數(shù) : 無
//* 出口參數(shù) : 無
//*------------------------------------------------------------------------------------------------
__irq void irqvDefault_IRQ_handler(void)
{
while(1);
}
//*------------------------------------------------------------------------------------------------
//* 函數(shù)名稱 : vSpurious_handler
//* 功能描述 : 默認(rèn)的IRQ中斷處理函數(shù)
//* 入口參數(shù) : 無
//* 出口參數(shù) : 無
//*------------------------------------------------------------------------------------------------
__irq void irqvSpurious_handler(void)
{
//* 清除中斷標(biāo)志,結(jié)束中斷處理
AT91C_BASE_AIC->AIC_EOICR = 0;
}
//*------------------------------------------------------------------------------------------------
//* 函數(shù)名稱 : vCreateVectorTable
//* 功能描述 : 在RAM中重建異常向量表
//* 入口參數(shù) : <unVec>[in] 指向中斷向量表的指針
//* : <unSram>[in] 指向SRAM開始地址的指針
//* 出口參數(shù) : 無
//*------------------------------------------------------------------------------------------------
void vCreateVectorTable(unsigned int *unVec, unsigned int *unSram)
{
AT91PS_AIC pAic = AT91C_BASE_AIC;
int i;
//* 初始化系統(tǒng)中斷向量表
pAic->AIC_SVR[0] = (int)irqvDefault_FIQ_handler;
for (i=1; i<31; i++)
pAic->AIC_SVR[i] = (int)irqvDefault_IRQ_handler;
pAic->AIC_SPU = (int)irqvSpurious_handler;
//* 將異常向量復(fù)制到RAM
for(i=0; i<(8+8); i++)
*unSram++=*unVec++;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -