1// File: 16f1787_g.lkr
2// Generic linker script for the PIC16F1787 processor
3//// Begin: Added in gputils
4//=========================================================================
5//
6//      Gputils Specific Revision History
7//
8//=========================================================================
9//
10//      14 Jul 2012  Removed the page2.
11//                   Changed the page3 onto page1.
12//
13//      24 Jul 2012  Removed the SECTION NAME=PROG{2-3}.
14//
15//// End: Added in gputils
16
17LIBPATH .
18
19CODEPAGE   NAME=page0      START=0x0               END=0x7FF
20//// Begin: Removed in gputils
21////CODEPAGE   NAME=page1      START=0x800             END=0xFFF
22////CODEPAGE   NAME=page2      START=0x1000            END=0x17FF
23//// End: Removed in gputils
24//// Begin: Changed in gputils
25////CODEPAGE   NAME=page3      START=0x1800            END=0x1FFF
26CODEPAGE   NAME=page1      START=0x800             END=0xFFF
27//// End: Changed in gputils
28CODEPAGE   NAME=.idlocs    START=0x8000            END=0x8003         PROTECTED
29CODEPAGE   NAME=.devid     START=0x8006            END=0x8006         PROTECTED
30CODEPAGE   NAME=.config    START=0x8007            END=0x8008         PROTECTED
31CODEPAGE   NAME=eedata     START=0xF000            END=0xF0FF         PROTECTED
32
33LINEARMEM  NAME=linear0    START=0x2000            END=0x23EF         PROTECTED
34
35DATABANK   NAME=sfr0       START=0x0               END=0x1F           PROTECTED
36DATABANK   NAME=sfr1       START=0x80              END=0x9F           PROTECTED
37DATABANK   NAME=sfr2       START=0x100             END=0x11F          PROTECTED
38DATABANK   NAME=sfr3       START=0x180             END=0x19F          PROTECTED
39DATABANK   NAME=sfr4       START=0x200             END=0x21F          PROTECTED
40DATABANK   NAME=sfr5       START=0x280             END=0x29F          PROTECTED
41DATABANK   NAME=sfr6       START=0x300             END=0x31F          PROTECTED
42DATABANK   NAME=sfr7       START=0x380             END=0x39F          PROTECTED
43DATABANK   NAME=sfr8       START=0x400             END=0x41F          PROTECTED
44DATABANK   NAME=sfr9       START=0x480             END=0x49F          PROTECTED
45DATABANK   NAME=sfr10      START=0x500             END=0x51F          PROTECTED
46DATABANK   NAME=sfr11      START=0x580             END=0x59F          PROTECTED
47DATABANK   NAME=sfr12      START=0x600             END=0x61F          PROTECTED
48DATABANK   NAME=sfr13      START=0x680             END=0x69F          PROTECTED
49DATABANK   NAME=sfr14      START=0x700             END=0x71F          PROTECTED
50DATABANK   NAME=sfr15      START=0x780             END=0x79F          PROTECTED
51DATABANK   NAME=sfr16      START=0x800             END=0x86F          PROTECTED
52DATABANK   NAME=sfr17      START=0x880             END=0x89F          PROTECTED
53DATABANK   NAME=sfr18      START=0x900             END=0x91F          PROTECTED
54DATABANK   NAME=sfr19      START=0x980             END=0x99F          PROTECTED
55DATABANK   NAME=sfr20      START=0xA00             END=0xA1F          PROTECTED
56DATABANK   NAME=sfr21      START=0xA80             END=0xA9F          PROTECTED
57DATABANK   NAME=sfr22      START=0xB00             END=0xB1F          PROTECTED
58DATABANK   NAME=sfr23      START=0xB80             END=0xB9F          PROTECTED
59DATABANK   NAME=sfr24      START=0xC00             END=0xC1F          PROTECTED
60DATABANK   NAME=sfr25      START=0xC80             END=0xC9F          PROTECTED
61DATABANK   NAME=sfr26      START=0xD00             END=0xD1F          PROTECTED
62DATABANK   NAME=sfr27      START=0xD80             END=0xD9F          PROTECTED
63DATABANK   NAME=sfr28      START=0xE00             END=0xE1F          PROTECTED
64DATABANK   NAME=sfr29      START=0xE80             END=0xE9F          PROTECTED
65DATABANK   NAME=sfr30      START=0xF00             END=0xF1F          PROTECTED
66DATABANK   NAME=sfr31      START=0xF80             END=0xFEF          PROTECTED
67
68DATABANK   NAME=gpr0       START=0x20              END=0x6F           SHADOW=linear0:0x2000
69DATABANK   NAME=gpr1       START=0xA0              END=0xEF           SHADOW=linear0:0x2050
70DATABANK   NAME=gpr2       START=0x120             END=0x16F          SHADOW=linear0:0x20A0
71DATABANK   NAME=gpr3       START=0x1A0             END=0x1EF          SHADOW=linear0:0x20F0
72DATABANK   NAME=gpr4       START=0x220             END=0x26F          SHADOW=linear0:0x2140
73DATABANK   NAME=gpr5       START=0x2A0             END=0x2EF          SHADOW=linear0:0x2190
74DATABANK   NAME=gpr6       START=0x320             END=0x36F          SHADOW=linear0:0x21E0
75DATABANK   NAME=gpr7       START=0x3A0             END=0x3EF          SHADOW=linear0:0x2230
76DATABANK   NAME=gpr8       START=0x420             END=0x46F          SHADOW=linear0:0x2280
77DATABANK   NAME=gpr9       START=0x4A0             END=0x4EF          SHADOW=linear0:0x22D0
78DATABANK   NAME=gpr10      START=0x520             END=0x56F          SHADOW=linear0:0x2320
79DATABANK   NAME=gpr11      START=0x5A0             END=0x5EF          SHADOW=linear0:0x2370
80DATABANK   NAME=gpr12      START=0x620             END=0x64F          SHADOW=linear0:0x23C0
81
82SHAREBANK  NAME=gprnobank  START=0x70            END=0x7F
83SHAREBANK  NAME=gprnobank  START=0xF0            END=0xFF           PROTECTED
84SHAREBANK  NAME=gprnobank  START=0x170           END=0x17F          PROTECTED
85SHAREBANK  NAME=gprnobank  START=0x1F0           END=0x1FF          PROTECTED
86SHAREBANK  NAME=gprnobank  START=0x270           END=0x27F          PROTECTED
87SHAREBANK  NAME=gprnobank  START=0x2F0           END=0x2FF          PROTECTED
88SHAREBANK  NAME=gprnobank  START=0x370           END=0x37F          PROTECTED
89SHAREBANK  NAME=gprnobank  START=0x3F0           END=0x3FF          PROTECTED
90SHAREBANK  NAME=gprnobank  START=0x470           END=0x47F          PROTECTED
91SHAREBANK  NAME=gprnobank  START=0x4F0           END=0x4FF          PROTECTED
92SHAREBANK  NAME=gprnobank  START=0x570           END=0x57F          PROTECTED
93SHAREBANK  NAME=gprnobank  START=0x5F0           END=0x5FF          PROTECTED
94SHAREBANK  NAME=gprnobank  START=0x670           END=0x67F          PROTECTED
95SHAREBANK  NAME=gprnobank  START=0x6F0           END=0x6FF          PROTECTED
96SHAREBANK  NAME=gprnobank  START=0x770           END=0x77F          PROTECTED
97SHAREBANK  NAME=gprnobank  START=0x7F0           END=0x7FF          PROTECTED
98SHAREBANK  NAME=gprnobank  START=0x870           END=0x87F          PROTECTED
99SHAREBANK  NAME=gprnobank  START=0x8F0           END=0x8FF          PROTECTED
100SHAREBANK  NAME=gprnobank  START=0x970           END=0x97F          PROTECTED
101SHAREBANK  NAME=gprnobank  START=0x9F0           END=0x9FF          PROTECTED
102SHAREBANK  NAME=gprnobank  START=0xA70           END=0xA7F          PROTECTED
103SHAREBANK  NAME=gprnobank  START=0xAF0           END=0xAFF          PROTECTED
104SHAREBANK  NAME=gprnobank  START=0xB70           END=0xB7F          PROTECTED
105SHAREBANK  NAME=gprnobank  START=0xBF0           END=0xBFF          PROTECTED
106SHAREBANK  NAME=gprnobank  START=0xC70           END=0xC7F          PROTECTED
107SHAREBANK  NAME=gprnobank  START=0xCF0           END=0xCFF          PROTECTED
108SHAREBANK  NAME=gprnobank  START=0xD70           END=0xD7F          PROTECTED
109SHAREBANK  NAME=gprnobank  START=0xDF0           END=0xDFF          PROTECTED
110SHAREBANK  NAME=gprnobank  START=0xE70           END=0xE7F          PROTECTED
111SHAREBANK  NAME=gprnobank  START=0xEF0           END=0xEFF          PROTECTED
112SHAREBANK  NAME=gprnobank  START=0xF70           END=0xF7F          PROTECTED
113SHAREBANK  NAME=gprnobank  START=0xFF0           END=0xFFF          PROTECTED
114
115SECTION    NAME=PROG0      ROM=page0           // ROM code space - page0
116SECTION    NAME=PROG1      ROM=page1           // ROM code space - page1
117//// Begin: Removed in gputils
118////SECTION    NAME=PROG2      ROM=page2           // ROM code space - page2
119////SECTION    NAME=PROG3      ROM=page3           // ROM code space - page3
120//// End: Removed in gputils
121SECTION    NAME=IDLOCS     ROM=.idlocs         // ID locations
122SECTION    NAME=DEEPROM    ROM=eedata          // Data EEPROM
123SECTION    NAME=LINEAR0    RAM=linear0         // Linear Memory
124
125