|
|
Configuration of the system. More...
Defines | |
#define | CFG_OS_MAX_THREADS 16 |
Defines maximum number of threads. | |
#define | CFG_CHECK_OVERFLOW |
define this for testing overflow in semaphore/mutex | |
#define | CFG_CHECK_LOCK |
check lock issues due to preemption disabled or empty ready list | |
#define | CFG_INITIAL_GIE_IN_THREAD 1 |
defines initial state of GIE when switches to the thread | |
#define | CFG_LISTDEL_WITH_POISON |
allows marking .next field in list with special pattern during os_list1_del() | |
#define | CFG_MEM_POOL_POISON_FILL 0xDAAB |
filling pattern for free items in memory pool | |
#define | CFG_LISTDEL_POISON 0xABBA |
code that is used to mark deleted list items. | |
#define | CFG_CHECK_EMPTY_SEM_DESTROY |
perform a check on semaphore destroy in os_sleep() | |
#define | CFG_CHECK_TIMER_REMOVE_LOCK |
enable location stamp of timer delete, it is useful for determination how timer was deleted (manually or becuse it expired) | |
#define | CFG_FILL_EMPTY_MEM_POOL |
fills unused memory with poison pattern (excl. with CFG_MARK_EMPTY_MEM_POOL) | |
#define | CFG_MARK_EMPTY_MEM_POOL |
marking of empty item with a poison code (excl.CFG_FILL_EMPTY_MEM_POOL ) | |
#define | CFG_ZERO_ALLOC_MEM_POOL |
new allocated memory from memory pool is filled with zeros (excl. with CFG_MARK_ALLOC_MEM_POOL) | |
#define | CFG_MARK_ALLOC_MEM_POOL |
new allocated memory from memory pool has zero marking (excl. CFG_ZERO_ALLOC_MEM_POOL), only two first bytes. | |
#define | CFG_CHECK_PTR_AT_MEM_FREE |
enables pointer check in os_mem_pool_free, may detect incorrect pointer or double free | |
#define | CFG_CRITICAL_BASEPRI 0x40 |
value of priority for critical section, all intr with priority >= than this are blocked | |
#define | CFG_SYSTICK_PERIOD 32000 |
this value controls period of system tick interrupt | |
#define | CFG_SYSTICK_PRIO 0x0e |
value of priority for SysTick interrupt | |
#define | CFG_SCHEDULE_ISR_ON_REQ |
controls scheduling on ISR exit. When enabled it is done only when requested, otherwise is done every ISR (NOW ALWAYS enabled) | |
#define | CFG_PENDSV_PRIO 0x0F |
priority of PendSV exception | |
#define | CFG_THREAD_STATE_IN_TCB |
controls thread state marking in tcb.state | |
#define | CFG_SCHED_STATS |
adds statistic counters for context switch and pendsv handlers | |
#define | CFG_GPIO_SIGNAL_FAST |
uses registers (faster) in gpio signalling instead of CMSIS functions (portable) |
Configuration of the system.
The file contains definition of the system configuration. Preprocessor symbols that are defined here control compilation of the system code. Some parts and corresponding functionality of the system are compiled conditionally and can be excluded from final release. Also, some byte patterns used for debug support are defined here.
#define CFG_LISTDEL_POISON 0xABBA |
code that is used to mark deleted list items.
The value written into .next field in list item when it is deleted. Because the value is an invalid RAM address, it can be easily recognized during debug that deleted item is processed.
#define CFG_OS_MAX_THREADS 16 |
Defines maximum number of threads.
It determines size of tcb table. Set it to number of threads that you use (incl. idle thread). The value must not be larger than 16
#define CFG_SCHED_STATS |
adds statistic counters for context switch and pendsv handlers
Two global counters are provided if this symbol is defined: os_sched_stats_ctx - number of context switch, os_sched_stats_pendsv - number of PendSV exception - used for switching context after request in ISR