aboutsummaryrefslogtreecommitdiffstats
path: root/firmware/fx2/src/common/build_eeprom.py
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2010-11-05 21:22:54 -0700
committerJosh Blum <josh@joshknows.com>2010-11-05 21:22:54 -0700
commit374f6ff05e66d10830a7567d2d793de2bf77c06b (patch)
treeca170bd9473de690ffff45b2041cf10f83fb0228 /firmware/fx2/src/common/build_eeprom.py
parent92b5034cb5a6e17fe7ebc437f7ef26147d69eba3 (diff)
parentc2cc364f9fde9633e2d7c04fa5b07275e17ba093 (diff)
downloaduhd-374f6ff05e66d10830a7567d2d793de2bf77c06b.tar.gz
uhd-374f6ff05e66d10830a7567d2d793de2bf77c06b.tar.bz2
uhd-374f6ff05e66d10830a7567d2d793de2bf77c06b.zip
Merge branch 'master' into flow_ctrl
Conflicts: host/lib/usrp/usrp2/mboard_impl.cpp host/lib/usrp/usrp2/usrp2_impl.hpp
Diffstat (limited to 'firmware/fx2/src/common/build_eeprom.py')
-rwxr-xr-xfirmware/fx2/src/common/build_eeprom.py107
1 files changed, 0 insertions, 107 deletions
diff --git a/firmware/fx2/src/common/build_eeprom.py b/firmware/fx2/src/common/build_eeprom.py
deleted file mode 100755
index ae62587db..000000000
--- a/firmware/fx2/src/common/build_eeprom.py
+++ /dev/null
@@ -1,107 +0,0 @@
-#!/usr/bin/env python
-#
-# Copyright 2004,2006 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-import re
-import sys
-import os, os.path
-from optparse import OptionParser
-
-# USB Vendor and Product ID's
-
-VID = 0xfffe # Free Software Folks
-PID = 0x0002 # Universal Software Radio Peripheral
-
-def msb (x):
- return (x >> 8) & 0xff
-
-def lsb (x):
- return x & 0xff
-
-def build_eeprom_image (filename, rev):
- """Build a ``C2 Load'' EEPROM image.
-
- For details on this format, see section 3.4.3 of
- the EZ-USB FX2 Technical Reference Manual
- """
- # get the code we want to run
- f = open(filename, 'rb')
- bytes = f.read()
-
- devid = rev
- start_addr = 0 #prove me wrong
-
- rom_header = [
- 0xC2, # boot from EEPROM
- lsb (VID),
- msb (VID),
- lsb (PID),
- msb (PID),
- lsb (devid),
- msb (devid),
- 0 # configuration byte
- ]
-
- # 4 byte header that indicates where to load
- # the immediately follow code bytes.
- code_header = [
- msb (len (bytes)),
- lsb (len (bytes)),
- msb (start_addr),
- lsb (start_addr)
- ]
-
- # writes 0 to CPUCS reg (brings FX2 out of reset)
- trailer = [
- 0x80,
- 0x01,
- 0xe6,
- 0x00,
- 0x00
- ]
-
- image = rom_header + code_header + [ord(c) for c in bytes] + trailer
-
- assert (len (image) <= 256)
- return image
-
-if __name__ == '__main__':
- usage = "usage: %prog -r REV [options] bootfile.bin outfile.bin"
- parser = OptionParser (usage=usage)
- parser.add_option ("-r", "--rev", type="int", default=-1,
- help="Specify USRP revision number REV (2 or 4)")
- (options, args) = parser.parse_args ()
- if len (args) != 2:
- parser.print_help ()
- sys.exit (1)
- if options.rev < 0:
- sys.stderr.write (
- "You must specify the USRP revision number (2 or 4) with -r REV\n")
- sys.exit (1)
-
- infile = args[0]
- outfile = args[1]
-
- image = "".join(chr(c) for c in build_eeprom_image(infile, options.rev))
-
- f = open(outfile, 'wb')
- f.write(str(image))
- f.close()