Difference between revisions of "OCEOSmp/polarfire"

From wiki
Jump to navigation Jump to search
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
= OCEOSmp BSP for Polarfire =
= 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.
Line 42: Line 42:


For sales contact sales@ocetechnology.com or call +353 1 716 3530.
For sales contact sales@ocetechnology.com or call +353 1 716 3530.
For support contact support@ocetechnology.com
For support contact support@ocetechnology.com

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:

  1. Add OCEOSmp header files folder to application project
  2. Add OCEOSmp directory search path option to the linker -LPathToOCEOSmpDirectory
  3. Add OCEOSmp library name to the linker options -loceosmp
  4. Copy oceosmp_config.h to project include folder
  5. Update oceosmp_config.h according to project requirements (number of tasks, mutexes, semaphores, data Qs, timed actions)
  6. Set size of log area, fixed area and dynamic areas
  7. Copy oceosmp_config.c to project source directory and modify configuration struct as required
  8. Copy oceosmp_config_riscv64.h to project include folder
  9. Modify oceosmp_config_riscv64.h to select CPUs to be used with OCEOSmp
  10. Starting CPU must call main() at the end of initialisation
  11. Other CPUs must call oceos_start(NULL, 0, NULL) function
  12. Mss_entry.S must be updated to include a call to oceosmp_trap_from_machine_mode from trap_handler
  13. User trap handlers are called from oceosmp_trap_from_machine_mode
  14. Update linker script symbols for per CPU stack size
  15. Write the application code referring to examples provided, where necessary.
  16. 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.
  17. 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:

  1. Development Kit (software, documentation, and unlimited runtime licences[note 1])
  2. Annual support fee (upgrades, unlimited runtime licences, access to support resources)
  3. Customer board OCEOSmp functional certification service
  4. A Safety Assurance Pack is available to provide an easy route to achieving safety certification
  5. 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