altos/lpc: Support 6k ram targets
authorKeith Packard <keithp@keithp.com>
Mon, 10 Apr 2023 02:41:50 +0000 (19:41 -0700)
committerKeith Packard <keithp@keithp.com>
Mon, 10 Apr 2023 02:43:01 +0000 (19:43 -0700)
Set RAMSIZE in Makefile before including ../lpc/Makefile.defs and it
will select a suitable linker script.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/lpc/Makefile.defs
src/lpc/altos-6k.ld [new file with mode: 0644]

index 7ea76e1c85b3bb838bddc2fcc402d61676f239fb..9b1554c7aa0b4fa3cb6d027f8f6cd1bb17abac96 100644 (file)
@@ -2,9 +2,15 @@ ifndef TOPDIR
 TOPDIR=..
 endif
 
+ifdef RAMSIZE
+LINKER_SCRIPT=altos-$(RAMSIZE).ld
+else
+LINKER_SCRIPT=altos.ld
+endif
+
 include $(TOPDIR)/lpc/Makefile-lpc.defs
 
-LDFLAGS=-nostartfiles $(CFLAGS) -L$(TOPDIR)/lpc -Taltos.ld -n
+LDFLAGS=-nostartfiles $(CFLAGS) -L$(TOPDIR)/lpc -T$(LINKER_SCRIPT) -n
 
 ao_serial_lpc.h: $(TOPDIR)/lpc/baud_rate ao_pins.h
        nickle $(TOPDIR)/lpc/baud_rate `awk '/AO_LPC_CLKOUT/{print $$3}' ao_pins.h` > $@
diff --git a/src/lpc/altos-6k.ld b/src/lpc/altos-6k.ld
new file mode 100644 (file)
index 0000000..d8666f3
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * Copyright © 2012 Keith Packard <keithp@keithp.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+
+__flash = 0x1000;
+__flash_size = 28K;
+__ram = 0x10000000;
+__ram_size = 6k;
+__stack_size = 128;
+
+INCLUDE registers.ld
+INCLUDE picolibc.ld