<?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>i.MX ProcessorsのトピックRe: Hardware timer problems while setting timer through a task using FreeRTOS in i.MX7</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Hardware-timer-problems-while-setting-timer-through-a-task-using/m-p/698352#M108445</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;1. Like i mentioned in the question itself , i am able to use the timer properly without linux booting . The parser comes into play only after linux boots up . Without the parser also , timer stops instantly near the instant of password prompt in linux . I ran and verified the parser by using software timer APIs and it works as expected .&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Yes , i am using the .dtb file that was given for M4 core integration . imx7d-sdb-m4.dtb . I decompiled the dtb and verified that the timer 3 and 4 which M4 uses is not enabled in the device tree .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 12 Sep 2017 13:19:21 GMT</pubDate>
    <dc:creator>harish_g</dc:creator>
    <dc:date>2017-09-12T13:19:21Z</dc:date>
    <item>
      <title>Hardware timer problems while setting timer through a task using FreeRTOS in i.MX7</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Hardware-timer-problems-while-setting-timer-through-a-task-using/m-p/698350#M108443</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am using RPMsg tool to communicate between the A7 and the M4 cores of &amp;nbsp;i.MX7 . My objective is to send commands from A7 to M4 via RPMsg , and perform the respective operation by parsing the command . Inorder to acheive that , i am using an task which parses the command and invokes the respective function as a seperate task . For testing i used , led toggle as one of the commands . So when i send blink through RPMsg , a particular GPIO should start to blink . When i tried this with software timer APIs , the expected result was obtained . But when i tried to configure the hardware timer to produce the delay , it gets stuck before setting the Oscillator prescaler setting of the timer . Both A7 and M4 stops responding after this . I used the timer part in the blinking_imx_demo example provided by FreeRTOS . When i create the task in parallel with the base command parser task , it runs properly until linux boots , after which the blinking process gets stuck . I have verified the device tree entries and the timer i used is disabled for linux .&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any more information needed ? How to correct this problem ?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Update :&amp;nbsp;&lt;/P&gt;&lt;P&gt;While trying out the demo blinking_imx_demo application , the blinking stops/ hangs heavily after the kernel boots up . The device trees have GPT3 and GPT4 disabled . What am i doing wrong or not doing ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Sep 2017 08:13:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Hardware-timer-problems-while-setting-timer-through-a-task-using/m-p/698350#M108443</guid>
      <dc:creator>harish_g</dc:creator>
      <dc:date>2017-09-08T08:13:54Z</dc:date>
    </item>
    <item>
      <title>Re: Hardware timer problems while setting timer through a task using FreeRTOS in i.MX7</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Hardware-timer-problems-while-setting-timer-through-a-task-using/m-p/698351#M108444</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Harish,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Are you able to use the timers without RPMsg running and without your parser? If yes how are you running this test and how are you integrating the parser?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Are you using the .dtb file for the M4?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Carlos&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 11 Sep 2017 21:11:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Hardware-timer-problems-while-setting-timer-through-a-task-using/m-p/698351#M108444</guid>
      <dc:creator>Carlos_Musich</dc:creator>
      <dc:date>2017-09-11T21:11:11Z</dc:date>
    </item>
    <item>
      <title>Re: Hardware timer problems while setting timer through a task using FreeRTOS in i.MX7</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Hardware-timer-problems-while-setting-timer-through-a-task-using/m-p/698352#M108445</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;1. Like i mentioned in the question itself , i am able to use the timer properly without linux booting . The parser comes into play only after linux boots up . Without the parser also , timer stops instantly near the instant of password prompt in linux . I ran and verified the parser by using software timer APIs and it works as expected .&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Yes , i am using the .dtb file that was given for M4 core integration . imx7d-sdb-m4.dtb . I decompiled the dtb and verified that the timer 3 and 4 which M4 uses is not enabled in the device tree .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Sep 2017 13:19:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Hardware-timer-problems-while-setting-timer-through-a-task-using/m-p/698352#M108445</guid>
      <dc:creator>harish_g</dc:creator>
      <dc:date>2017-09-12T13:19:21Z</dc:date>
    </item>
    <item>
      <title>Re: Hardware timer problems while setting timer through a task using FreeRTOS in i.MX7</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Hardware-timer-problems-while-setting-timer-through-a-task-using/m-p/698353#M108446</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello harish,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it is possible that the M4 is setting clocks and when A9 starts Linux they are reconfigured. Please see the following thread.&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/thread/349097"&gt;I.MX6 SoloX M4 Problem&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please also consider the recommendations here.&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/thread/454070"&gt;https://community.nxp.com/thread/454070&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Carlos&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>Tue, 19 Sep 2017 16:57:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Hardware-timer-problems-while-setting-timer-through-a-task-using/m-p/698353#M108446</guid>
      <dc:creator>Carlos_Musich</dc:creator>
      <dc:date>2017-09-19T16:57:44Z</dc:date>
    </item>
    <item>
      <title>Re: Hardware timer problems while setting timer through a task using FreeRTOS in i.MX7</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Hardware-timer-problems-while-setting-timer-through-a-task-using/m-p/698354#M108447</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Carlos , &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;I saw the above mentioned links . The things that were suggested in both the threads , were almost covered in the Official documentation of NXP . I have already tried things like adding uart_from_osc to the bootargs , and using the kernel device tree provided for M4 core ' imx7d-sdb-m4.dtb' . I have also checked the RDC registers values and all of them seem to comply with what they mention .&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;A recent observation though , We tried running the hardware timer with a low speed clock ( i.e. 20MHz ) , when compared to the previous one which used 392 MHz . In that case , when i try to set the Oscillator prescaler value to some value like 10 or 15 , instead of properly calculating those values, the timer runs properly and the messages are sent peridically , even when linux boots . But whenever we set the value by calculating , which happens to be 0 , the timer gets interrupted by linux boot .&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;We are suspecting problems with the root clock clashing with the clocks that linux environment configures . I ll keep this thread updated if i observe any improvements .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards ,&lt;BR /&gt;G.Harish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Sep 2017 10:23:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Hardware-timer-problems-while-setting-timer-through-a-task-using/m-p/698354#M108447</guid>
      <dc:creator>harish_g</dc:creator>
      <dc:date>2017-09-22T10:23:33Z</dc:date>
    </item>
    <item>
      <title>Re: Hardware timer problems while setting timer through a task using FreeRTOS in i.MX7</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Hardware-timer-problems-while-setting-timer-through-a-task-using/m-p/698355#M108448</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi ,&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; This is to inform that the apparent problem is rectified now .The problem was as we expected with the clocks . But it was not the problem we expected . It seems ,it is necessary to ensure that the module clock frequency after the Oscillator predivider , is less than or equal to half of the peripheral clock frequency . It is mentioned somewhere in the comments in the source code of the GPT driver .So if the peripheral clock is 24 MHz and the module clock is also 24 MHz , the Oscillator predivider must be atleast 1 ( Which will ensure that Module clock = 24 MHz is divided by 2 ) , so that module clock after the Oscillator predivider is exactly half of the peripheral clock satisfying the conditon . After ensuring this , I tried running with 4 to 5 different delays and it seems working for now .&amp;nbsp;&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;But still , If this is the problem , then why did the program run without any problems , while linux is not booted ? Is there any interaction between them ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards ,&lt;/P&gt;&lt;P&gt;G.Harish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Nov 2017 08:44:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Hardware-timer-problems-while-setting-timer-through-a-task-using/m-p/698355#M108448</guid>
      <dc:creator>harish_g</dc:creator>
      <dc:date>2017-11-14T08:44:45Z</dc:date>
    </item>
  </channel>
</rss>

