Bootloader recovery and updater tool for StarFive JH17x0 SoCs.

Related tags

CLI JH71xx-tools
Overview

JH71xx-tools

Bootloader recovery and updater tool for StarFive JH7100 SoCs.

Screenshot

Command Line Parameters

-D, --device       : Serial tty device path.
-r, --recovery       : Bootloader recovery firmware.
-b, --bootloader     : Second stage bootloader.
-d, --ddrinit        : DRAM initialization firmware.
-h, --help                     : Show this help.

Build

gcc -o jh7100-recover jh7100-recover.c

Examples

  1. Update second stage bootloader.
$ ./jh7100-recover -D /dev/ttyUSB0 \
-r vic_second_boot.bin \
-b bootloader-BEAGLEV-buildroot.bin.out
  1. Update DRAM initialization firmware.
$ ./jh7100-recover -D /dev/ttyUSB0 \
-r vic_second_boot.bin \
-d ddrinit-2133-buildroot.bin.out
  1. Update both second stage bootloader and DRAM initialization firmware.
$ ./jh7100-recover -D /dev/ttyUSB0 \
-r vic_second_boot.bin \
-b bootloader-BEAGLEV-buildroot.bin.out \
-d ddrinit-2133-buildroot.bin.out

Tutorial

  1. A very nice tutorial by Lakshantha Dissanayake from Seeed.

    Update bootloader, ddr init boot, u-boot and recover bootloader.

