All Projects → xboot → xrock

xboot / xrock

Licence: MIT license
The low level tools for rockchip SOC with maskrom and loader mode support.

Programming Languages

c
50402 projects - #5 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to xrock

hftrx
Embedded firmware for ham radio transceivers
Stars: ✭ 27 (-43.75%)
Mutual labels:  baremetal
Baremetal Os Legacy
BareMetal is a 64-bit OS for x86-64 based computers. The OS is written entirely in Assembly while applications can be written in Assembly, C/C++, and Rust.
Stars: ✭ 1,704 (+3450%)
Mutual labels:  baremetal
build-beikeyun
scripts for build beikeyun firmware
Stars: ✭ 81 (+68.75%)
Mutual labels:  rockchip
novusk
A kernel written in Rust
Stars: ✭ 61 (+27.08%)
Mutual labels:  baremetal
X86 Bare Metal Examples
Dozens of minimal operating systems to learn x86 system programming. Tested on Ubuntu 17.10 host in QEMU 2.10 and real hardware. Userland cheat at: https://github.com/cirosantilli/linux-kernel-module-cheat#userland-assembly ARM baremetal setup at: https://github.com/cirosantilli/linux-kernel-module-cheat#baremetal-setup 学习x86系统编程的数十个最小操作系统。 已在QE…
Stars: ✭ 3,985 (+8202.08%)
Mutual labels:  baremetal
khadas-openwrt
openwrt for Khadas boards
Stars: ✭ 25 (-47.92%)
Mutual labels:  rockchip
h3dmx512-zip
Images for Allwinner H2+/H3 DMX512 / RDM / Art-Net / sACN / USBPro / Pixel / WS28xx / TCNet / SMPTE
Stars: ✭ 57 (+18.75%)
Mutual labels:  baremetal
bare bones
Ada Bare Bones OS development tutorial source code
Stars: ✭ 74 (+54.17%)
Mutual labels:  baremetal
Toaruos
A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highlighting text editor, network stack, etc.
Stars: ✭ 4,687 (+9664.58%)
Mutual labels:  baremetal
AnberPorts
AnberPorts for Anbernic RG351P/M and RG351V running ArkOS, 351elec and The RA.
Stars: ✭ 86 (+79.17%)
Mutual labels:  rockchip
packngo
A Golang client for the Equinix Metal API. (Packet is now Equinix Metal)
Stars: ✭ 73 (+52.08%)
Mutual labels:  baremetal
mdk
A bare metal SDK for the ESP32 & ESP32C3
Stars: ✭ 38 (-20.83%)
Mutual labels:  baremetal
meta-rockchip
Yocto BSP layer for the Rockchip SOC boards
Stars: ✭ 29 (-39.58%)
Mutual labels:  rockchip
ws-ldn-12
ARM / STM32F7 DIY synth workshop
Stars: ✭ 62 (+29.17%)
Mutual labels:  baremetal
saturn
A microkernel based operating system developed from scratch. This repository also includes all Saturn services and applications.
Stars: ✭ 21 (-56.25%)
Mutual labels:  baremetal
terraform-metal-anthos-on-baremetal
Terraform module for quick deployment of baremetal Anthos on Equinix Metal
Stars: ✭ 22 (-54.17%)
Mutual labels:  baremetal
Netboot.xyz
Your favorite operating systems in one place. A network-based bootable operating system installer based on iPXE.
Stars: ✭ 2,753 (+5635.42%)
Mutual labels:  baremetal
amlogic-s9xxx-openwrt
OpenWrt for Amlogic and Rockchip. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, rk3588, rk3568, rk3288, etc. including install to EMMC and update related functions.
Stars: ✭ 724 (+1408.33%)
Mutual labels:  rockchip
SecuringBareMetal
Best Practices for Securing Services on Bare Metal
Stars: ✭ 16 (-66.67%)
Mutual labels:  baremetal
linux
Linux kernel for Khadas VIMs & Edge
Stars: ✭ 102 (+112.5%)
Mutual labels:  rockchip

