aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2012-03-15 17:12:40 +0000
committerDimitri Sokolyuk <demon@dim13.org>2012-03-15 17:12:40 +0000
commitb87e904f961460b97ab90665a1cfa2cd712f0ef3 (patch)
tree889df2e59ef21307733a0296e4e2b112ea34faf5 /kernel
parent1e2fdb0ef861177a8e7be7d0102edc98dae8d456 (diff)
since we have plenty of RAM now (2k), bum default stack-sizes of tasks
Diffstat (limited to 'kernel')
-rw-r--r--kernel/dmx.c22
-rw-r--r--kernel/dmx/Makefile2
-rw-r--r--kernel/kernel.h8
3 files changed, 18 insertions, 14 deletions
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