Giter Site home page Giter Site logo

jevinskie / tegrarcm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nvidia/tegrarcm

1.0 3.0 0.0 6.21 MB

Tegra ReCovery Mode tool; communicates with Tegra's boot ROM to download code over USB

License: Other

Makefile 0.02% Shell 0.01% M4 0.05% C++ 0.27% C 99.66%

tegrarcm's Introduction

Introduction
============

This program is used to send code to a Tegra device in recovery mode.
It does not supported locked devices with an encrypted boot key, only
open devices such as the ventana, cardhu, or dalmore reference boards.
It is not capable of flashing firmware to a device, but can be used to
download firmware that is then capable of flashing.  For example in
ChromeOS tegrarcm is used to download a special build of u-boot to the
target Tegra device with a payload that it then flashes to the boot
device.

Platforms supported:
-Tegra20
-Tegra30
-Tegra114

Usage
=====

- Connect a USB cable from your development system to your Tegra
device.  You will either need a USB A to A cable or A to micro B
depending on the target board.
- Find the appropriate BCT file for your board.  For reference boards,
BCT files can be found in the L4T distribution from NVIDIA.
- Build some firmware for your device (such as u-boot)
- Run tegrarcm to download the firmware

Example to download u-boot firmware to a Tegra20 seaboard:

$ sudo tegrarcm --bct seaboard.bct --bootloader u-boot.bin --loadaddr 0x108000
bct file: seaboard.bct
booloader file: u-boot.bin
load addr 0x108000
entry addr 0x108000
device id: 0x7820
uid:  0x33c20c0413fb217
RCM version: 2.1
downloading miniloader to target...
miniloader downloaded successfully
Chip UID:                0x33c20c0413fb217
Chip ID:                 0x20
Chip ID Major Version:   0x1
Chip ID Minor Version:   0x4
Chip SKU:                0x18 (t25)
Boot ROM Version:        0x1
Boot Device:             0x3 (SPI)
Operating Mode:          0x3 (developer mode)
Device Config Strap:     0x0
Device Config Fuse:      0x0
SDRAM Config Strap:      0x0
sending file: seaboard.bct
- 4080/4080 bytes sent
seaboard.bct sent successfully
sending file: u-boot.bin
- 268314/268314 bytes sent
u-boot.bin sent successfully

Submitting Changes
==================

To submit patches to this project, please use the following commands:

* git format-patch --subject-prefix="tegrarcm PATCH"

  Creates a patch file from your git commit.

* git send-email --to [email protected] *.patch

  Sends the patch by email to the Tegra mailing list.

Even though the primary upstream repository for this project is hosted on
github, contributions aren't accepted via github pull requests. Github pull
requests would bypass public code review on the project mailing list.

Patches should be signed off (include a signed-off-by line) to indicate your
acceptance of the code's license (see COPYING and the license header in each
file). See http://developercertificate.org/ for details of what signed-off-by
implies.

Changelog
=========

See git logs for complete list.

V1.8 - Support for production devices with PKC
     - Support for --gen-signed-msgs, --signed-msgs, and --download-signed-msgs
       options.
     - Support for --usb-timeout option.
     - Various man page and code cleanups.
     - Compilation fix when cryptopp isn't installed system-wide.
V1.7 - Documented patch submission process in this file
     - Added better USB debugging message
     - Require a specific minimum version of libusb
     - Added --usb-port-path cmdline option
V1.6 - Added support for ODM secure mode
V1.5 - Added support for RCM protocol version 40
     - Added Tegra124 support
     - Added support for readbct command
     - Added support for passing in miniloader from a file
V1.4 - Added --version command
     - Updated T114 miniloader to fix SPI boot problem
     - Added --help command to man page
V1.3 - Added some better error checking on return values
     - Fixed configure problem related to libcrypto++ and libpthread
       interaction
V1.2 - Added support for T114
     - Added man page
     - Removed autogenerated files from source code control
V1.1 - Added this README file and automake fixes from Mike Frysinger
 <[email protected]>
V1.0 - Initial release

tegrarcm's People

Contributors

allen-martin avatar nvswarren avatar jevinskie avatar vapier avatar jimmzhang avatar tbm avatar gnurou avatar edwardbetts avatar tpetazzoni avatar tklauser avatar

Stargazers

 avatar

Watchers

 avatar James Cloos avatar  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.