From 8415c0181d2dff815933b39a1848691d47188985 Mon Sep 17 00:00:00 2001 From: Amar Takhar Date: Tue, 10 Feb 2015 00:04:01 -0500 Subject: Add arm/raspberrypi. --- c/wscript_arm | 71 ++++++++++++++++++++++++++++++++++++++++++- cpukit/score/wscript | 4 +-- rtems_waf/defaults/bsp/arm.py | 9 ++++++ 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'] + + -- cgit v1.2.3