This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Idle thread min stack size


I came across the same problem and I agree with you.
I will use your suggestion

Thanks a lot

Phil.


Brian Karr wrote:
> 
> Hi All,
> 
> For applications with limited RAM, it's useful to optimize the minimum
> allowed stack size for the Idle thread.
> 
> It has been identified that the eCos CYGNUM_HAL_STACK_SIZE_MINIMUM which
> is
> used for the Idle thread and for ASSERT of thread creation is too high
> when
> the system is set to CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK.
> 
> A suggested change for ARM is included in the diff below (with hg-ecos
> trunk). A search of the list archives did not turn up an equivalent change
> for this.
> 
> Without this the minimum stack size and the size of the idle stack will be
> 1120 bytes assuming a nesting level of 4.
> 
> Best,
> 
> Brian
> 
> 
> 
> diff -r d6c0c0e0431c packages/hal/arm/arch/current/include/hal_arch.h
> --- a/packages/hal/arm/arch/current/include/hal_arch.h	Tue Jan 26 11:27:47
> 2010 +0000
> +++ b/packages/hal/arm/arch/current/include/hal_arch.h	Sun Jan 31 22:52:44
> 2010 -0800
> @@ -400,9 +400,14 @@
>  // Space for the maximum number of nested interrupts, plus room to call
> functions
>  #define CYGNUM_HAL_MAX_INTERRUPT_NESTING 4
>  
> -#define CYGNUM_HAL_STACK_SIZE_MINIMUM \
> -        (CYGNUM_HAL_MAX_INTERRUPT_NESTING *
> CYGNUM_HAL_STACK_INTERRUPT_SIZE
> + \
> -         2 * CYGNUM_HAL_STACK_FRAME_SIZE)
> +#ifdef CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK
> +#define CYGNUM_HAL_STACK_SIZE_MINIMUM \
> +        (2 * CYGNUM_HAL_STACK_FRAME_SIZE)
> +#else
> +#define CYGNUM_HAL_STACK_SIZE_MINIMUM \
> +        (CYGNUM_HAL_MAX_INTERRUPT_NESTING *
> CYGNUM_HAL_STACK_INTERRUPT_SIZE
> + \
> +         2 * CYGNUM_HAL_STACK_FRAME_SIZE)
> +#endif
>  
>  #define CYGNUM_HAL_STACK_SIZE_TYPICAL \
>          (CYGNUM_HAL_STACK_SIZE_MINIMUM + \
> 
> 
> 
> 
> 
> -- 
> Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
> and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
> 
> 
> 

-- 
View this message in context: http://old.nabble.com/Idle-thread-min-stack-size-tp27400385p28791370.html
Sent from the Sourceware - ecos-discuss mailing list archive at Nabble.com.


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]