Recovery U-Boot Image (Naon)

From DAVE Developer's Wiki
Revision as of 13:01, 9 May 2012 by DevWikiAdmin (talk | contribs) (Lauterbach ICD Naon booting)

Jump to: navigation, search
Info Box
Naon am387x-dm814x.png Applies to Naon


WorkInProgress.gif

Introduction[edit | edit source]

For different reason, starting from image corruption due power loss during upgrade or unrecoverable bug while developing a new U-Boot feature, the user will need, sooner or later, to recover his/her Naon SOM without using U-Boot itself.

In this article we'll see a few useful option for w:Bare-metal restore of a Naon module.

As prerequisite, we suggest an in-depth read of Naon boot sequence and options, Naon memory organization and Naon Flashing images because all this topic are required to understand the followings.

JTAG Recovery[edit | edit source]

JTAG recovery is very useful, especially in development or production environment. However it requires a dedicated hardware (which most of the time, is very expensive).

Due hardware dependency we can't cover all JTAG tool example, but we'll see two of them to give the user a brief introduction on the argument. If you need more support you can alway contact our Techinical Support Team

Lauterbach ICD Naon booting[edit | edit source]

This script for Lauterbach ICD for ARM Cortex-A8 allow the user to:

  • configure T32 correctly
  • establish a connection with the target (which should already be powered on)
  • load u-boot.bin into internal SRAM
  • run it

At this point the user should be able to run commands from U-Boot serial console.

As a more advance example, This script, after loading the 1st stage and have it run until RAM initialization, also load 2nd stage (at 0x81000000). This is faster that loading the 2nd stage via serial protocol. After executing the script, the user should just type go 81000000 from U-Boot 1st stage prompt, to run the 2nd stage:

U-Boot 2010.06-dirty (Apr 20 2012 - 17:15:51) [nelk-0.0.3]

U-Boot code: 40300000 -> 4030D0E4  BSS: -> 4030E2EC
TI8148-GP rev 2.1

ARM clk: 600MHz
DDR clk: 400MHz

RAM Configuration:
Bank #0: 80000000 512 MiB
Using default environment

### main_loop entered: bootdelay=0

### main_loop: bootcmd=""
Hit any key to stop autoboot:  0
NAON-MIN#go 81000000
## Starting application at 0x81000000 ...


U-Boot 2010.06-dirty (Apr 30 2012 - 19:23:20) [nelk-0.9.0]

TI8148-GP rev 2.1

ARM clk: 600MHz
DDR clk: 333MHz

I2C:   ready
DRAM:  512 MiB
NAND:  HW ECC Hamming Code selected
1024 MiB
MMC:   OMAP SD/MMC: 0
Net:   Detected MACID:d4:94:a1:8e:46:a4
cpsw
Hit any key to stop autoboot:  0
NAON#

If needed, the customer can contact us for more scripts or suggestion, for example to debug U-Boot or Linux kernel.

Code Composer Studio (CCS) and Spectrum Digital XDS560V2 STM USB[edit | edit source]

This combination of tool is described into this article of Texas Instruments Wiki.

More article on CCS are available into its [dedicated section] of TI Wiki.

UART Recovery[edit | edit source]

MMC Recovery[edit | edit source]