programmer: add USBBlaster and use platform.bitstream_ext in make

This commit is contained in:
Florent Kermarrec 2014-04-14 17:23:04 +02:00 committed by Sebastien Bourdeauducq
parent 97311fc211
commit 2fca8d41f2
2 changed files with 13 additions and 2 deletions

View File

@ -183,7 +183,7 @@ Subtarget: {}
if actions["load-bitstream"] or actions["flash-bitstream"] or actions["flash-bios"]: if actions["load-bitstream"] or actions["flash-bitstream"] or actions["flash-bios"]:
prog = programmer.create_programmer(platform.name, args.flash_proxy_dir) prog = programmer.create_programmer(platform.name, args.flash_proxy_dir)
if actions["load-bitstream"]: if actions["load-bitstream"]:
prog.load_bitstream("build/" + build_name + ".bit") prog.load_bitstream("build/" + build_name + platform.bitstream_ext)
if actions["flash-bitstream"]: if actions["flash-bitstream"]:
if prog.needs_bitreverse: if prog.needs_bitreverse:
flashbit = "build/" + build_name + ".fpg" flashbit = "build/" + build_name + ".fpg"

View File

@ -57,9 +57,20 @@ class XC3SProg(Programmer):
flash_proxy = self.find_flash_proxy("bscan_spi_lx9_papilio.bit") flash_proxy = self.find_flash_proxy("bscan_spi_lx9_papilio.bit")
subprocess.call(["xc3sprog", "-c", "papilio", "-I"+flash_proxy, "{}:w:0x{:x}:BIN".format(data_file, address)]) subprocess.call(["xc3sprog", "-c", "papilio", "-I"+flash_proxy, "{}:w:0x{:x}:BIN".format(data_file, address)])
class USBBlaster(Programmer):
needs_bitreverse = False
def load_bitstream(self, bitstream_file, port=0):
usb_port = "[USB-"+str(port)+"]"
subprocess.call(["quartus_pgm", "-m", "jtag", "-c", "USB-Blaster"+usb_port, "-o", "p;"+bitstream_file])
def flash(self, address, data_file):
raise NotImplementedError
def create_programmer(platform_name, *args, **kwargs): def create_programmer(platform_name, *args, **kwargs):
return { return {
"mixxeo": UrJTAG, "mixxeo": UrJTAG,
"m1": UrJTAG, "m1": UrJTAG,
"papilio_pro": XC3SProg "papilio_pro": XC3SProg,
"de0nano": USBBlaster
}[platform_name](platform_name, *args, **kwargs) }[platform_name](platform_name, *args, **kwargs)