<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>MCU Bootloader中的主题 Re: Programming both MCUBOOT and Application on flash</title>
    <link>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859859#M891</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vicent,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; I understand you can't post the project.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; If you don't add the bootloader_config.c , it means your linker file modification have problems.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Now, please modify your problem linker file like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="comment token"&gt;/*###ICF### Section handled by ICF editor, don't touch! ****/&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*-Editor annotation file-*/&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*-Specials-*/&lt;/SPAN&gt;
define symbol __ICFEDIT_intvec_start__ &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x0000A000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*-Memory Regions-*/&lt;/SPAN&gt;
define symbol __ICFEDIT_region_ROM_start__ &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x0000A000&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol __ICFEDIT_region_ROM_end__   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x000FFFFF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol __ICFEDIT_region_RAM_start__ &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFF0000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol __ICFEDIT_region_RAM_end__   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x2002FFF0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*-Sizes-*/&lt;/SPAN&gt;
define symbol __ICFEDIT_size_cstack__ &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol __ICFEDIT_size_heap__   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/**** End of ICF editor section. ###ICF###*/&lt;/SPAN&gt;

define exported symbol __EXTERNAL_MRAM_ROM_BASE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x60000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_MRAM_ROM_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_MRAM_RAM_BASE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x60000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_MRAM_RAM_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00080000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __EXTERNAL_LCD_BASE      &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x60000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_LCD_SIZE      &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFFF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_LCD_DC_BASE   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x60010000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_FLASH_BASE    &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_FLASH_SIZE    &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00100000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_SRAM_BASE     &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFF0000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_SRAM_SIZE     &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00040000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __UNCACHED_DATA_START    &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFF0000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __UNCACHED_DATA_SIZE     &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00020000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __UNCACHED_DATA_END      &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x2000FFF0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __SRAM_POOL              &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFF0000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __INTERNAL_FLEXNVM_BASE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_FLEXNVM_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __VECTOR_TABLE_ROM_START &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x0000A000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __VECTOR_TABLE_RAM_START &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __ICFEDIT_region_RAM_start__&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __DEFAULT_PROCESSOR_NUMBER &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __DEFAULT_INTERRUPT_STACK_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1024&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;/* mem_init writes a storeblock_struct at the end of kernel data, max size 32 bytes, so use 0x100 offset */&lt;/SPAN&gt;
define exported symbol __BOOT_STACK_ADDRESS &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __ICFEDIT_region_RAM_end__ &lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x100&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;


define exported symbol __KERNEL_DATA_END &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __ICFEDIT_region_RAM_end__&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define memory mem with size &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; 4G&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define region ROM_region   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define region RAM_region   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define block KERNEL_DATA with alignment &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;8&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;kernel_data &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __FLASHX_SECT_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __FLASHX_END_ADDR &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __INTERNAL_FLASH_BASE &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; __INTERNAL_FLASH_SIZE&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*
define symbol m_bootloader_config_start = __ICFEDIT_intvec_start__ + 0x3C0;
define symbol m_bootloader_config_end = __ICFEDIT_intvec_start__ + 0x3FF;
define region m_bootloader_config_region = mem:[from m_bootloader_config_start to m_bootloader_config_end];
*/&lt;/SPAN&gt;
define block CFMPROTROM with size &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;20&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;cfmconfig &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define block FLASHX_POOL with alignment &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __FLASHX_SECT_SIZE &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;flashx &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define block TEXTSECTION with alignment &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;4&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;text &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

keep &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;cfmconfig &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
keep &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;flashx &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

initialize by copy &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; readwrite &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;do&lt;/SPAN&gt; not initialize  &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;noinit &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;do&lt;/SPAN&gt; not initialize  &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;kernel_data &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;do&lt;/SPAN&gt; not initialize  &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;flashx &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

place at address mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;__ICFEDIT_intvec_start__ &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; readonly section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;intvec&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; block CFMPROTROM &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
place in m_bootloader_config_region&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;bootloaderconfig &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
place in ROM_region &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; first block TEXTSECTION&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; readonly&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;  last block FLASHX_POOL &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

