Cafe Core OS (COS) Overview

Cafe Core OS

The Cafe Core OS (COS) is made up of two RPLs, coreinit.RPL and coredyn.RPL, which uses coreinit.

Linking

Your application links with coredyn.a only. This library is an amalgam of:

COS Shell Commands

COS can accept basic commands for debugging and logging. For information about using COS Shell Commands with a terminal emulator, see COS Shell Commands.

Basic Execution

A visual guide to how the system starts

The Cafe CPU has three cores. When the application starts, each core starts running from the Cafe Core OS (COS) entry point and is initialized. Then sub-cores (Cores 0 and 2) wait for instructions from the main core on their own default thread. The main core (Core 1) initializes the heap and C++, starts device driver services, and then runs the main function of the application.


Figure 1: Boot Sequence BEFORE the Application Main Function Starts

After the main function starts running, the main core uses OSRunThread to start the default threads on the sub-cores. The pointer to the function for the default thread is specified.


Figure 2: Boot Sequence AFTER the Application Main Function Starts

Demo: HelloWorld

The HelloWorld demo outputs "Hello, World!" on the debug output console.

$CAFE_ROOT/system/src/demo/helloworld/helloworld.c

Revision History

2014/06/16 Merge COS overview material from COS Shell.
2013/05/08 Automated cleanup pass.
2013/03/20 Converted to HTML.


CONFIDENTIAL