summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/raspberrypi/README
diff options
context:
space:
mode:
authorAlan Cudmore <alan.cudmore@gmail.com>2013-03-23 19:13:07 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-03-24 12:57:44 +0100
commitc32b1efa43e31bd9a8a7eae3623664d00c34d842 (patch)
treee301796d2fb132b0fab24c752072cc2a7ba6e074 /c/src/lib/libbsp/arm/raspberrypi/README
parentlibfs: Always use geteuid() and getegid() (diff)
downloadrtems-c32b1efa43e31bd9a8a7eae3623664d00c34d842.tar.bz2
bsp/raspberrypi: New BSP
Diffstat (limited to 'c/src/lib/libbsp/arm/raspberrypi/README')
-rw-r--r--c/src/lib/libbsp/arm/raspberrypi/README65
1 files changed, 65 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/arm/raspberrypi/README b/c/src/lib/libbsp/arm/raspberrypi/README
new file mode 100644
index 0000000000..d0c32a748d
--- /dev/null
+++ b/c/src/lib/libbsp/arm/raspberrypi/README
@@ -0,0 +1,65 @@
+BSP for the Raspberry Pi ARM board
+This is a basic port that should work on either Model A or Model B.
+
+It currently supports the following devices:
+ o Console using the PL011 UART0
+ The console driver only works with polled mode right now,
+ the interrupt code is there, but it does not work yet.
+ The console driver is currently hardcoded at 115k 8N1
+ o Clock uses the internal ARM timer
+ The Raspberry Pi can be overclocked through the config.txt file, this
+ would affect the duration of the clock tick.
+ o Benchmark timer reads the lower 32 bit GPU timer register
+
+To run an RTEMS binary, it must be stripped and loaded on the SD card along with
+the following files:
+ bootcode.bin
+ config.txt
+ loader.bin
+ start.elf
+ kernel.img ( the RTEMS binary, you can change the name in config.txt )
+
+These files can be obtained from a Linux installation image, or from here:
+https://github.com/raspberrypi/firmware
+
+I used an old 256MB SD card to boot RTEMS.
+Much more information about the SD card file and bootloader can be found here:
+http://elinux.org/RPi_Hub
+http://www.raspberrypi.org
+
+The linker script is set up for 128MB, so it can be used with a GPU/ARM split
+of 128/128.
+The bootloader that is used on the SD card determines the split of RAM between the
+ARM and the GPU. It might make sense to adjust the GPU/ARM memory split to give
+more memory to RTEMS, especially on a 512MB board.
+
+To do:
+ It would be nice to get support in the BSP for the following:
+ o SD card
+ o USB and USB 10/100 network chip on Model B
+ o SPI
+ o GPIO
+ o ARM MMU
+ o Graphics console
+ o Sound
+
+Credits and links:
+
+ There is a wealth of code and information to reference on the raspberrypi.org bare metal forums:
+ http://www.raspberrypi.org/phpBB3/viewforum.php?f=72
+
+ I found information about how to program the timers, interrupts, and UART 0
+ from the examples provided by:
+
+ David Welch:
+ https://github.com/dwelch67/raspberrypi
+ The readme file at his github repository has valuable information about connecting a UART cable, JTAG etc.
+
+ Steve Bate:
+ http://www.stevebate.net/chibios-rpi/GettingStarted.html
+ Steve provided a port of the Chibios RTOS to the raspberry Pi
+
+ James Walmsley:
+ http://www.raspberrypi.org/phpBB3/viewtopic.php?f=72&t=22423
+ James ported FreeRTOS to the raspberry Pi.
+