zephyr/lib
Carlos Stuart d4eb2c9014 lib: cmsis_rtos_v2: Dynamic thread stacks
Implemented dynamic thread stacks for CMSIS threads by declaring an
array of default sized thread stacks. Allocation cannot be done on the
heap as some architectures require strict alignment for stacks so the
macro must be used to define the stack to ensure most compatibility.

Added a Kconfig variable to limit the number of dynamic threads on the
system (they also count towards total CMSIS thread count). This is so a
developer can have fine grained control over how many dynamic threads
can be allocated because all their stacks must be allocated up front so
could use a lot of memory needlessly if oversubscribed. The default
value is 0 which effectively disabled dynamic threads but also reduces
the memory impact to almost none.

Fixed an assert bug where thread_num was being tested against the
maximum allowed CMSIS threads - it previous checked for less than or
equal which actually (due to when the increment happens) allowed there
to be one more thread. The check now correctly uses less than and only
allowed up to the defined maximum.

Signed-off-by: Carlos Stuart <carlosstuart1970@gmail.com>
2019-02-06 10:20:17 -05:00
..
cmsis_rtos_v1 lib: Add 'U' to unsigned variable assignments 2018-12-04 22:51:56 -05:00
cmsis_rtos_v2 lib: cmsis_rtos_v2: Dynamic thread stacks 2019-02-06 10:20:17 -05:00
gui gui: Upstep LittlevGL to version 5.3 2019-02-04 15:32:29 -05:00
libc arch/x86_64: New architecture added 2019-01-11 15:18:52 -05:00
os misc: assert_post_action: Treat POSIX arch like others 2019-02-03 10:28:51 -08:00
posix lib: posix: fix build break due to size comparsion 2019-02-01 23:41:09 -05:00
CMakeLists.txt lib: flatten all loose components into one lib 2019-01-22 07:45:22 -05:00
Kconfig lib: flatten all loose components into one lib 2019-01-22 07:45:22 -05:00