我在使用MPLAB X IDE时遇到问题。我有一个有主区的main.c。
当我尝试调试时,我做不到。它显示没有找到源代码行。我已经编译了软件,并在MPLAB IDE中进行了调试,没有问题。我感觉好像在MPLAB X中有一个设置,或者其他一些我遗漏的基本设置。
虽然我不确定它是否有用,但为了提供信息,我使用了一个PICKit2进行调试,MPLAB 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
发布于 2013-03-19 01:56:41
这是一个由错误的初始化指针引起的运行时问题。
您的代码执行正在尝试执行地址为0x00的代码。当你调用一个指向一个未初始化的函数的指针时,就会发生这种情况,这意味着它持有值0。如果没有,您可能正在尝试读取数据或将数据写入未初始化的指针。
或者,微控制器上的地址0x00通常是代码的开头。必须有从地址0x00运行的启动代码,才能执行C代码所需的初始化。因此,您还没有将启动文件添加到项目中。
发布于 2018-04-15 11:32:09
我使用pickit2在Eb006 v9上调试,也在MPLABx上调试。最初,信息是关闭低压编程和看门狗。因此,我添加了以下几行
#pragma config WDTE=OFF, LVP=OFF
然而,它仍然给我同样的问题,在我挠头之后,偶然添加了FOSC=XT
,也就是说,板上有一个水晶突然解决了问题,因此对我来说,这个配置起作用了
#pragma config FOSC=XT, WDTE=OFF, LVP=OFF
希望这对某些人有帮助:)
发布于 2014-07-09 10:54:53
这似乎是MPLAB X的某种bug。为了使调试器工作,您必须首先关闭PIC内存视图,以防您之前查看的是变量。这是我的answer's source。
https://stackoverflow.com/questions/15490040
复制相似问题