Hi,I am a new comer here.I wish someone could help me solve a problem that puzzles me a lot.
The section below is digested from TMS320C55x Chip Support Library API Reference Guide (SPRU433G
December 2003)page:162
Function: void IRQ_setVecs(
Uint32 IVPD
);
Arguments: IVPD IVPD pointer to the DSP interrupt vector table
Return: Value Old IVPD register value
The section below is digested from ti\c5500\bios\include\csl_irq.h(364):
IDEF int IRQ_setVecs(Uint32 Ivpd) {
int old_intm;
Uint16 old_ivpd;
Uint16 val = (Uint16)((Ivpd & 0xFFFFFF00)>>8);
old_intm = IRQ_globalDisable();
old_ivpd = _IVPD;
_IVPD = val;
_IVPH = val;
IRQ_globalRestore(old_intm);
return old_ivpd;
}
my question is why the former fuction return type is "void" while the latter is "int".And why is "Uint32 Ivpd"? seems like there is no 32bits need. from the function,Uint16 is frequently used.could you help me about that.
By the way,please excuse my poor English,which is also new to me.