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.

MSP430FR6972在线仿真时 Target execution stopped

Other Parts Discussed in Thread: MSP430FR6972

MSP430FR6972在线仿真,启动运行一会,停到某一段程序处,也没有提示堆栈溢出什么的,只提示Target execution stopped;

不在线仿真时,运行正常

求解决办法~

  • for ( j = 0; j < i; j++ )
    {
    data = *p--;
    real += *pr++ * data;
    imag += *pi++ * data;// 此处 Target execution stopped
    }
  • 请问全速运行是可以的? 用IAR仿真的?能再多给出一点程序吗?
  • IAR仿真,暂停;拔掉仿真器,正常运行;


    //=================================================================================================
    VECTOR FourierFilter1 ( INT8U chn, INT16U index )
    {
    static const INT32S FourierR[] = { 1638, 1633, 1618, 1593, 1558, 1514, 1460, 1397, 1325, 1246, 1159, 1064, 963, 856, 744, 627, 506, 382, 256, 129,
    0, -129, -256, -382, -506, -627, -744, -856, -963, -1064, -1159, -1246, -1325, -1397, -1460, -1514, -1558, -1593, -1618, -1633,
    -1638, -1633, -1618, -1593, -1558, -1514, -1460, -1397, -1325, -1246, -1159, -1064, -963, -856, -744, -627, -506, -382, -256, -129,
    0, 129, 256, 382, 506, 627, 744, 856, 963, 1064, 1159, 1246, 1325, 1397, 1460, 1514, 1558, 1593, 1618, 1633
    };

    static const INT32S FourierI[] = { 0, 129, 256, 382, 506, 627, 744, 856, 963, 1064, 1159, 1246, 1325, 1397, 1460, 1514, 1558, 1593, 1618, 1633,
    1638, 1633, 1618, 1593, 1558, 1514, 1460, 1397, 1325, 1246, 1159, 1064, 963, 856, 744, 627, 506, 382, 256, 129,
    0, -129, -256, -382, -506, -627, -744, -856, -963, -1064, -1159, -1246, -1325, -1397, -1460, -1514, -1558, -1593, -1618, -1633,
    -1638, -1633, -1618, -1593, -1558, -1514, -1460, -1397, -1325, -1246, -1159, -1064, -963, -856, -744, -627, -506, -382, -256, -129
    };

    VECTOR result;
    INT32S real, imag; //cosa, sina;
    INT16S data;
    INT32S const *pr, *pi;
    INT16S *p;
    INT16U i, j, m;

    i = index + 1;
    if ( i > Sample_Point )
    i = Sample_Point;

    p = ( INT16S* ) &SampleData.fAI[chn][index];

    real = 0;
    imag = 0;
    pr = FourierR;
    pi = FourierI;

    for ( j = 0; j < i; j++ )
    {
    data = *p--;
    real += *pr++ * data;
    imag += *pi++ * data;
    }

    if ( i < Sample_Point )
    {
    p += AD_OneDataSize;
    for ( ; j < Sample_Point; j++ )
    {
    data = *p--;
    real += *pr++ * data;
    imag += *pi++ * data;
    }
    }

    real >>= 16;
    imag >>= 16;
    m = AiCompensate[chn].scale;

    real = ( real * m ) >> 10;
    imag = ( imag * m ) >> 10;


    result.real = real ;
    result.imag = imag ;
    return result;
    }
  • IAR仿真,暂停;拔掉仿真器,正常运行;

    //=================================================================================================

    VECTOR FourierFilter1 ( INT8U chn, INT16U index )

    {

       static const INT32S FourierR[] = { 1638, 1633, 1618, 1593, 1558, 1514, 1460, 1397, 1325, 1246, 1159, 1064, 963, 856, 744, 627, 506, 382, 256, 129,

                                          0, -129, -256, -382, -506, -627, -744, -856, -963, -1064, -1159, -1246, -1325, -1397, -1460, -1514, -1558, -1593, -1618, -1633,

                                          -1638, -1633, -1618, -1593, -1558, -1514, -1460, -1397, -1325, -1246, -1159, -1064, -963, -856, -744, -627, -506, -382, -256, -129,

                                          0, 129, 256, 382, 506, 627, 744, 856, 963, 1064, 1159, 1246, 1325, 1397, 1460, 1514, 1558, 1593, 1618, 1633

                                        };

       static const INT32S FourierI[] = { 0, 129, 256, 382, 506, 627, 744, 856, 963, 1064, 1159, 1246, 1325, 1397, 1460, 1514, 1558, 1593, 1618, 1633,

                                          1638, 1633, 1618, 1593, 1558, 1514, 1460, 1397, 1325, 1246, 1159, 1064, 963, 856, 744, 627, 506, 382, 256, 129,

                                          0, -129, -256, -382, -506, -627, -744, -856, -963, -1064, -1159, -1246, -1325, -1397, -1460, -1514, -1558, -1593, -1618, -1633,

                                          -1638, -1633, -1618, -1593, -1558, -1514, -1460, -1397, -1325, -1246, -1159, -1064, -963, -856, -744, -627, -506, -382, -256, -129

                                        };

       VECTOR result;

       INT32S real, imag; //cosa, sina;

       INT16S data;

       INT32S const *pr, *pi;    

       INT16S *p;  

       INT16U i, j, m;

       i = index + 1;

       if ( i > Sample_Point )

           i = Sample_Point;

       p = ( INT16S* ) &SampleData.fAI[chn][index];

       real = 0;

       imag = 0;

       pr = FourierR;

       pi = FourierI;

       for ( j = 0; j < i; j++ )

       {

           data = *p--;

           real += *pr++ * data;

           imag +=  *pi++ * data;

       }

       if ( i < Sample_Point )

       {

           p += AD_OneDataSize;      

           for ( ; j < Sample_Point; j++ )

           {

               data = *p--;

               real += *pr++ * data;

               imag += *pi++ * data;

           }

       }

       real >>= 16;

       imag >>= 16;

       m = AiCompensate[chn].scale;

       real = ( real * m ) >> 10;

       imag = ( imag * m ) >> 10;

       result.real = real ;

       result.imag = imag ;

       return result;

    }

  • 有没有什么建议啊?
  • 这种一般是开发环境的问题,只要能在mcu上运行没问题就可以

  • 关键是还有仿真调试啊,不能进行不下去

  • 很抱歉未能及时给您回复!

    您现在用的是哪款烧录器?

    我们的CCS里面的430ware有关于FRAM的样例程序,您可以试试其他的例程,看是否会出现同样的情况。