在线时间0 小时
UID179639
注册时间2010-4-2
NXP金币0
该用户从未签到
新手上路

- 积分
- 155
- 最后登录
- 1970-1-1
|
各位大家好,今天探讨一下UCOS移植到XDG128上后程序运行的稳定性问题。我的程序大概内容是:在XGATE中开通了SCI0接收中和一个软件中断用来发送数据,XGATE中的SCI0接收完数据后用 SIF 通知CPU12的SCI0中断, 在CPU12的SCI0中断中让某一位置1 ,用来使,一个任务中开启XGATE的软件中断0再发送数据(XGSWT= 0x0101;)
程序如下:
//////////////////////////////////////////////////////// in xgate ////////////////////////////////////////////////////////////////////////////////////////////
interrupt void SoftwareTrigger0_Handler(MyDataType* __restrict pData) {
unsigned char err,i;
asm LOOP1:
asm SSEM #0 // try to lock semaphore 0
asm SSEM #0 // try to lock semaphore 0 // once more due to internal silicon bug
asm BCC LOOP1 // retry if locked
SCISendN(20,sci0_buf); //发送数据
asm CSEM #0 // release semaphore
XGSWT= 0x0100;
}
interrupt void Xgate_SCI0_handler(void){
unsigned char err,i;
err=SCI0ReN(20,sci0_buf); //接收数据
if(err==1){
for(i=0;i
|
|