AHBRAM1 : ORIGIN = 0x20080000, LENGTH = 0x4000\r
}\r
\r
-_vRamTop = 0x10000000 + 0x8000;\r
+_vRamTop = ORIGIN( SRAM ) + LENGTH( SRAM );\r
+\r
+/* Variables used by FreeRTOS-MPU. */\r
+_Privileged_Functions_Region_Size = 16K;\r
+_Privileged_Data_Region_Size = 256;\r
+\r
+__FLASH_segment_start__ = ORIGIN( FLASH );\r
+__FLASH_segment_end__ = __FLASH_segment_start__ + LENGTH( FLASH );\r
+\r
+__privileged_functions_start__ = ORIGIN( FLASH );\r
+__privileged_functions_end__ = __privileged_functions_start__ + _Privileged_Functions_Region_Size;\r
+\r
+__SRAM_segment_start__ = ORIGIN( SRAM );\r
+__SRAM_segment_end__ = __SRAM_segment_start__ + LENGTH( SRAM );\r
+\r
+__privileged_data_start__ = ORIGIN( SRAM );\r
+__privileged_data_end__ = ORIGIN( SRAM ) + _Privileged_Data_Region_Size; \r
\r
ENTRY(ResetISR)\r
\r
SECTIONS\r
{\r
- __FLASH_segment_start__ = .;\r
- \r
/* Privileged section at the start of the flash - vectors must be first\r
whatever. */\r
privileged_functions :\r
{\r
KEEP(*(.isr_vector))\r
*(privileged_functions)\r
- __privileged_functions_end__ = .;\r
} > FLASH\r
\r
.text :\r
{\r
/* Non privileged code kept out of the first 16K or flash. */\r
- . = 16K;\r
- \r
+ . = __privileged_functions_start__ + _Privileged_Functions_Region_Size;\r
+ \r
*(.text*)\r
*(.rodata*)\r
\r
\r
_etext = .;\r
\r
- __FLASH_segment_end__ = .; \r
-\r
/* zero initialized data */ \r
privileged_data :\r
{\r
_bss = .;\r
- __privileged_data_start__ = .;\r
- __SRAM_segment_start__ = .;\r
*(privileged_data)\r
- __privileged_data_end__ = .;\r
+ /* Non kernel data is kept out of the first 256 bytes of SRAM. */\r
} > SRAM \r
\r
- /* Non kernel data is kept out of the first 256 bytes of SRAM. */\r
- . = 0x10000000 + 256;\r
+ . = ORIGIN( SRAM ) + _Privileged_Data_Region_Size;\r
\r
.bss :\r
{\r
{\r
end = .;\r
_pvHeapStart = .;\r
- __SRAM_segment_end__ = .;\r
} > SRAM\r
\r
/*\r