Argon RTOS
1.3.0
Tiny embedded real-time kernel
|
Documentation of the configuration macros.
ar_config.h
file to your application's source code tree and modify it. Be sure to place the new config file's directory earlier in the include paths than the Argon source directory. Macros | |
#define | AR_ANONYMOUS_OBJECT_NAME |
The string to use for the name of an object that wasn't provided a name. | |
#define | AR_DEFERRED_ACTION_QUEUE_SIZE |
Maximum number of actions deferred from IRQ context. | |
#define | AR_ENABLE_LIST_CHECKS |
Enable runtime checking of linked lists. More... | |
#define | AR_ENABLE_TICKLESS_IDLE |
Set to 1 to enable tickless idle. | |
#define | AR_ENABLE_TRACE |
Enable kernel event tracing. | |
#define | AR_GLOBAL_OBJECT_LISTS |
Set to 1 to enable the lists of all created kernel objects. More... | |
#define | AR_RUNLOOP_FUNCTION_QUEUE_SIZE |
Maximum number of functions queued in a run loop. | |
#define | AR_THREAD_STACK_PATTERN_FILL |
Whether to fill a new thread's stack with a pattern. More... | |
Idle thread config | |
#define | AR_ENABLE_IDLE_SLEEP |
Controls whether the idle thread puts the processor to sleep until the next interrupt. More... | |
#define | AR_IDLE_THREAD_STACK_SIZE |
Size in bytes of the idle thread's stack. | |
System load config | |
#define | AR_ENABLE_SYSTEM_LOAD |
When set to 1, per-thread and total system CPU load will be computed. | |
#define | AR_SYSTEM_LOAD_SAMPLE_PERIOD |
Microsecond period over which CPU load is computed. More... | |
Main thread config | |
#define | AR_ENABLE_MAIN_THREAD |
Set to 1 to cause main() to be run in a thread. More... | |
#define | AR_SCHEDULER_STACK_SIZE |
Size in bytes of the stack used by the scheduler and interrupts if the main thread is enabled. More... | |
#define | AR_MAIN_THREAD_PRIORITY |
Priority for the main thread. | |
#define AR_ENABLE_IDLE_SLEEP |
Controls whether the idle thread puts the processor to sleep until the next interrupt.
Set to 1 to enable. The default is to disable idle sleep for debug builds, enabled for release builds.
#define AR_ENABLE_LIST_CHECKS |
Enable runtime checking of linked lists.
Normally not required.
#define AR_ENABLE_MAIN_THREAD |
Set to 1 to cause main() to be run in a thread.
Enabling this option will cause the kernel to automatically start prior to main() being called. A thread is created for you with the entry point set to main(). The main thread's priority is set with the AR_MAIN_THREAD_PRIORITY macro. The stack size is determined by a combination of the linker file and AR_SCHEDULER_STACK_SIZE.
#define AR_GLOBAL_OBJECT_LISTS |
Set to 1 to enable the lists of all created kernel objects.
Default is enabled for debug builds, disabled for release builds.
#define AR_SCHEDULER_STACK_SIZE |
Size in bytes of the stack used by the scheduler and interrupts if the main thread is enabled.
This size is subtracted from the C stack size specified by the linker file. The remainder is used for the main thread itself.
#define AR_SYSTEM_LOAD_SAMPLE_PERIOD |
Microsecond period over which CPU load is computed.
The nominal sampler period is 1 second.
#define AR_THREAD_STACK_PATTERN_FILL |
Whether to fill a new thread's stack with a pattern.
Filling the stack with a pattern enables one to determine maximum stack usage of a thread. The downside is that it takes longer to initialize a thread. Default is enabled for debug builds, disabled for release.