主题中讨论的其他器件: TMS570LS3137
====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
这个问题从"TMS570LC4357:与 TMS570LS3137相比、执行时间非常长"中分离出来。
====================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
Gobind、
这些问题不再与原始帖子和标题有关。 请为与原始帖子无关的问题/主题启动新主题。
请参阅以下我的评论:
我没有启用 MPU、这意味着存储器属性是默认的属性、整个闪存和 RAM 处于回写、写分配(WBWA)模式。 (此假设是否正确?) 一组指令的执行时间为734ns。 当我启用 MPU 并且我认为我配置了它直写(WT)模式时。 同一组指令的执行时间为610ns。 是否为预期行为? 如果是、为什么 WT 模式比 WBWA 模式更快?
>>请分享您配置 MPU 的代码以及您正在执行的指令。 如何测量执行时间?
2.在 CCS 表达式窗口中、当代码在启用缓存的情况下运行时、表达式窗口中的值都为零。 一旦暂停执行、就会看到实际值。 启用缓存后、是否有方法并行查看表达式窗口中的这些值? 当缓存被禁用时、值是正确的。
>>调试器内存窗口使用处理器刷新内容。 这要求处理器停止执行代码、切换到调试状态(有关调试状态的详细信息、请参阅 ARM 架构参考手册)、并从显示的存储器位置执行读取操作。 TMS570 MCU 上有一种在不使用或停止处理器的情况下显示存储器位置的方法。 这要求您映射调试器存储器窗口、以由 DAP (调试访问端口)代替处理器刷新。
3.另一个问题是、启用缓存存储器时、是否无法从 RAM 执行代码? 我尝试过这种方法、但我面临着问题。 我看到有一些异常出现、或者有时从 RAM 运行的函数中仍然存在控制、并且永远不会出现。
>>如何设置代码以从 RAM 执行? 您会得到什么例外情况?
此致、
Sunil