<?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>Kinetis MicrocontrollersのトピックRe: Is there a bug or fault on Processor Expert for the Kinetis L 04 series?</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Is-there-a-bug-or-fault-on-Processor-Expert-for-the-Kinetis-L-04/m-p/373278#M19508</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks for your quick answer!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My project is still the unmodified version of the generated code by the Processor Expert.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The lines of code in asm are those below. The interruption comes from a line "&lt;STRONG&gt;bold"&lt;/STRONG&gt; at the end of the code. Please take a look.&lt;/P&gt;&lt;P&gt;But before i copied the zero_fill_bss function:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;223&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; zero_fill_bss();&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;000007c0:&amp;nbsp;&amp;nbsp; bl zero_fill_bss (0x794)&amp;nbsp;&amp;nbsp; ; 0x00000794&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;zero_fill_bss:&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;131&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;{&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;00000794:&amp;nbsp;&amp;nbsp; push {r7,lr}&lt;/P&gt;&lt;P&gt;00000796:&amp;nbsp;&amp;nbsp; add r7,sp,#0&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;139&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; memset(__START_BSS, 0, (__END_BSS - __START_BSS));&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;00000798:&amp;nbsp;&amp;nbsp; ldr r2,[pc,#20]&lt;/P&gt;&lt;P&gt;0000079a:&amp;nbsp;&amp;nbsp; ldr r3,[pc,#24]&lt;/P&gt;&lt;P&gt;0000079c:&amp;nbsp;&amp;nbsp; subs r3,r2,r3&lt;/P&gt;&lt;P&gt;0000079e:&amp;nbsp;&amp;nbsp; ldr r2,[pc,#20]&lt;/P&gt;&lt;P&gt;000007a0:&amp;nbsp;&amp;nbsp; mov r0,r2&lt;/P&gt;&lt;P&gt;000007a2:&amp;nbsp;&amp;nbsp; movs r1,#0&lt;/P&gt;&lt;P&gt;000007a4:&amp;nbsp;&amp;nbsp; mov r2,r3&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;000007a6:&amp;nbsp;&amp;nbsp; bl memset (0x840)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;; 0x00000840&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;141&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;}&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;000007aa:&amp;nbsp;&amp;nbsp; cpy sp,r7&lt;/P&gt;&lt;P&gt;000007ac:&amp;nbsp;&amp;nbsp; pop {r7,pc}&lt;/P&gt;&lt;P&gt;000007ae:&amp;nbsp;&amp;nbsp; nop &lt;/P&gt;&lt;P&gt;000007b0:&amp;nbsp;&amp;nbsp; .short 0xfe541fff&lt;/P&gt;&lt;P&gt;000007b4:&amp;nbsp;&amp;nbsp; .short 0xfe001fff&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code where the error/interruption is called is below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;__fill_mem: /&lt;STRONG&gt;/declared as void _EWL_CDECL __fill_mem(void * dst, int_t val, uint32_t n)&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt; 67&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;{&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;000016c4:&amp;nbsp;&amp;nbsp; push {r4-r5,lr}&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;134&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;}&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;000016c6:&amp;nbsp;&amp;nbsp; uxtb r1,r1&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt; 68&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; uchar_t&amp;nbsp; *cpd&amp;nbsp;&amp;nbsp;&amp;nbsp; = ((uchar_t *) dst);&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;000016c8:&amp;nbsp;&amp;nbsp; mov r3,r0&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt; 73&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; if (n &amp;gt;= 32UL) {&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;000016ca:&amp;nbsp;&amp;nbsp; cmp r2,#31&lt;/P&gt;&lt;P&gt;000016cc:&amp;nbsp;&amp;nbsp; bls __fill_mem+0x6e (0x1732); 0x00001732&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt; 76&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; i = (uint32_t)(-(int32_t) dst) &amp;amp; 3UL;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;000016ce:&amp;nbsp;&amp;nbsp; neg r4,r0&lt;/P&gt;&lt;P&gt;000016d0:&amp;nbsp;&amp;nbsp; movs r3,#3&lt;/P&gt;&lt;P&gt;000016d2:&amp;nbsp;&amp;nbsp; ands r3,r4&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt; 77&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; if :smileyinfo: {&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;000016d4:&amp;nbsp;&amp;nbsp; beq __fill_mem+0x1e (0x16e2); 0x000016e2&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt; 78&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; n -= i;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;000016d6:&amp;nbsp;&amp;nbsp; subs r2,r2,r3&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;27&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; void _EWL_CDECL&amp;nbsp;&amp;nbsp;&amp;nbsp; __fill_mem&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; (void * dst, int val, unsigned long n) _EWL_CANT_THROW;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;000016d8:&amp;nbsp;&amp;nbsp; adds r5,r0,r3&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt; 82&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; deref_auto_inc(cpd) = (uchar_t)v;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;000016da:&amp;nbsp;&amp;nbsp; strb r1,[r0,#0]&lt;/P&gt;&lt;P&gt;000016dc:&amp;nbsp;&amp;nbsp; adds r0,#1&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt; 83&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; } while (--i);&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;000016de:&amp;nbsp;&amp;nbsp; cmp r0,r5&lt;/P&gt;&lt;P&gt;000016e0:&amp;nbsp;&amp;nbsp; bne __fill_mem+0x16 (0x16da); 0x000016da&lt;/P&gt;&lt;P&gt; 86&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (v) {&lt;/P&gt;&lt;P&gt;000016e2:&amp;nbsp;&amp;nbsp; cmp r1,#0&lt;/P&gt;&lt;P&gt;000016e4:&amp;nbsp;&amp;nbsp; beq __fill_mem+0x2e (0x16f2); 0x000016f2&lt;/P&gt;&lt;P&gt; 87&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v |= (v &amp;lt;&amp;lt; 24) | (v &amp;lt;&amp;lt; 16) | (v &amp;lt;&amp;lt;&amp;nbsp; 8);&lt;/P&gt;&lt;P&gt;000016e6:&amp;nbsp;&amp;nbsp; lsls r5,r1,#24&lt;/P&gt;&lt;P&gt;000016e8:&amp;nbsp;&amp;nbsp; lsls r4,r1,#16&lt;/P&gt;&lt;P&gt;000016ea:&amp;nbsp;&amp;nbsp; orrs r4,r5&lt;/P&gt;&lt;P&gt;000016ec:&amp;nbsp;&amp;nbsp; lsls r3,r1,#8&lt;/P&gt;&lt;P&gt;000016ee:&amp;nbsp;&amp;nbsp; orrs r1,r4&lt;/P&gt;&lt;P&gt;000016f0:&amp;nbsp;&amp;nbsp; orrs r1,r3&lt;/P&gt;&lt;P&gt; 97&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i = n &amp;gt;&amp;gt; 5;&lt;/P&gt;&lt;P&gt;000016f2:&amp;nbsp;&amp;nbsp; lsrs r4,r2,#5&lt;/P&gt;&lt;P&gt; 90&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lpd = (uint32_t *)cpd;&lt;/P&gt;&lt;P&gt;000016f4:&amp;nbsp;&amp;nbsp; mov r3,r0&lt;/P&gt;&lt;P&gt; 99&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i) {&lt;/P&gt;&lt;P&gt;000016f6:&amp;nbsp;&amp;nbsp; cmp r4,#0&lt;/P&gt;&lt;P&gt;000016f8:&amp;nbsp;&amp;nbsp; beq __fill_mem+0x54 (0x1718); 0x00001718&lt;/P&gt;&lt;P&gt;000016fa:&amp;nbsp;&amp;nbsp; mov r5,r4&lt;/P&gt;&lt;P&gt;111&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (--i);&lt;/P&gt;&lt;P&gt;000016fc:&amp;nbsp;&amp;nbsp; subs r5,#1&lt;/P&gt;&lt;P&gt;102&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;deref_auto_inc(lpd) = v; //This is the line where it jumps back to the interruption&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;000016fe:&amp;nbsp;&amp;nbsp; str r1,[r3,#0]&lt;/P&gt;&lt;P&gt;103&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deref_auto_inc(lpd) = v;&lt;/P&gt;&lt;P&gt;00001700:&amp;nbsp;&amp;nbsp; str r1,[r3,#4]&lt;/P&gt;&lt;P&gt;104&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deref_auto_inc(lpd) = v;&lt;/P&gt;&lt;P&gt;00001702:&amp;nbsp;&amp;nbsp; str r1,[r3,#8]&lt;/P&gt;&lt;P&gt;105&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deref_auto_inc(lpd) = v;&lt;/P&gt;&lt;P&gt;00001704:&amp;nbsp;&amp;nbsp; str r1,[r3,#12]&lt;/P&gt;&lt;P&gt;106&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deref_auto_inc(lpd) = v;&lt;/P&gt;&lt;P&gt;00001706:&amp;nbsp;&amp;nbsp; str r1,[r3,#16]&lt;/P&gt;&lt;P&gt;107&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deref_auto_inc(lpd) = v;&lt;/P&gt;&lt;P&gt;00001708:&amp;nbsp;&amp;nbsp; str r1,[r3,#20]&lt;/P&gt;&lt;P&gt;108&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deref_auto_inc(lpd) = v;&lt;/P&gt;&lt;P&gt;0000170a:&amp;nbsp;&amp;nbsp; str r1,[r3,#24]&lt;/P&gt;&lt;P&gt;109&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deref_auto_inc(lpd) = v;&lt;/P&gt;&lt;P&gt;0000170c:&amp;nbsp;&amp;nbsp; str r1,[r3,#28]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please feel free to ask any other detail or information. I appreciate it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Many thanks again.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 17 Sep 2014 12:42:58 GMT</pubDate>
    <dc:creator>luizdavimartins</dc:creator>
    <dc:date>2014-09-17T12:42:58Z</dc:date>
    <item>
      <title>Is there a bug or fault on Processor Expert for the Kinetis L 04 series?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Is-there-a-bug-or-fault-on-Processor-Expert-for-the-Kinetis-L-04/m-p/373276#M19506</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello all!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm facing a CPU interrupt every-time the initialization code created by Processor Expert is run on a KL04Z8 processor.&lt;/P&gt;&lt;P&gt;The function where I get the interrupt is called from the&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void __thumb_startup(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Setup registers&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __init_registers();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // setup hardware&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __init_hardware();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp;&amp;nbsp; zero-fill the .bss section&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;zero_fill_bss();&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;zero_fill_bss&lt;/STRONG&gt; is the function where the uC gets the CPU interrupt. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does anyone know what might be the causes for that?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I force the CPU with something like &lt;STRONG&gt;asm("b main") &lt;/STRONG&gt;from within the Fault Interrupt routine, it apprently works. But it doesn't loook good.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I appreciate your help!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Many thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Sep 2014 03:09:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Is-there-a-bug-or-fault-on-Processor-Expert-for-the-Kinetis-L-04/m-p/373276#M19506</guid>
      <dc:creator>luizdavimartins</dc:creator>
      <dc:date>2014-09-17T03:09:00Z</dc:date>
    </item>
    <item>
      <title>Re: Is there a bug or fault on Processor Expert for the Kinetis L 04 series?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Is-there-a-bug-or-fault-on-Processor-Expert-for-the-Kinetis-L-04/m-p/373277#M19507</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Luiz Martins,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Where did the bss section locate in your project? The &lt;STRONG&gt;zero_fill_bss is the function to write zero to bss section, so if bss resides in some nonwritable space like flash , it would cause fault interrupt as your case. Would you please help to clarify? Thanks for your patience!&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kan&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>Wed, 17 Sep 2014 06:34:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Is-there-a-bug-or-fault-on-Processor-Expert-for-the-Kinetis-L-04/m-p/373277#M19507</guid>
      <dc:creator>Kan_Li</dc:creator>
      <dc:date>2014-09-17T06:34:20Z</dc:date>
    </item>
    <item>
      <title>Re: Is there a bug or fault on Processor Expert for the Kinetis L 04 series?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Is-there-a-bug-or-fault-on-Processor-Expert-for-the-Kinetis-L-04/m-p/373278#M19508</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks for your quick answer!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My project is still the unmodified version of the generated code by the Processor Expert.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The lines of code in asm are those below. The interruption comes from a line "&lt;STRONG&gt;bold"&lt;/STRONG&gt; at the end of the code. Please take a look.&lt;/P&gt;&lt;P&gt;But before i copied the zero_fill_bss function:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;223&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; zero_fill_bss();&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;000007c0:&amp;nbsp;&amp;nbsp; bl zero_fill_bss (0x794)&amp;nbsp;&amp;nbsp; ; 0x00000794&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;zero_fill_bss:&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;131&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;{&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;00000794:&amp;nbsp;&amp;nbsp; push {r7,lr}&lt;/P&gt;&lt;P&gt;00000796:&amp;nbsp;&amp;nbsp; add r7,sp,#0&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;139&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; memset(__START_BSS, 0, (__END_BSS - __START_BSS));&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;00000798:&amp;nbsp;&amp;nbsp; ldr r2,[pc,#20]&lt;/P&gt;&lt;P&gt;0000079a:&amp;nbsp;&amp;nbsp; ldr r3,[pc,#24]&lt;/P&gt;&lt;P&gt;0000079c:&amp;nbsp;&amp;nbsp; subs r3,r2,r3&lt;/P&gt;&lt;P&gt;0000079e:&amp;nbsp;&amp;nbsp; ldr r2,[pc,#20]&lt;/P&gt;&lt;P&gt;000007a0:&amp;nbsp;&amp;nbsp; mov r0,r2&lt;/P&gt;&lt;P&gt;000007a2:&amp;nbsp;&amp;nbsp; movs r1,#0&lt;/P&gt;&lt;P&gt;000007a4:&amp;nbsp;&amp;nbsp; mov r2,r3&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;000007a6:&amp;nbsp;&amp;nbsp; bl memset (0x840)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;; 0x00000840&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;141&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;}&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;000007aa:&amp;nbsp;&amp;nbsp; cpy sp,r7&lt;/P&gt;&lt;P&gt;000007ac:&amp;nbsp;&amp;nbsp; pop {r7,pc}&lt;/P&gt;&lt;P&gt;000007ae:&amp;nbsp;&amp;nbsp; nop &lt;/P&gt;&lt;P&gt;000007b0:&amp;nbsp;&amp;nbsp; .short 0xfe541fff&lt;/P&gt;&lt;P&gt;000007b4:&amp;nbsp;&amp;nbsp; .short 0xfe001fff&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code where the error/interruption is called is below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;__fill_mem: /&lt;STRONG&gt;/declared as void _EWL_CDECL __fill_mem(void * dst, int_t val, uint32_t n)&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt; 67&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;{&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;000016c4:&amp;nbsp;&amp;nbsp; push {r4-r5,lr}&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;134&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;}&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;000016c6:&amp;nbsp;&amp;nbsp; uxtb r1,r1&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt; 68&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; uchar_t&amp;nbsp; *cpd&amp;nbsp;&amp;nbsp;&amp;nbsp; = ((uchar_t *) dst);&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;000016c8:&amp;nbsp;&amp;nbsp; mov r3,r0&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt; 73&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; if (n &amp;gt;= 32UL) {&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;000016ca:&amp;nbsp;&amp;nbsp; cmp r2,#31&lt;/P&gt;&lt;P&gt;000016cc:&amp;nbsp;&amp;nbsp; bls __fill_mem+0x6e (0x1732); 0x00001732&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt; 76&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; i = (uint32_t)(-(int32_t) dst) &amp;amp; 3UL;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;000016ce:&amp;nbsp;&amp;nbsp; neg r4,r0&lt;/P&gt;&lt;P&gt;000016d0:&amp;nbsp;&amp;nbsp; movs r3,#3&lt;/P&gt;&lt;P&gt;000016d2:&amp;nbsp;&amp;nbsp; ands r3,r4&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt; 77&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; if :smileyinfo: {&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;000016d4:&amp;nbsp;&amp;nbsp; beq __fill_mem+0x1e (0x16e2); 0x000016e2&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt; 78&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; n -= i;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;000016d6:&amp;nbsp;&amp;nbsp; subs r2,r2,r3&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;27&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; void _EWL_CDECL&amp;nbsp;&amp;nbsp;&amp;nbsp; __fill_mem&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&amp;nbsp; (void * dst, int val, unsigned long n) _EWL_CANT_THROW;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;000016d8:&amp;nbsp;&amp;nbsp; adds r5,r0,r3&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt; 82&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; deref_auto_inc(cpd) = (uchar_t)v;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;000016da:&amp;nbsp;&amp;nbsp; strb r1,[r0,#0]&lt;/P&gt;&lt;P&gt;000016dc:&amp;nbsp;&amp;nbsp; adds r0,#1&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt; 83&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; } while (--i);&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;000016de:&amp;nbsp;&amp;nbsp; cmp r0,r5&lt;/P&gt;&lt;P&gt;000016e0:&amp;nbsp;&amp;nbsp; bne __fill_mem+0x16 (0x16da); 0x000016da&lt;/P&gt;&lt;P&gt; 86&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (v) {&lt;/P&gt;&lt;P&gt;000016e2:&amp;nbsp;&amp;nbsp; cmp r1,#0&lt;/P&gt;&lt;P&gt;000016e4:&amp;nbsp;&amp;nbsp; beq __fill_mem+0x2e (0x16f2); 0x000016f2&lt;/P&gt;&lt;P&gt; 87&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v |= (v &amp;lt;&amp;lt; 24) | (v &amp;lt;&amp;lt; 16) | (v &amp;lt;&amp;lt;&amp;nbsp; 8);&lt;/P&gt;&lt;P&gt;000016e6:&amp;nbsp;&amp;nbsp; lsls r5,r1,#24&lt;/P&gt;&lt;P&gt;000016e8:&amp;nbsp;&amp;nbsp; lsls r4,r1,#16&lt;/P&gt;&lt;P&gt;000016ea:&amp;nbsp;&amp;nbsp; orrs r4,r5&lt;/P&gt;&lt;P&gt;000016ec:&amp;nbsp;&amp;nbsp; lsls r3,r1,#8&lt;/P&gt;&lt;P&gt;000016ee:&amp;nbsp;&amp;nbsp; orrs r1,r4&lt;/P&gt;&lt;P&gt;000016f0:&amp;nbsp;&amp;nbsp; orrs r1,r3&lt;/P&gt;&lt;P&gt; 97&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i = n &amp;gt;&amp;gt; 5;&lt;/P&gt;&lt;P&gt;000016f2:&amp;nbsp;&amp;nbsp; lsrs r4,r2,#5&lt;/P&gt;&lt;P&gt; 90&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lpd = (uint32_t *)cpd;&lt;/P&gt;&lt;P&gt;000016f4:&amp;nbsp;&amp;nbsp; mov r3,r0&lt;/P&gt;&lt;P&gt; 99&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( i) {&lt;/P&gt;&lt;P&gt;000016f6:&amp;nbsp;&amp;nbsp; cmp r4,#0&lt;/P&gt;&lt;P&gt;000016f8:&amp;nbsp;&amp;nbsp; beq __fill_mem+0x54 (0x1718); 0x00001718&lt;/P&gt;&lt;P&gt;000016fa:&amp;nbsp;&amp;nbsp; mov r5,r4&lt;/P&gt;&lt;P&gt;111&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (--i);&lt;/P&gt;&lt;P&gt;000016fc:&amp;nbsp;&amp;nbsp; subs r5,#1&lt;/P&gt;&lt;P&gt;102&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;deref_auto_inc(lpd) = v; //This is the line where it jumps back to the interruption&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;000016fe:&amp;nbsp;&amp;nbsp; str r1,[r3,#0]&lt;/P&gt;&lt;P&gt;103&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deref_auto_inc(lpd) = v;&lt;/P&gt;&lt;P&gt;00001700:&amp;nbsp;&amp;nbsp; str r1,[r3,#4]&lt;/P&gt;&lt;P&gt;104&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deref_auto_inc(lpd) = v;&lt;/P&gt;&lt;P&gt;00001702:&amp;nbsp;&amp;nbsp; str r1,[r3,#8]&lt;/P&gt;&lt;P&gt;105&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deref_auto_inc(lpd) = v;&lt;/P&gt;&lt;P&gt;00001704:&amp;nbsp;&amp;nbsp; str r1,[r3,#12]&lt;/P&gt;&lt;P&gt;106&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deref_auto_inc(lpd) = v;&lt;/P&gt;&lt;P&gt;00001706:&amp;nbsp;&amp;nbsp; str r1,[r3,#16]&lt;/P&gt;&lt;P&gt;107&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deref_auto_inc(lpd) = v;&lt;/P&gt;&lt;P&gt;00001708:&amp;nbsp;&amp;nbsp; str r1,[r3,#20]&lt;/P&gt;&lt;P&gt;108&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deref_auto_inc(lpd) = v;&lt;/P&gt;&lt;P&gt;0000170a:&amp;nbsp;&amp;nbsp; str r1,[r3,#24]&lt;/P&gt;&lt;P&gt;109&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deref_auto_inc(lpd) = v;&lt;/P&gt;&lt;P&gt;0000170c:&amp;nbsp;&amp;nbsp; str r1,[r3,#28]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please feel free to ask any other detail or information. I appreciate it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Many thanks again.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Sep 2014 12:42:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Is-there-a-bug-or-fault-on-Processor-Expert-for-the-Kinetis-L-04/m-p/373278#M19508</guid>
      <dc:creator>luizdavimartins</dc:creator>
      <dc:date>2014-09-17T12:42:58Z</dc:date>
    </item>
    <item>
      <title>Re: Is there a bug or fault on Processor Expert for the Kinetis L 04 series?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Is-there-a-bug-or-fault-on-Processor-Expert-for-the-Kinetis-L-04/m-p/373279#M19509</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Do you know which interrupt you get?&lt;/P&gt;&lt;P&gt;(see &lt;A href="http://mcuoneclipse.com/2012/02/20/oh-my-an-interrupt/" title="http://mcuoneclipse.com/2012/02/20/oh-my-an-interrupt/"&gt;Oh my! An Interrupt… | MCU on Eclipse&lt;/A&gt; and enable 'own Handler for every').&lt;/P&gt;&lt;P&gt;I think two things could happen:&lt;/P&gt;&lt;P&gt;- normal reset: then it is probably the watchdog. Is it disabled?&lt;/P&gt;&lt;P&gt;- hard fault (see &lt;A href="http://mcuoneclipse.com/2012/11/24/debugging-hard-faults-on-arm-cortex-m/" title="http://mcuoneclipse.com/2012/11/24/debugging-hard-faults-on-arm-cortex-m/"&gt;Debugging Hard Faults on ARM Cortex-M | MCU on Eclipse&lt;/A&gt; and &lt;A href="http://mcuoneclipse.com/2012/12/28/a-processor-expert-component-to-help-with-hard-faults/" title="http://mcuoneclipse.com/2012/12/28/a-processor-expert-component-to-help-with-hard-faults/"&gt;A Processor Expert Component to Help with Hard Faults | MCU on Eclipse&lt;/A&gt;), then it could be that you access memory out of range (wrong linker file?). I have pasted below the linker file I get with KDS V1.1.1. Do you have the same memory map (RAM/FLASH)?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MEMORY {&lt;/P&gt;&lt;P&gt;&amp;nbsp; m_interrupts (RX) : ORIGIN = 0x00000000, LENGTH = 0x000000C0&lt;/P&gt;&lt;P&gt;&amp;nbsp; m_text&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (RX) : ORIGIN = 0x00000410, LENGTH = 0x00001BF0&lt;/P&gt;&lt;P&gt;&amp;nbsp; m_data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (RW) : ORIGIN = 0x1FFFFE00, LENGTH = 0x00000500&lt;/P&gt;&lt;P&gt;&amp;nbsp; m_cfmprotrom&amp;nbsp; (RX) : ORIGIN = 0x00000400, LENGTH = 0x00000010&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Erich&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* ################################################################### */&lt;/P&gt;&lt;P&gt;/*##&lt;/P&gt;&lt;P&gt;/*##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This component module is generated by Processor Expert. Do not modify it. */&lt;/P&gt;&lt;P&gt;/*##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/*##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Filename&amp;nbsp; : ProcessorExpert.ld */&lt;/P&gt;&lt;P&gt;/*##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/*##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Project&amp;nbsp;&amp;nbsp; : kl04z8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/*##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/*##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Processor : MKL04Z8VFM4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/*##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/*##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Compiler&amp;nbsp; : GNU C Compiler&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/*##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/*##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Date/Time : 2014-09-17, 20:54, # CodeGen: 0 */&lt;/P&gt;&lt;P&gt;/*##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/*##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Abstract&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/*##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/*##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This file is used by the linker. It describes files to be linked, */&lt;/P&gt;&lt;P&gt;/*##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; memory ranges, stack size, etc. For detailed description about linker */&lt;/P&gt;&lt;P&gt;/*##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; command files see compiler documentation. This file is generated by default. */&lt;/P&gt;&lt;P&gt;/*##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; You can switch off generation by setting the property "Generate linker file = no" */&lt;/P&gt;&lt;P&gt;/*##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in the "Build options" tab of the CPU component and then modify this file as needed. */&lt;/P&gt;&lt;P&gt;/*##&lt;/P&gt;&lt;P&gt;/*##&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;/*## ###################################################################*/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Entry Point */&lt;/P&gt;&lt;P&gt;ENTRY(__thumb_startup)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Highest address of the user mode stack */&lt;/P&gt;&lt;P&gt;_estack = 0x20000300;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* end of m_data */&lt;/P&gt;&lt;P&gt;__SP_INIT = _estack;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Generate a link error if heap and stack don't fit into RAM */&lt;/P&gt;&lt;P&gt;__heap_size = 0x50;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* required amount of heap&amp;nbsp; */&lt;/P&gt;&lt;P&gt;__stack_size = 0x50;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* required amount of stack */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MEMORY {&lt;/P&gt;&lt;P&gt;&amp;nbsp; m_interrupts (RX) : ORIGIN = 0x00000000, LENGTH = 0x000000C0&lt;/P&gt;&lt;P&gt;&amp;nbsp; m_text&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (RX) : ORIGIN = 0x00000410, LENGTH = 0x00001BF0&lt;/P&gt;&lt;P&gt;&amp;nbsp; m_data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (RW) : ORIGIN = 0x1FFFFE00, LENGTH = 0x00000500&lt;/P&gt;&lt;P&gt;&amp;nbsp; m_cfmprotrom&amp;nbsp; (RX) : ORIGIN = 0x00000400, LENGTH = 0x00000010&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Define output sections */&lt;/P&gt;&lt;P&gt;SECTIONS&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* The startup code goes first into INTERNAL_FLASH */&lt;/P&gt;&lt;P&gt;&amp;nbsp; .interrupts :&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __vector_table = .;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; . = ALIGN(4);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KEEP(*(.vectortable)) /* Startup code */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; . = ALIGN(4);&lt;/P&gt;&lt;P&gt;&amp;nbsp; } &amp;gt; m_interrupts&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; .cfmprotect :&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; . = ALIGN(4);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KEEP(*(.cfmconfig))&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Flash Configuration Field (FCF) */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; . = ALIGN(4);&lt;/P&gt;&lt;P&gt;&amp;nbsp; } &amp;gt; m_cfmprotrom&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; /* The program code and other data goes into INTERNAL_FLASH */&lt;/P&gt;&lt;P&gt;&amp;nbsp; .text :&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; . = ALIGN(4);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.text)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* .text sections (code) */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.text*)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* .text* sections (code) */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.rodata)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* .rodata sections (constants, strings, etc.) */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.rodata*)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* .rodata* sections (constants, strings, etc.) */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.glue_7)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* glue arm to thumb code */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.glue_7t)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* glue thumb to arm code */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.eh_frame)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KEEP (*(.init))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KEEP (*(.fini))&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; . = ALIGN(4);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _etext = .;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* define a global symbols at end of code */&lt;/P&gt;&lt;P&gt;&amp;nbsp; } &amp;gt; m_text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; .ARM.extab&amp;nbsp;&amp;nbsp; : { *(.ARM.extab* .gnu.linkonce.armextab.*) } &amp;gt; m_text&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .ARM : {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __exidx_start = .;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.ARM.exidx*)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __exidx_end = .;&lt;/P&gt;&lt;P&gt;&amp;nbsp; } &amp;gt; m_text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; .ctors :&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __CTOR_LIST__ = .;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* gcc uses crtbegin.o to find the start of&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; the constructors, so we make sure it is&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; first.&amp;nbsp; Because this is a wildcard, it&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; doesn't matter if the user does not&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; actually link against crtbegin.o; the&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; linker won't look for a file to match a&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wildcard.&amp;nbsp; The wildcard also means that it&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; doesn't matter which directory crtbegin.o&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; is in.&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KEEP (*crtbegin.o(.ctors))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* We don't want to include the .ctor section from&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; from the crtend.o file until after the sorted ctors.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The .ctor section from the crtend file contains the&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end of ctors marker and it must be last */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KEEP (*(SORT(.ctors.*)))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KEEP (*(.ctors))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __CTOR_END__ = .;&lt;/P&gt;&lt;P&gt;&amp;nbsp; } &amp;gt; m_text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; .dtors :&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __DTOR_LIST__ = .;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KEEP (*crtbegin.o(.dtors))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KEEP (*(SORT(.dtors.*)))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KEEP (*(.dtors))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __DTOR_END__ = .;&lt;/P&gt;&lt;P&gt;&amp;nbsp; } &amp;gt; m_text&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; .preinit_array&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROVIDE_HIDDEN (__preinit_array_start = .);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KEEP (*(.preinit_array*))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROVIDE_HIDDEN (__preinit_array_end = .);&lt;/P&gt;&lt;P&gt;&amp;nbsp; } &amp;gt; m_text&lt;/P&gt;&lt;P&gt;&amp;nbsp; .init_array :&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROVIDE_HIDDEN (__init_array_start = .);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KEEP (*(SORT(.init_array.*)))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KEEP (*(.init_array*))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROVIDE_HIDDEN (__init_array_end = .);&lt;/P&gt;&lt;P&gt;&amp;nbsp; } &amp;gt; m_text&lt;/P&gt;&lt;P&gt;&amp;nbsp; .fini_array :&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROVIDE_HIDDEN (__fini_array_start = .);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KEEP (*(SORT(.fini_array.*)))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KEEP (*(.fini_array*))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROVIDE_HIDDEN (__fini_array_end = .);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ___ROM_AT = .;&lt;/P&gt;&lt;P&gt;&amp;nbsp; } &amp;gt; m_text&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* reserve MTB memory at the beginning of m_data */&lt;/P&gt;&lt;P&gt;&amp;nbsp; .mtb : /* MTB buffer address as defined by the hardware */&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; . = ALIGN(8);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _mtb_start = .;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KEEP(*(.mtb_buf)) /* need to KEEP Micro Trace Buffer as not referenced by application */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; . = ALIGN(8);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _mtb_end = .;&lt;/P&gt;&lt;P&gt;&amp;nbsp; } &amp;gt; m_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* Initialized data sections goes into RAM, load LMA copy after code */&lt;/P&gt;&lt;P&gt;&amp;nbsp; .data : AT(___ROM_AT)&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; . = ALIGN(4);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _sdata = .;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* create a global symbol at data start */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.data)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* .data sections */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.data*)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* .data* sections */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; . = ALIGN(4);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _edata = .;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* define a global symbol at data end */&lt;/P&gt;&lt;P&gt;&amp;nbsp; } &amp;gt; m_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ___data_size = _edata - _sdata;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* Uninitialized data section */&lt;/P&gt;&lt;P&gt;&amp;nbsp; . = ALIGN(4);&lt;/P&gt;&lt;P&gt;&amp;nbsp; .bss :&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* This is used by the startup in order to initialize the .bss section */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __START_BSS = .;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROVIDE ( __bss_start__ = __START_BSS );&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.bss)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(.bss*)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *(COMMON)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; . = ALIGN(4);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __END_BSS = .;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROVIDE ( __bss_end__ = __END_BSS );&lt;/P&gt;&lt;P&gt;&amp;nbsp; } &amp;gt; m_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; _romp_at = ___ROM_AT + SIZEOF(.data);&lt;/P&gt;&lt;P&gt;&amp;nbsp; .romp : AT(_romp_at)&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __S_romp = _romp_at;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LONG(___ROM_AT);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LONG(_sdata);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LONG(___data_size);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LONG(0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LONG(0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LONG(0);&lt;/P&gt;&lt;P&gt;&amp;nbsp; } &amp;gt; m_data&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; /* User_heap_stack section, used to check that there is enough RAM left */&lt;/P&gt;&lt;P&gt;&amp;nbsp; ._user_heap_stack :&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; . = ALIGN(4);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROVIDE ( end = . );&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PROVIDE ( _end = . );&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __heap_addr = .;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __HeapBase = .;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; . = . + __heap_size;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __HeapLimit = .;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; . = . + __stack_size;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; . = ALIGN(4);&lt;/P&gt;&lt;P&gt;&amp;nbsp; } &amp;gt; m_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; .ARM.attributes 0 : { *(.ARM.attributes) }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Sep 2014 18:57:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Is-there-a-bug-or-fault-on-Processor-Expert-for-the-Kinetis-L-04/m-p/373279#M19509</guid>
      <dc:creator>BlackNight</dc:creator>
      <dc:date>2014-09-17T18:57:59Z</dc:date>
    </item>
    <item>
      <title>Re: Is there a bug or fault on Processor Expert for the Kinetis L 04 series?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Is-there-a-bug-or-fault-on-Processor-Expert-for-the-Kinetis-L-04/m-p/373280#M19510</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Erich, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You were on the right path. Here is what I discovered:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is a error with the MEMORY map at the m_data area. This below is the correct configuration:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MEMORY {&lt;/P&gt;&lt;P&gt;&amp;nbsp; m_interrupts (RX) : ORIGIN = 0x00000000, LENGTH = 0x000000C0&lt;/P&gt;&lt;P&gt;&amp;nbsp; m_text&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (RX) : ORIGIN = 0x00000410, LENGTH = 0x00001BF0&lt;/P&gt;&lt;P&gt;&amp;nbsp; m_data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (RW) : ORIGIN = 0x1FFFFF00, LENGTH = 0x00000400&lt;/P&gt;&lt;P&gt;&amp;nbsp; m_cfmprotrom&amp;nbsp; (RX) : ORIGIN = 0x00000400, LENGTH = 0x00000010&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope Freescale sees it and correct it ASAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Many thanks again for your support.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Luiz&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 19 Sep 2014 18:27:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Is-there-a-bug-or-fault-on-Processor-Expert-for-the-Kinetis-L-04/m-p/373280#M19510</guid>
      <dc:creator>luizdavimartins</dc:creator>
      <dc:date>2014-09-19T18:27:20Z</dc:date>
    </item>
    <item>
      <title>Re: Is there a bug or fault on Processor Expert for the Kinetis L 04 series?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Is-there-a-bug-or-fault-on-Processor-Expert-for-the-Kinetis-L-04/m-p/373281#M19511</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;indeed, that linker file and memory map is wrong :-(&lt;/P&gt;&lt;P&gt;I have submitted a ticket (Reference KDS-171) to have this fixed asap.&lt;/P&gt;&lt;P&gt;Many thanks,&lt;/P&gt;&lt;P&gt;Erich&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 21 Sep 2014 14:51:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Is-there-a-bug-or-fault-on-Processor-Expert-for-the-Kinetis-L-04/m-p/373281#M19511</guid>
      <dc:creator>BlackNight</dc:creator>
      <dc:date>2014-09-21T14:51:11Z</dc:date>
    </item>
  </channel>
</rss>

