[rtems commit] bsp/xilinx-zynq: Provide BSP variants

Sebastian Huber sebh at rtems.org
Wed Jul 17 08:08:13 UTC 2013


Module:    rtems
Branch:    master
Commit:    691e0eff5df504aed2d0a33f6ed486070699b230
Changeset: http://git.rtems.org/rtems/commit/?id=691e0eff5df504aed2d0a33f6ed486070699b230

Author:    Ric Claus <claus at slac.stanford.edu>
Date:      Sat Jul 13 13:58:27 2013 -0700

bsp/xilinx-zynq: Provide BSP variants

---

 c/src/lib/libbsp/arm/xilinx-zynq/Makefile.am       |   11 +++++---
 c/src/lib/libbsp/arm/xilinx-zynq/configure.ac      |    2 +
 .../arm/xilinx-zynq/make/custom/xilinx_zynq.inc    |    7 +++++
 .../xilinx-zynq/make/custom/xilinx_zynq_zc702.cfg  |    1 +
 .../make/custom/xilinx_zynq_zc702_smp.cfg          |    1 +
 .../make/custom/xilinx_zynq_zedboard.cfg           |    1 +
 .../make/custom/xilinx_zynq_zedboard_smp.cfg       |    1 +
 c/src/lib/libbsp/arm/xilinx-zynq/preinstall.am     |   28 ++++++++++++++++++++
 .../arm/xilinx-zynq/startup/linkcmds.xilinx_zynq   |   26 ++++++++++++++++++
 .../xilinx-zynq/startup/linkcmds.xilinx_zynq_zc702 |    8 +++++
 .../startup/linkcmds.xilinx_zynq_zc702_smp         |    3 ++
 .../startup/linkcmds.xilinx_zynq_zedboard          |    8 +++++
 .../startup/linkcmds.xilinx_zynq_zedboard_smp      |    3 ++
 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 90b089b..39f8543 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 c23658c..66b8333 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 0000000..1cbe747
--- /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 0000000..2de871d
--- /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 0000000..2de871d
--- /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 0000000..2de871d
--- /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 0000000..2de871d
--- /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 5b94e31..d479169 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 0000000..da4275f
--- /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 0000000..2978aff
--- /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 0000000..86ff4b1
--- /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 0000000..5c01676
--- /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 0000000..f01e278
--- /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




More information about the vc mailing list