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

uCOS

开发平台:

Others

  1. # Sample Linker Command File for CodeWarrior for ColdFire
  2. # Memory ranges
  3. MEMORY {
  4.    vectorrom   (RX)  : ORIGIN = 0x00000000, LENGTH = 0x00000400   
  5.    code        (RX)  : ORIGIN = 0x00000400, LENGTH = 0x0003FB00
  6.    vectorram   (RWX) : ORIGIN = 0x20000000, LENGTH = 0x00000400
  7.    userram     (RWX) : ORIGIN = 0x20000400, LENGTH = 0x00007C00
  8. #   ipsbar  (RWX)  : ORIGIN = 0x40000000, LENGTH = 0x0
  9. }      
  10. SECTIONS {
  11. # .ipsbar  : {} > ipsbar
  12. # Heap and Stack sizes definition
  13. ___heap_size   = 0x1000;
  14. ___stack_size     = 0x1000;
  15. # MCF52233 Derivative Memory map definitions from linker command files:
  16. # __IPSBAR, __RAMBAR, __RAMBAR_SIZE, __FLASHBAR, __FLASHBAR_SIZE linker
  17. # symbols must be defined in the linker command file.
  18. # Memory Mapped Registers (IPSBAR= 0x40000000)
  19.    ___IPSBAR         = 0x40000000;
  20. # 32 Kbytes Internal SRAM
  21.    ___RAMBAR         = 0x20000000;
  22.    ___RAMBAR_SIZE    = 0x00008000;
  23. # 256 KByte Internal Flash Memory
  24.    ___FLASHBAR       = 0x00000000;
  25.    ___FLASHBAR_SIZE  = 0x00040000;
  26.   .userram   : {} > userram
  27.   .code     : {} > code
  28.   .vectorram : {} > vectorram
  29.   .vectorrom : {} > vectorrom
  30. .vectors :
  31. {
  32. mcf5xxx_vectors.s (.text)
  33. . = ALIGN (0x04); 
  34. } >> vectorrom
  35. .text :
  36. {
  37. *(.text)
  38. . = ALIGN (0x04);
  39. *(.rodata)
  40. . = ALIGN (0x04);
  41. ___ROM_AT = .;
  42. ___DATA_ROM = .;
  43. } >> code
  44. .data : AT(___ROM_AT) 
  45. {  
  46. ___DATA_RAM = .;
  47. . = ALIGN(0x04);
  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 (0x04);
  58. __END_DATA = .;
  59. __START_SDATA = .;
  60. *(.sdata)
  61. . = ALIGN (0x04);
  62. __END_SDATA = .;
  63. ___DATA_END = .;
  64. __SDA_BASE = .;
  65. . = ALIGN (0x04);
  66. } >> userram
  67. .bss :
  68. {
  69. ___BSS_START = .;
  70. __START_SBSS = .;
  71. *(.sbss)
  72. . = ALIGN (0x04);
  73. *(SCOMMON)
  74. __END_SBSS = .;
  75. __START_BSS = .;
  76. *(.bss)
  77. . = ALIGN (0x04);
  78. *(COMMON)
  79. __END_BSS = .;
  80. ___BSS_END = .;
  81. . = ALIGN(0x04);
  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 (0x04);
  91. } >> userram
  92.   
  93. ___VECTOR_RAM = ADDR(.vectorram);
  94. __SP_INIT = ___SP_INIT;
  95. _romp_at = ___ROM_AT + SIZEOF(.data);
  96. .romp : AT(_romp_at)
  97. {
  98. __S_romp = _romp_at;
  99. WRITEW(___ROM_AT);
  100. WRITEW(ADDR(.data));
  101. WRITEW(SIZEOF(.data));
  102. WRITEW(0);
  103. WRITEW(0);
  104. WRITEW(0);
  105. }
  106. }