Code Composer Studio 12.3.0调试时找不到main.c文件的问题求助
CCS调试时频繁弹出文件找不到错误的解决思路
调试Code Composer Studio时,频繁弹出错误窗口,还会打开无关窗口,错误提示如下:
无法找到路径为"C:\Users\ghost\workspace_v12\Lab Exam 1\Debug/../main.c"的源文件,请定位该文件或修改源查找路径以包含其位置。
确认main.c仍在项目文件夹中,代码本身无问题(在他人电脑可正常运行)。使用MSP432P4111开发板,错误出现在/* Stop Watchdog */注释附近,曾因触发错误修改过停止看门狗指令,尝试迁移代码到其他项目或文件夹后问题依旧,求解决办法。
代码示例
#include <ti/devices/msp432p4xx/driverlib/driverlib.h> /* Standard Includes */ #include <stdint.h> #include <stdbool.h> uint8_t colorcode; const eUSCI_UART_ConfigV1 uartConfig= { EUSCI_A_UART_CLOCKSOURCE_SMCLK, 78,//BRDIV 2, //UCxBRF 0,//UCxBRS EUSCI_A_UART_NO_PARITY, EUSCI_A_UART_LSB_FIRST, EUSCI_A_UART_ONE_STOP_BIT, EUSCI_A_UART_MODE, EUSCI_A_UART_OVERSAMPLING_BAUDRATE_GENERATION }; //Interrupt handler receives and echoes character typed in serial terminal void EUSCIA0_IRQHandler(void) { uint32_t status=UART_getEnabledInterruptStatus(EUSCI_A0_BASE); UART_clearInterruptFlag(EUSCI_A0_BASE,status); if (status & EUSCI_A_UART_RECEIVE_INTERRUPT_FLAG) { colorcode=UART_receiveData(EUSCI_A0_BASE); UART_transmitData(EUSCI_A0_BASE, colorcode); } } void halfsecdelay() { uint32_t i; for (i=0;i<100000;i++); return; } int main(void) { /* Stop Watchdog */ WDT_A->CTL = WDT_A_CTL_PW | WDT_A_CTL_HOLD; // P1.2 and P1.3 are UART TXD and RXD. These pins must be put in special function mode GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P1,GPIO_PIN2|GPIO_PIN3,GPIO_PRIMARY_MODULE_FUNCTION); //Sets DCO frequency at 12 MHz to get correct baud rate of 9600 CS_setDCOCenteredFrequency(CS_DCO_FREQUENCY_12); MAP_UART_initModule(EUSCI_A0_BASE, &uartConfig); MAP_UART_enableModule(EUSCI_A0_BASE); UART_enableInterrupt(EUSCI_A0_BASE,EUSCI_A_UART_RECEIVE_INTERRUPT); Interrupt_enableInterrupt(INT_EUSCIA0); Interrupt_enableMaster(); GPIO_setAsOutputPin(GPIO_PORT_P2, GPIO_PIN1); /*Green*/ GPIO_setAsOutputPin(GPIO_PORT_P2, GPIO_PIN2); /*Blue*/ GPIO_setAsOutputPin(GPIO_PORT_P2, GPIO_PIN0); /*Refd*/ /* Write in GPIO setup*/ while(1) { if(colorcode=='R'){ GPIO_setOutputHighOnPin(GPIO_PORT_P2, GPIO_PIN0); GPIO_setOutputLowOnPin(GPIO_PORT_P2, GPIO_PIN1 | GPIO_PIN2);} else if(colorcode=='G'){ GPIO_setOutputHighOnPin(GPIO_PORT_P2, GPIO_PIN1); GPIO_setOutputLowOnPin(GPIO_PORT_P2, GPIO_PIN0 | GPIO_PIN2);} else if(colorcode=='B'){ GPIO_setOutputHighOnPin(GPIO_PORT_P2, GPIO_PIN2); GPIO_setOutputLowOnPin(GPIO_PORT_P2, GPIO_PIN0 | GPIO_PIN1);} else if(colorcode=='r'){ GPIO_setOutputLowOnPin(GPIO_PORT_P2, GPIO_PIN1 | GPIO_PIN2); GPIO_toggleOutputOnPin (GPIO_PORT_P2, GPIO_PIN0); int i; for (i = 100000; i > 0; i --);} else if(colorcode=='g'){ GPIO_setOutputLowOnPin(GPIO_PORT_P2, GPIO_PIN0 | GPIO_PIN2); GPIO_toggleOutputOnPin (GPIO_PORT_P2, GPIO_PIN1); int i; for (i = 100000; i > 0; i --);} else if(colorcode=='b'){ GPIO_setOutputLowOnPin(GPIO_PORT_P2, GPIO_PIN1 | GPIO_PIN0); GPIO_toggleOutputOnPin (GPIO_PORT_P2, GPIO_PIN2); int i; for (i = 100000; i > 0; i --);} else{ GPIO_setOutputHighOnPin(GPIO_PORT_P2, GPIO_PIN0 | GPIO_PIN1 | GPIO_PIN2);} } }
解决思路
- 修正路径格式与命名:错误路径混合了
\和/分隔符,且项目名含空格,Windows下CCS解析易出错。将项目移动到无空格的路径(如LabExam1),避免路径解析异常。 - 重新配置源文件查找路径:右键项目 → Properties → Debug → Source Lookup → Add,添加main.c所在的项目根目录,确保路径被正确识别。
- 清理并重建项目:执行Project → Clean,选择当前项目清理,再重新Build。Debug文件夹的旧编译文件可能残留错误路径信息,清理后重新生成可解决关联问题。
- 检查调试配置的路径映射:进入Debug Configurations → 选中当前调试配置 → Source标签页,移除无效路径映射,添加正确的源文件路径。
- 重新关联源文件:右键项目 → Add Files → 选中main.c重新添加,确保文件被正确纳入编译流程,避免修改看门狗指令后出现符号关联错误。
- 重置CCS工作区缓存:关闭CCS,删除工作区目录下的
.metadata文件夹(注意备份配置),重新打开CCS导入项目,重置缓存可解决路径识别异常。
内容的提问来源于stack exchange,提问作者MLuu
相关产品推荐
相关产品推荐

