Packages, Tools and Resources

Used packages

SoftConsole v2022.2-RISC-V uses several, mostly free and/or open source, packages. Microchip acknowledges and thanks those organization, communities and individual developers who work on these projects and make them available to others for reuse under the relevant license conditions.

Eclipse and additional packages

Version:

JustJ 17 JRE

Note: Previous SoftConsole releases were shipped with a full Java SDK

Home page:

https://www.eclipse.org/justj/

Documentation:

https://www.eclipse.org/justj/?page=documentation

License:

The GNU General Public License (GPL), see:

<SC_INSTALL_DIR>\eclipse\jre\legal\java.base\LICENSE

Notes:

JustJ provides the base Java platform on which Eclipse/CDT and other Eclipse plugins run.

Credit/thanks to Eclipse, JustJ and the OpenJDK open source development community.

Complementary tools for building projects

Version:

v2.12-20190422

https://gnu-mcu-eclipse.github.io/windows-build-tools/releases/

Home page:

https://gnu-mcu-eclipse.github.io/windows-build-tools/

Documentation:

https://gnu-mcu-eclipse.github.io/windows-build-tools/

License:

https://gnu-mcu-eclipse.github.io/licenses/tools/

make:

GNU General Public License v3

http://www.gnu.org/copyleft/gpl.html

BusyBox:

GNU General Public License v2

https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html

Notes:

Provides common Unix style utilities such as cp, echo, make etc. for Windows and busybox for Windows and Linux.

Credit/thanks to Liviu Ionescu and the GNU MCU Eclipse project and development community

Toolchains

Version:

xPack GNU RISC-V Embedded GCC toolchain v8.3.0-1.1 build with additional multilibs

Home Page:

https://xpack.github.io/riscv-none-embed-gcc/

Documentation:

https://xpack.github.io/riscv-none-embed-gcc/

License:

https://github.com/riscv/riscv-gnu-toolchain/blob/master/LICENSE

https://gnu-mcu-eclipse.github.io/licenses/plug-ins/#eclipse-public-license

The copyright owner for all the Embedded CDT (GNU MCU Eclipse) plug-ins is Liviu Ionescu and all rights are reserved.

Notes:

The riscv64-unknown-elf prefixed tools support 32-bit and 64-bit targets and multilibs for all architectures (“native” ABI only) excluding any E architectures. Slightly modified versions of the xPack GNU RISC-V Embedded GCC build scripts (https://xpack.github.io/riscv-none-embed-gcc/) are used to build the SoftConsole GNU RISC-V Embedded GCC Toolchain. Multilibs are provided for the following RISC-V arch (architecture) and ABI tuples:

Supported Architecture / ABI combinations:

This is a full list of supported multilibs. Arch/ABI tuples not listed (such as RV32E) are not supported.

march

mabi

rv32i

ilp32

rv32ia

ilp32

rv32iac

ilp32

rv32iaf

ilp32f

rv32iafc

ilp32f

rv32ic

ilp32

rv32if

ilp32f

rv32ifc

ilp32f

rv32im

ilp32

rv32ima

ilp32

rv32imac

ilp32

rv32imaf

ilp32f

rv32imafc

ilp32f

rv32imc

ilp32

rv32imf

ilp32f

rv32imfc

ilp32f

rv64i

lp64

rv64ia

lp64

rv64iac

lp64

rv64iaf

lp64f

rv64iafc

lp64f

rv64iafd

lp64d

rv64iafdc

lp64d

rv64ic

lp64

rv64if

lp64f

rv64ifc

lp64f

rv64ifd

lp64d

rv64ifdc

lp64d

rv64im

lp64

rv64ima

lp64

rv64imac

lp64

rv64imaf

lp64f

rv64imafc

lp64f

rv64imafd

lp64d

rv64imafdc

lp64d

rv64imc

lp64

rv64imf

lp64f

rv64imfc

lp64f

rv64imfd

lp64d

rv64imfdc

lp64d

Note

This suite of multilibs supports the “natural” ABI for each architecture. If an RV64G (rv64imafd or more specifically rv64imafdZicsr_Zifencei) architecture is chosen, but not the natural ABI lp64f (natural would be in this case lp64d), then the resulting multilib is not supported. However, choosing the rv64imaf with its natural ABI lp64f will work. Instead of selecting architecture and then ABI a reversed approach might be better. Select an ABI to fulfil application’s requirements and then the select the minimal architecture that can handle that given ABI.

The “default/native” mode of the tools is RV64GC in the absence of any -march/-mabi flags being passed to the tools. Credit/thanks to the RISC-V development community and Liviu Ionescu and the xPack and GNU MCU Eclipse projects and development communities.

Emulation and trace

Version:

v1.13.1

Home page:

https://github.com/renode

https://renode.io/

Documentation:

<SC_INSTALL_DIR>/documentation/renode/

https://renode.readthedocs.io/en/latest/

License:

License MIT License:

https://github.com/renode/renode/blob/master/LICENSE

Notes:

Notes Renode can emulate physical hardware systems - including the CPU, peripherals, sensors, environment, and wireless medium between nodes.

Credit/thanks to Antmicro and the Renode development community.

Static code analysis

Version:

v1.83

Home page:

http://cppcheck.sourceforge.net/

Documentation:

https://sourceforge.net/p/cppcheck/wiki/Home/

License:

License GNU Public License v3

http://www.gnu.org/copyleft/gpl.html

Notes:

Cppcheck is a static analysis tool for C/C++ code. It detects the types of bugs that the compilers normally fail to detect. The goal is no false positives.

Credit/thanks to Daniel Marjamäki and the cppcheck development community.

Deployment

Version:

v21.6.0

Home page:

https://installbuilder.com/

Documentation:

https://clients.bitrock.com/installbuilder/docs/installbuilder-userguide/index.html

License:

Commercial: https://installbuilder.com/purchase.html

VMware/BitRock have kindly provided an open source license:

https://kb.vmware.com/s/article/2961920

And allowing InstallBuilder to be used to create the SoftConsole installers for Windows and Linux.

Notes:

Credit/thanks to VMware (formerly BitRock).