\r
MEMORY\r
{\r
- flash(R) : ORIGIN = 0x08000000, LENGTH = 256K\r
- ram(RW) : ORIGIN = 0x20000000, LENGTH = 64K\r
+#include "memory.ldf"\r
}\r
\r
SECTIONS\r
* Copyright (C) 2009 ArcCore AB <contact@arccore.com> \r
*/\r
\r
-/* For more info on sections check the E500 freescale doc: E500ABIUG.pdf\r
- *\r
- */\r
+/* Undef sections/keywords */ \r
+#undef PPC\r
+\r
OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc", "elf32-powerpc")\r
OUTPUT_ARCH(powerpc)\r
ENTRY(_start)\r
\r
\r
+\r
MEMORY\r
{\r
- /* MPC55xx Reset Control Word(RCW) */\r
- rcw(R) : ORIGIN = 0x00000000, LENGTH = 0x8\r
- flash(R) : ORIGIN = 0x00000008, LENGTH = 0x100000\r
- /* 5516S, 48K\r
- * 5517S,5516G,5516E, 64K RAM\r
- * 5517G,E , 80K RAM\r
- */\r
- ram(RW) : ORIGIN = 0x40000000, LENGTH = 0x100000\r
+#include "memory.ldf"\r
}\r
\r
SECTIONS\r
\r
\r
-Test board. \r
-=======================================================\r
-\r
-The regression test board comes in different variants.\r
\r
+The Freescale MPC5510 is an PowerPC process with a e200Z1+e200Z0 core. \r
+ \r
+Datasheets:\r
+ Eval board:\r
+ http://www.asyst.si/isystem/files/downloads/evaluation_boards/ITMPC5517_V10.pdf \r
+ \r
+ MPC5516/7\r
+ http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MPC5510&webpageId=1067371573986721160325&nodeId=0162468rH3bTdG06C10325&fromPage=tax\r
\r
-This file supports:\r
-- EVB5516\r
+Board:\r
+ 8Mhz external crystal\r
\r
+Info: \r
+ MPC5516/7 (I think that the board is always equipped with a MPC5517E now)\r
+ e200Z1 + e200Z0 (VLE only)\r
+ 48-66Mhz\r
+ 1.5MB Flash (MPC5516 1MB)\r
+ 80KB SRAM (MPC5516 64KB)\r
+ .. \r
+ \r
+Memory Map:\r
+ 0x0000_0000 -> Flash\r
+ 0x4000_0000 -> SRAM\r
--- /dev/null
+\r
+\r
+/* MPC55xx Reset Control Word(RCW) */\r
+rcw(R) : ORIGIN = 0x00000000, LENGTH = 0x8\r
+flash(R) : ORIGIN = 0x00000008, LENGTH = 1M\r
+/* 5516S, 48K\r
+ * 5517S,5516G,5516E, 64K RAM\r
+ * 5517G,E , 80K RAM\r
+ */\r
+ram(RW) : ORIGIN = 0x40000000, LENGTH = 0x100000\r
--- /dev/null
+\r
+The Freescale MPC5510 is an PowerPC process with a e200Z1+e200Z0 core. \r
+The simulator environment ONLY supports one core.\r
+ \r
+Datasheets:\r
+ \r
+ MPC5516/7\r
+ http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MPC5510&webpageId=1067371573986721160325&nodeId=0162468rH3bTdG06C10325&fromPage=tax\r
+ \r
+Info: \r
+ MPC5516\r
+ 1.5MB Flash (MPC5516 1MB)\r
+ 80KB SRAM (MPC5516 64KB)\r
+ .. \r
+ \r
+Memory Map:\r
+ 0x0000_0000 -> Flash\r
+ 0x4000_0000 -> SRAM\r
--- /dev/null
+\r
+\r
+/* MPC55xx Reset Control Word(RCW) */\r
+rcw(R) : ORIGIN = 0x00000000, LENGTH = 0x8\r
+flash(R) : ORIGIN = 0x00000008, LENGTH = 1M\r
+/* 5516S, 48K\r
+ * 5517S,5516G,5516E, 64K RAM\r
+ * 5517G,E , 80K RAM\r
+ */\r
+ram(RW) : ORIGIN = 0x40000000, LENGTH = 0x100000\r
--- /dev/null
+\r
+The Freescale MPC5554 is an PowerPC process with a e200Z6 core. \r
+The difference between this and the MPC551xsim is that this supports VLE.\r
+ \r
+Datasheets:\r
+ \r
+Info: \r
+ MPC5554\r
+ 2MB Flash\r
+ 64KB SRAM\r
+ .. \r
+ \r
+Memory Map:\r
+ 0x0000_0000 -> Flash\r
+ 0x4000_0000 -> SRAM\r
--- /dev/null
+\r
+\r
+/* MPC55xx Reset Control Word(RCW) */\r
+rcw(R) : ORIGIN = 0x00000000, LENGTH = 0x8\r
+flash(R) : ORIGIN = 0x00000008, LENGTH = 2M\r
+/* 5516S, 48K\r
+ * 5517S,5516G,5516E, 64K RAM\r
+ * 5517G,E , 80K RAM\r
+ */\r
+ram(RW) : ORIGIN = 0x40000000, LENGTH = 0x100000\r
--- /dev/null
+\r
+\r
+The Freescale MPC5567 is an PowerPC process with a e200z6 core. \r
+The EVAL board used is the "ODEEP" concept. \r
+ \r
+Datasheets:\r
+ ODEEP \r
+ http://www.odeep.se/ \r
+ \r
+ MPC5567\r
+ http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MPC5567\r
+ \r
+Info: \r
+ MPC5567\r
+ 80-132Mhz\r
+ 2MB Flash \r
+ 80kB SRAM\r
+ 2 × SCI\r
+ 3 × DSPI\r
+ 5 × CAN\r
+ FlexRay\r
+ Ethernet\r
+ 24-ch PWM\r
+ 32-ch ETPU\r
+ 24-ch EMIOS\r
+ 2-ch × 20-ch, 12bit ADC\r
+ \r
+Memory Map:\r
+ 0x0000_0000 -> Flash\r
+ 0x4000_0000 -> SRAM\r
--- /dev/null
+\r
+\r
+/* MPC55xx Reset Control Word(RCW) */\r
+rcw(R) : ORIGIN = 0x00000000, LENGTH = 0x8\r
+flash(R) : ORIGIN = 0x00000008, LENGTH = 2M\r
+/* 5516S, 48K\r
+ * 5517S,5516G,5516E, 64K RAM\r
+ * 5517G,E , 80K RAM\r
+ */\r
+ram(RW) : ORIGIN = 0x40000000, LENGTH = 0x100000\r
--- /dev/null
+\r
+\r
+/* MPC55xx Reset Control Word(RCW) */\r
+rcw(R) : ORIGIN = 0x00000000, LENGTH = 0x8\r
+flash(R) : ORIGIN = 0x00000008, LENGTH = 0x100000\r
+/* 5516S, 48K\r
+ * 5517S,5516G,5516E, 64K RAM\r
+ * 5517G,E , 80K RAM\r
+ */\r
+ram(RW) : ORIGIN = 0x40000000, LENGTH = 0x100000\r
--- /dev/null
+\r
+\r
+flash(R) : ORIGIN = 0x08000000, LENGTH = 128K\r
+ram(RW) : ORIGIN = 0x20000000, LENGTH = 20K\r
--- /dev/null
+\r
+\r
+flash(R) : ORIGIN = 0x08000000, LENGTH = 256K\r
+ram(RW) : ORIGIN = 0x20000000, LENGTH = 64K\r
libitem-y += $(ROOTDIR)/libs/libkernel_$(ARCH_MCU).a\r
\r
#linkfile\r
-ldcmdfile-y = $(ROOTDIR)/$(ARCH_PATH-y)/scripts/linkscript_gcc.ldf\r
+ldcmdfile-y = linkscript_gcc.ldp\r
+vpath %.ldf $(ROOTDIR)/$(ARCH_PATH-y)/scripts\r
+#ldcmdfile-y = $(ROOTDIR)/$(ARCH_PATH-y)/scripts/linkscript_gcc.ldp\r
\r
# What I want to build\r
build-exe-y = simple.elf\r
\r
.PHONY clean: \r
clean: FORCE\r
- @-rm -f *.o *.d *.h *.elf *.a\r
-\r
+ @-rm -f *.o *.d *.h *.elf *.a *.ldp\r
\r
.PHONY config: \r
config: FORCE\r
$(Q)$(CPP) -x assembler-with-cpp -E -o $@ $(addprefix -I ,$(inc-y)) $(addprefix -D,$(def-y)) $<\r
\r
\r
+# Board linker files are in the board directory \r
+inc-y += $(ROOTDIR)/boards/$(BOARDDIR)\r
+\r
+# Preprocess linker files..\r
+%.ldp: %.ldf\r
+ @echo " >> CPP $<"\r
+ $(Q)$(CPP) -E -P -x assembler-with-cpp -o $@ $(addprefix -I ,$(inc-y)) $<\r
+\r
# @cat $@ \r
\r
.PHONY $(ROOTDIR)/libs:\r