Convenient remote in-system flashing with a BDI-3000

This is part of the Debian PowerPC e500 porting effort, the series on my blog starts at: "How to bootstrap a new Debian port"

The hardware I'm using is based on FreeScale's P2020 processor, with a 128MB NOR boot flash and 2GB of ECC DDR2 SDRAM.  To make it convenient to do in-system reflashing (for example, during U-Boot development), I have written a script "bditool" which does the grunt-work of generating config files and connecting to my ABATRON BDI-3000 JTAG device.  Unfortunately the BDI-3000 itself is not exactly a cheap piece of hardware (a few thousand US dollars), and the ABATRON software licenses for additional processor families are about the same.

It's released under the GPLv2 here:

It requires an existing TFTP server that can be accessed by SSH and by your BDI-3000 at the same address.  Additionally, the TFTP server is expected to be able to telnet to the BDI (since the   To customize it for your hardware and network configuration, just edit the script directly.

The first few lines contain the default command-line values, but to adjust the SDRAM configuration for your hardware you will need to edit the list of initialization values much further down in the file.

The usage is pretty simple (assuming the defaults are set up right):
  $ bditool flash ./my-uboot.bin
  $ bditool exec "help"
  $ bditool exec "info"
  $ bditool exec "config"
  $ bditool boot

Please let me know if you have questions!

Kyle Moffett

No comments:

Post a Comment