From 2aa02234b1ac2b1701b44fcec9e9bd82bea526b7 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Tue, 5 Dec 2017 10:48:04 -0800 Subject: [PATCH] altos/cortexelf-v1: Adapt to lisp->scheme name change Signed-off-by: Keith Packard --- src/cortexelf-v1/.gitignore | 3 ++ src/cortexelf-v1/Makefile | 44 ++++++++----------- src/cortexelf-v1/ao_cortexelf.c | 8 ++-- .../{ao_lisp_os.h => ao_scheme_os.h} | 22 +++++----- ...{ao_lisp_os_save.c => ao_scheme_os_save.c} | 20 ++++----- src/scheme/Makefile-scheme | 6 +-- src/stm/Makefile.defs | 2 +- 7 files changed, 50 insertions(+), 55 deletions(-) create mode 100644 src/cortexelf-v1/.gitignore rename src/cortexelf-v1/{ao_lisp_os.h => ao_scheme_os.h} (80%) rename src/cortexelf-v1/{ao_lisp_os_save.c => ao_scheme_os_save.c} (66%) diff --git a/src/cortexelf-v1/.gitignore b/src/cortexelf-v1/.gitignore new file mode 100644 index 00000000..0189131b --- /dev/null +++ b/src/cortexelf-v1/.gitignore @@ -0,0 +1,3 @@ +cortexelf-v1*.elf +cortexelf-v1*.hex +ao_product.h diff --git a/src/cortexelf-v1/Makefile b/src/cortexelf-v1/Makefile index be225e57..12c658dc 100644 --- a/src/cortexelf-v1/Makefile +++ b/src/cortexelf-v1/Makefile @@ -4,7 +4,8 @@ # include ../stm/Makefile.defs -LDFLAGS=-L../stm -Wl,-Tcortexelf.ld +include ../scheme/Makefile-inc + INC = \ ao.h \ @@ -19,15 +20,12 @@ INC = \ math.h \ ao_mpu.h \ stm32l.h \ - math.h \ ao_vga.h \ ao_draw.h \ ao_draw_int.h \ ao_font.h \ ao_ps2.h \ - ao_lisp.h \ - ao_lisp_const.h \ - ao_lisp_os.h \ + $(SCHEME_HDRS) \ ao_flip_bits.h \ Makefile @@ -46,6 +44,7 @@ ALTOS_SRC = \ ao_cmd.c \ ao_config.c \ ao_task.c \ + ao_errno.c \ ao_stdio.c \ ao_panic.c \ ao_timer.c \ @@ -74,24 +73,8 @@ ALTOS_SRC = \ ao_event.c \ ao_1802.c \ ao_hex.c \ - ao_lisp_lex.c \ - ao_lisp_mem.c \ - ao_lisp_cons.c \ - ao_lisp_eval.c \ - ao_lisp_string.c \ - ao_lisp_atom.c \ - ao_lisp_int.c \ - ao_lisp_poly.c \ - ao_lisp_bool.c \ - ao_lisp_builtin.c \ - ao_lisp_read.c \ - ao_lisp_rep.c \ - ao_lisp_frame.c \ - ao_lisp_error.c \ - ao_lisp_lambda.c \ - ao_lisp_save.c \ - ao_lisp_stack.c \ - ao_lisp_os_save.c \ + $(SCHEME_SRCS) \ + ao_scheme_os_save.c \ $(PROFILE) \ $(SAMPLE_PROFILE) \ $(STACK_GUARD) @@ -100,12 +83,21 @@ PRODUCT=CortexELF-v1 PRODUCT_DEF=-DCORTEXELF IDPRODUCT=0x000a -CFLAGS = $(PRODUCT_DEF) $(STM_CFLAGS) $(PROFILE_DEF) $(SAMPLE_PROFILE_DEF) $(STACK_GUARD_DEF) -Os -g - PROGNAME=cortexelf-v1 PROG=$(PROGNAME)-$(VERSION).elf HEX=$(PROGNAME)-$(VERSION).ihx +MAP=$(PROG).map + +MAPFILE=-Wl,-M=$(MAP) + +LDFLAGS=-L../stm -L/local/newlib-mini/arm-none-eabi/lib/thumb/v7-m/ -Wl,-Tcortexelf.ld $(MAPFILE) -nostartfiles +AO_CFLAGS=-I. -I../stm -I../kernel -I../drivers -I../draw -I../scheme -I.. -I/local/newlib-mini/arm-none-eabi/include +LIBS=-lc -lm -lgcc + +CFLAGS = $(PRODUCT_DEF) $(STM_CFLAGS) $(PROFILE_DEF) $(SAMPLE_PROFILE_DEF) $(STACK_GUARD_DEF) -Os -g + + SRC=$(ALTOS_SRC) ao_cortexelf.c OBJ=$(SRC:.c=.o) @@ -131,7 +123,7 @@ clean:: ao_flip_bits.h: ao_flip_bits.5c nickle ao_flip_bits.5c > $@ -include ../lisp/Makefile-lisp +include ../scheme/Makefile-scheme install: diff --git a/src/cortexelf-v1/ao_cortexelf.c b/src/cortexelf-v1/ao_cortexelf.c index 61a9d219..5ed78bf0 100644 --- a/src/cortexelf-v1/ao_cortexelf.c +++ b/src/cortexelf-v1/ao_cortexelf.c @@ -27,7 +27,7 @@ #include #include #include -#include +#include #include #include #include @@ -188,8 +188,8 @@ ao_console_send(void) } } -static void lisp_cmd() { - ao_lisp_read_eval_print(); +static void scheme_cmd() { + ao_scheme_read_eval_print(); } static void @@ -224,7 +224,7 @@ __code struct ao_cmds ao_demo_cmds[] = { { ao_ps2_read_keys, "K\0Read keys from keyboard" }, { ao_console_send, "C\0Send data to console, end with ~" }, { ao_serial_blather, "S\0Blather on serial ports briefly" }, - { lisp_cmd, "l\0Run lisp interpreter" }, + { scheme_cmd, "l\0Run scheme interpreter" }, { led_cmd, "L start value\0Show value (byte) at digit start" }, { 0, NULL } }; diff --git a/src/cortexelf-v1/ao_lisp_os.h b/src/cortexelf-v1/ao_scheme_os.h similarity index 80% rename from src/cortexelf-v1/ao_lisp_os.h rename to src/cortexelf-v1/ao_scheme_os.h index 27ea7806..58e4f5b3 100644 --- a/src/cortexelf-v1/ao_lisp_os.h +++ b/src/cortexelf-v1/ao_scheme_os.h @@ -15,13 +15,13 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -#ifndef _AO_LISP_OS_H_ -#define _AO_LISP_OS_H_ +#ifndef _AO_SCHEME_OS_H_ +#define _AO_SCHEME_OS_H_ #include "ao.h" -#define AO_LISP_POOL_TOTAL 16384 -#define AO_LISP_SAVE 1 +#define AO_SCHEME_POOL_TOTAL 16384 +#define AO_SCHEME_SAVE 1 #ifndef __BYTE_ORDER #define __LITTLE_ENDIAN 1234 @@ -30,7 +30,7 @@ #endif static inline int -ao_lisp_getc() { +ao_scheme_getc() { static uint8_t at_eol; int c; @@ -45,33 +45,33 @@ ao_lisp_getc() { } static inline void -ao_lisp_os_flush(void) +ao_scheme_os_flush(void) { flush(); } static inline void -ao_lisp_abort(void) +ao_scheme_abort(void) { ao_panic(1); } static inline void -ao_lisp_os_led(int led) +ao_scheme_os_led(int led) { (void) led; } -#define AO_LISP_JIFFIES_PER_SECOND AO_HERTZ +#define AO_SCHEME_JIFFIES_PER_SECOND AO_HERTZ static inline void -ao_lisp_os_delay(int delay) +ao_scheme_os_delay(int delay) { ao_delay(delay); } static inline int -ao_lisp_os_jiffy(void) +ao_scheme_os_jiffy(void) { return ao_tick_count; } diff --git a/src/cortexelf-v1/ao_lisp_os_save.c b/src/cortexelf-v1/ao_scheme_os_save.c similarity index 66% rename from src/cortexelf-v1/ao_lisp_os_save.c rename to src/cortexelf-v1/ao_scheme_os_save.c index 7c853990..4cec79c6 100644 --- a/src/cortexelf-v1/ao_lisp_os_save.c +++ b/src/cortexelf-v1/ao_scheme_os_save.c @@ -13,25 +13,25 @@ */ #include -#include +#include #include extern uint8_t __flash__[]; /* saved variables to rebuild the heap - ao_lisp_atoms - ao_lisp_frame_global + ao_scheme_atoms + ao_scheme_frame_global */ int -ao_lisp_os_save(void) +ao_scheme_os_save(void) { int i; - for (i = 0; i < AO_LISP_POOL_TOTAL; i += 256) { + for (i = 0; i < AO_SCHEME_POOL_TOTAL; i += 256) { uint32_t *dst = (uint32_t *) (void *) &__flash__[i]; - uint32_t *src = (uint32_t *) (void *) &ao_lisp_pool[i]; + uint32_t *src = (uint32_t *) (void *) &ao_scheme_pool[i]; ao_flash_page(dst, src); } @@ -39,15 +39,15 @@ ao_lisp_os_save(void) } int -ao_lisp_os_restore_save(struct ao_lisp_os_save *save, int offset) +ao_scheme_os_restore_save(struct ao_scheme_os_save *save, int offset) { - memcpy(save, &__flash__[offset], sizeof (struct ao_lisp_os_save)); + memcpy(save, &__flash__[offset], sizeof (struct ao_scheme_os_save)); return 1; } int -ao_lisp_os_restore(void) +ao_scheme_os_restore(void) { - memcpy(ao_lisp_pool, __flash__, AO_LISP_POOL_TOTAL); + memcpy(ao_scheme_pool, __flash__, AO_SCHEME_POOL_TOTAL); return 1; } diff --git a/src/scheme/Makefile-scheme b/src/scheme/Makefile-scheme index 2427cffa..b9018e19 100644 --- a/src/scheme/Makefile-scheme +++ b/src/scheme/Makefile-scheme @@ -1,4 +1,4 @@ -include ../lisp/Makefile-inc +include ../scheme/Makefile-inc -ao_scheme_const.h: $(LISP_SRCS) $(LISP_HDRS) - +cd ../lisp && make $@ +ao_scheme_const.h: $(SCHEME_SRCS) $(SCHEME_HDRS) + +cd ../scheme && make $@ diff --git a/src/stm/Makefile.defs b/src/stm/Makefile.defs index 66ed4be8..4d0d27c7 100644 --- a/src/stm/Makefile.defs +++ b/src/stm/Makefile.defs @@ -1,4 +1,4 @@ -vpath % ../stm:../product:../drivers:../kernel:../util:../kalman:../aes:../math:../draw:../lisp:.. +vpath % ../stm:../product:../drivers:../kernel:../util:../kalman:../aes:../math:../draw:../scheme:.. vpath make-altitude ../util vpath make-kalman ../util vpath kalman.5c ../kalman -- 2.30.2