SDK Installation

XCENA SDK package provides the software stack required to interface with XCENA devices, including drivers, libraries, tools, and example applications.

Prerequisites

Refer to System requirements

1. Install from SDK Package

SDK package URL will be provided separately.

$ wget <URL_to_sdk_xxx.tar.xz>
$ tar xvf sdk_xxx.tar.xz
$ cd sdk_xxx
$ ./install.sh

Note
The installation process includes the installation of the device driver (mxdriver).
A system reboot is required to complete the installation and activate the driver.

2. Verify Installation

After installation, verify the sdk directory structure.

├── app
│   └── template
├── dockerfiles
│   ├── README.md
│   └── ubuntu_24.04
├── docs
├── driver
├── example
│   ├── CMakeLists.txt
│   ├── data_copy
│   ├── echo
│   ├── knn
│   ├── sort
│   └── vector
├── install_dependencies.sh
├── install.sh
├── jupyter
│   ├── install_jupyter.sh
│   └── run_jupyter.sh
├── lib
│   ├── pxl
│   ├── xkvstore
│   └── xmapreduce
├── LICENSE
├── prebuilt
│   ├── bin
│   ├── mu_debugger
│   └── mu_library
├── README.md
├── release.ver
└── tools
    ├── mu_debugger
    └── mxperfsim

2.1 Check driver

$ sudo modinfo mx_dma

filename:       /lib/modules/6.10.0-rc1-g49ba7b515c4c/updates/mx_dma.ko
description:    XCENA MX-DMA Driver
author:         XCENA Inc.
license:        GPL
depends:        
retpoline:      Y
name:           mx_dma
vermagic:       6.10.0-rc1-g49ba7b515c4c SMP preempt mod_unload 
parm:           timeout_ms:int
parm:           parallel_count:int

2.2 Check PXL

$ apt show libpxl

Package: libpxl
Version: 1.1.0
Status: install ok installed
Priority: optional
Section: devel
Maintainer: XCENA-framework <framework@xcena.com>
Installed-Size: 36.8 MB
Depends: libc6 (>= 2.27), libstdc++6 (>= 8), python3
Download-Size: unknown
APT-Manual-Installed: yes
APT-Sources: /var/lib/dpkg/status
Description: PXL Core Library

2.3 Check XCENA CLI

$ xcena_cli

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

  XCENA Debugging Helper

Options:
  --help  Show this message and exit.

Commands:
  num-device
  device-info  <device_id>
  debug-pc     <device_id> [sub_id]
  debug-error  <device_id>
  dump         <device_id> <address(hex)> <size(hex) <= 0x2000> [length=2] [-l
                littleEndian]
  csr-slave    <device_id> <msub_id> <cluster_id> <mu_id>
  read-log     <device_id> <sub_id> <clst_id> <mu_id> <thread_id>