place at address mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;__ICFEDIT_region_RAM_start__ &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; readwrite section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;vectors_ram &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;/* each block/segment must be in one line (association to region) because I need kernel data start after other datas */&lt;/SPAN&gt;
place in RAM_region   &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; readwrite&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; last block KERNEL_DATA &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;About the BCA area add, you totally can add it in the startup_MK64F12.s&lt;/P&gt;&lt;P&gt;#ifdef BL_HAS_BOOTLOADER_CONFIG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;__bootloaderConfigurationArea ; 0x3c0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'kcfg'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [00:03] tag - Tag value used to validate the bootloader configuration data. Must be set to 'kcfg'.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFFFFFFF&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [04:07] crcStartAddress&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFFFFFFF&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [08:0b] crcByteCount&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFFFFFFF&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [0c:0f] crcExpectedValue&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [10:10] enabledPeripherals&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [11:11] i2cSlaveAddress&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCW&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [12:13] peripheralDetectionTimeoutMs - Timeout in milliseconds for peripheral detection before jumping to application code&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCW&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFFF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [14:15] usbVid&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCW&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFFF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [16:17] usbPid&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFFFFFFF&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [18:1b] usbStringsPointer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [1c:1c] clockFlags - High Speed and other clock options&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [1d:1d] clockDivider - One's complement of clock divider, zero divider is divide by 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCW&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFFF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [1e:1f] reserved&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Fill to align with flash configuration field. &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REPT&amp;nbsp;&amp;nbsp;&amp;nbsp; (0x400-0x3e0)/4&amp;nbsp;&amp;nbsp; ; 0x3E0 - 0x3FF&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFFFFFFF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Reserved for user TRIM value&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ENDR &lt;BR /&gt;#else&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Fill to align with flash configuration field. &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REPT&amp;nbsp;&amp;nbsp;&amp;nbsp; (0x400-0x3c0)/4 ; 0x3c0:0x400&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFFFFFFF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Reserved for user TRIM value&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ENDR&lt;BR /&gt;#endif // BL_HAS_BOOTLOADER_CONFIG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I also attach the .s file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 08 Apr 2019 06:37:54 GMT</pubDate>
    <dc:creator>kerryzhou</dc:creator>
    <dc:date>2019-04-08T06:37:54Z</dc:date>
    <item>
      <title>Programming both MCUBOOT and Application on flash</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859848#M880</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Some background:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Have access to IAR 6,7,and 8&lt;/LI&gt;&lt;LI&gt;Have access to version 2.0.0 and version 2.5.0 of MCBOOT&lt;/LI&gt;&lt;LI&gt;Using a custom microcontroller board with a K64 chip&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;I have began a new project. The goal of this project is to have have MCUBOOT running in the flash memory of a K64 chip. While the bootloader is in the flash I want to have a specialized application running in the background. The intention is to use the bootloader to update and flash the application when needed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Both the application and the bootloader have their own .ICF files to map them out to memory. However, in order to have the application and bootloader co-existing, I would need to modify the .ICF files. The Bootloader would have to exist at address 0x000 of the flash memory and the application would have to exist afterwards.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;To give perspective, this project is functionally similar to how you can flash the led_demo program to address 0x0A000 using the bootloader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Does anyone know what a good starting place is or if there is a way to automatically generate an .ICF file?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Mar 2019 18:19:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859848#M880</guid>
      <dc:creator>vrg6</dc:creator>
      <dc:date>2019-03-27T18:19:43Z</dc:date>
    </item>
    <item>
      <title>Re: Programming both MCUBOOT and Application on flash</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859849#M881</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vincent Garbonick,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Do you want to program the bootloader code and the application code together to the K64?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; You can't mix the bootloader and the application code in one project, but you can generate two .hex file, then find some tool to mix two hex file together.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; So, you can't use only one .icf file for both the bootloader the app project.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; You still need to use two projects, different project have different .icf file.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; From my own opinion, you can download the bootloader to the board at first, then use the bootloader to download your app. This is the normal operation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;Wish it helps you!&lt;/P&gt;&lt;P&gt;If you still have question about it, please kindly let me know.&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Mar 2019 08:47:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859849#M881</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2019-03-28T08:47:26Z</dc:date>
    </item>
    <item>
      <title>Re: Programming both MCUBOOT and Application on flash</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859850#M882</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Kerry!&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;I see what you are saying. I have been able to get the bootloader and the application on the same flash device now by moving the start position of the application down in such a way that it does not overwrite the bootloader. However, the BCA configuration of the application is not recognized by the KinetisFlashTool. Since the BCA start-of-file information is invalid, the application code does not execute properly. Attached is a picture describing what I am saying.&amp;nbsp;&lt;span class="lia-inline-image-display-wrapper" image-alt="BCA-project-data.PNG"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/78052i9A6C3E48075DEC33/image-size/large?v=v2&amp;amp;px=999" role="button" title="BCA-project-data.PNG" alt="BCA-project-data.PNG" /&gt;&lt;/span&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;How would one go about generating proper BCA information for the application so it is recognized by the bootloader and executes properly?&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Mar 2019 15:13:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859850#M882</guid>
      <dc:creator>vrg6</dc:creator>
      <dc:date>2019-03-28T15:13:06Z</dc:date>
    </item>
    <item>
      <title>Re: Programming both MCUBOOT and Application on flash</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859851#M883</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vincent Garbonick,&lt;/P&gt;&lt;P&gt;&amp;nbsp; If you don't modify the BCA area, the application code works ok or not on your side?&lt;/P&gt;&lt;P&gt;&amp;nbsp; Do you mean, just when modify the BCA area, the app function can't work?&lt;/P&gt;&lt;P&gt;This is my test result:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_3.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/79058iFBD5BDA63EC2539E/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_3.png" alt="pastedImage_3.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I just disable CAN module, then generate the app again, the code still works OK.&lt;/P&gt;&lt;P&gt;I also attached my app bin file for your reference.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;Wish it helps you!&lt;/P&gt;&lt;P&gt;If you still have question about it, please kindly let me know.&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Mar 2019 03:36:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859851#M883</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2019-03-29T03:36:10Z</dc:date>
    </item>
    <item>
      <title>Re: Programming both MCUBOOT and Application on flash</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859852#M884</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Kerry!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;What I am saying is that when our application does not have BCA information, the bootloader does not recognize the application and boot into it. We cannot get our application to work with the bootloader since it does not have BCA information programmed into the .bin image file.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;We need to find a way to &lt;STRONG&gt;add&lt;/STRONG&gt; BCA information to our custom project so the bootloader recognizes it.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for everything,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Vincent Garbonick&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Mar 2019 14:09:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859852#M884</guid>
      <dc:creator>vrg6</dc:creator>
      <dc:date>2019-03-29T14:09:08Z</dc:date>
    </item>
    <item>
      <title>Re: Programming both MCUBOOT and Application on flash</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859853#M885</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vincent,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; If your app don't have the BCA, you can generate the .bin file, then use the KinetisFlashTool to add it automatically.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Or you in the app source code, just define the BCA area, and add it.&lt;/P&gt;&lt;P&gt;&amp;nbsp; You also can refer to the KBOOT2.0 k64 APP project:&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://www.nxp.com/webapp/Download?colCode=NXP_KINETIS_BOOTLOADER_2_0_0&amp;amp;appType=license" title="https://www.nxp.com/webapp/Download?colCode=NXP_KINETIS_BOOTLOADER_2_0_0&amp;amp;appType=license"&gt;https://www.nxp.com/webapp/Download?colCode=NXP_KINETIS_BOOTLOADER_2_0_0&amp;amp;appType=license&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Folder: NXP_Kinetis_Bootloader_2_0_0\apps\led_demo\MK64F12&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_2.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/68304i610E416B35FBB33E/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_2.png" alt="pastedImage_2.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wish it helps you!&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 01 Apr 2019 10:27:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859853#M885</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2019-04-01T10:27:33Z</dc:date>
    </item>
    <item>
      <title>Re: Programming both MCUBOOT and Application on flash</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859854#M886</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Kerry! Thank you for all your help so far. I was able to follow the steps as you said, but now I am having trouble properly setting up the linker file in order to accept the bootloader configuration information. I added the bootloader_config.c to my project and changed the start address to 0x000A000. I modified the linker file and have been having errors.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I attached a picture of the error message and the linker file. Thank you for your continued support.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="image.png"&gt;&lt;IMG alt="image.png" src="https://community.nxp.com/t5/image/serverpage/image-id/76026iCD63C80407759244/image-size/large?v=v2&amp;amp;px=999" title="image.png" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="comment token"&gt;/*###ICF### Section handled by ICF editor, don't touch! ****/&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*-Editor annotation file-*/&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*-Specials-*/&lt;/SPAN&gt;
define symbol __ICFEDIT_intvec_start__ &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x0000A000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*-Memory Regions-*/&lt;/SPAN&gt;
define symbol __ICFEDIT_region_ROM_start__ &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000000&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol __ICFEDIT_region_ROM_end__   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x000FFFFF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol __ICFEDIT_region_RAM_start__ &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFF0000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol __ICFEDIT_region_RAM_end__   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x2002FFF0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*-Sizes-*/&lt;/SPAN&gt;
define symbol __ICFEDIT_size_cstack__ &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol __ICFEDIT_size_heap__   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/**** End of ICF editor section. ###ICF###*/&lt;/SPAN&gt;

define exported symbol __EXTERNAL_MRAM_ROM_BASE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x60000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_MRAM_ROM_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_MRAM_RAM_BASE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x60000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_MRAM_RAM_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00080000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __EXTERNAL_LCD_BASE      &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x60000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_LCD_SIZE      &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFFF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_LCD_DC_BASE   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x60010000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_FLASH_BASE    &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_FLASH_SIZE    &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00100000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_SRAM_BASE     &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFF0000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_SRAM_SIZE     &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00040000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __UNCACHED_DATA_START    &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFF0000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __UNCACHED_DATA_SIZE     &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00020000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __UNCACHED_DATA_END      &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x2000FFF0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __SRAM_POOL              &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFF0000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __INTERNAL_FLEXNVM_BASE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_FLEXNVM_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __VECTOR_TABLE_ROM_START &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __VECTOR_TABLE_RAM_START &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __ICFEDIT_region_RAM_start__&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __DEFAULT_PROCESSOR_NUMBER &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __DEFAULT_INTERRUPT_STACK_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1024&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;/* mem_init writes a storeblock_struct at the end of kernel data, max size 32 bytes, so use 0x100 offset */&lt;/SPAN&gt;
define exported symbol __BOOT_STACK_ADDRESS &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __ICFEDIT_region_RAM_end__ &lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x100&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;


