Giter Club home page Giter Club logo

mxu-tests's Introduction

This repo contains tests for Ingenic MXU version 1 release 2 - MIPS SIMD extension. It consists of 114 instructions aimed to speedup multimedia applications. These tests aimed to verify emulation implementation of the MXU ASE in the QEMU project.


Building tests

Building toolchain

In order to build these tests you have to use GCC toolchain modified to support MXU ASE as well. The patches for GCC 12.2.0 and binutils 2.38 are provided in this repo, see patches/ subfolder.

As of me, I use OpenDingux buildroot to build full toolchain as a part of build process. Full toolchain provides sysroot, which is used to run tests in QEMU. In order to build OpenDingux you have to clone it from there and copy patches to respective folders in buildroot/board/opendingux/patches/gcc and buildroot/board/opendingux/patches/binutils. IMPORTANT NOTE: remove existing patches in these folders as they inflict problems.

Then build RS90 variant by running CONFIG=rs90 ./rebuild.sh RS90 CPU - jz4725b supports MIPS32R1 + MXU1 release 2 a.k.a. XBurstR1 alias in QEMU. The toolchain can be found in buildroot/output/rs90/images/rs90-toolchain-<date>.tar.xz on successful build. Unpack it somewhere and launch ./relocate-sdk.sh script. Now the toolchain is ready to use.

Additionally you can build GCW0 toolchain variant by running CONFIG=gcw0 ./rebuild.sh GCW0 CPU - jz4770 supports MIPS32R2 + MXU1 release 2 a.k.a. XBurstR2 alias in QEMU.

Building tests

In order to build testapp application you have to provide CROSS_COMPILE option to make utility, e.g. make CROSS_COMPILE=/path/to/rs90-toolchain/bin/mipsel-linux- as a result of build testapp binary will appear.


Launching tests

Launching tests on a hardware device

Only OpenDingux device is reviewed here as it was the base for running tests. However, it might be run on any Ingenic MXU capable hardware with respect to the toolchain compatibility. To launch testapp on hardware device, copy it by any way to the device, it can be done easily by using SSH e.g. scp -O testapp [email protected]:~ when the device configured it's USB interface in the network mode and password for user is set (empty password also ok). Then you can simply run copied binary ./testapp

Launching tests in QEMU

For launching testapp in QEMU you have to use OpenDingux toolchain as it have suitable linux sysroot. The simple command is like: qemu-mipsel -cpu XBurstR1 -L /path/to/rs90-toolchain/mipsel-rs90-linux-musl/sysroot/ ./testapp

for GCW0 the command is like: qemu-mipsel -cpu XBurstR2 -L /path/to/gcw0-toolchain/mipsel-gcw0-linux-uclibc/sysroot/ ./testapp

mxu-tests's People

Contributors

siarheivolkau avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.