hex转换成coe文件
:1000000090610020010100000901000011010000C1
转换结果为
20006190
00000101
00000109
00000111
1.M3生成Hex文件去掉第一行和最后两行
2. 去掉前9列和后2列,得到 90610020010100000901000011010000
90610020->20006190
01010000->00000101
09010000->00000109
11010000->00000111
#puts "hello world"
set fileName "project.hex"
set fp [open $fileName r]
set row 0
#read $fp 1
while {[gets $fp line] >= 0} {
incr row
set list($row) $line
}
close $fp
puts "row num: $row"
puts $list(2)
set preByteNum 9
for {set rowCnt 2} { $rowCnt <= [expr $row-2]} {incr rowCnt} {
#puts $rowCnt
for {set i 0} {$i < 4} {incr i} {
#puts $i
set dw_b0 [string range $list($rowCnt) [expr $i*8+$preByteNum+6] [expr $i*8+$preByteNum+7]]
set dw_b1 [string range $list($rowCnt) [expr $i*8+$preByteNum+4] [expr $i*8+$preByteNum+5]]
set dw_b2 [string range $list($rowCnt) [expr $i*8+$preByteNum+2] [expr $i*8+$preByteNum+3]]
set dw_b3 [string range $list($rowCnt) [expr $i*8+$preByteNum ] [expr $i*8+$preByteNum+1]]
append dw_b0 $dw_b1 $dw_b2 $dw_b3
#puts $dw_b0
set dw_fpga([expr 4*($rowCnt-2)+$i]) $dw_b0
}
}
#puts $dw_fpga(0)
set fileName_fpga "fpga.hex"
set fp_fpga [open $fileName_fpga w]
for {set j 0} {$j < [expr ($row-3)*4]} {incr j} {
puts $fp_fpga $dw_fpga($j)
}
close $fp_fpga