在DSP2833x_PieVect.c中
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
PieCtrl.PIECRTL.bit.ENPIE = 1;
}
Uint32 *Source = (void *)&PieVectTableInit
此句的强制指针转换,在单独的VC编译下显示是错误的:
error: invalid conversion from `void*' to `int*'
为什么在这个地方可以正确使用?
Jones Chen:
你好!
请问
在CCS里面编译有问题么?
在DSP2833x_PieVect.c中
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
PieCtrl.PIECRTL.bit.ENPIE = 1;
}
Uint32 *Source = (void *)&PieVectTableInit
此句的强制指针转换,在单独的VC编译下显示是错误的:
error: invalid conversion from `void*' to `int*'
为什么在这个地方可以正确使用?
bob:
回复 Jones Chen:
在CCS中编译是没有问题,但是在VC编译中就会报错。
请问是否是CCS的编译环境支持这种强制转换,所以就不会报错,还是其他的原因?谢谢!
在DSP2833x_PieVect.c中
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
PieCtrl.PIECRTL.bit.ENPIE = 1;
}
Uint32 *Source = (void *)&PieVectTableInit
此句的强制指针转换,在单独的VC编译下显示是错误的:
error: invalid conversion from `void*' to `int*'
为什么在这个地方可以正确使用?
Jones Chen:
回复 bob:
请用TI的CCS进行编译,仿真和调试。
至于VC平台,不是TI推荐的编译平台,我们也不清楚。