Difference between revisions of "embOS-Safe"

From SEGGER Wiki
Jump to: navigation, search
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
== Introduction ==
 
== Introduction ==
embOS-Safe is the pre-certified version of embOS or embOS-MPU. Usually embOS-MPU will be certified (where possible which means that the CPU has a memory protection unit (MPU) or memory management unit (MMU)).
+
embOS-Safe is the pre-certified version of embOS or embOS-Ultra or embOS-MPU. Usually embOS-MPU will be certified (where possible which means that the CPU has a memory protection unit (MPU) or memory management unit (MMU)).
   
 
== Pre-certified embOS-Safe ports ==
 
== Pre-certified embOS-Safe ports ==
Line 15: Line 15:
 
== embOS API not supported by embOS-Safe ==
 
== embOS API not supported by embOS-Safe ==
 
embOS-Safe comes with one specific pre-certified embOS library.
 
embOS-Safe comes with one specific pre-certified embOS library.
embOS-Safe uses the [https://www.segger.com/doc/UM01001_embOS.html#List_of_builds library mode] OS_LIBMODE_SAFE.
+
embOS-Safe uses the [https://www.segger.com/doc/UM01001_embOS.html#Available_library_modes library mode] OS_LIBMODE_SAFE.
 
OS_LIBMODE_SAFE excludes some embOS features which were not certified.
 
OS_LIBMODE_SAFE excludes some embOS features which were not certified.
 
Most of these features are usually used during development only.
 
Most of these features are usually used during development only.
Line 90: Line 90:
 
embOS-Safe comes like every regular embOS shipment with BSPs for different devices and evalboards.
 
embOS-Safe comes like every regular embOS shipment with BSPs for different devices and evalboards.
 
Additional BSPs can easily be created by SEGGER or the developer.
 
Additional BSPs can easily be created by SEGGER or the developer.
  +
  +
== Shipment ==
  +
With the regular embOS two RTOS packages are available: Object code package (libraries only) and source code package (libraries + source code).
  +
The embOS-Safe shipment contains one pre-certified library and the embOS source code.
  +
Hence, embOS-Safe is available as an source code package only.
  +
While the pre-certified library must be used to build the final firmware, the embOS source code can be used during development.

Latest revision as of 08:38, 17 July 2023

Introduction

embOS-Safe is the pre-certified version of embOS or embOS-Ultra or embOS-MPU. Usually embOS-MPU will be certified (where possible which means that the CPU has a memory protection unit (MPU) or memory management unit (MMU)).

Pre-certified embOS-Safe ports

embOS-Safe is already pre-certified for different combinations of core, compiler and safety standard. Any combination of core, compiler and safety standard can be certified on request. Please contact us for more details.

embOS-Safe version

embOS-Safe is based on embOS version 4.30. Therefore embOS-Safe does not included all features from the most recent embOS version. embOS version V5 uses a new API naming scheme. If you use embOS-Safe in an existing application you will need to replace the embOS V5 API names with the embOS V4 API names. Please find more details in the embOS migration guide. embOS-Safe can be certified based on a newer embOS versions on request.

embOS API not supported by embOS-Safe

embOS-Safe comes with one specific pre-certified embOS library. embOS-Safe uses the library mode OS_LIBMODE_SAFE. OS_LIBMODE_SAFE excludes some embOS features which were not certified. Most of these features are usually used during development only.

Heap Type Memory Management

  • OS_free()
  • OS_malloc()
  • OS_realloc()

CPU Load Measurement

  • OS_AddLoadMeasurement()
  • OS_GetLoadMeasurement()

Spinlock API

  • OS_SPINLOCK_Create()
  • OS_SPINLOCK_Lock()
  • OS_SPINLOCK_Unlock()
  • OS_SPINLOCK_SW_Create()
  • OS_SPINLOCK_SW_Lock()
  • OS_SPINLOCK_SW_Unlock()

embOSView

  • OS_COM_Init()
  • OS_COM_Send1()
  • OS_OnTx()
  • OS_COM_GetNextChar()
  • OS_OnRx()
  • OS_SendString()
  • OS_SendStringFast()
  • OS_SetRxCallback()
  • OS_EvaPacketEx()
  • OS_COM_ClearTxActive()

embOSView trace

  • OS_TraceVoid()
  • OS_TracePtr()
  • OS_TraceData()
  • OS_TraceDataPtr()
  • OS_TraceU32Ptr()
  • OS_TraceEnable()
  • OS_TraceDisable()
  • OS_TraceEnableAll()
  • OS_TraceDisableAll()
  • OS_TraceEnableId()
  • OS_TraceDisableId()
  • OS_TraceEnableFilterId()
  • OS_TraceDisableFilterId()

Thread local storage

  • OS_ExtendTaskContext_TLS

embOS Cortex-M interrupt API

  • OS_ARM_ISRInit()
  • OS_ARM_InstallISRHandler()
  • OS_ARM_EnableISR()
  • OS_ARM_DisableISR()
  • OS_ARM_ISRSetPrio

embOS-MPU support for NXP Kinetis K66 MPU

  • OS_KINETIS_MPU_API

Additional API supported by embOS-Safe

OS_LIBMODE_SAFE provides API functions which are not available in other embOS library modes. OS_LIBMODE_SAFE initializes all RTOS variables explicitly.

  • OS_SetStackCheckLimit()
  • OS_GetStackCheckLimit()
  • OS_MPU_AddSanityCheckBuffer()
  • OS_MPU_SanityCheck()

embOS Board Support Packages

embOS BSPs are not part of the pre-certification and can therefore easily be adjusted to the actual hardware. embOS-Safe comes like every regular embOS shipment with BSPs for different devices and evalboards. Additional BSPs can easily be created by SEGGER or the developer.

Shipment

With the regular embOS two RTOS packages are available: Object code package (libraries only) and source code package (libraries + source code). The embOS-Safe shipment contains one pre-certified library and the embOS source code. Hence, embOS-Safe is available as an source code package only. While the pre-certified library must be used to build the final firmware, the embOS source code can be used during development.