define exported symbol __KERNEL_DATA_END &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __ICFEDIT_region_RAM_end__&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define memory mem with size &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; 4G&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define region ROM_region   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define region RAM_region   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define block KERNEL_DATA with alignment &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;8&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;kernel_data &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __FLASHX_SECT_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __FLASHX_END_ADDR &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __INTERNAL_FLASH_BASE &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; __INTERNAL_FLASH_SIZE&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define symbol m_bootloader_config_start &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __ICFEDIT_intvec_start__ &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x3C0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol m_bootloader_config_end &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __ICFEDIT_intvec_start__ &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x3FF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define region m_bootloader_config_region &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;from m_bootloader_config_start to m_bootloader_config_end&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define block CFMPROTROM with size &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;20&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;cfmconfig &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define block FLASHX_POOL with alignment &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __FLASHX_SECT_SIZE &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;flashx &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define block TEXTSECTION with alignment &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;4&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;text &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

keep &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;cfmconfig &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
keep &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;flashx &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

initialize by copy &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; readwrite &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;do&lt;/SPAN&gt; not initialize  &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;noinit &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;do&lt;/SPAN&gt; not initialize  &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;kernel_data &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;do&lt;/SPAN&gt; not initialize  &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;flashx &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

place at address mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;__ICFEDIT_intvec_start__ &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; readonly section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;intvec&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; block CFMPROTROM &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
place in m_bootloader_config_region&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;bootloaderconfig &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
place in ROM_region &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; first block TEXTSECTION&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; readonly&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;  last block FLASHX_POOL &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

place at address mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;__ICFEDIT_region_RAM_start__ &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; readwrite section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;vectors_ram &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;/* each block/segment must be in one line (association to region) because I need kernel data start after other datas */&lt;/SPAN&gt;
place in RAM_region   &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; readwrite&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; last block KERNEL_DATA &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Nov 2020 14:16:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859854#M886</guid>
      <dc:creator>vrg6</dc:creator>
      <dc:date>2020-11-02T14:16:47Z</dc:date>
    </item>
    <item>
      <title>Re: Programming both MCUBOOT and Application on flash</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859855#M887</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vincent,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; What's the code you put in bootloader_config.c ?&lt;/P&gt;&lt;P&gt;&amp;nbsp; Why you define the cstack as 0?&lt;/P&gt;&lt;P&gt;&amp;nbsp; Could you also share the linker file before your modification, and which don't have the build problems?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Apr 2019 03:24:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859855#M887</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2019-04-03T03:24:50Z</dc:date>
    </item>
    <item>
      <title>Re: Programming both MCUBOOT and Application on flash</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859856#M888</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kerry. Thanks again for all the help.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;ORIGINAL LINKER FILE&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="comment token"&gt;/*###ICF### Section handled by ICF editor, don't touch! ****/&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*-Editor annotation file-*/&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*-Specials-*/&lt;/SPAN&gt;
define symbol __ICFEDIT_intvec_start__ &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*-Memory Regions-*/&lt;/SPAN&gt;
define symbol __ICFEDIT_region_ROM_start__ &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000000&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol __ICFEDIT_region_ROM_end__   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x000FFFFF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol __ICFEDIT_region_RAM_start__ &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFF0000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol __ICFEDIT_region_RAM_end__   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x2002FFF0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*-Sizes-*/&lt;/SPAN&gt;
define symbol __ICFEDIT_size_cstack__ &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol __ICFEDIT_size_heap__   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/**** End of ICF editor section. ###ICF###*/&lt;/SPAN&gt;
define exported symbol __EXTERNAL_MRAM_ROM_BASE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x60000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_MRAM_ROM_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_MRAM_RAM_BASE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x60000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_MRAM_RAM_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00080000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_LCD_BASE      &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x60000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_LCD_SIZE      &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFFF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_LCD_DC_BASE   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x60010000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_FLASH_BASE    &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_FLASH_SIZE    &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00100000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_SRAM_BASE     &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFF0000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_SRAM_SIZE     &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00040000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __UNCACHED_DATA_START    &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFF0000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __UNCACHED_DATA_SIZE     &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00020000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __UNCACHED_DATA_END      &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x2000FFF0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __SRAM_POOL              &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFF0000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_FLEXNVM_BASE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_FLEXNVM_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __VECTOR_TABLE_ROM_START &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __VECTOR_TABLE_RAM_START &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __ICFEDIT_region_RAM_start__&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __DEFAULT_PROCESSOR_NUMBER &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __DEFAULT_INTERRUPT_STACK_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1024&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/* mem_init writes a storeblock_struct at the end of kernel data, max size 32 bytes, so use 0x100 offset */&lt;/SPAN&gt;
define exported symbol __BOOT_STACK_ADDRESS &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __ICFEDIT_region_RAM_end__ &lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x100&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __KERNEL_DATA_END &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __ICFEDIT_region_RAM_end__&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define memory mem with size &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; 4G&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define region ROM_region   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define region RAM_region   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define block KERNEL_DATA with alignment &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;8&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;kernel_data &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __FLASHX_SECT_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __FLASHX_END_ADDR &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __INTERNAL_FLASH_BASE &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; __INTERNAL_FLASH_SIZE&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define block CFMPROTROM with size &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;20&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;cfmconfig &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define block FLASHX_POOL with alignment &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __FLASHX_SECT_SIZE &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;flashx &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define block TEXTSECTION with alignment &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;4&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;text &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
keep &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;cfmconfig &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
keep &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;flashx &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
initialize by copy &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; readwrite &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;do&lt;/SPAN&gt; not initialize  &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;noinit &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;do&lt;/SPAN&gt; not initialize  &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;kernel_data &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;do&lt;/SPAN&gt; not initialize  &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;flashx &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
place at address mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;__ICFEDIT_intvec_start__ &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; readonly section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;intvec&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; block CFMPROTROM &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
place in ROM_region &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; first block TEXTSECTION&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; readonly&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;  last block FLASHX_POOL &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
place at address mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;__ICFEDIT_region_RAM_start__ &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; readwrite section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;vectors_ram &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/* each block/segment must be in one line (association to region) because I need kernel data start after other datas */&lt;/SPAN&gt;
place in RAM_region   &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; readwrite&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; last block KERNEL_DATA &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;BOOTLOADER_CONFIG.C&lt;/STRONG&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="comment token"&gt;/*
* Copyright (c) 2013 - 15, Freescale Semiconductor, Inc.
* All rights reserved
*
* Redistribution and use in source and binary forms, with or without modification,
*are permitted provided that the following conditions are met :
*
* o Redistributions of source code must retain the above copyright notice, this list
*   of conditions and the following disclaimer.
*
* o Redistributions in binary form must reproduce the above copyright notice, this
*   list of conditions and the following disclaimer in the documentation and / or
*   other materials provided with the distribution.
*
* o Neither the name of Freescale Semiconductor, Inc. nor the names of its
*   contributors may be used to endorse or promote products derived from this
*   software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED.IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
*LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;/*!
* @brief Device specific configuration file for Kinetis bootloader
*
* Provides a bootloader configuration structure and a global variable that
* contains
* the system bootloader configuration data.
*/&lt;/SPAN&gt;

