Difference between revisions of "embOS-Safe"

From SEGGER Wiki
Jump to: navigation, search
(Created page with "== 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 pro...")
 
Line 85: Line 85:
 
*OS_MPU_AddSanityCheckBuffer()
 
*OS_MPU_AddSanityCheckBuffer()
 
*OS_MPU_SanityCheck()
 
*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.

Revision as of 09:48, 11 November 2022

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)).

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.