No Description



NiteHawk: 1c3a6ca549 Merge pull request #75 from n1tehawk/contrib 2 years ago
bin a4557874f0 Merge pull request #44 from ssvb/20160512-uart0-helloworld 3 years ago
include 043761b45b Fix building on FreeBSD 2 years ago
.gitignore 5792814010 Add support for auto-updated version information 2 years ago
.travis.yml bb4c2a6b1b travisci: Extend the build testing for Mac OS X 2 years ago
LICENSE.md 34eeea436a Convert license file to Markdown syntax 2 years ago
Makefile 95d40f8fcf Makefile: Ensure that user-supplied CFLAGS get respected 2 years ago
README.md 9d4658f9cd README: fixup: wrong description, "make install-misc" available now 2 years ago
adb-devprobe.sh 227c7e031f Add copyright headers to various files. 5 years ago
autoversion.sh 90070ac822 Prepare v1.4.1 tag 2 years ago
boot_head.S ddead1555e boot_head, a little boot header to work around broken bootloaders 6 years ago
boot_head.lds 776cf5543b Fix compatibility with Linaro toolchains for building ARM binaries 3 years ago
bootinfo.c 4564e7822b Fix some issues that showed up as compiler warnings with mingw64 2 years ago
common.h 5792814010 Add support for auto-updated version information 2 years ago
fel-copy.c 66acd46fcc fel: Correct fel write operation on files > 8K 7 years ago
fel-gpio f1cb74d828 Makefile: Prefix most tools with sunxi- 3 years ago
fel-pio.c be2a89d975 fel-pio.bin: Add a jump table in the beginning to ease usage 7 years ago
fel-pio.lds 776cf5543b Fix compatibility with Linaro toolchains for building ARM binaries 3 years ago
fel-sdboot.S 17164d8d9a fel-sdboot: Fix header corruption workaround, implement in assembly 3 years ago
fel-sdboot.lds 776cf5543b Fix compatibility with Linaro toolchains for building ARM binaries 3 years ago
fel-to-spl-thunk.S 82b9c65686 fel: Make the SPL load address configurable instead of hardcoded 0x0 4 years ago
fel-to-spl-thunk.h 82b9c65686 fel: Make the SPL load address configurable instead of hardcoded 0x0 4 years ago
fel.c f3960f4a77 fel: Change order of includes 2 years ago
fexc.c b496582b3d Have a workaround for missing mmap() in fexc.c and pio.c 2 years ago
fexc.h 987a169b75 fexc: add `uboot` output 6 years ago
jtag-loop.S 114aabc643 jtag-loop: correct build instructions 7 years ago
jtag-loop.c 114aabc643 jtag-loop: correct build instructions 7 years ago
jtag-loop.lds 776cf5543b Fix compatibility with Linaro toolchains for building ARM binaries 3 years ago
meminfo.c beed002864 meminfo: Add missing version output, fix initializer syntax 2 years ago
nand-common.h c84cc29acb nand-part: added/updated open source copyright headers 6 years ago
nand-image-builder.c 4564e7822b Fix some issues that showed up as compiler warnings with mingw64 2 years ago
nand-part-a10.h 5d0ee5037b nand-part: create one nand-part program to handle both A10 and A20 6 years ago
nand-part-a20.h 5d0ee5037b nand-part: create one nand-part program to handle both A10 and A20 6 years ago
nand-part-main.c 569f189693 Have programs display version information in their usage help 2 years ago
nand-part.c ed94fc2fd4 nand-part: Avoid Linux-only ioctl() on other platforms 3 years ago
phoenix_info.c 569f189693 Have programs display version information in their usage help 2 years ago
pio.c b496582b3d Have a workaround for missing mmap() in fexc.c and pio.c 2 years ago
progress.c 6712eb84a0 fel: support FEL progress gauge via dialog utility 3 years ago
progress.h 6712eb84a0 fel: support FEL progress gauge via dialog utility 3 years ago
script.c a9b9991630 fexc: script: add script_find_entry() helper 6 years ago
script.h 6271d370af fexc: Fix thinko in script decompiler 3 years ago
script_bin.c 80aae9268a fexc: Warn when decompiling a malformed section entry (key string) 3 years ago
script_bin.h ef545814de fexc: Improve script_decompile_bin() safeguards 3 years ago
script_extractor.c 55eec70cea script_extractor: Remove unnecessary size argument 3 years ago
script_fex.c 7a0a7012c6 fexc: Ignore lines starting with ':' when compiling .fex 3 years ago
script_fex.h 79ea14d4e0 Relicensed as GPLv2+ 7 years ago
script_uboot.c ea2a4169cc fexc: uboot: update code output 5 years ago
script_uboot.h 987a169b75 fexc: add `uboot` output 6 years ago
uart0-helloworld-sdboot.c 958143e77b Add new uart0-helloworld-sdboot.sunxi bootable test image 3 years ago
uart0-helloworld-sdboot.lds 958143e77b Add new uart0-helloworld-sdboot.sunxi bootable test image 3 years ago

