ossc/scripts/openocd_reprogram.cfg

64 lines
1.5 KiB
INI

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