diff options
| author | Keith Packard <keithp@keithp.com> | 2013-03-10 21:02:59 -0700 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2013-05-07 20:15:43 -0700 | 
| commit | c9c35b100c3fcae661501d2bf89eedc7fceb2e1c (patch) | |
| tree | c2db5892a973c33346d1985405f2f88a6b3d87b6 /src/core | |
| parent | a6887032b4d217bca5236ea15389218f10d69545 (diff) | |
altos: Make stm-flash capable of switching to application
This shrinks the base OS load down a bit as well so that stm-flash
fits comfortably in the first 8kB of memory.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/ao_cmd.c | 11 | ||||
| -rw-r--r-- | src/core/ao_task.c | 2 | ||||
| -rw-r--r-- | src/core/ao_task.h | 4 | 
3 files changed, 17 insertions, 0 deletions
diff --git a/src/core/ao_cmd.c b/src/core/ao_cmd.c index 6eed08d9..7da2384f 100644 --- a/src/core/ao_cmd.c +++ b/src/core/ao_cmd.c @@ -16,6 +16,7 @@   */  #include "ao.h" +#include "ao_task.h"  __pdata uint16_t ao_cmd_lex_i;  __pdata uint32_t ao_cmd_lex_u32; @@ -262,6 +263,11 @@ ao_reboot(void)  	ao_panic(AO_PANIC_REBOOT);  } +#ifndef HAS_VERSION +#define HAS_VERSION 1 +#endif + +#if HAS_VERSION  static void  version(void)  { @@ -289,6 +295,7 @@ version(void)  #endif  	printf("software-version %s\n", ao_version);  } +#endif  #ifndef NUM_CMDS  #define NUM_CMDS	11 @@ -382,10 +389,14 @@ __xdata struct ao_task ao_cmd_task;  __code struct ao_cmds	ao_base_cmds[] = {  	{ help,		"?\0Help" }, +#if HAS_TASK_INFO  	{ ao_task_info,	"T\0Tasks" }, +#endif  	{ echo,		"E <0 off, 1 on>\0Echo" },  	{ ao_reboot,	"r eboot\0Reboot" }, +#if HAS_VERSION  	{ version,	"v\0Version" }, +#endif  	{ 0,	NULL },  }; diff --git a/src/core/ao_task.c b/src/core/ao_task.c index c24c9929..0aad6508 100644 --- a/src/core/ao_task.c +++ b/src/core/ao_task.c @@ -512,6 +512,7 @@ ao_exit(void)  	/* we'll never get back here */  } +#if HAS_TASK_INFO  void  ao_task_info(void)  { @@ -528,6 +529,7 @@ ao_task_info(void)  	ao_task_validate();  #endif  } +#endif  void  ao_start_scheduler(void) diff --git a/src/core/ao_task.h b/src/core/ao_task.h index 50bfb220..1a4b5b6b 100644 --- a/src/core/ao_task.h +++ b/src/core/ao_task.h @@ -21,6 +21,10 @@  #include <ao_list.h>  #endif +#ifndef HAS_TASK_INFO +#define HAS_TASK_INFO 1 +#endif +  /* An AltOS task */  struct ao_task {  	__xdata void *wchan;		/* current wait channel (NULL if running) */  | 
