Back to home page

LXR

 
 

    


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