Coder Social home page Coder Social logo

fel-cli's Introduction

CLI tools for Allwinner devices in FEL mode

Build Status codecov Crates.io

Tools based in sunxi-tools for using Allwinner devices in FEL mode.

Usage

USAGE:
    fel-cli [OPTIONS] [SUBCOMMAND]

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -d, --device <bus:addr>    The USB bus and device address of the FEL device

SUBCOMMANDS:
    clear      Clear memory
    dump       Dumps memory region in binary through stdout
    exec       Call function at the given address
    fill       Fill memory with the given byte
    help       Prints this message or the help of the given subcommand(s)
    reset64    RMR request for AArch64 warm boot
    spl        Loads and executes U-Boot SPL. If file additionally contains a
               main U-Boot binary, it will transfer it to memory and print the
               entry point address, in hex
    version    Gets SoC version information
    write      Write data to device memory

Porting from sunxi-tools

The CLI of fel-cli is almost a drop-in replacement for the sunxi-fel command, but there are some changes that are needed.

  • You cannot use more than one sub-command at once.
  • There is no --verbose option (yet).
  • The --progress option is not (yet) supported.
  • The hexdump subcommand has to be updated to dump --hex. The output will be exactly the same.
  • ver[sion] option cannot be specified as ver. Must be complete as version.
  • No read or readl commands. Those have been added to the dump command. By default, the dump command will dump one 32-bit word in 0x00000000 format. If you add the <size> argument, you can dump that number of bytes. By default, it will output the data to stdout, but if you don't want it in hexadecimal (as said before, with the --hex flag) you can output it to a file by using the -o | --out option.
  • No sid command, it has been added to the dump command, and can be used with dump --sid.
  • The -d | --dev option has been changed in long mode to --device. So if you use -d, no change is needed, but if you use --dev, you will need to change it to --device.
  • No uboot option. If you want the U-Boot binary to be executed, you can add the -x or the --exec flag. If you want to concatenate more than one subcommand, the U-Boot entry address is printed after SPL loading (if no -x was supplied). You can then use the exec submenu to execute the U-Boot at that address.
  • exe[cute] submenu has been modified to exec.
  • No [x]gauge output options (yet?).
  • multi[write] is now integrated in the write command. Simply add more
    words or files to the list: fel-cli write address1 file1 address2 word1 ....
  • No writel command. You can use 32-bit words as well as files in the write command. Just make sure that you have no file named with an integer (both in hex or in decimal).

The rest of the options should work the same way. If not, please, fill an issue.

License

This code is distributed under the terms of both the MIT license and the Apache License (Version 2.0). See LICENSE-APACHE, and LICENSE-MIT for details.

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.