主题中讨论的其他器件: HALCOGEN
我需要一些对 TMS570LS1224控制器的支持。
作为诊断的一部分、我们有一项要求测试存储器保护单元(MPU)、因此请建议方法–如何完成?
此外、对于 DMA MPU 和 HET MPU 单元、如何对其进行定期测试?
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.
我需要一些对 TMS570LS1224控制器的支持。
作为诊断的一部分、我们有一项要求测试存储器保护单元(MPU)、因此请建议方法–如何完成?
此外、对于 DMA MPU 和 HET MPU 单元、如何对其进行定期测试?
您好、Alok、
[A]用于 Cortex-R4 CPU 的 MPU:
Cortex-R4 TRM 版本 r1p3描述了第7章中的 MPU 功能。 第7.5节介绍了 MPU 检测到的故障。 有三种故障:
1) 1)背景故障:
当 CPU 访问一个不在定义的区域内的位置时、这个故障发生。 HALCoGen 定义了一个背景区域0、以覆盖所有4GB 的可寻址空间。 您可以修改此配置、以保留任何 MPU 区域都不覆盖的存储器区域。 然后、访问此未覆盖区域中的某个位置可能会导致后台故障。 它将导致中止(预取/数据)并可在处理程序中寻址。
2) 2)权限故障:
这是任何 MPU 检测到的最常见故障条件。 CPU 的 MPU 允许将每个区域定义为无访问、只读或读写区域。 此外、还可以将每个区域配置为仅在特权模式下才能访问。 此外、您还可以将某些区域配置为"从不执行(XN)"区域、以便不允许从这些区域执行代码。 很容易编写导致这些故障的代码。
3) 3)对齐故障:
当 CPU 访问的地址与访问的大小不符时、就会发生这种情况。 例如、从与16位边界不对齐的地址读取半字(16位)。
[b]用于 DMA 访问的 MPU:
该 MPU 可配置为定义完全访问、只读、只写或不访问的存储器区域。 您可以故意违反设置的权限并确保指示错误。
[C]针对 HTU 访问的 MPU:
此 MPU 只允许您定义"无访问"或"只读访问"的存储器区域。 您可以故意违反设置的权限并确保指示错误。
此致、
Sunil