app_specific/arch/cortex-m3/gcc/include/config.h File Reference

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)

Detailed Description

Configuration of the system.

Author:
Piotr Romaniuk, (c) ELESOFTROM
Version:
1.1 Nov 8, 2013

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 Documentation

#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