amt630hv160.icf 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. /*###ICF### Section handled by ICF editor, don't touch! ****/
  2. /*-Editor annotation file-*/
  3. /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
  4. /*-Specials-*/
  5. define symbol __ICFEDIT_intvec_start__ = 0x0104000;
  6. /*-Memory Regions-*/
  7. define symbol __ICFEDIT_region_ROM_start__ = 0x0104000;
  8. define symbol __ICFEDIT_region_ROM_end__ = 0x012FFFF;
  9. define symbol __ICFEDIT_region_RAM_start__ = 0x0130000;
  10. define symbol __ICFEDIT_region_RAM_end__ = 0x0147FFF;
  11. define symbol __ICFEDIT_region_SRAM_start__ = 0x20100000;
  12. define symbol __ICFEDIT_region_SRAM_end__ = 0x2017FFFF;
  13. /*-Sizes-*/
  14. define symbol __ICFEDIT_size_cstack__ = 0x1000;
  15. define symbol __ICFEDIT_size_heap__ = 0;
  16. /**** End of ICF editor section. ###ICF###*/
  17. /* Flash Organization
  18. * 1. Privileged Code:
  19. * Start : 0x104000
  20. * End : 0x107FFF
  21. * Size : 16 Kbytes
  22. * 2. System calls:
  23. * Start : 0x108000
  24. * End : 0x108FFF
  25. * Size : 4 Kbytes
  26. * 3. Unprivileged Code:
  27. * Start : 0x109000
  28. * End : 0x12FFFF
  29. * Size : 156 Kbytes
  30. */
  31. define symbol __reigon_ROM_privileged_start__ = __ICFEDIT_region_ROM_start__;
  32. define symbol __reigon_ROM_privileged_end__ = 0x107FFF;
  33. define symbol __reigon_ROM_system_calls_start__ = 0x108000;
  34. define symbol __reigon_ROM_system_calls_end__ = 0x108FFF;
  35. define symbol __reigon_ROM_unprivileged_start__ = 0x109000;
  36. define symbol __reigon_ROM_unprivileged_end__ = __ICFEDIT_region_ROM_end__;
  37. /* RAM Organization
  38. * 1. Privileged Data:
  39. * Start : 0x130000
  40. * End : 0x137FFF
  41. * Size : 32 Kbytes
  42. * 2. Unprivileged Data:
  43. * Start : 0x138000
  44. * End : 0x147FFF
  45. * Size : 64 Kbytes
  46. */
  47. define symbol __region_RAM_privileged_start__ = __ICFEDIT_region_RAM_start__;
  48. define symbol __region_RAM_privileged_end__ = 0x137FFF;
  49. define symbol __region_RAM_unprivileged_start__ = 0x138000;
  50. define symbol __region_RAM_unprivileged_end__ = __ICFEDIT_region_RAM_end__;
  51. /* Memory regions. */
  52. define memory mem with size = 4G;
  53. define region ROM_region_privileged = mem:[from __reigon_ROM_privileged_start__ to __reigon_ROM_privileged_end__];
  54. define region ROM_region_system_calls = mem:[from __reigon_ROM_system_calls_start__ to __reigon_ROM_system_calls_end__];
  55. define region ROM_region_unprivileged = mem:[from __reigon_ROM_unprivileged_start__ to __reigon_ROM_unprivileged_end__];
  56. define region RAM_region_privileged = mem:[from __region_RAM_privileged_start__ to __region_RAM_privileged_end__];
  57. define region RAM_region_unprivileged = mem:[from __region_RAM_unprivileged_start__ to __region_RAM_unprivileged_end__];
  58. define region SRAM_region_privileged = mem:[from __ICFEDIT_region_SRAM_start__ to __ICFEDIT_region_SRAM_end__];
  59. /* Stack and Heap. */
  60. define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
  61. define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
  62. /* Initialization. */
  63. initialize by copy { readwrite };
  64. do not initialize { section .noinit };
  65. /* Exported symbols. */
  66. define exported symbol __FLASH_segment_start__ = __ICFEDIT_region_ROM_start__;
  67. define exported symbol __FLASH_segment_end__ = __ICFEDIT_region_ROM_end__;
  68. define exported symbol __IRAM_segment_start__ = __ICFEDIT_region_RAM_start__;
  69. define exported symbol __IRAM_segment_end__ = __ICFEDIT_region_RAM_end__;
  70. define exported symbol __privileged_functions_start__ = __reigon_ROM_privileged_start__;
  71. define exported symbol __privileged_functions_end__ = __reigon_ROM_privileged_end__;
  72. define exported symbol __privileged_data_start__ = __region_RAM_privileged_start__;
  73. define exported symbol __privileged_data_end__ = __region_RAM_privileged_end__;
  74. define exported symbol __SRAM_segment_start__ = __ICFEDIT_region_SRAM_start__;
  75. define exported symbol __SRAM_segment_end__ = __ICFEDIT_region_SRAM_end__;
  76. define exported symbol __syscalls_flash_start__ = __reigon_ROM_system_calls_start__;
  77. define exported symbol __syscalls_flash_end__ = __reigon_ROM_system_calls_end__;
  78. /* Placements. */
  79. place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
  80. place at address mem:__ICFEDIT_region_RAM_start__ { section SEC_DDT };
  81. place in ROM_region_privileged { readonly section privileged_functions };
  82. place in ROM_region_system_calls { readonly section freertos_system_calls };
  83. place in ROM_region_unprivileged { readonly };
  84. place in RAM_region_privileged { readwrite section privileged_data };
  85. place in RAM_region_unprivileged { readwrite,
  86. block CSTACK, block HEAP };
  87. place in SRAM_region_privileged { readwrite section UC_HEAP};