XIP

XIP empowers developers to efficiently manage XploR Studio IDE

Introduction

Developers can use xip to:

  • signup: Sign up for a free account from the command line. Alternatively, you can also used this link to sign up for a free account.
  • install: Download and install XploR Studio IDE, or components
  • uninstall: Uninstall installed components on the host machine.
  • show: Show information about installed components.
  • list: List all installed and available components.
  • ide: Manipulations with the IDE (Currently only support for XploR Studio).
  • env: Execute a command in a virtual environment.

To get more information:

$ xip --help
      _  __     __     ___             
     | |/_/__  / /__  / _ \            
    _>  </ _ \/ / _ \/ , _/            
   /_/|_/ .__/_/\___/_/|_|             
       /_/   Explore your SoC Design!			  

Usage: xip [OPTIONS] COMMAND [ARGS]...

  XploR CLI to manage manipulation with XploR Studio IDE and components.

Options:
  --home <path>  Set the XploR workspace and set $XPLOR_HOME=<path> if it not
                 exists (Default: $/home/user/.xplor).
  -v, --verbose  Enables verbose mode.
  --version      Show the version and exit.
  --help         Show this message and exit.

Commands:
  env        Execute a command in a virtual environment.
  ide        Manipulations with the IDE (Currently only support for XploR
             Studio).
  install    Install a component.
  list       List components.
  show       Show component info.
  signup     Sign up a new account.
  uninstall  Uninstall a component.

General options:
  --version            Show version and exit.
  --xplor-home <path>  Set the XploR workspace and set $XPLOR_HOME=<path> if
                       it not exists (Default: /home/ubuntu/.xplor).
  --init               Initialize the credentials file in the XploR workspace
                       and exit

To get more info about subcommands (signup, install, uninstall, show, list):

$ xip install --help
      _  __     __     ___             
     | |/_/__  / /__  / _ \            
    _>  </ _ \/ / _ \/ , _/            
   /_/|_/ .__/_/\___/_/|_|             
       /_/   Explore your SoC Design!  

usage: xip install [-h] [--no-deps] [--upgrade] component

positional arguments:
  component   The name of the component to install.

optional arguments:
  -h, --help  show this help message and exit.
  --no-deps   Install a component without dependencies.
  --upgrade   Upgrade a component to the newest available version.

Sign up

To access components and component registry, users must sign up for an account here or using the xip signup command:

$ xip signup
      _  __     __     ___             
     | |/_/__  / /__  / _ \            
    _>  </ _ \/ / _ \/ , _/            
   /_/|_/ .__/_/\___/_/|_|             
       /_/   Explore your SoC Design!  

[   0.060] Setup the workspace
[   0.060] The XploR's workspace folder already exists!
/home/dongnh/.xplor/components
[   0.061] Getting the Registration Flow.
https://auth.soc.one/self-service/registration?flow=6aa1bf27-2985-483e-b780-de06742a9f1a
[   1.142] Getting email and password.
Enter your email: staff@soc.one
Enter your password: 
Re-enter your password: 
[  17.868] Signing up.
[  19.770] Sign up successfully.
[Notice] Please activate your account now by clicking the link in the activation email to access all our features and services.

Note: Please activate your account by clicking the link in the activation email.

Install

Use xip install to install components with or without dependencies.

Note: xip will open a browser for users to sign in at the first time. If login is successful, users will be requested access to some permissions.

To install the GNU elf toolchain and related dependencies, use:

For Linux

  $ xip install rv-xplor-elf-linux64
  
For Windows

  $ xip install rv-xplor-elf-win64
  

To install without dependencies, use:

For Linux

  $ xip install rv-xplor-elf-linux64 --no-deps
  
For Windows

  $ xip install rv-xplor-elf-win64 --no-deps
  

To upgrade components to latest version:

For Linux

  $ xip install --upgrade rv-xplor-elf-linux64
  
For Windows

  $ xip install --upgrade rv-xplor-elf-win64
  

Note: [Windows] There are some components that need enabling Windows Long Path to be installed. Please refer to the article: Enable Long Paths in Windows 10.

Show

To show information about an installed component:

$ xip show rv-xplor-elf-linux64
      _  __     __     ___             
     | |/_/__  / /__  / _ \            
    _>  </ _ \/ / _ \/ , _/            
   /_/|_/ .__/_/\___/_/|_|             
       /_/   Explore your SoC Design!  