&lt;SPAN class="property macro token"&gt;#include &lt;SPAN class="string token"&gt;&amp;lt;stdint.h&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;/*!
* @brief Defines the structure to set the Bootloader Configuration Area
*
* This type of variable is used to set the Bootloader Configuration Area
* of the chip.
*
* Warning: some configuration may not work on the devices that donot support 
* corresponding feature.
*/&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;typedef&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;struct&lt;/SPAN&gt; BootloaderConfiguration
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
    uint32_t tag&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; [00:03] Magic number to verify bootloader configuration is&lt;/SPAN&gt;
                  &lt;SPAN class="comment token"&gt;//! valid. Must be set to 'kcfg'.&lt;/SPAN&gt;
    uint32_t crcStartAddress&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; [04:07] Start address for application image CRC&lt;/SPAN&gt;
                              &lt;SPAN class="comment token"&gt;//! check. If the bits are all set then Kinetis&lt;/SPAN&gt;
                              &lt;SPAN class="comment token"&gt;//! bootloader by default will not perform any CRC &lt;/SPAN&gt;
                              &lt;SPAN class="comment token"&gt;//! check.&lt;/SPAN&gt;
    uint32_t crcByteCount&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; [08:0b] Byte count for application image CRC&lt;/SPAN&gt;
                           &lt;SPAN class="comment token"&gt;//! check. If the bits are all set then Kinetis&lt;/SPAN&gt;
                           &lt;SPAN class="comment token"&gt;//! bootloader by default will not prform any CRC check.&lt;/SPAN&gt;
    uint32_t crcExpectedValue&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; [0c:0f] Expected CRC value for application CRC&lt;/SPAN&gt;
                               &lt;SPAN class="comment token"&gt;//! check. If the bits are all set then Kinetis&lt;/SPAN&gt;
                               &lt;SPAN class="comment token"&gt;//! bootloader by default will not perform any CRC&lt;/SPAN&gt;
                               &lt;SPAN class="comment token"&gt;//! check.&lt;/SPAN&gt;
    uint8_t enabledPeripherals&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; [10:10] Bitfield of peripherals to enable.&lt;/SPAN&gt;
                                &lt;SPAN class="comment token"&gt;//! bit 0 - LPUART, bit 1 - I2C, bit 2 - SPI,&lt;/SPAN&gt;
                                &lt;SPAN class="comment token"&gt;//! bit 3 - CAN, bit 4 - USB&lt;/SPAN&gt;
                                &lt;SPAN class="comment token"&gt;//! Kinetis bootloader will enable the peripheral if&lt;/SPAN&gt;
                                &lt;SPAN class="comment token"&gt;//! corresponding bit is set to 1.&lt;/SPAN&gt;
    uint8_t i2cSlaveAddress&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; [11:11] If not 0xFF, used as the 7-bit I2C slave&lt;/SPAN&gt;
                             &lt;SPAN class="comment token"&gt;//! address. If 0xFF, defaults to 0x10&lt;/SPAN&gt;
                             &lt;SPAN class="comment token"&gt;//! for I2C slave address.&lt;/SPAN&gt;
    uint16_t peripheralDetectionTimeoutMs&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; [12:13] Timeout in milliseconds&lt;/SPAN&gt;
                                           &lt;SPAN class="comment token"&gt;//! for active peripheral detection. If&lt;/SPAN&gt;
                                           &lt;SPAN class="comment token"&gt;//! 0xFFFF, defaults to 5 seconds.&lt;/SPAN&gt;
    uint16_t usbVid&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; [14:15] Sets the USB Vendor ID reported by the device&lt;/SPAN&gt;
                     &lt;SPAN class="comment token"&gt;//! during enumeration. If 0xFFFF, it defaults to 0x15A2.&lt;/SPAN&gt;
    uint16_t usbPid&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; [16:17] Sets the USB Product ID reported by the device&lt;/SPAN&gt;
                     &lt;SPAN class="comment token"&gt;//! during enumeration.&lt;/SPAN&gt;
    uint32_t usbStringsPointer&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; [18:1b] Sets the USB Strings reported by the&lt;/SPAN&gt;
                                &lt;SPAN class="comment token"&gt;//! device during enumeration.&lt;/SPAN&gt;
    uint8_t clockFlags&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; [1c:1c] The flags in the clockFlags configuration&lt;/SPAN&gt;
                        &lt;SPAN class="comment token"&gt;//! field are enabled if the corresponding bit is cleared (0).&lt;/SPAN&gt;
                        &lt;SPAN class="comment token"&gt;//! bit 0 - HighSpeed Enable high speed mode (i.e., 48 MHz).&lt;/SPAN&gt;
    uint8_t clockDivider&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; [1d:1d] Inverted value of the divider to use for&lt;/SPAN&gt;
                          &lt;SPAN class="comment token"&gt;//! core and bus clocks when in high speed mode.&lt;/SPAN&gt;
    uint8_t bootFlags&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; [1e:1e] If bit 0 is cleared, then Kinetis bootloader&lt;/SPAN&gt;
                       &lt;SPAN class="comment token"&gt;//! will jump to either Quad SPI Flash or internal flash&lt;/SPAN&gt;
                       &lt;SPAN class="comment token"&gt;//! image depending on FOPT BOOTSRC_SEL bits.&lt;/SPAN&gt;
                       &lt;SPAN class="comment token"&gt;//! If the bit is set, then Kinetis bootloader will prepare&lt;/SPAN&gt;
                       &lt;SPAN class="comment token"&gt;//! for host communication over serial peripherals.&lt;/SPAN&gt;
    uint8_t pad0&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; [1f:1f] Reserved, set to 0xFF&lt;/SPAN&gt;
    uint32_t mmcauConfigPointer&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; [20:23] A pointer to the MMCAU configuration&lt;/SPAN&gt;
                                 &lt;SPAN class="comment token"&gt;//! structure in memory.&lt;/SPAN&gt;
    uint32_t keyBlobPointer&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; [24:27]Holds a pointer value to the key blob&lt;/SPAN&gt;
                             &lt;SPAN class="comment token"&gt;//! array used to configure OTFAD&lt;/SPAN&gt;
    uint8_t pad1&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; [28:28] reserved&lt;/SPAN&gt;
    uint8_t canConfig1&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; [29:29] ClkSel[1], PropSeg[3], SpeedIndex[4]&lt;/SPAN&gt;
    uint16_t canConfig2&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; [2a:2b] Pdiv[8], Pseg1[3], Pseg2[3],  rjw[2]&lt;/SPAN&gt;
    uint16_t canTxId&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; [2c:2d] txId&lt;/SPAN&gt;
    uint16_t canRxId&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; [2e:2f] rxId&lt;/SPAN&gt;
    uint32_t qspi_config_block_pointer&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; [30:33] A pointer to the QSPI config&lt;/SPAN&gt;
                                        &lt;SPAN class="comment token"&gt;//! block in internal flash array.&lt;/SPAN&gt;
    uint32_t reserved&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;3&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt;[34:3f] reserved&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt; bootloader_config_t&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;/*
* Warning: To enable bootloader configuration, User still needs two extra steps :
*
*   Step1 : Enable BOOTLOADER_CONFIG.
*   Example : #define BOOTLOADER_CONFIG 1
*
*   Step2 : Add configuration of the section "BootloaderConfig" to your
*   linker configuration file.
*   Example(IAR) :
*       define symbol __application_startaddress = 0; // User-defined
*       define symbol m_bootloader_config_start = __application_startaddress + 0x3C0;
*       define symbol m_bootloader_config_end = __application_startaddress + 0x3FF;
*       define region m_bootloader_config_region = mem:[from m_bootloader_config_start to m_bootloader_config_end];
*       place in m_bootloader_config_region{ section BootloaderConfig };
*
*   Example(Keil) :
*       #define __application_startaddress = 0 // User-defined
*       #define m_bootloader_config_start      __application_startaddress + 0x3C0
*       #define m_bootloader_config_size       0x00000040
*
*       LR_m_bootloader_config m_bootloader_config_start m_bootloader_config_size{
*         ER_m_bootloader_config m_bootloader_config_start m_bootloader_config_size{ ; load address = execution address
*           * (BootloaderConfig)
*         }
*       }
*
*   Example(ARM - GCC) :
*       MEMORY
*       {
*           m_bootloader_config(RX) : ORIGIN = 0x000003C0, LENGTH = 0x00000040
*       }
*       .bootloader_config :
*       {
*           . = ALIGN(4);
*           KEEP(*(.BootloaderConfig)) // Bootloader Configuration Area (BCA)
*           . = ALIGN(4);
*       } &amp;gt; m_bootloader_config
*
*/&lt;/SPAN&gt;

