IPC@CHIP® RTOS-LNX – API Documentation
The figure that shows the @CHIP-RTOS-LNX architecture at the Overview page holds two blocks that are named "@CHIP-RTOS Flavour" and "Linux Flavour". This page here will give some details what this exactly means.
Although the @CHIP-RTOS-LNX is based on the Linux kernel, it is not a typical GNU Linux system. First of all, the @CHIP-RTOS-LNX aims for a high level of compatibility to previous @CHIP-RTOS operating systems, to make software migration from these legacy systems as easy as possible.
The term "@CHIP-RTOS Flavour" stands for this aspect of the system that makes it behave and look like a legacy @CHIP-RTOS, including the @CHIP-RTOS shell with their DOS like command interface. Consequently, this is the default presentation of the system to the user.
Applications that use the @CHIP-RTOS CLIB API and run within this "@CHIP-RTOS Flavour" are developed with the ONE-Workbench IDE under Microsoft Windows. Such applications link against the CLIB, which makes these applications become @CHIP-RTOS processes. E.g. such processes are listed in the tasks command.
The term "Linux Flavour" stands for the breakout from the @CHIP-RTOS world. This includes the possibility to build native Linux applications, extend the Linux kernel with kernel modules and gain access to the underlying Unix shell (bash).
On request Beck provides a SDK that requires a Linux PC (Debian, Ubuntu). The SDK includes a GCC cross toolchain for building native Linux applications or libaries. Additionally, the SDK includes the Linux kernel headers and sources. This gives the user the possibility to extend the Linux Kernel with kernel modules. As the kernel sources can be different from RTOS version to RTOS version, the SDK will be specific for a dedicated RTOS version.
While the SDK enables you to build native Linux applications and libraries, it does not enable you to build the complete @CHIP-RTOS-LNX. Therefore, applications that require changes to the root filesystem are not covered. Only the extension of the Linux kernel with kernel modules is possible. Changing the Linux kernel itself is not possible, as it would require a root filesystem change.
Changing the contents of the root filesystem is synonymous to modifying the operating system. As Beck wants to strictly distinguish between the operation system and the application, this is not supported.
With a special @CHIP-RTOS-LNX shell command the @CHIP-RTOS-LNX shell (sandbox) can be quit and the underlying “Linux shell” (BusyBox) becomes available. Conversely, it is possible to exit the “Linux shell” (using the “exit” command) and change back to the @CHIP-RTOS-LNX shell. This back and forth is strictly a shell change. Using the Linux shell just gains access to the underlying Linux root file system and will NOT turn the system into a plain GNU/Linux system. This means that all running @CHIP-RTOS-LNX services are still active. As well all hardware-dependent initializations and patches required for the @CHIP-RTOS-LNX system stay active.
By default, the filesystem access is limited to the IPC@CHIP® drives A:, B:, etc. To gain access to the underlying root filesystem, the CLIB provides an API function.