EE445M RTOS
Taken at the University of Texas Spring 2015
critical Class Reference

#include <criticalpp.hpp>

Inheritance diagram for critical:
Inheritance graph
Collaboration diagram for critical:
Collaboration graph

Public Member Functions

uint32_t StartCritical (void)
 
void EndCritical (uint32_t primask)
 

Static Public Member Functions

static uint32_t static_StartCritical (void)
 
static void static_EndCritical (uint32_t primask)
 

Detailed Description

Definition at line 7 of file criticalpp.hpp.

Member Function Documentation

void critical::EndCritical ( uint32_t  primask)
inline

Definition at line 14 of file criticalpp.hpp.

Referenced by uart::atomic_printf(), semaphore::guard(), semaphore::post(), motor::pwm_init(), semaphore::reset(), ping::sample(), semaphore::semaphore(), and semaphore::wait().

14  {
15  asm("MSR PRIMASK, R0\n");
16  }

Here is the caller graph for this function:

uint32_t critical::StartCritical ( void  )
inline

Definition at line 9 of file criticalpp.hpp.

Referenced by uart::atomic_printf(), semaphore::guard(), semaphore::post(), motor::pwm_init(), semaphore::reset(), ping::sample(), semaphore::semaphore(), and semaphore::wait().

9  {
10  asm("MRS R0, PRIMASK ;// save old status\n");
11  asm("CPSID I ;// mask all (except faults)\n");
12  }

Here is the caller graph for this function:

static void critical::static_EndCritical ( uint32_t  primask)
inlinestatic

Definition at line 23 of file criticalpp.hpp.

Referenced by ctlsys::enable_periph().

23  {
24  asm("MSR PRIMASK, R0\n");
25  }

Here is the caller graph for this function:

static uint32_t critical::static_StartCritical ( void  )
inlinestatic

Definition at line 18 of file criticalpp.hpp.

Referenced by ctlsys::enable_periph().

18  {
19  asm("MRS R0, PRIMASK ;// save old status\n");
20  asm("CPSID I ;// mask all (except faults)\n");
21  }

Here is the caller graph for this function:


The documentation for this class was generated from the following file: