M52233DEMO_CONSOLE.lcf
上传用户:dongxin
上传日期:2022-06-22
资源大小:370k
文件大小:3k
源码类别:

uCOS

开发平台:

Others

  1. # Sample Linker Command File for CodeWarrior for ColdFire
  2. #  NOTE: The debugger uses the Illegal Instruction Vector to stop.
  3. #  A small subroutine is written at the location VBR+0x408-VBR+0x40B
  4. #  to handle the exception.  The Illegal Instruction Vector in
  5. #  the the vector table at VBR+0x10 is then pointed to it.  When the
  6. #  debugger encounters an illegal instruction, it jumps to this 
  7. #  subroutine, which ends with an RTE, then exits.
  8. #  Do not overwrite this area of memory otherwise the debugger may not
  9. #  exit properly.
  10. # Memory ranges
  11. MEMORY {
  12.    vectorram   (RWX) : ORIGIN = 0x20000000, LENGTH = 0x00000500
  13.    code        (RX)  : ORIGIN = 0x20000500, LENGTH = 0x00005B00
  14.    userram     (RWX) : ORIGIN = 0x20006000, LENGTH = 0x00002000
  15. }
  16. SECTIONS {
  17.  
  18. # Heap and Stack sizes definition
  19. ___heap_size   = 0x400;
  20. ___stack_size     = 0x800;
  21. # MCF52233 Derivative Memory map definitions from linker command files:
  22. # __IPSBAR, __RAMBAR, __RAMBAR_SIZE, __FLASHBAR, __FLASHBAR_SIZE linker
  23. # symbols must be defined in the linker command file.
  24. # Memory Mapped Registers (IPSBAR= 0x40000000)
  25.    ___IPSBAR         = 0x40000000;
  26. # 32 Kbytes Internal SRAM
  27.    ___RAMBAR         = 0x20000000;
  28.    ___RAMBAR_SIZE    = 0x00008000;
  29. # 256 KByte Internal Flash Memory
  30.    ___FLASHBAR       = 0x00000000;
  31.    ___FLASHBAR_SIZE  = 0x00040000;
  32.   .userram   : {} > userram
  33.   .code     : {} > code
  34.   .vectorram : {} > vectorram
  35.        
  36. .text :
  37. {
  38. *(.text)
  39. . = ALIGN (0x4);
  40. *(.rodata)
  41. . = ALIGN (0x4);
  42. } >> code
  43. .data :
  44. {  
  45. ___DATA_ROM = .;
  46. ___DATA_RAM = .;
  47. . = ALIGN(0x4);
  48. *(.exception)
  49. . = ALIGN(0x4);
  50. __exception_table_start__ = .;
  51. EXCEPTION
  52. __exception_table_end__ = .;
  53. ___sinit__ = .;
  54.     STATICINIT
  55. __START_DATA = .;
  56. *(.data)
  57. . = ALIGN (0x4);
  58. __END_DATA = .;
  59. __START_SDATA = .;
  60. *(.sdata)
  61. . = ALIGN (0x4);
  62. __END_SDATA = .;
  63. ___DATA_END = .;
  64. __SDA_BASE = .;
  65. . = ALIGN (0x4);
  66. } >> userram
  67. .bss :
  68. {
  69. ___BSS_START = .;
  70. __START_SBSS = .;
  71. *(.sbss)
  72. . = ALIGN (0x4);
  73. *(SCOMMON)
  74. __END_SBSS = .;
  75. __START_BSS = .;
  76. *(.bss)
  77. . = ALIGN (0x4);
  78. *(COMMON)
  79. __END_BSS = .;
  80. ___BSS_END = .;
  81. . = ALIGN(0x4);
  82. } >> userram
  83. .custom :
  84. {
  85. ___HEAP_START = .;
  86. ___heap_addr = ___HEAP_START;
  87. ___HEAP_END = ___HEAP_START + ___heap_size;
  88. ___SP_END = ___HEAP_END;
  89. ___SP_INIT = ___SP_END + ___stack_size;
  90. . = ALIGN (0x4);
  91. } >> userram
  92.   
  93. ___VECTOR_RAM = ADDR(.vectorram);
  94. __SP_INIT = ___SP_INIT;
  95. __S_romp  = 0x0;
  96. }