增加代码,测试增加的ebmmu * 16

This commit is contained in:
2025-08-06 18:46:04 +08:00
parent a66761f173
commit 278c98c3d1
2 changed files with 385 additions and 81 deletions

View File

@@ -18,7 +18,7 @@ if __name__ == '__main__':
#add_tc_2_runlist(base.tc4())
#add_tc_2_runlist(base.tc5())
#add_tc_2_runlist(base.tc6())
add_tc_2_runlist(base.tc7())
#add_tc_2_runlist(base.tc7())
#add_tc_2_runlist(base.tc8())
#add_tc_2_runlist(base.tc9())
#add_tc_2_runlist(base.tc10())
@@ -34,7 +34,7 @@ if __name__ == '__main__':
#add_tc_2_runlist(base.tc20())
#add_tc_2_runlist(base.tc21())
#add_tc_2_runlist(base.tc22())
add_tc_2_runlist(base.tc23())
#add_tc_2_runlist(base.tc23())
@@ -63,7 +63,7 @@ if __name__ == '__main__':
#add_tc_2_runlist(ebmmu.tc12())
#add_tc_2_runlist(ebmmu.tc13())
#add_tc_2_runlist(ebmmu.tc14())
#add_tc_2_runlist(ebmmu.tc15())
add_tc_2_runlist(ebmmu.tc15())
#add_tc_2_runlist(ebmmu.tc16())

View File

