<?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 Re: Problems going from K60 Tower to MK60DN512VLQ10 on custom board in MQX Software Solutions</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/Problems-going-from-K60-Tower-to-MK60DN512VLQ10-on-custom-board/m-p/356793#M11610</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;When you use PE for basic modification at new BSP, clock settings from PE “overwrite” MQX clock settings (more details in: Freescale_MQX_4_1\doc\tools\cw\MQX_Howto_Setup_Kinetis_Clock_UsingPE.pdf). However current pins configuration is typically modified when you install any MQX driver and this will probably overwrite your PE configuration. Please check mainly init_gpio.c file in your BSP source directory. You can see here pin configurations for various hardware modules. I would like to recommend modifications in this file according your board configuration.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you want use some of PE drivers, you have to modify MQX drivers by PE code (or use directly MQX_Lite).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However from you description (debugging isn’t possible) it really looks like some hardware issue – probably in clock domain.&lt;/P&gt;&lt;P&gt;I suppose that you used TWR-K60D100M as pattern for your BSP, correct?&lt;/P&gt;&lt;P&gt;Could you please check whether you used clock source (crystal/oscillator) with the same/similar parameters? Could you please check by oscilloscope whether crystal/oscillator runs?&lt;/P&gt;&lt;P&gt;You can try placing here your schematic and I will check it for any obvious or potential issues.&lt;/P&gt;&lt;P&gt;&lt;BR /&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, 24 Nov 2014 15:13:17 GMT</pubDate>
    <dc:creator>RadekS</dc:creator>
    <dc:date>2014-11-24T15:13:17Z</dc:date>
    <item>
      <title>Problems going from K60 Tower to MK60DN512VLQ10 on custom board</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Problems-going-from-K60-Tower-to-MK60DN512VLQ10-on-custom-board/m-p/356792#M11609</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am using MQX4.1 and CW10.6 and recently made a custom board using MK60DN512VLQ10.&amp;nbsp; I did all my program dev on K60 tower module.&amp;nbsp; I switched processor used under bsp using processorexpert.&amp;nbsp; I changed the I/O around so there was no conflicts, everything compiles, no issues.&amp;nbsp; I can load the program successfully but only by using the flash file to target using PE multilink - Run and debug methods dont work.&amp;nbsp; After program loads, I reboot my device and the led that is always supposed to come on never does, no lights come on Ethernet Jack when cable is plugged in, no signs of life, etc.&amp;nbsp; I am sure it may be hardware issue, but just wanted to double check that there is not a setting I am missing in CW10.6/PE/MQX that says load program out of a particular area that changed going from tower to custom board.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Nov 2014 14:54:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Problems-going-from-K60-Tower-to-MK60DN512VLQ10-on-custom-board/m-p/356792#M11609</guid>
      <dc:creator>chinniwhites</dc:creator>
      <dc:date>2014-11-20T14:54:33Z</dc:date>
    </item>
    <item>
      <title>Re: Problems going from K60 Tower to MK60DN512VLQ10 on custom board</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Problems-going-from-K60-Tower-to-MK60DN512VLQ10-on-custom-board/m-p/356793#M11610</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;When you use PE for basic modification at new BSP, clock settings from PE “overwrite” MQX clock settings (more details in: Freescale_MQX_4_1\doc\tools\cw\MQX_Howto_Setup_Kinetis_Clock_UsingPE.pdf). However current pins configuration is typically modified when you install any MQX driver and this will probably overwrite your PE configuration. Please check mainly init_gpio.c file in your BSP source directory. You can see here pin configurations for various hardware modules. I would like to recommend modifications in this file according your board configuration.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you want use some of PE drivers, you have to modify MQX drivers by PE code (or use directly MQX_Lite).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However from you description (debugging isn’t possible) it really looks like some hardware issue – probably in clock domain.&lt;/P&gt;&lt;P&gt;I suppose that you used TWR-K60D100M as pattern for your BSP, correct?&lt;/P&gt;&lt;P&gt;Could you please check whether you used clock source (crystal/oscillator) with the same/similar parameters? Could you please check by oscilloscope whether crystal/oscillator runs?&lt;/P&gt;&lt;P&gt;You can try placing here your schematic and I will check it for any obvious or potential issues.&lt;/P&gt;&lt;P&gt;&lt;BR /&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, 24 Nov 2014 15:13:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Problems-going-from-K60-Tower-to-MK60DN512VLQ10-on-custom-board/m-p/356793#M11610</guid>
      <dc:creator>RadekS</dc:creator>
      <dc:date>2014-11-24T15:13:17Z</dc:date>
    </item>
    <item>
      <title>Re: Problems going from K60 Tower to MK60DN512VLQ10 on custom board</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Problems-going-from-K60-Tower-to-MK60DN512VLQ10-on-custom-board/m-p/356794#M11611</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for Reply!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I fought through some issues but still do not have running board. I was finally able to debug and seen my code gets stuck in a while loop in cpu.c due to incorrect clock settings.&amp;nbsp; I do not have external osc on custom board, so I change clock config to use FEI and problem seem to go away.&amp;nbsp; Now, I debug and get stuck in mqx.c line 386.&amp;nbsp; Comments on mqx_exit functions say:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is important to ensure that the environment (boot call stack) the&lt;/P&gt;&lt;P&gt; * MQX is returning to is in the consistent state. This is not provided by&lt;/P&gt;&lt;P&gt; * distributed MQX BSPs, because the boot stack is reused (rewritten) by MQX&lt;/P&gt;&lt;P&gt; * Kernel data. Set the boot stack outside of Kernel data section to support&lt;/P&gt;&lt;P&gt; * correct _mqx_exit() functionality.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How do I set the boot stack outside of the Kernal data???&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#if MQX_EXIT_ENABLED || MQX_CRIPPLED_EVALUATION&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; kernel_data-&amp;gt;USERS_ERROR = error;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (kernel_data-&amp;gt;EXIT_HANDLER) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (*kernel_data-&amp;gt;EXIT_HANDLER)();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }/* Endif */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MQX_LONGJMP( _mqx_exit_jump_buffer_internal, 1 );&lt;/P&gt;&lt;P&gt;#else&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (TRUE) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;-----line 386&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } /* Endwhile */&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;P&gt;} /* Endbody */&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Nov 2014 14:37:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Problems-going-from-K60-Tower-to-MK60DN512VLQ10-on-custom-board/m-p/356794#M11611</guid>
      <dc:creator>chinniwhites</dc:creator>
      <dc:date>2014-11-25T14:37:52Z</dc:date>
    </item>
    <item>
      <title>Re: Problems going from K60 Tower to MK60DN512VLQ10 on custom board</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Problems-going-from-K60-Tower-to-MK60DN512VLQ10-on-custom-board/m-p/356795#M11612</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes I agree that this description isn’t very clear, but it is simple.&lt;/P&gt;&lt;P&gt;You code call function for exit from mqx code.&lt;/P&gt;&lt;P&gt;There are two options how to continue after MQX exit:&lt;/P&gt;&lt;OL style="list-style-type: decimal;"&gt;&lt;LI&gt;You can stay in endless loop as in your case.&lt;/LI&gt;&lt;LI&gt;You can start execute any other code (if MQX_EXIT_ENABLED || MQX_CRIPPLED_EVALUATION), but in this case you have to specify which code has to be executed (e.g. some baremetal code, bootloader, …). So, you can specify _mqx_exit_jump_buffer_internal as address where starts code which has to be executed when MQX ends.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Of course, this is absolutely out of control of MQX which already ends.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Nov 2014 15:53:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Problems-going-from-K60-Tower-to-MK60DN512VLQ10-on-custom-board/m-p/356795#M11612</guid>
      <dc:creator>RadekS</dc:creator>
      <dc:date>2014-11-25T15:53:45Z</dc:date>
    </item>
    <item>
      <title>Re: Problems going from K60 Tower to MK60DN512VLQ10 on custom board</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Problems-going-from-K60-Tower-to-MK60DN512VLQ10-on-custom-board/m-p/356796#M11613</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Is the calling of _mqx_exit function happening in error or is this normal MQX operation to call this function?&amp;nbsp; How do I fix?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I change MQX_EXIT_ENABLED to 1 in small_ram_config.h and now I am stuck here in _arm_end.c:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*&lt;/P&gt;&lt;P&gt; *&amp;nbsp;&amp;nbsp;&amp;nbsp; _ExitProcess&lt;/P&gt;&lt;P&gt; *&lt;/P&gt;&lt;P&gt; */&lt;/P&gt;&lt;P&gt;extern void _ExitProcess(int status) _EWL_WEAK;&lt;/P&gt;&lt;P&gt;extern void _ExitProcess(int status)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;#if defined(__SEMIHOSTING)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sys_exit(status);&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (1);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_0.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/47553iEADBA91F5BB63BD4/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_0.png" alt="pastedImage_0.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Nov 2014 19:18:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Problems-going-from-K60-Tower-to-MK60DN512VLQ10-on-custom-board/m-p/356796#M11613</guid>
      <dc:creator>chinniwhites</dc:creator>
      <dc:date>2014-11-25T19:18:50Z</dc:date>
    </item>
    <item>
      <title>Re: Problems going from K60 Tower to MK60DN512VLQ10 on custom board</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Problems-going-from-K60-Tower-to-MK60DN512VLQ10-on-custom-board/m-p/356797#M11614</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;_mqx_exit is standard function which is used in both cases.&lt;/P&gt;&lt;P&gt;You can call _mqx_exit when MQX finish his work and there isn’t any task for executing like in case of bootloader (_mqx_exit(0), This will cause exit bootloader mqx app and execute the new image).&lt;/P&gt;&lt;P&gt;Or, you can call _mqx_exit in case of any fatal error (e.g. _mqx_exit(1), in case of out of memory issue).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;__arm_end.c is file from CW arm library, and it works likewise as in _mqx_exit however this is next step after _mqx_exit function. I suppose that you don’t have any other code except your MQX application, therefore you should search what cause call of _mqx_exit function in your case.&lt;/P&gt;&lt;P&gt;If you are not able debug it step by step, you can search using of _mqx_exit function in MQX directory and your project and use breakpoints for revelation of place where code calls _mqx_exit function.&lt;/P&gt;&lt;P&gt;Other way is create breakpoint at begin of _mqx_exit and look at call stack for search from where this function is called.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Nov 2014 13:00:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Problems-going-from-K60-Tower-to-MK60DN512VLQ10-on-custom-board/m-p/356797#M11614</guid>
      <dc:creator>RadekS</dc:creator>
      <dc:date>2014-11-26T13:00:40Z</dc:date>
    </item>
    <item>
      <title>Re: Problems going from K60 Tower to MK60DN512VLQ10 on custom board</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Problems-going-from-K60-Tower-to-MK60DN512VLQ10-on-custom-board/m-p/356798#M11615</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I choose FBI for clock config and I no longer have the mqx exit issue.&amp;nbsp; Now I have the same exact issue as mentioned in this post here:&lt;A href="https://community.nxp.com/thread/307684"&gt;MQX BSP Port CodeWarrior Debug Issue&lt;/A&gt; : problem is there doesnt seem to be answer to what fixed...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Execution starts at the program entry point in boot.S. The following lines of code are stepped through:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL class="dp-cpp" start="1"&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment"&gt;/* disable interrupts and clear pending flags */&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr r0, =&lt;SPAN class="number"&gt;0xe000e180&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment"&gt;/* NVIC_ICER0 - Interrupt Clear-Enable Registers */&lt;/SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr r1, =&lt;SPAN class="number"&gt;0xe000e280&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment"&gt;/* NVIC_ICPR0 - Interrupt Clear-Pending Registers */&lt;/SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldr r2, =&lt;SPAN class="number"&gt;0xffffffff&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mov r3, #&lt;SPAN class="number"&gt;8&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;ASM_LABEL(_boot_loop)&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cbz r3, _boot_loop_end&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; str r2, [r0], #&lt;SPAN class="number"&gt;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment"&gt;/* NVIC_ICERx - clear enable IRQ register */&lt;/SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; str r2, [r1], #&lt;SPAN class="number"&gt;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment"&gt;/* NVIC_ICPRx - clear pending IRQ register */&lt;/SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sub r3, r3, #&lt;SPAN class="number"&gt;1&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b _boot_loop&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;ASM_LABEL(_boot_loop_end)&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment"&gt;/* prepare process stack pointer */&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mrs r0, MSP&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msr PSP, r0&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment"&gt;/* switch to proccess stack (PSP) */&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mrs r0, CONTROL&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; orr r0, r0, #&lt;SPAN class="number"&gt;2&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msr CONTROL, r0&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; isb #&lt;SPAN class="number"&gt;15&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt; After line 20 in the above segment code jumps to line 3 in the following: &lt;/P&gt;&lt;OL class="dp-cpp" start="1"&gt;&lt;LI&gt;&lt;SPAN class="preprocessor"&gt;#if defined(__CODEWARRIOR__)&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ASM_EXTERN(__thumb_startup)&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b ASM_PREFIX(__thumb_startup)&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&lt;SPAN class="preprocessor"&gt;#elif defined(TOOLCHAIN_GCC_CW)&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment"&gt;/* call startup from EWL library */&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ASM_EXTERN(__thumb_startup)&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b ASM_PREFIX(__thumb_startup)&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&lt;SPAN class="preprocessor"&gt;#elif defined(__IAR_SYSTEMS_ICC__)&amp;nbsp; || defined (__IASMARM__)&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ASM_EXTERN(__iar_program_start)&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b ASM_PREFIX(__iar_program_start)&amp;nbsp; &lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After this the execution jumps to startup.c inside asm void __thumb_startup(void). The _bl_init_registers fall through fine. After that the call to _bl_init_hardware takes the control to comp.c __init_hardware(void) and from there to init_hw.c and from there to CPU.c __pe_hardware_initialize(void). The following lines of code execute there:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL class="dp-cpp" start="1"&gt;&lt;LI&gt;&lt;SPAN class="keyword"&gt;void __pe_initialize_hardware(&lt;SPAN class="keyword"&gt;void&lt;/SPAN&gt;)&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;{&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&amp;nbsp; &lt;SPAN class="comment"&gt;/*** !!! Here you can place your own code before PE initialization using property "User code before PE initialization" on the build options tab. !!! ***/&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&amp;nbsp; &lt;SPAN class="comment"&gt;/*** ### MK60DN512ZVMD10 "Cpu" init code ... ***/&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp; &lt;SPAN class="comment"&gt;/*** PE initialization code after reset ***/&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp; &lt;SPAN class="comment"&gt;/* SIM_SCGC6: RTC=1 */&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp; SIM_SCGC6 |= (uint32_t)0x20000000UL;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;/LI&gt;&lt;LI&gt;&amp;nbsp; &lt;SPAN class="keyword"&gt;if ((RTC_CR &amp;amp; RTC_CR_OSCE_MASK) == 0u) { &lt;SPAN class="comment"&gt;/* Only if the OSCILLATOR is not already enabled */&lt;/SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment"&gt;/* RTC_CR: SC2P=0,SC4P=0,SC8P=0,SC16P=0 */&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RTC_CR &amp;amp;= (uint32_t)~0x3C00UL;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment"&gt;/* RTC_CR: OSCE=1 */&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RTC_CR |= (uint32_t)0x0100UL;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment"&gt;/* RTC_CR: CLKO=0 */&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RTC_CR &amp;amp;= (uint32_t)~0x0200UL;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;/LI&gt;&lt;LI&gt;&amp;nbsp; }&amp;nbsp; &lt;/LI&gt;&lt;LI&gt;&amp;nbsp; &lt;SPAN class="comment"&gt;/* Disable the WDOG module */&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp; &lt;SPAN class="comment"&gt;/* WDOG_UNLOCK: WDOGUNLOCK=0xC520 */&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&amp;nbsp; WDOG_UNLOCK = (uint16_t)0xC520U;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment"&gt;/* Key 1 */&amp;nbsp; &lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;At line 18 of the above segment on trying to step through it the control goes back to the first line of the boot.S segment of code given above and execution follows the same chain infinitely from there.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Nov 2014 14:36:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Problems-going-from-K60-Tower-to-MK60DN512VLQ10-on-custom-board/m-p/356798#M11615</guid>
      <dc:creator>chinniwhites</dc:creator>
      <dc:date>2014-11-26T14:36:39Z</dc:date>
    </item>
  </channel>
</rss>

