New IT forum
27 June 2022, 05:57:55 pm *
Welcome, %1$s. Please login or register.

: GertDuino now in stock.
Pages: [1]

Author Topic: Requirements to reflash uBoot with JTAG on OpenRD ?  (Read 11576 times)


  • Newbie
  • *
  • Posts: 5
Requirements to reflash uBoot with JTAG on OpenRD ?
« on: 21 December 2010, 02:56:34 pm »


I have just bought an OpenRD-ultimate, and I would like to be in a situation where I can re-flash uBoot using JTAG on the OpenRD-Ultimate if I break it (if the uBoot upgrade fails, ...).

I have a USB-A to USB-mini cable connected to the debug port. I also use this connection for the serial console, and I have a Linux desktop running Fedora 14 where I have installed OpenOCD.

Many websites mention JTAG boards such as the BDI-3000. Do we need such an equipment to reflash uBoot or is the USB cable and OpenOCD all we need ?

Sorry if this has already been replied, but I have not been able to find a clear answer to this, and I really want to be sure that I cannot break the OpenRD by upgrading uBoot.

Many Thanks


  • Moderator
  • Newbie
  • *****
  • Posts: 32
Re: Requirements to reflash uBoot with JTAG on OpenRD ?
« Reply #1 on: 22 December 2010, 09:52:32 am »


There is NO need to use Jtag to burn a need uboot into the Open-Rd

I find the best way is with TFTP, the method is described in the user guide in the download section of the forum, but here is a cut and paste job I have taken from another member's  (Neal Walfield's) post:-

I found this thread, but there were no hard references or
instructions.  Here's what I did.  Perhaps it will help someone else.

I downloaded the u-boot image at:

(This has an md5sum of 5ac9640944a5318c82080b22c45d3a5e .)

- I copied u-boot.bin to a tftp server on my local network.
- I started my openrd-client and interrupted booting to get a u-boot
  prompt.  I then ran:

    setenv ipaddr 192.168.a.b
    setenv netmask
    setenv serverip 192.168.a.c
    bubt u-boot.bin

(You could also use dhcp; use printenv to see the current

Here's the output of bubt:

  Using egiga0 device
  TFTP from server; our IP address is
  Filename 'u-boot.bin'.
  Load address: 0x2000000
  Bytes transferred = 474240 (73c80 hex)

  If U-Boot Endiannes is going to change (LE->BE or BE->LE), Then Env
  parameters should be overriden..
  Override Env parameters? (y/n) y
  Erase Env parameters sector 655360...
  Erase 0 - 655360 ...
  Copy to Nand Flash...

When booting next time, you'll likely encounter:

  *** Warning - bad CRC or NAND, using default environment

I suspect flashing u-boot results in corrupt environment.  I set the
usualy parameters for booting and everything has worked fine since.

Summary: I now have no problem booting from sd.  I've also tested the
ethernet port (GB0) and u-boot can use that (specifically, I used the
dhcp command).


I have done this several times and never had any problems.

Since  my server and openrd are on different connections to my router I also have to add this entry:_

setenv gatewayip 198.162.x.y.

Where obviously you would use the addresses of your own network




  • Newbie
  • *
  • Posts: 5
Re: Requirements to reflash uBoot with JTAG on OpenRD ?
« Reply #2 on: 22 December 2010, 10:35:55 am »

Thanks for your reply.

I know we can upgrade uBoot from uBoot itself. The problem is that there is no other firmware on the system, so I am wondering what happens if we break uBoot by trying to upgrade it.

It seems we can use JTAG to reinstall it, but I am not sure which equipment we need.

So I just want to be sure that I can reflash it in the worst case scenario before I actually attempt an upgrade using TFTP.

Many thanks


  • Moderator
  • Newbie
  • *****
  • Posts: 32
Re: Requirements to reflash uBoot with JTAG on OpenRD ?
« Reply #3 on: 22 December 2010, 11:33:08 am »


If you are still really worried about bricking the Open Rd, you can always use the inbuilt jTAG system. You do NOT need a separate jtag module!

 The use of this can be found in the OpenRD Client User Guide

in documentation

1.3.3 Board Debug interface and Manual Reset
The OpenRD-Client features two interface options for debugging. One is a standard 20-
pin box header (CON25) located at the bottom side of PCB. Second is a mini USB
connection featured by FDT2322D device.
The 20-pin header enables direct connection of an ICE to the JTAG inputs to the
88F6281 SoC. This is commonly interfaced through a Lauterbach probe. The second
option is via a mini USB connection, it is a cost effective interface for the 88F6281 JTAG
via mini USB cable. It utilizes an Open On-chip Debug codes (Open OCD), in which it’s
been widely used by the open source codes Linux community to develop debug
capability and flash capability. You can find more details by performing a web search
under the “OpenOCD” or “FDT2322D” key subject.


4. Writing OpenRD Software to NAND flash
Following images are used in the procedures described below:
1. u-boot.bin.openrd – u-boot for OpenRD (obtain from <dvd-home>/openrd-devkitv1.0/
2. uImage.openrd – Compressed Linux kernel for OpenRD (obtain from <dvdhome>/
3. fc8.release.x11.openrd.nand.jffs2 – Fedora Core 8 file system for OpenRD (obtain from
4. fc8.release.x11.openrd.nand.ubi.img – Fedora Core 8 file system for OpenRD (obtain
from <dvd-home>/openrd-devkit-v1.0/openrd_filesystem)
5.Make sure to setup NFS root file system as per Appendix E.
6.Make sure to setup TFTP server as per Appendix B.
4.1 Writing U-boot
Obtain OpenOCD for OpenRD from DVD. Path for openocd.binaries.libftdi.tar.gz package is
OpenRD board (client/base) connected to PC/Host with FTDI programmed for Channel A as CPU
/home/openrd # tar zxvf openocd.binaries.libftdi.tar.gz
/home/openrd # cd openocd.binaries.libftdi/bin
/home/openrd/openocd.binaries.libftdi/bin # cp /home/openrd/u-boot-1.1.4/u-boot uboot.elf
/home/openrd/openocd.binaries.libftdi/bin # cp /home/openrd/u-boot-1.1.4/u-boot-
OpenRD88f6281a_400rd_nand.bin uboot.bin
Give power cycle on OpenRD board before executing following command:
/home/openrd/openocd.binaries.libftdi/bin # ./openocd –f target/board/openrd.cfg –c init -c
1. Above command must be executed using root privilege. Execution of this command may
take between 46-200 seconds.
2. After receiving following message using openocd, press Ctrl+C to quit; reset OpenRD
manually using SW2 switch or power cycle. Remove USB mini B connector from
OpenRD-Client board and again connect it.
NAND flash device 'NAND 512MiB 3,3V 8-bit' found

But the tftp bubt way always works for me!




  • Newbie
  • *
  • Posts: 5
Re: Requirements to reflash uBoot with JTAG on OpenRD ?
« Reply #4 on: 22 December 2010, 12:40:33 pm »

Very good. Thanks for your reply.
That's why I wanted to know.
Pages: [1]

Powered by MySQL Powered by PHP SMF 2.0.10 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!