v01d commented on pull request #1726:
URL: https://github.com/apache/incubator-nuttx/pull/1726#issuecomment-687893971


   As you can see I have implemented tickless mode on RTC directly, not via 
arch_* facility due to the issue discussed in #1705. The implementation exposes 
the RTC as an alarm. This could actually be how arch_alarm can be made to work, 
which requires handling the overflow interrupt (this is discussed in #1725).
   
   @patacongo There is something I'm unsure about: as you can see, at the end 
of `up_timer_initialize()` I called `nxsched_alarm_expiration()`. If I do not 
do this, the 200ms scheduling alarm will not start until I for example do 
"sleep 1" in the console. This means that until I do so, the scheduler thinks 
no time has passed and thus gives a wrong value for the first alarm to 
up_alarm_start(). I have observed this behavior previously (and I think it is 
not specific to TICKLESS_ALARM) where I see the 200ms timer only starting after 
an initial task is launched. I'm confused how this should work. In fact, is it 
even necessary to keep the 200ms scheduling alarm ON even once we go back to 
having just one task?


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to