Skip to main content

about RI platform API

1 reply [Last post]
Joined: 2010-06-30

In 2010 tutorial slides, page 41/322 there is a RI Platform API.
Is it platform-dependent or platform-independent?

I'm not sure of this because MPEOS sitting on top of it is platform-dependent, and compilation of RI platform implementation and RI support libraries are also different on different OS. What is the point of this layer of abstraction?

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Joined: 2008-07-03

The RI PC Platform is a set-top box emulator that runs on both Windows and Linux PCs. It provides us a target to which we can port the RI OCAP stack and test its functionality on the PC. However, the RI PC Platform APIs provide only set-top functionality -- they do not provide low-level operating system constructs (such as threads, networking, memory, etc).

With this in mind, you will see that the MPEOS port of the stack to the PC Platform is broken up into 2 pieces. The MPEOS modules that provide low-level operating system functionality are ported directly to Windows and Linux ($OCAPROOT/mpe/os/RI_Win32, $OCAPROOT/mpe/os/RI_Linux). Now, since our PC Platform is already ported to both Windows and Linux we port the remaining MPEOS modules directly to the PC Platform APIs ($OCAPROOT/mpe/os/RI_Common). So, as you can see, our Windows port of the stack is made up of the modules in RI_Win32 and RI_Common. The Linux port of the stack consists of the modules in RI_Linux and RI_Common.

This design is different than what most teams will use to port the stack to a particular set-top platform. Typically all the MPEOS module implementations would live in a single porting directory.