| 121 |
Kevin |
1 |
// File: 18f27j13_g.lkr
|
|
|
2 |
// Generic linker script for the PIC18F27J13 processor
|
|
|
3 |
|
|
|
4 |
#DEFINE _CODEEND _DEBUGCODESTART - 1
|
|
|
5 |
#DEFINE _CEND _CODEEND + _DEBUGCODELEN
|
|
|
6 |
#DEFINE _DATAEND _DEBUGDATASTART - 1
|
|
|
7 |
#DEFINE _DEND _DATAEND + _DEBUGDATALEN
|
|
|
8 |
|
|
|
9 |
LIBPATH .
|
|
|
10 |
|
|
|
11 |
#IFDEF _CRUNTIME
|
|
|
12 |
#IFDEF _EXTENDEDMODE
|
|
|
13 |
FILES c018i_e.o
|
|
|
14 |
FILES clib_e.lib
|
|
|
15 |
FILES p18f27j13_e.lib
|
|
|
16 |
|
|
|
17 |
#ELSE
|
|
|
18 |
FILES c018i.o
|
|
|
19 |
FILES clib.lib
|
|
|
20 |
FILES p18f27j13.lib
|
|
|
21 |
#FI
|
|
|
22 |
|
|
|
23 |
#FI
|
|
|
24 |
|
|
|
25 |
#IFDEF _DEBUGCODESTART
|
|
|
26 |
CODEPAGE NAME=page START=0x0 END=_CODEEND
|
|
|
27 |
CODEPAGE NAME=debug START=_DEBUGCODESTART END=_CEND PROTECTED
|
|
|
28 |
#ELSE
|
|
|
29 |
CODEPAGE NAME=page START=0x0 END=0x1FFF7
|
|
|
30 |
#FI
|
|
|
31 |
|
|
|
32 |
CODEPAGE NAME=config START=0x1FFF8 END=0x1FFFF PROTECTED
|
|
|
33 |
CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED
|
|
|
34 |
|
|
|
35 |
#IFDEF _EXTENDEDMODE
|
|
|
36 |
DATABANK NAME=gpre START=0x0 END=0x5F
|
|
|
37 |
#ELSE
|
|
|
38 |
ACCESSBANK NAME=accessram START=0x0 END=0x5F
|
|
|
39 |
#FI
|
|
|
40 |
|
|
|
41 |
DATABANK NAME=gpr0 START=0x60 END=0xFF
|
|
|
42 |
DATABANK NAME=gpr1 START=0x100 END=0x1FF
|
|
|
43 |
DATABANK NAME=gpr2 START=0x200 END=0x2FF
|
|
|
44 |
DATABANK NAME=gpr3 START=0x300 END=0x3FF
|
|
|
45 |
DATABANK NAME=gpr4 START=0x400 END=0x4FF
|
|
|
46 |
DATABANK NAME=gpr5 START=0x500 END=0x5FF
|
|
|
47 |
DATABANK NAME=gpr6 START=0x600 END=0x6FF
|
|
|
48 |
|
| 130 |
Kevin |
49 |
//DATABANK NAME=gpr7 START=0x700 END=0x7FF
|
|
|
50 |
//DATABANK NAME=gpr8 START=0x800 END=0x8FF
|
| 121 |
Kevin |
51 |
//DATABANK NAME=gpr9 START=0x900 END=0x9FF
|
|
|
52 |
//DATABANK NAME=gpr10 START=0xA00 END=0xAFF
|
|
|
53 |
//DATABANK NAME=gpr11 START=0xB00 END=0xBFF
|
|
|
54 |
//DATABANK NAME=gpr12 START=0xC00 END=0xCFF
|
|
|
55 |
|
| 130 |
Kevin |
56 |
// Large (256b) buffer allocated in RAM for UART1 (replaces gpr7)
|
|
|
57 |
DATABANK NAME=UART1_BUFFER START=0x700 END=0x7FF
|
|
|
58 |
SECTION NAME=UART1_BUFFER RAM=UART1_BUFFER
|
|
|
59 |
|
|
|
60 |
// Large (256b) buffer allocated in RAM for XBee (replaces gpr8)
|
|
|
61 |
DATABANK NAME=XBEE_BUFFER START=0x800 END=0x8FF
|
|
|
62 |
SECTION NAME=XBEE_BUFFER RAM=XBEE_BUFFER
|
|
|
63 |
|
| 121 |
Kevin |
64 |
// Large (1024b) buffer allocated in RAM for LCD (replaces gpr9-12)
|
|
|
65 |
DATABANK NAME=LCD_BUFFER START=0x900 END=0xCFF
|
|
|
66 |
SECTION NAME=LCD_BUFFER RAM=LCD_BUFFER
|
|
|
67 |
|
|
|
68 |
#IFDEF _DEBUGDATASTART
|
|
|
69 |
DATABANK NAME=gpr13 START=0xD00 END=_DATAEND
|
|
|
70 |
DATABANK NAME=dbgspr START=_DEBUGDATASTART END=_DEND PROTECTED
|
|
|
71 |
#ELSE //no debug
|
|
|
72 |
DATABANK NAME=gpr13 START=0xD00 END=0xDFF
|
|
|
73 |
#FI
|
|
|
74 |
|
|
|
75 |
DATABANK NAME=gpr14 START=0xE00 END=0xEAF
|
|
|
76 |
DATABANK NAME=sfr14 START=0xEB0 END=0xEFF PROTECTED
|
|
|
77 |
DATABANK NAME=sfr15 START=0xF00 END=0xF5F PROTECTED
|
|
|
78 |
ACCESSBANK NAME=accesssfr START=0xF60 END=0xFFF PROTECTED
|
|
|
79 |
|
|
|
80 |
#IFDEF _CRUNTIME
|
|
|
81 |
SECTION NAME=CONFIG ROM=config
|
|
|
82 |
#IFDEF _DEBUGDATASTART
|
|
|
83 |
STACK SIZE=0x100 RAM=gpr12
|
|
|
84 |
#ELSE
|
|
|
85 |
STACK SIZE=0x100 RAM=gpr13
|
|
|
86 |
#FI
|
|
|
87 |
#FI
|