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.

使用CCS5.2调试AM3335x Starter Kit问题



刚入手的Starter Kit,使用CCS5.2打开StarterWare软件中的gpioCarDetect例程,改变了其中的代码,不再检测是否插入了SD,而是使用软件延时控制LED灯的闪烁。

第1次试验时,可以使用CCS5.2在Debug模式下下载gpioCardDetect.out文件并正确运行,板子上的D4灯闪烁,运行正常。

可是后来再连接板子时,不能在debug模式下下载gpioCardDetect.out程序文件了。

我的操作步骤是:

使用CCS5.2打开gpioCarDetect工程;建立建立Target Configuration File文件AM335xEVMsk.ccxml,并“Test Connection”成功通过;接着点击工具栏中的甲壳虫样式的“Debug”菜单,然后CCS界面如下图所示

从上图可以看出,debug下的图标都是灰色不可用的。

然后等了一会儿就弹出了下面的错误提示对话框:

对于上面的提示,我不能理解,因为我实际已经正确编译并生成了gpioCarDetect.out文件,而且测试可以正常运行(附带生成的gpioCardDetect_ti.bin文件重命名app后和MLO文件放到SD卡后也能够正常启动运行),而且GEL文件也不应该加载*.out文件啊?

请问这是怎么回事,应该如何操作避免这个问题?

修改程序时,我屏蔽了原代码中的输入和中断功能,只保留了GPIO1[6]的输出设置,用于点亮LED。

修改后的主循环的代码为:

while(1)
{
     if(LedInvFlag == 0x00)
     {
          GPIOPinWrite(GPIO_INST_BASE_ADD_LED, GPIO_LED_PIN_NUM, GPIO_PIN_LOW);
           for(i=0; i<100; i++)
                   for(j=0; j<50000; j++){;}

          LedInvFlag = 0xaa;
      }
     else if(LedInvFlag == 0xaa)
    {
             GPIOPinWrite(GPIO_INST_BASE_ADD_LED, GPIO_LED_PIN_NUM, GPIO_PIN_HIGH);
             for(i=0;i<100;i++)
                  for(j=0;j<50000;j++){;}

             LedInvFlag = 0x00;
      }
}

  • 重新试了几次,发现是操作错误导致的。

    如下图所示,在工具栏小甲壳虫debug菜单的下拉列表中有多个选项,我出现上述错误现象时是由于CCS选择了其中的“gpioCardDetect”(我也不知道怎么选中了这个),每次debug时,手动选择ccxml文件中的一个就不会出现上述错误。

    另外,如下图所示,如果选中了下图中的“Debug As ...”也会导致上述错误。至于究竟是什么原因就不管了,反正正确操作就不会出现上述错误了。