ELF>.@ȅ@8 @@@@hh . .@@@PPm}}$m}}DDPtdYYYQtdRtdm}}HH/lib64/ld-linux-x86-64.so.2GNUGNU"Y#@WG&E &*-(BEem|fUa8qX3#lH2a(  /' 6 WA"TpHlibm.so.6_ITM_deregisterTMCloneTable__gmon_start___ITM_registerTMCloneTablelibstdc++.so.6libftdi.so.1ftdi_usb_purge_buffersftdi_usb_closeftdi_usb_open_stringftdi_get_latency_timerftdi_set_latency_timerftdi_set_interfaceftdi_deinitftdi_write_dataftdi_usb_openftdi_set_bitmodeftdi_read_dataftdi_get_error_stringftdi_usb_resetftdi_initftdi_disable_bitbanglibc.so.6fflushexitfopenoptindperrorftellstdinstrtoltmpfilememsetfseekmemcmpstdoutfputcfcloseoptargstderrgetopt_longusleepfwritefreadfprintf__cxa_finalizestrcmp__libc_start_main_edata__bss_start_endGLIBC_2.2.5vui Y}/}/((@nD(!#&-*+. (08@HPX ` h p x ȀЀ؀ "$%HHoHtH5o%o@%oh%oh%oh%oh%oh%oh%oh%ohp%oh`%oh P%oh @%oh 0%oh %zoh %roh%joh%boh%Zoh%Roh%Joh%Boh%:oh%2oh%*ohp%"oh`%ohP%oh@% oh0%oh %nh%nh%nh%nh %mfAWAVAUAATIUSHxHtHC/HDHPuD$@H-jCLt$hHD$HD$VD$WD$GD$UD$D$D$TD$FD$8D$ $D$D$0D$P@D$,fE1H 6nLDH/F x0 HcDH$D$FD$WD$H=+n1LIL|$hD$,A?H$tH5j/LH$A H5d.LH$ H$$D$,:L=mH5$.LD$@H5 .L H5-L H5-L{HD$@H _mI$@H=*1H=>mH1H5Z1]H=&mH1H5j1EH=mH1H5--H=lH1H5-H5l H lH=e-GcH lH=1*HH lH=b1 NH qlH=1PH TlH=1?H 7lH=2LH lH=&2'H kH=Y2|BH kH=d2_MH kH=2B8H kH=2%;H kH=2VH lkH=3'H OkH=C3?H 2kH=N3H5k H kH=+BH jH=C3f:H jH=n3IGH jH=3,FH jH=3MH sjH=?18H VjH=r1BH 9jH=31H jH=38H iH=3~H5i .H iH=4PCH iH=43OH iH=C4NH ziH=v4?H ]iH=4OH @iH=4:H #iH=4KH iH="5KH hH=U5hOH hH=5KH5h zH hH=a)3H hH=5CH dhH=5H5Lh  H 6hH=)H hH=)DH gH=5{7H gH=5^EH gH=5AH gH=($(H gH=5H5pg 6-H ZgH=5FH =gH=5CH gH=6JH gH=G6KH fH=z6eH fH='HEH fH=6+H5f Z)H ~fH=6EH afH=6DH DfH=6H5,f :H fH=72H eH=%7x1Hx[]A\A]A^A_(D$D$UD$G H=e1LL|$hD$A?HD$XH5&LrHT$XH5%LHT$Q HT$D$D$TD$VL=eH5j%L H5O%LH5;%LF D$P@)H=d1LL|$hD$0A?HD$8H5%LHT$8H5$LHT$0p HT$0D$8D$0H1dHD$HD$ T$8$T$ T$T$ЃM|$Ft |$T|$GDD$ D$ $]|$R|$FD|$THD$ D$ $|$ HccPA9A9%|$F|$G|$89|$.HH5$H=Fc1oI$H=4cH541V6D$PoD$8eD$8 D$0RD$P E D$7D$@*$ D$,D$@ |$FD$ D$ $|$|$^|$SH=fbHH5 51eH=DbHH5"41cC1|$H bH=$T$UHt$H|$@LH)"@uH#"H=aH5j#1H- "H"CH aH=/#  .HH=TaH5"@HE1p1i111+HH=`H5"@HE1H `H=#[1H=`HH5F21I,Ā|$8Lc|$0E1H `H=4#T$UHt$H|$@!H @uH H=8`H5!1Z1|$H `H=! y1H-_vd]~HH=_H5Hc1LL=kt_~[Dm1A L f.Hù 9tع ADAH=JH5 1HCL9uH[]A\A]A^щH=eJ1H5} fUSHjHHl$@T$H=,JH5m 1NHHH[]SH IH=B k=it=iuH="jH=jZ5iH=iWDUSHiHHl$@dHHxuD$H[]H BI H="fH@|$ Ht$ H=fiuHH=H1H5X ~LUHSH{@CHH=h9u H[]@H=xH‰H51\ff.~lATUH1S{@ CHH=vhA9u+1kDHA9[]A\fH=G‰H5u1ff.~ %s -t General options: Mode of operation: Miscellaneous options: Exit status: 0 on success, iCE FTDI USB device), in this picture: d:i:I:rR:e:o:cbnStvspXk%s: too many arguments %s: missing argument -wbrb%s: %s: ftell: %s: %s: fseek: cdone: %s reset.. programming.. sending %d bytes. disable flash protection... bulk erase.. file size: %ld erase 4kB sector at 0x%06X.. Status after block erase: addr 0x%06X %3ld%% prog 0x%06X +0x%03X.. done. reading.. addr 0x%06X %3d%% VERIFY OK Bye. init.. helpExtended Device String Length is 0xFF, this is likely a read error. Ignoring... %s: `%s' is not a valid erase block size (must be `4', `32' or `64') %s: `%s' is not a valid interface (must be `A', `B', `C', or `D') %s: `%s' is not a valid offset Simple programming tool for FTDI-based Lattice iCE programmers. Usage: %s [-b|-n|-c] %s -r|-R -d use the specified USB device [default: i:0x0403:0x6010 or i:0x0403:0x6014] d: (e.g. d:002/005) i:: (e.g. i:0x0403:0x6010) i::: (e.g. i:0x0403:0x6010:0) s::: -I [ABCD] connect to the specified interface on the FTDI chip [default: A] -o start address for read/write [default: 0] (append 'k' to the argument for size in kilobytes, or 'M' for size in megabytes) -s slow SPI (50 kHz instead of 6 MHz) -k keep flash in powered up state (i.e. skip power down command) -v verbose output -i [4,32,64] select erase block size [default: 64k] [default] write file contents to flash, then verify -X write file contents to flash only -r read first 256 kB from flash and write to file -R read the specified number of bytes from flash -c do not write flash, only verify (`check') -S perform SRAM programming -t just read the flash ID sequence Erase mode (only meaningful in default mode): [default] erase aligned chunks of 64kB in write mode This means that some data after the written data (or even before when -o is used) may be erased as well. -b bulk erase entire flash before writing -e erase flash as if we were writing that number of bytes -n do not erase flash before writing -p disable write protection before erasing or writing This can be useful if flash memory appears to be bricked and won't respond to erasing or programming. --help display this help and exit -- treat all remaining arguments as filenames 1 if a non-hardware error occurred (e.g., failure to read from or write to a file, or invoked with invalid options), 2 if communication with the hardware failed (e.g., cannot find the 3 if verification of the data failed. Notes for iCEstick (iCE40HX-1k devel board): An unmodified iCEstick can only be programmed via the serial flash. Direct programming of the SRAM is not supported. For direct SRAM programming the flash chip and one zero ohm resistor must be desoldered and the FT2232H SI pin must be connected to the iCE SPI_SI pin, as shown http://www.clifford.at/gallery/2014-elektronik/IMG_20141115_183838 Notes for the iCE40-HX8K Breakout Board: Make sure that the jumper settings on the board match the selected mode (SRAM or FLASH). See the iCE40-HX8K user manual for details. If you have a bug report, please file an issue on github: https://github.com/cliffordwolf/icestorm/issues Try `%s --help' for more information. %s: options `-r'/`-R', `-e`, `-c', `-S', and `-t' are mutually exclusive %s: options `-b' and `-n' are mutually exclusive %s: option `-p' only valid in programming mode %s: option `-b' only valid in programming mode %s: option `-n' only valid in programming mode %s: option `-o' not supported in SRAM mode %s: option `-o' not supported in test mode %s: test mode doesn't take a file name %s: can't open '%s' for writing: %s: can't open '%s' for reading: %s: can't open temporary file %s: can't write to temporary file failed to disable protection, SR now equal to 0x%02x (expected 0x00) erase 64kB sector at 0x%06X.. Found difference between flash and file! 6]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]½]]]]]]]]RK]]]]D]]]]]]]]]=]L]]]z]p]]f]7]unexpected rx byte: %02X ABORT. Read error. Write error (single byte, rc=%d, expected %d). Write error (chunk, rc=%d, expected %d). Can't find iCE FTDI USB device (device string %s). Can't find iCE FTDI USB device (vendor_id 0x0403, device_id 0x6010 or 0x6014). Failed to reset iCE FTDI USB device. Failed to purge buffers on iCE FTDI USB device. Failed to get latency timer (%s). Failed to set latency timer (%s). Failed to set BITMODE_MPSSE on iCE FTDI USB device. ;,4L\\t\<,|DLd\$<h\L|D\t l DzRx +zRx $ FJ w?;*3$"D\`<D wt8D s0FBHA G  AABA ;D R J 4NAAD0 AAF cAA8D s,0D E G x@LBBB D(C0F@ 0A(A BBBD PBBB E(D0A8GZ 8A0A(B BBBA $XMAAK0}AA kA($nAAK0w AAA POD d A 0lPtEIF uAAEA 4FAI SABJA (CEHF ^AA$(+AHF RDA,0DSD8DS\@!A[xTDP8\]EDF  CBG P CBK ?DvD]BEE E(H0H8G@j8A0A(B BBB,//P_v  >}}oP e   P oo oo o}6FVfv&6FVfv&6(nDGCC: (Debian 8.3.0-6) 8.3.0P       @P>@YZ}}}  /<08&P0F4<1;N3NY058jp5}@6@@/@//}/*}IQY [L_iY |}}}.5  A@P¡a"}8nPP9p:(>)::M:bv@:+9C.+:!+;Obt`=? p 8O-AUj7kv8t=]P7Mp;] >>Q `q iceprog.cflash_resetflash_power_upflash_read_idverboseflash_read_statusflash_waitflash_power_downflash_write_enableflash_readlong_options.4326buffer.4360buffer.4355crtstuff.cderegister_tm_clones__do_global_dtors_auxcompleted.7325__do_global_dtors_aux_fini_array_entryframe_dummy__frame_dummy_init_array_entrympsse.cCSWTCH.18__FRAME_END____GNU_EH_FRAME_HDR_DYNAMIC__init_array_end__init_array_start_GLOBAL_OFFSET_TABLE_ftell@@GLIBC_2.2.5stdout@@GLIBC_2.2.5ftdi_read_datampsse_ftdi_latencyftdi_usb_purge_buffersftdi_usb_reset_edataftdi_deinit_IO_stdin_usedmpsse_ftdic_open__cxa_finalize@@GLIBC_2.2.5mpsse_ftdic_latency_setmemcmp@@GLIBC_2.2.5mpsse_recv_bytemainmpsse_xfer_spiftdi_get_latency_timermpsse_readb_lowoptarg@@GLIBC_2.2.5memset@@GLIBC_2.2.5__dso_handlempsse_readb_highstdin@@GLIBC_2.2.5mpsse_send_dummy_bitperror@@GLIBC_2.2.5mpsse_set_gpioftdi_get_error_stringmpsse_xfer_spi_bitsftdi_usb_openfclose@@GLIBC_2.2.5ftdi_usb_open_stringftdi_usb_closefseek@@GLIBC_2.2.5mpsse_send_dummy_bytes__TMC_END__ftdi_write_datafflush@@GLIBC_2.2.5fopen@@GLIBC_2.2.5exit@@GLIBC_2.2.5ftdi_set_latency_timerfputc@@GLIBC_2.2.5mpsse_closeftdi_disable_bitbangstderr@@GLIBC_2.2.5__data_startoptind@@GLIBC_2.2.5tmpfile@@GLIBC_2.2.5mpsse_send_bytestrcmp@@GLIBC_2.2.5strtol@@GLIBC_2.2.5usleep@@GLIBC_2.2.5fprintf@@GLIBC_2.2.5mpsse_errorfread@@GLIBC_2.2.5__bss_startmpsse_send_spi__libc_csu_initgetopt_long@@GLIBC_2.2.5mpsse_check_rxmpsse_ftdicmpsse_init_ITM_deregisterTMCloneTable__libc_csu_fini__libc_start_main@@GLIBC_2.2.5ftdi_set_interface__gmon_start__ftdi_set_bitmode_ITM_registerTMCloneTableftdi_initfwrite@@GLIBC_2.2.5.symtab.strtab.shstrtab.interp.note.ABI-tag.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.got.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.dynamic.got.plt.data.bss.comment# 1$DoHN PPhVe^o  ^ko z PB    @@PP+>> @@YYZZp}m}m}mo(p  q` q 0qqx ; ~