|
ChibiOS/RT 7.0.5
|
System related macros and structures. More...
Go to the source code of this file.
Macros | |
| #define | CH_SYS_CORE0_MEMORY PORT_CORE0_BSS_SECTION |
| Core zero memory affinity macro. | |
| #define | CH_SYS_CORE1_MEMORY PORT_CORE1_BSS_SECTION |
| Core one memory affinity macro. | |
| #define | currcore ch_system.instances[port_get_core_id()] |
| Access to current core's instance structure. | |
| #define | chSysGetRealtimeCounterX() |
| Returns the current value of the system real time counter. | |
| #define | chSysSwitch(ntp, otp) |
| Performs a context switch. | |
Masks of executable integrity checks. | |
| #define | CH_INTEGRITY_RLIST 1U |
| #define | CH_INTEGRITY_VTLIST 2U |
| #define | CH_INTEGRITY_REGISTRY 4U |
| #define | CH_INTEGRITY_PORT 8U |
ISRs abstraction macros | |
| #define | CH_IRQ_IS_VALID_PRIORITY(prio) |
| Priority level validation macro. | |
| #define | CH_IRQ_IS_VALID_KERNEL_PRIORITY(prio) |
| Priority level validation macro. | |
| #define | CH_IRQ_PROLOGUE() |
| IRQ handler enter code. | |
| #define | CH_IRQ_EPILOGUE() |
| IRQ handler exit code. | |
| #define | CH_IRQ_HANDLER(id) |
| Standard normal IRQ handler declaration. | |
Fast ISRs abstraction macros | |
| #define | CH_FAST_IRQ_HANDLER(id) |
| Standard fast IRQ handler declaration. | |
Time conversion utilities for the realtime counter | |
| #define | S2RTC(freq, sec) |
| Seconds to realtime counter. | |
| #define | MS2RTC(freq, msec) |
| Milliseconds to realtime counter. | |
| #define | US2RTC(freq, usec) |
| Microseconds to realtime counter. | |
| #define | RTC2S(freq, n) |
| Realtime counter cycles to seconds. | |
| #define | RTC2MS(freq, n) |
| Realtime counter cycles to milliseconds. | |
| #define | RTC2US(freq, n) |
| Realtime counter cycles to microseconds. | |
Functions | |
| void | chSysWaitSystemState (system_state_t state) |
| Waits for the system state to be equal to the specified one. | |
| void | chSysInit (void) |
| System initialization. | |
| thread_t * | chSysGetIdleThreadX (void) |
| Returns a pointer to the idle thread. | |
| bool | chSysIntegrityCheckI (unsigned testmask) |
| System integrity check. | |
| void | chSysTimerHandlerI (void) |
| Handles time ticks for round robin preemption and timer increments. | |
| syssts_t | chSysGetStatusAndLockX (void) |
| Returns the execution status and enters a critical zone. | |
| void | chSysRestoreStatusX (syssts_t sts) |
| Restores the specified execution status and leaves a critical zone. | |
| bool | chSysIsCounterWithinX (rtcnt_t cnt, rtcnt_t start, rtcnt_t end) |
| Realtime window test. | |
| void | chSysPolledDelayX (rtcnt_t cycles) |
| Polled delay. | |
| static void | chSysDisable (void) |
| Raises the system interrupt priority mask to the maximum level. | |
| static void | chSysSuspend (void) |
| Raises the system interrupt priority mask to system level. | |
| static void | chSysEnable (void) |
| Lowers the system interrupt priority mask to user level. | |
| static void | chSysLock (void) |
| Enters the kernel lock state. | |
| static void | chSysUnlock (void) |
| Leaves the kernel lock state. | |
| static void | chSysLockFromISR (void) |
| Enters the kernel lock state from within an interrupt handler. | |
| static void | chSysUnlockFromISR (void) |
| Leaves the kernel lock state from within an interrupt handler. | |
| static void | chSysUnconditionalLock (void) |
| Unconditionally enters the kernel lock state. | |
| static void | chSysUnconditionalUnlock (void) |
| Unconditionally leaves the kernel lock state. | |
| static void | chSysNotifyInstance (os_instance_t *oip) |
| Notifies an OS instance to check for reschedule. | |
System related macros and structures.
Definition in file chsys.h.