[   0.003] Setup the workspace
[   0.004] The XploR's workspace folder already exists!
Name: rv-xplor-elf-linux64
Version: 1.0.0
Summary: RISC-V Embedded Toolchain
Home-page: https://xplor.design
Author: SoC.One Inc.
Author-email: info@soc.one
License: Free
Location: /home/user/.xplor/components
Requires: 
Required-by: baremetal-vexriscv-agilex-helloworld-example, xplor-studio-baremetal-debug-plugin

Uninstall

To uninstall the installed component:

$ xip uninstall rv-xplor-elf-linux64
      _  __     __     ___             
     | |/_/__  / /__  / _ \            
    _>  </ _ \/ / _ \/ , _/            
   /_/|_/ .__/_/\___/_/|_|             
       /_/   Explore your SoC Design!  

[   0.105] Setup the workspace.
[   0.105] The XploR's workspace folder already exists.
[   0.196] Uninstall rv-xplor-elf-linux64.
Found existing installation: rv-xplor-elf-linux64 1.0.0
Uninstalling rv-xplor-elf-linux64-1.0.0:
  Successfully uninstalled rv-xplor-elf-linux64-1.0.0
[   0.516] Uninstallation done!

List

To show all installed components on the local machine:

$ xip list
      _  __     __     ___             
     | |/_/__  / /__  / _ \            
    _>  </ _ \/ / _ \/ , _/            
   /_/|_/ .__/_/\___/_/|_|             
       /_/   Explore your SoC Design!  

[   0.004] Setup the workspace
[   0.004] The XploR's workspace folder already exists!
Package                 Version
-------------------     -------
rv-qemu-linux64         1.0.1
rv-linux-rootfs         1.0.1
rv-linux-rootfs-debug   1.0.0  

To show all available components for your account:

$ xip list --on-registry
      _  __     __     ___             
     | |/_/__  / /__  / _ \            
    _>  </ _ \/ / _ \/ , _/            
   /_/|_/ .__/_/\___/_/|_|             
       /_/   Explore your SoC Design!  

[   0.103] Setup the workspace.
[   0.103] The XploR's workspace folder already exists.
[   0.203] Credentials Verification.
Get credentials from the file.
[   0.205] Getting data from registry.
[   4.750] Information of all components on Registry:
+------+----------------------------------------------+-----------+------------+-----------+------------------------------------------------------------+--------------------------------------+
|   No | Name                                         | Version   | Versions   | License   | Classifier                                                 | Requires                             |
+======+==============================================+===========+============+===========+============================================================+======================================+
|    1 | xplor-studio-linux-debug-plugin              | 1.1.0b1   | 1.1.0b1,   | Free      | Software :: Host :: IDE :: XploR Studio :: Plugin          | rv-linux-rootfs,                     |
|      |                                              |           | 1.1.0,     |           |                                                            | rv-qemu-linux64,                     |
|      |                                              |           | 1.0.0b2,   |           |                                                            | rv-qemu-win64,                       |
|      |                                              |           | ...        |           |                                                            | rv64gc-xplor-linux-linux64,          |
|      |                                              |           |            |           |                                                            | rv64gc-xplor-linux-win64             |
+------+----------------------------------------------+-----------+------------+-----------+------------------------------------------------------------+--------------------------------------+
|    2 | baremetal-vexriscv-agilex-helloworld-example | 1.0.0     | 1.0.0      | Free      | Software :: Host :: IDE :: XploR Studio :: Example Project | agilex-vexriscv-bit,                 |
|      |                                              |           |            |           |                                                            | openocd-linux64,                     |
|      |                                              |           |            |           |                                                            | openocd-win64,                       |
|      |                                              |           |            |           |                                                            | rv-xplor-elf-linux64,                |
|      |                                              |           |            |           |                                                            | rv-xplor-elf-win64,                  |
|      |                                              |           |            |           |                                                            | xplor-studio-baremetal-debug-plugin, |
|      |                                              |           |            |           |                                                            | xplor-studio-hardware-target         |
+------+----------------------------------------------+-----------+------------+-----------+------------------------------------------------------------+--------------------------------------+
|    3 | rv64gc-xplor-linux-linux64                   | 1.0.1     | 1.0.1,     | Free      | Software :: Host :: Cross Toolchain                        |                                      |
|      |                                              |           | 1.0.0      |           |                                                            |                                      |
+------+----------------------------------------------+-----------+------------+-----------+------------------------------------------------------------+--------------------------------------+
|    4 | zephyr-helloworld-example                    | 1.0.0     | 1.0.0      | Free      | Software :: Host :: IDE :: XploR Studio :: Example Project | qemu-for-zephyr-linux64,             |
|      |                                              |           |            |           |                                                            | qemu-for-zephyr-win64,               |
|      |                                              |           |            |           |                                                            | xplor-studio-zephyr-debug-plugin,    |
|      |                                              |           |            |           |                                                            | zephyr-sdk-linux64,                  |
|      |                                              |           |            |           |                                                            | zephyr-sdk-win64,                    |
|      |                                              |           |            |           |                                                            | zephyr-source-code                   |

