您好
我将为 UL1998编写 RAM 测试。 下面是我的代码...
X++;
如果(pattern_index < 12)
{
ramR1_Copy =* ramR1Address_pr;
ramR1_NextCopy = * ramR1AddressNext_pr;
* ramR1AddressNext_pr = 0x00;
* ramR1Address_pr = pattern_array[pattern_index];
error_r1 =(* ramR1Address_pr!= pattern_array[pattern_index])? 对:错;
error_r1 =(* ramR1AddressNext_pr!= 0x00)? 对:错;
* ramR1Address_pr = 0x00;
* ramR1AddressNext_pr = pattern_array[pattern_index];
error_r1 =(* ramR1AddressNext_pr!= pattern_array[pattern_index])? 对:错;
error_r1 =(* ramR1Address_pr!= 0x00)? 对:错;
* ramR1Address_pr = ramR1_Copy;
* ramR1AddressNext_pr = ramR1_NextCopy;
pattern_index++;
}
否则
{
如果(x > 4000)
{
if (ramR1Address_pr ==(uint32_t *) 0x000007F2)//指针必须是偶数,因为指针增加2
{
ramR1Address_pr =(uint32_t *) 0x0000A000;
ramR1AddressNext_pr =(uint32_t *) 0x0000A002;
}否则、如果(ramR1Address_pr =(uint32_t *) 0x0000C7B2)
{
ramR1Address_pr =(uint32_t *) 0x00000128;
ramR1AddressNext_pr =(uint32_t *) 0x000012A;
}
否则
{
ramR1AddressNext_pr++;
ramR1Address_pr++;
}
pattern_index = 0;
X = 0;
}
}
其中 ramR1_Copy/ramR1_NextCopy /pattern_index 是在无需测试的 RAM 范围内定义的。
它在主循环中运行没问题。 但是,如果 illegalOperationHandler()在 ISR 函数中运行,它将被触发。
有什么建议吗?