&lt;SPAN class="property macro token"&gt;#ifdef BOOTLOADER_CONFIG&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/* Bootlader configuration area */&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#if defined(__IAR_SYSTEMS_ICC__)&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/* Pragma to place the Bootloader Configuration Array on correct location
* defined in linker file. */&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#pragma language = extended&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#pragma location = "BootloaderConfig"&lt;/SPAN&gt;
__root &lt;SPAN class="keyword token"&gt;const&lt;/SPAN&gt; bootloader_config_t BootloaderConfig @&lt;SPAN class="string token"&gt;"BootloaderConfig"&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#elif defined(__GNUC__)&lt;/SPAN&gt;
&lt;SPAN class="token function"&gt;__attribute__&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;section&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;".BootloaderConfig"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;const&lt;/SPAN&gt; bootloader_config_t BootloaderConfig &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#elif defined(__CC_ARM)&lt;/SPAN&gt;
&lt;SPAN class="token function"&gt;__attribute__&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;section&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="string token"&gt;"BootloaderConfig"&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;const&lt;/SPAN&gt; bootloader_config_t BootloaderConfig &lt;SPAN class="token function"&gt;__attribute__&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;used&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#else&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#error Unsupported compiler!&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#endif&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;tag &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x6766636B&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; Magic Number&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;crcStartAddress &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0xFFFFFFFF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; Disable CRC check&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;crcByteCount &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0xFFFFFFFF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; Disable CRC check&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;crcExpectedValue &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0xFFFFFFFF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; Disable CRC check&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;enabledPeripherals &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0xE7&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; Enabled Peripheral: UART I2C SPI &lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;i2cSlaveAddress &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0xD5&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; Use user-defined I2C address&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;peripheralDetectionTimeoutMs &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1388&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; Use user-defined timeout(ms)&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;usbVid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0xFFFF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; Use default Vendor ID(0x15A2)&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;usbPid &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0xFFFF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; Use default Product ID(0x0073)&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;usbStringsPointer &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0xFFFFFFFF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; Use default USB String&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;clockFlags &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0xFF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; Disable High speed mode&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;clockDivider &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0xFF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; Use clock divider(0)&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;bootFlags &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0xFE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; Enable direct boot&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;mmcauConfigPointer &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x0009D5A1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; MMCAU configuration is available&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;keyBlobPointer &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x0009D5A1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; Key blob is available&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;canConfig1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0xFF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; Use default canConfig1&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;canConfig2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0xFFFF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; Use default canConfig2&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;canTxId &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0xFFFF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; Use default CAN TX ID(0x123)&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;canRxId &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0xFFFF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; Use default CAN RX ID(0x321)&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;qspi_config_block_pointer &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x0009D5A1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;//!&amp;lt; QSPI configuration is available&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#endif&lt;/SPAN&gt;
&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I do not know why I set cstack to zero.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; Vincent&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Apr 2019 21:01:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859856#M888</guid>
      <dc:creator>vrg6</dc:creator>
      <dc:date>2019-04-03T21:01:25Z</dc:date>
    </item>
    <item>
      <title>Re: Programming both MCUBOOT and Application on flash</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859857#M889</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vincent,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; If you don't add the bootloader_config.c , and relocate your code to 0xa000, do you have the build linker errors?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; If you are convenient, you can share me your project which can reproduce the problem. You can deleted all the important code to you, just leave the project which can reproduce the problem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Apr 2019 01:16:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859857#M889</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2019-04-04T01:16:33Z</dc:date>
    </item>
    <item>
      <title>Re: Programming both MCUBOOT and Application on flash</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859858#M890</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Kerry,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;I am not able to post the full project because it is proprietary in nature at the moment.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;When the bootloader_config.c code is not included, the code still gives the same error, which leads me to believe is is an issue with the linker file.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Apr 2019 14:53:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859858#M890</guid>
      <dc:creator>vrg6</dc:creator>
      <dc:date>2019-04-04T14:53:39Z</dc:date>
    </item>
    <item>
      <title>Re: Programming both MCUBOOT and Application on flash</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859859#M891</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vicent,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; I understand you can't post the project.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; If you don't add the bootloader_config.c , it means your linker file modification have problems.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Now, please modify your problem linker file like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="comment token"&gt;/*###ICF### Section handled by ICF editor, don't touch! ****/&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*-Editor annotation file-*/&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*-Specials-*/&lt;/SPAN&gt;
define symbol __ICFEDIT_intvec_start__ &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x0000A000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*-Memory Regions-*/&lt;/SPAN&gt;
define symbol __ICFEDIT_region_ROM_start__ &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x0000A000&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol __ICFEDIT_region_ROM_end__   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x000FFFFF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol __ICFEDIT_region_RAM_start__ &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFF0000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol __ICFEDIT_region_RAM_end__   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x2002FFF0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*-Sizes-*/&lt;/SPAN&gt;
define symbol __ICFEDIT_size_cstack__ &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol __ICFEDIT_size_heap__   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/**** End of ICF editor section. ###ICF###*/&lt;/SPAN&gt;

define exported symbol __EXTERNAL_MRAM_ROM_BASE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x60000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_MRAM_ROM_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_MRAM_RAM_BASE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x60000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_MRAM_RAM_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00080000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __EXTERNAL_LCD_BASE      &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x60000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_LCD_SIZE      &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFFF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_LCD_DC_BASE   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x60010000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_FLASH_BASE    &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_FLASH_SIZE    &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00100000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_SRAM_BASE     &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFF0000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_SRAM_SIZE     &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00040000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __UNCACHED_DATA_START    &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFF0000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __UNCACHED_DATA_SIZE     &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00020000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __UNCACHED_DATA_END      &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x2000FFF0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __SRAM_POOL              &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFF0000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __INTERNAL_FLEXNVM_BASE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_FLEXNVM_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __VECTOR_TABLE_ROM_START &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x0000A000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __VECTOR_TABLE_RAM_START &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __ICFEDIT_region_RAM_start__&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __DEFAULT_PROCESSOR_NUMBER &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __DEFAULT_INTERRUPT_STACK_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1024&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;/* mem_init writes a storeblock_struct at the end of kernel data, max size 32 bytes, so use 0x100 offset */&lt;/SPAN&gt;
define exported symbol __BOOT_STACK_ADDRESS &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __ICFEDIT_region_RAM_end__ &lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x100&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;


