Quote:
|
Originally Posted by Fat Alex
Could you elaborate on "the ways around this limit"?
|
Mike gave you the basics. Here's just a little more on the linking aspects.
After your code has been compiled, the MPLAB linker determines how your code gets mapped into the available memory on the physical PIC. The linker is guided by the linker script (18f8520user.lkr) in the project folder that among other things specifies how the PIC ram is blocked out or partitioned.
In the case of FIRST our script sets aside several protected areas for exclusive use by the IFI code and sets aside a block (gpr6) for use as a stack for saving things like subroutine call branch locations, etc. The rest is divided up into blocks of 256 bytes each. You can change how large these blocks are.
In addition to the reference Mike gave you, for more information on the linker script see Chapter 5 of the
MPASM User’s Guide with MPLINK and MPLIB
Be careful of course. It can be very hard to debug (and for us to help you debug) any problems you create by mucking with this.