Hi C2K champs、
在 F28M36器件上、读取 RAM 访问时发生的是非常低的总线故障或硬故障-在 LRAM3区域中的读取访问(从0x20018000至0x2002FFFF)中发生问题/未识别特定的 RAM 地址-这个地址范围由固件非常频繁地访问
q1:如果发生总线或硬故障、然后恢复正常、故障是否会被清除?
Q2:访问(读取) RAM 数据后发生总线或硬故障的可能原因是什么?
谢谢!
此致、
纪尧姆
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi C2K champs、
在 F28M36器件上、读取 RAM 访问时发生的是非常低的总线故障或硬故障-在 LRAM3区域中的读取访问(从0x20018000至0x2002FFFF)中发生问题/未识别特定的 RAM 地址-这个地址范围由固件非常频繁地访问
q1:如果发生总线或硬故障、然后恢复正常、故障是否会被清除?
Q2:访问(读取) RAM 数据后发生总线或硬故障的可能原因是什么?
谢谢!
此致、
纪尧姆
纪尧姆
请回答以下问题。 您也可以将信息私下发送给我。
如果仅在一个设备中出现问题、则可能是由于潜在缺陷所致。
以下是 TI 根据问题背景对我的前两个问题提供的不同答案:
Q1:如果发生总线或硬故障、然后恢复正常、是否会清除故障?
故障可能不会自动清除。 用户应用程序中的故障处理程序需要考虑这一点。
Q2:在访问(读取) RAM 数据后发生总线或硬故障的可能原因是什么?
很可能是由于不可纠正的 ECC 错误。 用户应能够检查标志寄存器以了解这一点。 ECC 错误可能由电路板上的噪声引起。
此致、
纪尧姆
尊敬的 Vivek、
问题1。 除了重置之外、是否有其他恢复无法收集的错误的方法?
问题2: 仅在下面以红色突出显示的指令后弹出错误- R0包含 RAM 地址(例如0x2002EE22)。
此源代码是否有任何问题?
按 {R4-R9}
CPSID I
MOV R4、#0x5555 ;检查模式1
MOV R5、#0xAAAA ;检查模式2
MOV R6、R0 ;RAM 测试地址
ldrh r7 、[R6] ;存储器数据保存
STRH R4、[R6]
谢谢!
此致、
纪尧姆
此 CPU 具有 M3不可纠正的错误标志清除寄存器(MUECLR)。 此寄存器是否可用于清除此错误?[/QUOT]是的、它会清除错误标志。
Vivek Singh
q1. 除了重置之外、是否有其他恢复无法收集的错误的方法?
这个问题很难回答、因为它取决于是数据错误还是程序获取错误。 我们建议重置器件并重新启动应用。
此源代码是否有任何问题?
这应该是由编译器生成的代码、因此我预计不会有任何问题。
Vivek Singh
感谢 Vivek、
此汇编代码并非由编译器生成。 此代码是由我们的工程师编写的。
因此我希望您检查该代码。
此代码用于 RAM 检查。
过程如下...
存储1个字的数据(原始数据)->写入0xAAAA ->检查数据->写入0x5555 ->检查数据->恢复到原始数据
如果数据在检查数据期间不匹配、则会产生错误。
执行存储1字数据(原始数据)时弹出错误。
此致、
Tatsuya
此错误发生频率极低(在连续供电条件下、此问题发生在三个多月之后)。
在这种情况下、汇编代码应该没有问题、但我在此汇编代码中看不到以下序列。
[报价 userid="608332" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1355644/f28m36h33b2-bus-or-hard-fault-on-ram-read-access-in-the-lram3-area/5251631 #5251631"]存储1个字的数据(原始数据)->写入0xAAAA ->检查数据->写入0x5555 ->检查数据->恢复至原始数据Vivek Singh
我想知道使用此助记符( LDRH R7、[R6] )[/报价]。我不确定要检查的是什么。 这是有效的 Arm 指令。 当您单步执行代码时、它会达到您的预期吗?
谢谢。此致、
-George.
您好!
如果此 ECC 错误是由程序获取错误引起的、是否可以通过使用 MUECLR 寄存器清除该错误并重新读取 RAM 来解决该问题?
这将清除错误、但由于它是不可纠正的错误、重新读取将不会纠正错误、因此返回到相同的地址可能会再次导致故障。
此致、
Vivek Singh