From bf26932b4ac73b6945887bdd3bc63d74d0b91f69 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sun, 9 Apr 2023 19:41:50 -0700 Subject: [PATCH] altos/lpc: Support 6k ram targets Set RAMSIZE in Makefile before including ../lpc/Makefile.defs and it will select a suitable linker script. Signed-off-by: Keith Packard --- src/lpc/Makefile.defs | 8 +++++++- src/lpc/altos-6k.ld | 26 ++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 src/lpc/altos-6k.ld diff --git a/src/lpc/Makefile.defs b/src/lpc/Makefile.defs index 7ea76e1c..9b1554c7 100644 --- a/src/lpc/Makefile.defs +++ b/src/lpc/Makefile.defs @@ -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 index 00000000..d8666f36 --- /dev/null +++ b/src/lpc/altos-6k.ld @@ -0,0 +1,26 @@ +/* + * Copyright © 2012 Keith Packard + * + * 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 -- 2.30.2