<?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>MQX Software Solutions中的主题 Re: Programming FRDM-K64F with Keil</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/Programming-FRDM-K64F-with-Keil/m-p/631560#M16982</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vuk Lesi:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sorry for the late response.&lt;/P&gt;&lt;P&gt;I double checked your questions.&amp;nbsp; I have some doubts about your results. The _int_install_kernel_isr can work well if I reboot the devices. Why your result is fail after reboot?&amp;nbsp;&amp;nbsp; _int_install_kernel_isr can be used only if the vectors are in RAM. You need to place this code in user_config.h and rebuild the bsp and psp libraries.&lt;/P&gt;&lt;P&gt;#define MQX_ROM_VECTORS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Though the vector is in RAM, it will disappear after power lost, it will reinstall the kernel isr to RAM after reboot. Sorry maybe I didn't explain it clearly in my last reply.&lt;/P&gt;&lt;P&gt;I did a quick test with _int_install_kernel_isr on TWR-K60D100M board, and the result is OK. I attached my code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 25 Nov 2016 07:46:18 GMT</pubDate>
    <dc:creator>danielchen</dc:creator>
    <dc:date>2016-11-25T07:46:18Z</dc:date>
    <item>
      <title>Programming FRDM-K64F with Keil</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Programming-FRDM-K64F-with-Keil/m-p/631553#M16975</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have recently started working with MQX 4.2 on K64F. I use Keil uVision 5 to build my application on top of the IEEE 1588 demo project. I need a very tightly timed position control for which I use the PIT module (1ms period), however, installing a regular ISR gave me a relatively large activation jitter. I found instructions on how to use&amp;nbsp;a kernel ISR instead (I had to recompile MQX with MQX_ROM_VECTORS set to 0). The jitter in activation time of the ISR reduced greatly, but now the board is acting differently.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I compile/load my project with:&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;_int_install_isr (INT_PIT0, PIT_IRQHandler, 0);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;everything is OK, and I can reset the board multiple times and see the same code running every time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I compile/load my project with:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;_int_install_kernel_isr (INT_PIT0, PIT_IRQHandler);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;after the load finishes, I restart the board and the code runs. However, if I restart the board, no code is being run anymore until I perform another load.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does anyone have an idea why this is happening and how to overcome this? I would really have to use kernel ISRs for my application.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you very much.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Nov 2016 21:19:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Programming-FRDM-K64F-with-Keil/m-p/631553#M16975</guid>
      <dc:creator>vuklesi</dc:creator>
      <dc:date>2016-11-03T21:19:40Z</dc:date>
    </item>
    <item>
      <title>Re: Programming FRDM-K64F with Keil</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Programming-FRDM-K64F-with-Keil/m-p/631554#M16976</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vuk:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't understand "after the load finishes, I restart the board and the code runs. However, if I restart the board, no code is being run anymore until I perform another load.".&amp;nbsp; Do you mean the code can't run if restart the board?&amp;nbsp; you need to perform another load ?If this is the case, I think it is a normal behavior,&amp;nbsp; because the vector table is in RAM, the stored information is lost if power is removed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;_int_install_kernel_isr can be used only if the vectors are in RAM. You can also install the user kernel_isr when MQX_ROM_VECTORS is set, but then you cann't use the _int_install_kernel_isr function, you need to modify the ROM vector table itself, as it resides in the flash in this configuration&lt;/P&gt;&lt;P&gt;mqx/source/bsp/frdmk64f/vectors.c&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can have a try, hope it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Nov 2016 08:43:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Programming-FRDM-K64F-with-Keil/m-p/631554#M16976</guid>
      <dc:creator>danielchen</dc:creator>
      <dc:date>2016-11-04T08:43:08Z</dc:date>
    </item>
    <item>
      <title>Re: Programming FRDM-K64F with Keil</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Programming-FRDM-K64F-with-Keil/m-p/631555#M16977</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Daniel,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you very much for a prompt response. I was not aware that MQX_ROM_VECTORS set to 0 will not allow the created binary file to be runnable anytime.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Could you point me to any documents to help with customizing the vector table?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you very much!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Nov 2016 13:52:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Programming-FRDM-K64F-with-Keil/m-p/631555#M16977</guid>
      <dc:creator>vuklesi</dc:creator>
      <dc:date>2016-11-04T13:52:49Z</dc:date>
    </item>
    <item>
      <title>Re: Programming FRDM-K64F with Keil</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Programming-FRDM-K64F-with-Keil/m-p/631556#M16978</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please refer to the below code&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/7322i9872D0A782C3EC77/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Nov 2016 05:56:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Programming-FRDM-K64F-with-Keil/m-p/631556#M16978</guid>
      <dc:creator>danielchen</dc:creator>
      <dc:date>2016-11-08T05:56:23Z</dc:date>
    </item>
    <item>
      <title>Re: Programming FRDM-K64F with Keil</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Programming-FRDM-K64F-with-Keil/m-p/631557#M16979</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a short question, do you load your image to SRAM, or to Flash ?&amp;nbsp; If you load to SRAM, I think the vector table will lost after reboot.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Nov 2016 05:59:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Programming-FRDM-K64F-with-Keil/m-p/631557#M16979</guid>
      <dc:creator>danielchen</dc:creator>
      <dc:date>2016-11-08T05:59:14Z</dc:date>
    </item>
    <item>
      <title>Re: Programming FRDM-K64F with Keil</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Programming-FRDM-K64F-with-Keil/m-p/631558#M16980</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Daniel,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you very much for your help. I use the fromelf image converter to produce a .bin file at the end of building my project, which I copy to the flash memory of K64F.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for the screenshot. I suppose I should supply the name of my ISR for ivINT_PIT0, not ivINT_Hard_Fault. However, I also need to set the NVIC correctly, besides manually changing the vector table, right? I have tried just calling&amp;nbsp;_bsp_int_init((IRQInterruptIndex)INT_PIT0,1,0,TRUE); but that does not work. Could you please explain&amp;nbsp;what else do I need to do besides defining my ISR and adding its name to the vector table?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you very much for your time.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Nov 2016 16:32:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Programming-FRDM-K64F-with-Keil/m-p/631558#M16980</guid>
      <dc:creator>vuklesi</dc:creator>
      <dc:date>2016-11-08T16:32:25Z</dc:date>
    </item>
    <item>
      <title>Re: Programming FRDM-K64F with Keil</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Programming-FRDM-K64F-with-Keil/m-p/631559#M16981</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Daniel,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am still having trouble with&lt;SPAN style="font-family: arial, helvetica, sans-serif;"&gt; this. So, I have modified the vector t&lt;/SPAN&gt;able in &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;vector.c&lt;/SPAN&gt; as in these screenshots:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="Capture1.PNG"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/8581i8270B79D38534E65/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture1.PNG" alt="Capture1.PNG" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="Capture.PNG"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/8630i346C61F28B46B27C/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture.PNG" alt="Capture.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif;"&gt;Additionally, in&amp;nbsp;one of the single-shot tasks, I call:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt; _int_install_kernel_isr (INT_PIT0, interpolationPeriodRoutine);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt; _bsp_int_init ((IRQInterruptIndex)INT_PIT0, 0, 0, TRUE);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif;"&gt;But this does not give me the ability to run my application after restarting the board. If I remove the call to &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;_int_install_kernel_isr&lt;/SPAN&gt;, and leave only &lt;SPAN&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;_bsp_int_init&lt;/SPAN&gt;,&amp;nbsp;&lt;/SPAN&gt;then my ISR never gets activated, which makes me think that I am not modifying the vector table correctly. I should probably note that I do rebuild MQX projects after changing anything in the &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;vector.c&lt;/SPAN&gt; file. Could you please point out what am I doing wrong?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: arial, helvetica, sans-serif;"&gt;Thank you very much for your help.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Nov 2016 15:49:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Programming-FRDM-K64F-with-Keil/m-p/631559#M16981</guid>
      <dc:creator>vuklesi</dc:creator>
      <dc:date>2016-11-22T15:49:23Z</dc:date>
    </item>
    <item>
      <title>Re: Programming FRDM-K64F with Keil</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Programming-FRDM-K64F-with-Keil/m-p/631560#M16982</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Vuk Lesi:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sorry for the late response.&lt;/P&gt;&lt;P&gt;I double checked your questions.&amp;nbsp; I have some doubts about your results. The _int_install_kernel_isr can work well if I reboot the devices. Why your result is fail after reboot?&amp;nbsp;&amp;nbsp; _int_install_kernel_isr can be used only if the vectors are in RAM. You need to place this code in user_config.h and rebuild the bsp and psp libraries.&lt;/P&gt;&lt;P&gt;#define MQX_ROM_VECTORS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Though the vector is in RAM, it will disappear after power lost, it will reinstall the kernel isr to RAM after reboot. Sorry maybe I didn't explain it clearly in my last reply.&lt;/P&gt;&lt;P&gt;I did a quick test with _int_install_kernel_isr on TWR-K60D100M board, and the result is OK. I attached my code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Nov 2016 07:46:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Programming-FRDM-K64F-with-Keil/m-p/631560#M16982</guid>
      <dc:creator>danielchen</dc:creator>
      <dc:date>2016-11-25T07:46:18Z</dc:date>
    </item>
    <item>
      <title>Re: Programming FRDM-K64F with Keil</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Programming-FRDM-K64F-with-Keil/m-p/631561#M16983</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here attached my code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Nov 2016 07:52:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Programming-FRDM-K64F-with-Keil/m-p/631561#M16983</guid>
      <dc:creator>danielchen</dc:creator>
      <dc:date>2016-11-25T07:52:23Z</dc:date>
    </item>
    <item>
      <title>Re: Programming FRDM-K64F with Keil</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Programming-FRDM-K64F-with-Keil/m-p/631562#M16984</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Daniel,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you very much for your efforts. I have the default vector table and I used to have several tasks that initialize the peripherals that I need. When I converged all that code into one task, even though nothing significant was really changed, my problem got fixed somehow. So, just putting all initialization into one task fixed my issue. I am not sure why this is the case, but this solved the issue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for helping around this issue.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Nov 2016 14:43:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Programming-FRDM-K64F-with-Keil/m-p/631562#M16984</guid>
      <dc:creator>vuklesi</dc:creator>
      <dc:date>2016-11-30T14:43:42Z</dc:date>
    </item>
  </channel>
</rss>

