Convert bsps/*/README to MarkDown

Some of this content is really old we will have to go through it.
This commit is contained in:
Amar Takhar
2024-07-28 03:26:00 -04:00
committed by Joel Sherrill
parent adce380138
commit a7f2cb4562
27 changed files with 216 additions and 77 deletions

View File

@@ -1,5 +1,5 @@
Overview
--------
========
Evaluation board for this BSP:
- Cyclone V SoC FPGA Development Kit
- DK-DEV-5CSXC6N/ES-0L
@@ -9,11 +9,14 @@ RTC
The evaluation board contains a DS1339C RTC connected to I2C0. To use it you
have to set the following options:
```c
#define CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER
#define CONFIGURE_BSP_PREREQUISITE_DRIVERS I2C_DRIVER_TABLE_ENTRY
```
Additional there has to be one free file descriptor to access the i2c. Set the
CONFIGURE_MAXIMUM_FILE_DESCRIPTORS accordingly.
`CONFIGURE_MAXIMUM_FILE_DESCRIPTORS` accordingly.
Network
-------
@@ -22,23 +25,28 @@ drv_ctrl pointer of the rtems_bsdnet_ifconfig structure should point to a
dwmac_ifconfig_drv_ctrl object with the appropriate settings before the
rtems_bsdnet_initialize_network() is called. E.g.:
```c
#include <libchip/dwmac.h>
#include <bsp.h>
static dwmac_ifconfig_drv_ctrl drv_ctrl = {
.phy_addr = 1
};
```
...
```c
static struct rtems_bsdnet_ifconfig some_ifconfig = {
.name = RTEMS_BSP_NETWORK_DRIVER_NAME,
.attach = RTEMS_BSP_NETWORK_DRIVER_ATTACH,
.drv_ctrl = &drv_ctrl
};
```
...
```c
rtems_bsdnet_initialize_network();
```
If drv_ctrl is the NULL pointer, default values will be used instead.

View File

@@ -1,3 +1,6 @@
Atmel SAM
=========
Board support package for the Atmel SAM V71/V70/E70/S70 chip platform.
The BSP is customized to a particular board/chip variant by means of configure
@@ -28,7 +31,8 @@ another setting in your external SDRAM, you should also use the
ATSAM_CHANGE_CLOCK_FROM_SRAM=1 option. To overwrite the clock settings, define
the following structures in your application:
--------
```c
const struct atsam_clock_config atsam_clock_config = {
.pllar_init = my_custom_pllar_value,
.mckr_init = my_custom_mckr_value,
@@ -41,7 +45,7 @@ const struct BOARD_Sdram_Config BOARD_Sdram_Config = {
.sdramc_mdr = my_custom_sdramc_mdr_value,
.sdramc_cfr1 = my_custom_sdramc_cfr1_value
};
--------
```
Use ATSAM_SLOWCLOCK_USE_XTAL=0 to disable the usage of the external 32kHz
oscillator for the slow clock. This is useful for example for the SAM E70

View File

@@ -1,12 +1,15 @@
Beagleboard
===========
BSP for beagleboard xm, beaglebone (original aka white), and beaglebone black.
original beagleboard isn't tested.
wiki: http://www.rtems.org/wiki/index.php/Beagleboard
1. *** CONFIGURING ************
CONFIGURING
-----------
bsp-specific build options in the environment at build time:
CONSOLE_POLLED=1 use polled i/o for console, required to run testsuite
CONSOLE_BAUD=... override default console baud rate
@@ -22,8 +25,8 @@ distinctions are made in the future, so this can be done without changing the
usage.
2. *** BUILDING ************
BUILDING
--------
To build BSPs for the beaglebone white and beagleboard xm, starting from
a directory in which you have this source tree in rtems-src:
@@ -43,8 +46,8 @@ $ mkimage -A arm -O rtems -T kernel -a 0x80000000 -e 0x80000000 -n RTEMS -d $exe
All beagles have memory starting at 0x80000000 so the load & run syntax is the same.
3. *** BOOTING ************
BOOTING
-------
Then, boot the beaglebone with u-boot on an SD card and load rtems-app.img
from u-boot. Interrupt the u-boot boot to get a prompt.
@@ -52,8 +55,9 @@ Set up a tftp server and a network connection for netbooting. And to
copy rtems-app.img to the tftp dir. Otherwise copy the .img to the FAT
partition on the SD card and make uboot load & run that.
4. *** BEAGLEBONES ************
BEAGLEBONES
-----------
(tested on both beaglebones)
Beaglebone original (white) or beaglebone black netbooting:
@@ -71,8 +75,9 @@ uboot# fatload mmc :1 0x80800000 ticker.img
uboot# dcache off ; icache off
uboot# bootm 0x80800000
4. *** BEAGLEBOARD ************
BEAGLEBOARD
-----------
(tested on xm)
For the beagleboard the necessary commands are a bit different because
@@ -88,8 +93,9 @@ uboot# tftp 0x80800000 rtems-app.img
uboot# dcache off ; icache off
uboot# bootm 0x80800000
4. *** SD CARD ****************
SD CARD
-------
There is a script here that automatically writes an SD card for any of
the beagle targets.
@@ -97,8 +103,10 @@ Let's write one for the Beaglebone Black. Assuming your source tree is
at $HOME/development/rtems/rtems-src and your bsp is built and linked
with examples and installed at $HOME/development/rtems/4.11.
```shell
% cd $HOME/development/rtems/rtems-src/c/src/lib/libbsp/arm/beagle/simscripts
% sh sdcard.sh $HOME/development/rtems/4.11 $HOME/development/rtems/b-beagle/arm-rtems4.11/c/beagleboneblack/testsuites/samples/hello/hello.exe
```
The script should give you a whole bunch of output, ending in:

View File

@@ -1,3 +1,6 @@
PWM
===
Pulse Width Modulation subsystem includes EPWM, ECAP , EQEP. There are
different instances available for each one. For PWM there are three
different individual EPWM module 0 , 1 and 2. So wherever pwmss word is
@@ -29,6 +32,7 @@ To generate different frequencies with the help of PWM module , SYSCLKOUT
need to be scaled down, which will act as TBCLK and TBCLK will be base clock
for the pwm subsystem.
```
TBCLK = SYSCLKOUT/(HSPCLKDIV * CLKDIV)
|----------------|
@@ -40,10 +44,13 @@ TBCLK = SYSCLKOUT/(HSPCLKDIV * CLKDIV)
| |
TBCTL[CLKDIV]----- ------TBCTL[HSPCLKDIV]
```
CLKDIV and HSPCLKDIV bits are part of the TBCTL register (Refer TRM).
CLKDIV - These bits determine part of the time-base clock prescale value.
Please use the following values of CLKDIV to scale down sysclk respectively.
```
0h (R/W) = /1
1h (R/W) = /2
2h (R/W) = /4
@@ -52,9 +59,11 @@ Please use the following values of CLKDIV to scale down sysclk respectively.
5h (R/W) = /32
6h (R/W) = /64
7h (R/W) = /128
```
These bits determine part of the time-base clock prescale value.
Please use following value of HSPCLKDIV to scale down sysclk respectively
```
0h (R/W) = /1
1h (R/W) = /2
2h (R/W) = /4
@@ -63,7 +72,7 @@ Please use following value of HSPCLKDIV to scale down sysclk respectively
5h (R/W) = /10
6h (R/W) = /12
7h (R/W) = /14
```
For example, if you set CLKDIV = 3h and HSPCLKDIV= 2h Then
SYSCLKOUT will be divided by (1/8)(1/4). It means SYSCLKOUT/32
@@ -80,19 +89,22 @@ Here by default period is 1/100MHz = 10 nsec
Following example shows value to be loaded into TBPRD
```
e.g. TBPRD = 1 = 1 count
count x Period = 1 x 1ns = 1ns
freq = 1/Period = 1 / 1ns = 100 MHz
```
For duty cycle CMPA and CMPB are the responsible registers.
To generate single with 50% Duty cycle & 100MHz freq.
```
CMPA = count x Duty Cycle
= TBPRD x Duty Cycle
= 1 x 50/100
= 0.2
```
The value in the active CMPA register is continuously compared to
the time-base counter (TBCNT). When the values are equal, the
counter-compare module generates a "time-base counter equal to
@@ -112,10 +124,12 @@ List of pins for that can be used for different PWM instance :
| BBB_P8_45_2A | BBB_P9_14_1A | BBB_P9_29_0B |
| BBB_P8_46_2B | BBB_P9_16_1B | BBB_P9_31_0A |
------------------------------------------------
BBB_P8_13_2B represents P8 Header , pin number 13 , 2nd PWM instance and B channel.
Following sample program can be used to generate 7 Hz frequency.
```c
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@@ -194,4 +208,4 @@ rtems_task Init(
#define CONFIGURE_INIT
#include <rtems/confdefs.h>
```

View File

@@ -1,3 +1,6 @@
CSB336
======
This is the BSP for Cogent Computer System's CSB336, a single board
computer using the Motorola MC9328MXL CPU.

View File

@@ -1,11 +1,15 @@
CSB337
======
This is the BSP for Cogent Computer System's CSB337 and updated
for CSB637, single board computers using the Atmel AT91RM9200 CPU.
The differences in the board are very slight but important:
```
CSB337 CSB637
======== ========
16Mb RAM 64Mb RAM
??
```
Please check README.kit637_v6 for more explanation about the Cogent's
Development Kit that uses the CSB637 single board computer.

View File

@@ -1,3 +1,6 @@
umon
====
# Fernando Nicodemos <fgnicodemos@terra.com.br>
# from NCB - Sistemas Embarcados Ltda. (Brazil)
#
@@ -15,7 +18,7 @@ application. This directory contiains:
available under RTEMS as a regular filesystem.
Usage
=====
-----
For any of this functionality to work, the application is
responsible for connecting the library to the monitor.
@@ -28,21 +31,24 @@ To use the TFS filesystem, it is necessary to mount it
by calling the rtems_initialize_tfs_filesystem() routine
and providing it the name of the mount point directory.
CONFIGURATION
=============
-------------
The TFS filesystem uses a single Classic API Semaphore.
The monlib functionality will eventually also use a single
Classic API Semaphore.
STATUS
======
------
+ Limited testing -- especially of TFS RTEMS filesystem.
+ monlib is NOT currently protected by a mutex.
SOURCE ORIGIN
=============
-------------
Some of the files in this directory are included in the
MicroMonitor distribution and may need to be updated
in the future.

View File

@@ -1 +1,4 @@
edb7312
=======
This board is from Cogent.

View File

@@ -1,2 +1,5 @@
gumstix
=======
This is the BSP for GUMSTIX which has a PXA255 CPU.

View File

@@ -1,3 +1,6 @@
lm3s69xx
========
Tested only on Qemu simulator with git (git://git.qemu.org/qemu.git) version
1.0.50.

View File

@@ -1,11 +1,14 @@
lpc176x
=======
Development Board: Base Board from Embedded Artists
http://www.embeddedartists.com/products/lpcxpresso/mbed.php
Drivers:
o Console
o Clock
o Timer
o GPIO
o Watchdog
* Console
* Clock
* Timer
* GPIO
* Watchdog

View File

@@ -1,3 +1,6 @@
lpc24xx
=======
Development Board: QVGA Base Board from Embedded Artists
http://www.embeddedartists.com/products/uclinux/oem_lpc2478.php

View File

@@ -1,3 +1,6 @@
lpc32xx
=======
Development board is phyCORE-LPC3250 RDK. Basic initialization via stage 1
bootloader or U-Boot will be assumed. Drivers:

View File

@@ -1,3 +1,6 @@
Raspberry PI
============
BSP for the Raspberry Pi ARM board
This is a basic port that should work on either Model A or Model B.
@@ -13,6 +16,7 @@ It currently supports the following devices:
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

View File

@@ -1,5 +1,9 @@
realview-pbx-a9
===============
Tested only on Qemu.
```shell
git clone git://git.qemu.org/qemu.git qemu
cd qemu
git co a1bff71c56f2d1048244c829b63797940dd4ba0e
@@ -13,3 +17,4 @@ export PATH="$PATH:/opt/qemu/bin"
qemu-system-arm -S -s -no-reboot -net none -nographic -M realview-pbx-a9 -m 256M -kernel ticker.exe
qemu-system-arm -S -s -no-reboot -net none -nographic -smp 2 -icount auto -M realview-pbx-a9 -m 256M -kernel ticker.exe
```

View File

@@ -1,3 +1,6 @@
rtl22xx
=======
RTEMS BSP for Philips's ARM processor
This BSP is designed for the following Philips' ARM microprocessors:

View File

@@ -1,3 +1,6 @@
SMDK2410
========
SMDK2410 is a standard evaluation board for samsung s3c2410 ARM9 CPU
This BSP was first developed by xiajiashan <ximenchuixue4016@sina.com>,

View File

@@ -1,3 +1,6 @@
STM32F4-Discovery
=================
Tested with STM32F4-Discovery evaluation board.
For debugging on Linux use:

View File

@@ -1,3 +1,6 @@
TI Hercules TMS570
==================
TI Hercules TMS570 series development boards:
TMS570LS31:

View File

@@ -1,3 +1,6 @@
xilinx-zynqmp
=============
Tested on an Ultra96 board with JTAG boot.
Make sure to configure the boot mode switches for JTAG mode.

View File

@@ -1,3 +1,7 @@
TLL6527M
========
```
BSP NAME: TLL6527M
BOARD: TLL6527M
CPU FAMILY: Blackfin
@@ -6,9 +10,12 @@ MODE: 32 bit mode
DEBUG MONITOR:
SIMULATOR:
```
PERIPHERALS
===========
-----------
```
TIMERS: internal
RESOLUTION: 1 milisecond
SERIAL PORTS: 2 internal UART (polled/interrupt/dma)
@@ -17,29 +24,32 @@ DMA: internal
VIDEO: none
SCSI: none
NETWORKING: none
```
DRIVER INFORMATION
==================
------------------
```
CLOCK DRIVER: internal
TIMER DRIVER: internal
I2C:
SPI:
PPI:
SPORT:
```
STDIO
=====
-----
```
PORT: Console port 1
ELECTRICAL: RS-232
BAUD: 9600
BITS PER CHARACTER: 8
PARITY: None
STOP BITS: 1
```
NOTES
=====
-----
The TLL56527M board contains analog devices blackfin 527 processor. In addition
to the peripherals provided by bf527 the board has a temprature sensor,
accelerometer and power module connected via I2C. It also has LCD interface,
@@ -68,25 +78,25 @@ ports. Under bsp configure.ac files
polling to transmit data over uart. This call is blocking.
TLL6527 specific file are mentioned below.
=====================================
c/src/lib/libcpu/bfin/bf52x/*
c/src/lib/libbsp/bfin/TLL6527M/*
The port was compiled using
===========================
1. bfin-rtems4.11-gcc (GCC) 4.5.2 20101216
---------------------------
1. bfin-rtems4.11-gcc (GCC) 4.5.2 20101216
(RTEMS gcc-4.5.2-3.el5/newlib-1.19.0-1.el5)
2. automake (GNU automake) 1.11.1
3. autoconf (GNU Autoconf) 2.68
2. automake (GNU automake) 1.11.1
3. autoconf (GNU Autoconf) 2.68
The port was configured using the flags
==========================================
---------------------------------------
--target=bfin-rtems4.11 --enable-rtemsbsp=TLL6527M --enable-tests=samples
--disable-posix --disable-itron
ISSUES:
ISSUES
------
Could not place code in l1code (SRAM) because it was not being loaded by the
gnu loaded.
gnu loaded.

View File

@@ -1,3 +1,6 @@
bf537Stamp
==========
```
BSP NAME: bf537Stamp
BOARD: ADZS-BF537-STAMP
CPU FAMILY: Blackfin
@@ -6,9 +9,11 @@ MODE: 32 bit mode
DEBUG MONITOR: ICEBear
SIMULATOR: Skyeye
```
PERIPHERALS
===========
-----------
```
TIMERS: internal
RESOLUTION: 1 milisecond
SERIAL PORTS: internal UART (polled/interrupt)
@@ -17,21 +22,22 @@ DMA: internal
VIDEO: none
SCSI: none
NETWORKING: internal
```
DRIVER INFORMATION
==================
------------------
```
CLOCK DRIVER: internal
TIMER DRIVER: internal
```
STDIO
=====
-----
```
PORT: Console port 0
ELECTRICAL: RS-232
BAUD: 57600
BITS PER CHARACTER: 8
PARITY: None
STOP BITS: 1
NOTES
=====
```

View File

@@ -1,3 +1,6 @@
eZKit533
========
```
BSP NAME: eZKit533
BOARD: ADSP-BF533 EzKit Lite
CPU FAMILY: Blackfin
@@ -6,9 +9,11 @@ MODE: 32 bit mode
DEBUG MONITOR: ICEBear
SIMULATOR: Skyeye
```
PERIPHERALS
===========
-----------
```
TIMERS: internal
RESOLUTION: 1 milisecond
SERIAL PORTS: internal UART (polled/interrupt)
@@ -17,20 +22,22 @@ DMA: internal
VIDEO: none
SCSI: none
NETWORKING: none
```
DRIVER INFORMATION
==================
------------------
```
CLOCK DRIVER: internal
TIMER DRIVER: internal
```
STDIO
=====
-----
```
PORT: Console port 0
ELECTRICAL: RS-232
BAUD: 57600
BITS PER CHARACTER: 8
PARITY: None
STOP BITS: 1
NOTES
=====
```

View File

@@ -1,6 +1,7 @@
#
# This board support package works with a target PC
#
pc386
=====
This board support package works with a target PC
This BSP supports a standard Intel/AMD PC on i386 and up CPUs. If on
a Pentium or above, the TSC register is used for timing calibration
@@ -9,8 +10,9 @@ purposes rather than relying entirely on the i8254.
Partial support is implemented for more modern PCs which do not have
a complete complement of legacy peripherals.
Console/Printk Device Selection
===============================
-------------------------------
The pc386 console device driver supports a variety of devices
including the VGA/keyboard and a number of serial ports. The
default console is selected based on which devices are present
@@ -31,9 +33,11 @@ are enabled. The configure time options are:
An example of using these to force the console to COM1 is:
```shell
../rtems/configure --target=i386-rtems4.12 \
USE_COM1_AS_CONSOLE=1 --enable-rtemsbsp=pc386 \
... other arguments ...
```
The --console and --printk options can be used to specify the
device associated with stdin, stdout, and stderr as well as
@@ -45,7 +49,9 @@ specify the console and kernel debug IO device. The --printk
is then interpreted to specify the debug kernel IO device.
For example,
```shell
--console=/dev/com1 --printk=/dev/vgacons
```
specifies that com1 is to be used for stdin, stdout, and stderr
while the VGA console is to be used for kernel debug IO.
@@ -55,7 +61,9 @@ the RTEMS device /dev/com1.
The device name may be followed by a baud rate. The following
example illustrates this:
```shell
--console=/dev/com1,19200 --printk=/dev/vgacons
```
If the specified device is not present, then a suitable fallback
device is selected. The fallback order is based upon the probe
@@ -64,12 +72,14 @@ order listed earlier.
PCI UART devices are /dev/pcicom1 etc as they are probed and found.
GDB
===
---
GDB can be support using:
```
--gdb=/dev/com1,115200 : where the device and baudrate are selectable.
--gdb-break : halt at a break point in the BSP and wait for GDB.
--gdb-remote-debug : Output the GDB remote protocol data to printk
```
The GDB stub details and in shared/comm/GDB.HOWTO.

View File

@@ -1,18 +1,24 @@
# The Lattice Mico32 port uses the system_config.h generated by the Mico
# System Builder to retrieve the properties of the peripherals.
#
# Implemented (in shared/ subdirectory)
# Polled console driver (uart)
# Clock interrupt with 10 ms tick
# Networking using Lattice tri-speed ethernet MAC
#
# Todo
# Support more peripherals:
# - uart driver using interrupts
#
# jukka.pietarinen@mrf.fi, 3.12.2008
#
Lattice Mico32
==============
The Lattice Mico32 port uses the system_config.h generated by the Mico
System Builder to retrieve the properties of the peripherals.
Implemented (in shared/ subdirectory)
Polled console driver (uart)
Clock interrupt with 10 ms tick
Networking using Lattice tri-speed ethernet MAC
TODO
----
Support more peripherals:
* uart driver using interrupts
jukka.pietarinen@mrf.fi, 3.12.2008
```
BSP NAME: lm32_evr
BOARD: cRIO-EVR, Micro-Research Finland Oy
BUS: wishbone
@@ -22,9 +28,11 @@ COPROCESSORS: none
MODE: 32 bit mode
DEBUG MONITOR: none
```
PERIPHERALS
===========
-----------
```
TIMERS: clock
RESOLUTION: 10 ms
SERIAL PORTS: uart
@@ -33,9 +41,10 @@ DMA: none
VIDEO: none
SCSI: none
NETWORKING: tsmac
```
To on the simulator included in lm32-gdb use these commands:
```shell
tar sim --hw-device lm32cpu \
--hw-device "lm32uart/reg 0x80006000 0x100" \
--hw-device "/lm32uart > int int0 /lm32cpu" \
@@ -43,6 +52,7 @@ tar sim --hw-device lm32cpu \
--hw-device "/lm32timer > int int1 /lm32cpu" \
--memory-region 0x08000000,0x4000000
load
```
The simulator is VERY VERY slow when RTEMS is idle.
To speed this up, add SIMULATOR_FAST_IDLE=1 to the

View File

@@ -1,3 +1,6 @@
milkymist
=========
Full RTEMS port to the Milkymist One. Supports Milkymist SoC 1.0.x.
Includes drivers for:

View File

@@ -1,3 +1,6 @@
GDB Stub lm32
=============
This is a thread-aware gdb stub for the lm32 architecture. It has to be
linked with the application, which should be debugged. The application has
to call 'lm32_gdb_stub_install' to setup the stub.
@@ -44,6 +47,7 @@ NOTE2: make sure you have the following CFLAGS set:
EXAMPLES
```shell
char gdb_get_debug_char(void)
{
/* Wait until there is a byte in RXTX */
@@ -79,4 +83,4 @@ EXAMPLES
{
lm32_interrupt_ack(1 << DEBUG_UART_IRQ);
}
```