summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmar Takhar <amar@rtems.org>2015-02-09 21:24:43 -0500
committerAmar Takhar <amar@rtems.org>2015-12-11 15:15:43 -0500
commitbb61829700398dc18ab30cb77565980d49e14710 (patch)
tree985ed2750d94d125f0da3fcd731cd63a45b12ce0
parent4fbf4cce68239c84835db8599cf05946dd307078 (diff)
Add beagle BSPs
* arm/beagleboardorig * arm/beagleboardxm * arm/beaglebonewhite * arm/beagleboneblack
-rw-r--r--c/wscript_arm78
-rw-r--r--cpukit/score/wscript7
-rw-r--r--rtems_waf/defaults/bsp/arm.py37
-rw-r--r--rtems_waf/defaults/options.py24
4 files changed, 142 insertions, 4 deletions
diff --git a/c/wscript_arm b/c/wscript_arm
index 6ab7175e72..ca794af041 100644
--- a/c/wscript_arm
+++ b/c/wscript_arm
@@ -1290,6 +1290,78 @@ def xilinx_zynq_zc706(ctx):
+
+
+
+
+def beagle_shared(ctx):
+ source = []
+
+ ctx.bsp.start(["src/lib/libbsp/arm/shared/start/start.S"])
+
+ source = [
+ "src/lib/libbsp/arm/beagle/clock.c",
+ "src/lib/libbsp/arm/beagle/console/console-config.c",
+ "src/lib/libbsp/arm/beagle/irq.c",
+ "src/lib/libbsp/arm/beagle/misc/i2c.c",
+ "src/lib/libbsp/arm/beagle/startup/bspreset.c",
+ "src/lib/libbsp/arm/beagle/startup/bspstart.c",
+ "src/lib/libbsp/arm/beagle/startup/bspstarthooks.c",
+ "src/lib/libbsp/arm/beagle/startup/bspstartmmu.c",
+ "src/lib/libbsp/arm/shared/arm-cp15-set-exception-handler.c",
+ "src/lib/libbsp/arm/shared/start/start.S",
+ "src/lib/libbsp/arm/shared/startup/bsp-start-memcpy.S",
+ "src/lib/libbsp/shared/bootcard.c",
+ "src/lib/libbsp/shared/bspclean.c",
+ "src/lib/libbsp/shared/bspgetworkarea.c",
+ "src/lib/libbsp/shared/bsplibc.c",
+ "src/lib/libbsp/shared/bsppost.c",
+ "src/lib/libbsp/shared/bsppredriverhook.c",
+ "src/lib/libbsp/shared/bsppretaskinghook.c",
+ "src/lib/libbsp/shared/cpucounterdiff.c",
+ "src/lib/libbsp/shared/cpucounterread.c",
+ "src/lib/libbsp/shared/gnatinstallhandler.c",
+ "src/lib/libbsp/shared/sbrk.c",
+ "src/lib/libbsp/shared/src/irq-default-handler.c",
+ "src/lib/libbsp/shared/src/irq-generic.c",
+ "src/lib/libbsp/shared/src/irq-info.c",
+ "src/lib/libbsp/shared/src/irq-legacy.c",
+ "src/lib/libbsp/shared/src/irq-server.c",
+ "src/lib/libbsp/shared/src/irq-shell.c",
+ "src/lib/libbsp/shared/src/stackalloc.c",
+ "src/lib/libbsp/shared/timerstub.c",
+ ]
+
+ ctx.bsp.source(
+ source,
+ features="src_include"
+ )
+
+
+ source = [
+ "src/lib/libcpu/shared/src/cache_manager.c"
+ ]
+ ctx.bsp.source(
+ source,
+ features="src_include",
+ includes = ["%s/c/src/lib/libcpu/arm/shared/include" % ctx.srcnode.abspath()]
+ )
+
+ source = [
+ "src/lib/libbsp/shared/console.c",
+ "src/lib/libbsp/shared/console_control.c",
+ "src/lib/libbsp/shared/console_read.c",
+ "src/lib/libbsp/shared/console_select.c",
+ "src/lib/libbsp/shared/console_write.c",
+ ]
+ ctx.bsp.source(
+ source,
+ features="src_include src_include_bsp"
+ )
+
+
+
+
def build(ctx):
source = []
@@ -1346,7 +1418,11 @@ def build(ctx):
"smdk2410": smdk2410,
"stm32f4": stm32f4,
"xilinx_zynq_a9_qemu": xilinx_zynq_a9_qemu,
- "xilinx_zynq_zc706": xilinx_zynq_zc706
+ "xilinx_zynq_zc706": xilinx_zynq_zc706,
+ "beagleboardorig": beagle_shared,
+ "beagleboardxm": beagle_shared,
+ "beaglebonewhite": beagle_shared,
+ "beagleboneblack": beagle_shared
}
if not ctx.env.RTEMS_BSP in map:
diff --git a/cpukit/score/wscript b/cpukit/score/wscript
index 1473daf5c7..4916332504 100644
--- a/cpukit/score/wscript
+++ b/cpukit/score/wscript
@@ -272,11 +272,12 @@ def build(ctx):
"cpu/arm/arm_exc_interrupt.S",
"cpu/arm/cpu.c",
"cpu/arm/cpu_asm.S",
- "cpu/arm/arm-exception-default.c"
+ "cpu/arm/arm-exception-default.c",
+ "cpu/arm/arm-exception-frame-print.c"
]
#XXX: There needs to be a different solution for this..
- if ctx.env.RTEMS_BSP in ["lm3s3749", "lm3s6965", "lm3s6965_qemu", "lpc17xx_ea_rom_int", "lpc17xx_plx800_ram", "lpc17xx_plx800_rom_int", "lpc17xx_ea_ram", "stm32f4", "xilinx_zynq_a9_qemu", "xilinx_zynq_zc706"]:
+ if ctx.env.RTEMS_BSP in ["lm3s3749", "lm3s6965", "lm3s6965_qemu", "lpc17xx_ea_rom_int", "lpc17xx_plx800_ram", "lpc17xx_plx800_rom_int", "lpc17xx_ea_ram", "stm32f4", "xilinx_zynq_a9_qemu", "xilinx_zynq_zc706", "beagleboardorig", "beagleboardxm", "beaglebonewhite", "beagleboneblack"]:
source += [
"cpu/arm/armv7m-context-initialize.c",
"cpu/arm/armv7m-context-restore.c",
@@ -297,7 +298,7 @@ def build(ctx):
"cpu/arm/armv7-thread-idle.c"
]
- if ctx.env.RTEMS_BSP in ["lpc24xx_plx800_rom_int", "lpc24xx_plx800_ram", "lpc17xx_ea_rom_int", "lpc17xx_plx800_ram", "lpc17xx_plx800_rom_int", "lpc17xx_ea_ram", "raspberrypi", "realview_pbx_a9_qemu", "stm32f4", "xilinx_zynq_a9_qemu", "lpc2362", "lpc23xx_tli800", "lpc24xx_ea", "lpc24xx_ncs_ram", "lpc24xx_ncs_rom_ext", "lpc24xx_ncs_rom_int", "lpc32xx_mzx", "lpc32xx_mzx_stage_1", "lpc32xx_mzx_stage_2", "lpc32xx_phycore", "xilinx_zynq_zc706"]:
+ if ctx.env.RTEMS_BSP in ["lpc24xx_plx800_rom_int", "lpc24xx_plx800_ram", "lpc17xx_ea_rom_int", "lpc17xx_plx800_ram", "lpc17xx_plx800_rom_int", "lpc17xx_ea_ram", "raspberrypi", "realview_pbx_a9_qemu", "stm32f4", "xilinx_zynq_a9_qemu", "lpc2362", "lpc23xx_tli800", "lpc24xx_ea", "lpc24xx_ncs_ram", "lpc24xx_ncs_rom_ext", "lpc24xx_ncs_rom_int", "lpc32xx_mzx", "lpc32xx_mzx_stage_1", "lpc32xx_mzx_stage_2", "lpc32xx_phycore", "xilinx_zynq_zc706", "beagleboardorig", "beagleboardxm", "beaglebonewhite", "beagleboneblack"]:
source += [
"cpu/arm/armv4-exception-default.S"
]
diff --git a/rtems_waf/defaults/bsp/arm.py b/rtems_waf/defaults/bsp/arm.py
index ffb7e3dc50..990050b842 100644
--- a/rtems_waf/defaults/bsp/arm.py
+++ b/rtems_waf/defaults/bsp/arm.py
@@ -672,3 +672,40 @@ class xilinx_zynq_zedboard(xilinx_zynq_shared):
c.BSP_ARM_A9MPCORE_PERIPHCLK = "666666667U"
c.ZYNQ_CLOCK_UART = "50000000UL"
+
+class beagle_shared(Base):
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=cortex-a8']
+ c.LINKCMDS = ['src/lib/libbsp/arm/beagle/startup/linkcmds.beagle', 'src/lib/libbsp/arm/shared/startup/linkcmds.armv4', 'src/lib/libbsp/arm/shared/startup/linkcmds.base']
+
+ def header(self, c):
+ c.CONSOLE_POLLED = Default
+ c.CONSOLE_BAUD = Default
+
+class beagleboardorig(beagle_shared):
+ name = "arm/beagleboardorig"
+
+ def header(self, c):
+ c.IS_DM3730 = True
+
+
+class beagleboardxm(beagle_shared):
+ name = "arm/beagleboardxm"
+
+ def header(self, c):
+ c.IS_DM3730 = True
+
+
+class beaglebonewhite(beagle_shared):
+ name = "arm/beaglebonewhite"
+
+ def header(self, c):
+ c.IS_AM335X = True
+
+
+class beagleboneblack(beagle_shared):
+ name = "arm/beagleboneblack"
+
+ def header(self, c):
+ c.IS_AM335X = True
+
diff --git a/rtems_waf/defaults/options.py b/rtems_waf/defaults/options.py
index 019d93139d..8ecc675ad9 100644
--- a/rtems_waf/defaults/options.py
+++ b/rtems_waf/defaults/options.py
@@ -2325,3 +2325,27 @@ class ZYNQ_CPUS(Integer):
undef = True
descr = "Number of active cores"
+
+class IS_DM3730(Boolean):
+ value = False
+ undef = True
+ descr = "true if SOC is DM3730"
+
+
+class IS_AM335X(Boolean):
+ value = False
+ undef = True
+ descr = "true if SOC is AM335X"
+
+
+class CONSOLE_POLLED(Boolean):
+ value = False
+ undef = True
+ descr = "Polled console i/o."
+
+
+class CONSOLE_BAUD(Integer):
+ value = 115200
+ undef = True
+ descr = "initial baud for console UART"
+