Warning, /bsps/arm/raspberrypi/README.md is written in an unsupported language. File is not indexed.
0001 Raspberry PI
0002 ============
0003
0004 BSP for the Raspberry Pi ARM board
0005 This is a basic port that should work on either Model A or Model B.
0006
0007 It currently supports the following devices:
0008 o Console using the PL011 UART0
0009 The console driver only works with polled mode right now,
0010 the interrupt code is there, but it does not work yet.
0011 The console driver is currently hardcoded at 115k 8N1
0012 o Clock uses the internal ARM timer
0013 The Raspberry Pi can be overclocked through the config.txt file, this
0014 would affect the duration of the clock tick.
0015 o Benchmark timer reads the lower 32 bit GPU timer register
0016
0017 To run an RTEMS binary, it must be stripped and loaded on the SD card along with
0018 the following files:
0019
0020 bootcode.bin
0021 config.txt
0022 loader.bin
0023 start.elf
0024 kernel.img ( the RTEMS binary, you can change the name in config.txt )
0025
0026 These files can be obtained from a Linux installation image, or from here:
0027 https://github.com/raspberrypi/firmware
0028
0029 I used an old 256MB SD card to boot RTEMS.
0030 Much more information about the SD card file and bootloader can be found here:
0031 http://elinux.org/RPi_Hub
0032 http://www.raspberrypi.org
0033
0034 The linker script is set up for 128MB, so it can be used with a GPU/ARM split
0035 of 128/128.
0036 The bootloader that is used on the SD card determines the split of RAM between the
0037 ARM and the GPU. It might make sense to adjust the GPU/ARM memory split to give
0038 more memory to RTEMS, especially on a 512MB board.
0039
0040 To do:
0041 It would be nice to get support in the BSP for the following:
0042 o SD card
0043 o USB and USB 10/100 network chip on Model B
0044 o SPI
0045 o GPIO
0046 o ARM MMU
0047 o Graphics console
0048 o Sound
0049
0050 Credits and links:
0051
0052 There is a wealth of code and information to reference on the raspberrypi.org bare metal forums:
0053 http://www.raspberrypi.org/phpBB3/viewforum.php?f=72
0054
0055 I found information about how to program the timers, interrupts, and UART 0
0056 from the examples provided by:
0057
0058 David Welch:
0059 https://github.com/dwelch67/raspberrypi
0060 The readme file at his github repository has valuable information about connecting a UART cable, JTAG etc.
0061
0062 Steve Bate:
0063 http://www.stevebate.net/chibios-rpi/GettingStarted.html
0064 Steve provided a port of the Chibios RTOS to the raspberry Pi
0065
0066 James Walmsley:
0067 http://www.raspberrypi.org/phpBB3/viewtopic.php?f=72&t=22423
0068 James ported FreeRTOS to the raspberry Pi.
0069