Changeset 24326a8 in rtems-docs


Ignore:
Timestamp:
Aug 2, 2018, 11:21:25 AM (13 months ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
master
Children:
a0e6488
Parents:
d909c5f
Message:

user: Add RISC-V BSP section

Update #3433.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • user/bsps/bsps-riscv.rst

    rd909c5f r24326a8  
    55**************
    66
    7 TODO.
     7RISC-V
     8======
     9
     10This BSP offers 13 variants:
     11
     12* rv32i
     13
     14* rv32iac
     15
     16* rv32im
     17
     18* rv32imac
     19
     20* rv32imafc
     21
     22* rv32imafd
     23
     24* rv32imafdc
     25
     26* rv64imac
     27
     28* rv64imac_medany
     29
     30* rv64imafd
     31
     32* rv64imafd_medany
     33
     34* rv64imafdc
     35
     36* rv64imafdc_medany
     37
     38Each variant corresponds to a GCC multilib.  A particular variant reflects an
     39ISA with ABI and code model choice.
     40
     41The basic hardware initialization is not performed by the BSP.  A boot loader
     42with device tree support must be used to start the BSP, e.g. BBL.  The BSP must
     43be started im machine mode.
     44
     45The reference platform for this BSP is the Qemu `virt` machine.
     46
     47Build Configuration Options
     48---------------------------
     49
     50The following options are available at the configure command line.
     51
     52``BSP_PRESS_KEY_FOR_RESET``
     53    If defined to a non-zero value, then print a message and wait until pressed
     54    before resetting board when application terminates.
     55
     56``BSP_RESET_BOARD_AT_EXIT``
     57    If defined to a non-zero value, then reset the board when the application
     58    terminates.
     59
     60``BSP_PRINT_EXCEPTION_CONTEXT``
     61    If defined to a non-zero value, then print the exception context when an
     62    unexpected exception occurs.
     63
     64``BSP_FDT_BLOB_SIZE_MAX``
     65    The maximum size of the device tree blob in bytes (default is 65536).
     66
     67``BSP_CONSOLE_BAUD``
     68    The default baud for console driver devices (default 115200).
     69
     70``RISCV_MAXIMUM_EXTERNAL_INTERRUPTS``
     71     The maximum number of external interrupts supported by the BSP (default
     72     64).
     73
     74``RISCV_ENABLE_HTIF_SUPPORT``
     75     Enables the HTIF support if defined to a non-zero value, otherwise it is
     76     disabled (disabled by default).
     77
     78``RISCV_CONSOLE_MAX_NS16550_DEVICES``
     79     The maximum number of NS16550 devices supported by the console driver (2
     80     by default).
     81
     82``RISCV_RAM_REGION_BEGIN``
     83     The begin of the RAM region for linker command file (default is 0x70000000
     84     for 64-bit with -mcmodel=medlow and 0x80000000 for all other).
     85
     86``RISCV_RAM_REGION_SIZE``
     87     The size of the RAM region for linker command file (default 64MiB).
     88
     89Interrupt Controller
     90--------------------
     91
     92Exactly one Core Local Interruptor (CLINT) and exactly one Platform-Level
     93Interrupt Controller (PLIC) are supported.  The maximum number of external
     94interrupts supported by the BSP is defined by the
     95``RISCV_MAXIMUM_EXTERNAL_INTERRUPTS`` BSP option.
     96
     97Clock Driver
     98------------
     99
     100The clock driver uses the CLINT timer.
     101
     102Console Driver
     103--------------
     104
     105The console driver supports devices compatible to
     106
     107* "ucb,htif0" (depending on the ``RISCV_ENABLE_HTIF_SUPPORT`` BSP option),
     108
     109* "ns16550a" (see ``RISCV_CONSOLE_MAX_NS16550_DEVICES`` BSP option), and
     110
     111* "ns16750" (see ``RISCV_CONSOLE_MAX_NS16550_DEVICES`` BSP option).
     112
     113They are initialized according to the device tree.  The console driver does not
     114configure the pins or peripheral clocks.  The console device is selected
     115according to the device tree "/chosen/stdout-path" property value.
Note: See TracChangeset for help on using the changeset viewer.