PORTs
A port is target-specific implementation of the RTOS. Port contains a number of
definitions and declarations that reflect target processor and cross-compiler
features. Any port consists of two parts:
- Common part;
- Target-specific part;
Any official Release, Sample or user project that uses the RTOS includes these
two parts and project-dependent part also.
Common part contains main RTOS definitions and declarations such as RTOS kernel,
interprocess communication services and little support library. All Common sources
stand at Common subfolder.
Target-specific part describes target processor-specific and toolkit-dependent
features of the RTOS:
- Target-level configuration macros;
- Critical section definition;
- Some performance-critical functions;
- Interrupt and interrupt service routines support;
- Target processor specific process's constructor;
- Idle process declaration.
Target-specific sources located at <PortName> subfolder where PortName descends
from target processor and cross-compiler names.
Subfolders Common and <PortName> are placed to folder scmRTOS .
Each Port part contains a set of header and source files. The lists of the
files and its descriptions are showed below.
Files in common part are really common for all RTOS ports
Filename |
Description |
scmRTOS.h |
main RTOS header, includes all other
headers of the RTOS |
scmRTOS_defs.h |
common RTOS macros and type definitions |
OS_Kernel.h |
kernel types definitions and inline code |
OS_Kernel.cpp |
kernel data declarations and callable code |
OS_Services.h |
RTOS interprocess communications type
definitions - classes and templates |
OS_Services.cpp |
RTOS interprocess communications callable
code - function-members implementation |
usrlib.h |
support library type definitions - mainly
ring buffer template that is used for OS::channel
implementation |
usrlib.cpp |
support library source |
Files in target-specific part are individual for any RTOS port. These files
bring code that suit target processor and cross-compiler requirements.
Filename |
Description |
commdefs.h |
target-specific type aliases and other common
target-dependent definitions |
OS_Target.h |
target-specific header: configuration macros,
critical section definition, performance-critical
functions,interrupt and interrupt service routines
support |
OS_Target_cpp.cpp |
target-specific C++ source: target processor
specific process's constructor, Idle process
declaration, System Timer interrupt service
routine definition |
OS_Target_asm.xxx |
target-specific assembler source: low-level code
such as RTOS start subroutine, context switch code |
Note
where xxx - target assembler extension.
The following target platforms are supported for now: