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.
您好!
我想请您澄清并提供更多有关闪存 ECC 诊断和 CPU 推测取指令到触发双错误事件的未初始化闪存存储器的信息(FEDAC 状态寄存器-位 B1_UNC_ERR、存储在寄存器 FUNC_ERR_ADD 中的错误地址)。
我知道、在 TI 论坛上、有几个与此主题相关的主题。 解决方案是 a)初始化整个闪存存储器空间并让闪存编程器自动计算 ECC 值;或 b)让链接器显式生成 ECC 值、将其存储到由链接器生成的特殊段中、并将闪存数据与 ECC 一起存储。
根据 TI TMS570技术参考手册:
关于推测取指令、根据我在 ARM Cortex R4F 技术参考手册中和论坛上的这里所找到的内容、它们可以对指令和数据执行。
在我们的示例中,程序执行期间在来自起始或中间闪存扇区的地址上发生了双错误事件- 0xa0000、0xc0000、0xf0000、...、0x100000、 0x110000、...高达0x2d0000、0x2e0000、0x2f0000。 查看观察到的地址、它们都与64KB 对齐。 (请注意、闪存包含前四个具有32KB 的扇区、之后是高达0x2FFFFF 的128KB 的扇区)。
我们的软件利用闪存的初始部分(高达0x190000)。 我希望推测执行会生成接近"已知"程序或数据闪存块的地址、但不会生成来自闪存末尾的地址。 您能解释一下我们观察到的情况吗? (CPU 尝试访问给定地址的可能性有多大?)。
谢谢你。
您好!
由于美国假日、响应可能会延迟。