Leo*_*Leo 3 testing embedded heap stack consistency
我正在使用LEON2处理器(Sparc V8)开展项目.处理器使用8M字节的RAM,需要在引导自检期间进行一致性检查.我的问题是我的Boot显然使用了一小部分RAM作为其Heap/BSS/Stack,我无法修改而不会崩溃我的应用程序.我的RAM测试非常简单,向所有RAM地址写入一定值然后将其读回以确保RAM芯片可以被寻址.
此方法可用于大多数可用的RAM,但我怎样才能安全地检查剩余RAM的一致性?
通常,需要测试每个字节的RAM测试将作为处理器启动时发生的第一件事情之一完成.通常,在它之前完成的唯一其他事情是RAM测试需要进行的硬件初始化才能访问RAM.
它通常以汇编语言完成,禁用中断,原因之一是因为这是确保不使用RAM的唯一方法.
如果您想在此之后执行RAM测试,您仍需要在系统启动时尽早完成.您可以在两次传递中执行此操作 - 其中任何变量/堆栈/任何测试需要用于其自身目的都在低RAM中,并且该测试测试高RAM.然后在测试低RAM时再次使用高RAM中的数据运行测试.
另一个注意事项:验证您回读写入的某个值是一个简单的测试,可能比没有好,但它可能会错过某些类型的常见故障(特别是外部RAM:缺少或交叉焊接的地址线).
您可以在此处找到有关基本RAM测试的更多详细信息:
归档时间: |
|
查看次数: |
1716 次 |
最近记录: |