/* generated memory regions file - do not edit */ define symbol RAM_START = 0x22194000; define symbol RAM_LENGTH = 0x40000; define symbol FLASH_START = 0x020C0000; define symbol FLASH_LENGTH = 0x00040000; define symbol DATA_FLASH_START = 0x27000000; define symbol DATA_FLASH_LENGTH = 0x00000000; define symbol SDRAM_START = 0x68000000; define symbol SDRAM_LENGTH = 0x08000000; define symbol OSPI0_CS0_START = 0x80000000; define symbol OSPI0_CS0_LENGTH = 0x10000000; define symbol OSPI0_CS1_START = 0x90000000; define symbol OSPI0_CS1_LENGTH = 0x10000000; define symbol OSPI1_CS0_START = 0x70000000; define symbol OSPI1_CS0_LENGTH = 0x08000000; define symbol OSPI1_CS1_START = 0x78000000; define symbol OSPI1_CS1_LENGTH = 0x08000000; define symbol OPTION_SETTING_OFS0_START = 0x02c9f040; define symbol OPTION_SETTING_OFS0_LENGTH = 0x00000004; define symbol OPTION_SETTING_OFS2_START = 0x02c9f044; define symbol OPTION_SETTING_OFS2_LENGTH = 0x00000004; define symbol OPTION_SETTING_SAS_START = 0x02c9f074; define symbol OPTION_SETTING_SAS_LENGTH = 0x00000004; define symbol OPTION_SETTING_OFS1_START = 0x12c9f4c0; define symbol OPTION_SETTING_OFS1_LENGTH = 0x00000004; define symbol OPTION_SETTING_OFS1_SEC_START = 0x02c9f0c0; define symbol OPTION_SETTING_OFS1_SEC_LENGTH = 0x00000004; define symbol OPTION_SETTING_OFS1_SEL_START = 0x02c9f120; define symbol OPTION_SETTING_OFS1_SEL_LENGTH = 0x00000004; define symbol OPTION_SETTING_OFS3_START = 0x12c9f4c4; define symbol OPTION_SETTING_OFS3_LENGTH = 0x00000004; define symbol OPTION_SETTING_OFS3_SEC_START = 0x02c9f0c4; define symbol OPTION_SETTING_OFS3_SEC_LENGTH = 0x00000004; define symbol OPTION_SETTING_OFS3_SEL_START = 0x02c9f124; define symbol OPTION_SETTING_OFS3_SEL_LENGTH = 0x00000004; define symbol OPTION_SETTING_BPS_START = 0x12c9f600; define symbol OPTION_SETTING_BPS_LENGTH = 0x00000080; define symbol OPTION_SETTING_BPS_SEC_START = 0x02c9f200; define symbol OPTION_SETTING_BPS_SEC_LENGTH = 0x00000080; define symbol OPTION_SETTING_OTP_PBPS_SEC_START = 0x02e07700; define symbol OPTION_SETTING_OTP_PBPS_SEC_LENGTH = 0x00000080; define symbol OPTION_SETTING_OTP_PBPS_START = 0x12e07780; define symbol OPTION_SETTING_OTP_PBPS_LENGTH = 0x00000080; define symbol CTCM_START = 0x00000000; define symbol CTCM_LENGTH = 0x00010000; define symbol STCM_START = 0x20000000; define symbol STCM_LENGTH = 0x00010000; define region RAM = mem:[from RAM_START size RAM_LENGTH]; define region FLASH = mem:[from FLASH_START size FLASH_LENGTH]; define region DATA_FLASH = mem:[from DATA_FLASH_START size DATA_FLASH_LENGTH]; define region SDRAM = mem:[from SDRAM_START size SDRAM_LENGTH]; define region OSPI0_CS0 = mem:[from OSPI0_CS0_START size OSPI0_CS0_LENGTH]; define region OSPI0_CS1 = mem:[from OSPI0_CS1_START size OSPI0_CS1_LENGTH]; define region OSPI1_CS0 = mem:[from OSPI1_CS0_START size OSPI1_CS0_LENGTH]; define region OSPI1_CS1 = mem:[from OSPI1_CS1_START size OSPI1_CS1_LENGTH]; define region OPTION_SETTING_OFS0 = mem:[from OPTION_SETTING_OFS0_START size OPTION_SETTING_OFS0_LENGTH]; define region OPTION_SETTING_OFS2 = mem:[from OPTION_SETTING_OFS2_START size OPTION_SETTING_OFS2_LENGTH]; define region OPTION_SETTING_SAS = mem:[from OPTION_SETTING_SAS_START size OPTION_SETTING_SAS_LENGTH]; define region OPTION_SETTING_OFS1 = mem:[from OPTION_SETTING_OFS1_START size OPTION_SETTING_OFS1_LENGTH]; define region OPTION_SETTING_OFS1_SEC = mem:[from OPTION_SETTING_OFS1_SEC_START size OPTION_SETTING_OFS1_SEC_LENGTH]; define region OPTION_SETTING_OFS1_SEL = mem:[from OPTION_SETTING_OFS1_SEL_START size OPTION_SETTING_OFS1_SEL_LENGTH]; define region OPTION_SETTING_OFS3 = mem:[from OPTION_SETTING_OFS3_START size OPTION_SETTING_OFS3_LENGTH]; define region OPTION_SETTING_OFS3_SEC = mem:[from OPTION_SETTING_OFS3_SEC_START size OPTION_SETTING_OFS3_SEC_LENGTH]; define region OPTION_SETTING_OFS3_SEL = mem:[from OPTION_SETTING_OFS3_SEL_START size OPTION_SETTING_OFS3_SEL_LENGTH]; define region OPTION_SETTING_BPS = mem:[from OPTION_SETTING_BPS_START size OPTION_SETTING_BPS_LENGTH]; define region OPTION_SETTING_BPS_SEC = mem:[from OPTION_SETTING_BPS_SEC_START size OPTION_SETTING_BPS_SEC_LENGTH]; define region OPTION_SETTING_OTP_PBPS_SEC = mem:[from OPTION_SETTING_OTP_PBPS_SEC_START size OPTION_SETTING_OTP_PBPS_SEC_LENGTH]; define region OPTION_SETTING_OTP_PBPS = mem:[from OPTION_SETTING_OTP_PBPS_START size OPTION_SETTING_OTP_PBPS_LENGTH]; define region CTCM = mem:[from CTCM_START size CTCM_LENGTH]; define region STCM = mem:[from STCM_START size STCM_LENGTH]; /***** OSPI0_CS1 memory section allocations ******/ define section __ddsc_OSPI0_CS1_START {public __ddsc_OSPI0_CS1_START:}; keep {section __ddsc_OSPI0_CS1_START}; define section __ddsc_OSPI0_CS1_END {public __ddsc_OSPI0_CS1_END:}; keep {section __ddsc_OSPI0_CS1_END}; define block ospi0_cs1_BLOCK with fixed order { block .ospi0_cs1.startof with fixed order { block __ddsc_OSPI0_CS1_START {section __ddsc_OSPI0_CS1_START},}, /* sdram initialized from ospi0_cs1 */ block __ospi0_cs1_init_sdram_from_ospi0_cs1 with fixed order { /* section.sdram.from_ospi0_cs1 */ section .sdram_from_ospi0_cs1_init, /* section.sdram.code_from_ospi0_cs1 */ section .sdram_code_from_ospi0_cs1_init}, /* ospi0_cs0 initialized from ospi0_cs1 */ block __ospi0_cs1_init_ospi0_cs0_from_ospi0_cs1 with fixed order { /* section.ospi0_cs0.from_ospi0_cs1 */ section .ospi0_cs0_from_ospi0_cs1_init, /* section.ospi0_cs0.code_from_ospi0_cs1 */ section .ospi0_cs0_code_from_ospi0_cs1_init}, /* ospi1_cs0 initialized from ospi0_cs1 */ block __ospi0_cs1_init_ospi1_cs0_from_ospi0_cs1 with fixed order { /* section.ospi1_cs0.from_ospi0_cs1 */ section .ospi1_cs0_from_ospi0_cs1_init, /* section.ospi1_cs0.code_from_ospi0_cs1 */ section .ospi1_cs0_code_from_ospi0_cs1_init}, /* ctcm initialized from ospi0_cs1 */ block __ospi0_cs1_init_ctcm_from_ospi0_cs1 with fixed order { /* section.ctcm.from_ospi0_cs1 */ section .ctcm_from_ospi0_cs1_init, /* section.ctcm.code_from_ospi0_cs1 */ section .ctcm_code_from_ospi0_cs1_init}, /* stcm initialized from ospi0_cs1 */ block __ospi0_cs1_init_stcm_from_ospi0_cs1 with fixed order { /* section.stcm.from_ospi0_cs1 */ section .stcm_from_ospi0_cs1_init, /* section.stcm.code_from_ospi0_cs1 */ section .stcm_code_from_ospi0_cs1_init}, /* ram initialized from ospi0_cs1 */ block __ospi0_cs1_init_ram_from_ospi0_cs1 with fixed order { /* section.ram.from_ospi0_cs1 */ section .ram_from_ospi0_cs1_init, /* section.ram.code_from_ospi0_cs1 */ section .ram_code_from_ospi0_cs1_init}, block __ospi0_cs1_readonly with fixed order { /* section.ospi0_cs1.readonly */ section .ospi0_cs1, /* section.ospi0_cs1.code */ section .ospi0_cs1_code}, block __ospi0_cs1_noinit with fixed order { /* section.ospi0_cs1.noinit */ section .ospi0_cs1_noinit}, block .ospi0_cs1.endof with alignment = 512, fixed order { block __ddsc_OSPI0_CS1_END {section __ddsc_OSPI0_CS1_END},}, }; place in OSPI0_CS1 { block ospi0_cs1_BLOCK }; /***** OSPI1_CS1 memory section allocations ******/ define section __ddsc_OSPI1_CS1_START {public __ddsc_OSPI1_CS1_START:}; keep {section __ddsc_OSPI1_CS1_START}; define section __ddsc_OSPI1_CS1_END {public __ddsc_OSPI1_CS1_END:}; keep {section __ddsc_OSPI1_CS1_END}; define block ospi1_cs1_BLOCK with fixed order { block .ospi1_cs1.startof with fixed order { block __ddsc_OSPI1_CS1_START {section __ddsc_OSPI1_CS1_START},}, /* sdram initialized from ospi1_cs1 */ block __ospi1_cs1_init_sdram_from_ospi1_cs1 with fixed order { /* section.sdram.from_ospi1_cs1 */ section .sdram_from_ospi1_cs1_init, /* section.sdram.code_from_ospi1_cs1 */ section .sdram_code_from_ospi1_cs1_init}, /* ospi0_cs0 initialized from ospi1_cs1 */ block __ospi1_cs1_init_ospi0_cs0_from_ospi1_cs1 with fixed order { /* section.ospi0_cs0.from_ospi1_cs1 */ section .ospi0_cs0_from_ospi1_cs1_init, /* section.ospi0_cs0.code_from_ospi1_cs1 */ section .ospi0_cs0_code_from_ospi1_cs1_init}, /* ospi1_cs0 initialized from ospi1_cs1 */ block __ospi1_cs1_init_ospi1_cs0_from_ospi1_cs1 with fixed order { /* section.ospi1_cs0.from_ospi1_cs1 */ section .ospi1_cs0_from_ospi1_cs1_init, /* section.ospi1_cs0.code_from_ospi1_cs1 */ section .ospi1_cs0_code_from_ospi1_cs1_init}, /* ctcm initialized from ospi1_cs1 */ block __ospi1_cs1_init_ctcm_from_ospi1_cs1 with fixed order { /* section.ctcm.from_ospi1_cs1 */ section .ctcm_from_ospi1_cs1_init, /* section.ctcm.code_from_ospi1_cs1 */ section .ctcm_code_from_ospi1_cs1_init}, /* stcm initialized from ospi1_cs1 */ block __ospi1_cs1_init_stcm_from_ospi1_cs1 with fixed order { /* section.stcm.from_ospi1_cs1 */ section .stcm_from_ospi1_cs1_init, /* section.stcm.code_from_ospi1_cs1 */ section .stcm_code_from_ospi1_cs1_init}, /* ram initialized from ospi1_cs1 */ block __ospi1_cs1_init_ram_from_ospi1_cs1 with fixed order { /* section.ram.from_ospi1_cs1 */ section .ram_from_ospi1_cs1_init, /* section.ram.code_from_ospi1_cs1 */ section .ram_code_from_ospi1_cs1_init}, block __ospi1_cs1_readonly with fixed order { /* section.ospi1_cs1.readonly */ section .ospi1_cs1, /* section.ospi1_cs1.code */ section .ospi1_cs1_code}, block __ospi1_cs1_noinit with fixed order { /* section.ospi1_cs1.noinit */ section .ospi1_cs1_noinit}, block .ospi1_cs1.endof with alignment = 512, fixed order { block __ddsc_OSPI1_CS1_END {section __ddsc_OSPI1_CS1_END},}, }; place in OSPI1_CS1 { block ospi1_cs1_BLOCK }; /***** SDRAM memory section allocations ******/ define section __ddsc_SDRAM_START {public __ddsc_SDRAM_START:}; keep {section __ddsc_SDRAM_START}; define section __ddsc_SDRAM_END {public __ddsc_SDRAM_END:}; keep {section __ddsc_SDRAM_END}; define block sdram_BLOCK with fixed order { block .sdram.startof with fixed order { block __ddsc_SDRAM_START {section __ddsc_SDRAM_START},}, /* sdram initialized from ospi0_cs1 */ block __sdram_from_ospi0_cs1 with fixed order { /* section.sdram.from_ospi0_cs1 */ section .sdram_from_ospi0_cs1, /* section.sdram.code_from_ospi0_cs1 */ section .sdram_code_from_ospi0_cs1}, /* sdram initialized from ospi1_cs1 */ block __sdram_from_ospi1_cs1 with fixed order { /* section.sdram.from_ospi1_cs1 */ section .sdram_from_ospi1_cs1, /* section.sdram.code_from_ospi1_cs1 */ section .sdram_code_from_ospi1_cs1}, /* sdram initialized from data_flash */ block __sdram_from_data_flash with fixed order { /* section.sdram.from_data_flash */ section .sdram_from_data_flash, /* section.sdram.code_from_data_flash */ section .sdram_code_from_data_flash}, /* sdram initialized from flash */ block __sdram_from_flash with fixed order { /* section.sdram.from_flash */ section .sdram_from_flash, /* section.sdram.code_from_flash */ section .sdram_code_from_flash}, /* Non-initialized, non-cached sdram */ block __sdram_noinit_nocache with alignment = 32, fixed order { /* section.sdram.noinit_nocache */ section .sdram_noinit_nocache}, /* Zeroed, non-cached sdram */ block __sdram_zero_nocache with end alignment = 32, fixed order { /* section.sdram.zero_nocache */ section .sdram_nocache}, /* Non-initialized sdram */ block __sdram_noinit with fixed order { /* section.sdram.noinit */ section .sdram_noinit}, /* Zeroed sdram */ block __sdram_zero with fixed order { /* section.sdram.zero */ section .sdram}, block .sdram.endof with alignment = 512, fixed order { block __ddsc_SDRAM_END {section __ddsc_SDRAM_END},}, }; place in SDRAM { block sdram_BLOCK }; /***** OSPI0_CS0 memory section allocations ******/ define section __ddsc_OSPI0_CS0_START {public __ddsc_OSPI0_CS0_START:}; keep {section __ddsc_OSPI0_CS0_START}; define section __ddsc_OSPI0_CS0_END {public __ddsc_OSPI0_CS0_END:}; keep {section __ddsc_OSPI0_CS0_END}; define block ospi0_cs0_BLOCK with fixed order { block .ospi0_cs0.startof with fixed order { block __ddsc_OSPI0_CS0_START {section __ddsc_OSPI0_CS0_START},}, /* ospi0_cs0 initialized from ospi0_cs1 */ block __ospi0_cs0_from_ospi0_cs1 with fixed order { /* section.ospi0_cs0.from_ospi0_cs1 */ section .ospi0_cs0_from_ospi0_cs1, /* section.ospi0_cs0.code_from_ospi0_cs1 */ section .ospi0_cs0_code_from_ospi0_cs1}, /* ospi0_cs0 initialized from ospi1_cs1 */ block __ospi0_cs0_from_ospi1_cs1 with fixed order { /* section.ospi0_cs0.from_ospi1_cs1 */ section .ospi0_cs0_from_ospi1_cs1, /* section.ospi0_cs0.code_from_ospi1_cs1 */ section .ospi0_cs0_code_from_ospi1_cs1}, /* ospi0_cs0 initialized from data_flash */ block __ospi0_cs0_from_data_flash with fixed order { /* section.ospi0_cs0.from_data_flash */ section .ospi0_cs0_from_data_flash, /* section.ospi0_cs0.code_from_data_flash */ section .ospi0_cs0_code_from_data_flash}, /* ospi0_cs0 initialized from flash */ block __ospi0_cs0_from_flash with fixed order { /* section.ospi0_cs0.from_flash */ section .ospi0_cs0_from_flash, /* section.ospi0_cs0.code_from_flash */ section .ospi0_cs0_code_from_flash}, /* Non-initialized, non-cached ospi0_cs0 */ block __ospi0_cs0_noinit_nocache with alignment = 32, fixed order { /* section.ospi0_cs0.noinit_nocache */ section .ospi0_cs0_noinit_nocache}, /* Zeroed, non-cached ospi0_cs0 */ block __ospi0_cs0_zero_nocache with end alignment = 32, fixed order { /* section.ospi0_cs0.zero_nocache */ section .ospi0_cs0_nocache}, /* Non-initialized ospi0_cs0 */ block __ospi0_cs0_noinit with fixed order { /* section.ospi0_cs0.noinit */ section .ospi0_cs0_noinit}, /* Zeroed ospi0_cs0 */ block __ospi0_cs0_zero with fixed order { /* section.ospi0_cs0.zero */ section .ospi0_cs0}, block .ospi0_cs0.endof with alignment = 512, fixed order { block __ddsc_OSPI0_CS0_END {section __ddsc_OSPI0_CS0_END},}, }; place in OSPI0_CS0 { block ospi0_cs0_BLOCK }; /***** OSPI1_CS0 memory section allocations ******/ define section __ddsc_OSPI1_CS0_START {public __ddsc_OSPI1_CS0_START:}; keep {section __ddsc_OSPI1_CS0_START}; define section __ddsc_OSPI1_CS0_END {public __ddsc_OSPI1_CS0_END:}; keep {section __ddsc_OSPI1_CS0_END}; define block ospi1_cs0_BLOCK with fixed order { block .ospi1_cs0.startof with fixed order { block __ddsc_OSPI1_CS0_START {section __ddsc_OSPI1_CS0_START},}, /* ospi1_cs0 initialized from ospi0_cs1 */ block __ospi1_cs0_from_ospi0_cs1 with fixed order { /* section.ospi1_cs0.from_ospi0_cs1 */ section .ospi1_cs0_from_ospi0_cs1, /* section.ospi1_cs0.code_from_ospi0_cs1 */ section .ospi1_cs0_code_from_ospi0_cs1}, /* ospi1_cs0 initialized from ospi1_cs1 */ block __ospi1_cs0_from_ospi1_cs1 with fixed order { /* section.ospi1_cs0.from_ospi1_cs1 */ section .ospi1_cs0_from_ospi1_cs1, /* section.ospi1_cs0.code_from_ospi1_cs1 */ section .ospi1_cs0_code_from_ospi1_cs1}, /* ospi1_cs0 initialized from data_flash */ block __ospi1_cs0_from_data_flash with fixed order { /* section.ospi1_cs0.from_data_flash */ section .ospi1_cs0_from_data_flash, /* section.ospi1_cs0.code_from_data_flash */ section .ospi1_cs0_code_from_data_flash}, /* ospi1_cs0 initialized from flash */ block __ospi1_cs0_from_flash with fixed order { /* section.ospi1_cs0.from_flash */ section .ospi1_cs0_from_flash, /* section.ospi1_cs0.code_from_flash */ section .ospi1_cs0_code_from_flash}, /* Non-initialized, non-cached ospi1_cs0 */ block __ospi1_cs0_noinit_nocache with alignment = 32, fixed order { /* section.ospi1_cs0.noinit_nocache */ section .ospi1_cs0_noinit_nocache}, /* Zeroed, non-cached ospi1_cs0 */ block __ospi1_cs0_zero_nocache with end alignment = 32, fixed order { /* section.ospi1_cs0.zero_nocache */ section .ospi1_cs0_nocache}, /* Non-initialized ospi1_cs0 */ block __ospi1_cs0_noinit with fixed order { /* section.ospi1_cs0.noinit */ section .ospi1_cs0_noinit}, /* Zeroed ospi1_cs0 */ block __ospi1_cs0_zero with fixed order { /* section.ospi1_cs0.zero */ section .ospi1_cs0}, block .ospi1_cs0.endof with alignment = 512, fixed order { block __ddsc_OSPI1_CS0_END {section __ddsc_OSPI1_CS0_END},}, }; place in OSPI1_CS0 { block ospi1_cs0_BLOCK }; /***** DATA_FLASH memory section allocations ******/ define section __ddsc_DATA_FLASH_START {public __ddsc_DATA_FLASH_START:}; keep {section __ddsc_DATA_FLASH_START}; define section __ddsc_DATA_FLASH_END {public __ddsc_DATA_FLASH_END:}; keep {section __ddsc_DATA_FLASH_END}; define block data_flash_BLOCK with fixed order { block .data_flash.startof with fixed order { block __ddsc_DATA_FLASH_START {section __ddsc_DATA_FLASH_START},}, /* sdram initialized from data_flash */ block __data_flash_init_sdram_from_data_flash with fixed order { /* section.sdram.from_data_flash */ section .sdram_from_data_flash_init, /* section.sdram.code_from_data_flash */ section .sdram_code_from_data_flash_init}, /* ospi0_cs0 initialized from data_flash */ block __data_flash_init_ospi0_cs0_from_data_flash with fixed order { /* section.ospi0_cs0.from_data_flash */ section .ospi0_cs0_from_data_flash_init, /* section.ospi0_cs0.code_from_data_flash */ section .ospi0_cs0_code_from_data_flash_init}, /* ospi1_cs0 initialized from data_flash */ block __data_flash_init_ospi1_cs0_from_data_flash with fixed order { /* section.ospi1_cs0.from_data_flash */ section .ospi1_cs0_from_data_flash_init, /* section.ospi1_cs0.code_from_data_flash */ section .ospi1_cs0_code_from_data_flash_init}, /* ctcm initialized from data_flash */ block __data_flash_init_ctcm_from_data_flash with fixed order { /* section.ctcm.from_data_flash */ section .ctcm_from_data_flash_init, /* section.ctcm.code_from_data_flash */ section .ctcm_code_from_data_flash_init}, /* stcm initialized from data_flash */ block __data_flash_init_stcm_from_data_flash with fixed order { /* section.stcm.from_data_flash */ section .stcm_from_data_flash_init, /* section.stcm.code_from_data_flash */ section .stcm_code_from_data_flash_init}, /* ram initialized from data_flash */ block __data_flash_init_ram_from_data_flash with fixed order { /* section.ram.from_data_flash */ section .ram_from_data_flash_init, /* section.ram.code_from_data_flash */ section .ram_code_from_data_flash_init}, block __data_flash_readonly with fixed order { /* section.data_flash.readonly */ section .data_flash, /* section.data_flash.code */ section .data_flash_code}, block __data_flash_noinit with fixed order { /* section.data_flash.noinit */ section .data_flash_noinit}, block .data_flash.endof with alignment = 1024, fixed order { block __ddsc_DATA_FLASH_END {section __ddsc_DATA_FLASH_END},}, }; place in DATA_FLASH { block data_flash_BLOCK }; /***** CTCM memory section allocations ******/ define section __ddsc_CTCM_START {public __ddsc_CTCM_START:}; keep {section __ddsc_CTCM_START}; define section __ddsc_CTCM_END {public __ddsc_CTCM_END:}; keep {section __ddsc_CTCM_END}; define block ctcm_BLOCK with fixed order { block .ctcm.startof with fixed order { block __ddsc_CTCM_START {section __ddsc_CTCM_START},}, /* ctcm initialized from ospi0_cs1 */ block __ctcm_from_ospi0_cs1 with fixed order { /* section.ctcm.from_ospi0_cs1 */ section .ctcm_from_ospi0_cs1, /* section.ctcm.code_from_ospi0_cs1 */ section .ctcm_code_from_ospi0_cs1}, /* ctcm initialized from ospi1_cs1 */ block __ctcm_from_ospi1_cs1 with fixed order { /* section.ctcm.from_ospi1_cs1 */ section .ctcm_from_ospi1_cs1, /* section.ctcm.code_from_ospi1_cs1 */ section .ctcm_code_from_ospi1_cs1}, /* ctcm initialized from data_flash */ block __ctcm_from_data_flash with fixed order { /* section.ctcm.from_data_flash */ section .ctcm_from_data_flash, /* section.ctcm.code_from_data_flash */ section .ctcm_code_from_data_flash}, /* ctcm initialized from flash */ block __ctcm_from_flash with fixed order { /* section.ctcm.from_flash */ section .ctcm_from_flash, /* section.ctcm.code_from_flash */ section .ctcm_code_from_flash}, /* Non-initialized ctcm */ block __ctcm_noinit with fixed order { /* section.ctcm.noinit */ section .ctcm_noinit}, /* Zeroed ctcm */ block __ctcm_zero with fixed order { /* section.ctcm.zero */ section .ctcm}, block .ctcm.endof with alignment = 8192, fixed order { block __ddsc_CTCM_END {section __ddsc_CTCM_END},}, }; place in CTCM { block ctcm_BLOCK }; /***** STCM memory section allocations ******/ define section __ddsc_STCM_START {public __ddsc_STCM_START:}; keep {section __ddsc_STCM_START}; define section __ddsc_STCM_END {public __ddsc_STCM_END:}; keep {section __ddsc_STCM_END}; define block stcm_BLOCK with fixed order { block .stcm.startof with fixed order { block __ddsc_STCM_START {section __ddsc_STCM_START},}, /* stcm initialized from ospi0_cs1 */ block __stcm_from_ospi0_cs1 with fixed order { /* section.stcm.from_ospi0_cs1 */ section .stcm_from_ospi0_cs1, /* section.stcm.code_from_ospi0_cs1 */ section .stcm_code_from_ospi0_cs1}, /* stcm initialized from ospi1_cs1 */ block __stcm_from_ospi1_cs1 with fixed order { /* section.stcm.from_ospi1_cs1 */ section .stcm_from_ospi1_cs1, /* section.stcm.code_from_ospi1_cs1 */ section .stcm_code_from_ospi1_cs1}, /* stcm initialized from data_flash */ block __stcm_from_data_flash with fixed order { /* section.stcm.from_data_flash */ section .stcm_from_data_flash, /* section.stcm.code_from_data_flash */ section .stcm_code_from_data_flash}, /* stcm initialized from flash */ block __stcm_from_flash with fixed order { /* section.stcm.from_flash */ section .stcm_from_flash, /* section.stcm.code_from_flash */ section .stcm_code_from_flash}, /* Non-initialized stcm */ block __stcm_noinit with fixed order { /* section.stcm.noinit */ section .stcm_noinit}, /* Zeroed stcm */ block __stcm_zero with fixed order { /* section.stcm.zero */ section .stcm}, block .stcm.endof with alignment = 8192, fixed order { block __ddsc_STCM_END {section __ddsc_STCM_END},}, }; place in STCM { block stcm_BLOCK }; /***** FLASH memory section allocations ******/ define section __ddsc_FLASH_START {public __ddsc_FLASH_START:}; keep {section __ddsc_FLASH_START}; define section _VECTORS {public _VECTORS:}; keep {section _VECTORS}; define section __ddsc_FLASH_END {public __ddsc_FLASH_END:}; keep {section __ddsc_FLASH_END}; define section __sau_ddsc_FLASH_NSC {public __sau_ddsc_FLASH_NSC:}; keep {section __sau_ddsc_FLASH_NSC}; define block flash_BLOCK with fixed order { block .flash.startof with fixed order { block __ddsc_FLASH_START {section __ddsc_FLASH_START},}, /* MCU vector table */ block __flash_vectors with fixed order { block _VECTORS {section _VECTORS}, section .fixed_vectors, section .application_vectors}, block __flash_noinit with fixed order { /* section.flash.noinit */ section .flash_noinit}, /* sdram initialized from flash */ block __flash_init_sdram_from_flash with fixed order { /* section.sdram.from_flash */ section .sdram_from_flash_init, /* section.sdram.code_from_flash */ section .sdram_code_from_flash_init}, /* ospi0_cs0 initialized from flash */ block __flash_init_ospi0_cs0_from_flash with fixed order { /* section.ospi0_cs0.from_flash */ section .ospi0_cs0_from_flash_init, /* section.ospi0_cs0.code_from_flash */ section .ospi0_cs0_code_from_flash_init}, /* ospi1_cs0 initialized from flash */ block __flash_init_ospi1_cs0_from_flash with fixed order { /* section.ospi1_cs0.from_flash */ section .ospi1_cs0_from_flash_init, /* section.ospi1_cs0.code_from_flash */ section .ospi1_cs0_code_from_flash_init}, /* ctcm initialized from flash */ block __flash_init_ctcm_from_flash with fixed order { /* section.ctcm.from_flash */ section .ctcm_from_flash_init, /* section.ctcm.code_from_flash */ section .ctcm_code_from_flash_init}, /* stcm initialized from flash */ block __flash_init_stcm_from_flash with fixed order { /* section.stcm.from_flash */ section .stcm_from_flash_init, /* section.stcm.code_from_flash */ section .stcm_code_from_flash_init}, /* ram initialized from flash */ block __flash_init_ram_from_flash with fixed order { /* section.ram.from_flash */ section .ram_from_flash_init, /* section.ram.code_from_flash */ section .ram_code_from_flash_init, section .data*_init, section vtable_init}, block __flash_readonly with fixed order { /* section.flash.readonly */ section .flash, /* section.flash.code */ section .flash_code, ro code , ro data , section .mcuboot_sce9_key, section .version}, block .flash.endof with alignment = 32768, fixed order { block __ddsc_FLASH_END {section __ddsc_FLASH_END},}, block .flash.flat_nsc with alignment = 32768, fixed order { block __sau_ddsc_FLASH_NSC {section __sau_ddsc_FLASH_NSC},}, }; place at start of FLASH { block flash_BLOCK }; /***** RAM memory section allocations ******/ define section __ddsc_RAM_START {public __ddsc_RAM_START:}; keep {section __ddsc_RAM_START}; define section __ddsc_RAM_END {public __ddsc_RAM_END:}; keep {section __ddsc_RAM_END}; define section __sau_ddsc_RAM_NSC {public __sau_ddsc_RAM_NSC:}; keep {section __sau_ddsc_RAM_NSC}; define block ram_BLOCK with fixed order { block .ram.startof with fixed order { block __ddsc_RAM_START {section __ddsc_RAM_START},}, block __ram_dtc_vector with fixed order { section .fsp_dtc_vector_table}, /* ram initialized from ospi0_cs1 */ block __ram_from_ospi0_cs1 with fixed order { /* section.ram.from_ospi0_cs1 */ section .ram_from_ospi0_cs1, /* section.ram.code_from_ospi0_cs1 */ section .ram_code_from_ospi0_cs1}, /* ram initialized from ospi1_cs1 */ block __ram_from_ospi1_cs1 with fixed order { /* section.ram.from_ospi1_cs1 */ section .ram_from_ospi1_cs1, /* section.ram.code_from_ospi1_cs1 */ section .ram_code_from_ospi1_cs1}, /* ram initialized from data_flash */ block __ram_from_data_flash with fixed order { /* section.ram.from_data_flash */ section .ram_from_data_flash, /* section.ram.code_from_data_flash */ section .ram_code_from_data_flash}, /* ram initialized from flash */ block __ram_from_flash with fixed order { /* section.ram.from_flash */ section .ram_from_flash, /* section.ram.code_from_flash */ section .ram_code_from_flash, section .data*, section vtable}, /* Non-initialized, non-cached ram */ block __ram_noinit_nocache with alignment = 32, fixed order { /* section.ram.noinit_nocache */ section .ram_noinit_nocache}, /* Zeroed, non-cached ram */ block __ram_zero_nocache with end alignment = 32, fixed order { /* section.ram.zero_nocache */ section .ram_nocache}, /* Non-initialized ram */ block __ram_noinit with fixed order { /* section.ram.noinit */ block HEAP { section .bss object * symbol g_heap}, section .bss object * symbol g_main_stack, section .ram_noinit, section .noinit}, /* Zeroed ram */ block __ram_zero with fixed order { /* section.ram.zero */ section .ram, zi }, /* Thread Stacks */ block __ram_thread_stack with alignment = 8, fixed order { section .stack?*}, block .ram.endof with alignment = 8192, fixed order { block __ddsc_RAM_END {section __ddsc_RAM_END},}, block .ram.flat_nsc with alignment = 8192, fixed order { block __sau_ddsc_RAM_NSC {section __sau_ddsc_RAM_NSC},}, }; place at start of RAM { block ram_BLOCK }; /***** OPTION_SETTING_OFS0 memory section allocations ******/ define section __ddsc_OPTION_SETTING_OFS0_START {public __ddsc_OPTION_SETTING_OFS0_START:}; keep {section __ddsc_OPTION_SETTING_OFS0_START}; define section __ddsc_OPTION_SETTING_OFS0_END {public __ddsc_OPTION_SETTING_OFS0_END:}; keep {section __ddsc_OPTION_SETTING_OFS0_END}; define block option_setting_ofs0_BLOCK with fixed order { block .option_setting_ofs0.startof with fixed order { block __ddsc_OPTION_SETTING_OFS0_START {section __ddsc_OPTION_SETTING_OFS0_START},}, /* Option Function Select Register 0 */ block __option_setting_ofs0_reg with fixed order { section .option_setting_ofs0}, block .option_setting_ofs0.endof with fixed order { block __ddsc_OPTION_SETTING_OFS0_END {section __ddsc_OPTION_SETTING_OFS0_END},}, }; place in OPTION_SETTING_OFS0 { block option_setting_ofs0_BLOCK }; /***** OPTION_SETTING_OFS2 memory section allocations ******/ define section __ddsc_OPTION_SETTING_OFS2_START {public __ddsc_OPTION_SETTING_OFS2_START:}; keep {section __ddsc_OPTION_SETTING_OFS2_START}; define section __ddsc_OPTION_SETTING_OFS2_END {public __ddsc_OPTION_SETTING_OFS2_END:}; keep {section __ddsc_OPTION_SETTING_OFS2_END}; define block option_setting_ofs2_BLOCK with fixed order { block .option_setting_ofs2.startof with fixed order { block __ddsc_OPTION_SETTING_OFS2_START {section __ddsc_OPTION_SETTING_OFS2_START},}, /* Option Function Select Register 2 */ block __option_setting_ofs2_reg with fixed order { section .option_setting_ofs2}, block .option_setting_ofs2.endof with fixed order { block __ddsc_OPTION_SETTING_OFS2_END {section __ddsc_OPTION_SETTING_OFS2_END},}, }; place in OPTION_SETTING_OFS2 { block option_setting_ofs2_BLOCK }; /***** OPTION_SETTING_SAS memory section allocations ******/ define section __ddsc_OPTION_SETTING_SAS_START {public __ddsc_OPTION_SETTING_SAS_START:}; keep {section __ddsc_OPTION_SETTING_SAS_START}; define section __ddsc_OPTION_SETTING_SAS_END {public __ddsc_OPTION_SETTING_SAS_END:}; keep {section __ddsc_OPTION_SETTING_SAS_END}; define block option_setting_sas_BLOCK with fixed order { block .option_setting_sas.startof with fixed order { block __ddsc_OPTION_SETTING_SAS_START {section __ddsc_OPTION_SETTING_SAS_START},}, /* Startup Area Setting Register */ block __option_setting_sas_reg with fixed order { section .option_setting_sas}, block .option_setting_sas.endof with fixed order { block __ddsc_OPTION_SETTING_SAS_END {section __ddsc_OPTION_SETTING_SAS_END},}, }; place in OPTION_SETTING_SAS { block option_setting_sas_BLOCK }; /***** OPTION_SETTING_OFS1 memory section allocations ******/ define section __ddsc_OPTION_SETTING_OFS1_START {public __ddsc_OPTION_SETTING_OFS1_START:}; keep {section __ddsc_OPTION_SETTING_OFS1_START}; define section __ddsc_OPTION_SETTING_OFS1_END {public __ddsc_OPTION_SETTING_OFS1_END:}; keep {section __ddsc_OPTION_SETTING_OFS1_END}; define block option_setting_ofs1_BLOCK with fixed order { block .option_setting_ofs1.startof with fixed order { block __ddsc_OPTION_SETTING_OFS1_START {section __ddsc_OPTION_SETTING_OFS1_START},}, /* Option Function Select Register 1 */ block __option_setting_ofs1_reg with fixed order { section .option_setting_ofs1}, block .option_setting_ofs1.endof with fixed order { block __ddsc_OPTION_SETTING_OFS1_END {section __ddsc_OPTION_SETTING_OFS1_END},}, }; place in OPTION_SETTING_OFS1 { block option_setting_ofs1_BLOCK }; /***** OPTION_SETTING_OFS1_SEC memory section allocations ******/ define section __ddsc_OPTION_SETTING_OFS1_SEC_START {public __ddsc_OPTION_SETTING_OFS1_SEC_START:}; keep {section __ddsc_OPTION_SETTING_OFS1_SEC_START}; define section __ddsc_OPTION_SETTING_OFS1_SEC_END {public __ddsc_OPTION_SETTING_OFS1_SEC_END:}; keep {section __ddsc_OPTION_SETTING_OFS1_SEC_END}; define block option_setting_ofs1_sec_BLOCK with fixed order { block .option_setting_ofs1_sec.startof with fixed order { block __ddsc_OPTION_SETTING_OFS1_SEC_START {section __ddsc_OPTION_SETTING_OFS1_SEC_START},}, /* Option Function Select Register 1 Secure */ block __option_setting_ofs1_sec_reg with fixed order { section .option_setting_ofs1_sec}, block .option_setting_ofs1_sec.endof with fixed order { block __ddsc_OPTION_SETTING_OFS1_SEC_END {section __ddsc_OPTION_SETTING_OFS1_SEC_END},}, }; place in OPTION_SETTING_OFS1_SEC { block option_setting_ofs1_sec_BLOCK }; /***** OPTION_SETTING_OFS1_SEL memory section allocations ******/ define section __ddsc_OPTION_SETTING_OFS1_SEL_START {public __ddsc_OPTION_SETTING_OFS1_SEL_START:}; keep {section __ddsc_OPTION_SETTING_OFS1_SEL_START}; define section __ddsc_OPTION_SETTING_OFS1_SEL_END {public __ddsc_OPTION_SETTING_OFS1_SEL_END:}; keep {section __ddsc_OPTION_SETTING_OFS1_SEL_END}; define block option_setting_ofs1_sel_BLOCK with fixed order { block .option_setting_ofs1_sel.startof with fixed order { block __ddsc_OPTION_SETTING_OFS1_SEL_START {section __ddsc_OPTION_SETTING_OFS1_SEL_START},}, /* OFS1 Register Select */ block __option_setting_ofs1_sel_reg with fixed order { section .option_setting_ofs1_sel}, block .option_setting_ofs1_sel.endof with fixed order { block __ddsc_OPTION_SETTING_OFS1_SEL_END {section __ddsc_OPTION_SETTING_OFS1_SEL_END},}, }; place in OPTION_SETTING_OFS1_SEL { block option_setting_ofs1_sel_BLOCK }; /***** OPTION_SETTING_OFS3 memory section allocations ******/ define section __ddsc_OPTION_SETTING_OFS3_START {public __ddsc_OPTION_SETTING_OFS3_START:}; keep {section __ddsc_OPTION_SETTING_OFS3_START}; define section __ddsc_OPTION_SETTING_OFS3_END {public __ddsc_OPTION_SETTING_OFS3_END:}; keep {section __ddsc_OPTION_SETTING_OFS3_END}; define block option_setting_ofs3_BLOCK with fixed order { block .option_setting_ofs3.startof with fixed order { block __ddsc_OPTION_SETTING_OFS3_START {section __ddsc_OPTION_SETTING_OFS3_START},}, /* Option Function Select Register 3 */ block __option_setting_ofs3_reg with fixed order { section .option_setting_ofs3}, block .option_setting_ofs3.endof with fixed order { block __ddsc_OPTION_SETTING_OFS3_END {section __ddsc_OPTION_SETTING_OFS3_END},}, }; place in OPTION_SETTING_OFS3 { block option_setting_ofs3_BLOCK }; /***** OPTION_SETTING_OFS3_SEC memory section allocations ******/ define section __ddsc_OPTION_SETTING_OFS3_SEC_START {public __ddsc_OPTION_SETTING_OFS3_SEC_START:}; keep {section __ddsc_OPTION_SETTING_OFS3_SEC_START}; define section __ddsc_OPTION_SETTING_OFS3_SEC_END {public __ddsc_OPTION_SETTING_OFS3_SEC_END:}; keep {section __ddsc_OPTION_SETTING_OFS3_SEC_END}; define block option_setting_ofs3_sec_BLOCK with fixed order { block .option_setting_ofs3_sec.startof with fixed order { block __ddsc_OPTION_SETTING_OFS3_SEC_START {section __ddsc_OPTION_SETTING_OFS3_SEC_START},}, /* Option Function Select Register 3 Secure */ block __option_setting_ofs3_sec_reg with fixed order { section .option_setting_ofs3_sec}, block .option_setting_ofs3_sec.endof with fixed order { block __ddsc_OPTION_SETTING_OFS3_SEC_END {section __ddsc_OPTION_SETTING_OFS3_SEC_END},}, }; place in OPTION_SETTING_OFS3_SEC { block option_setting_ofs3_sec_BLOCK }; /***** OPTION_SETTING_OFS3_SEL memory section allocations ******/ define section __ddsc_OPTION_SETTING_OFS3_SEL_START {public __ddsc_OPTION_SETTING_OFS3_SEL_START:}; keep {section __ddsc_OPTION_SETTING_OFS3_SEL_START}; define section __ddsc_OPTION_SETTING_OFS3_SEL_END {public __ddsc_OPTION_SETTING_OFS3_SEL_END:}; keep {section __ddsc_OPTION_SETTING_OFS3_SEL_END}; define block option_setting_ofs3_sel_BLOCK with fixed order { block .option_setting_ofs3_sel.startof with fixed order { block __ddsc_OPTION_SETTING_OFS3_SEL_START {section __ddsc_OPTION_SETTING_OFS3_SEL_START},}, /* OFS3 Register Select */ block __option_setting_ofs3_sel_reg with fixed order { section .option_setting_ofs3_sel}, block .option_setting_ofs3_sel.endof with fixed order { block __ddsc_OPTION_SETTING_OFS3_SEL_END {section __ddsc_OPTION_SETTING_OFS3_SEL_END},}, }; place in OPTION_SETTING_OFS3_SEL { block option_setting_ofs3_sel_BLOCK }; /***** OPTION_SETTING_BPS memory section allocations ******/ define section __ddsc_OPTION_SETTING_BPS_START {public __ddsc_OPTION_SETTING_BPS_START:}; keep {section __ddsc_OPTION_SETTING_BPS_START}; define section __ddsc_OPTION_SETTING_BPS_END {public __ddsc_OPTION_SETTING_BPS_END:}; keep {section __ddsc_OPTION_SETTING_BPS_END}; define block option_setting_bps_BLOCK with fixed order { block .option_setting_bps.startof with fixed order { block __ddsc_OPTION_SETTING_BPS_START {section __ddsc_OPTION_SETTING_BPS_START},}, /* Block Protect Setting Register */ block __option_setting_bps_reg with fixed order { section .option_setting_bps}, block .option_setting_bps.endof with fixed order { block __ddsc_OPTION_SETTING_BPS_END {section __ddsc_OPTION_SETTING_BPS_END},}, }; place in OPTION_SETTING_BPS { block option_setting_bps_BLOCK }; /***** OPTION_SETTING_BPS_SEC memory section allocations ******/ define section __ddsc_OPTION_SETTING_BPS_SEC_START {public __ddsc_OPTION_SETTING_BPS_SEC_START:}; keep {section __ddsc_OPTION_SETTING_BPS_SEC_START}; define section __ddsc_OPTION_SETTING_BPS_SEC_END {public __ddsc_OPTION_SETTING_BPS_SEC_END:}; keep {section __ddsc_OPTION_SETTING_BPS_SEC_END}; define block option_setting_bps_sec_BLOCK with fixed order { block .option_setting_bps_sec.startof with fixed order { block __ddsc_OPTION_SETTING_BPS_SEC_START {section __ddsc_OPTION_SETTING_BPS_SEC_START},}, /* Block Protect Setting Register Secure */ block __option_setting_bps_sec_reg with fixed order { section .option_setting_bps_sec}, block .option_setting_bps_sec.endof with fixed order { block __ddsc_OPTION_SETTING_BPS_SEC_END {section __ddsc_OPTION_SETTING_BPS_SEC_END},}, }; place in OPTION_SETTING_BPS_SEC { block option_setting_bps_sec_BLOCK }; /***** OPTION_SETTING_OTP_PBPS_SEC memory section allocations ******/ define section __ddsc_OPTION_SETTING_OTP_PBPS_SEC_START {public __ddsc_OPTION_SETTING_OTP_PBPS_SEC_START:}; keep {section __ddsc_OPTION_SETTING_OTP_PBPS_SEC_START}; define section __ddsc_OPTION_SETTING_OTP_PBPS_SEC_END {public __ddsc_OPTION_SETTING_OTP_PBPS_SEC_END:}; keep {section __ddsc_OPTION_SETTING_OTP_PBPS_SEC_END}; define block option_setting_otp_pbps_sec_BLOCK with fixed order { block .option_setting_otp_pbps_sec.startof with fixed order { block __ddsc_OPTION_SETTING_OTP_PBPS_SEC_START {section __ddsc_OPTION_SETTING_OTP_PBPS_SEC_START},}, /* Permanent Block Protect Setting Register Secure */ block __option_setting_otp_pbps_sec_reg with fixed order { section .option_setting_otp_pbps_sec}, block .option_setting_otp_pbps_sec.endof with fixed order { block __ddsc_OPTION_SETTING_OTP_PBPS_SEC_END {section __ddsc_OPTION_SETTING_OTP_PBPS_SEC_END},}, }; place in OPTION_SETTING_OTP_PBPS_SEC { block option_setting_otp_pbps_sec_BLOCK }; /***** OPTION_SETTING_OTP_PBPS memory section allocations ******/ define section __ddsc_OPTION_SETTING_OTP_PBPS_START {public __ddsc_OPTION_SETTING_OTP_PBPS_START:}; keep {section __ddsc_OPTION_SETTING_OTP_PBPS_START}; define section __ddsc_OPTION_SETTING_OTP_PBPS_END {public __ddsc_OPTION_SETTING_OTP_PBPS_END:}; keep {section __ddsc_OPTION_SETTING_OTP_PBPS_END}; define block option_setting_otp_pbps_BLOCK with fixed order { block .option_setting_otp_pbps.startof with fixed order { block __ddsc_OPTION_SETTING_OTP_PBPS_START {section __ddsc_OPTION_SETTING_OTP_PBPS_START},}, /* Permanent Block Protect Setting Register */ block __option_setting_otp_pbps_reg with fixed order { section .option_setting_otp_pbps}, block .option_setting_otp_pbps.endof with fixed order { block __ddsc_OPTION_SETTING_OTP_PBPS_END {section __ddsc_OPTION_SETTING_OTP_PBPS_END},}, }; place in OPTION_SETTING_OTP_PBPS { block option_setting_otp_pbps_BLOCK }; /***** Selectors that must be kept ******/ keep{ section .fixed_vectors, section .application_vectors, section .mcuboot_sce9_key, section .version, section .stack?*, section .option_setting_ofs0, section .option_setting_ofs2, section .option_setting_sas, section .option_setting_ofs1, section .option_setting_ofs1_sec, section .option_setting_ofs1_sel, section .option_setting_ofs3, section .option_setting_ofs3_sec, section .option_setting_ofs3_sel, section .option_setting_bps, section .option_setting_bps_sec, section .option_setting_otp_pbps_sec, section .option_setting_otp_pbps}; /***** FSP handles all initialization ******/ initialize manually with alignment preservation{ /* section.sdram.from_ospi0_cs1 */ section .sdram_from_ospi0_cs1, /* section.sdram.code_from_ospi0_cs1 */ section .sdram_code_from_ospi0_cs1, /* section.sdram.from_ospi1_cs1 */ section .sdram_from_ospi1_cs1, /* section.sdram.code_from_ospi1_cs1 */ section .sdram_code_from_ospi1_cs1, /* section.sdram.from_data_flash */ section .sdram_from_data_flash, /* section.sdram.code_from_data_flash */ section .sdram_code_from_data_flash, /* section.sdram.from_flash */ section .sdram_from_flash, /* section.sdram.code_from_flash */ section .sdram_code_from_flash, /* section.ospi0_cs0.from_ospi0_cs1 */ section .ospi0_cs0_from_ospi0_cs1, /* section.ospi0_cs0.code_from_ospi0_cs1 */ section .ospi0_cs0_code_from_ospi0_cs1, /* section.ospi0_cs0.from_ospi1_cs1 */ section .ospi0_cs0_from_ospi1_cs1, /* section.ospi0_cs0.code_from_ospi1_cs1 */ section .ospi0_cs0_code_from_ospi1_cs1, /* section.ospi0_cs0.from_data_flash */ section .ospi0_cs0_from_data_flash, /* section.ospi0_cs0.code_from_data_flash */ section .ospi0_cs0_code_from_data_flash, /* section.ospi0_cs0.from_flash */ section .ospi0_cs0_from_flash, /* section.ospi0_cs0.code_from_flash */ section .ospi0_cs0_code_from_flash, /* section.ospi1_cs0.from_ospi0_cs1 */ section .ospi1_cs0_from_ospi0_cs1, /* section.ospi1_cs0.code_from_ospi0_cs1 */ section .ospi1_cs0_code_from_ospi0_cs1, /* section.ospi1_cs0.from_ospi1_cs1 */ section .ospi1_cs0_from_ospi1_cs1, /* section.ospi1_cs0.code_from_ospi1_cs1 */ section .ospi1_cs0_code_from_ospi1_cs1, /* section.ospi1_cs0.from_data_flash */ section .ospi1_cs0_from_data_flash, /* section.ospi1_cs0.code_from_data_flash */ section .ospi1_cs0_code_from_data_flash, /* section.ospi1_cs0.from_flash */ section .ospi1_cs0_from_flash, /* section.ospi1_cs0.code_from_flash */ section .ospi1_cs0_code_from_flash, /* section.ctcm.from_ospi0_cs1 */ section .ctcm_from_ospi0_cs1, /* section.ctcm.code_from_ospi0_cs1 */ section .ctcm_code_from_ospi0_cs1, /* section.ctcm.from_ospi1_cs1 */ section .ctcm_from_ospi1_cs1, /* section.ctcm.code_from_ospi1_cs1 */ section .ctcm_code_from_ospi1_cs1, /* section.ctcm.from_data_flash */ section .ctcm_from_data_flash, /* section.ctcm.code_from_data_flash */ section .ctcm_code_from_data_flash, /* section.ctcm.from_flash */ section .ctcm_from_flash, /* section.ctcm.code_from_flash */ section .ctcm_code_from_flash, /* section.stcm.from_ospi0_cs1 */ section .stcm_from_ospi0_cs1, /* section.stcm.code_from_ospi0_cs1 */ section .stcm_code_from_ospi0_cs1, /* section.stcm.from_ospi1_cs1 */ section .stcm_from_ospi1_cs1, /* section.stcm.code_from_ospi1_cs1 */ section .stcm_code_from_ospi1_cs1, /* section.stcm.from_data_flash */ section .stcm_from_data_flash, /* section.stcm.code_from_data_flash */ section .stcm_code_from_data_flash, /* section.stcm.from_flash */ section .stcm_from_flash, /* section.stcm.code_from_flash */ section .stcm_code_from_flash, /* section.ram.from_ospi0_cs1 */ section .ram_from_ospi0_cs1, /* section.ram.code_from_ospi0_cs1 */ section .ram_code_from_ospi0_cs1, /* section.ram.from_ospi1_cs1 */ section .ram_from_ospi1_cs1, /* section.ram.code_from_ospi1_cs1 */ section .ram_code_from_ospi1_cs1, /* section.ram.from_data_flash */ section .ram_from_data_flash, /* section.ram.code_from_data_flash */ section .ram_code_from_data_flash, /* section.ram.from_flash */ section .ram_from_flash, /* section.ram.code_from_flash */ section .ram_code_from_flash, section .data*, section vtable}; do not initialize{zi}; initialize manually with alignment preservation{rw};