<?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: FRDM-KW41Z评估板 MCUXpresso 调试问题 in MCUXpresso IDE</title>
    <link>https://community.nxp.com/t5/MCUXpresso-IDE/FRDM-KW41Z%E8%AF%84%E4%BC%B0%E6%9D%BF-MCUXpresso-%E8%B0%83%E8%AF%95%E9%97%AE%E9%A2%98/m-p/742179#M1512</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;我在Mastering the FreeRTOS Real Time Kernel - a Hands On Tutorial Guide 的364页关于Configuring an Application to Collect Run-Time Statistics中给出的实例说明如下：&lt;/P&gt;&lt;P&gt;Listing 171 shows the lines added to FreeRTOSConfig.h to enable the collection of run-time&lt;BR /&gt;statistics.&lt;BR /&gt;/* Set configGENERATE_RUN_TIME_STATS to 1 to enable collection of run-time&lt;BR /&gt;statistics. When this is done, both portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() and&lt;BR /&gt;portGET_RUN_TIME_COUNTER_VALUE() or portALT_GET_RUN_TIME_COUNTER_VALUE(x) must also&lt;BR /&gt;be defined. */&lt;BR /&gt;#define configGENERATE_RUN_TIME_STATS 1&lt;BR /&gt;/* portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() is defined to call the function that sets&lt;BR /&gt;up the hypothetical 16-bit timer (the function’s implementation is not shown). */&lt;BR /&gt;void vSetupTimerForRunTimeStats( void );&lt;BR /&gt;#define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() vSetupTimerForRunTimeStats()&lt;BR /&gt;/* portALT_GET_RUN_TIME_COUNTER_VALUE() is defined to set its parameter to the&lt;BR /&gt;current run-time counter/time value. The returned time value is 32-bits long, and is&lt;BR /&gt;formed by shifting the count of 16-bit timer overflows into the top two bytes of a&lt;BR /&gt;32-bit number, then bitwise ORing the result with the current 16-bit counter&lt;BR /&gt;value. */&lt;BR /&gt;#define portALT_GET_RUN_TIME_COUNTER_VALUE( ulCountValue ) \&lt;BR /&gt;{ \&lt;BR /&gt;extern volatile unsigned long ulOverflowCount; \\&lt;BR /&gt;/* Disconnect the clock from the counter so it does not change hile its value is being used. */ \&lt;BR /&gt;PauseTimer(); \\&lt;BR /&gt;/* The number of overflows is shifted into the most significant \&lt;BR /&gt;two bytes of the returned 32-bit value. */ \&lt;BR /&gt;ulCountValue = ( ulOverflowCount &amp;lt;&amp;lt; 16UL ); \\&lt;BR /&gt;/* The current counter value is used as the least significant \&lt;BR /&gt;two bytes of the returned 32-bit value. */ \&lt;BR /&gt;ulCountValue |= ( unsigned long ) ReadTimerCount(); \\&lt;BR /&gt;/* Reconnect the clock to the counter. */ \&lt;BR /&gt;ResumeTimer(); \&lt;BR /&gt;}&lt;BR /&gt;==============================================&lt;/P&gt;&lt;P&gt;但是没有给出void vSetupTimerForRunTimeStats( void )该如何写，哪位知到真对&lt;SPAN&gt;FRDM-KW41Z&lt;/SPAN&gt;评估板的&lt;SPAN style="font-size: 10pt;"&gt;FreeRTOS &lt;/SPAN&gt;Wireless UART示例应该选用哪个硬件定时器作为run-time statistics clock，具体如何编写这个处理函数。&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;另外，在MCUXpresso IDE 中Runtime百分数是显示在FreeRTOS Debug Task List View窗口中的，MCUXpresso IDE在使用SEGGER J-Link Probes时，FreeRTOS Task Aware Debug Views是通过&amp;nbsp;GDBServer/RTOSPlugin_FreeRTOS插件完成的。那如何将自己增加的代码与这个插件同步，使用其能够在Task List View窗口中显示Runtime百分数？如：查看哪个文件中的哪个参数项或增加必要的代码，最好能给个实例，谢谢！&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 22 Jan 2018 05:28:44 GMT</pubDate>
    <dc:creator>bjemt</dc:creator>
    <dc:date>2018-01-22T05:28:44Z</dc:date>
    <item>
      <title>FRDM-KW41Z评估板 MCUXpresso 调试问题</title>
      <link>https://community.nxp.com/t5/MCUXpresso-IDE/FRDM-KW41Z%E8%AF%84%E4%BC%B0%E6%9D%BF-MCUXpresso-%E8%B0%83%E8%AF%95%E9%97%AE%E9%A2%98/m-p/742178#M1511</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;A trainee in NXP roadshow send me a question&lt;/P&gt;&lt;P&gt;Could you help him please?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;我是北京杰安泰无损检测技术有限公司的贾工，听过您&lt;SPAN&gt;MCUXpresso IDE&lt;/SPAN&gt;的讲座，您当时讲有问题可以给您发邮件，今天冒昧打扰您一下。&lt;/P&gt;&lt;P&gt;我现在在使用&lt;SPAN&gt;FRDM-KW41Z&lt;/SPAN&gt;评估板测试程序，使用的是&lt;SPAN&gt;MCUXpresso IDE&lt;/SPAN&gt;集成开发工具，使用&lt;SPAN&gt;SEGGER J-Link Probes&lt;/SPAN&gt;在调试&lt;SPAN&gt;SDK_2.2_FRDM-KW41Z&lt;/SPAN&gt;中的&lt;SPAN&gt;BLE &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;demo application&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;中的&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;Wireless UART&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;（使用&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;FreeRTOS&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;操作系统）时，因为&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;MCUXpresso IDE FreeRTOS Debug Guide&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.0pt;"&gt;写的比较简单，&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;。&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;MCUXpresso IDE FreeRTOS Debug Guide中&lt;SPAN&gt;Task List View&lt;/SPAN&gt;中有一项&lt;STRONG&gt;Runtime&lt;/STRONG&gt;项（如下图最右边一项所示），可以显示&lt;SPAN style="font-size: 10.0pt;"&gt;FreeRTOS&lt;/SPAN&gt;每个任务的运行时间，在MCUXpresso IDE FreeRTOS Debug Guide中的图例中是可以显示此项的，但在&lt;SPAN&gt;Wireless UART&lt;/SPAN&gt;示例中这个选项是关闭的（&lt;SPAN&gt;configGENERATE_RUN_TIME_STATS=0&lt;/SPAN&gt;），我把这个参数设置为&lt;SPAN&gt;1&lt;/SPAN&gt;时，编译就报错，在FreeRTOS.h中如下文所示的一段程序，要求增加处理函数，请问真对&lt;SPAN style="font-size: 10.0pt;"&gt;FreeRTOS &lt;/SPAN&gt;Wireless UART示例应该如何增加相关参数和处理函数可以显示出&lt;STRONG&gt;Runtime&lt;/STRONG&gt;项？&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;================================================================&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #7f0055; font-size: 10.0pt;"&gt;&lt;STRONG&gt;#if&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; ( configGENERATE_RUN_TIME_STATS == 1 )&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #7f0055; font-size: 10.0pt;"&gt;&lt;STRONG&gt;#ifndef&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; portCONFIGURE_TIMER_FOR_RUN_TIME_STATS&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="; color: #7f0055; text-decoration: underline; font-size: 10.0pt;"&gt;&lt;STRONG&gt;#error&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: black; text-decoration: underline; font-size: 10.0pt;"&gt; If configGENERATE_RUN_TIME_STATS is defined then portCONFIGURE_TIMER_FOR_RUN_TIME_STATS must also be defined.&amp;nbsp; portCONFIGURE_TIMER_FOR_RUN_TIME_STATS should call a port layer function to setup a peripheral timer/counter that can then be used as the run time counter time base.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #7f0055; font-size: 10.0pt;"&gt;&lt;STRONG&gt;#endif&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* portCONFIGURE_TIMER_FOR_RUN_TIME_STATS */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #7f0055; font-size: 10.0pt;"&gt;&lt;STRONG&gt;#ifndef&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; portGET_RUN_TIME_COUNTER_VALUE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #7f0055; font-size: 10.0pt;"&gt;&lt;STRONG&gt;#ifndef&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; portALT_GET_RUN_TIME_COUNTER_VALUE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="; color: #7f0055; text-decoration: underline; font-size: 10.0pt;"&gt;&lt;STRONG&gt;#error&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: black; text-decoration: underline; font-size: 10.0pt;"&gt; If configGENERATE_RUN_TIME_STATS is defined then either portGET_RUN_TIME_COUNTER_VALUE or portALT_GET_RUN_TIME_COUNTER_VALUE must also be defined.&amp;nbsp; See the examples provided and the FreeRTOS web site &lt;/SPAN&gt;&lt;SPAN style="; color: #7f0055; text-decoration: underline; font-size: 10.0pt;"&gt;&lt;STRONG&gt;for&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: black; text-decoration: underline; font-size: 10.0pt;"&gt; more information.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #7f0055; font-size: 10.0pt;"&gt;&lt;STRONG&gt;#endif&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* portALT_GET_RUN_TIME_COUNTER_VALUE */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #7f0055; font-size: 10.0pt;"&gt;&lt;STRONG&gt;#endif&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* portGET_RUN_TIME_COUNTER_VALUE */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #7f0055; font-size: 10.0pt;"&gt;&lt;STRONG&gt;#endif&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/* configGENERATE_RUN_TIME_STATS */&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Jan 2018 01:28:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-IDE/FRDM-KW41Z%E8%AF%84%E4%BC%B0%E6%9D%BF-MCUXpresso-%E8%B0%83%E8%AF%95%E9%97%AE%E9%A2%98/m-p/742178#M1511</guid>
      <dc:creator>bin_er</dc:creator>
      <dc:date>2018-01-22T01:28:21Z</dc:date>
    </item>
    <item>
      <title>Re: FRDM-KW41Z评估板 MCUXpresso 调试问题</title>
      <link>https://community.nxp.com/t5/MCUXpresso-IDE/FRDM-KW41Z%E8%AF%84%E4%BC%B0%E6%9D%BF-MCUXpresso-%E8%B0%83%E8%AF%95%E9%97%AE%E9%A2%98/m-p/742179#M1512</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;我在Mastering the FreeRTOS Real Time Kernel - a Hands On Tutorial Guide 的364页关于Configuring an Application to Collect Run-Time Statistics中给出的实例说明如下：&lt;/P&gt;&lt;P&gt;Listing 171 shows the lines added to FreeRTOSConfig.h to enable the collection of run-time&lt;BR /&gt;statistics.&lt;BR /&gt;/* Set configGENERATE_RUN_TIME_STATS to 1 to enable collection of run-time&lt;BR /&gt;statistics. When this is done, both portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() and&lt;BR /&gt;portGET_RUN_TIME_COUNTER_VALUE() or portALT_GET_RUN_TIME_COUNTER_VALUE(x) must also&lt;BR /&gt;be defined. */&lt;BR /&gt;#define configGENERATE_RUN_TIME_STATS 1&lt;BR /&gt;/* portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() is defined to call the function that sets&lt;BR /&gt;up the hypothetical 16-bit timer (the function’s implementation is not shown). */&lt;BR /&gt;void vSetupTimerForRunTimeStats( void );&lt;BR /&gt;#define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() vSetupTimerForRunTimeStats()&lt;BR /&gt;/* portALT_GET_RUN_TIME_COUNTER_VALUE() is defined to set its parameter to the&lt;BR /&gt;current run-time counter/time value. The returned time value is 32-bits long, and is&lt;BR /&gt;formed by shifting the count of 16-bit timer overflows into the top two bytes of a&lt;BR /&gt;32-bit number, then bitwise ORing the result with the current 16-bit counter&lt;BR /&gt;value. */&lt;BR /&gt;#define portALT_GET_RUN_TIME_COUNTER_VALUE( ulCountValue ) \&lt;BR /&gt;{ \&lt;BR /&gt;extern volatile unsigned long ulOverflowCount; \\&lt;BR /&gt;/* Disconnect the clock from the counter so it does not change hile its value is being used. */ \&lt;BR /&gt;PauseTimer(); \\&lt;BR /&gt;/* The number of overflows is shifted into the most significant \&lt;BR /&gt;two bytes of the returned 32-bit value. */ \&lt;BR /&gt;ulCountValue = ( ulOverflowCount &amp;lt;&amp;lt; 16UL ); \\&lt;BR /&gt;/* The current counter value is used as the least significant \&lt;BR /&gt;two bytes of the returned 32-bit value. */ \&lt;BR /&gt;ulCountValue |= ( unsigned long ) ReadTimerCount(); \\&lt;BR /&gt;/* Reconnect the clock to the counter. */ \&lt;BR /&gt;ResumeTimer(); \&lt;BR /&gt;}&lt;BR /&gt;==============================================&lt;/P&gt;&lt;P&gt;但是没有给出void vSetupTimerForRunTimeStats( void )该如何写，哪位知到真对&lt;SPAN&gt;FRDM-KW41Z&lt;/SPAN&gt;评估板的&lt;SPAN style="font-size: 10pt;"&gt;FreeRTOS &lt;/SPAN&gt;Wireless UART示例应该选用哪个硬件定时器作为run-time statistics clock，具体如何编写这个处理函数。&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;另外，在MCUXpresso IDE 中Runtime百分数是显示在FreeRTOS Debug Task List View窗口中的，MCUXpresso IDE在使用SEGGER J-Link Probes时，FreeRTOS Task Aware Debug Views是通过&amp;nbsp;GDBServer/RTOSPlugin_FreeRTOS插件完成的。那如何将自己增加的代码与这个插件同步，使用其能够在Task List View窗口中显示Runtime百分数？如：查看哪个文件中的哪个参数项或增加必要的代码，最好能给个实例，谢谢！&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Jan 2018 05:28:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-IDE/FRDM-KW41Z%E8%AF%84%E4%BC%B0%E6%9D%BF-MCUXpresso-%E8%B0%83%E8%AF%95%E9%97%AE%E9%A2%98/m-p/742179#M1512</guid>
      <dc:creator>bjemt</dc:creator>
      <dc:date>2018-01-22T05:28:44Z</dc:date>
    </item>
    <item>
      <title>Re: FRDM-KW41Z评估板 MCUXpresso 调试问题</title>
      <link>https://community.nxp.com/t5/MCUXpresso-IDE/FRDM-KW41Z%E8%AF%84%E4%BC%B0%E6%9D%BF-MCUXpresso-%E8%B0%83%E8%AF%95%E9%97%AE%E9%A2%98/m-p/742180#M1513</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV class=""&gt;&lt;P&gt;Hi Limin Jia and Bin Er,&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As mentioned on the other post, you can find more information about MCUXpresso and FreeRTOS Thread aware debugging on the following document:&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A class="" href="https://community.nxp.com/external-link.jspa?url=https%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Fquick-reference-guide%2FMCUXpresso_IDE_FreeRTOS_Debug_Guide.pdf" rel="nofollow" target="_blank"&gt;https://www.nxp.com/docs/en/quick-reference-guide/MCUXpresso_IDE_FreeRTOS_Debug_Guide.pdf&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Hope it helps!&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;BR /&gt;Carlos Mendoza&lt;BR /&gt;Technical Support Engineer&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Jan 2018 14:53:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCUXpresso-IDE/FRDM-KW41Z%E8%AF%84%E4%BC%B0%E6%9D%BF-MCUXpresso-%E8%B0%83%E8%AF%95%E9%97%AE%E9%A2%98/m-p/742180#M1513</guid>
      <dc:creator>Carlos_Mendoza</dc:creator>
      <dc:date>2018-01-30T14:53:59Z</dc:date>
    </item>
  </channel>
</rss>

