⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mx21_aitc.h

📁 MX21_InitCodeLib.rar freescale mx21系列ARM芯片9328的WINCE5.0下初始化代码
💻 H
字号:
/**********************************************************************
*
*         (C) COPYRIGHT 2004 FREESCALE, INC.
*         ALL RIGHTS RESERVED
*
*
*     Group/Division:  WMSG/MMDO
*
*     Description:
*
*     Related Specifications:
*
*     Errata:
*
*     File Name:        MX21_AITC.h
*     Revision Number:  0.1
*     Author(s):        Sharad Kumar
*     Date created:     30Apr2004
*     Revision History:
*        Date      Rev     Description
*        ----      ---     -----------
*        30Apr04  0.1     First draft
*
**********************************************************************/

#ifndef _MX21_AITC_H
#define _MX21_AITC_H


#include "MX21_DataTypes.h"
#include "MX21_Macros.h"
#include "MX21_MemMap.h"
#include "MX21_Common.h"

#define AITC_IS_FIQ				  0x1
#define AITC_IS_IRQ				  0x0
#define AITC_FORCE_ALL			  0xFFFFFFFF
#define AITC_INTERRUPT_SOURCES    64
#define AITC_MAX_INT_PRIORITY     16
#define AITC_NIDIS_SET			  0x0
#define AITC_FIDIS_SET			  0x0
#define AITC_SETFIQ               0x1
#define AITC_SETIRQ               0x0

//---------------------------------------------------
// Mask IRWQ Level
// For MaskLevel >= 16 do not disable any normal interrupts
//---------------------------------------------------
void 
AITC_MaskIRQLevel(uint32_t);            // mask level


//---------------------------------------------------
// enable the Interrupt Disable Number Register
//---------------------------------------------------
void 
AITC_EnableIntSource(uint32_t);         // interrupt number

//---------------------------------------------------
// disable the Interrupt Disable Number Register
//---------------------------------------------------
void 
AITC_DisableIntSource(uint32_t);        // interrupt number


//---------------------------------------------------
// set bits of the INTCTL register
//---------------------------------------------------
void
AITC_SetINTCNTL(uint32_t);             // bit vector

//---------------------------------------------------
// clear bits of the INTCTL register
//---------------------------------------------------
void
AITC_ClrINTCNTL(uint32_t);		       // bit vector


//---------------------------------------------------
// This function specifies whether a normal or a fast 
// interrupt is generated for each of the interrupt lines
//---------------------------------------------------
void 
AITC_SetIntType(uint32_t,       // interrupt number
		        uint8_t);       // interrupt type, 0=IRQ, 1=FIQ


//---------------------------------------------------
// This function is used to establish prioirity for 
// each of the 64 interrupts lines of the AITC.
//---------------------------------------------------
void 
AITC_SetIrqPriority(uint8_t,    // interrupt number
			        uint8_t);   // priority


//---------------------------------------------------
// This function is used for forcing the interrupt line 
// by writing to the AITC_INTFRCL or the AITC_INTFRCH 
// register.
//---------------------------------------------------
void 
AITC_ForceOneInt(uint32_t);     // interrupt number

//---------------------------------------------------
// This function is used for clearing the forced interrupt 
// by writing to the AITC_INTFRCL or the AITC_INTFRCH 
// register.
//---------------------------------------------------
void 
AITC_ClearOneInt(uint32_t);     // interrupt number


//---------------------------------------------------
// This function is used for forcing all the interrupt 
// lines simultaneously based on directly writing to 
// the AITC_INTFRCL and the AITC_INTFRCH registers.
//---------------------------------------------------
void 
AITC_ForceAllInt(void);

//---------------------------------------------------
// This function provides the basic steps to setup the IRQ interrupt, 
// and update the vector address based on the configuration established
// in the INTCNTL register.
//---------------------------------------------------

void
AITC_SetupIRQ(uint32_t   nSourceNumber,    // source number 
              uint32_t   nPriorityLevel    // priority level
             );	  
         

//---------------------------------------------------
// This function provides the basic steps to setup the IRQ interrupt, 
// and update the vector address based on the configuration established
// in the INTCNTL register.
//---------------------------------------------------

void
AITC_SetupFIQ(uint32_t   nSourceNumber,    // source number 
              uint32_t   nPriorityLevel    // priority level
             );
         


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -