View previous topic :: View next topic |
Author |
Message |
guest Guest
|
Is there a way to use all the ROM available? |
Posted: Mon Oct 31, 2005 12:26 am |
|
|
I am using an old CCS compiler (version 3.068) with the MPLAB ICD programmer. The target is a 16F870 which has 2K of ROM. As my program get larger, the code must fit into 0 -> 6FF address space (where 0 - 7FF would be the whole 2K). With ICD set to TRUE, the available space decreases to 0 -> 5FF (as expected to add in the debug code). In this case, 25% of the code space is not available for the program itself.
Can someone tell me what is placed in the 700 -> 7FF area? Is there a way that I can get to use this for my program? The list file and disassembler output do not show anything in this area, although the ICD code isn't shown either.
Thanks for any help you can give.
Ken |
|
|
asmallri
Joined: 12 Aug 2004 Posts: 1634 Location: Perth, Australia
|
|
Posted: Mon Oct 31, 2005 12:39 am |
|
|
Use the ICD as a programmer - not a debugger. Tnen set ICD = false. _________________ Regards, Andrew
http://www.brushelectronics.com/software
Home of Ethernet, SD card and Encrypted Serial Bootloaders for PICs!! |
|
|
kenllange Guest
|
Is there a way to use all the ROM available? |
Posted: Mon Oct 31, 2005 1:25 pm |
|
|
With ICD = FALSE, I still only get half of the unavailable space back. In this situation, the compiled code gets truncated above 6FF (which the listfile shows as 100%).
Ken |
|
|
PCM programmer
Joined: 06 Sep 2003 Posts: 21708
|
|
Posted: Mon Oct 31, 2005 1:53 pm |
|
|
Quote: | Can someone tell me what is placed in the 700 -> 7FF area ? |
Are you using MPLAB ICD or ICD2 ?
Anyway, to find the resources used by ICD2, start up MPLAB vs. 7.20
or some other recent version, and go to Help Topics for ICD2.
Select the Index tab and type in: Reserved Resources
Then click on that, and then in the pane on the right, click on
"Resources Used for PIC16F Devices". Then scroll down until
you see this:
Code: |
Program
PIC Memory
Used
PIC16F870/871/872 0x700 - 0x7FF |
This is the program memory range used by the Debugger.
You need to do what everyone else in this thread has been
telling you: Don't use ICD2 as a "Debugger". Use it as
a "Programmer". There are separate menus for each of
these modes. Also, you might do an "Erase Flash Device"
in the Programmer menu. |
|
|
|