Kernel Schedule from timer interrupt


I have an existing BLE application that I am porting from a different MCU to RSL10. Most of the work of the app is done in the main loop where some operations can take several tens of seconds to complete.

I understand that I need to call Kernel_Schedule() periodically to handle BLE events.

  1. How often do I need to call it?
  2. How does call interval correlate to app advertising interval?
  3. Is it allowed to move it to a timer interrupt and just call it periodically from it?

Welcome to the user community!

  1. 10ms
  2. The kernel scheduling interval is less than the advertising interval
  3. That should work. Just be sure to also update the watchdog timer periodically as well.

If I increase the advertising interval to say 180 ms am I allowed to call Kernel_Schedule() less frequently than 10 ms?

I do not believe so. The timers in the kernel are based on a 10ms tick to my understanding. If the kernel isn’t called at least once every 10ms then the kernel timers will not be accurate.

Thank you for your help!

1 Like