请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS570LC4357 我有2个关于 DMA 和缓存的问题、这些问题与在 SPI 上使用 DMA 有关、但它们不是特定于 SPI 的:
1) 1)对于标记为非共享但已缓存直写式的存储器、DMA 对其是否有效? 如果有、是否有时间更喜欢使用带有 DMA 的共享(非缓存)存储器与带有 DMA 的直写缓存存储器? DMA SPI 示例和本文(https://e2e.ti.com/group/launchyourdesign/m/boosterpackcontest/666341)建议为 DMA 缓冲器使用共享(未缓存)存储器区域。 但是、我的理解是、当 DMA 写入标记为直通的存储器时、TMS570的加速器一致性端口实现将保持高速缓存同步。 "事务在 ACP-S 从端口上接收、并通过 ACP-M 主端口在内存系统上传输。 ACP 会在适当的时间自动使适当的1级数据缓存行无效、从而允许软件维护免缓存一致性、适用于直写缓存区域以及非缓存区域中的数据。"
2) 2)启用 DMA 之前是否需要 DMB、或者写入器件类型存储器(启用 DMA)是否足以确保 DMA 连贯地查看存储器? 我的理解是、对器件类型存储器的写入操作将首先消耗所有挂起的写入缓冲区。
提前感谢!