[PATCH 0/4] RISC-V: NOEL-V BSP

Daniel Hellstrom daniel at gaisler.com
Mon Feb 8 19:44:11 UTC 2021


This set of patches adds a BSP for the NOEL-V RISC-V processor
IP from Cobham Gaisler:
	https://www.gaisler.com/noelv

The patches are for the RTEMS master branch with the autoconf and
new WAF build system. If accepted another patch set for the
RTEMS-5 branch will follow. Patches for the document repository
will be sent separately.

There is a ticket for more details:
	https://devel.rtems.org/ticket/4225

The patches has been tested on different NOEL-V designs on
FPGA boards. The below test result is collected from the
single-core design of Arty A7: Artix-7 FPGA Development Board
(https://www.gaisler.com/NOEL-ARTYA7) built with waf:

  # Result Test ExecRes ConsoleRes ExitCode1 ExitCode2
  # FAIL: ttest01 OK FAIL 0x0000000000000005 0x0000000000000000
  # FAIL: ttest02 OK FAIL 0x0000000000000005 0x0000000000000000
  # FAIL: psxkey07 OK FAIL 0x0000000000000005 0x0000000000000000
  # FAIL: minimum OK N/A 0x0000000000000000 0x0000000000000005
  # FAIL: spfatal26 FAIL OK N/A N/A
  #
  # SUMMARY
  #  Tests failing:    5
  #  Tests successful: 552

We believe the failures are not dependent on the BSP itself.

The BSP does not integrate GRLIB device drivers at this point,
however it is reusing the  APBUART device driver as it is used
by NOEL-V designs. There is a patch that allows auto-detection
of End-of-Memory similar to the LEON BSPs using the same GRLIB
SW ecosystem.

Thanks,
Martin & Daniel


---

 bsps/riscv/noel/console/console-config.c           | 182 +++++++++++++++++++++
 bsps/riscv/noel/include/bsp.h                      |  76 +++++++++
 bsps/riscv/noel/include/bsp/irq.h                  |  75 +++++++++
 bsps/riscv/noel/include/tm27.h                     |   1 +
 bsps/riscv/noel/start/bsp_fatal_halt.c             |  36 ++++
 bsps/riscv/shared/start/bspgetworkarea-fromstack.c |  55 +++++++
 bsps/riscv/shared/start/start.S                    |  16 ++
 bsps/shared/grlib/uart/apbuart_termios.c           |   1 +
 spec/build/bsps/riscv/noel/abi.yml                 |  48 ++++++
 spec/build/bsps/riscv/noel/bspnoel32im.yml         |  19 +++
 spec/build/bsps/riscv/noel/bspnoel32imafd.yml      |  19 +++
 spec/build/bsps/riscv/noel/bspnoel64imac.yml       |  19 +++
 spec/build/bsps/riscv/noel/bspnoel64imafd.yml      |  19 +++
 spec/build/bsps/riscv/noel/bspnoel64imafdc.yml     |  19 +++
 spec/build/bsps/riscv/noel/grp.yml                 |  56 +++++++
 spec/build/bsps/riscv/noel/obj.yml                 |  37 +++++
 spec/build/bsps/riscv/noel/objsmp.yml              |  15 ++
 spec/build/bsps/riscv/noel/optconirq.yml           |  16 ++
 spec/build/bsps/riscv/noel/optextirqmax.yml        |  16 ++
 spec/build/bsps/riscv/noel/optfdtcpyro.yml         |  15 ++
 spec/build/bsps/riscv/noel/optfdtmxsz.yml          |  16 ++
 spec/build/bsps/riscv/noel/optfdtro.yml            |  15 ++
 spec/build/bsps/riscv/noel/optfdtuboot.yml         |  15 ++
 spec/build/bsps/riscv/noel/opthtif.yml             |  15 ++
 spec/build/bsps/riscv/optrambegin.yml              |   3 +
 spec/build/cpukit/optarchbits.yml                  |   2 +
 spec/build/cpukit/optnet.yml                       |   1 +
 spec/build/cpukit/optsmp.yml                       |   4 +
 28 files changed, 811 insertions(+)

 create mode 100644 bsps/riscv/noel/console/console-config.c
 create mode 100644 bsps/riscv/noel/include/bsp.h
 create mode 100644 bsps/riscv/noel/include/bsp/irq.h
 create mode 100644 bsps/riscv/noel/include/tm27.h
 create mode 100644 bsps/riscv/noel/start/bsp_fatal_halt.c
 create mode 100644 bsps/riscv/shared/start/bspgetworkarea-fromstack.c
 create mode 100644 spec/build/bsps/riscv/noel/abi.yml
 create mode 100644 spec/build/bsps/riscv/noel/bspnoel32im.yml
 create mode 100644 spec/build/bsps/riscv/noel/bspnoel32imafd.yml
 create mode 100644 spec/build/bsps/riscv/noel/bspnoel64imac.yml
 create mode 100644 spec/build/bsps/riscv/noel/bspnoel64imafd.yml
 create mode 100644 spec/build/bsps/riscv/noel/bspnoel64imafdc.yml
 create mode 100644 spec/build/bsps/riscv/noel/grp.yml
 create mode 100644 spec/build/bsps/riscv/noel/obj.yml
 create mode 100644 spec/build/bsps/riscv/noel/objsmp.yml
 create mode 100644 spec/build/bsps/riscv/noel/optconirq.yml
 create mode 100644 spec/build/bsps/riscv/noel/optextirqmax.yml
 create mode 100644 spec/build/bsps/riscv/noel/optfdtcpyro.yml
 create mode 100644 spec/build/bsps/riscv/noel/optfdtmxsz.yml
 create mode 100644 spec/build/bsps/riscv/noel/optfdtro.yml
 create mode 100644 spec/build/bsps/riscv/noel/optfdtuboot.yml
 create mode 100644 spec/build/bsps/riscv/noel/opthtif.yml
 28 files changed, 811 insertions(+)


More information about the devel mailing list