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
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
|
|
|
|
|