mibuild/openocd.py: add support

Tested with pipistrello and kc705. Needs patches from
https://github.com/jordens/openocd/tree/bscan_spi waiting
to be merged in the openocd queue.
This commit is contained in:
Robert Jordens 2015-07-02 22:04:04 -06:00
parent 73ea404380
commit 8d6aa82082
1 changed files with 30 additions and 0 deletions

30
mibuild/openocd.py Normal file
View File

@ -0,0 +1,30 @@
import subprocess
from mibuild.generic_programmer import GenericProgrammer
class OpenOCD(GenericProgrammer):
needs_bitreverse = False
def __init__(self, config, flash_proxy_basename=None):
GenericProgrammer.__init__(self, flash_proxy_basename)
self.config = config
def load_bitstream(self, bitstream):
script = "; ".join([
"init",
"pld load 0 {}".format(bitstream),
"exit",
])
subprocess.call(["openocd", "-f", self.config, "-c", script])
def flash(self, address, data):
flash_proxy = self.find_flash_proxy()
script = "; ".join([
"init",
"jtagspi_init 0 {}".format(flash_proxy),
"jtagspi_program {} 0x{:x}".format(data, address),
"fpga_program",
"exit"
])
subprocess.call(["openocd", "-f", self.config, "-c", script])