hatmoose
Enlightened
All the bits arrived - probably not going to win any prizes for cable craftsmanship on this one

This threw up a lot of errors, but it does seem to work
on OSX
brew install open-ocd
then download .um232h.cfg
openocd -f ./um232h.cfg -c "adapter speed 400" -c "transport select jtag" -c init -c scan_chain -c shutdown
gives result
<snip>
Info : JTAG tap: auto0.tap tap/device found: 0x0180e043 (mfg: 0x021 (Lattice Semi.), part: 0x180e, ver: 0x0)
Warn : AUTO auto0.tap - use "jtag newtap auto0 tap -irlen 3 -expected-id 0x0180e043"
Warn : gdb services need one or more targets defined
TapName Enabled IdCode Expected IrLen IrCap IrMask
-- ------------------- -------- ---------- ---------- ----- ----- ------
0 auto0.tap Y 0x0180e043 0x00000000 3 0x01 0x03
So the programer can see... something. Clearly the sensible thing is to ignore all the errors, force-feed it the SVF, and see what happens
download fusion_vsense.svf
openocd -f ./um232h.cfg -c "adapter speed 400" -c "transport select jtag" -c init -c "svf fusion_vsense.svf" -c shutdown
gives result
<snip>
Info : JTAG tap: auto0.tap tap/device found: 0x0180e043 (mfg: 0x021 (Lattice Semi.), part: 0x180e, ver: 0x0)
Warn : AUTO auto0.tap - use "jtag newtap auto0 tap -irlen 3 -expected-id 0x0180e043"
Warn : gdb services need one or more targets defined
svf processing file: "fusion_vsense.svf"
HDR 0;
HIR 0;
TDR 0;
TIR 0;
ENDDR DRPAUSE;
ENDIR IRPAUSE;
FREQUENCY 1.00e+006 HZ;
adapter speed: 1000 kHz
STATE IDLE;
SIR 8 TDI (16);
STATE IDLE;
MASK (FFFFFFFF);
SIR 8 TDI (1C);
SDR 138 TDI (00000000000000000000000000000000000);
SIR 8 TDI (15);
RUNTEST IDLE 3 TCK 2.00E-002 SEC;
SIR 8 TDI (03);
RUNTEST IDLE 3 TCK 1.00E-001 SEC;
SIR 8 TDI (14);
RUNTEST IDLE 3 TCK 1.00E-002 SEC;
<snip>
MASK (FF);
SIR 8 TDI (1E);
RUNTEST IDLE 3 TCK 2.00E-001 SEC;
Time used: 0m2s642ms
svf file programmed successfully for 441 commands with 0 errors
shutdown command invoked
So at this point have successfully written something to something, and generated a lot of non-critical warnings. Great success!
edit: there might be more to this story - the board was not externally powered when I did this - so its written something, but has it written the right thing?

This threw up a lot of errors, but it does seem to work
on OSX
brew install open-ocd
then download .um232h.cfg
openocd -f ./um232h.cfg -c "adapter speed 400" -c "transport select jtag" -c init -c scan_chain -c shutdown
gives result
<snip>
Info : JTAG tap: auto0.tap tap/device found: 0x0180e043 (mfg: 0x021 (Lattice Semi.), part: 0x180e, ver: 0x0)
Warn : AUTO auto0.tap - use "jtag newtap auto0 tap -irlen 3 -expected-id 0x0180e043"
Warn : gdb services need one or more targets defined
TapName Enabled IdCode Expected IrLen IrCap IrMask
-- ------------------- -------- ---------- ---------- ----- ----- ------
0 auto0.tap Y 0x0180e043 0x00000000 3 0x01 0x03
So the programer can see... something. Clearly the sensible thing is to ignore all the errors, force-feed it the SVF, and see what happens
download fusion_vsense.svf
openocd -f ./um232h.cfg -c "adapter speed 400" -c "transport select jtag" -c init -c "svf fusion_vsense.svf" -c shutdown
gives result
<snip>
Info : JTAG tap: auto0.tap tap/device found: 0x0180e043 (mfg: 0x021 (Lattice Semi.), part: 0x180e, ver: 0x0)
Warn : AUTO auto0.tap - use "jtag newtap auto0 tap -irlen 3 -expected-id 0x0180e043"
Warn : gdb services need one or more targets defined
svf processing file: "fusion_vsense.svf"
HDR 0;
HIR 0;
TDR 0;
TIR 0;
ENDDR DRPAUSE;
ENDIR IRPAUSE;
FREQUENCY 1.00e+006 HZ;
adapter speed: 1000 kHz
STATE IDLE;
SIR 8 TDI (16);
STATE IDLE;
MASK (FFFFFFFF);
SIR 8 TDI (1C);
SDR 138 TDI (00000000000000000000000000000000000);
SIR 8 TDI (15);
RUNTEST IDLE 3 TCK 2.00E-002 SEC;
SIR 8 TDI (03);
RUNTEST IDLE 3 TCK 1.00E-001 SEC;
SIR 8 TDI (14);
RUNTEST IDLE 3 TCK 1.00E-002 SEC;
<snip>
MASK (FF);
SIR 8 TDI (1E);
RUNTEST IDLE 3 TCK 2.00E-001 SEC;
Time used: 0m2s642ms
svf file programmed successfully for 441 commands with 0 errors
shutdown command invoked
So at this point have successfully written something to something, and generated a lot of non-critical warnings. Great success!
edit: there might be more to this story - the board was not externally powered when I did this - so its written something, but has it written the right thing?
Last edited: