Forums

MPLAB v7 Debugger

Started by mcki0127 January 28, 2007
A few years ago, I successfully created a project in MPLAB v5 to 
program a 16F77 for an application, which has been working since.  
I've recently installed MPLAB v7 and would like to edit the project.  
I've used the project wizard to add the two required files: the .asm 
source file and .inc header file.  The problem is that when I try to 
debug the program by stepping through etc. it skips past the macro in 
the inc file.  Also, the variables in the macro aren't available in 
the watch window.  The debugger seems to step through part of the 
macro because it will jump to a subroutine from the source file that's 
called out in the macro.  However, I can't step through it line by 
line and verify that it's working correctly.  Is there some setting 
that I'm missing in MPLAB?  I recall in the MPLAB v5, the focus would 
shift to the window of the correct file while debugging.

Thanks for any help on this,
Steve


On Jan 28, 7:33 pm, "mcki0127" <mcki0...@hotmail.com> wrote:
> A few years ago, I successfully created a project in MPLAB v5 to > program a 16F77 for an application, which has been working since. > I've recently installed MPLAB v7 and would like to edit the project. > I've used the project wizard to add the two required files: the .asm > source file and .inc header file. The problem is that when I try to > debug the program by stepping through etc. it skips past the macro in > the inc file. Also, the variables in the macro aren't available in > the watch window. The debugger seems to step through part of the > macro because it will jump to a subroutine from the source file that's > called out in the macro. However, I can't step through it line by > line and verify that it's working correctly. Is there some setting > that I'm missing in MPLAB? I recall in the MPLAB v5, the focus would > shift to the window of the correct file while debugging. > > Thanks for any help on this, > Steve
One quick thought. Did you include the correct linker script in your build? The one with an 'i' in the name is the one that contains the debug information. In other words 16F77i.lkr instead of 16F77.lkr Bob Stephens
Bob,

The linker file 16f77i doesn't exist in the MPASM Suite/LKR folder.  
Only 16f77 exists for this device.  In any case, I read in the MPLAB 
IDE User's Guide that the "i" files are to be used when MPLAB ICD 2 is 
being used, which I am not using.  So, I think I misspoke when I 
talked about using the debugger.  I should have referred instead to 
the simulator - I'm still learning :=)

I didn't have any linker file included in my build, but have now added 
16f77.lkr thanks to your comment.  Now, when I do a Build All, I get 
the following error:

<em>
MPLINK 4.06, Linker
Copyright (c) 2006 Microchip Technology Inc.
Error - section '.org_1' can not fit the absolute section. Section 
'.org_1' start=0x00000004, length=0x00000456
Errors    : 1

BUILD FAILED: Mon Jan 29 19:54:27 2007
</em>

I'm searching Microchip's site for any documentation on this.

Thanks,
Steve


On Jan 29, 8:52 am, "Bob" <StephensDigi...@gmail.com> wrote:
> On Jan 28, 7:33 pm, "mcki0127" <mcki0...@hotmail.com> wrote: > > > > > > > A few years ago, I successfully created a project in MPLAB v5 to > > program a 16F77 for an application, which has been working since. > > I've recently installed MPLAB v7 and would like to edit the project. > > I've used the project wizard to add the two required files: the .asm > > source file and .inc header file. The problem is that when I try to > > debug the program by stepping through etc. it skips past the macro in > > the inc file. Also, the variables in the macro aren't available in > > the watch window. The debugger seems to step through part of the > > macro because it will jump to a subroutine from the source file that's > > called out in the macro. However, I can't step through it line by > > line and verify that it's working correctly. Is there some setting > > that I'm missing in MPLAB? I recall in the MPLAB v5, the focus would > > shift to the window of the correct file while debugging. > > > Thanks for any help on this, > > SteveOne quick thought. Did you include the correct linker script in your > build? The one with an 'i' in the name is the one that contains the > debug information. > In other words 16F77i.lkr instead of 16F77.lkr > > Bob Stephens- Hide quoted text -- Show quoted text -
On Jan 29, 6:01 pm, "mcki0127" <mcki0...@hotmail.com> wrote:
> Bob, > > The linker file 16f77i doesn't exist in the MPASM Suite/LKR folder. > Only 16f77 exists for this device. In any case, I read in the MPLAB > IDE User's Guide that the "i" files are to be used when MPLAB ICD 2 is > being used, which I am not using. So, I think I misspoke when I > talked about using the debugger. I should have referred instead to > the simulator - I'm still learning :=) > > I didn't have any linker file included in my build, but have now added > 16f77.lkr thanks to your comment. Now, when I do a Build All, I get > the following error: > > <em> > MPLINK 4.06, Linker > Copyright (c) 2006 Microchip Technology Inc. > Error - section '.org_1' can not fit the absolute section. Section > '.org_1' start=0x00000004, length=0x00000456 > Errors : 1 > > BUILD FAILED: Mon Jan 29 19:54:27 2007 > </em> > > I'm searching Microchip's site for any documentation on this. > > Thanks, > Steve > > On Jan 29, 8:52 am, "Bob" <StephensDigi...@gmail.com> wrote: > > > On Jan 28, 7:33 pm, "mcki0127" <mcki0...@hotmail.com> wrote: > > > > A few years ago, I successfully created a project in MPLAB v5 to > > > program a 16F77 for an application, which has been working since. > > > I've recently installed MPLAB v7 and would like to edit the project. > > > I've used the project wizard to add the two required files: the .asm > > > source file and .inc header file. The problem is that when I try to > > > debug the program by stepping through etc. it skips past the macro in > > > the inc file. Also, the variables in the macro aren't available in > > > the watch window. The debugger seems to step through part of the > > > macro because it will jump to a subroutine from the source file that's > > > called out in the macro. However, I can't step through it line by > > > line and verify that it's working correctly. Is there some setting > > > that I'm missing in MPLAB? I recall in the MPLAB v5, the focus would > > > shift to the window of the correct file while debugging. > > > > Thanks for any help on this, > > > SteveOne quick thought. Did you include the correct linker script in your > > build? The one with an 'i' in the name is the one that contains the > > debug information. > > In other words 16F77i.lkr instead of 16F77.lkr > > > Bob Stephens- Hide quoted text -- Show quoted text -
Steve, The linker is telling you that that area of memory has already been allocated and cannot automatically be overwritten. See page 217 of the Assembler/Linker/Librarian User's Guide - "MPASMLINK.pdf" for details. Bob Stephens
On Jan 30, 8:25 am, "Bob" <StephensDigi...@gmail.com> wrote:
> On Jan 29, 6:01 pm, "mcki0127" <mcki0...@hotmail.com> wrote: > > > > > > > Bob, > > > The linker file 16f77i doesn't exist in the MPASM Suite/LKR folder. > > Only 16f77 exists for this device. In any case, I read in the MPLAB > > IDE User's Guide that the "i" files are to be used when MPLAB ICD 2 is > > being used, which I am not using. So, I think I misspoke when I > > talked about using the debugger. I should have referred instead to > > the simulator - I'm still learning :=) > > > I didn't have any linker file included in my build, but have now added > > 16f77.lkr thanks to your comment. Now, when I do a Build All, I get > > the following error: > > > <em> > > MPLINK 4.06, Linker > > Copyright (c) 2006 Microchip Technology Inc. > > Error - section '.org_1' can not fit the absolute section. Section > > '.org_1' start=0x00000004, length=0x00000456 > > Errors : 1 > > > BUILD FAILED: Mon Jan 29 19:54:27 2007 > > </em> > > > I'm searching Microchip's site for any documentation on this. > > > Thanks, > > Steve > > > On Jan 29, 8:52 am, "Bob" <StephensDigi...@gmail.com> wrote: > > > > On Jan 28, 7:33 pm, "mcki0127" <mcki0...@hotmail.com> wrote: > > > > > A few years ago, I successfully created a project in MPLAB v5 to > > > > program a 16F77 for an application, which has been working since. > > > > I've recently installed MPLAB v7 and would like to edit the project. > > > > I've used the project wizard to add the two required files: the .asm > > > > source file and .inc header file. The problem is that when I try to > > > > debug the program by stepping through etc. it skips past the macro in > > > > the inc file. Also, the variables in the macro aren't available in > > > > the watch window. The debugger seems to step through part of the > > > > macro because it will jump to a subroutine from the source file that's > > > > called out in the macro. However, I can't step through it line by > > > > line and verify that it's working correctly. Is there some setting > > > > that I'm missing in MPLAB? I recall in the MPLAB v5, the focus would > > > > shift to the window of the correct file while debugging. > > > > > Thanks for any help on this, > > > > SteveOne quick thought. Did you include the correct linker script in your > > > build? The one with an 'i' in the name is the one that contains the > > > debug information. > > > In other words 16F77i.lkr instead of 16F77.lkr > > > > Bob Stephens- Hide quoted text -- Show quoted text - > > Steve, > > The linker is telling you that that area of memory has already been > allocated and cannot automatically be overwritten. See page 217 of the > Assembler/Linker/Librarian User's Guide - "MPASMLINK.pdf" for details. > > Bob Stephens- Hide quoted text - > > - Show quoted text -
OK, it seems I was missing an "End" at the end of my inc file (which the earlier MPLAB version didn't complain about). I now get a successful build. Thanks a bunch for the comments. Now, however, I get an error from the simulator when I try to step through the file: CORE-E0002: Stack under flow error occurred from instruction at 0x000005 I believe that address is the "goto Interrupt". When I get some more time on my hands later this week, I'll fiddle around with the source file to solve this error. Thanks again, Steve
Dear Steve

I think microchip change the debugger.
In V5  the debugger use the list.file for debugging and You see all expanded
macros

In V7 the debugger use the source file and all macro instance are view
together by the macro definition.
You can't set a breakpoint on a macro instance. But you can set a breakpoint
in the macro definition.
But there you see the code of all instance and you don't know whitch is the
coresponding code to your instance.

We are using hundreds of macros. The work with V7 is impossible.

Reto


Reto,

Thanks for the info.  This is what I've been slowly finding out from
other forums.  What is the solution?  Switch back to v5 or try to
stumble through the macro debugging with the disassembly listing?

Steve