Lines Matching +full:created +full:- +full:for
3 CMSIS-RTOS2 API supports a concept of **process isolation** that allows developers to protect execu…
5 Process Isolation in CMSIS-RTOS2 is enabled by following features:
7 …- \subpage rtos_process_isolation_mpu for memory access protection in the system using Memory Prot…
8 …ted with permission to access only memory regions and peripherals required for their operation. He…
10 …- \subpage rtos_process_isolation_safety_class for access protection to RTOS objects via RTOS APIs…
13 - \subpage rtos_process_isolation_thread_wdt to verify execution times of threads.<br/>
16 …- \subpage rtos_process_isolation_faults in case of a detected failure (for example thread watchdo…
17 …ution of malfunctioning components and with that dedicate system resources for operation of the sa…
20 Section \ref fusa_process_isolation lists safety requirements for Process Isolation functions.
23 <!-- =============================================================== !-->
26 …-M devices and allows to execute code with restricted access to memory regions and peripherals. De…
28 CMSIS-RTOS2 provides a concept of **MPU Protected Zones** as a simple and flexible mechanism for us…
30 The figure below illustrates the concept for MPU Protected Zones for isolating threads.
36 - \ref rtos_process_isolation_mpu_def
37 - \ref rtos_process_isolation_mpu_load
38 - \ref rtos_process_isolation_mpu_objects
39 - \ref rtos_process_isolation_mpu_fault
45 - \ref osThreadNew : \copybrief osThreadNew
46 - \ref osThreadZone : \copybrief osThreadZone
47 - \ref osThreadGetZone : \copybrief osThreadGetZone
48 - \ref osThreadTerminateZone : \copybrief osThreadTerminateZone
49 - \ref osZoneSetup_Callback : \copybrief osZoneSetup_Callback
55 …s an MPU region within that zone. For details see section [MPU Functions](../Core/group__mpu__func…
58 > - Interrupt handlers bypass the MPU protection. For this reason, it is required that potential im…
75 [CMSIS-Zone](../Zone/index.html) provides a utility that allows graphic configuration of MPU protec…
84 /* Update MPU settings for newly activating Zone */
88 // Here issue an error for incorrect zone value
97 …d` parameter associated with the object as explained in \ref rtos_objects. For example as `evt_fla…
105 …passed if another thread calls the CMSIS-RTOS2 API with the object ID of the RTOS object as argume…
107 To enable access control for RTOS objects the \ref rtos_process_isolation_safety_class concept is i…
113 …ne id and the safety class. This information can be used to define actions for entering a safe sta…
115 <!-- =============================================================== !-->
118 …nes do not provide full access protection to RTOS objects accessed via CMSIS-RTOS2 API. The concep…
121 For example, it is not possible to change the priority or suspend a thread that has a higher safety…
125 - Following functions and macros are used explicitly for managing safety classes:
126 - \ref osSafetyClass : \copybrief osSafetyClass
127 - \ref osThreadGetClass : \copybrief osThreadGetClass
128 - \ref osSafetyWithSameClass : \copybrief osSafetyWithSameClass
129 - \ref osSafetyWithLowerClass : \copybrief osSafetyWithLowerClass
130 - \ref osKernelProtect : \copybrief osKernelProtect
131 - \ref osThreadSuspendClass : \copybrief osThreadSuspendClass
132 - \ref osThreadResumeClass : \copybrief osThreadResumeClass
133 - \ref osKernelDestroyClass : \copybrief osKernelDestroyClass
134 …- CMSIS-RTOS2 API functions that support safety class assignment when creating RTOS objects are li…
135 …- CMSIS-RTOS2 API functions that verify safety class assignment before execution are listed in \re…
141 …For the object types listed below, the \e attr_bits can have an optional safety class value that i…
153 - \ref osThreadAttr_t \copybrief osThreadAttr_t Used in the \ref osThreadNew function.
154 - \ref osEventFlagsAttr_t \copybrief osEventFlagsAttr_t Used in the \ref osThreadNew function.
155 - \ref osTimerAttr_t \copybrief osTimerAttr_t Used in the \ref osTimerNew function.
156 - \ref osMutexAttr_t \copybrief osMutexAttr_t Used in the \ref osMutexNew function.
157 - \ref osSemaphoreAttr_t \copybrief osSemaphoreAttr_t Used in the \ref osSemaphoreNew function.
158 - \ref osMemoryPoolAttr_t \copybrief osMemoryPoolAttr_t Used in the \ref osMemoryPoolNew function.
159 …- \ref osMessageQueueAttr_t \copybrief osMessageQueueAttr_t Used in the \ref osMessageQueueNew fun…
161 …created before kernel is started and no safety class is provided, then it receives default safety …
165 …the target object has higher safety class than the safety class of the running thread. For example:
181 - \ref osKernelLock
182 - \ref osKernelRestoreLock
183 - \ref osKernelSuspend
184 - \ref osKernelProtect
185 - \ref osKernelDestroyClass
189 - \ref osThreadNew
190 - \ref osThreadSetPriority
191 - \ref osThreadSuspend
192 - \ref osThreadResume
193 - \ref osThreadDetach
194 - \ref osThreadJoin
195 - \ref osThreadTerminate
196 - \ref osThreadSuspendClass
197 - \ref osThreadResumeClass
201 - \ref osThreadFlagsSet
205 - \ref osEventFlagsNew
206 - \ref osEventFlagsSet
207 - \ref osEventFlagsClear
208 - \ref osEventFlagsWait
209 - \ref osEventFlagsDelete
213 - \ref osTimerNew
214 - \ref osTimerStart
215 - \ref osTimerStop
216 - \ref osTimerDelete
220 - \ref osMutexNew
221 - \ref osMutexAcquire
222 - \ref osMutexDelete
226 - \ref osSemaphoreNew
227 - \ref osSemaphoreAcquire
228 - \ref osSemaphoreRelease
229 - \ref osSemaphoreDelete
233 - \ref osMemoryPoolNew
234 - \ref osMemoryPoolAlloc
235 - \ref osMemoryPoolFree
236 - \ref osMemoryPoolDelete
240 - \ref osMessageQueueNew
241 - \ref osMessageQueuePut
242 - \ref osMessageQueueGet
243 - \ref osMessageQueueReset
244 - \ref osMessageQueueDelete
246 <!-- =============================================================== !-->
249 CMSIS-RTOS defines **Thread Watchdogs** that allow to control timing constraints for thread executi…
259 \ref rtos_process_isolation_faults provides more details on the available possibilities for system …
262 > - If the application suspends a thread from scheduling by calling \ref osThreadSuspend or \ref os…
263 > - Hence it may be necessary to differentiate handling of thread watchdogs that expired unexpected…
269 - \ref osThreadFeedWatchdog : \copybrief osThreadFeedWatchdog
270 - \ref osWatchdogAlarm_Handler : \copybrief osWatchdogAlarm_Handler
272 <!-- =============================================================== !-->
275 …for example \ref rtos_process_isolation_mpu_fault "memory access fault", \ref rtos_process_isolati…
279 …- function \ref osThreadTerminateZone can be called in case of a fault exception. It will terminat…
280 …- function \ref osThreadSuspendClass can be called in case of a thread watchdog alarm or other err…
286 Following CMSIS-RTOS2 functions and macros support fault handling:
288 - \ref osThreadGetZone : \copybrief osThreadGetZone
289 - \ref osThreadTerminateZone : \copybrief osThreadTerminateZone
290 - \ref osThreadGetClass : \copybrief osThreadGetClass
291 - \ref osSafetyWithSameClass : \copybrief osSafetyWithSameClass
292 - \ref osSafetyWithLowerClass : \copybrief osSafetyWithLowerClass
293 - \ref osThreadSuspendClass : \copybrief osThreadSuspendClass
294 - \ref osThreadResumeClass : \copybrief osThreadResumeClass
295 - \ref osKernelDestroyClass : \copybrief osKernelDestroyClass
296 - \ref osFaultResume : \copybrief osFaultResume
297 - \ref osWatchdogAlarm_Handler : \copybrief osFaultResume