Changeset 24326a8 in rtems-docs
- Timestamp:
- 08/02/18 11:21:25 (4 years ago)
- Branches:
- 5, am, master
- Children:
- a0e6488
- Parents:
- d909c5f
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
user/bsps/bsps-riscv.rst
rd909c5f r24326a8 5 5 ************** 6 6 7 TODO. 7 RISC-V 8 ====== 9 10 This 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 38 Each variant corresponds to a GCC multilib. A particular variant reflects an 39 ISA with ABI and code model choice. 40 41 The basic hardware initialization is not performed by the BSP. A boot loader 42 with device tree support must be used to start the BSP, e.g. BBL. The BSP must 43 be started im machine mode. 44 45 The reference platform for this BSP is the Qemu `virt` machine. 46 47 Build Configuration Options 48 --------------------------- 49 50 The 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 89 Interrupt Controller 90 -------------------- 91 92 Exactly one Core Local Interruptor (CLINT) and exactly one Platform-Level 93 Interrupt Controller (PLIC) are supported. The maximum number of external 94 interrupts supported by the BSP is defined by the 95 ``RISCV_MAXIMUM_EXTERNAL_INTERRUPTS`` BSP option. 96 97 Clock Driver 98 ------------ 99 100 The clock driver uses the CLINT timer. 101 102 Console Driver 103 -------------- 104 105 The 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 113 They are initialized according to the device tree. The console driver does not 114 configure the pins or peripheral clocks. The console device is selected 115 according to the device tree "/chosen/stdout-path" property value.
Note: See TracChangeset
for help on using the changeset viewer.