Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Launchpad Pro | 401 | 6 months ago | 18 | bsd-3-clause | C | |||||
Open source firmware for the Launchpad Pro grid controller | ||||||||||
Psdr | 314 | 2 years ago | 7 | other | C | |||||
PortableSDR - A Stand Alone HF Software Defined Transciever. | ||||||||||
Firmware | 249 | 8 months ago | 40 | gpl-3.0 | C++ | |||||
Maslow Firmware | ||||||||||
Uhsdr | 247 | a year ago | 38 | gpl-3.0 | C | |||||
SDR firmware and bootloader with configuration files for use with Eclipse, EmBitz and Makefile | ||||||||||
Sapog | 157 | 3 years ago | 3 | bsd-3-clause | C | |||||
Sapog - advanced multiplatform ESC firmware | ||||||||||
Lxr | 77 | 7 years ago | 2 | other | C | |||||
Source files for the LXR drumsynthesizer firmware | ||||||||||
Iosonata | 52 | 5 days ago | mit | C | ||||||
IOsonata multi-platform multi-architecture power & performance optimized software library for fast and easy IoT MCU firmware development. Object Oriented design, no board package to define, just pure plug & play any boards | ||||||||||
Riscv Fw Infrastructure | 44 | 2 years ago | apache-2.0 | C | ||||||
Firmware infrastructure, contain RTOS Abstraction Layer, demos and more... | ||||||||||
Usbdm Firmware | 33 | 8 months ago | 5 | C | ||||||
Firmware for USBDM BDMs | ||||||||||
Smartto Eclipse | 24 | 5 years ago | 11 | gpl-2.0 | C | |||||
3D printer firmware and hardware of for stm32 |
This repository is WD RISC-V Firmware package, holds:
This repository use LFS. If you don't have git LFS installed, please do the following steps (based on Debian/Ubuntu):
$ curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
$ sudo apt-get install git-lfs
Getting the repository
$ git clone https://github.com/westerndigitalcorporation/riscv-fw-infrastructure.git
Since we use LFS it is adviced to use shallow cloning (without all history)
$ git clone --depth 1 https://github.com/westerndigitalcorporation/riscv-fw-infrastructure.git
See [./code convention.htm]
The “WD Firmware package” constitutes an SDK FW. It contains Firmware applications and Processor Support Package (PSP) for various cores, alongside demos which support all features. The following README file describes how to setup a build environment for the WD RISC-V firmware. It guides how to build the program, downloading it, and debugging it on the supported platforms and cores. The FW-Infra was verified with VMWare player v. 15 hosting Debian 9.6.
RTOS-AL Abstraction Layer (AL) on embedded small footprint real time operation systems (RTOS). The target is to provide homogenies API for the developer usage, so the kernel can be replaced for several different RTOS’s, without any need from the developer to change its application code. Currently this AL supports FreeRTOS and ThreadX (only API's, without core) with a real running demo for FreeRTOS. The structure of WD Firmware package allows quick and easy integration for more RTOS’s, Platforms, boards and new firmware features. Demos is based on HiFive FW example, by SiFIve. Currently the reference is part of FreeRTOS maintenance
Coming soon: more FW features and more Platform supports
WD-Firmware
├── board <-- supported boards
├── hifive-1
├── nexys_a7_eh1 (support for SweRV eh1, running on SweRVolf)
├── nexys_a7_eh2 (support for SweRV eh2)
├── nexys_a7_el2 (Support for SweRV el2, running on SweRVolf)
├── whisper (SweRV ISS Support for SweRV eh1, eh2, el2)
├── common <-- common source
├── comrv <-- ComRV - Cacheable Overlay Mangager for RISC-V (core source)
├── demo <-- demos source
├── build <-- example build scripts
├── toolchain <-- container for the unzip toolchains
├── demo_rtosal.c <-- Abstruction Layer (AL) demo on FreeRTOS
├── main.c <-- The main of all demos
├── ....
├── psp <-- psp functionality
├── rtos
├── rtosal <-- rtos abstraction layer
├── rtos_core <-- specific rtos source code
├── freertos
├── ....
NOTE: The COMRV demo will work only with the LLVM toolchain, GCC is not supported
From the repo root folder unzip riscv-gnu-toolchain-debian.tar.gz to the WD-Firmware/demo/build/toolchain directory
$ tar -xvf riscv-gnu-toolchain-debian.tar.gz -C ./WD-Firmware/demo/build/toolchain/
From the repo root folder unzip riscv-llvm-toolchain-debian.tar.gz to the WD-Firmware/demo/build/toolchain directory
$ tar -xvf riscv-llvm-toolchain-debian.tar.gz -C ./WD-Firmware/demo/build/toolchain/
From the repo unzip eclipse_mcu_2019_12.tar.gz to your designated directory for the Eclipse MCU
$ tar -xvf eclipse_mcu_2019_12.tar.gz -C [Eclipse-MCU-root]
Standard packages that are required can be installed by the following command:
$ sudo apt-get install scons libftdi1-2 libmpfr4
NOTE: If libmpfr4 can not be installed, in cases of newer versions '6', on the host machine, you can create a symbolic link to libmpfr.so.6
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.4
Download and install Java SE Runtime Environment
For RISC-V OpenOCD, you will need the following depended libs: libusb-0.1, libusb-1.0-0-dev, libusb-dev
$ sudo apt-get install libusb-0.1 libusb-1.0-0-dev libusb-dev
You will need to choose a specific demo for building a full solution:
From the eclipse terminal or console:
$ cd [WD-firmware-root]/WD-Firmware/demo/build
$ ./config.sh
Then you will be asked to choose a demo.
For more explanation on adding new demos please read the readme file on ***'/demos'***
Note: to run the script you will need Python
, we support Python 2.7
only
From 'Eclipse MCU' menu bar select 'Project' -> 'Build All'. Note that you can select which platform to build for.
Since the building process use SCons build system, you can build via console/terminal. Please read the readme on ’/build’
We provide several platforms to work with, please follow the instructions for the one you preferred.
Connect to your HiFive1 debug interface and type "lsusb" to see if FT2232C is connected:
$ lsusb
Bus ... Device ... : ID 0403:6010 Future Technology Devices International, Ltd FT2232C Dual USB-UART/FIFO IC
...
Set the udev rules to allow the device to be accessed by the plugdev group
$ sudo cp [WD-firmware-root]/WD-Firmware/board/hifive1/99-openocd.rules /etc/udev/rules.d/
Add and verify current user to plugdev group
$ sudo usermod -a -G plugdev $USER
$ groups
... plugdev ...
Power off/on Debian station
EH1 and EL2 SweRVolf are fpga files create by Olof Kindgren under CHIPS-Alliance If you wish to know more please use this link: Cores-SweRVolf
For the FPGA bit file loading, do the following steps:
FPGA image file loading: using uSD device
JP1 - USB/SD pins. JP2 - connect the 2 pins on 'SD' side
sw0 to OFF
and all others to ON
FPGA image file loading: using eclipse MCU:
There is nothing to set for SweRV ISS, just select debugger luncher (following next)..
- hifive1 <-- HiFive Eval board
- nexys_a7_eh1_swerolf <-- Nexys A7 digilent FPGA board running SweRV EH1
with full System on chip support.
From chipsalliance/Cores-SweRVolf
- nexys_a7_el2_swerolf <-- Nexys A7 digilent FPGA board running SweRV EL2
with full System on chip support.
From chipsalliance/Cores-SweRVolf
- nexys_a7_eh2_swerolf <-- Nexys A7 digilent FPGA board running SweRV EH2
with full System on chip support.
- whisper_eh1_connect_and_debug <-- ISS simulator for SweRV EH1
- whisper_eh2_connect_and_debug <-- ISS simulator for SweRV EH2
- whisper_el2_connect_and_debug <-- ISS simulator for SweRV EL2
- whisper_eh2_connect_and debug_multi_hart <-- same as whisper_eh2_connect_and_debug BUT with 2 HW
threads (HARTs) running simultaneously
The folder WD-Firmware/demo/build/ contains a template file (SConscript_template) which can be used.
This repo is always under work, following are notes and status for items that is still missing or under work.