You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.6 KiB
Tcl

# vivado -mode tcl -source pgmflash.tcl
# can also use this to load ~2 MB of bootable code/data
# can also load multiple bitstreams by changing address
#
# does this 'erase' the memory or make it unusable or ???
# delete_hw_cfgmem [current_hw_cfgmem]
open_hw_manager
connect_hw_server
current_hw_target [get_hw_targets */xilinx_tcf/Digilent/*]
open_hw_target
set dev [lindex [get_hw_devices] 0]
current_hw_device $dev
refresh_hw_device -update_hw_probes false $dev
# select n25q32-3.3v-spi-x1-x2-x4 flash (32Mb)
# should check get_hw_cfgmems to see if exists, and use lindex 0 if there?
# get_hw_cfgmems
# cfgmem_0
create_hw_cfgmem -hw_device $dev [lindex [get_cfgmem_parts {n25q32-3.3v-spi-x1_x2_x4}] 0]
set_property PROGRAM.BLANK_CHECK 0 [ get_property PROGRAM.HW_CFGMEM $dev
set_property PROGRAM.ERASE 1 [ get_property PROGRAM.HW_CFGMEM $dev
set_property PROGRAM.CFG_PROGRAM 1 [ get_property PROGRAM.HW_CFGMEM $dev
set_property PROGRAM.VERIFY 1 [ get_property PROGRAM.HW_CFGMEM $dev
set_property PROGRAM.CHECKSUM 0 [ get_property PROGRAM.HW_CFGMEM $dev
refresh_hw_device $dev
# when not a compressed bitstream and -size 2:
# ERROR: [Writecfgmem 68-4] Bitstream at address 0x00000000 has size 2192012 bytes which cannot fit in memory of size 2097152 bytes.
# -rw-rw-r-- 1 wtf wtf 2192113 Nov 9 07:43 cmod7.bit
# need to get this to be set in soc:
# set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design]
write_cfgmem -format mcs -size 4 -interface SMAPx8 -loadbit {up 0x00000000 ./cmod7.bit} ./cmod7.mcs
program_hw_cfgmem [current_hw_cfgmem]
refresh_hw_device $dev
puts "Device programmed."
quit