@@ -1596,7 +1596,7 @@ def tc15():
gen_file_def = "ebmmu_tc15"
sm_idx = 0
tc_des = "测试8个ebmmu全配置下运行每两个ebmmu对应一个sm。每个ebmmu必须对齐、足长的写入\\n" \
tc_des = "测试16个ebmmu全配置下运行每两个ebmmu对应一个sm。每个ebmmu必须对齐、足长的写入\\n" \
+ "对应的sm才能正常工作。QSPI/SPI侧能正常的读到相关的数据。"
#--------------------------------------------------------------------------
@@ -1612,50 +1612,124 @@ def tc15():
data = [0,] * 256
taddr = addr + addr_off
setting_ebmmu_regs(data, 0, taddr, 0x0800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 1, taddr + sm_size / 2, 0x0800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
ebmmu_offset = 0
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x0800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 2, taddr, 0x1800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 3, taddr + sm_size / 2, 0x1800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x1800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 4, taddr, 0x2800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 5, taddr + sm_size / 2, 0x2800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x2800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 6, taddr, 0x3800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 7, taddr + sm_size / 2, 0x3800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x3800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
genPkt.addSubPkt(0x1, 0, 0x0200, 0x1, 80, data)
genPkt.addSubPkt(0x1, 0, 0x0200, 0x1, 160, data)
#subPkt参数索引、索引类型、地址、命令、长度、数据
data = [0,] * 256
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 0, taddr, 0x0800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 1, taddr + sm_size / 2, 0x0800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
ebmmu_offset = 0
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x0800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 2, taddr, 0x1800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 3, taddr + sm_size / 2, 0x1800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x1800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 4, taddr, 0x2800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 5, taddr + sm_size / 2, 0x2800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x2800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 6, taddr, 0x3800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 7, taddr + sm_size / 2, 0x3800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x3800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
genPkt.addSubPkt(0x2, 0, 0x0200, 0x1, 80, data)
genPkt.addSubPkt(0x2, 0, 0x0200, 0x1, 160, data)
#subPkt参数索引、索引类型、地址、命令、长度、数据
@@ -1663,25 +1737,62 @@ def tc15():
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 0, taddr, 0x0800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 1, taddr + sm_size / 2, 0x0800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
ebmmu_offset = 0
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x0800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 2, taddr, 0x1800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 3, taddr + sm_size / 2, 0x1800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x1800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 4, taddr, 0x2800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 5, taddr + sm_size / 2, 0x2800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x2800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 6, taddr, 0x3800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 7, taddr + sm_size / 2, 0x3800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x3800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
genPkt.addSubPkt(0x3, 0, 0x0200, 0x1, 80, data)
genPkt.addSubPkt(0x3, 0, 0x0200, 0x1, 160, data)
#subPkt参数索引、索引类型、地址、命令、长度、数据
@@ -1689,25 +1800,62 @@ def tc15():
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 0, taddr, 0x0800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 1, taddr + sm_size / 2, 0x0800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
ebmmu_offset = 0
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x0800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 2, taddr, 0x1800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 3, taddr + sm_size / 2, 0x1800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x1800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 4, taddr, 0x2800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 5, taddr + sm_size / 2, 0x2800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x2800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 6, taddr, 0x3800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 7, taddr + sm_size / 2, 0x3800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x3800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 80, data)
genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data)
data = [0,] * 2
data[0] = (sm_size >> 0) & 0xff
@@ -1791,7 +1939,7 @@ def tc16():
gen_file_def = "ebmmu_tc16"
sm_idx = 0
tc_des = "测试8个ebmmu全配置下运行每两个ebmmu对应一个sm。每个ebmmu必须对齐、足长的写入\\n" \
tc_des = "测试16个ebmmu全配置下运行每两个ebmmu对应一个sm。每个ebmmu必须对齐、足长的写入\\n" \
+ "对应的sm才能正常工作。两次写入数据复位设备1的SM1SM1状态复原不能读取到有效的数据。\\n"\
+ "测试用例能成功运行完毕除设备1的SM1其余的SMx都能获得正确的数据。\\n\\n" \
+ "检查内容ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序"
@@ -1807,50 +1955,128 @@ def tc16():
data = [0,] * 256
taddr = addr + addr_off
setting_ebmmu_regs(data, 0, taddr, 0x0800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 1, taddr + sm_size / 2, 0x0800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
ebmmu_offset = 0
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x0800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 2, taddr, 0x1800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 3, taddr + sm_size / 2, 0x1800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x1800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x1800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 4, taddr, 0x2800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 5, taddr + sm_size / 2, 0x2800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x2800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset + i, hex(taddr + i * int(sm_size / 4)), hex(0x2800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 6, taddr, 0x3800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 7, taddr + sm_size / 2, 0x3800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x3800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x3800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
genPkt.addSubPkt(0x1, 0, 0x0200, 0x1, 80, data)
genPkt.addSubPkt(0x1, 0, 0x0200, 0x1, 160, data)
#subPkt参数索引、索引类型、地址、命令、长度、数据
data = [0,] * 256
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 0, taddr, 0x0800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 1, taddr + sm_size / 2, 0x0800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
ebmmu_offset = 0
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x0800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 2, taddr, 0x1800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 3, taddr + sm_size / 2, 0x1800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x1800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x1800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 4, taddr, 0x2800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 5, taddr + sm_size / 2, 0x2800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x2800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset + i, hex(taddr + i * int(sm_size / 4)), hex(0x2800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 6, taddr, 0x3800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 7, taddr + sm_size / 2, 0x3800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x3800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x3800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
genPkt.addSubPkt(0x2, 0, 0x0200, 0x1, 80, data)
genPkt.addSubPkt(0x2, 0, 0x0200, 0x1, 160, data)
#subPkt参数索引、索引类型、地址、命令、长度、数据
@@ -1858,25 +2084,64 @@ def tc16():
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 0, taddr, 0x0800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 1, taddr + sm_size / 2, 0x0800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
ebmmu_offset = 0
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x0800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 2, taddr, 0x1800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 3, taddr + sm_size / 2, 0x1800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x1800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x1800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 4, taddr, 0x2800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 5, taddr + sm_size / 2, 0x2800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x2800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset + i, hex(taddr + i * int(sm_size / 4)), hex(0x2800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 6, taddr, 0x3800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 7, taddr + sm_size / 2, 0x3800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x3800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x3800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
genPkt.addSubPkt(0x3, 0, 0x0200, 0x1, 80, data)
genPkt.addSubPkt(0x3, 0, 0x0200, 0x1, 160, data)
#subPkt参数索引、索引类型、地址、命令、长度、数据
@@ -1884,25 +2149,64 @@ def tc16():
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 0, taddr, 0x0800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 1, taddr + sm_size / 2, 0x0800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
ebmmu_offset = 0
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x0800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x0800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 2, taddr, 0x1800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 3, taddr + sm_size / 2, 0x1800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x1800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x1800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 4, taddr, 0x2800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 5, taddr + sm_size / 2, 0x2800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x2800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset + i, hex(taddr + i * int(sm_size / 4)), hex(0x2800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
addr_off = addr_off + sm_size
taddr = addr + addr_off
setting_ebmmu_regs(data, 6, taddr, 0x3800, sm_size / 2, 0x2, 0x1)
setting_ebmmu_regs(data, 7, taddr + sm_size / 2, 0x3800 + sm_size / 2, sm_size / 2, 0x2, 0x1)
for i in range(4):
setting_ebmmu_regs(data,
ebmmu_offset,
taddr + i * int(sm_size / 4),
0x3800 + i * int(sm_size / 4),
sm_size / 4,
0x2,
0x1
)
#print(ebmmu_offset, hex(taddr + i * int(sm_size / 4)), hex(0x3800 + i * int(sm_size / 4)))
ebmmu_offset = ebmmu_offset + 1
genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 80, data)
genPkt.addSubPkt(0x4, 0, 0x0200, 0x1, 160, data)
data = [0,] * 2
data[0] = (sm_size >> 0) & 0xff