<?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>topic MQX: why does .vectors section gets empty if I empty .cfmprotect section? in MQX Software Solutions</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-why-does-vectors-section-gets-empty-if-I-empty-cfmprotect/m-p/451801#M15163</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi folks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I know this may be a trivial question - I've already found a workaround but I need to understand what is happening!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My project has two programs: a bootloader and the application itself.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to keep the Flash Configuration Field definition only on the bootloader so I don't risk messing things up regardless of which firmware is programmed first.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In order to do this I have:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Changed the &lt;STRONG&gt;Application&lt;/STRONG&gt; BSP vectors.c file in order to add the BSPCFG_ENABLE_CFMPROTECT conditional for GCC compilers (in green):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="1" class="jiveBorder" style="border: 1px solid rgb(0, 0, 0); width: 100%;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;&lt;STRONG&gt;vectors.c&lt;/STRONG&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;#elif defined(__CC_ARM) || defined(__GNUC__)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; &lt;STRONG style=": ; color: #ff0000;"&gt;&amp;nbsp; &lt;SPAN style="color: #339966;"&gt;#if (BSPCFG_ENABLE_CFMPROTECT)&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* flashx location defined in io/flashx/freescale/flash_mk64.h for KEIL */&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __attribute__((section(".cfmconfig"))) const uint32_t _cfm[4] __attribute__((used)) = {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CONFIG_1,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CONFIG_2,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CONFIG_3,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CONFIG_4&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #339966;"&gt;&amp;nbsp; &lt;STRONG&gt;#endif /* BSPCFG_ENABLE_CFMPROTECT&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG style=": ; color: #339966;"&gt; */&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Inserted the following line in my user_config.h:&lt;/P&gt;&lt;TABLE border="1" class="jiveBorder" style="border: 1px solid rgb(0, 0, 0); width: 100%;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;&lt;STRONG&gt;user_config.h&lt;/STRONG&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG style=": ; color: #339966;"&gt;#define BSPCFG_ENABLE_CFMPROTECT 0&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Recompiled both BSP and application&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The result is that now I don't have the _cfm symbol (which contains FCF definitions) on my resulting .map and .hex files. OK - I want this, &lt;STRONG&gt;but what I don't get is why did the .vectors section got empty too now?&lt;/STRONG&gt; I didn't touch anything on vector definitions or memory area/sections!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It looks like the linker is ignoring the GCC "used" attribute (but even if I uncheck the remove unused sections linker flag the .vectors section is still empty, with no vector table inside it)! Is it ignoring the whole vectors.o object on linking process for some reason? I've already obj-dumped the bsp.a lib and it has the table definition inside it!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;App linker file memory areas, for reference:&lt;/P&gt;&lt;TABLE border="1" class="jiveBorder" style="border: 1px solid rgb(0, 0, 0); width: 100%;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;&lt;STRONG&gt;app_linker.ld&lt;/STRONG&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;/* APP LINKER */&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;MEMORY&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vectorrom&amp;nbsp;&amp;nbsp; (RX): ORIGIN = 0x00008000, LENGTH = 0x00000400&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rom&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (RX): ORIGIN = 0x00008420, LENGTH = 0x00077BE0&amp;nbsp; /* Code + Const data */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ram&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (RW): ORIGIN = 0x1FFF0000, LENGTH = 0x00030000&amp;nbsp; /* SRAM - RW data */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em; font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* kernel space starts after RAM variables (Location of MQX Kernel data + MQX heap) */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end_of_kd&amp;nbsp;&amp;nbsp; (RW): ORIGIN = 0x2001FFF0, LENGTH = 0x00000000 &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em; font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Boot stack reused by MQX Kernel data */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bstack&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (RW): ORIGIN = 0x2001FA00, LENGTH = 0x00000200&amp;nbsp; /* Boot stack */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end_bstack&amp;nbsp; (RW): ORIGIN = 0x2001FC00, LENGTH = 0x00000000&amp;nbsp; /* Boot stack end address requires 4B alignment */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 1.5em; font-size: 10pt; font-family: 'courier new', courier;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Some information:&lt;/P&gt;&lt;P&gt;1. Using KDS 2.0.0&lt;/P&gt;&lt;P&gt;2. Using MQX 4.1.1 for the APP. PE for the application.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks very much!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 28 Apr 2015 20:31:01 GMT</pubDate>
    <dc:creator>lfschrickte</dc:creator>
    <dc:date>2015-04-28T20:31:01Z</dc:date>
    <item>
      <title>MQX: why does .vectors section gets empty if I empty .cfmprotect section?</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-why-does-vectors-section-gets-empty-if-I-empty-cfmprotect/m-p/451801#M15163</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi folks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I know this may be a trivial question - I've already found a workaround but I need to understand what is happening!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My project has two programs: a bootloader and the application itself.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to keep the Flash Configuration Field definition only on the bootloader so I don't risk messing things up regardless of which firmware is programmed first.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In order to do this I have:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Changed the &lt;STRONG&gt;Application&lt;/STRONG&gt; BSP vectors.c file in order to add the BSPCFG_ENABLE_CFMPROTECT conditional for GCC compilers (in green):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="1" class="jiveBorder" style="border: 1px solid rgb(0, 0, 0); width: 100%;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;&lt;STRONG&gt;vectors.c&lt;/STRONG&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;#elif defined(__CC_ARM) || defined(__GNUC__)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp; &lt;STRONG style=": ; color: #ff0000;"&gt;&amp;nbsp; &lt;SPAN style="color: #339966;"&gt;#if (BSPCFG_ENABLE_CFMPROTECT)&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* flashx location defined in io/flashx/freescale/flash_mk64.h for KEIL */&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __attribute__((section(".cfmconfig"))) const uint32_t _cfm[4] __attribute__((used)) = {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CONFIG_1,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CONFIG_2,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CONFIG_3,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CONFIG_4&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #339966;"&gt;&amp;nbsp; &lt;STRONG&gt;#endif /* BSPCFG_ENABLE_CFMPROTECT&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG style=": ; color: #339966;"&gt; */&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Inserted the following line in my user_config.h:&lt;/P&gt;&lt;TABLE border="1" class="jiveBorder" style="border: 1px solid rgb(0, 0, 0); width: 100%;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;&lt;STRONG&gt;user_config.h&lt;/STRONG&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG style=": ; color: #339966;"&gt;#define BSPCFG_ENABLE_CFMPROTECT 0&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Recompiled both BSP and application&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The result is that now I don't have the _cfm symbol (which contains FCF definitions) on my resulting .map and .hex files. OK - I want this, &lt;STRONG&gt;but what I don't get is why did the .vectors section got empty too now?&lt;/STRONG&gt; I didn't touch anything on vector definitions or memory area/sections!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It looks like the linker is ignoring the GCC "used" attribute (but even if I uncheck the remove unused sections linker flag the .vectors section is still empty, with no vector table inside it)! Is it ignoring the whole vectors.o object on linking process for some reason? I've already obj-dumped the bsp.a lib and it has the table definition inside it!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;App linker file memory areas, for reference:&lt;/P&gt;&lt;TABLE border="1" class="jiveBorder" style="border: 1px solid rgb(0, 0, 0); width: 100%;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH style="text-align: center; background-color: #6690bc; color: #ffffff; padding: 2px;" valign="middle"&gt;&lt;STRONG&gt;app_linker.ld&lt;/STRONG&gt;&lt;/TH&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="padding: 2px;"&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;/* APP LINKER */&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;MEMORY&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; vectorrom&amp;nbsp;&amp;nbsp; (RX): ORIGIN = 0x00008000, LENGTH = 0x00000400&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; rom&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (RX): ORIGIN = 0x00008420, LENGTH = 0x00077BE0&amp;nbsp; /* Code + Const data */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ram&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (RW): ORIGIN = 0x1FFF0000, LENGTH = 0x00030000&amp;nbsp; /* SRAM - RW data */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em; font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* kernel space starts after RAM variables (Location of MQX Kernel data + MQX heap) */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end_of_kd&amp;nbsp;&amp;nbsp; (RW): ORIGIN = 0x2001FFF0, LENGTH = 0x00000000 &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em; font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Boot stack reused by MQX Kernel data */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bstack&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (RW): ORIGIN = 0x2001FA00, LENGTH = 0x00000200&amp;nbsp; /* Boot stack */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end_bstack&amp;nbsp; (RW): ORIGIN = 0x2001FC00, LENGTH = 0x00000000&amp;nbsp; /* Boot stack end address requires 4B alignment */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="line-height: 1.5em; font-size: 10pt; font-family: 'courier new', courier;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Some information:&lt;/P&gt;&lt;P&gt;1. Using KDS 2.0.0&lt;/P&gt;&lt;P&gt;2. Using MQX 4.1.1 for the APP. PE for the application.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks very much!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Apr 2015 20:31:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-why-does-vectors-section-gets-empty-if-I-empty-cfmprotect/m-p/451801#M15163</guid>
      <dc:creator>lfschrickte</dc:creator>
      <dc:date>2015-04-28T20:31:01Z</dc:date>
    </item>
    <item>
      <title>Re: MQX: why does .vectors section gets empty if I empty .cfmprotect section?</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-why-does-vectors-section-gets-empty-if-I-empty-cfmprotect/m-p/451802#M15164</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Luiz,&lt;/P&gt;&lt;P&gt;Short answer is when not programming the flash configuration field to default setting, you are causing the flash to be somewhat secured.&amp;nbsp; I have seen this before and when I see the vector table has not been programmed, I immediately go into PE and disable the flash configuration wizard stuff.&lt;/P&gt;&lt;P&gt;You mention using PE for the application.&amp;nbsp; Do you mean you are enabling PE in the BSP or only in the application?&lt;/P&gt;&lt;P&gt;If only for the application then I would not think PE would be messing with the flash configuration field and you would want the #define above to be "1".&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;David &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Apr 2015 13:29:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-why-does-vectors-section-gets-empty-if-I-empty-cfmprotect/m-p/451802#M15164</guid>
      <dc:creator>DavidS</dc:creator>
      <dc:date>2015-04-29T13:29:53Z</dc:date>
    </item>
    <item>
      <title>Re: MQX: why does .vectors section gets empty if I empty .cfmprotect section?</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-why-does-vectors-section-gets-empty-if-I-empty-cfmprotect/m-p/451803#M15165</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for your bug report.&lt;/P&gt;&lt;P&gt;I tested it and you are right. When we comment out flash configuration, result hex file don’t’ contain also vectors.&lt;/P&gt;&lt;P&gt;Unfortunately I didn’t found reason for that behavior.&lt;/P&gt;&lt;P&gt;I reported it into our internal bug database.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;RadekS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 May 2015 16:17:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-why-does-vectors-section-gets-empty-if-I-empty-cfmprotect/m-p/451803#M15165</guid>
      <dc:creator>RadekS</dc:creator>
      <dc:date>2015-05-05T16:17:08Z</dc:date>
    </item>
    <item>
      <title>Re: MQX: why does .vectors section gets empty if I empty .cfmprotect section?</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-why-does-vectors-section-gets-empty-if-I-empty-cfmprotect/m-p/451804#M15166</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;According designers:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It can be resolved by adding extern __vector_table to linker file:&lt;/P&gt;&lt;P&gt;EXTERN(_cfm __init_hardware __vector_table)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;RadekS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Jan 2016 08:59:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-why-does-vectors-section-gets-empty-if-I-empty-cfmprotect/m-p/451804#M15166</guid>
      <dc:creator>RadekS</dc:creator>
      <dc:date>2016-01-11T08:59:59Z</dc:date>
    </item>
    <item>
      <title>Re: MQX: why does .vectors section gets empty if I empty .cfmprotect section?</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-why-does-vectors-section-gets-empty-if-I-empty-cfmprotect/m-p/451805#M15167</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Radek ,&lt;/P&gt;&lt;P&gt;Have you ever reslove your question ?&amp;nbsp; I meet a&amp;nbsp; similar problem as below:&lt;/P&gt;&lt;P&gt;Warinning :_vector_table symbol not found.&lt;/P&gt;&lt;P&gt;e_entry value : 0x00000410 does not match reset vector value : 0xFFFFFFFE.&lt;/P&gt;&lt;P&gt;Initial SP_main value : 0xFFFFFFFE uncertain .&lt;/P&gt;&lt;P&gt;Do you have a good idea for the question ?&lt;/P&gt;&lt;P&gt;Thanks a lot !&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 May 2017 01:36:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-why-does-vectors-section-gets-empty-if-I-empty-cfmprotect/m-p/451805#M15167</guid>
      <dc:creator>zhaoqinsu</dc:creator>
      <dc:date>2017-05-24T01:36:48Z</dc:date>
    </item>
    <item>
      <title>Re: MQX: why does .vectors section gets empty if I empty .cfmprotect section?</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-why-does-vectors-section-gets-empty-if-I-empty-cfmprotect/m-p/451806#M15168</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Z.q. Su,&lt;BR /&gt;Unfortunately, I do not support MQX already some time.&lt;BR /&gt;The bug in MQX code (when we comment out flash configuration, the vectors are not linked) was reported and solved with a note:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;It can be resolved by adding extern __vector_table to linker file:&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;EXTERN(_cfm __init_hardware __vector_table)&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;Verification pass on FSLMQXOS_4_2_0_2_RC1 patch, MQX origin base on FSLMQXOS_4_2_0_GA_RC5.&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;Checked with KDS3.0.0, hello2 example, all target, CW10.6_GCC, hello example, release target.&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;Please see &lt;/EM&gt;attach&lt;EM&gt; file for CFMPROTECT commented and vertor_table value after comment.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="armgcc_cmprotect_comment.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/21187i547326076C0CE3D9/image-size/large?v=v2&amp;amp;px=999" role="button" title="armgcc_cmprotect_comment.jpg" alt="armgcc_cmprotect_comment.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="vector.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/21230i8A571486C38DCFE5/image-size/large?v=v2&amp;amp;px=999" role="button" title="vector.jpg" alt="vector.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I didn’t test this solution personally.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope it helps you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;Radek&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 May 2017 11:00:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MQX-why-does-vectors-section-gets-empty-if-I-empty-cfmprotect/m-p/451806#M15168</guid>
      <dc:creator>RadekS</dc:creator>
      <dc:date>2017-05-24T11:00:14Z</dc:date>
    </item>
  </channel>
</rss>

