= Board Support Packages = [[TOC(TBR/Website/Board_Support_Packages, depth=2)]] = Board Support Packages = RTEMS at its center is a range of services that implement real-time tasking suitable for embedded systems (http://www.rtems.org/viewvc/rtems/cpukit/score/). This core is generic allowing it to be used on wide range of processors. Within the core of RTEMS is support for each processor (http://www.rtems.org/viewvc/rtems/cpukit/score/cpu/). This support is specific to a family of processors yet generic to each board or target hardware that uses that specific processor. The '''Board Support Package''' or '''BSP''' provides the glue between RTEMS and your target hardware. A BSP is a collection of pieces supporting your target hardware. It includes the linker script, GCC customization script (e.g. ''bsp_specs''), and startup code. If you want standard I/O, then the BSP will have to have a Console device driver. A console driver is needed to run any of the RTEMS tests. If you want to measure the passage of time, you need a Clock Tick driver. This driver is needed for all RTEMS tests EXCEPT hello world and the timing tests. The Timer driver is a benchmark timer and is needed for the ''tmtests'' (timing tests). Sometimes you will see a Shared Memory Support (e.g. ''shmsupp'') component which is for shared memory multiprocessing systems. The Network driver and Real-Time Clock drivers are optional and not required by any RTEMS tests. RTEMS provides a variety of BSPs. You will find support for commercial off the self (COTS) hardware as well as support for custom hardware designs that you will never obtain hardware for. They do however provide examples of a BSP that may be a close fit for your custom design. The following subsections contain a list of BSPs available for RTEMS organized by CPU family and board name. Please add BSP specific entries as links under each CPU specific section. '''Adding a new BSP''': Please add a link in the appropriate section below and add a BSP description Wiki page that follows the format in [wiki:TBR/Delete/BSP_Template BSP Template]. = ARM/Thumb BSPs = The following BSPs based upon ARM CPUs are included in the standard RTEMS distributions. * GDB ARM Simulator -- [wiki:TBR/BSP/Armulator armulator] * EDB7312 -- [wiki:TBR/BSP/Edb7312 edb7312] * Cogent CSB336 -- [wiki:TBR/BSP/Csb336 csb336] * Cogent CSB337 -- [wiki:TBR/BSP/Csb337 csb337] * Cogent CSB637 -- [wiki:TBR/BSP/Csb637 csb637] * Cogent Kit637_v6 -- [wiki:TBR/BSP/Kit637_v6 kit637 v6] * GameBoy Advance -- [wiki:TBR/BSP/Gba gba] * GamePark GP32 -- [wiki:TBR/BSP/Gp32 gp32] * GDB ARM Simulator -- [wiki:TBR/BSP/Gdbarmsim gdbarmsim] * RTL22xx (Philips/NXP ARM7) -- [wiki:TBR/BSP/Rtl22xx rtl22xx] * RTL22xx_t (Philips/NXP ARM7 in Thumb mode) -- [wiki:TBR/BSP/Rtl22xx_t rtl22xx t] * GamePark Holdings GP2X -- [wiki:TBR/BSP/Gp2x gp2x] * SMDK2410 for Samsung's s3c2410 ARM9 -- [wiki:TBR/BSP/Smdk2410 smdk2410] * Gumstix with PXA255 or PXA270 cpu --[wiki:TBR/BSP/Gumstix gumstix] * Nintendo DS -- [wiki:TBR/BSP/Nds nds] * NXP LPC17XX (pin compatible to LPC24XX with ARM Cortex-M3 core) * NXP LPC24XX (QVGA Base Board from Embedded Artists) -- [wiki:TBR/BSP/Lpc24xx lpc24xx] * NXP LPC32XX (phyCORE LPC3250 RDK) -- [wiki:TBR/BSP/Lpc32xx lpc32xx] * Stellaris Microcontroller LM3S6965 -- [wiki:TBR/BSP/LM3S6965 LM3S6965] * STMicroelectronics STM32 F4 Removed following the 4.6 Release series: * ARM Bare BSP -- [wiki:TBR/Delete/Arm_bare_bsp arm bare bsp] * Generic Philips ARM (VegaPlus) -- [wiki:Vegaplus vegaplus] A mini howto of how to write RTEMS BSP for Thumb can be found in the description of [wiki:TBR/BSP/Rtl22xx_t rtl22xx t] The following ARM based BSPs are available from third parties. * [http://www.cadenux.com/bsp/CadenuxArmRtems.html TI DM320 EVM] BSP is available from [http://www.ridgerun.com| Ridge Run] * [http://www.cadenux.com/bsp/CadenuxArmRtems.html Appro DM320 EVM] BSP is available from [http://www.ridgerun.com| Ridge Run] * [http://www.cadenux.com/bsp/CadenuxArmRtems.html Ittiam Venus DM320 EVM] BSP is available from [http://www.ridgerun.com| Ridge Run] * BeagleBoard -- [wiki:TBR/BSP/Beagleboard beagleboard] (To be inlcuded, review still pending, please see wiki page for build and download instructions) = Atmel AVR BSPs = The following BSPs based upon AVR CPUs are included in the standard RTEMS distributions. * [wiki:TBR/BSP/AVRTest AVRTest] The following AVR based BSPs are available from third parties. * TBD= TI C3x/C4x BSPs = The following BSPs based upon Texas Instruments C3x/C4x DSPs are included in the standard RTEMS distributions. * GDB C3x Simulator -- [wiki:TBR/BSP/C3xsim c3xsim] * GDB C4x Simulator -- [wiki:TBR/BSP/C3xsim c4xsim] The following C3x/C4x based BSPs are available from third parties. * TBD = Renesas H8 BSPs = The following BSPs based upon h8300 CPUs are included in the standard RTEMS distributions. * GDB H8/300 Simulator -- [wiki:TBR/BSP/H8sim h8sim] The following h8300 based BSPs are available from third parties. * TBD = Intel i386, Pentium, and Clone CPUs BSPs = The following BSPs based upon i386 CPUs are included in the standard RTEMS distributions. * [wiki:TBR/BSP/I386ex i386ex] * PC Compatible for i386, i486, Pentium, and AMD CPUs [wiki:TBR/BSP/Pc386 pc386] on real hardware or [wiki:TBR/UserManual/QEMU QEMU] * [wiki:TBR/BSP/Ts_386ex ts 386ex] The following i386 based BSPs are available from third parties. * TBD = Lattice Mico32 BSPs = The following BSPs based upon lm32 CPUs are included in the standard RTEMS distributions. * [wiki:TBR/BSP/Lm32_evr Lattice EVR 32] * [wiki:TBR/BSP/Milkymist Milkymist] The following lm32 based BSPs are available from third parties. * TBD = Renesas M32C BSPs = The following BSPs based upon M32C CPUs are included in the standard RTEMS distributions. * [wiki:TBR/BSP/M32CSIM M32CSIM] The following M32C based BSPs are available from third parties. * TBD = Renesas M32R BSPs = The following BSPs based upon M32R CPUs are included in the standard RTEMS distributions. * [wiki:TBR/BSP/M32RSIM M32RSIM] The following M32R based BSPs are available from third parties. * TBD = Motorola M68xxx and Coldfire BSPs = The following BSPs based upon M68K and Coldfire CPUs are included in the standard RTEMS distributions. * DY-4 DMV152 -- [wiki:TBR/BSP/Dmv152 dmv152] * Generic MC68302 -- [wiki:TBR/BSP/Gen68302 gen68302] * Generic MC68340 -- [wiki:TBR/BSP/Gen68340 gen68340] * Generic MC68360 -- [wiki:TBR/BSP/Gen68360 gen68360] * Motorola IDP -- [wiki:TBR/BSP/Idp idp] * Motorola MCF5206Elite -- [wiki:TBR/BSP/Mcf5206elite mcf5206elite] * Motorola MCF5235EVB -- [wiki:TBR/BSP/Mcf5235 mcf5235] * Motorola MCF52235EVB -- [wiki:TBR/BSP/Mcf52235 mcf52235] * Motorola MCF5329EVB -- [wiki:TBR/BSP/Mcf5329 mcf5329] * Freescale MCF548x -- [wiki:TBR/BSP/Genmcf548x genmcf548x] supports variants including [wiki:TBR/BSP/M5484FireEngine M5484FireEngine] * [http://www.robominds.com/ Mini RoboMind board ] -- [wiki:TBR/BSP/Mrm332 mrm332] * Motorola MVME135 and MVME136 -- [wiki:TBR/BSP/Mvme136 mvme136] * Motorola MVMV147 -- [wiki:TBR/BSP/Mvme147 mvme147] * Motorola MVME147s -- [wiki:TBR/BSP/Mvme147s mvme147s] * Motorola MVME162 -- [wiki:TBR/BSP/Mvme162 mvme162] * Motorola MVME162LX -- [wiki:TBR/BSP/Mvme162lx mvme162lx] * Motorola MVME167 -- [wiki:TBR/BSP/Mvme167 mvme167] * [wiki:TBR/BSP/Ods68302 ods68302] * BSVC Simulator 68000 -- [wiki:TBR/BSP/Sim68000 sim68000] * BSVC Simulator CPU32 -- [wiki:TBR/BSP/Simcpu32 simcpu32] * Cogent CSB360 -- [wiki:TBR/BSP/Csb360 csb360] * Arcturus Networks uCDIMM [wiki:ColdFire ColdFire] 5282 -- [wiki:TBR/BSP/UC5282 uC5282] * Avnet MCF5282 [wiki:ColdFire ColdFire] -- [wiki:TBR/BSP/Av5282 av5282] = MIPS BSPs = The following BSPs based upon mips CPUs are included in the standard RTEMS distributions. * Cogent CSB250 and CSB350 -- [wiki:TBR/BSP/Csb350 csb350] * Cogent CSB650 -- [wiki:Csb650 csb650] * Cogent CSB655 -- [wiki:Csb655 csb655] * Generic Mongoose V -- [wiki:TBR/BSP/Genmongoosev genmongoosev] * Hurricane V320USC -- [wiki:TBR/BSP/V320usc v320usc] * Toshiba JMR3904 -- [wiki:TBR/BSP/Jmr3904 jmr3904] * Toshiba RBTX4925 -- [wiki:TBR/BSP/Rbtx4925 rbtx4925] * Toshiba RBTX4938 -- [wiki:TBR/BSP/Rbtx4938 rbtx4938] * Generic IDT 4600 -- [wiki:TBR/BSP/P4000 p4000] * Generic IDT 4650 -- [wiki:TBR/BSP/P4650 p4650] The following mips based BSPs are available from third parties. * TBD = OpenCore BSPs = This port was obsoleted after the RTEMS 4.6 release series. The following BSPs based upon or32 CPUs are included in the standard RTEMS distributions. * [wiki:TBR/BSP/Orp orp] The following or32 based BSPs are available from third parties. * TBD = PowerPC BSPs = The following BSPs based upon PowerPC CPUs are included in the standard RTEMS distributions. * AMCC Haleakala PPC405EX -- [wiki:TBR/BSP/Ppc405ex ppc405ex] * BAE RAD750 3U and 6U -- [wiki:TBR/BSP/Rad750 rad750] * DY-4 DMV177 -- [wiki:TBR/BSP/Dmv177 dmv177] * Embedded Planet EP5200 -- [wiki:TBR/BSP/Gen5200 gen5200] * Frasca ETHCOMM -- [wiki:TBR/BSP/Eth_comm eth comm] * Freescale MPC5200Lite aka IceCube (based on MPC5200) -- [wiki:TBR/BSP/Gen5200 gen5200] * Freescale MPC5200Lite -- [wiki:TBR/BSP/Gen5200 gen5200] * Freescale MPC5554 --[wiki:TBR/BSP/Phycore_mpc5554 Phycore mpc5554] * Freescale MPC5566 * Freescale MPC5643L * Freescale MPC5674FEVB -- [wiki:TBR/BSP/MPC5674FEVB MPC5674FEVB] * Freescale MPC8309SOM (based on MPC8309) -- [wiki:TBR/BSP/Gen83xx gen83xx] * Freescale MPC8313RDB (based on MPC8313E) -- [wiki:TBR/BSP/Gen83xx gen83xx] * Freescale MPC8349EMDS (based on MPC8349) -- [wiki:TBR/BSP/Gen83xx gen83xx] * Freescale QorIQ -- [wiki:TBR/BSP/QorIQ QorIQ] * GDB PowerPC Simulator -- [wiki:TBR/BSP/Psim psim] * Generic PPC405 -- [wiki:TBR/BSP/Gen405 gen405] * IMD Helas 403 -- [wiki:TBR/BSP/Helas403 helas403] * Intec SS555 -- [wiki:TBR/BSP/Ss555 ss555] * Lauterbach Trace32 PowerPC Simulator * MicroSys PM520 (based on MPC5200) -- [wiki:TBR/BSP/Gen5200 gen5200] * MicroSys SBC2020 (based on QorIQ P2020) -- [wiki:TBR/BSP/QorIQ QorIQ] * Motorola MBX8xx series -- [wiki:TBR/BSP/Mbx8xx mbx8xx] * Motorola MCP750 -- [wiki:TBR/BSP/Mcp750 mcp750] * Motorola/Phytec Phycore MCP5554 [wiki:TBR/BSP/Phycore_mpc5554 Phycore mpc5554] * Motorola MPC8260 ADS -- [wiki:TBR/BSP/Mpc8260ads mpc8260ads] * Motorola MTX603e -- [wiki:TBR/BSP/Mtx603e mtx603e] * Motorola MVME2100 -- [wiki:TBR/BSP/Mvme2100 mvme2100] * Motorola MVME2307 -- [wiki:TBR/BSP/Mvme2307 mvme2307] * Motorola MVME2400 -- [wiki:Mvme2400 mvme2400] * Motorola MVME2600 -- [wiki:TBR/BSP/Mvme2600 mvme2600] * Motorola MVME2700 -- [wiki:TBR/BSP/Mvme2700 mvme2700] * Motorola MVME3100 -- [wiki:TBR/BSP/Mvme3100 mvme3100] * Motorola MVME5500 -- [wiki:TBR/BSP/Mvme5500 mvme5500] * Motorola MVME6100/MVME5500 -- [wiki:TBR/BSP/Beatnik beatnik] * Motorola MBX860 1b --[wiki:TBR/BSP/Mbx860_1b Mbx860 1b] * Motorola MBX860 005b -- [wiki:TBR/BSP/Mbx860_005b Mbx860 005b] * Motorola MBX860 001b -- [wiki:TBR/BSP/Mbx860_001b Mbx860 001b] * Motorola Shared BSP -- [wiki:TBR/BSP/Motorola_powerpc motorola powerpc] * QEMU emulating PReP -- [wiki:TBR/BSP/Qemuprep qemuprep] * Radstone Empower EP1A -- [wiki:TBR/BSP/Ep1a ep1a] * Radstone PPCn/60x -- [wiki:TBR/BSP/Ppcn_60x ppcn 60x] * TQ Components TQM8xx -- [wiki:TBR/BSP/Tqm8xx tqm8xx] * Vista Controls Score603e -- [wiki:TBR/BSP/Score603e score603e] * Xilinx Virtex-4 -- [wiki:TBR/BSP/Virtex virtex] The following PowerPC based BSPs are available from third parties. * Synergy from Till -- TBD * Motorola MVME5500 and MVME6100 (determined at run time, "Beatnik" BSP) from Till (as of 4.10, "beatnik" is part of the vanilla RTEMS distribution) -- TBD * TBD = Reneas SuperH (SH) BSPs = The following BSPs based upon Reneas SuperH (SH) CPUs are included in the standard RTEMS distributions. * [[gensh1]] * [[gensh2]] * [[gensh4]] * [[shsim]] * [[shsim| sim7032]] * [[shsim| sim7045]] * [[simsh4]] The following SH based BSPs are available from third parties. * TBD = =SPARC BSPs== The following BSPs based upon SPARC V7 CPUs are included in the standard RTEMS distributions. * [[erc32|ERC32 with FPU]] * [[Erc32nfp|ERC32 without FPU]] - unnecessary after 4.6.5 * [wiki:TBR/BSP/SPARC_Instruction_Simulator_(sis) SPARC Instruction Simulator (sis)] * [[leon2]] * [[leon3]] The following BSPs based upon SPARC V9 CPUs are included in the standard RTEMS distributions. * [[usiii|Sparc64 UltraSPARC III]] * [[niagara|Sparc64 UltraSPARC T1]] Boards considered. * [wiki:TBR/Delete/SPARCengine_1e SPARCengine 1e] * Qemu's SparcStation 5 simulator ==ADI Blackfin BSPs== The following BSPs basend upon the Blackfin CPU are included in the standard RTEMS distributions starting with version 4.8. * [[eZKit533]] * [[BF537Stamp| ADSP-BF537 STAMP]] * [wiki:TBR/BSP/TLL6527M TLL6527M] == Nios II BSPs== * Alegra Nios2 iss -- [wiki:TBR/BSP/Nios2_iss Nios2 iss]