主题中讨论的其他器件:HALCOGEN
工具/软件:Code Composer Studio
您好!
任何人可以为我提供有关片上 RAM ECC 配置和 TMS570LC570闪存配置以及异常处理错误信令的信息吗? 在阅读数据表、参考手册和浏览一些论坛之后、我可以理解、不仅 RAMCTRL L2RAMW 模块控制寄存器会更新为 ECC 检测 EN 字段的值为0xA、 但 CP15辅助控制寄存 器中的"ATCM、B1TCM 和 B0TCM ECC 检查"和 CP15 PMNC 寄存器中的"事件启用"位也要置位。 我尝试使用 下面显示的代码片段、但仍然无法感应 ECC 错误。 我了解到片上 RAM 和闪存在 AXI-M L2总线接口上进行访问(与其前代产品 LC3137不同 、它基于 ARM Cortex R4架构、该架构使用 TCM 接口访问 RAM 和闪存、而不是 AXI-M L2总线)。 因此、如果我在这里遇到问题、请帮助我纠正。
;---- 在 RAM 和闪存上启用 ECC -------------------------------------------------------
.def CoreEnableRamFlashEcc
asmfunc
CoreEnableRamFlashEcc
MRC P15、#0、R1、C9、C12、#0;正在读取辅助辅助辅助寄存器
ORR R1、R1、#0x00000010
DMB
MCR P15、#0、R1、C9、C12、#0;启用 PMNC 中事件的导出
ISB;在继续之前确保写入
MRC P15、#0、R1、C1、c0、 第一
ORR R1、R1、#0x1 <<25;ATCM ECC 检查使能
ORR R1、R1、#0x1 <<26;B0TCM ECC 检查使能
ORR R1、R1、#0x1 <<27;B1TCM ECC 检查使能
DMB
MCR P15、#0、R1、C1、c0、 第一
ISB;在继续之前确保写入
MOV PC、LR
endasmfunc
;---- 禁用 RAM 和闪存上的 ECC -------------------------------------------------------
.def CoreDisableRamFlashEcc
asmfunc
CoreDisableRamFlashEcc
MRC P15、#0、R1、C1、c0、 第一
MVN R0、#0x1 <<25 ;ATCM ECC 检查禁用
和 R1、R1、R0
MVN R0、#0x1 <<26 ;B0TCM ECC 检查禁用
和 R1、R1、R0
MVN R0、#0x1 <<27 ;B1TCM ECC 检查禁用
和 R1、R1、R0
DMB
MCR P15、#0、R1、C1、c0、 第一
ISB;在继续之前确保写入
MRC P15、#0、R1、C9、C12、#1
MVN R0、#0x00000010;禁用 PNC 中事件的导出
和 R1、R1、R0
DMB
MCR P15、#0、R1、C9、C12、#0
ISB;在继续之前确保写入
MOV PC、LR
endasmfunc
感谢您的快速响应!
谢谢、祝您一切顺利、
Sripad Kulkarni