summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmar Takhar <amar@rtems.org>2015-02-10 00:04:01 -0500
committerAmar Takhar <amar@rtems.org>2015-12-11 15:15:43 -0500
commit8415c0181d2dff815933b39a1848691d47188985 (patch)
tree63d458bb08ddb628ab43c976c875994824554aa1
parentbb61829700398dc18ab30cb77565980d49e14710 (diff)
Add arm/raspberrypi.
-rw-r--r--c/wscript_arm71
-rw-r--r--cpukit/score/wscript4
-rw-r--r--rtems_waf/defaults/bsp/arm.py9
3 files changed, 81 insertions, 3 deletions
diff --git a/c/wscript_arm b/c/wscript_arm
index ca794af041..73638b56fb 100644
--- a/c/wscript_arm
+++ b/c/wscript_arm
@@ -1362,6 +1362,74 @@ def beagle_shared(ctx):
+def raspberrypi(ctx):
+ source = []
+
+ ctx.bsp.start(["src/lib/libbsp/arm/shared/start/start.S"])
+
+ source = [
+ "src/lib/libbsp/arm/raspberrypi/clock/clockdrv.c",
+ "src/lib/libbsp/arm/raspberrypi/console/console-config.c",
+ "src/lib/libbsp/arm/raspberrypi/console/usart.c",
+ "src/lib/libbsp/arm/raspberrypi/irq/irq.c",
+ "src/lib/libbsp/arm/raspberrypi/misc/timer.c",
+ "src/lib/libbsp/arm/raspberrypi/startup/bspstart.c",
+ "src/lib/libbsp/arm/raspberrypi/startup/bspstarthooks.c",
+ "src/lib/libbsp/arm/raspberrypi/startup/mm_config_table.c",
+ "src/lib/libbsp/arm/shared/arm-cp15-set-exception-handler.c",
+ "src/lib/libbsp/arm/shared/arm-cp15-set-ttb-entries.c",
+ "src/lib/libbsp/arm/shared/mminit.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/bspreset_loop.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",
+ ]
+
+ 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 = []
@@ -1422,7 +1490,8 @@ def build(ctx):
"beagleboardorig": beagle_shared,
"beagleboardxm": beagle_shared,
"beaglebonewhite": beagle_shared,
- "beagleboneblack": beagle_shared
+ "beagleboneblack": beagle_shared,
+ "raspberrypi": raspberrypi,
}
if not ctx.env.RTEMS_BSP in map:
diff --git a/cpukit/score/wscript b/cpukit/score/wscript
index 4916332504..787ccd3fab 100644
--- a/cpukit/score/wscript
+++ b/cpukit/score/wscript
@@ -277,7 +277,7 @@ def build(ctx):
]
#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", "beagleboardorig", "beagleboardxm", "beaglebonewhite", "beagleboneblack"]:
+ 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", "raspberrypi"]:
source += [
"cpu/arm/armv7m-context-initialize.c",
"cpu/arm/armv7m-context-restore.c",
@@ -298,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", "beagleboardorig", "beagleboardxm", "beaglebonewhite", "beagleboneblack"]:
+ 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", "raspberrypi"]:
source += [
"cpu/arm/armv4-exception-default.S"
]
diff --git a/rtems_waf/defaults/bsp/arm.py b/rtems_waf/defaults/bsp/arm.py
index 990050b842..2f86cde4db 100644
--- a/rtems_waf/defaults/bsp/arm.py
+++ b/rtems_waf/defaults/bsp/arm.py
@@ -709,3 +709,12 @@ class beagleboneblack(beagle_shared):
def header(self, c):
c.IS_AM335X = True
+
+class raspberrypi(Base):
+ name = "arm/raspberrypi"
+
+ def build(self, c):
+ c.CFLAGS = ['-mcpu=arm1176jzf-s']
+ 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']
+
+