summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRic Claus <claus@slac.stanford.edu>2013-07-13 13:58:27 -0700
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-17 10:13:31 +0200
commit691e0eff5df504aed2d0a33f6ed486070699b230 (patch)
tree7be7ec78387301830e7fd6e7377921a8c0e459bd
parentbsp/xilinx-zynq: Use bsp_console_select() (diff)
downloadrtems-691e0eff5df504aed2d0a33f6ed486070699b230.tar.bz2
bsp/xilinx-zynq: Provide BSP variants
-rw-r--r--c/src/lib/libbsp/arm/xilinx-zynq/Makefile.am11
-rw-r--r--c/src/lib/libbsp/arm/xilinx-zynq/configure.ac2
-rw-r--r--c/src/lib/libbsp/arm/xilinx-zynq/make/custom/xilinx_zynq.inc7
-rw-r--r--c/src/lib/libbsp/arm/xilinx-zynq/make/custom/xilinx_zynq_zc702.cfg1
-rw-r--r--c/src/lib/libbsp/arm/xilinx-zynq/make/custom/xilinx_zynq_zc702_smp.cfg1
-rw-r--r--c/src/lib/libbsp/arm/xilinx-zynq/make/custom/xilinx_zynq_zedboard.cfg1
-rw-r--r--c/src/lib/libbsp/arm/xilinx-zynq/make/custom/xilinx_zynq_zedboard_smp.cfg1
-rw-r--r--c/src/lib/libbsp/arm/xilinx-zynq/preinstall.am28
-rw-r--r--c/src/lib/libbsp/arm/xilinx-zynq/startup/linkcmds.xilinx_zynq26
-rw-r--r--c/src/lib/libbsp/arm/xilinx-zynq/startup/linkcmds.xilinx_zynq_zc7028
-rw-r--r--c/src/lib/libbsp/arm/xilinx-zynq/startup/linkcmds.xilinx_zynq_zc702_smp3
-rw-r--r--c/src/lib/libbsp/arm/xilinx-zynq/startup/linkcmds.xilinx_zynq_zedboard8
-rw-r--r--c/src/lib/libbsp/arm/xilinx-zynq/startup/linkcmds.xilinx_zynq_zedboard_smp3
13 files changed, 96 insertions, 4 deletions
diff --git a/c/src/lib/libbsp/arm/xilinx-zynq/Makefile.am b/c/src/lib/libbsp/arm/xilinx-zynq/Makefile.am
index 90b089b4a1..39f85432af 100644
--- a/c/src/lib/libbsp/arm/xilinx-zynq/Makefile.am
+++ b/c/src/lib/libbsp/arm/xilinx-zynq/Makefile.am
@@ -58,10 +58,13 @@ libbspstart_a_SOURCES = ../shared/start/start.S
project_lib_DATA = start.$(OBJEXT)
project_lib_DATA += startup/linkcmds
-
-EXTRA_DIST =
-EXTRA_DIST += startup/linkcmds.xilinx_zynq_a9_qemu
-EXTRA_DIST += startup/linkcmds.xilinx_zynq_a9_qemu_smp
+project_lib_DATA += startup/linkcmds.xilinx_zynq
+project_lib_DATA += startup/linkcmds.xilinx_zynq_a9_qemu
+project_lib_DATA += startup/linkcmds.xilinx_zynq_a9_qemu_smp
+project_lib_DATA += startup/linkcmds.xilinx_zynq_zc702
+project_lib_DATA += startup/linkcmds.xilinx_zynq_zc702_smp
+project_lib_DATA += startup/linkcmds.xilinx_zynq_zedboard
+project_lib_DATA += startup/linkcmds.xilinx_zynq_zedboard_smp
###############################################################################
# LibBSP #
diff --git a/c/src/lib/libbsp/arm/xilinx-zynq/configure.ac b/c/src/lib/libbsp/arm/xilinx-zynq/configure.ac
index c23658c717..66b8333c8b 100644
--- a/c/src/lib/libbsp/arm/xilinx-zynq/configure.ac
+++ b/c/src/lib/libbsp/arm/xilinx-zynq/configure.ac
@@ -24,6 +24,8 @@ AM_CONDITIONAL(HAS_NETWORKING,test "$HAS_NETWORKING" = "yes")
RTEMS_BSPOPTS_SET([BSP_START_RESET_VECTOR],[*],[])
RTEMS_BSPOPTS_HELP([BSP_START_RESET_VECTOR],[reset vector address for BSP start])
+RTEMS_BSPOPTS_SET([BSP_ARM_A9MPCORE_PERIPHCLK],[xilinx_zynq_zc702*],[666666667U])
+RTEMS_BSPOPTS_SET([BSP_ARM_A9MPCORE_PERIPHCLK],[xilinx_zynq_zedboard*],[666666667U])
RTEMS_BSPOPTS_SET([BSP_ARM_A9MPCORE_PERIPHCLK],[*],[100000000U])
RTEMS_BSPOPTS_HELP([BSP_ARM_A9MPCORE_PERIPHCLK],[ARM Cortex-A9 MPCore PERIPHCLK clock frequency in Hz])
diff --git a/c/src/lib/libbsp/arm/xilinx-zynq/make/custom/xilinx_zynq.inc b/c/src/lib/libbsp/arm/xilinx-zynq/make/custom/xilinx_zynq.inc
new file mode 100644
index 0000000000..1cbe747ff2
--- /dev/null
+++ b/c/src/lib/libbsp/arm/xilinx-zynq/make/custom/xilinx_zynq.inc
@@ -0,0 +1,7 @@
+include $(RTEMS_ROOT)/make/custom/default.cfg
+
+RTEMS_CPU = arm
+
+CPU_CFLAGS = -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard -mtune=cortex-a9
+
+CFLAGS_OPTIMIZE_V ?= -O2 -g
diff --git a/c/src/lib/libbsp/arm/xilinx-zynq/make/custom/xilinx_zynq_zc702.cfg b/c/src/lib/libbsp/arm/xilinx-zynq/make/custom/xilinx_zynq_zc702.cfg
new file mode 100644
index 0000000000..2de871d46e
--- /dev/null
+++ b/c/src/lib/libbsp/arm/xilinx-zynq/make/custom/xilinx_zynq_zc702.cfg
@@ -0,0 +1 @@
+include $(RTEMS_ROOT)/make/custom/xilinx_zynq.inc
diff --git a/c/src/lib/libbsp/arm/xilinx-zynq/make/custom/xilinx_zynq_zc702_smp.cfg b/c/src/lib/libbsp/arm/xilinx-zynq/make/custom/xilinx_zynq_zc702_smp.cfg
new file mode 100644
index 0000000000..2de871d46e
--- /dev/null
+++ b/c/src/lib/libbsp/arm/xilinx-zynq/make/custom/xilinx_zynq_zc702_smp.cfg
@@ -0,0 +1 @@
+include $(RTEMS_ROOT)/make/custom/xilinx_zynq.inc
diff --git a/c/src/lib/libbsp/arm/xilinx-zynq/make/custom/xilinx_zynq_zedboard.cfg b/c/src/lib/libbsp/arm/xilinx-zynq/make/custom/xilinx_zynq_zedboard.cfg
new file mode 100644
index 0000000000..2de871d46e
--- /dev/null
+++ b/c/src/lib/libbsp/arm/xilinx-zynq/make/custom/xilinx_zynq_zedboard.cfg
@@ -0,0 +1 @@
+include $(RTEMS_ROOT)/make/custom/xilinx_zynq.inc
diff --git a/c/src/lib/libbsp/arm/xilinx-zynq/make/custom/xilinx_zynq_zedboard_smp.cfg b/c/src/lib/libbsp/arm/xilinx-zynq/make/custom/xilinx_zynq_zedboard_smp.cfg
new file mode 100644
index 0000000000..2de871d46e
--- /dev/null
+++ b/c/src/lib/libbsp/arm/xilinx-zynq/make/custom/xilinx_zynq_zedboard_smp.cfg
@@ -0,0 +1 @@
+include $(RTEMS_ROOT)/make/custom/xilinx_zynq.inc
diff --git a/c/src/lib/libbsp/arm/xilinx-zynq/preinstall.am b/c/src/lib/libbsp/arm/xilinx-zynq/preinstall.am
index 5b94e3183f..d479169ee7 100644
--- a/c/src/lib/libbsp/arm/xilinx-zynq/preinstall.am
+++ b/c/src/lib/libbsp/arm/xilinx-zynq/preinstall.am
@@ -142,3 +142,31 @@ $(PROJECT_LIB)/linkcmds: startup/linkcmds $(PROJECT_LIB)/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
TMPINSTALL_FILES += $(PROJECT_LIB)/linkcmds
+$(PROJECT_LIB)/linkcmds.xilinx_zynq: startup/linkcmds.xilinx_zynq $(PROJECT_LIB)/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.xilinx_zynq
+TMPINSTALL_FILES += $(PROJECT_LIB)/linkcmds.xilinx_zynq
+
+$(PROJECT_LIB)/linkcmds.xilinx_zynq_a9_qemu: startup/linkcmds.xilinx_zynq_a9_qemu $(PROJECT_LIB)/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.xilinx_zynq_a9_qemu
+TMPINSTALL_FILES += $(PROJECT_LIB)/linkcmds.xilinx_zynq_a9_qemu
+
+$(PROJECT_LIB)/linkcmds.xilinx_zynq_a9_qemu_smp: startup/linkcmds.xilinx_zynq_a9_qemu_smp $(PROJECT_LIB)/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.xilinx_zynq_a9_qemu_smp
+TMPINSTALL_FILES += $(PROJECT_LIB)/linkcmds.xilinx_zynq_a9_qemu_smp
+
+$(PROJECT_LIB)/linkcmds.xilinx_zynq_zc702: startup/linkcmds.xilinx_zynq_zc702 $(PROJECT_LIB)/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.xilinx_zynq_zc702
+TMPINSTALL_FILES += $(PROJECT_LIB)/linkcmds.xilinx_zynq_zc702
+
+$(PROJECT_LIB)/linkcmds.xilinx_zynq_zc702_smp: startup/linkcmds.xilinx_zynq_zc702_smp $(PROJECT_LIB)/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.xilinx_zynq_zc702_smp
+TMPINSTALL_FILES += $(PROJECT_LIB)/linkcmds.xilinx_zynq_zc702_smp
+
+$(PROJECT_LIB)/linkcmds.xilinx_zynq_zedboard: startup/linkcmds.xilinx_zynq_zedboard $(PROJECT_LIB)/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.xilinx_zynq_zedboard
+TMPINSTALL_FILES += $(PROJECT_LIB)/linkcmds.xilinx_zynq_zedboard
+
+$(PROJECT_LIB)/linkcmds.xilinx_zynq_zedboard_smp: startup/linkcmds.xilinx_zynq_zedboard_smp $(PROJECT_LIB)/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.xilinx_zynq_zedboard_smp
+TMPINSTALL_FILES += $(PROJECT_LIB)/linkcmds.xilinx_zynq_zedboard_smp
+
diff --git a/c/src/lib/libbsp/arm/xilinx-zynq/startup/linkcmds.xilinx_zynq b/c/src/lib/libbsp/arm/xilinx-zynq/startup/linkcmds.xilinx_zynq
new file mode 100644
index 0000000000..da4275ff63
--- /dev/null
+++ b/c/src/lib/libbsp/arm/xilinx-zynq/startup/linkcmds.xilinx_zynq
@@ -0,0 +1,26 @@
+REGION_ALIAS ("REGION_START", RAM);
+REGION_ALIAS ("REGION_VECTOR", RAM);
+REGION_ALIAS ("REGION_TEXT", RAM);
+REGION_ALIAS ("REGION_TEXT_LOAD", RAM);
+REGION_ALIAS ("REGION_RODATA", RAM);
+REGION_ALIAS ("REGION_RODATA_LOAD", RAM);
+REGION_ALIAS ("REGION_DATA", RAM);
+REGION_ALIAS ("REGION_DATA_LOAD", RAM);
+REGION_ALIAS ("REGION_FAST_TEXT", RAM);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", RAM);
+REGION_ALIAS ("REGION_FAST_DATA", RAM);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", RAM);
+REGION_ALIAS ("REGION_BSS", RAM);
+REGION_ALIAS ("REGION_WORK", RAM);
+REGION_ALIAS ("REGION_STACK", RAM);
+
+bsp_stack_irq_size = DEFINED (bsp_stack_irq_size) ? bsp_stack_irq_size : 4096;
+bsp_stack_abt_size = DEFINED (bsp_stack_abt_size) ? bsp_stack_abt_size : 1024;
+
+bsp_section_rwbarrier_align = DEFINED (bsp_section_rwbarrier_align) ? bsp_section_rwbarrier_align : 1M;
+
+bsp_vector_table_in_start_section = 1;
+
+bsp_translation_table_base = ORIGIN (RAM_MMU);
+
+INCLUDE linkcmds.armv4
diff --git a/c/src/lib/libbsp/arm/xilinx-zynq/startup/linkcmds.xilinx_zynq_zc702 b/c/src/lib/libbsp/arm/xilinx-zynq/startup/linkcmds.xilinx_zynq_zc702
new file mode 100644
index 0000000000..2978aff2f7
--- /dev/null
+++ b/c/src/lib/libbsp/arm/xilinx-zynq/startup/linkcmds.xilinx_zynq_zc702
@@ -0,0 +1,8 @@
+MEMORY {
+ RAM_INT_0 : ORIGIN = 0x00000000, LENGTH = 64k + 64k + 64k
+ RAM_INT_1 : ORIGIN = 0xFFFF0000, LENGTH = 64k - 512
+ RAM_MMU : ORIGIN = 0x00100000, LENGTH = 16k
+ RAM : ORIGIN = 0x00104000, LENGTH = 1024M - 1M - 16k
+}
+
+INCLUDE linkcmds.xilinx_zynq
diff --git a/c/src/lib/libbsp/arm/xilinx-zynq/startup/linkcmds.xilinx_zynq_zc702_smp b/c/src/lib/libbsp/arm/xilinx-zynq/startup/linkcmds.xilinx_zynq_zc702_smp
new file mode 100644
index 0000000000..86ff4b14ac
--- /dev/null
+++ b/c/src/lib/libbsp/arm/xilinx-zynq/startup/linkcmds.xilinx_zynq_zc702_smp
@@ -0,0 +1,3 @@
+bsp_processor_count = DEFINED (bsp_processor_count) ? bsp_processor_count : 2;
+
+INCLUDE linkcmds.xilinx_zynq_zc702
diff --git a/c/src/lib/libbsp/arm/xilinx-zynq/startup/linkcmds.xilinx_zynq_zedboard b/c/src/lib/libbsp/arm/xilinx-zynq/startup/linkcmds.xilinx_zynq_zedboard
new file mode 100644
index 0000000000..5c016768fd
--- /dev/null
+++ b/c/src/lib/libbsp/arm/xilinx-zynq/startup/linkcmds.xilinx_zynq_zedboard
@@ -0,0 +1,8 @@
+MEMORY {
+ RAM_INT_0 : ORIGIN = 0x00000000, LENGTH = 64k + 64k + 64k
+ RAM_INT_1 : ORIGIN = 0xFFFF0000, LENGTH = 64k - 512
+ RAM_MMU : ORIGIN = 0x00100000, LENGTH = 16k
+ RAM : ORIGIN = 0x00104000, LENGTH = 512M - 1M - 16k
+}
+
+INCLUDE linkcmds.xilinx_zynq
diff --git a/c/src/lib/libbsp/arm/xilinx-zynq/startup/linkcmds.xilinx_zynq_zedboard_smp b/c/src/lib/libbsp/arm/xilinx-zynq/startup/linkcmds.xilinx_zynq_zedboard_smp
new file mode 100644
index 0000000000..f01e278cc4
--- /dev/null
+++ b/c/src/lib/libbsp/arm/xilinx-zynq/startup/linkcmds.xilinx_zynq_zedboard_smp
@@ -0,0 +1,3 @@
+bsp_processor_count = DEFINED (bsp_processor_count) ? bsp_processor_count : 2;
+
+INCLUDE linkcmds.xilinx_zynq_zedboard