|
- /*************************************************************************
- * Processor-specific object file. Contains SFR definitions.
- *************************************************************************/
- INPUT("processor.o")
-
- /*************************************************************************
- * Processor-specific peripheral libraries are optional
- *************************************************************************/
- OPTIONAL("libmchp_peripheral.a")
- OPTIONAL("libmchp_peripheral_32MX795F512H.a")
-
- /*************************************************************************
- * For interrupt vector handling
- *************************************************************************/
- PROVIDE(_vector_spacing = 0x00000001);
- _ebase_address = 0x9D004000; /*0x9FC01000;*/
-
- /*************************************************************************
- * Memory Address Equates
- * _RESET_ADDR -- Reset Vector
- * _BEV_EXCPT_ADDR -- Boot exception Vector
- * _DBG_EXCPT_ADDR -- In-circuit Debugging Exception Vector
- * _DBG_CODE_ADDR -- In-circuit Debug Executive address
- * _DBG_CODE_SIZE -- In-circuit Debug Executive size
- * _GEN_EXCPT_ADDR -- General Exception Vector
- *************************************************************************/
- _RESET_ADDR = 0xBFC00000;
- _BEV_EXCPT_ADDR = 0xBFC00380;
- _DBG_EXCPT_ADDR = 0xBFC00480;
- _DBG_CODE_ADDR = 0xBFC02000;
- _DBG_CODE_SIZE = 0xFF0;
- _GEN_EXCPT_ADDR = _ebase_address + 0x180;
-
- /*************************************************************************
- * Memory Regions
- *
- * Memory regions without attributes cannot be used for orphaned sections.
- * Only sections specifically assigned to these regions can be allocated
- * into these regions.
- *
- * The Debug exception vector is located at 0x9FC00480.
- *
- * The config_<address> sections are used to locate the config words at
- * their absolute addresses.
- *************************************************************************/
- MEMORY
- {
- /*kseg0_program_mem (rx) : ORIGIN = 0x9D000100, LENGTH = 0x80000*/
- /*kseg0_boot_mem : ORIGIN = 0x9FC00490, LENGTH = 0x970*/
- /*kexception_mem : ORIGIN = 0x9FC01000, LENGTH = 0x1000*/
-
- /* kseg0_program_mem (rx) : ORIGIN = 0x9D003800, LENGTH = 0x7C7FF*/ /*App code. MAX address = 9D07FFFF */
- /* kseg0_boot_mem : ORIGIN = 0x9D003000, LENGTH = 0x7F0*/ /* startup code */
- /* exception_mem : ORIGIN = 0x9D002000, LENGTH = 0x1000*/
-
- kseg0_program_mem (rx) : ORIGIN = 0x9D005800, LENGTH = 0x7A7FF /*App code. MAX address = 9D07FFFF */
- kseg0_boot_mem : ORIGIN = 0x9D005000, LENGTH = 0x7F0 /* startup code */
- exception_mem : ORIGIN = 0x9D004000, LENGTH = 0x1000
-
- kseg1_boot_mem : ORIGIN = 0xBFC00000, LENGTH = 0x490
- debug_exec_mem : ORIGIN = 0xBFC02000, LENGTH = 0xFF0
- config3 : ORIGIN = 0xBFC02FF0, LENGTH = 0x4
- config2 : ORIGIN = 0xBFC02FF4, LENGTH = 0x4
- config1 : ORIGIN = 0xBFC02FF8, LENGTH = 0x4
- config0 : ORIGIN = 0xBFC02FFC, LENGTH = 0x4
- kseg1_data_mem (w!x) : ORIGIN = 0xA0000000, LENGTH = 0x10000
- sfrs : ORIGIN = 0xBF800000, LENGTH = 0x100000
- configsfrs : ORIGIN = 0xBFC02FF0, LENGTH = 0x10
- }
-
- /*************************************************************************
- * Configuration-word sections. Map the config-pragma input sections to
- * absolute-address output sections.
- *************************************************************************/
- SECTIONS
- {
- .config_BFC02FF0 : {
- KEEP(*(.config_BFC02FF0))
- } > config3
- .config_BFC02FF4 : {
- KEEP(*(.config_BFC02FF4))
- } > config2
- .config_BFC02FF8 : {
- KEEP(*(.config_BFC02FF8))
- } > config1
- .config_BFC02FFC : {
- KEEP(*(.config_BFC02FFC))
- } > config0
- }
|