我在使用MPLAB X IDE问题。 我有一个主要部分的main.c中。
当我尝试调试,我不能。 它说没有行源代码被发现。 我编写软件并没有问题MPLAB IDE调试。 我觉得好像有在MPLAB X或别的东西,基本是我缺少的设置。
虽然我不知道它是有用的,信息的缘故,我使用的是PICKIT2进行调试,MPLAB X IDE V1.51,PIC16F876的uC。
主代码main.c中:
int main(int argc, char** argv) {
busyDelay(10000);
port_init(); //Initialize GPIO, Timers & Interrupts
TUBE_ON = 0x1;
while (1) {
asm("nop");
}
return (EXIT_SUCCESS);
}
当我尝试调试,我得到的调试器控制台如下:
Launching
Programming target
No source code lines were found at current PC 0x0
User program stopped
User program finished
这是由不良初始化指针运行时间问题。
你的代码执行试图地址0x00处执行代码。 当你调用一个指针没有初始化,这意味着,它拥有的价值为0。如果没有,你可能会试图读取或写入数据到没有初始化,以及一个指针的函数它发生。
或者,通常是地址为0x00,微控制器,是代码的开始。 必须有和从地址为0x00运行启动代码执行的C代码所需的初始化。 所以,你还没有添加启动文件到项目中。
我调试的Eb006 V9采用PICKIT2和MPLABx。 最初,该消息被关闭低电压编程和看门狗。 因此,我加入这些行
#pragma config WDTE=OFF, LVP=OFF
但是它仍然给了我同样的问题,抓我的头周围,一个偶然的机会加入后FOSC=XT
,也就是说,在董事会中晶突然就解决了这个问题,因此对我来说,这个配置工作
#pragma config FOSC=XT, WDTE=OFF, LVP=OFF
希望这可以帮助别人:)
我选择了错误的振荡器类型遇到了这个。 例如,在我的电路布线的外部20MHz晶体,我无意中选择XT作为FOSC。 我应该使用HS这样的:
#pragma config FOSC = HS // Oscillator Selection bits (HS oscillator (HS))
这个固定我的了的情况下“没有行源代码被发现在当前的PC为0x0”的错误。
看来,这是某种形式的MPLAB X的bug。 为了使你不得不关闭第一PIC的内存视图的调试工作,如果你以前看的变量。 这里是我的答案的来源 。