Esempio n. 1
0
pickits = PicKit2LibUsbTransport.findpickits()
if len(pickits) == 0:
    print "Couldn't find a pickit"
    sys.exit(1)

transport = PicKit2LibUsbTransport(pickits[0])
pickit = PicKit2(transport)
spiflash = SpiFlash(pickit)
pickit.ClearReadBuffer()
pickit.ClearWriteBuffer()
pickit.ClearScriptBuffer()

# setup the pickit
pickit.SetVppVoltage(3.3, 0.5)
pickit.SetVddVoltage(3.3, 0.5)
pickit.RunScriptImmediate(SpiUtils.SetupExternalPowerScript())

# Read the SPI flash ID
print "JEDEC id: %s" % " ".join([hex(i) for i in spiflash.ReadJedecId()])

# Erase the chip
spiflash.WriteEnable()
spiflash.ChipErase()
while 'WIP' in spiflash.ReadDecodedStatus():
    print "Waiting for erase to complete...\r",
    sys.stdout.flush()
    time.sleep(1)
print

# Write data to the chip
f = open(infile, "rb")
Esempio n. 2
0
from pickit.PicKit2ScriptBuilder import PicKit2ScriptBuilder
from pickit.csr.CsrSpiPicKitTransport import CsrSpiPicKitTransport 
import pickit.utils.SpiUtils

pickits = PicKit2LibUsbTransport.findpickits()
if len(pickits) == 0:
    print "Couldn't find a pickit"
    sys.exit(1)

# Setup the pickit 
usbtransport = PicKit2LibUsbTransport(pickits[0])
pickit = PicKit2(usbtransport)
csrtransport = CsrSpiPicKitTransport(pickit)
pickit.ClearReadBuffer()
pickit.ClearWriteBuffer()
pickit.ClearScriptBuffer()

# setup the pickit to power the CSR chip
pickit.SetVppVoltage(3.3, 0.5)
pickit.SetVddVoltage(3.3, 0.5)
s = PicKit2ScriptBuilder()
s += SpiUtils.SetupExternalPowerScript()
s.VddVoltageOn()
s.VppVoltageOn()
pickit.RunScriptImmediate(s)

# Read a value
print csrtransport.ReadWord(0x2b)

pickit.RunScriptImmediate(SpiUtils.ShutdownScript())