mirror of
https://github.com/antonblanchard/microwatt.git
synced 2026-01-11 23:43:15 +00:00
Add files for openocd v0.11
The protocol used by the spi bridge firmware changed as of openocd v0.11. As this is the version packaged by Debian Bullseye, add the firmware for convince. Signed-off-by: Joel Stanley <joel@jms.id.au>
This commit is contained in:
parent
6523acc743
commit
24a34899b4
@ -23,10 +23,11 @@ Info : JTAG tap: xc7.tap tap/device found: 0x0362d093 (mfg: 0x049 (Xilinx), part
|
||||
Error: Unknown flash device (ID 0x00ffffff)
|
||||
|
||||
If you find yourself with a later openocd version that contians 867bdb2e9248
|
||||
("jtagspi: new protocol that includes transfer length") you should fetch the
|
||||
bitstream from the master branch:
|
||||
("jtagspi: new protocol that includes transfer length"), such as v0.11 as
|
||||
packaged by Debian Bullseye, you should use the bitstream from the master
|
||||
branch:
|
||||
|
||||
https://github.com/quartiq/bscan_spi_bitstreams/blob/master/bscan_spi_xc7a35t.bit?raw=true
|
||||
https://github.com/quartiq/bscan_spi_bitstreams/blob/master/bscan_spi_xc7a100t.bit?raw=true
|
||||
|
||||
|
||||
These are in the microwatt repository as bscan_spi_xc7a*t_openocd_v0.11.bit.
|
||||
|
||||
BIN
openocd/bscan_spi_xc7a100t_openocd_v0.11.bit
Normal file
BIN
openocd/bscan_spi_xc7a100t_openocd_v0.11.bit
Normal file
Binary file not shown.
BIN
openocd/bscan_spi_xc7a200t_openocd_v0.11.bit
Normal file
BIN
openocd/bscan_spi_xc7a200t_openocd_v0.11.bit
Normal file
Binary file not shown.
BIN
openocd/bscan_spi_xc7a35t_openocd_v0.11.bit
Normal file
BIN
openocd/bscan_spi_xc7a35t_openocd_v0.11.bit
Normal file
Binary file not shown.
@ -20,6 +20,15 @@ def flash(config, flash_proxy, address, data, filetype="", set_qe=False):
|
||||
print(script)
|
||||
subprocess.call(["openocd", "-f", config, "-c", script])
|
||||
|
||||
def get_version():
|
||||
a = subprocess.run(["openocd", "-v"], capture_output=True)
|
||||
if a.returncode != 0:
|
||||
return ""
|
||||
if a.stderr.count(b"0.10"):
|
||||
return ""
|
||||
if a.stderr.count(b"0.11"):
|
||||
return "_openocd_v0.11"
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("file", help="file to write to flash")
|
||||
parser.add_argument("-a", "--address", help="offset in flash", type=lambda x: int(x,0), default=0)
|
||||
@ -27,12 +36,14 @@ parser.add_argument("-f", "--fpga", help="a35, a100 or a200", default="a35")
|
||||
parser.add_argument("-t", "--filetype", help="file type such as 'bin'", default="")
|
||||
args = parser.parse_args()
|
||||
|
||||
version = get_version()
|
||||
|
||||
if args.fpga.lower() == "a35":
|
||||
proxy = "bscan_spi_xc7a35t.bit"
|
||||
proxy = "bscan_spi_xc7a35t{}.bit".format(version)
|
||||
elif args.fpga.lower() == "a100":
|
||||
proxy = "bscan_spi_xc7a100t.bit"
|
||||
proxy = "bscan_spi_xc7a100t{}.bit".format(version)
|
||||
elif args.fpga.lower() == "a200":
|
||||
proxy = "bscan_spi_xc7a200t.bit"
|
||||
proxy = "bscan_spi_xc7a200t{}.bit".format(version)
|
||||
else:
|
||||
print("error: specify a35, a100 or a200 when flashing")
|
||||
sys.exit()
|
||||
|
||||
@ -51,10 +51,10 @@ proc jtagspi_program {bin addr {type ""} } {
|
||||
global _FLASHNAME
|
||||
if { $type eq "" } {
|
||||
flash write_image erase $bin $addr
|
||||
flash verify_bank $_FLASHNAME $bin $addr
|
||||
flash verify_image $bin $addr
|
||||
} else {
|
||||
flash write_image erase $bin $addr $type
|
||||
flash verify_bank $_FLASHNAME $bin $addr $type
|
||||
flash verify_image $bin $addr $type
|
||||
}
|
||||
}
|
||||
# end jtagspi.cfg
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user