Hi,
I plan to port LiS-2.1x to RTOS environment using abstracted OS interface. The
primary goal is to use streams for protocols implementation on base station.
Because the base station uses microcontroller which can't run linux at all,
to benifit from streams I have to do such port.
My questions are:
1. Is there any RTOS port already done before ?
Not that I know of.
2. Do I break any LiS license when use it in commercial products ?
No. If you modify any of the files in LiS in order to accomplish your port then you must publish the modified files. Read the GNU Library license that comes with LiS for the details.
3. If I do the port from scratch, please give me some suggestions.
(I know linux kernel is non-preemptable, while RTOS is fully preempted.
There must be some race conditions and synchronization problems exist)
A little bit of testing has been done with LiS on pre-emptable kernels and I think that it works just fine. But you may be in new territory here.
LiS has LOTS of lock tracing features that you may find useful.
You might give some consideration to using the little "user mode" file system that LiS uses for building strtst + LiS as a user mode program. You might be able to write a driver in your RTOS that maps RTOS read, write, ioctl, etc to the LiS "user file sys" user_read, user_write, user_ioctl, etc.
Take the file port.c from LiS/head/user and fill in the functions with constructs from your RTOS.
Those two techniques will probably carry you a considerable distance.
-- Dave