|...

By default, the data is displayed in table format. Users can customize their views by adding the --format option. The available options are tabular and JSON.

$ xip list --on-registry --format json
      _  __     __     ___             
     | |/_/__  / /__  / _ \            
    _>  </ _ \/ / _ \/ , _/            
   /_/|_/ .__/_/\___/_/|_|             
       /_/   Explore your SoC Design!  

[   0.004] Setup the workspace
[   0.004] The XploR's workspace folder already exists!
[   0.103] Credentials Verification.
Get credentials from the file.
[   3.662] Getting data from registry.
[   4.618] Information of all components on Registry:
{
    "rv-linux-rootfs": {
        "Metadata-Version": "2.1",
        "Name": "rv-linux-rootfs",
        "Version": "1.0.1",
        "Summary": "RISC-V RootFS for running and debugging Embedded Linux applications",
        "Home-page": "https://xplor.design",
        "Author": "SoC.One Inc.",
        "Author-email": "info@soc.one",
        "License": "Free",
        "Platform": [
            "Windows",
            "Linux"
        ],
        "Classifier": [
            "Software :: Target :: RootFS"
        ],
        "Description": "RISC-V RootFS can be booted by QEMU and can run/debug RISC-V Embedded Linux applications",
        "Requires": [],
        "Size": "170.95 MB",
        "Versions": [
            "1.0.0",
            "1.0.1"
        ]
    },
    "rv-qemu-linux64": {
    ...

User can select specific type of components to display with the --filter option.

component types for display using --filter include software, hardware, cores, platforms, examples or all (using the none option).

$ xip list --on-registry --filter Example
      _  __     __     ___             
     | |/_/__  / /__  / _ \            
    _>  </ _ \/ / _ \/ , _/            
   /_/|_/ .__/_/\___/_/|_|             
       /_/   Explore your SoC Design!  

[   0.004] Setup the workspace
[   0.004] The XploR's workspace folder already exists!
[   0.106] Credentials Verification.
Get credentials from the file.
[   3.649] Getting data from registry.
[   4.600] Information of examples components on Registry:
+------+----------------------------------------------+-----------+------------+-----------+------------------------------------------------------------+--------------------------------------+
|   No | Name                                         | Version   | Versions   | License   | Classifier                                                 | Requires                             |
+======+==============================================+===========+============+===========+============================================================+======================================+
|    1 | baremetal-vexriscv-agilex-helloworld-example | 1.0.0     | 1.0.0      | Free      | Software :: Host :: IDE :: XploR Studio :: Example Project | agilex-vexriscv-bit,                 |
|      |                                              |           |            |           |                                                            | openocd-linux64,                     |
|      |                                              |           |            |           |                                                            | openocd-win64,                       |
|      |                                              |           |            |           |                                                            | rv-xplor-elf-linux64,                |
|      |                                              |           |            |           |                                                            | rv-xplor-elf-win64,                  |
|      |                                              |           |            |           |                                                            | xplor-studio-baremetal-debug-plugin, |
|      |                                              |           |            |           |                                                            | xplor-studio-hardware-target         |
+------+----------------------------------------------+-----------+------------+-----------+------------------------------------------------------------+--------------------------------------+
|    2 | zephyr-helloworld-example                    | 1.0.0     | 1.0.0      | Free      | Software :: Host :: IDE :: XploR Studio :: Example Project | qemu-for-zephyr-linux64,             |
|      |                                              |           |            |           |                                                            | qemu-for-zephyr-win64,               |
|      |                                              |           |            |           |                                                            | xplor-studio-zephyr-debug-plugin,    |
|      |                                              |           |            |           |                                                            | zephyr-sdk-linux64,                  |
|      |                                              |           |            |           |                                                            | zephyr-sdk-win64,                    |
|      |                                              |           |            |           |                                                            | zephyr-source-code                   |

...