mirror of
https://github.com/marqs85/ossc
synced 2025-10-26 21:46:02 +03:00
64 lines
1.5 KiB
INI
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 |