XROCK

The low level tools for rockchip SOC with maskrom and loader mode support.

How to build

Linux platform

Arch Linux is installed through the AUR repository:

# Release version
yay -S xrock

# Development version
yay -S xrock-git

The xrock tools depends on the libusb-1.0 library, you need to install libusb-1.0-0-dev before compile, for example in ubuntu:

sudo apt install libusb-1.0-0-dev

Then just type make at the root directory, you will see a binary program.

cd xrock
make
sudo make install

Window platform

Install some build tools

sudo apt install mingw-w64
sudo apt install autoconf
sudo apt install libtool-bin

Download and install libusb

git clone https://github.com/libusb/libusb.git
cd libusb
./autogen.sh
./configure --host=i686-w64-mingw32 --prefix=/usr/i686-w64-mingw32/
make
sudo make install

Build xrock source code

cd xrock
CROSS=i686-w64-mingw32- make

For 64-bits windows, you can using x86_64-w64-mingw32- instead of i686-w64-mingw32 above.

Usage

usage:
    xrock maskrom <ddr> <usbplug> [--rc4-off] - Initial chip using ddr and usbplug in maskrom mode
    xrock version                             - Show chip version
    xrock capability                          - Show capability information
    xrock reset [maskrom]                     - Reset chip to normal or maskrom mode
    xrock hexdump <address> <length>          - Dumps memory region in hex
    xrock dump <address> <length>             - Binary memory dump to stdout
    xrock read <address> <length> <file>      - Read memory to file
    xrock write <address> <file>              - Write file to memory
    xrock exec <address>                      - Call function address
    xrock flash                               - Detect flash and show information
    xrock flash erase <sector> <count>        - Erase flash sector
    xrock flash read <sector> <count> <file>  - Read flash sector to file
    xrock flash write <sector> <file>         - Write file to flash sector

Tips

  • The maskrom command can only used in maskrom mode, Before executing other commands, you must first execute the maskrom command

  • The memory base address from 0, NOT sdram's physical address.

RV1106

sudo xrock maskrom rv1106_ddr_924MHz_v1.09.bin rv1106_usbplug_v1.06.bin --rc4-off
sudo xrock version

RK1808

sudo xrock maskrom rk1808_ddr_933MHz_v1.05.bin rk1808_usbplug_v1.05.bin
sudo xrock version

RK3128

sudo xrock maskrom rk3128_ddr_300MHz_v2.12.bin rk3128_usbplug_v2.63.bin
sudo xrock version

RK3288

sudo xrock maskrom rk3288_ddr_400MHz_v1.11.bin rk3288_usbplug_v2.63.bin
sudo xrock version

RK3399

sudo xrock maskrom rk3399_ddr_800MHz_v1.25.bin rk3399_usbplug_v1.26.bin
sudo xrock version

RK3399PRO

sudo xrock maskrom rk3399pro_ddr_666MHz_v1.25.bin rk3399pro_usbplug_v1.26.bin
sudo xrock version

PX30

sudo xrock maskrom px30_ddr_333MHz_v1.16.bin px30_usbplug_v1.31.bin
sudo xrock version

RK3308

sudo xrock maskrom rk3308_ddr_589MHz_uart2_m1_v1.31.bin rk3308_usbplug_v1.27.bin
sudo xrock version

RK3566

sudo xrock maskrom rk3566_ddr_1056MHz_v1.11.bin rk356x_usbplug_v1.13.bin --rc4-off
sudo xrock version

RK3568

sudo xrock maskrom rk3568_ddr_1560MHz_v1.11.bin rk356x_usbplug_v1.13.bin --rc4-off
sudo xrock version

RK3588

sudo xrock maskrom rk3588_ddr_lp4_2112MHz_lp5_2736MHz_v1.05.bin rk3588_usbplug_v1.07.bin --rc4-off
sudo xrock version

Links

License

This library is free software; you can redistribute it and or modify it under the terms of the MIT license. See MIT License for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].