define exported symbol __KERNEL_DATA_END &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __ICFEDIT_region_RAM_end__&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define memory mem with size &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; 4G&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define region ROM_region   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define region RAM_region   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define block KERNEL_DATA with alignment &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;8&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;kernel_data &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __FLASHX_SECT_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __FLASHX_END_ADDR &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __INTERNAL_FLASH_BASE &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; __INTERNAL_FLASH_SIZE&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*
define symbol m_bootloader_config_start = __ICFEDIT_intvec_start__ + 0x3C0;
define symbol m_bootloader_config_end = __ICFEDIT_intvec_start__ + 0x3FF;
define region m_bootloader_config_region = mem:[from m_bootloader_config_start to m_bootloader_config_end];
*/&lt;/SPAN&gt;
define block CFMPROTROM with size &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;20&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;cfmconfig &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define block FLASHX_POOL with alignment &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __FLASHX_SECT_SIZE &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;flashx &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define block TEXTSECTION with alignment &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;4&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;text &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

keep &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;cfmconfig &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
keep &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;flashx &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

initialize by copy &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; readwrite &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;do&lt;/SPAN&gt; not initialize  &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;noinit &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;do&lt;/SPAN&gt; not initialize  &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;kernel_data &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;do&lt;/SPAN&gt; not initialize  &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;flashx &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

place at address mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;__ICFEDIT_intvec_start__ &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; readonly section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;intvec&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; block CFMPROTROM &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
place in m_bootloader_config_region&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;bootloaderconfig &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
place in ROM_region &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; first block TEXTSECTION&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; readonly&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;  last block FLASHX_POOL &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

place at address mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;__ICFEDIT_region_RAM_start__ &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; readwrite section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;vectors_ram &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;/* each block/segment must be in one line (association to region) because I need kernel data start after other datas */&lt;/SPAN&gt;
place in RAM_region   &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; readwrite&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; last block KERNEL_DATA &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;About the BCA area add, you totally can add it in the startup_MK64F12.s&lt;/P&gt;&lt;P&gt;#ifdef BL_HAS_BOOTLOADER_CONFIG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;__bootloaderConfigurationArea ; 0x3c0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'kcfg'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [00:03] tag - Tag value used to validate the bootloader configuration data. Must be set to 'kcfg'.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFFFFFFF&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [04:07] crcStartAddress&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFFFFFFF&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [08:0b] crcByteCount&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFFFFFFF&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [0c:0f] crcExpectedValue&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [10:10] enabledPeripherals&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [11:11] i2cSlaveAddress&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCW&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [12:13] peripheralDetectionTimeoutMs - Timeout in milliseconds for peripheral detection before jumping to application code&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCW&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFFF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [14:15] usbVid&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCW&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFFF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [16:17] usbPid&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFFFFFFF&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [18:1b] usbStringsPointer&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [1c:1c] clockFlags - High Speed and other clock options&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [1d:1d] clockDivider - One's complement of clock divider, zero divider is divide by 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCW&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFFF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; [1e:1f] reserved&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Fill to align with flash configuration field. &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REPT&amp;nbsp;&amp;nbsp;&amp;nbsp; (0x400-0x3e0)/4&amp;nbsp;&amp;nbsp; ; 0x3E0 - 0x3FF&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFFFFFFF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Reserved for user TRIM value&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ENDR &lt;BR /&gt;#else&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Fill to align with flash configuration field. &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REPT&amp;nbsp;&amp;nbsp;&amp;nbsp; (0x400-0x3c0)/4 ; 0x3c0:0x400&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DCD&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFFFFFFFF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; Reserved for user TRIM value&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ENDR&lt;BR /&gt;#endif // BL_HAS_BOOTLOADER_CONFIG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I also attach the .s file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Apr 2019 06:37:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859859#M891</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2019-04-08T06:37:54Z</dc:date>
    </item>
    <item>
      <title>Re: Programming both MCUBOOT and Application on flash</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859860#M892</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Kerry,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The startup.s code was already in the bootloader project. That is not the issue however. The BCA area is defined in the linker file and the bootloader_config.c file is included in the application project. When I check the map file, the issue becomes apparent. The BCA information should be placed right after .intvec start, but instead it is appearing at an improper address (0x000bf5f8).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have tried explicitly telling the linker file where to place the application code to no avail. Attached are images of the map file and the linker file used. The red boxed area is where the BCA area SHOULD be. The second photo is where the bootloader_config.c is ACTUALLY showing up.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;IMG alt="pastedImage_1.png" src="https://community.nxp.com/t5/image/serverpage/image-id/73028i12E7F83CC4B85601/image-size/large?v=v2&amp;amp;px=999" title="pastedImage_1.png" /&gt;&lt;/SPAN&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="pastedImage_2.png"&gt;&lt;IMG alt="pastedImage_2.png" src="https://community.nxp.com/t5/image/serverpage/image-id/73069i4CC2AD99EBF23164/image-size/large?v=v2&amp;amp;px=999" title="pastedImage_2.png" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="comment token"&gt;/*###ICF### Section handled by ICF editor, don't touch! ****/&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*-Editor annotation file-*/&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*-Specials-*/&lt;/SPAN&gt;
define symbol __ICFEDIT_intvec_start__ &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x0000A000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*-Memory Regions-*/&lt;/SPAN&gt;
define symbol __ICFEDIT_region_ROM_start__ &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x0000A000&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol __ICFEDIT_region_ROM_end__   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x000FFFFF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol __ICFEDIT_region_RAM_start__ &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFF0000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol __ICFEDIT_region_RAM_end__   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x2002FFF0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*-Sizes-*/&lt;/SPAN&gt;
define symbol __ICFEDIT_size_cstack__ &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol __ICFEDIT_size_heap__   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/**** End of ICF editor section. ###ICF###*/&lt;/SPAN&gt;

define exported symbol __EXTERNAL_MRAM_ROM_BASE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x60000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_MRAM_ROM_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x0000A000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_MRAM_RAM_BASE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x60000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_MRAM_RAM_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00080000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __EXTERNAL_LCD_BASE      &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x60000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_LCD_SIZE      &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFFF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_LCD_DC_BASE   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x60010000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_FLASH_BASE    &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x0000A000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_FLASH_SIZE    &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00100000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_SRAM_BASE     &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFF0000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_SRAM_SIZE     &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00040000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __UNCACHED_DATA_START    &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFF0000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __UNCACHED_DATA_SIZE     &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00020000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __UNCACHED_DATA_END      &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x2000FFF0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __SRAM_POOL              &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFF0000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __INTERNAL_FLEXNVM_BASE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_FLEXNVM_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __VECTOR_TABLE_ROM_START &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x0000A000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __VECTOR_TABLE_RAM_START &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __ICFEDIT_region_RAM_start__&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __DEFAULT_PROCESSOR_NUMBER &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __DEFAULT_INTERRUPT_STACK_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1024&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;/* mem_init writes a storeblock_struct at the end of kernel data, max size 32 bytes, so use 0x100 offset */&lt;/SPAN&gt;
define exported symbol __BOOT_STACK_ADDRESS &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __ICFEDIT_region_RAM_end__ &lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x100&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;


