Hi Alan,



thanks for the link! I will take a look into it.


Best regards,
Michal Lenc

---------- Původní e-mail ----------
Od: Alan Carvalho de Assis <acas...@gmail.com>
Komu: dev@nuttx.apache.org
Datum: 11. 7. 2021 16:19:59
Předmět: Re: Tickless mode for iMXRT MCU
"Hi Michal,

Please take a look at this wiki page, it could help you to understand
the issue with sleep take one more context switch cycle:
https://cwiki.apache.org/confluence/display/NUTTX/Short+Time+Delays

Unfortunately the Timer Hook that could help you in this case will not
work in Tickless mode (according with the wiki).

BR,

Alan

On 7/11/21, Michal Lenc <michall...@seznam.cz> wrote:
>
> Hello,
>
>
>
>
> I´ve finished the implementation of tickless mode support for iMXRT MCU,
> which is a part of my Google Summor of Code project (https://cwiki.apache.

> org/confluence/display/NUTTX/%5B2021%5D+NuttX+Support+for+Rapid+Control+
> Applications+Development+with+pysimCoder). The source code can be found 
> here
> in my NuttX fork (https://github.com/michallenc/incubator-nuttx/blob/imxrt
-
> tickless/arch/arm/src/imxrt/imxrt_tickless.c), I used the alarm option to
> take the advantage of using just one timer running in free-run mode. I did

> some tests with applications (ADC reading example and control application
> of
> DC motor designed with pysimCoder) and they are working fine, but command
> "sleep" bothers me a little bit.
>
>
>
>
> When I compile normal NuttX nsh configuration with tickless mode, "sleep
2"
>
> is accurate and takes about 2.0001 seconds. But when I use some bigger 
> configuration (like configurating PWM, qencoder, GPIO, ethernet and so on
> for DC motor control), "sleep 2" is much less accurate. Sometimes it
really
>
> takes 2 seconds, but sometimes I get values like 1.9947 (I am using "time"

> command). I did found out that sleep command takes one tick more in normal

> mode, can some of those inaccuracies also happen in tickless mode?
>
>
>
>
> The other source of the inaccuracy can be in clock frequency. I use 32 kHz

> clock source, but this value cannot be properly represented by CONFIG_USEC
_
> PER_TICK, which I set to 31 (which is aproximately 32.25 kHz). But 32 kHz
> clock source seems to be the only possible in iMXRT as others are to hight

> (tens or hundreds of MHz) and can´t be represended by the timer prescaler
> divider. Did anyone have similar problems when implementing tickless mode
> for some platforms?
>
>
>
>
> Thanks for your inputs.
>
>
> Best regards,
> Michal Lenc
"

Reply via email to