procdefs.ld 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /*************************************************************************
  2. * Processor-specific object file. Contains SFR definitions.
  3. *************************************************************************/
  4. INPUT("processor.o")
  5. /*************************************************************************
  6. * For interrupt vector handling
  7. *************************************************************************/
  8. PROVIDE(_vector_spacing = 0x00000001);
  9. _ebase_address = 0x9FC01000;
  10. /*************************************************************************
  11. * Memory Address Equates
  12. *************************************************************************/
  13. _RESET_ADDR = 0xBFC00000;
  14. _BEV_EXCPT_ADDR = 0xBFC00380;
  15. _DBG_EXCPT_ADDR = 0xBFC00480;
  16. _DBG_CODE_ADDR = 0xBFC02000;
  17. _GEN_EXCPT_ADDR = _ebase_address + 0x180;
  18. /*************************************************************************
  19. * Memory Regions
  20. *
  21. * Memory regions without attributes cannot be used for orphaned sections.
  22. * Only sections specifically assigned to these regions can be allocated
  23. * into these regions.
  24. *************************************************************************/
  25. MEMORY
  26. {
  27. kseg0_program_mem (rx) : ORIGIN = 0x9D000000, LENGTH = 0x80000
  28. kseg0_boot_mem : ORIGIN = 0x9FC00490, LENGTH = 0x970
  29. exception_mem : ORIGIN = 0x9FC01000, LENGTH = 0x1000
  30. kseg1_boot_mem : ORIGIN = 0xBFC00000, LENGTH = 0x490
  31. debug_exec_mem : ORIGIN = 0xBFC02000, LENGTH = 0xFF0
  32. config3 : ORIGIN = 0xBFC02FF0, LENGTH = 0x4
  33. config2 : ORIGIN = 0xBFC02FF4, LENGTH = 0x4
  34. config1 : ORIGIN = 0xBFC02FF8, LENGTH = 0x4
  35. config0 : ORIGIN = 0xBFC02FFC, LENGTH = 0x4
  36. kseg1_data_mem (w!x) : ORIGIN = 0xA0000000, LENGTH = 0x20000
  37. sfrs : ORIGIN = 0xBF800000, LENGTH = 0x100000
  38. configsfrs : ORIGIN = 0xBFC02FF0, LENGTH = 0x10
  39. }
  40. SECTIONS
  41. {
  42. .config_BFC02FF0 : {
  43. KEEP(*(.config_BFC02FF0))
  44. } > config3
  45. .config_BFC02FF4 : {
  46. KEEP(*(.config_BFC02FF4))
  47. } > config2
  48. .config_BFC02FF8 : {
  49. KEEP(*(.config_BFC02FF8))
  50. } > config1
  51. .config_BFC02FFC : {
  52. KEEP(*(.config_BFC02FFC))
  53. } > config0
  54. .text :
  55. {
  56. __fsymtab_start = .;
  57. KEEP(*(FSymTab))
  58. __fsymtab_end = .;
  59. __vsymtab_start = .;
  60. KEEP(*(VSymTab))
  61. __vsymtab_end = .;
  62. } > kseg0_program_mem
  63. }