README.md

sunxi-tools

License Build Status Releases

Copyright (C) 2012 Alejandro Mery amery@geeks.cl
For a full list of contributors, see this link or use the command git shortlog -se --no-merges.

Tools to help hacking Allwinner A10 (aka sun4i) based devices and its successors (sunxi), that's why the 'x' in the package name.

sunxi-fexc

.fex file (de)compiler

Usage: ./sunxi-fexc [-vq] [-I <infmt>] [-O <outfmt>] [<input> [<output>]]

infmt:  fex, bin  (default:fex)
outfmt: fex, bin  (default:bin)

bin2fex

compatibility shortcut to call sunxi-fexc to decompile a script.bin blob back into .fex format used by Allwinner's SDK to configure the boards.

fex2bin

compatiblity shortcut to call sunxi-fexc to compile a .fex file into the binary form used by the legacy 3.4 kernel ("linux‑sunxi").

sunxi-fel

script interface for talking to the FEL USB handler built in to the CPU. You activate FEL mode by pushing the uboot / recovery button at poweron. See http://linux-sunxi.org/FEL/USBBoot for a detailed usage guide.

fel-gpio

Simple wrapper (script) around fel-pio and sunxi-fel to allow GPIO manipulations via FEL

fel-sdboot

ARM native sdcard bootloader forcing the device into FEL mode

uart0-helloworld-sdboot

ARM native sdcard bootloader, which is only printing a short "hello" message to the UART0 serial console. Because it relies on runtime SoC type detection, this single image is bootable on a wide range of Allwinner devices and can be used for testing. Additionally, it may serve as a template/example for developing simple bare metal code (LED blinking and other similar GPIO related things).

fel-pio

ARM native helper (binary) for fel-gpio

sunxi-pio

Manipulate PIO register dumps

sunxi-nand-part

Tool for manipulating Allwinner NAND partition tables

sunxi-nand-image-builder

Tool used to create raw NAND images (including boot0 images)

jtag-loop.sunxi

ARM native boot helper to force the SD port into JTAG and then stop, to ease debugging of bootloaders.

sunxi-bootinfo

Dump information from Allwinner boot files (boot0 / boot1)

--type=sd   include SD boot info
--type=nand include NAND boot info (not implemented)

phoenix_info

gives information about a phoenix image created by the phoenixcard utility and optionally extracts the embedded boot code & firmware file from their hidden partitions.

sunxi-meminfo

Tool for reading DRAM settings from registers. Compiled as a static binary for use on android and other OSes. To build this, get a toolchain and run:

make CROSS_COMPILE=arm-linux-gnueabihf- sunxi-meminfo

sunxi-script_extractor

A simple tool, which can be executed on a rooted Android device to dump the script.bin blob from RAM via reading /dev/mem. To build this, get a toolchain and run:

make CROSS_COMPILE=arm-linux-gnueabihf- sunxi-script_extractor

Building

Compilation requires the development version of libusb-1.0 (include header and library) to be installed for sunxi-fel. Unless you explicitly pass LIBUSB_CFLAGS and LIBUSB_LIBS to the make utility, pkg-config is also needed.

Available build targets:

  • make tools builds tools that are useful on the host. This is what most people will want, and our default target (when simply using make).

  • make target-tools builds tools that are intended for the target (Allwinner SoC), using a cross-compiler. The toolchain prefix CROSS_COMPILE defaults to arm-none-eabi-, adjust it if needed.
    Hint: When compiling 'natively' on the target platform you may simply use an empty toolchain prefix here (make target-tools CROSS_COMPILE= or make all CROSS_COMPILE=).

  • make all builds both tools and target-tools.

  • make install-tools builds tools and then copies/installs them to a filesystem location. The destination is affected by settings for DESTDIR, PREFIX and possibly BINDIR. For details, please refer to the Makefile. You may use make install as a shortcut for this.

  • make install-target-tools builds target-tools and then copies/installs them to a filesystem location selected by DESTDIR, PREFIX and possibly BINDIR - see make install-tools above.

  • make install-all builds and installs both tools and target-tools.

  • make misc builds miscellaneous (host) utilities that are not part of our 'standard' suite. Currently this means phoenix_info and sunxi-nand-image-builder.

  • make install-misc builds misc and installs the resulting binaries.

License

This software is licensed under the terms of GPLv2+ as defined by the Free Software Foundation, details can be read in the LICENSE.md file.