From b87e904f961460b97ab90665a1cfa2cd712f0ef3 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Thu, 15 Mar 2012 17:12:40 +0000 Subject: since we have plenty of RAM now (2k), bum default stack-sizes of tasks --- kernel/dmx.c | 22 +++++++++++----------- kernel/dmx/Makefile | 2 +- kernel/kernel.h | 8 ++++++-- 3 files changed, 18 insertions(+), 14 deletions(-) (limited to 'kernel') diff --git a/kernel/dmx.c b/kernel/dmx.c index cf870af..c531a37 100644 --- a/kernel/dmx.c +++ b/kernel/dmx.c @@ -36,21 +36,21 @@ struct pwmarg pwmargs[] = { int main() { + init(STACK); uart_init(); lcd_init(); - init(48); - exec(heartbeat, NULL, 48); - exec(rgb, &rgbargs, 72); - exec(pwm, &pwmargs[0], 64); - exec(pwm, &pwmargs[1], 64); - exec(pwm, &pwmargs[2], 64); - exec(adc, &adcarg, 96); - exec(clock, NULL, 96); + exec(heartbeat, NULL, MINSTACK); + exec(rgb, &rgbargs, DEFSTACK); + exec(pwm, &pwmargs[0], DEFSTACK); + exec(pwm, &pwmargs[1], DEFSTACK); + exec(pwm, &pwmargs[2], DEFSTACK); + exec(adc, &adcarg, BIGSTACK); + exec(clock, NULL, BIGSTACK); #if 0 - exec(ctrl, NULL, 96); - exec(cmd, &rgbargs, 48); - exec(ppm, &ppmarg, 48); + exec(ctrl, NULL, BIGSTACK); + exec(cmd, &rgbargs, DEFSTACK); + exec(ppm, &ppmarg, DEFSTACK); #endif for (;;) diff --git a/kernel/dmx/Makefile b/kernel/dmx/Makefile index 4ee69ca..3cc10b7 100644 --- a/kernel/dmx/Makefile +++ b/kernel/dmx/Makefile @@ -3,7 +3,7 @@ MCU= atmega328p F_CPU= 20000000 PRESCALE= 8 # res 0.5usec cycle 32.7msec -STACK= 80 +STACK= 48 # min stack size TASKS= 11 # +1 idle = 12 SEMAPHORES= 2 BAUD= 9600 diff --git a/kernel/kernel.h b/kernel/kernel.h index a05456d..40cacac 100644 --- a/kernel/kernel.h +++ b/kernel/kernel.h @@ -29,10 +29,14 @@ #endif #ifndef STACK -#warning STACK not set, fallback to default: 64 -#define STACK 64 +#warning STACK not set, fallback to default: 48 +#define STACK 48 #endif +#define MINSTACK (1 * STACK - 2) +#define DEFSTACK (2 * STACK - 2) +#define BIGSTACK (3 * STACK - 2) + #ifndef F_CPU #warning F_CPU not set, fallback to default: 16MHz #define F_CPU 16000000 -- cgit v1.2.3