This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

带SYSBIOS操作系统时中断代码效率很低的问题

Other Parts Discussed in Thread: SYSBIOS

        这几天,我们在用F28069做从端SPI通讯测试时,发现带SYSBIOS操作系统时中断代码效率很低的问题,以至于CPU大部分时间都在处理SPI接收中断!但相同的代码在不带SYSBIOS的例程中却效率很高。

        我们在F2806XISO-CONTROLCARDR0开发板上做了ADC中断测试,同样也发现带SYSBIOS操作系统时中断代码效率很低。

以下是带SYSBIOS操作系统时的中断代码。在进中断时,置高GPIO30,中断退出前,拉低GPIO30,通过示波器观察得出处理时间约3.4uS;

interrupt void  adc_isr(void)
{
    INT16U tmp16;

GpioDataRegs.GPASET.bit.GPIO30 = 1;

    tmp16 = AdcResult.ADCRESULT0;
    tmp16 = AdcResult.ADCRESULT1;
    tmp16 = AdcResult.ADCRESULT2;
    tmp16 = AdcResult.ADCRESULT3;
    tmp16 = AdcResult.ADCRESULT4;
    tmp16 = AdcResult.ADCRESULT5;
    tmp16 = AdcResult.ADCRESULT6;
    tmp16 = AdcResult.ADCRESULT7;
    tmp16 = AdcResult.ADCRESULT8;
    tmp16 = AdcResult.ADCRESULT9;
    tmp16 = AdcResult.ADCRESULT10;
    tmp16 = AdcResult.ADCRESULT11;

    AdcRegs.ADCINTFLGCLR.bit.ADCINT8 = 1;        //Clear ADCINT1 flag reinitialize for next SOC
      PieCtrlRegs.PIEACK.all = PIEACK_GROUP10;   // Acknowledge interrupt to PIE

GpioDataRegs.GPACLEAR.bit.GPIO30 = 1;

    return;
}

不带SYSBIOS操作系统时,通过示波器观察得出以上相同代码处理时间仅约0.6uS。

        不知各位有没有碰到过类似问题,如果方便的话,可能通过QQ:359473028或359473028@qq.com联系我,我把我的工程发过来!工程太大,不能当作附件添加!谢谢!

 

带SYSBIOS操作系统时代码效率很低的问题.docx