关于ccs仿真环境的问题

2019-07-15 20:23发布

初学DSP,在使用ccs4.1.2学习f28027的板子时候遇到这样一个问题:在debug模式下,加载的是28027_RAM_lnk.cmd文件,而f28027.cmd文件不参与编译,一切正常,都能很好的工作。而在release模式下,加载了f28027.cmd同时28027_RAM_lnk.cmd不参与编译,仿真时出现的情况就是:凡是遇到delay_loop()的地方就直接跳过了,后来把delay_loop()函数里面的循环直接拷贝过来,也是直接跳过了for循环,还望熟悉dsp的网友不吝赐教。
void Gpio_example1(void)
{
   // Example 1:
   // Toggle I/Os using DATA registers
   unsigned int   i,j,k;
  for(;;)
   {
       GpioDataRegs.GPADAT.all    =0xAAAAAAAA;
       GpioDataRegs.GPBDAT.all    =0x0000000A;

      // delay_loop();
       for (i = 0; i < 1000; i++) //for循环直接跳过了。。
      {
     for(j=0;j<1000;j++)
{
;
}
      }  
       GpioDataRegs.GPADAT.all    =0x55555555;
       GpioDataRegs.GPBDAT.all    =0x00000005;
       for (i = 0; i < 1000; i++)  
       {
       for(j=0;j<1000;j++)
  {
   ;
  }
       }  
    //   delay_loop();
    }
   
}
这是函数部分,是一个例程的一部分,功能是一个LED的闪烁。现在的情况就是没有延时后,LED闪烁非常快,能够用示波器看到。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
sugarr
1楼-- · 2019-07-16 01:26
啊.找到原因了,是编译优化的问题。
wangka
2楼-- · 2019-07-16 06:49
 精彩回答 2  元偷偷看……

一周热门 更多>