| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319 |
- LOAD_REGION_DATA_FLASH DATA_FLASH_START NOCOMPRESS DATA_FLASH_LENGTH
- {
- __DATA_FLASH_start +0 EMPTY 0 {}
- __DATA_FLASH_init +0 EMPTY 0 {}
-
-
- __ddsc_DATA_FLASH_START +0 EMPTY 0 {}
- .data_flash.startof +0 EMPTY 0
- {
- }
- __RAM_start RAM_START +0 EMPTY 0 {}
-
- __ddsc_RAM_START +0 EMPTY 0 {}
- .ram.startof +0 EMPTY 0
- {
- }
-
- __ram_dtc_vector +0 UNINIT
- {
- *(.bss.fsp_dtc_vector_table)
- }
- ; ram initialized from data_flash
- __ram_from_data_flash +0
- {
- ; section.ram.from_data_flash
- *(.ram_from_data_flash)
- ; section.ram.code_from_data_flash
- *(.ram_code_from_data_flash)
- }
- } ; create a root region after the RAM init ERs for remainder of ROM ERs
- LOAD_REGION_DATA_FLASH_JUMP +0 NOCOMPRESS
- {
-
- __data_flash_readonly +0 FIXED
- {
- ; section.data_flash.readonly
- *(.data_flash)
- ; section.data_flash.code
- *(.data_flash_code)
- }
-
-
- __data_flash_noinit +0 FIXED UNINIT
- {
- ; section.data_flash.noinit
- *(.bss.data_flash_noinit)
- }
-
-
- __ddsc_DATA_FLASH_END AlignExpr(+0, 512) EMPTY 0 {}
- .data_flash.endof AlignExpr(+0, 512) EMPTY 0
- {
- }
- __DATA_FLASH_end +0 EMPTY 0 {}
- SCatterAssert( (LoadBase(__DATA_FLASH_end) - LoadBase(__DATA_FLASH_start)) <= DATA_FLASH_LENGTH )
- }
- LOAD_REGION_FLASH_GAP FLASH_GAP_START NOCOMPRESS FLASH_GAP_LENGTH
- {
- __FLASH_GAP_start +0 EMPTY 0 {}
- __FLASH_GAP_init +0 EMPTY 0 {}
-
-
- __ddsc_FLASH_START +0 EMPTY 0 {}
- .flash.startof +0 EMPTY 0
- {
- }
-
- ; MCU vector table
- _VECTORS +0 EMPTY 0 {}
- __flash_gap_vectors +0 FIXED
- {
- *(.fixed_vectors, +FIRST)
- *(.application_vectors)
- }
-
- ; Sections that can be used to fill flash gap
- __flash_gap_readonly_gap +0 FIXED
- {
- ; section.flash.readonly_gap
- ; *bsp_linker.?*(.rodata.*)
- *bsp_linker.?*(.rodata.*)
- *(.flash_gap)
- ; section.flash.code_gap
- *(.flash_gap_code)
- }
- __FLASH_GAP_end +0 EMPTY 0 {}
- SCatterAssert( (LoadBase(__FLASH_GAP_end) - LoadBase(__FLASH_GAP_start)) <= FLASH_GAP_LENGTH )
- }
- LOAD_REGION_FLASH FLASH_START NOCOMPRESS FLASH_LENGTH
- {
- __FLASH_start +0 EMPTY 0 {}
- __FLASH_init +0 EMPTY 0 {}
-
-
- __flash_noinit +0 FIXED UNINIT
- {
- ; section.flash.noinit
- *(.bss.flash_noinit)
- }
- __ram_from_data_flash_jump ImageLimit(__ram_from_data_flash) EMPTY 0 {}
- ; ram initialized from flash
- __ram_from_flash +0
- {
- ; section.ram.from_flash
- *(.ram_from_flash)
- ; section.ram.code_from_flash
- *(.ram_code_from_flash)
- .ANY(+RW )
- *(vtable)
- }
- ; Non-initialized ram
- __ram_noinit +0 UNINIT
- {
- ; section.ram.noinit
- ; *(.bss.g_heap)
- ; In case this execution region becomes empty due to heap placement place dummy selector
- $$.$$(.$$)
- }
- ARM_LIB_STACK +0 UNINIT EMPTY 0
- {
- }
- ARM_LIB_HEAP +0 UNINIT
- {
- *(.bss.g_heap)
- }
- __post_heap +0 UNINIT
- {
- ; *(.bss.g_main_stack)
- *(.bss.g_main_stack)
- *(.bss.ram_noinit)
- *(.bss.noinit)
- }
- ; Zeroed ram
- __ram_zero +0
- {
- ; section.ram.zero
- *(.bss.ram)
- .ANY(+ZI )
- }
- ; Thread Stacks
- __ram_thread_stack AlignExpr(+0, 8) UNINIT
- {
- *(.bss.stack?*)
- }
-
- __ddsc_RAM_END AlignExpr(+0, 512) EMPTY 0 {}
- .ram.endof AlignExpr(+0, 512) EMPTY 0
- {
- }
- __RAM_end +0 EMPTY 0 {}
- SCatterAssert( (LoadBase(__RAM_end) - LoadBase(__RAM_start)) <= RAM_LENGTH )
- } ; create a root region after the RAM init ERs for remainder of ROM ERs
- LOAD_REGION_FLASH_JUMP +0 NOCOMPRESS
- {
-
- __flash_readonly +0 FIXED
- {
- ; section.flash.readonly
- *(.flash)
- ; section.flash.code
- *(.flash_code)
- .ANY(+RO-CODE )
- .ANY(+RO-DATA )
- *(.mcuboot_sce9_key)
- *(.version)
- }
-
-
- __init_array_start +0 EMPTY 0 {}
- __flash_init_array +0 FIXED
- {
- *(.init_array.*)
- *(.init_array)
- }
- __init_array_end +0 EMPTY 0 {}
-
-
- __ddsc_FLASH_END AlignExpr(+0, 512) EMPTY 0 {}
- .flash.endof AlignExpr(+0, 512) EMPTY 0
- {
- }
- __FLASH_end +0 EMPTY 0 {}
- SCatterAssert( (LoadBase(__FLASH_end) - LoadBase(__FLASH_start)) <= FLASH_LENGTH )
- }
- LOAD_REGION_OPTION_SETTING_OFS0 OPTION_SETTING_OFS0_START NOCOMPRESS OPTION_SETTING_OFS0_LENGTH
- {
- __OPTION_SETTING_OFS0_start +0 EMPTY 0 {}
- __OPTION_SETTING_OFS0_init +0 EMPTY 0 {}
-
-
- __ddsc_OPTION_SETTING_OFS0_START +0 EMPTY 0 {}
- .option_setting_ofs0.startof +0 EMPTY 0
- {
- }
-
- ; Option Function Select Register 0
- __option_setting_ofs0_reg +0 FIXED
- {
- *(.option_setting_ofs0)
- }
-
-
- __ddsc_OPTION_SETTING_OFS0_END +0 EMPTY 0 {}
- .option_setting_ofs0.endof +0 EMPTY 0
- {
- }
- __OPTION_SETTING_OFS0_end +0 EMPTY 0 {}
- SCatterAssert( (LoadBase(__OPTION_SETTING_OFS0_end) - LoadBase(__OPTION_SETTING_OFS0_start)) <= OPTION_SETTING_OFS0_LENGTH )
- }
- LOAD_REGION_OPTION_SETTING_OFS1 OPTION_SETTING_OFS1_START NOCOMPRESS OPTION_SETTING_OFS1_LENGTH
- {
- __OPTION_SETTING_OFS1_start +0 EMPTY 0 {}
- __OPTION_SETTING_OFS1_init +0 EMPTY 0 {}
-
-
- __ddsc_OPTION_SETTING_OFS1_START +0 EMPTY 0 {}
- .option_setting_ofs1.startof +0 EMPTY 0
- {
- }
-
- ; Option Function Select Register 1
- __option_setting_ofs1_reg +0 FIXED
- {
- *(.option_setting_ofs1)
- }
-
-
- __ddsc_OPTION_SETTING_OFS1_END +0 EMPTY 0 {}
- .option_setting_ofs1.endof +0 EMPTY 0
- {
- }
- __OPTION_SETTING_OFS1_end +0 EMPTY 0 {}
- SCatterAssert( (LoadBase(__OPTION_SETTING_OFS1_end) - LoadBase(__OPTION_SETTING_OFS1_start)) <= OPTION_SETTING_OFS1_LENGTH )
- }
- LOAD_REGION_OPTION_SETTING_SECMPU OPTION_SETTING_SECMPU_START NOCOMPRESS OPTION_SETTING_SECMPU_LENGTH
- {
- __OPTION_SETTING_SECMPU_start +0 EMPTY 0 {}
- __OPTION_SETTING_SECMPU_init +0 EMPTY 0 {}
-
-
- __ddsc_OPTION_SETTING_SECMPU_START +0 EMPTY 0 {}
- .option_setting_secmpu.startof +0 EMPTY 0
- {
- }
-
- ; Security MPU Registers
- __option_setting_secmpu_reg +0 FIXED
- {
- *(.option_setting_secmpu)
- }
-
-
- __ddsc_OPTION_SETTING_SECMPU_END +0 EMPTY 0 {}
- .option_setting_secmpu.endof +0 EMPTY 0
- {
- }
- __OPTION_SETTING_SECMPU_end +0 EMPTY 0 {}
- SCatterAssert( (LoadBase(__OPTION_SETTING_SECMPU_end) - LoadBase(__OPTION_SETTING_SECMPU_start)) <= OPTION_SETTING_SECMPU_LENGTH )
- }
- LOAD_REGION_OPTION_SETTING_OSIS OPTION_SETTING_OSIS_START NOCOMPRESS OPTION_SETTING_OSIS_LENGTH
- {
- __OPTION_SETTING_OSIS_start +0 EMPTY 0 {}
- __OPTION_SETTING_OSIS_init +0 EMPTY 0 {}
-
-
- __ddsc_OPTION_SETTING_OSIS_START +0 EMPTY 0 {}
- .option_setting_osis.startof +0 EMPTY 0
- {
- }
-
- ; OCD/Serial Programmer ID setting register
- __option_setting_osis_reg +0 FIXED
- {
- *(.option_setting_osis)
- }
-
-
- __ddsc_OPTION_SETTING_OSIS_END +0 EMPTY 0 {}
- .option_setting_osis.endof +0 EMPTY 0
- {
- }
- __OPTION_SETTING_OSIS_end +0 EMPTY 0 {}
- SCatterAssert( (LoadBase(__OPTION_SETTING_OSIS_end) - LoadBase(__OPTION_SETTING_OSIS_start)) <= OPTION_SETTING_OSIS_LENGTH )
- }
|