#include "main.h"
__cregister volatile unsigned int AMR;
__cregister volatile unsigned int CSR;
__cregister volatile unsigned int GFPGFR;
__cregister volatile unsigned int ICR;
__cregister volatile unsigned int IER;
__cregister volatile unsigned int IFR;
__cregister volatile unsigned int IRP;
__cregister volatile unsigned int ISR;
__cregister volatile unsigned int ISTP;
__cregister volatile unsigned int NRP;
__cregister volatile unsigned int PCE1;
void INTC_Init(void)
{
// Map EDMA3_CC0_INT1/GPIO_B4INT System interrupts to DSP INT4/5
INTC_INTMUX1 = (8 << 0) | (54 << 8);
// Assign the address of the IST to the IST pointer
ISTP = (unsigned int)intcVectorTable;
// Clear all CPU maskable interrupts
ICR = 0xFFF0;
// Enable NMI, INT4-INT5 interrupts
IER = (1 << 1) | (1 << 4) | (1 << 5);
}
interrupt void GPIO_B4INT4_isr (void)
{
printf("\tInitiating transfer…\n");
}
interrupt void EDMA3_CC0_INT1_isr (void)
{
uint32_t regIPR, IxBitMask, IxCounter;
while(EDMA3_IPR != 0)
{
// Read Interrupt Pending Register
regIPR = EDMA3_IPR;
// Loop for Set Interrupt Pending Bit
for(IxCounter = 0; IxCounter < 32; IxCounter++)
{
IxBitMask = 1 << IxCounter;
if(regIPR & IxBitMask)
{
// Exit Example on Correct Interrupt
if(IxCounter == 28)
// Clear Pending Interrupt
EDMA3_IPR = IxBitMask;
break;
}
}
}
}
在main.h中已经定义了extern void intcVectorTable (void);
为什么编译的时候还会出现下面这个问题
Tony Tang:
这是没把相应的库加到工程里来。
kai zhao8:
我也遇到同样的问题,求问最后是怎么解决的