Difference between revisions of "OCEOSmp/polarfire"
Line 1: | Line 1: | ||
= OCEOSmp BSP for | = OCEOSmp BSP for PolarFire® SoC FPGA = | ||
OCEOSmp is a real-time operating system compliant with European Space Agency standards (ECSS Category B). It occupies a small memory footprint and provides a unique set of functions to help police the application tasks. It supports RISC-V, ARM, and SPARC processor architectures and has been designed to provide deterministic task scheduling. | OCEOSmp is a real-time operating system compliant with European Space Agency standards (ECSS Category B). It occupies a small memory footprint and provides a unique set of functions to help police the application tasks. It supports RISC-V, ARM, and SPARC processor architectures and has been designed to provide deterministic task scheduling. |
Latest revision as of 11:51, 17 June 2024
OCEOSmp BSP for PolarFire® SoC FPGA
OCEOSmp is a real-time operating system compliant with European Space Agency standards (ECSS Category B). It occupies a small memory footprint and provides a unique set of functions to help police the application tasks. It supports RISC-V, ARM, and SPARC processor architectures and has been designed to provide deterministic task scheduling. The installation package contains documentation, header files, static link libraries, and code examples.
Using OCEOSmp with Soft Console
The steps to use OCEOSmp with Soft Console are as follows:
- Add OCEOSmp header files folder to application project
- Add OCEOSmp directory search path option to the linker -LPathToOCEOSmpDirectory
- Add OCEOSmp library name to the linker options -loceosmp
- Copy oceosmp_config.h to project include folder
- Update oceosmp_config.h according to project requirements (number of tasks, mutexes, semaphores, data Qs, timed actions)
- Set size of log area, fixed area and dynamic areas
- Copy oceosmp_config.c to project source directory and modify configuration struct as required
- Copy oceosmp_config_riscv64.h to project include folder
- Modify oceosmp_config_riscv64.h to select CPUs to be used with OCEOSmp
- Starting CPU must call main() at the end of initialisation
- Other CPUs must call oceos_start(NULL, 0, NULL) function
- Mss_entry.S must be updated to include a call to oceosmp_trap_from_machine_mode from trap_handler
- User trap handlers are called from oceosmp_trap_from_machine_mode
- Update linker script symbols for per CPU stack size
- Write the application code referring to examples provided, where necessary.
- The bare metal device drivers provided with Soft Console can generally be used with OCEOSmp. The weak references in the OCEOSmp interrupt vectors module will resolve to the device drivers to be used.
- Build the application as normal.
The OCEOSmp documentation includes a user manual, wiki, and header files.
Licensing & services
Licensing plans for OCEOSmp are as follows:
- Development Kit (software, documentation, and unlimited runtime licences[note 1])
- Annual support fee (upgrades, unlimited runtime licences, access to support resources)
- Customer board OCEOSmp functional certification service
- A Safety Assurance Pack is available to provide an easy route to achieving safety certification
- Source code is available under special licence conditions
Note 1: Unlimited runtime licences require annual support fee after first year
Contact information
For sales contact sales@ocetechnology.com or call +353 1 716 3530.
For support contact support@ocetechnology.com