RFC: RTOS for Calypso
246tnt at gmail.com
Sun Apr 17 07:51:37 UTC 2011
> many target MCUs but are their any other than ARM in BB chipsets?
There are yes.
But maybe not in any we intend to target ... All recent ones are ARM at least.
(and the others we don't have nearly enough doc ...)
> cooperative multithreading: Is that OK? We still have IRQs for
Personally If we were to get an OS I would have loved to have 'tasks' and be
able to assign priorities to them ... currently we do way too much in IRQs.
Those tasks aren't real time but it's important not to block them too much.
Running them in IRQ isn't good because they block other stuff that
really needs to be in IRQ (keyboard, serial, ...).
> Open question: How much overhead can we afford, i.e., how much spare time is
> there on the CPU? Does "Disable RTC interrupt as it causes lost TDMA frames"
> (layer1/init.c) indicate issues? (Yes, sorry, haven't read GSM specs yet...)
> If yes, is it reasonable to independently handle GSM stuff with FIQ and only
> give IRQ to whatever OS we choose?
I think we should use the OS dispatching for everything (so don't add
a layer 'above' the OS), _but_ indeed, the only FIQ we should have
should be the L1 TDMA and nothing else. Any OS maintenance task or
other stuff should be IRQ at most. And even then, it should be minimal
(currently we do way to much stuff in IRQ context).
Then for whatever 'task' we have running, the l3/l2/l1 async should be
prioritized but ideally without using IRQ.
This should be sufficient so as to not have problems.
More information about the baseband-devel