Issues
  • Sort out the code of jh7100-recover and add Makefile

    Sort out the code of jh7100-recover and add Makefile

    This application is GREAT, it really can help people to recover the bricked BeagleV Starlight, I took some time to sort our the code , and trying to make it works better and easier to be used. Hope this patchest can help.

    opened by tekkamanninja 8
  • jh7100-recover: Use int for getopt return value

    jh7100-recover: Use int for getopt return value

    The type char is signed on some platforms and unsigned on others and the current code does not work on unsigned-char platforms. Change type of c to int to match actual return type of getopt and avoid this issue.

    opened by dramforever 1
  • jh7100-recover:Improve the result checking mechanism and message display

    jh7100-recover:Improve the result checking mechanism and message display

    Improve the result checking mechanism: from string length to string

    message display:

    Waiting for bootloader mode on /dev/ttyUSB0...
    Bootloader mode active
    
    Uploading recovery binary...
    	Waiting for XMODEM request[C]...
    	Sending ./prebuild/JH7100_recovery_boot.bin 
    [########################################] 100%  24081/24081 Bytes
    
    ----------Enter recovery mode----------
    Updating bootloader...
    	Waiting for XMODEM request[C]...
    	Sending ./prebuild/bootloader-BEAGLEV-210607.bin.out 
    [########################################] 100%  9416/9416 Bytes
    Awaiting confirmation...
    done.
    
    Updating dduinit...
    	Waiting for XMODEM request[C]...
    	Sending ./prebuild/ddrinit-2133-210607.bin.out 
    [########################################] 100%  87500/87500 Bytes
    Awaiting confirmation...
    done.
    
    
    Firmware update completed!
    

    Signed-off-by: TekkamanV [email protected]

    opened by tekkamanninja 0
  • Fix initialize()

    Fix initialize()

    This fixes the detection of the splash message on the VisionFive board.

    • avoid buffer overrun if BUFF_SIZE bytes received
    • skip bytes before search string
    • don't expect CR LF
    • flush buffers when opening serial console

    Signed-off-by: Heinrich Schuchardt [email protected]

    opened by xypron 2
Owner
Kali Prasad
Kali Prasad
Tool that generates unit test by C/C++ source code, trying to reach all branches and maximize code coverage

What is UTBotCpp? UTBotCpp generates test cases by code, trying to cover maximum statements and execution paths. We treat source code as source of tru

null 26 Jun 24, 2022
CfgManipulator is a fast and powerful tool for working with configuration files for the C++ language

CfgManipulator is a fast and powerful tool for working with configuration files for the C++ language. It can read, create strings and sections, change the value of a string and much more.

Sanya 2 Jan 28, 2022
FastReport.Cloud console tool for Linux and perhaps some other OSes

FastReport Cloud console shell This is a simple console shell to FastReport Cloud service. Prerequests GNU packages for build shell: curl-development

Aleksey Mandrykin 2 Feb 10, 2022
Real time crypto monitoring tool

Real-time Crypto Currency Monitor This monitor is a command line dashboard, it uses ncurses, in combination with the Binance API where it fetches all

Edgar Hernandez 33 Jun 18, 2022
pbr2gltf2 is a command line tool for converting PBR images to a glTF 2.0 material.

pbr2gltf2 is a command line tool for converting PBR images to a glTF 2.0 material. The tool is detecting depending on the filename, which PBR information is stored. It swizzles the images and does reassign the channels to a glTF 2.0 image. The tool stores the images plus a minimal, valid glTF 2.0 file containing the required material, textures and images.

UX3D GmbH 22 Jan 11, 2022
A command-line tool to display colorful distro information.

sjfetch A command-line tool to display colorful distro information.

Fikret Musk 6 Apr 6, 2022
Fegeya Freud, CLI FPaper renderer, based on Totem (`less`-like tool without `--help`)

Fegeya Freud, CLI FPaper renderer, based on Totem (`less`-like tool without `--help`)

Ferhat Geçdoğan 3 Jun 11, 2021
Simple command line tool that processes image files using the FidelityFX Super Resolution (FSR) or Contrast Adaptive Sharpening (CAS) shader systems.

Simple command line tool that processes image files using the FidelityFX Super Resolution (FSR) or Contrast Adaptive Sharpening (CAS) shader systems.

GPUOpen Effects 174 Jun 26, 2022
A command line tool with no external dependencies to print information about an X server instance.

xinfo A command line tool with no external dependencies to print information about an X server instance. Building and running To build the code in thi

Jean-Michel Gorius 6 Jan 13, 2022
A C++ console tool to tracker baby actions.

BabyTracker This is a C++ console tool to tracker baby actions. Currently it supports adding Sleep Sessions Breast Feed Sessions Bottle Feed Sessions

YuchenPersonal 1 Oct 17, 2021
A command-line tool to extract dylib files from the dyld shared cache file.

DyldExtractor A command-line tool to extract dylib files from the dyld shared cache file. Starting with macOS 11, standalone binaries of system librar

Cyandev 8 Mar 12, 2022
Microsoft Visual TrueType(VTT) command line compile tool.

Project Microsoft Visual TrueType(VTT) is a professional-level tool for graphically instructing TrueType and OpenType fonts. For details on the tool v

Microsoft 34 May 19, 2022
A command-line tool to generate Linux manual pages from C source code.

mangen A command-line tool to generate Linux manual pages from C source code. Description mangen is, as said above, a program to generate Linux manual

null 2 Nov 15, 2021
brn is a command line tool similar to vimv.

brn is a command line tool similar to vimv. It can be used to easily mass-rename files in your preferred text editor (i.e. vim).

Nimai Patel 12 Feb 26, 2022
This command-line tool converts an FM broadcast signal into stereo sound with de-emphasis applied.

stereodemux This command-line tool converts an FM broadcast signal into stereo sound with de-emphasis applied. It expects 16-bit signed-integer MPX (F

Oona Räisänen 9 Jun 11, 2022
nicegraf-shaderc is a command-line tool that transforms HLSL code into shaders for various graphics APIs.

User Manual Table of Contents Introduction Project Status Obtaining the Source Code and Building Running Defining Techniques Generated Header File Pip

nicebyte 88 Jun 20, 2022
A small self-contained alternative to readline and libedit that supports UTF-8 and Windows and is BSD licensed.

Linenoise Next Generation A small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters. Unlik

ArangoDB 334 Jun 5, 2022
A readline and libedit replacement that supports UTF-8, syntax highlighting, hints and Windows and is BSD licensed.

Read Evaluate Print Loop ++ A small, portable GNU readline replacement for Linux, Windows and MacOS which is capable of handling UTF-8 characters. Unl

Marcin Konarski 572 Jun 27, 2022
A simple header-only C++ argument parser library. Supposed to be flexible and powerful, and attempts to be compatible with the functionality of the Python standard argparse library (though not necessarily the API).

args Note that this library is essentially in maintenance mode. I haven't had the time to work on it or give it the love that it deserves. I'm not add

Taylor C. Richberger 981 Jun 23, 2022