Commit e1efafa3 authored by Evgeniy Paltsev's avatar Evgeniy Paltsev Committed by Anas Nashif
Browse files

ARC: don't align ROM region end if not required



This extra MPU alignment of RAMABLE_REGION is only required
if we put ROMABLE_REGION and RAMABLE_REGION into the same
(continuous) memory (i.e. SRAM) - so we won't get beginning of the
RAMABLE_REGION in the end of ROMABLE_REGION MPU aperture.

If we use different regions (ICCM & DCCM, FLASH & SRAM, etc...)
we don't need this extra MPU alignment.

Let's drop it to decrease ROM memory usage.

Signed-off-by: default avatarEugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: default avatarEvgeniy Paltsev <PaltsevEvgeniy@gmail.com>
parent 79433b0e
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -17,13 +17,16 @@
#ifdef CONFIG_HARVARD
	#define ROMABLE_REGION ICCM
	#define RAMABLE_REGION DCCM
	#define ROM_RAM_IN_SAME_REGION 0
#else
	#if defined(CONFIG_XIP) && (FLASH_SIZE != 0)
		#define ROMABLE_REGION FLASH
		#define RAMABLE_REGION SRAM
		#define ROM_RAM_IN_SAME_REGION 0
	#else
		#define ROMABLE_REGION SRAM
		#define RAMABLE_REGION SRAM
		#define ROM_RAM_IN_SAME_REGION 1
	#endif
#endif

@@ -138,7 +141,13 @@ SECTIONS {
		_ectors = .;
#endif /* CONFIG_CPP && !CONFIG_CPP_STATIC_INIT_GNU && __MWDT_LINKER_CMD__ */

/* This extra MPU alignment of RAMABLE_REGION is only required if we put ROMABLE_REGION and
 * RAMABLE_REGION into the same (continuous) memory - otherwise we can get beginning of the
 * RAMABLE_REGION in the end of ROMABLE_REGION MPU aperture.
 */
#if ROM_RAM_IN_SAME_REGION
		MPU_ALIGN(ABSOLUTE(.) - __rom_region_start);
#endif
	} GROUP_LINK_IN(ROMABLE_REGION)

	__rodata_region_end = .;