/*###ICF### Section handled by ICF editor, don't touch! ****/ /*-Editor annotation file-*/ /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ /*-Specials-*/ define symbol __ICFEDIT_intvec_start__ = 0x08000000; /*-Memory Regions-*/ /***** FLASH *****/ define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; define symbol __ICFEDIT_region_ROM_end__ = 0x0803EFFF; define symbol __ICFEDIT_region_User_Keys_region_ROM_start__ = 0x0803E500; define symbol __ICFEDIT_region_User_Keys_region_ROM_end__ = 0x0803E7FF; /***** NVM FLASH Data *****/ /* WARNING: Symbols not used. The NVMS address is defined in lora_app.c */ define symbol __ICFEDIT_region_LW_NVM_ROM_start__ = 0x0803F000; define symbol __ICFEDIT_region_LW_NWM_ROM_end__ = 0x0803FFFF; /***** Non-backup SRAM1 *****/ define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; define symbol __ICFEDIT_region_RAM_end__ = 0x20007FFF; /***** NVM RAM Data *****/ define symbol __ICFEDIT_region_LW_NVM_RAM_start__ = 0x20008000; define symbol __ICFEDIT_region_LW_NWM_RAM_end__ = 0x20008FFF; /***** Backup SRAM2 *****/ define symbol __ICFEDIT_region_RAM2_start__ = 0x20009000; define symbol __ICFEDIT_region_RAM2_end__ = 0x2000FFFF; /*-Sizes-*/ define symbol __ICFEDIT_size_cstack__ = 0x800; define symbol __ICFEDIT_size_heap__ = 0x200; /**** End of ICF editor section. ###ICF###*/ define memory mem with size = 4G; define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; define region USER_KEYS_ROM_region = mem:[from __ICFEDIT_region_User_Keys_region_ROM_start__ to __ICFEDIT_region_User_Keys_region_ROM_end__]; define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; define region LW_NVM_RAM_region = mem:[from __ICFEDIT_region_LW_NVM_RAM_start__ to __ICFEDIT_region_LW_NWM_RAM_end__]; define region RAM2_region = mem:[from __ICFEDIT_region_RAM2_start__ to __ICFEDIT_region_RAM2_end__]; define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; initialize by copy { readwrite }; do not initialize { section .noinit }; /* to make sure the binary size is a multiple of the AES block size (16 bytes) */ define root section aes_block_padding with alignment=16 { udata8 "Force Alignment"; pad_to 16; }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly }; place in USER_KEYS_ROM_region { section .USER_embedded_Keys, last section aes_block_padding }; place in RAM_region { readwrite, block CSTACK, block HEAP }; place in LW_NVM_RAM_region { first section .LW_NVM_RAM }; place in LW_NVM_RAM_region { section .LW_NVM_BACKUP_RAM }; place in RAM2_region { };