define exported symbol __KERNEL_DATA_END &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __ICFEDIT_region_RAM_end__&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define memory mem with size &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; 4G&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define region ROM_region   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define region RAM_region   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define block KERNEL_DATA with alignment &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;8&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;kernel_data &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __FLASHX_SECT_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __FLASHX_END_ADDR &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __INTERNAL_FLASH_BASE &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; __INTERNAL_FLASH_SIZE&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define symbol m_bootloader_config_start &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __ICFEDIT_intvec_start__ &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x3C0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol m_bootloader_config_end &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __ICFEDIT_intvec_start__ &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x3FF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define region m_bootloader_config_region &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;from m_bootloader_config_start to m_bootloader_config_end&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define block CFMPROTROM with size &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;20&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;cfmconfig &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define block FLASHX_POOL with alignment &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __FLASHX_SECT_SIZE &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;flashx &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define block TEXTSECTION with alignment &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;4&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;text &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

keep &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;cfmconfig &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
keep &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;flashx &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

initialize by copy &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; readwrite &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;do&lt;/SPAN&gt; not initialize  &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;noinit &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;do&lt;/SPAN&gt; not initialize  &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;kernel_data &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;do&lt;/SPAN&gt; not initialize  &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;flashx &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

place at address mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;__ICFEDIT_intvec_start__ &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; readonly section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;intvec&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; block CFMPROTROM &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
place in m_bootloader_config_region&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;bootloaderconfig &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
place in ROM_region &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; first block TEXTSECTION&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; readonly&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;  last block FLASHX_POOL &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

place at address mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;__ICFEDIT_region_RAM_start__ &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; readwrite section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;vectors_ram &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;/* each block/segment must be in one line (association to region) because I need kernel data start after other datas */&lt;/SPAN&gt;
place in RAM_region   &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; readwrite&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; last block KERNEL_DATA &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Nov 2020 14:16:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859860#M892</guid>
      <dc:creator>vrg6</dc:creator>
      <dc:date>2020-11-02T14:16:50Z</dc:date>
    </item>
    <item>
      <title>Re: Programming both MCUBOOT and Application on flash</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859861#M893</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vincent,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; I know you already define the .s, that's why I let you define the BCA area in the .s directly, just like our bootloader app sample code startup_MK64F12.s, this method will allocate the BCA area in the correct address.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; You can try it on your side.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I think your problem still in the IAR function detail address allocation side.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Please try the official startup_MK64F12.s on your side, and don't use your bootloader_config.c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Whether it works ok or not?&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Apr 2019 02:32:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859861#M893</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2019-04-11T02:32:52Z</dc:date>
    </item>
    <item>
      <title>Re: Programming both MCUBOOT and Application on flash</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859862#M894</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Kerry,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I add the startup_config.s file to my application project. However, when I compile the project I get the following errors.&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="pastedImage_2.png"&gt;&lt;IMG alt="pastedImage_2.png" src="https://community.nxp.com/t5/image/serverpage/image-id/79498i75CA7DDCF978F35B/image-size/large?v=v2&amp;amp;px=999" title="pastedImage_2.png" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;This is the assembly code I am using&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="pastedImage_3.png"&gt;&lt;IMG alt="pastedImage_3.png" src="https://community.nxp.com/t5/image/serverpage/image-id/79545i2FA241A8E4EDAE9C/image-size/large?v=v2&amp;amp;px=999" title="pastedImage_3.png" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the linker I am using&amp;nbsp;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="comment token"&gt;/*###ICF### Section handled by ICF editor, don't touch! ****/&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*-Editor annotation file-*/&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*-Specials-*/&lt;/SPAN&gt;
define symbol __ICFEDIT_intvec_start__ &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x0000A000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*-Memory Regions-*/&lt;/SPAN&gt;
define symbol __ICFEDIT_region_ROM_start__ &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x0000A000&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol __ICFEDIT_region_ROM_end__   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x000FFFFF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol __ICFEDIT_region_RAM_start__ &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFF0000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol __ICFEDIT_region_RAM_end__   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x2002FFF0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*-Sizes-*/&lt;/SPAN&gt;
define symbol __ICFEDIT_size_cstack__ &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define symbol __ICFEDIT_size_heap__   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/**** End of ICF editor section. ###ICF###*/&lt;/SPAN&gt;

define exported symbol __EXTERNAL_MRAM_ROM_BASE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x60000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_MRAM_ROM_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_MRAM_RAM_BASE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x60000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_MRAM_RAM_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00080000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __EXTERNAL_LCD_BASE      &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x60000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_LCD_SIZE      &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFFF&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __EXTERNAL_LCD_DC_BASE   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x60010000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_FLASH_BASE    &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00000000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_FLASH_SIZE    &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00100000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_SRAM_BASE     &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFF0000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_SRAM_SIZE     &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00040000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __UNCACHED_DATA_START    &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFF0000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __UNCACHED_DATA_SIZE     &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x00020000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __UNCACHED_DATA_END      &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x2000FFF0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __SRAM_POOL              &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1FFF0000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __INTERNAL_FLEXNVM_BASE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __INTERNAL_FLEXNVM_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __VECTOR_TABLE_ROM_START &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x0000A000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __VECTOR_TABLE_RAM_START &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __ICFEDIT_region_RAM_start__&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __DEFAULT_PROCESSOR_NUMBER &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __DEFAULT_INTERRUPT_STACK_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1024&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;/* mem_init writes a storeblock_struct at the end of kernel data, max size 32 bytes, so use 0x100 offset */&lt;/SPAN&gt;
define exported symbol __BOOT_STACK_ADDRESS &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __ICFEDIT_region_RAM_end__ &lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x100&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;


define exported symbol __KERNEL_DATA_END &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __ICFEDIT_region_RAM_end__&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define memory mem with size &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; 4G&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define region ROM_region   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define region RAM_region   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define block KERNEL_DATA with alignment &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;8&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;kernel_data &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

define exported symbol __FLASHX_SECT_SIZE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x1000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define exported symbol __FLASHX_END_ADDR &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __INTERNAL_FLASH_BASE &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; __INTERNAL_FLASH_SIZE&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;/*
define symbol m_bootloader_config_start = __ICFEDIT_intvec_start__ + 0x3C0;
define symbol m_bootloader_config_end = __ICFEDIT_intvec_start__ + 0x3FF;
define region m_bootloader_config_region = mem:[from m_bootloader_config_start to m_bootloader_config_end];
*/&lt;/SPAN&gt;
define block CFMPROTROM with size &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;20&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;cfmconfig &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define block FLASHX_POOL with alignment &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; __FLASHX_SECT_SIZE &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;flashx &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
define block TEXTSECTION with alignment &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;4&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;text &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

keep &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;cfmconfig &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
keep &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;flashx &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

initialize by copy &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; readwrite &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;do&lt;/SPAN&gt; not initialize  &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;noinit &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;do&lt;/SPAN&gt; not initialize  &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;kernel_data &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="keyword token"&gt;do&lt;/SPAN&gt; not initialize  &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;flashx &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

