kopia lustrzana https://github.com/evil-mad/EggBot
66 wiersze
3.2 KiB
Plaintext
66 wiersze
3.2 KiB
Plaintext
// File: 18f87j50.lkr
|
|
// Sample linker script for the PIC18F87J50 processor
|
|
|
|
// THIS LINKER SCRIPT HAS BEEN MODIFIED... This version is intended to be used
|
|
// with the "PROGRAMMABLE_WITH_USB_HID_BOOTLOADER" bootloader. The HID
|
|
// bootloader occupies memory ranges 0x000-0xFFF. In order for the code generated
|
|
// by this project to work with the bootloader, the linker must not put any code
|
|
// in the 0x00-0xFFF address range.
|
|
|
|
// This linker script was originated from the 18f87j50.lkr file provided by
|
|
// the MCC18 distribution.
|
|
|
|
// NOTE: As configured by default the HID bootloader does not erase or attempt to
|
|
// program the last 1024 byte block of program memory (because this flash memory
|
|
// block contains the flash configuration words).
|
|
// Erasing and reprogramming the configuration words is "slightly dangerous" in that
|
|
// it is possible to bootload incorrect configuration bit settings that will
|
|
// prevent both the application and bootloader from working properly (ex: incorrect
|
|
// oscillator configuration settings, which are incompatible with USB operation).
|
|
// The bootloader does allow the user to override this behavior however, and the
|
|
// last 1024 bytes of program memory (including config words) may be both
|
|
// erased and programmed, if the user is careful.
|
|
|
|
// However, by default, the last 1024 bytes of program memory are not
|
|
// erased or re-programmed. Therefore, the last 1024 bytes of program memory
|
|
// have been marked PROTECTED in the linker script, to prevent the linker from
|
|
// "accidentally" placing code in this region.
|
|
|
|
|
|
LIBPATH .
|
|
|
|
FILES c018i.o
|
|
FILES clib.lib
|
|
FILES p18f87j50.lib
|
|
|
|
CODEPAGE NAME=bootloader START=0x0 END=0xFFF PROTECTED
|
|
CODEPAGE NAME=vectors START=0x1000 END=0x1029 PROTECTED
|
|
CODEPAGE NAME=page START=0x102A END=0x1FBFF
|
|
CODEPAGE NAME=page2 START=0x1FC00 END=0x1FFF7 PROTECTED
|
|
CODEPAGE NAME=config START=0x1FFF8 END=0x1FFFD PROTECTED
|
|
CODEPAGE NAME=devid START=0x3FFFFE END=0x3FFFFF PROTECTED
|
|
|
|
ACCESSBANK NAME=accessram START=0x0 END=0x5F
|
|
DATABANK NAME=gpr0 START=0x60 END=0xFF
|
|
DATABANK NAME=gpr1 START=0x100 END=0x1FF
|
|
DATABANK NAME=gpr2 START=0x200 END=0x2FF
|
|
DATABANK NAME=gpr3 START=0x300 END=0x3FF
|
|
DATABANK NAME=gpr4 START=0x400 END=0x4FF
|
|
DATABANK NAME=gpr5 START=0x500 END=0x5FF
|
|
DATABANK NAME=gpr6 START=0x600 END=0x6FF
|
|
DATABANK NAME=gpr7 START=0x700 END=0x7FF
|
|
DATABANK NAME=gpr8 START=0x800 END=0x8FF
|
|
DATABANK NAME=gpr9 START=0x900 END=0x9FF
|
|
DATABANK NAME=gpr10 START=0xA00 END=0xAFF
|
|
DATABANK NAME=gpr11 START=0xB00 END=0xBFF
|
|
DATABANK NAME=gpr12 START=0xC00 END=0xCFF
|
|
DATABANK NAME=gpr13 START=0xD00 END=0xDFF
|
|
DATABANK NAME=gpr14 START=0xE00 END=0xEFF
|
|
DATABANK NAME=gpr15 START=0xF00 END=0xF3F
|
|
DATABANK NAME=sfr15 START=0xF40 END=0xF5F PROTECTED
|
|
ACCESSBANK NAME=accesssfr START=0xF60 END=0xFFF PROTECTED
|
|
|
|
SECTION NAME=CONFIG ROM=config
|
|
|
|
STACK SIZE=0x100 RAM=gpr14
|