Initially, after checkout from repository the folders
scmRTOS/Common
scmRTOS/<Port>
are empty. User has to switch these folders manually to appropriate repository
folders:
scmRTOS/Common to $REP$/Common
scmRTOS/<Port> to $REP$/Ports/<Port>/<Toolkit>
where:
- $REP$ is proper repository url .
- <Port> is name of target processor Port.
- <Toolkit> is corresponding name and version of toolkit.
After this working copy is ready to build.
Typical Release consists of the RTOS sources and a number of samples. For example, such
structure may looks like:
1-EventFlag.
2-Message.
3-Channel.
scmRTOS.
where 1-EventFlag, 2-Message, 3-Channel - are three different samples,
each is a complete project. The RTOS sources are located in scmRTOS folder.
In this case 1-EventFlag sample brings test on speed. OS::TEventFlag is
the simplest and fastest service of the RTOS. In this example program control flow
transferred from timer interrupt service routine (ISR) to waiting process. Dedicated
processor's pin is set to '1' before signalling of the EventFlag object and
set to '0' inside waiting process. So, positive pulse width on this pin corresponds
with program control flow transfer time.
2-Message sample demonstrates ability to send arbitrary information from ISRs
and processes to processes. In the example one process waits the message and
timer ISR and another process send the message. Message content is different in
each case, so, process-receiver can distinguish the source of the message.
Sample 3-Channel shows a message queue. Since the message can have
arbitrary type, current example uses pointers to class types. In the example two
more priority processes "delegate" some actions to the third (low-priority)
process. See scmRTOS User's Manual Appendix section for more details about this
mechanism.
Contents of all parts is the same: test project and RTOS sources. Each located
in its own folder.
For more details about specific target processor release implementations see
corresponding page: