gdb_port disabled tcl_port disabled telnet_port disabled source ../../scripts/flash_addr.tcl source [find interface/altera-usb-blaster.cfg] set _CHIPNAME EP4CE15E22C8 transport select jtag adapter speed 5000 jtag newtap $_CHIPNAME tap -irlen 10 -ircapture 0x01 -irmask 0x3 -expected-id 0x020f20dd target create $_CHIPNAME.cpu riscv -chain-position $_CHIPNAME.tap riscv set_ir dtmcs 0x00c riscv set_ir dmi 0x00e riscv set_mem_access sysbus init puts "Halting CPU" halt # target file details set bin_file mem_init/flash.bin set bin_size [file size $bin_file] set num_sectors [expr "($bin_size / $flash_secsize) + (($bin_size % $flash_secsize) ne 0)"] ### Erase #write enable write_memory $flash_cmd_setting 32 0x00000006 write_memory $flash_cmd_ctrl 32 0x1 #write status register (clear BP) write_memory $flash_cmd_setting 32 0x00001001 write_memory $flash_cmd_write_data_0 32 0x00000000 write_memory $flash_cmd_ctrl 32 0x1 puts "Erasing $num_sectors flash sectors" set addr $flash_imem_offset for {set i 0} {$i<$num_sectors} {incr i} { write_memory $flash_cmd_setting 32 0x00000006 write_memory $flash_cmd_ctrl 32 0x1 write_memory $flash_cmd_setting 32 0x000003D8 write_memory $flash_cmd_addr_register 32 $addr write_memory $flash_cmd_ctrl 32 0x1 set addr [expr "$addr + $flash_secsize"] after 500 } ### Load puts "Loading new SW image into flash" load_image mem_init/flash.bin 0x02080000 bin ### Verify #verify_image mem_init/flash.bin 0x02080000 bin puts "Resetting system" reset exit