分个运行测试用例基本测试通过,先备份测试用例的新修改
This commit is contained in:
@@ -1211,30 +1211,59 @@ def tc_wr_sm(tc_id, wr_sm_idx):
|
||||
+genIFRwDataCode(3, 0x74, False, 4)
|
||||
+genIFRwDataCode(4, 0x74, False, 4)
|
||||
|
||||
+genMessageCode("--第一次读")
|
||||
+genIFRwDataCode(1, 0x300 + wr_sm_idx * 0x4, False, 2)
|
||||
+genIFRwDataCode(2, 0x300 + wr_sm_idx * 0x4, False, 2)
|
||||
+genIFRwDataCode(3, 0x300 + wr_sm_idx * 0x4, False, 2)
|
||||
+genIFRwDataCode(4, 0x300 + wr_sm_idx * 0x4, False, 2)
|
||||
+genSlvSMReadData(1, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(2, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(3, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(4, wr_sm_idx, 32)
|
||||
|
||||
+genMessageCode("--第二次读")
|
||||
+genIFRwDataCode(1, 0x300 + wr_sm_idx * 0x4, False, 2)
|
||||
+genIFRwDataCode(2, 0x300 + wr_sm_idx * 0x4, False, 2)
|
||||
+genIFRwDataCode(3, 0x300 + wr_sm_idx * 0x4, False, 2)
|
||||
+genIFRwDataCode(4, 0x300 + wr_sm_idx * 0x4, False, 2)
|
||||
+genSlvSMReadData(1, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(2, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(3, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(4, wr_sm_idx, 32)
|
||||
|
||||
+genMessageCode("--第三次读")
|
||||
+genIFRwDataCode(1, 0x300 + wr_sm_idx * 0x4, False, 2)
|
||||
+genIFRwDataCode(2, 0x300 + wr_sm_idx * 0x4, False, 2)
|
||||
+genIFRwDataCode(3, 0x300 + wr_sm_idx * 0x4, False, 2)
|
||||
+genIFRwDataCode(4, 0x300 + wr_sm_idx * 0x4, False, 2)
|
||||
+genSlvSMReadData(1, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(2, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(3, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(4, wr_sm_idx, 32)
|
||||
|
||||
+genMessageCode("--第四次读")
|
||||
+genIFRwDataCode(1, 0x300 + wr_sm_idx * 0x4, False, 2)
|
||||
+genIFRwDataCode(2, 0x300 + wr_sm_idx * 0x4, False, 2)
|
||||
+genIFRwDataCode(3, 0x300 + wr_sm_idx * 0x4, False, 2)
|
||||
+genIFRwDataCode(4, 0x300 + wr_sm_idx * 0x4, False, 2)
|
||||
+genSlvSMReadData(1, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(2, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(3, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(4, wr_sm_idx, 32)
|
||||
|
||||
+genMessageCode("--第五次读")
|
||||
+genIFRwDataCode(1, 0x300 + wr_sm_idx * 0x4, False, 2)
|
||||
+genIFRwDataCode(2, 0x300 + wr_sm_idx * 0x4, False, 2)
|
||||
+genIFRwDataCode(3, 0x300 + wr_sm_idx * 0x4, False, 2)
|
||||
+genIFRwDataCode(4, 0x300 + wr_sm_idx * 0x4, False, 2)
|
||||
+genSlvSMReadData(1, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(2, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(3, wr_sm_idx, 32)
|
||||
+genSlvSMReadData(4, wr_sm_idx, 32)
|
||||
+genIFRwDataCode(1, 0x300 + wr_sm_idx * 0x4, False, 2)
|
||||
+genIFRwDataCode(2, 0x300 + wr_sm_idx * 0x4, False, 2)
|
||||
+genIFRwDataCode(3, 0x300 + wr_sm_idx * 0x4, False, 2)
|
||||
+genIFRwDataCode(4, 0x300 + wr_sm_idx * 0x4, False, 2)
|
||||
|
||||
+genTcEndFrameCode(gen_file_def))
|
||||
|
||||
@@ -1272,42 +1301,61 @@ def tc_rd_sm(tc_id, rd_sm_idx):
|
||||
sm_idx = 0
|
||||
|
||||
genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)
|
||||
+genMessageCode("--设备1的写")
|
||||
+genIFRwDataCode(1, 0x300 + rd_sm_idx * 0x4, False, 2)
|
||||
+genSlvSMWriteData(1, rd_sm_idx, 32, list(range(0, 32)))
|
||||
+genSlvSMWriteData(1, rd_sm_idx, 32, list(range(32, 64)))
|
||||
+genIFRwDataCode(1, 0x300 + rd_sm_idx * 0x4, False, 2)
|
||||
+genSlvSMWriteData(1, rd_sm_idx, 32, list(range(64, 96)))
|
||||
+genSlvSMWriteData(1, rd_sm_idx, 32, list(range(96, 128)))
|
||||
+genIFRwDataCode(1, 0x300 + rd_sm_idx * 0x4, False, 2)
|
||||
+genSlvSMWriteData(1, rd_sm_idx, 32, list(range(128, 160)))
|
||||
+genSlvSMWriteData(1, rd_sm_idx, 32, list(range(160, 192)))
|
||||
+genSlvSMWriteData(1, rd_sm_idx, 32, list(range(192, 224)))
|
||||
+genSlvSMWriteData(1, rd_sm_idx, 32, list(range(224, 256)))
|
||||
+genIFRwDataCode(1, 0x300 + rd_sm_idx * 0x4, False, 2)
|
||||
|
||||
+genMessageCode("--设备2的写")
|
||||
+genIFRwDataCode(2, 0x300 + rd_sm_idx * 0x4, False, 2)
|
||||
+genSlvSMWriteData(2, rd_sm_idx, 32, list(range(0, 32)))
|
||||
+genSlvSMWriteData(2, rd_sm_idx, 32, list(range(32, 64)))
|
||||
+genIFRwDataCode(2, 0x300 + rd_sm_idx * 0x4, False, 2)
|
||||
+genSlvSMWriteData(2, rd_sm_idx, 32, list(range(64, 96)))
|
||||
+genSlvSMWriteData(2, rd_sm_idx, 32, list(range(96, 128)))
|
||||
+genIFRwDataCode(2, 0x300 + rd_sm_idx * 0x4, False, 2)
|
||||
+genSlvSMWriteData(2, rd_sm_idx, 32, list(range(128, 160)))
|
||||
+genSlvSMWriteData(2, rd_sm_idx, 32, list(range(160, 192)))
|
||||
+genSlvSMWriteData(2, rd_sm_idx, 32, list(range(192, 224)))
|
||||
+genSlvSMWriteData(2, rd_sm_idx, 32, list(range(224, 256)))
|
||||
+genIFRwDataCode(2, 0x300 + rd_sm_idx * 0x4, False, 2)
|
||||
|
||||
+genMessageCode("--设备3的写")
|
||||
+genIFRwDataCode(3, 0x300 + rd_sm_idx * 0x4, False, 2)
|
||||
+genSlvSMWriteData(3, rd_sm_idx, 32, list(range(0, 32)))
|
||||
+genSlvSMWriteData(3, rd_sm_idx, 32, list(range(32, 64)))
|
||||
+genIFRwDataCode(3, 0x300 + rd_sm_idx * 0x4, False, 2)
|
||||
+genSlvSMWriteData(3, rd_sm_idx, 32, list(range(64, 96)))
|
||||
+genSlvSMWriteData(3, rd_sm_idx, 32, list(range(96, 128)))
|
||||
+genIFRwDataCode(3, 0x300 + rd_sm_idx * 0x4, False, 2)
|
||||
+genSlvSMWriteData(3, rd_sm_idx, 32, list(range(128, 160)))
|
||||
+genSlvSMWriteData(3, rd_sm_idx, 32, list(range(160, 192)))
|
||||
+genSlvSMWriteData(3, rd_sm_idx, 32, list(range(192, 224)))
|
||||
+genSlvSMWriteData(3, rd_sm_idx, 32, list(range(224, 256)))
|
||||
+genIFRwDataCode(3, 0x300 + rd_sm_idx * 0x4, False, 2)
|
||||
|
||||
|
||||
+genMessageCode("--设备4的写")
|
||||
+genIFRwDataCode(4, 0x300 + rd_sm_idx * 0x4, False, 2)
|
||||
+genSlvSMWriteData(4, rd_sm_idx, 32, list(range(0, 32)))
|
||||
+genSlvSMWriteData(4, rd_sm_idx, 32, list(range(32, 64)))
|
||||
+genIFRwDataCode(4, 0x300 + rd_sm_idx * 0x4, False, 2)
|
||||
+genSlvSMWriteData(4, rd_sm_idx, 32, list(range(64, 96)))
|
||||
+genSlvSMWriteData(4, rd_sm_idx, 32, list(range(96, 128)))
|
||||
+genIFRwDataCode(4, 0x300 + rd_sm_idx * 0x4, False, 2)
|
||||
+genSlvSMWriteData(4, rd_sm_idx, 32, list(range(128, 160)))
|
||||
+genSlvSMWriteData(4, rd_sm_idx, 32, list(range(160, 192)))
|
||||
+genSlvSMWriteData(4, rd_sm_idx, 32, list(range(192, 224)))
|
||||
+genSlvSMWriteData(4, rd_sm_idx, 32, list(range(224, 256)))
|
||||
+genIFRwDataCode(4, 0x300 + rd_sm_idx * 0x4, False, 2)
|
||||
)
|
||||
|
||||
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx)
|
||||
@@ -1436,9 +1484,9 @@ def tc24():
|
||||
genPkt.setPktType(1)
|
||||
|
||||
genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)
|
||||
+genIFRwDataCode(2, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79])
|
||||
+genIFRwDataCode(3, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79])
|
||||
+genIFRwDataCode(4, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79])
|
||||
#+genIFRwDataCode(2, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79])
|
||||
#+genIFRwDataCode(3, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79])
|
||||
#+genIFRwDataCode(4, 0x40, True, 4, [0x01, 0x00, 0x66, 0x79])
|
||||
)
|
||||
|
||||
|
||||
@@ -1599,23 +1647,23 @@ def tc24():
|
||||
+genMessageCode("--读取中断")
|
||||
+genIFRwDataCode(0, 0x74, False, 4)
|
||||
+genIFRwDataCode(1, 0x74, False, 4)
|
||||
#+genIFRwDataCode(2, 0x74, False, 4)
|
||||
#+genIFRwDataCode(3, 0x74, False, 4)
|
||||
#+genIFRwDataCode(4, 0x74, False, 4)
|
||||
+genIFRwDataCode(2, 0x74, False, 4)
|
||||
+genIFRwDataCode(3, 0x74, False, 4)
|
||||
+genIFRwDataCode(4, 0x74, False, 4)
|
||||
|
||||
+genMessageCode("--清除中断")
|
||||
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
||||
+genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
||||
#+genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
||||
#+genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
||||
#+genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
||||
+genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
||||
+genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
||||
+genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
||||
|
||||
+genMessageCode("--读取中断")
|
||||
+genIFRwDataCode(0, 0x74, False, 4)
|
||||
+genIFRwDataCode(1, 0x74, False, 4)
|
||||
#+genIFRwDataCode(2, 0x74, False, 4)
|
||||
#+genIFRwDataCode(3, 0x74, False, 4)
|
||||
#+genIFRwDataCode(4, 0x74, False, 4)
|
||||
+genIFRwDataCode(2, 0x74, False, 4)
|
||||
+genIFRwDataCode(3, 0x74, False, 4)
|
||||
+genIFRwDataCode(4, 0x74, False, 4)
|
||||
)
|
||||
|
||||
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def,), 1, True, gen_file_def_ap)
|
||||
@@ -1646,23 +1694,23 @@ def tc24():
|
||||
+genMessageCode("--读取中断")
|
||||
+genIFRwDataCode(0, 0x74, False, 4)
|
||||
+genIFRwDataCode(1, 0x74, False, 4)
|
||||
#+genIFRwDataCode(2, 0x74, False, 4)
|
||||
#+genIFRwDataCode(3, 0x74, False, 4)
|
||||
#+genIFRwDataCode(4, 0x74, False, 4)
|
||||
+genIFRwDataCode(2, 0x74, False, 4)
|
||||
+genIFRwDataCode(3, 0x74, False, 4)
|
||||
+genIFRwDataCode(4, 0x74, False, 4)
|
||||
|
||||
+genMessageCode("--清除中断")
|
||||
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
||||
+genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
||||
#+genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
||||
#+genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
||||
#+genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
||||
+genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
||||
+genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
||||
+genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
|
||||
|
||||
+genMessageCode("--读取中断")
|
||||
+genIFRwDataCode(0, 0x74, False, 4)
|
||||
+genIFRwDataCode(1, 0x74, False, 4)
|
||||
#+genIFRwDataCode(2, 0x74, False, 4)
|
||||
#+genIFRwDataCode(3, 0x74, False, 4)
|
||||
#+genIFRwDataCode(4, 0x74, False, 4)
|
||||
+genIFRwDataCode(2, 0x74, False, 4)
|
||||
+genIFRwDataCode(3, 0x74, False, 4)
|
||||
+genIFRwDataCode(4, 0x74, False, 4)
|
||||
+genTcEndFrameCode(gen_file_def)) #+genDisableInsertTimeCode())
|
||||
|
||||
|
||||
|
||||
@@ -236,7 +236,7 @@ def __gen_slv_dev_predef(num):
|
||||
+"`define ALL_DEV_NUM (`DEV_NUM + 1) // slave + master\n"
|
||||
+"`define SPI_CSN_NUM (`ALL_DEV_NUM * 3)\n"
|
||||
|
||||
+"`define HW_SERIAL 0 //48'h31303050584c //(48'h4c5850303031)\n"
|
||||
+"`define HW_SERIAL 48'h31303050584c //(48'h4c5850303031)\n"
|
||||
+"`define IQSPI_PINS(N) (`N*4+3):(`N*4)\n"
|
||||
+"`define EQSPI_PINS(N) ((`N + `ALL_DEV_NUM)*4+3):((`N + `ALL_DEV_NUM)*4)\n"
|
||||
+"`define IQSPI_MISO(N) qspi_miso[`IQSPI_PINS(`N)]\n"
|
||||
|
||||
@@ -1334,11 +1334,11 @@ def tc7():
|
||||
+ '''txBuf[8] = 8'h00;\n'''
|
||||
+ '''txBuf[9] = 8'h0a;\n'''
|
||||
+ '''txBuf[10] = 8'h00;\n'''
|
||||
+ '''txBuf[19] = (_temp_time & 8'hff);\n'''
|
||||
+ '''txBuf[20] = ((_temp_time >> 8) & 8'hff);\n'''
|
||||
+ '''txBuf[19] = (_temp_time & 8'hff);\n'''
|
||||
+ '''txBuf[20] = ( (_temp_time >> 8) & 8'hff);\n'''
|
||||
+ '''txBuf[21] = ((_temp_time >> 16) & 8'hff);\n'''
|
||||
+ '''txBuf[22] = ((_temp_time >> 24) & 8'hff);\n'''
|
||||
+ '''txBuf[23] = 0;\n'''
|
||||
+ '''txBuf[23] = ((_temp_time >> 32) & 8'hff);\n'''
|
||||
+ '''txBuf[24] = 0;\n'''
|
||||
+ '''txBuf[25] = 0;\n'''
|
||||
+ '''txBuf[26] = 0;\n'''
|
||||
|
||||
@@ -1,5 +1,31 @@
|
||||
from pyutils import *
|
||||
|
||||
|
||||
|
||||
'''
|
||||
看门狗0超时逻辑:
|
||||
1. 看门狗0从系统发送下行包时,触发工作;
|
||||
2. 系统上行时,停止看门狗工作并复位看门狗计数器;若发生超时,报超时状态,复位继续工作,此时有上行包,不予响应;
|
||||
3. 看门狗不使能,则对应的看门狗停止工作,也不会报相关的状态位与中断;
|
||||
4. 写对应的看门狗状态寄存器,对应看门狗被复位;需要重新触发才能工作。
|
||||
|
||||
|
||||
SM0/2/4/6与SM1/3/5/7超时逻辑:
|
||||
1. 看门狗从读写第一个字节被触发计时工作;第二次读写第一个字节,不影响看门狗工作;
|
||||
2. 读写最后一个字节,停止看门狗工作并复位看门狗计数器;若发生超时,报超时状态,复位继续工作,此时系统读到最后一个字节,不予响应。
|
||||
3. 看门狗不使能,则对应的看门狗停止工作,也不会报相关的状态位与中断;
|
||||
4. 写对应的看门狗状态寄存器,对应看门狗被复位;需要重新触发才能工作。
|
||||
|
||||
看门狗17超时逻辑:
|
||||
1. 看门狗17从系统发送第一个下行包时,触发工作;
|
||||
2. 系统发送第二个下行包时,停止看门狗工作并复位看门狗计数器;若发生超时,报超时状态,复位继续工作;
|
||||
3. 看门狗不使能,则对应的看门狗停止工作,也不会报相关的状态位与中断;
|
||||
4. 写对应的看门狗状态寄存器,对应看门狗被复位;需要重新触发才能工作。
|
||||
|
||||
|
||||
复位继续工作,指看门狗需要重新被触发开始计数直至超时或者复位。写看门狗状态,无论超时没超时,对应bit为1,则对应看门狗被复位。
|
||||
'''
|
||||
|
||||
def watchdog_test_sm_wr_timeout(tc_id, wd_id):
|
||||
genPkt = GenPkt()
|
||||
|
||||
@@ -64,12 +90,15 @@ def watchdog_test_sm_wr_timeout(tc_id, wd_id):
|
||||
+genIFRwDataCode(2, 0x074, False, 0x04)
|
||||
+genIFRwDataCode(3, 0x074, False, 0x04)
|
||||
+genIFRwDataCode(4, 0x074, False, 0x04)
|
||||
+genMessageCode("--延时后检查看门狗寄存器")
|
||||
+"#700000\n"
|
||||
+genIFRwDataCode(1, 0x400, False, 0x04)
|
||||
+genIFRwDataCode(1, 0x400, True, 4, [0xff, 0xff, 0xff, 0xff])
|
||||
+genIFRwDataCode(1, 0x400, False, 0x04)
|
||||
+genMessageCode("--复位数据缓冲区")
|
||||
+genIFRwDataCode(1, 0x300 + slave_sm_id * 4, True, 1, [0, ])
|
||||
+"#800000\n"
|
||||
+genMessageCode("--延时后检查看门狗寄存器")
|
||||
+"#1200000\n"
|
||||
+genIFRwDataCode(1, 0x400, False, 0x04)
|
||||
+genTcEndFrameCode(gen_file_def))
|
||||
|
||||
@@ -121,7 +150,7 @@ def watchdog_test_sm_rd_timeout(tc_id, wd_id):
|
||||
data[1] = 0x00
|
||||
genPkt.addSubPkt(0x0, 0, 0x302 + slave_sm_id * 4, 0xe, 2, data)
|
||||
|
||||
data = [0,] * 0x10
|
||||
data = list(range(0x10))
|
||||
|
||||
#subPkt参数:索引、索引类型、地址、命令、长度、数据
|
||||
sm_addr = slave_sm_id * 0x1000 + 0x800
|
||||
@@ -139,12 +168,19 @@ def watchdog_test_sm_rd_timeout(tc_id, wd_id):
|
||||
+genIFRwDataCode(2, 0x074, False, 0x04)
|
||||
+genIFRwDataCode(3, 0x074, False, 0x04)
|
||||
+genIFRwDataCode(4, 0x074, False, 0x04)
|
||||
+genIFRwDataCode(1, slave_sm_id * 0x1000 + 0x800, False, 4)
|
||||
+"#500000\n"
|
||||
+genMessageCode("--读缓冲区")
|
||||
+genIFRwDataCode(1, 0x800 + slave_sm_id * 0x1000, False, 8)
|
||||
|
||||
+genMessageCode("--延时后检查看门狗寄存器")
|
||||
+"#1000000\n"
|
||||
+genIFRwDataCode(1, 0x400, False, 0x04)
|
||||
+genIFRwDataCode(1, 0x400, True, 4, [0xff, 0xff, 0xff, 0xff])
|
||||
+genIFRwDataCode(1, 0x400, False, 0x04)
|
||||
+genMessageCode("--复位数据缓冲区")
|
||||
+genIFRwDataCode(1, 0x300 + slave_sm_id * 4, True, 1, [0, ])
|
||||
+genMessageCode("--延时后检查看门狗寄存器")
|
||||
+"#500000\n"
|
||||
+genIFRwDataCode(1, 0x400, False, 0x04)
|
||||
+genTcEndFrameCode(gen_file_def))
|
||||
|
||||
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
|
||||
|
||||
Reference in New Issue
Block a user