微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > DSP学习交流 > 关于ccs仿真环境的问题

关于ccs仿真环境的问题

时间:10-02 整理:3721RD 点击:
初学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闪烁非常快,能够用示波器看到。

啊.找到原因了,是编译优化的问题。

自学成才

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top