<?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: MCF52259 time issue, and processing time in MQX Software Solutions</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580683#M16590</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Carl:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;_time_delay() is blocking function, which puts the calling task to the timeout queue. When timeout exceeds for the task ( measured by the BSP tick timer interrupt ) the task is put back to ready queue. Then , RTOS scheduler runs and selects next active task to run depending on scheduling rules.&amp;nbsp; It depends on what are other ready tasks at the moment and their priorities and what interrupts are running at the moment. _time_delay() is specified to guarantee minimum time, not maximum. Maximum depends on the application.&amp;nbsp; So , please don't use time_delay for precise timer requirement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you need 1ms range, I think you have an options to try&amp;nbsp; modify &amp;nbsp; the macro&amp;nbsp; BSP_ALARM_FREQUENCY&amp;nbsp; from 200 to 1000, then you will get the tick time is 1ms. but you need to do more tests.&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>Wed, 07 Sep 2016 08:04:50 GMT</pubDate>
    <dc:creator>danielchen</dc:creator>
    <dc:date>2016-09-07T08:04:50Z</dc:date>
    <item>
      <title>MCF52259 time issue, and processing time</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580673#M16580</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;I have done a simple test on my processor as I am having some issues&amp;nbsp;with things taking to long.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so I have found each of my "real time" issues and made a very simple block of code with comments showing how long things take.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;One obvious issue I can see is that&amp;nbsp;_time_delay(1) to _time_delay(9) all end up taking 10mS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The other concern is just how long its taking to dump data into a buffer to send.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code is very simple with comments showing how long each thing takes. I measured this in my DSO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//Priority 6 task, release BSP/PSP version with optimization&lt;/P&gt;&lt;P&gt;void SDI_Task(uint_32)&lt;BR /&gt;{&lt;BR /&gt; UINT8 i = 0;&lt;BR /&gt; &lt;BR /&gt; Shell_IO = (pointer)fopen("ittya:", (pointer) (IO_SERIAL_RAW_IO));&lt;BR /&gt; &lt;BR /&gt; reg_ptr-&amp;gt;GPIO.DDRUC |= 0b00000100; //Force to output state&lt;BR /&gt; reg_ptr-&amp;gt;GPIO.PORTUC &amp;amp;= (~0b00000100); //Force to output to low&lt;BR /&gt; &lt;BR /&gt; //Test 1 All of these pulses are exactly 10mS! instead of 1, 2, 3, 4, 5, 6mS &lt;BR /&gt; reg_ptr-&amp;gt;GPIO.PORTUC |= 0b00000100; //Force to output to high&lt;BR /&gt; _time_delay(1);&lt;BR /&gt; reg_ptr-&amp;gt;GPIO.PORTUC &amp;amp;= (~0b00000100); //Force to output to low&lt;BR /&gt; _time_delay(1);&lt;BR /&gt; reg_ptr-&amp;gt;GPIO.PORTUC |= 0b00000100; //Force to output to high&lt;BR /&gt; _time_delay(2);&lt;BR /&gt; reg_ptr-&amp;gt;GPIO.PORTUC &amp;amp;= (~0b00000100); //Force to output to low _time_delay(1);&lt;BR /&gt; _time_delay(1);&lt;BR /&gt; reg_ptr-&amp;gt;GPIO.PORTUC |= 0b00000100; //Force to output to high&lt;BR /&gt; _time_delay(3);&lt;BR /&gt; reg_ptr-&amp;gt;GPIO.PORTUC &amp;amp;= (~0b00000100); //Force to output to low&lt;BR /&gt; _time_delay(1);&lt;BR /&gt; reg_ptr-&amp;gt;GPIO.PORTUC |= 0b00000100; //Force to output to high&lt;BR /&gt; _time_delay(4);&lt;BR /&gt; reg_ptr-&amp;gt;GPIO.PORTUC &amp;amp;= (~0b00000100); //Force to output to low&lt;BR /&gt; _time_delay(1);&lt;BR /&gt; reg_ptr-&amp;gt;GPIO.PORTUC |= 0b00000100; //Force to output to high&lt;BR /&gt; _time_delay(5);&lt;BR /&gt; reg_ptr-&amp;gt;GPIO.PORTUC &amp;amp;= (~0b00000100); //Force to output to low&lt;BR /&gt; _time_delay(1);&lt;BR /&gt; reg_ptr-&amp;gt;GPIO.PORTUC |= 0b00000100; //Force to output to high&lt;BR /&gt; _time_delay(6);&lt;BR /&gt; reg_ptr-&amp;gt;GPIO.PORTUC &amp;amp;= (~0b00000100); //Force to output to low&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;_time_delay(50); //This delay takes about 54mS&lt;BR /&gt; &lt;BR /&gt; //Test 2 this takes ~815uS to "buffer" up ~90 chars. this processors bus is supposed to be running at 80Mhz, and 76MIPS, so about 65,200 bus clocks to buffer up 90 chars...&lt;BR /&gt; reg_ptr-&amp;gt;GPIO.PORTUC |= 0b00000100; //Force to output to high&lt;BR /&gt; fprintf(Shell_IO, "starting this long test that should not take to long ay, because it should just continue\n");&lt;BR /&gt; reg_ptr-&amp;gt;GPIO.PORTUC &amp;amp;= (~0b00000100); //Force to output to low&lt;BR /&gt; &lt;BR /&gt; _time_delay(50);&lt;BR /&gt; &lt;BR /&gt; //Test 3 this takes 7.8mS which is about right for transmitting 90 chars on 115200baud on ittya&lt;BR /&gt; reg_ptr-&amp;gt;GPIO.PORTUC |= 0b00000100; //Force to output to high&lt;BR /&gt; fprintf(Shell_IO, "starting this long test that should not take to long ay, because it should just with ff \n");&lt;BR /&gt; fflush(Shell_IO);&lt;BR /&gt; reg_ptr-&amp;gt;GPIO.PORTUC &amp;amp;= (~0b00000100); //Force to output to low&lt;/P&gt;&lt;P&gt;_time_delay(50);&lt;BR /&gt; &lt;BR /&gt; //Test 4 This takes about 71.5mS to format and print around 1300 chars, so thats about 5.7 Million bus clocks... About 4400 clocks per char...&lt;BR /&gt; reg_ptr-&amp;gt;GPIO.PORTUC |= 0b00000100; //Force to output to high&lt;BR /&gt; for(i = 0; i != 0xFF; ++i)&lt;BR /&gt; {&lt;BR /&gt; fprintf(Shell_IO, " 0x%02X", i);&lt;BR /&gt; }&lt;BR /&gt; fprintf(Shell_IO, "\n\n");&lt;BR /&gt; reg_ptr-&amp;gt;GPIO.PORTUC &amp;amp;= (~0b00000100); //Force to output to low&lt;/P&gt;&lt;P&gt;_time_delay(50);&lt;/P&gt;&lt;P&gt;//Test 5 this takes about 112mS which is about right on for 1300 chars printed&lt;BR /&gt; reg_ptr-&amp;gt;GPIO.PORTUC |= 0b00000100; //Force to output to high&lt;BR /&gt; for(i = 0; i != 0xFF; ++i)&lt;BR /&gt; {&lt;BR /&gt; fprintf(Shell_IO, " 0X%02X", i);&lt;BR /&gt; }&lt;BR /&gt; fprintf(Shell_IO, "\n\n");&lt;BR /&gt; fflush(Shell_IO);&lt;BR /&gt; reg_ptr-&amp;gt;GPIO.PORTUC &amp;amp;= (~0b00000100); //Force to output to low&lt;/P&gt;&lt;P&gt;_task_block();&lt;BR /&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 01 Sep 2016 02:24:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580673#M16580</guid>
      <dc:creator>carlnormansuret</dc:creator>
      <dc:date>2016-09-01T02:24:06Z</dc:date>
    </item>
    <item>
      <title>Re: MCF52259 time issue, and processing time</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580674#M16581</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Carl Norman:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;_time_delay&amp;nbsp; is not useful for precise delays,it is ensuing your application will block for at least the number of ms you enter as a minimum and not a maximum. The ms is converted to TICKS in the function call and rounded up one TICK. &lt;/P&gt;&lt;P&gt;if you need more precise timer, I suggest you use hardware timer. please see the attached document for more details.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding how long its taking to dump data into a buffer to send, please refer to the timing results in the below folder&lt;/P&gt;&lt;P&gt;C:\Freescale\Freescale_MQX_4_2\mqx\examples\benchmrk\timing\results_4.0.0\cw10\twrmcf52259&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for your interest in NXP products and the opportunity to serve you.&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>Thu, 01 Sep 2016 03:08:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580674#M16581</guid>
      <dc:creator>danielchen</dc:creator>
      <dc:date>2016-09-01T03:08:02Z</dc:date>
    </item>
    <item>
      <title>Re: MCF52259 time issue, and processing time</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580675#M16582</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks :smileyhappy:&amp;nbsp;I will look into these options to sort out my issues.&amp;nbsp;I have had to implment some pretty strict timing requirments for a protocol interface that have made me&amp;nbsp;find these limits.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 01 Sep 2016 03:59:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580675#M16582</guid>
      <dc:creator>carlnormansuret</dc:creator>
      <dc:date>2016-09-01T03:59:50Z</dc:date>
    </item>
    <item>
      <title>Re: MCF52259 time issue, and processing time</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580676#M16583</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have had a look at what you supplied and the hwtimer example supplied with MQX&amp;nbsp;and it does not appear to be supported in the TWR52259 at all, and it is not compatible either as the example is based around the TWR-K64F120M.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Basically nothing supplied appears to have anything to do with the platform I am using.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Are there examples of getting the MCF52259 to fire off events at 1mS intervals?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 01 Sep 2016 05:10:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580676#M16583</guid>
      <dc:creator>carlnormansuret</dc:creator>
      <dc:date>2016-09-01T05:10:49Z</dc:date>
    </item>
    <item>
      <title>Re: MCF52259 time issue, and processing time</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580677#M16584</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can someone tell me how to get a 1mS timer using MQX and MCF52259 (TWR)? seems like a pretty simple / obvious task for a RToS running 76MIPS, but apparently its not?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Sep 2016 05:34:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580677#M16584</guid>
      <dc:creator>carlnormansuret</dc:creator>
      <dc:date>2016-09-02T05:34:00Z</dc:date>
    </item>
    <item>
      <title>Re: MCF52259 time issue, and processing time</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580678#M16585</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Carl Norman:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sorry I forgot you are using Mcf52259.&lt;/P&gt;&lt;P&gt;Could you try the following code&lt;/P&gt;&lt;PRE style="color: #000000; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;"&gt; /* install new ISR on Programmable Interrupt Timer1 */&amp;nbsp;
 _int_install_isr(MCF5225_INT_PIT1, PIT1_1ms_Periodic_ISR, NULL);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
 /*&amp;nbsp; BSP_LAST_TIMER= 1(PIT1); FREQUENCY=1000ticks(1ms).&amp;nbsp; */&amp;nbsp;
 _mcf5225_timer_init_freq(BSP_LAST_TIMER, 1000, BSP_SYSTEM_CLOCK, TRUE);&amp;nbsp;&amp;nbsp;
 void PIT1_1ms_Periodic_ISR(pointer param) 
{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ++t; } &amp;nbsp; &lt;/PRE&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, 02 Sep 2016 06:12:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580678#M16585</guid>
      <dc:creator>danielchen</dc:creator>
      <dc:date>2016-09-02T06:12:38Z</dc:date>
    </item>
    <item>
      <title>Re: MCF52259 time issue, and processing time</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580679#M16586</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Please also refer to the following link for a timer demo,&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/thread/433761"&gt;https://community.nxp.com/thread/433761&lt;/A&gt;&amp;nbsp;&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, 02 Sep 2016 14:00:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580679#M16586</guid>
      <dc:creator>danielchen</dc:creator>
      <dc:date>2016-09-02T14:00:15Z</dc:date>
    </item>
    <item>
      <title>Re: MCF52259 time issue, and processing time</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580680#M16587</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I tried this Cycle routine using _timer_start_periodic and it works fine at 20mS, however,&amp;nbsp;I tried 1mS and 2mS it&amp;nbsp;returns&amp;nbsp;TIMER_NULL_ID&amp;nbsp;so I assume there is some checks and if its to fast it wont work (point is it doesnt work).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried 5mS and it worked... I guess I can possibly work around a solution at 5mS. I just worry now that the context switching will cause issues as MQX is quite slow compared to what I would have thought..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can anyone explain why 1mS timers in a 76MIPs processor is such a problem? I do this stuff in little HC08 8 bit processors all the time and have no issue, I would have thought a 32bit 76MIPS processors time base would be 1mS and it would breeze it in.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Im still suprised it takes 815uS to run&amp;nbsp;this one line:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;fprintf(Shell_IO, "starting this long test that should not take to long because its a 76MIPS processor.....\n");&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Sep 2016 01:40:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580680#M16587</guid>
      <dc:creator>carlnormansuret</dc:creator>
      <dc:date>2016-09-06T01:40:04Z</dc:date>
    </item>
    <item>
      <title>Re: MCF52259 time issue, and processing time</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580681#M16588</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The default system tick in MQX is 5ms. This is the smallest unit of the time that clocks the scheduler.&lt;/P&gt;&lt;P&gt;It is not possible to have a delay shorter than 5 milliseconds without modifying the BSP. Each BSP can have a different value in the Macro "#define BSP_ALARM_FREQUENCY 200". This macro defines the number of ticks per second. This means each tick is 5 milliseconds&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is defined in twrmcf52259.h&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*&lt;BR /&gt;** The clock tick rate in number of ticks per second&lt;BR /&gt;*/&lt;BR /&gt;#ifndef BSP_ALARM_FREQUENCY&lt;BR /&gt;#define BSP_ALARM_FREQUENCY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (200)&lt;BR /&gt;#endif&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, 06 Sep 2016 13:44:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580681#M16588</guid>
      <dc:creator>danielchen</dc:creator>
      <dc:date>2016-09-06T13:44:50Z</dc:date>
    </item>
    <item>
      <title>Re: MCF52259 time issue, and processing time</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580682#M16589</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It also seem the smallest time value I can get from code like this is 10mS&lt;/P&gt;&lt;P&gt;_time_get(&amp;amp;StartTime);&lt;/P&gt;&lt;P&gt;_time_delay(1);&lt;BR /&gt; _time_get(&amp;amp;CurrentTime); &lt;BR /&gt; _time_diff(&amp;amp;StartTime, &amp;amp;CurrentTime, &amp;amp;TimeDifference);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;result is always 10mS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is terrible... is there a&amp;nbsp;way to at least measure time in the 1mS range?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Sep 2016 06:39:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580682#M16589</guid>
      <dc:creator>carlnormansuret</dc:creator>
      <dc:date>2016-09-07T06:39:28Z</dc:date>
    </item>
    <item>
      <title>Re: MCF52259 time issue, and processing time</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580683#M16590</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Carl:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;_time_delay() is blocking function, which puts the calling task to the timeout queue. When timeout exceeds for the task ( measured by the BSP tick timer interrupt ) the task is put back to ready queue. Then , RTOS scheduler runs and selects next active task to run depending on scheduling rules.&amp;nbsp; It depends on what are other ready tasks at the moment and their priorities and what interrupts are running at the moment. _time_delay() is specified to guarantee minimum time, not maximum. Maximum depends on the application.&amp;nbsp; So , please don't use time_delay for precise timer requirement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you need 1ms range, I think you have an options to try&amp;nbsp; modify &amp;nbsp; the macro&amp;nbsp; BSP_ALARM_FREQUENCY&amp;nbsp; from 200 to 1000, then you will get the tick time is 1ms. but you need to do more tests.&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>Wed, 07 Sep 2016 08:04:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580683#M16590</guid>
      <dc:creator>danielchen</dc:creator>
      <dc:date>2016-09-07T08:04:50Z</dc:date>
    </item>
    <item>
      <title>Re: MCF52259 time issue, and processing time</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580684#M16591</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry, the above post was a little stupid of me, I am aware _time_delay(1) is incorrect for this test, I was trying to&amp;nbsp;see if the time in MQX is able to see 1mS, and it is not as I assumed even thought the BSP tick time is 5mS, i thought it would still be aware of the time passed. The OS is only able to see a resolution of 5mS by default.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I did change it to 1000 giving me 1mS resolution, however, I worry that this processor is&amp;nbsp;now going to be loaded up&amp;nbsp;doing 5 times the amount of context switching. I have 7 threads running, so I really do worry this will load it up...?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Sep 2016 01:37:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/MCF52259-time-issue-and-processing-time/m-p/580684#M16591</guid>
      <dc:creator>carlnormansuret</dc:creator>
      <dc:date>2016-09-08T01:37:54Z</dc:date>
    </item>
  </channel>
</rss>