place at address mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;__ICFEDIT_intvec_start__ &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; readonly section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;intvec&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; block CFMPROTROM &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
place in m_bootloader_config_region&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;bootloaderconfig &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
place in ROM_region &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; first block TEXTSECTION&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; readonly&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;  last block FLASHX_POOL &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

place at address mem&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;__ICFEDIT_region_RAM_start__ &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; readwrite section &lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;vectors_ram &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&lt;SPAN class="comment token"&gt;/* each block/segment must be in one line (association to region) because I need kernel data start after other datas */&lt;/SPAN&gt;
place in RAM_region   &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt; readwrite&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; last block KERNEL_DATA &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Nov 2020 14:16:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859862#M894</guid>
      <dc:creator>vrg6</dc:creator>
      <dc:date>2020-11-02T14:16:52Z</dc:date>
    </item>
    <item>
      <title>Re: Programming both MCUBOOT and Application on flash</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859863#M895</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vincent,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; You can delete all the important code to you, still use your original project without the .s modification, then delete all the API function important to you, just give me the simple project, I will help you to check it on my side.&lt;/P&gt;&lt;P&gt;Waiting for your updated information.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Apr 2019 01:49:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859863#M895</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2019-04-12T01:49:28Z</dc:date>
    </item>
    <item>
      <title>Re: Programming both MCUBOOT and Application on flash</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859864#M896</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Kerry!&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have good news. The startup_config.s file you shared works correctly in the application code!&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;IMG alt="pastedImage_1.png" src="https://community.nxp.com/t5/image/serverpage/image-id/74040i2BBDE8B819E81413/image-size/large?v=v2&amp;amp;px=999" title="pastedImage_1.png" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;However the problem now is that I don't know how to further configure the bootloader options. I would like to enable the "tag" "direct boot" and "timeout" options but do not know how to begin editing the startup_config.s file.&amp;nbsp;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;__bootloaderConfigurationArea &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x3c0&lt;/SPAN&gt;
        DCD     &lt;SPAN class="string token"&gt;'kcfg'&lt;/SPAN&gt;        &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;00&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;03&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; tag &lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt; Tag value used to validate the bootloader configuration data&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt; Must be set to &lt;SPAN class="string token"&gt;'kcfg'&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;
        DCD     &lt;SPAN class="number token"&gt;0xFFFFFFFF&lt;/SPAN&gt;    &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;04&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;07&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; crcStartAddress
        DCD     &lt;SPAN class="number token"&gt;0xFFFFFFFF&lt;/SPAN&gt;    &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;08&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;0b&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; crcByteCount
        DCD     &lt;SPAN class="number token"&gt;0xFFFFFFFF&lt;/SPAN&gt;    &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;0c&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0f&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; crcExpectedValue
        DCB     &lt;SPAN class="number token"&gt;0xFF&lt;/SPAN&gt;          &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;10&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;10&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; enabledPeripherals
        DCB     &lt;SPAN class="number token"&gt;0xFF&lt;/SPAN&gt;          &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;11&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;11&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; i2cSlaveAddress
        DCW     &lt;SPAN class="number token"&gt;5000&lt;/SPAN&gt;           &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;12&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;13&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; peripheralDetectionTimeoutMs &lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt; Timeout in milliseconds &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; peripheral detection before jumping to application code
        DCW     &lt;SPAN class="number token"&gt;0xFFFF&lt;/SPAN&gt;        &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;14&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;15&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; usbVid
        DCW     &lt;SPAN class="number token"&gt;0xFFFF&lt;/SPAN&gt;        &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;16&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;17&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; usbPid
        DCD     &lt;SPAN class="number token"&gt;0xFFFFFFFF&lt;/SPAN&gt;    &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;18&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;1b&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; usbStringsPointer
        DCB     &lt;SPAN class="number token"&gt;0xFF&lt;/SPAN&gt;          &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;1c&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;1c&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; clockFlags &lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt; High Speed and other clock options
        DCB     &lt;SPAN class="number token"&gt;0xFF&lt;/SPAN&gt;          &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;1d&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;1d&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; clockDivider &lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt; One's complement of clock divider&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; zero divider is divide by &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;
        DCW     &lt;SPAN class="number token"&gt;0xFFFF&lt;/SPAN&gt;        &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;1e&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1f&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; reserved
        &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; Fill to align with flash configuration field&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt; 
        REPT    &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0x400&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0x3e0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;4&lt;/SPAN&gt;   &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x3E0&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x3FF&lt;/SPAN&gt;
        DCD     &lt;SPAN class="number token"&gt;0xFFFFFFFF&lt;/SPAN&gt;        &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; Reserved &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; user TRIM value
        ENDR 
&lt;SPAN class="property macro token"&gt;#else        &lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; Fill to align with flash configuration field&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt; 
        REPT    &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0x400&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0x3c0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;/&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;4&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x3c0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;:&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0x400&lt;/SPAN&gt;
        DCD     &lt;SPAN class="number token"&gt;0xFFFFFFFF&lt;/SPAN&gt;      &lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; Reserved &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; user TRIM value
        ENDR
&lt;SPAN class="property macro token"&gt;#endif &lt;/SPAN&gt;&lt;SPAN class="comment token"&gt;// BL_HAS_BOOTLOADER_CONFIG&lt;/SPAN&gt;

&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for everything!&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Nov 2020 14:16:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859864#M896</guid>
      <dc:creator>vrg6</dc:creator>
      <dc:date>2020-11-02T14:16:54Z</dc:date>
    </item>
    <item>
      <title>Re: Programming both MCUBOOT and Application on flash</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859865#M897</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vincent,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Thank you for your updated information.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; You can delete the following yellow area, then build again, then check your .hex file, you will find the according tag area:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/75576iCA94835E716FEBEA/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Apr 2019 03:23:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859865#M897</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2019-04-15T03:23:44Z</dc:date>
    </item>
    <item>
      <title>Re: Programming both MCUBOOT and Application on flash</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859866#M898</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kerry,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That's not really what I meant. I was wondering how you could set these options&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/77791i0F719526E0765DC5/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;in startup_config.s code. I don't know how I would go about changing the hex values in a way that affects the BCA information.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Vincent&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 15 Apr 2019 13:55:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859866#M898</guid>
      <dc:creator>vrg6</dc:creator>
      <dc:date>2019-04-15T13:55:54Z</dc:date>
    </item>
    <item>
      <title>Re: Programming both MCUBOOT and Application on flash</title>
      <link>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859867#M899</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vincent,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; About this area knowledge, please refer to my attached document.&lt;/P&gt;&lt;P&gt;Chapter 4.4 BCA utilities tab page&lt;/P&gt;&lt;P&gt;Chapter 4.5 Bootloader configuration page&lt;/P&gt;&lt;P&gt;&amp;nbsp; Chapter 5.8 Integrate config file to user project&lt;/P&gt;&lt;P&gt;&amp;nbsp; If you have time, I suggest you read all the document, you will be clear about it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Wish it helps you!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Apr 2019 06:18:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCU-Bootloader/Programming-both-MCUBOOT-and-Application-on-flash/m-p/859867#M899</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2019-04-16T06:18:01Z</dc:date>
    </item>
  </channel>
</rss>

