changeset 82:dd13211c9f10

nuc-fw: building XIP code in Thumb as intended
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Sat, 17 Aug 2013 19:29:48 +0000
parents 147861b15cda
children ebe258a85813
files nuc-fw/finlink/xram.lds nuc-fw/nucdemo/Makefile nuc-fw/nucleus/Makefile nuc-fw/sprintf/Makefile
diffstat 4 files changed, 13 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/nuc-fw/finlink/xram.lds	Fri Aug 16 20:14:01 2013 +0000
+++ b/nuc-fw/finlink/xram.lds	Sat Aug 17 19:29:48 2013 +0000
@@ -20,6 +20,8 @@
 		xipcode.o(.text*)
 		*libplus.xip.a:(.text*)
 		*libsprintf.a:(.text*)
+		/* let's put the ARM->Thumb veneers in the XIP section */
+		*(.glue_7)
 	} > XRAM
 
 	/* copy-to-IRAM code */
--- a/nuc-fw/nucdemo/Makefile	Fri Aug 16 20:14:01 2013 +0000
+++ b/nuc-fw/nucdemo/Makefile	Sat Aug 17 19:29:48 2013 +0000
@@ -1,5 +1,5 @@
 CC=	arm-elf-gcc
-CFLAGS=	-O2 -fno-builtin -mthumb-interwork
+CFLAGS=	-O2 -fno-builtin -mthumb-interwork -mthumb
 CPPFLAGS=-I../nucleus
 
 OBJS=	demo.o
--- a/nuc-fw/nucleus/Makefile	Fri Aug 16 20:14:01 2013 +0000
+++ b/nuc-fw/nucleus/Makefile	Sat Aug 17 19:29:48 2013 +0000
@@ -7,13 +7,16 @@
 IOBJS=	csc.o erc.o pmc.o pmce.o pmd.o smc.o smce.o smd.o tcc.o tcce.o tcd.o \
 	tct.o tmc.o tmd.o tms.o tmse.o tmt.o irqshell.o
 
-XOBJS=	dmc.o dmce.o dmd.o dmf.o dmi.o dms.o erd.o eri.o evc.o evce.o evd.o \
+XTOBJS=	dmc.o dmce.o dmd.o dmf.o dmi.o dms.o erd.o eri.o evc.o evce.o evd.o \
 	evf.o evi.o hic.o hid.o hii.o inc.o ioc.o ioce.o iod.o iof.o ioi.o \
 	lic.o lid.o mbc.o mbce.o mbd.o mbf.o mbi.o mbs.o mbse.o pic.o pice.o \
 	pid.o pif.o pii.o pis.o pise.o pmf.o pmi.o quc.o quce.o qud.o quf.o \
 	qui.o qus.o quse.o rlc.o rld.o smf.o smi.o sms.o smse.o tcf.o tcfe.o \
 	tci.o tcs.o tcse.o tmf.o tmi.o \
-	init.o sdc.o tmcal.o
+	sdc.o tmcal.o
+
+XOBJS=	${XTOBJS} init.o
+AOBJS=	${IOBJS} init.o
 
 HDRS=	asm_defs.h cs_defs.h cs_extr.h dm_defs.h dm_extr.h er_defs.h er_extr.h \
 	ev_defs.h ev_extr.h hi_defs.h hi_extr.h in_defs.h in_extr.h io_defs.h \
@@ -24,8 +27,10 @@
 
 all:	libplus.iram.a libplus.xip.a
 
-${IOBJS}:	${HDRS}
-${XOBJS}:	${HDRS}
+${AOBJS}:	${HDRS}
+
+${XTOBJS}:	%.o : %.c ${HDRS}
+	${CC} ${CFLAGS} -mthumb -c $<
 
 libplus.iram.a:	${IOBJS}
 	${AR} cru $@ ${IOBJS}
--- a/nuc-fw/sprintf/Makefile	Fri Aug 16 20:14:01 2013 +0000
+++ b/nuc-fw/sprintf/Makefile	Sat Aug 17 19:29:48 2013 +0000
@@ -1,5 +1,5 @@
 CC=	arm-elf-gcc
-CFLAGS=	-O2 -fno-builtin -mthumb-interwork
+CFLAGS=	-O2 -fno-builtin -mthumb-interwork -mthumb
 AR=	arm-elf-ar
 RANLIB=	arm-elf-ranlib